当前位置: 首页 > 专利查询>清华大学专利>正文

可重构处理器及其配置方法技术

技术编号:19424860 阅读:29 留言:0更新日期:2018-11-14 10:31
本发明专利技术提出一种可重构处理器及其配置方法,该可重构处理器的可重构单元阵列包括多个基本运算单元BFU。其中,所述BFU包括数据输入端口、计算模块以及数据输出端口。计算模块,用于根据所述数据输入端口的输入数据进行计算,得到计算结果;数据输出端口,包括结果输出端口和旁路输出端口。其中,所述结果输出端口,用于输出所述计算结果;所述旁路输出端口,用于输出所述计算模块在计算过程中得到的中间结果,或者用于输出所述输入数据。本发明专利技术实施例能够提升处理器的运算性能。

【技术实现步骤摘要】
可重构处理器及其配置方法
本专利技术涉及微电子
,尤其涉及一种可重构处理器及其配置方法。
技术介绍
可重构处理器(ReconfigurableProcessingUnit,RPU)是一种结合计算灵活性和计算的高效性为一体的新型计算架构,可以应用于包括汽车、航空航天、国防等在内各个领域中,适用范围较广。可重构单元阵列(ReconfigurableCellArray,RCA)为可重构处理器的计算核心,其基本运算单元(BasicFunctionalUnit,BFU)的效率和灵活性,会对可重构处理器的性能产生极大影响。
技术实现思路
本专利技术旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本专利技术的第一个目的在于提出一种可重构处理器,以解决现有技术中RPU的运算能力较低的技术问题。本专利技术的第二个目的在于提出一种可重构处理器的配置方法。为达上述目的,本专利技术第一方面实施例提出了一种可重构处理器,所述可重构处理器的可重构单元阵列RCA包括多个基本运算单元BFU;其中,所述BFU包括数据输入端口、计算模块以及数据输出端口;所述计算模块,用于根据所述数据输入端口的输入数据,进行计算,得到计算结果;所述数据输出端口,包括结果输出端口和旁路输出端口;其中,所述结果输出端口,用于输出所述计算结果;所述旁路输出端口,用于输出所述计算模块在计算过程中得到的中间结果,或者用于输出所述输入数据。根据本专利技术实施例提供的可重构处理器,结果输出端口输出计算结果,同时旁路输出端口输出计算模块在计算过程中得到的中间结果或者输入数据,丰富了BFU的输出结果,满足了灵活性的需求,进而提升了处理器的运算性能。为达上述目的,本专利技术第二方面实施例提出了一种可重构处理器的配置方法,用于对如第一方面所述的可重构处理器的基本运算单元BFU进行配置;所述BFU包括控制模块、计算模块、数据输入端口和数据输出端口;所述控制模块获取配置信息;其中,所述配置信息包括用于对所述计算模块进行重构的运算功能配置信息,以及用于对所述数据输出端口进行配置的输出端口配置信息;所述控制模块根据所述配置信息,配置所述计算模块的运算功能以及数据输出端口。根据本专利技术实施例的配置方法,由配置单元对可重构处理器的基本运算单元进行配置,可以切换基本运算单元的运算功能,而且配置参数多样化、输出数据可选择,提升了基本运算单元的灵活性和处理器的运算性能。本专利技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明本专利技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为本专利技术实施例所提供的一种可重构处理器的结构示意图;图2为本专利技术实施例所提供的一种BFU的结构示意图;图3为本专利技术实施例所提供的一种AU的示意图;图4为本专利技术实施例所提供的一种SU的示意图;图5为本专利技术实施例所提供的一种LU的示意图;以及图6为本专利技术实施例提供的一种配置方法的流程图。具体实施方式下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本专利技术,而不能理解为对本专利技术的限制。下面参考附图描述本专利技术实施例的可重构处理器及其配置方法。图1为本专利技术实施例所提供的一种可重构处理器的结构示意图。如图1所示,可重构处理器包括RCA。RCA包括多个BFU,也将BFU称为可重构处理器的基本算子。作为一种可能的实现方式,在RCA中,按行组织及管理BFU,每行BFU称为一个行计算单元(RowCalculatedUnit,RCU)。例如,如图1所示,RCU内部包含了若干个BFU、非线性置换单元(substitutionbox,SBOX)(图中未标出)等基本算子。这些算子可以并行排列,算子之间可以进行数据交互。需要说明的是,图1仅是一种示意性描述,图中所标示出的BFU的位置和数量不能构成对本专利技术实施例的限制。具体地,在一种可能的应用场景中,若干个RCU串接组成了一个块计算单元(BlockCalculatedUnit,BCU),BCU中后一个RCU中的算子的输入为前一个RCU的算子的输出,BCU中所串接的最后一个RCU的输出结果作为这个BCU的输出结果。RCA内部有若干个BCU,BCU间可以进行数据交互,任意一个BCU的输出可以作为其他BCU的输入,输入至其他BCU内部的第一个RCU。在这种场景下,RCA中的各个BFU构成了连接网络,使得RCA可以同时处理多个进程,提高了阵列计算的效率和处理速度。图2为本专利技术实施例所提供的一种BFU的结构示意图,如图2所示,BFU包括数据输入端口10、计算模块20以及数据输出端口30。计算模块20,用于根据数据输入端口10的输入数据,进行计算,得到计算结果。数据输出端口30包括结果输出端口31和旁路输出端口32。其中,结果输出端口31,用于输出计算结果。旁路输出端口32,用于输出计算模块20在计算过程中得到的中间结果,或者用于输出输入数据。根据本专利技术实施例提供的可重构处理器,结果输出端口输出计算结果,同时旁路输出端口输出计算模块在计算过程中得到的中间结果或者输入数据,丰富了BFU的输出结果,满足了灵活性的需求,进而提升了处理器的运算性能。在本专利技术的一个实施例中,BFU为三输入两输出结构。具体地,在数据输出端口30包括结果输出端口31和旁路输出端口32的基础上,数据输入端口10包括第一路数据输入端口11、第二路数据输入端口12和第三路数据输入端口13。也就是说,三输入是指数据输入端口包括第一路数据输入端口11、第二路数据输入端口12和第三路数据输入端口13;两输出是指数据输出端口包括结果输出端口31和旁路输出端口32。这样,在需要多个数据输入的场景中,采用三输入的算子结构,可以平衡资源使用率和设计面积,能够在设计面积较小的情况下得到较高的资源使用率。同时在本实施例中,采用两输出的方案,增加了旁路输出端口输出数据,优化了算法的执行方式,提升了算法的执行效率。假设对于BFU来说,算子的三个输入数据分别为a、b和c,输出数据为d,而下一级算子需要用到a和d,这样在本级算子输出d的同时,可以通过旁路输出端口输出数据a至下一级算子,从而优化了算法的执行,提升了算法的执行效率。例如,假设计算任务为:本级算子执行运算c=(a>>6)a>>13;下一级算子执行运算d=ac。那么,本级算子的输入为a,结果输出端口的输出为c,旁路输出端口的输出为a,从而可以通过旁路输出端口将本级算子的输入a传递给下一级算子,提升了算法的执行效率。又如,假设计算任务为:本级算子执行运算c=(a>>6)a>>13,其中,b=a>>13;下一级算子执行运算:d=b|c。那么,本级算子输入为a,输出为c,旁路输出端口的输出为b(本级运算的中间结果)和c,从而可以通过旁路输出端口将本级算子的中间结果b传递给下一级算子。进一步地,在一个实施例中,配置计算模块20中的多个数字逻辑单元,使所述计算模块本文档来自技高网...

【技术保护点】
1.一种可重构处理器,其特征在于,所述可重构处理器的可重构单元阵列RCA包括多个基本运算单元BFU;其中,所述BFU包括数据输入端口、计算模块以及数据输出端口;所述计算模块,用于根据所述数据输入端口的输入数据进行计算,得到计算结果;所述数据输出端口,包括结果输出端口和旁路输出端口;其中,所述结果输出端口,用于输出所述计算结果;所述旁路输出端口,用于输出所述计算模块在计算过程中得到的中间结果,或者用于输出所述输入数据。

【技术特征摘要】
1.一种可重构处理器,其特征在于,所述可重构处理器的可重构单元阵列RCA包括多个基本运算单元BFU;其中,所述BFU包括数据输入端口、计算模块以及数据输出端口;所述计算模块,用于根据所述数据输入端口的输入数据进行计算,得到计算结果;所述数据输出端口,包括结果输出端口和旁路输出端口;其中,所述结果输出端口,用于输出所述计算结果;所述旁路输出端口,用于输出所述计算模块在计算过程中得到的中间结果,或者用于输出所述输入数据。2.根据权利要求1所述的可重构处理器,其特征在于,所述BFU还包括控制模块,所述控制模块用于根据配置信息,配置所述计算模块的运算功能和/或数据输出端口,其中所述配置信息包括用于对所述计算模块进行重构的运算功能配置信息,以及用于对所述数据输出端口进行配置的输出端口配置信息。3.根据权利要求2所述的可重构处理器,其特征在于,所述数据输入端口包括第一路数据输入端口、第二路数据输入端口和第三路数据输入端口,所述控制模块包括模式控制单元和输出控制单元;所述模式控制单元,用于根据所述运算功能配置信息,配置所述计算模块中的至少一个数字逻辑单元,使所述计算模块重构为逻辑运算器LU、移位器SU或加法器AU,以对所述第一路数据输入端口、所述第二路数据输入端口和所述第三路数据输入端口的输入数据进行计算;所述输出控制单元,用于根据所述输出端口配置信息,配置所述结果输出端口和/或所述旁路输出端口的输出。4.根据权利要求3所述的可重构处理器,其特征在于,所述计算模块重构为AU时,包括:第一逻辑单元、模加法单元和第一逻辑运算输出单元;所述第一逻辑单元,用于根据所述第一路数据输入端口的输入数据和所述第二路数据输入端口的输入数据进行逻辑运算,以及用于输出所述第一路数据输入端口的输入数据或者逻辑运算得到的计算结果;所述模加法单元,用于根据所述第三路数据输入端口的输入数据,以及所述第一逻辑单元的输出数据进行模加法运算;所述第一逻辑运算输出单元,用于根据所述模加法单元的计算结果,以及所述第二路数据输入端口的输入数据进行逻辑运算。5.根据权利要求4所述的可重构处理器,其特征在于,所述结果输出端口,具体用于输出所述模加法单元的计算结果,或所述第一逻辑运算输出单元的计算结果;所述旁路输出端口,具体用输出所述第一路数据输入端口、第二路数据输入端口或第三路数据输入端口的输入数据。6.根据权利要求3所述的可重构处理器,其特征在于,所述计算模块重构为SU时,包括:第一移位单元、第二逻辑单元、第二移位单元、第三逻辑单元、输出处理单元和第二逻辑运算输出单元;所述第二逻辑单元,用于根据所述第一路数据输入端口和第二路数据输入口的输入数据进行逻辑运算;所述第一移位单元,用于根据所述第二逻辑运算单元的计算结果进行移位计算;所述第三逻辑单元,用于根据所述第二路数据输入端口和第三路数据输入口的输入数据进行逻辑运算;所述第二移位单元,用于根据所述第三逻辑运算单元的计算结果进行移位计算;所述输出处理单元,用于对所述第一移位单元的计算结果和所述第二移位单元输出的计算结果进行异或输出;或者,用于择一地输出所述第一移位单元的计算结果和所述第二移位单元输出的计算结果;所述第二逻辑运算输出单元,用于根据所述输出处理单元输出的计算结果,以及所述第一路数据输入端口的输入数据进行逻辑运算。7.根据权利要求6所述的可重构处理器,其特征在于,所述结果输出端...

【专利技术属性】
技术研发人员:刘雷波朱敏魏少军
申请(专利权)人:清华大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1