CN112463717B - 一种粗粒度可重构架构下条件分支实现方法 - Google Patents
一种粗粒度可重构架构下条件分支实现方法 Download PDFInfo
- Publication number
- CN112463717B CN112463717B CN202011221019.0A CN202011221019A CN112463717B CN 112463717 B CN112463717 B CN 112463717B CN 202011221019 A CN202011221019 A CN 202011221019A CN 112463717 B CN112463717 B CN 112463717B
- Authority
- CN
- China
- Prior art keywords
- branch
- bit
- coarse
- conditional
- data stream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
- G06F15/7871—Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
- G06F15/7871—Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
- G06F15/7878—Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS for pipeline reconfiguration
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Logic Circuits (AREA)
Abstract
本发明公开了一种粗粒度可重构架构下条件分支实现方法,涉及粗粒度可重构架构领域,在CGRA线上的数据流包括数据位和分支位,首先进行分支发散,然后根据条件判断确定分支位,根据分支位确定分支是否执行,最后进行分支合并。本发明基于发散汇聚的分支实现方法,解决粗粒度可重构处理阵列分支执行能力不足的问题,采用多种发散方式优化嵌套分支的执行,解决嵌套分支执行的控制流复杂的问题,本发明的条件分支实现方法,性能得到提高,功耗显著降低。
Description
技术领域
本发明涉及粗粒度可重构架构领域,尤其涉及一种粗粒度可重构架构下条件分支实现方法。
背景技术
粗粒度可重构架构(CGRA,Coarse-grained Reconfigurable Architecture)是一种由运算处理单元,访存单元,控制单元等组成的字级可重构体系结构。它具有较高的执行能效,又能满足灵活性要求,是异构加速器的一种具有前景的解决方案。CGRA在运行时或运行前通过重新配置阵列结构来执行各种应用程序,相比于现场可编程门阵列(FPGA,FieldProgrammable Gate Array),其字级可重构粒度提高了单元性能并节省了功耗和面积。通过并行化和深流水化阵列运算,从而达到提升计算能力的效果。
然而,由于基于数据流驱动的CGRA缺乏传统CPU的程序计数器机制和分支预测机制,CGRA针对分支语句的优化有限。而相对于ASIC(Application-Specific IntegratedCircuit,应用型专用集成电路)来说,CGRA在执行分支操作时往往激活多条路径,产生了较高的功耗。
传统的基于断言的分支执行技术包括部分断言,完全断言技术,以及双发射单执行技术。
部分断言技术映射在CGRA上的数据流图如图2所示,其中用实线框标记的PE(Processing Element,基础处理单元)表示该PE一定会进入执行状态,该方法同时执行两条路径,最后通过多选器选出结果操作数,该技术的优点在于架构修改小,适合执行分支路径较短的语句,但该技术需要同时执行两条路径,并且添加了一些特殊的断言指令,造成不必要的功耗和性能开销,传统的静态配置CGRA便是基于这一技术进行分支执行。
完全断言技术可以分为基于条件和基于状态两种类型,前者要求在指令字中加入额外的条件操作数,通过将这个操作数与PE内部的标志数进行比较以决定是否执行当前指令,但是该类型需要额外的指令位空间,从而增加了功耗以及配置存储的开销。后者增加了一个指令间共享的状态位信息,通过使用AWAKE,SLEEP指令改变PE内部的状态寄存器状态,从而控制PE是否执行指令,达到了节省功耗开销的效果,但该技术要求每个PE内部添加一个计数器和一个状态寄存器,虽然节省了存储空间,但同样也增加了多位计数器的面积开销。
双发射单执行技术要求PE一次取来两条分支指令,但是只执行其中的一条指令,达到优化执行效率的效果。但这要求了PE需要具有执行两条不同类型指令的能力,另外,更高的指令带宽要求也给存储系统带来了访问压力。
粗粒度可重构阵列兼具高能效和高灵活性的特点,从而成为一种具有前景的异构加速器架构解决方案。但由于其控制单元相对集中,分支执行能力不足,在嵌套分支的实现上具有可扩展性低的问题,同时,传统基于断言的分支实现技术会对静态配置CGRA的性能与功耗产生负面影响。
因此,本领域的技术人员致力于开发一种粗粒度可重构架构下条件分支实现方法,解决粗粒度可重构处理阵列分支执行能力不足的问题。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是粗粒度可重构架构下条件分支实现方法,以及优化嵌套分支的执行,解决嵌套分支执行的控制流复杂,可扩展性低的问题,解决分支实现中存在的高功耗,性能低的问题。
为实现上述目的,本发明提供了一种粗粒度可重构架构下条件分支实现方法,在CGRA线上的数据流包括数据位和分支位,包括如下步骤:
步骤1:进行分支发散;
步骤2:执行条件判断,确定分支中分支位的值;
步骤3:根据分支位的值,确定分支是否进行运算;
步骤4:对分支进行合并。
进一步地,分支位的值为0或1。
进一步地,数据流继续向下传输时,分支位的值为0时,PE和访存单元不进行实际的计算和访存;分支位的值为1时,PE和访存单元进行实际的计算和访存。
进一步地,数据流还包括有效位。
进一步地,有效位为1且分支位为0的数据流,以旁路的形式输出。
进一步地,有效位为1且分支位为1的数据流,PE和访存单元进行实际的计算和访存。
进一步地,分支进行合并时,选择分支位为1且有效位为1的路径的数据输出。
进一步地,执行条件判断的单元为SC_IF和SC_ELSE;当SC_IF的条件满足时,SC_IF分支的分支位为1,SC_ELSE分支的分支位为0;当SC_IF的条件不满足时,SC_IF分支的分支位为0,SC_ELSE分支的分支位为1。
进一步地,执行条件判断的单元为CONCAT和SC_SW,CONCAT单元把两个分支判断结果合并,SC_SW单元根据合并后的值,将4个分支中其中一个的分支位置为1,其余的置为0。
本发明还公开了一种粗粒度可重构架构处理器,按照上述的方法实现条件分支。
PE单元进行数据流的匹配操作,控制位生成单元根据配置寄存器中该PE的配置模式以及输入数据生成输出(包含有效位和分支位),在ALU(Arithmetic and Logic Unit,算术逻辑单元)内部,对于有效但分支位为0的数据流,仅仅以旁路的形式输出,对于分支位为1的数据流,则进行真实的运算,在ALU的输出端口上重新绑定输出数据位和控制位,并通过输出buffer在阵列中继续驱动下级PE,形成分支位在阵列中继续往下流动的效果,并借助该分支位继续控制下级PE和LSE(Load/Store Element)的执行动作。
本发明构建基于发散汇聚的分支实现方法,解决了粗粒度可重构处理阵列分支执行能力不足的问题,采用多种发散方式以优化嵌套分支的执行,解决了嵌套分支执行的控制流复杂,可扩展性低的问题,设计了基于本发明分支实现方法的控制流和PE硬件,解决了分支实现中存在的高功耗,性能低的问题。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是本发明的分支控制流图;
图2是部分断言的分支控制流图;
图3是本发明实施例的线上信号组织示意图;
图4是本发明的嵌套分支执行示意图;
图5是本发明的粗粒度可重构阵列结构图;
图6是本发明的PE内部结构图;
图7是本发明实施例1的单层分支代码;
图8是本发明实施例1的单层分支数据流图;
图9是本发明实施例2的嵌套分支执行代码;
图10是本发明实施例2的嵌套分支映射图;
图11是部分断言技术和本发明的资源节点数量对比图;
图12是部分断言技术和本发明的性能对比图;
图13是部分断言技术和本发明的功耗对比图。
具体实施方式
以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。
在附图中,结构相同的部件以相同数字标号表示,各处结构或功能相似的组件以相似数字标号表示。附图所示的每一组件的尺寸和厚度是任意示出的,本发明并没有限定每个组件的尺寸和厚度。为了使图示更清晰,附图中有些地方适当夸大了部件的厚度。
可重构阵列在进行运算密集型的任务上具有非常大的能力,但是由于其控制单元相对集中,在分支指令实现上并不高效,传统的基于断言的分支实现技术会对CGRA的性能与功耗产生负面影响。需要在PE阵列上将控制单元进行离散化。因此本发明采用基于发散汇聚的CGRA分支实现方式。
如图2所示,传统的部分断言分支执行技术同时执行两条路径,其中用实线边框标记的PE表示该PE一定会进入执行状态,该方法同时执行两条路径,最后通过多选器选出结果操作数,该技术的优点在于架构修改小,适合执行分支路径较短的语句,但该技术需要同时执行两条路径,并且添加了一些特殊的断言指令,造成不必要的功耗和性能开销,传统的静态配置CGRA便是基于这一技术进行分支执行。
如图2所示为本发明采用的分支控制流图,其中一定会执行的PE用实线边框标注,可能执行的PE用虚线边框标注。
图2中的线上包括数据位和控制位,以数据位为32位为例,线上信号如图3所示,其中控制位中包括指示数据是否有效的有效位Valid以及分支位Branch(其中Valid简写为v,Branch简写为b),在执行分支判断的PE上执行条件判断,判断结果绑定在数据位上,SC_IF,SC_ELSE,MERGE节点的输出行为可见表1(Branch简写为b,数据位简写为d),由于D_IF路径和D_ELSE路径输出数据由具体计算决定,因此除D_C路径外,数据位不在输出信号表中作标注。在if分支路径上,如果比较结果为1,那么配置为SC_IF的PE会将比较结果1绑定到分支位Branch上输出,在else分支路径上,SC_ELSE绑定Branch为0,Branch通过数据流路径继续向下传输,直到遇到MERGE节点时进行分支汇合,MERGE节点内部配置为一个多选器,选择Branch为true的路径的数据输出,从而完成一个分支指令。
表1路径输出信号表
对于分支控制位Branch=0的数据流,PE和访存单元不进行实际的计算和访存,从而节省ALU运算和不必要的访存导致的功耗开销。
相对于图2的部分断言数据流图结构,图1在执行路径上一定会包括4个PE,不定长度的DFG流图则受控制位控制是否执行,而部分断言分支实现技术则会同时执行两条路径,另外,在只有单个if语句的程序中,由于部分断言技术需要路径进行实际的执行,在执行分支内的写操作时,即使该路径判断条件为false,也需要提供一个原始数据进行写操作,则会大大提高对访存带宽的需求,综上,本发明所述方案可以完成相对于部分断言技术的性能与功耗优化。相对于完全断言分支技术,我们的方法通过两路并行进行分支的处理,虽然增加了硬件资源,但在保持性能的同时节省了动态配置粗粒度可重构阵列中切换操作所带来的开销。
如图4所示,本发明的嵌套分支执行单分支的执行基础上增加了CONCAT操作,SC_SW操作,使用CONCAT操作把两个分支判断结果绑定到数据位上,例如当COND0不满足,COND1满足时,那么左路径判断结果为false,右路径判断结果为true,CONCAT操作绑定之后的数据位将为1,只有SC_SW1操作会将数据位转化为分支位Branch为1的数据流,而其他路径则转分支位Branch为0,借此避免了下级的数据流继续对该数据流进行运算和访存,从而节省了功耗和资源开销。
如图5所示为阵列的整体结构设计,其中PE单元负责进行运算以及分支控制,LSE单元负责进行访存任务,包括为PE提供操作数以及将数据存入存储单元。阵列控制单元负责与主核进行任务交互和对PE进行静态配置。对于分支控制位Branch为0的数据流,PE不执行实际运算,LSE则不进行实际的访存,当进行取数操作时,LSE将Branch为0的数据流直接返回给目标PE,不会占用读数所需的带宽。当进行存数操作时,LSE将该数据流丢弃,存数操作不会进入片上存储控制单元内。
阵列设计的考量在于弱化分支控制的分散性,避免增加额外的存储空间和带宽需求。条件判断失败的分支既不会进行实际的运算,也不会进行实际的访存,从而节省了功耗开销。
如图6所示为PE的结构设计图,粗实线为数据位和控制位的组合,细实线为数据位,细虚线为控制位,控制位包括有效位Valid和分支位Branch,控制位生成单元中根据配置寄存器中该PE的配置模式以及输入数据生成输出(包含有效位和分支位),在ALU内部,对于有效但分支位为0的数据流,仅仅以旁路的形式输出,对于分支位为1的数据流,则进行真实的运算,在ALU的输出端口上重新绑定输出数据位和控制位,并通过输出buffer在阵列中继续驱动下级PE,形成Branch位在阵列中继续往下流动的效果,并借助该分支位继续控制下级PE和LSE的执行动作。
本专利提出的基于数据流驱动的多发射混合粒度可重构阵列处理器主要包括三点:
1)构建基于发散汇聚的分支实现方法,解决传统粗粒度可重构阵列的分支执行能力不足的问题;
2)针对嵌套分支进行了发散操作的再优化设计,解决了嵌套分支执行控制流复杂的问题;
3)基于本发明的分支实现方式的粗粒度可重构阵列和PE硬件模型,解决分支实现中功耗高,性能低的问题。
下面以具体的代码为例,说明本发明的条件分支实现方法:
实施例1
需要执行的代码如图7所示,P的结果决定于A是否等于0,该代码为简单的单层分支,采用SC_IF和SC_ELSE进行映射,映射结果如图8所示。
对于这两条路径,图8中的实线边框部分PE为必须执行的PE,虚线边框PE为可能执行的PE,使用SC_IF和SC_ELSE进行分支位绑定,以A=0为例,此时SC_ELSE绑定的分支位为1,SC_IF绑定的分支位为0,在SC_ELSE上的减法会进行实际执行,而在SC_IF的路径上进行伪执行和伪访存(即对执行路径进行旁路,避免实际的运算和访存操作)在汇聚路径上选择分支位为1的SC_ELSE路径的结果进行输出,从而完成整个计算过程。
实施例2
需要执行的代码如图9所示,该代码包含两层嵌套分支,P的计算值由分支条件决定。
对于四条分支路径,分别映射到SC_SW0,SC_SW1,SC_SW2,SC_SW3四条路径上。其在粗粒度可重构阵列上的映射如图10所示,使用CONCAT操作把两个分支判断结果绑定到数据位上,例如当A==0,N>=3,那么左路径判断结果为false,右路径判断结果为true,CONCAT操作绑定之后的数据位将为1,只有SC_SW1操作会将数据位转化为分支位Branch为1的数据流,而其他路径则转分支位Branch为0,借此避免了下级的数据流继续对该数据流进行运算和访存,从而节省了功耗和资源开销。
本发明主要提出一种基于数据流驱动的粗粒度可重构阵列处理器(CGRA Coarse-Grained Reconfigurable Array),通过从测试集MachSuite中选择了具有分支指令的应用,以及一些具有典型分支行为的算法映射到部分断言分支技术的PE阵列和本发明实现的PE阵列上,获得不同算法在不同计算平台上的性能,功耗,资源数量并对其进行分析,体现本专利技术效果。测试平台为基于C++搭建了一款周期精确的系统级行为模拟器,工具平台为Visual Studio2017。片上功耗模型借鉴了哈佛大学研究小组提出的加速器模拟器Aladdin设计思路,借助其在40nm标准库上仿真得到的功耗数据构建了我们的功耗模型,用以评估PE阵列运算和寄存器传输功耗。SRAM功耗则借助挂载在系统模拟器上的CACTI模拟器进行功耗仿真,CACTI提供了配置文件的接口,包括SRAM的物理组数量,块大小等参数以准确地建立访存的功耗数据,以使用部分断言分支技术的CGRA的性能作为资源数量,性能,功耗基准。
以使用部分断言分支技术的CGRA的性能作为资源数量,性能,功耗基准。资源数量实验结果如图11所示,其中广度优先搜索(BFS),蝶形傅里叶变换(FFT),双调排序(BNCS)主体为单分支语句,如果使用部分断言技术,则需要构造一条针对else语句的伪分支来进行伪存取,为了进行路径平衡,需要加入更多的NOP节点,而在使用本发明所述的分支实现方法时,由于在线上加入了分支位控制是否对数据流进行实际的存取,可以仅对单分支进行处理,因此在以上应用中可以使用尽量少的资源数量。另外,基因序列匹配(NW),二分查找(BS)算法的各分支语句的目标操作数相对一致,对特定的目标操作数的单分支语句较少,而本发明的方法则增加了SC_SW,SC_IF,SC_ELSE等操作带来的资源开销,因此资源数量相对于部分断言分支技术相差不大。在这5个算法上的测试结果显示本发明的设计方法能达到平均12%的资源节省。
性能和功耗实验结果如图12和图13所示,由于基于部分断言分支技术实现的BFS,FFT,BNCS包含更多的伪存取操作,占用了更多的DRAM带宽,而本发明所述分支实现技术则去除了这些伪存取操作,提高了性能和降低了功耗,而基于本发明的分支实现技术实现的NW,BS算法分支路径相对平衡,针对单个目标操作数的特殊运算路径较短,由于增加了SC_SW等操作的开销,导致性能略差,而在功耗表现上,由于false分支进行的是伪运算,因此仍然可以降低一定功耗。在采用了本发明的设计方法后,性能平均提高31%,功耗平均降低21%。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (7)
1.一种粗粒度可重构架构下条件分支实现方法,其特征在于,在CGRA线上的数据流包括数据位和分支位,包括如下步骤:
步骤1:进行分支发散;
步骤2:执行条件判断,确定所述分支中所述分支位的值;
步骤3:根据所述分支位的值,确定所述分支是否进行运算;
步骤4:对所述分支进行合并;
所述步骤2中所述执行条件判断的单元为SC_IF和SC_ELSE;当所述SC_IF的条件满足时,所述SC_IF分支的所述分支位为1,所述SC_ELSE分支的所述分支位为0;当所述SC_IF的条件不满足时,所述SC_IF分支的所述分支位为0,所述SC_ELSE分支的所述分支位为1;
所述数据流还包括有效位;
所述步骤4中所述合并指选择所述分支位为1且所述有效位为1的路径的数据输出。
2.如权利要求1所述的粗粒度可重构架构下条件分支实现方法,其特征在于,所述分支位的值为0或1。
3.如权利要求2所述的粗粒度可重构架构下条件分支实现方法,其特征在于,所述数据流继续向下传输时,所述分支位的值为0时,PE和访存单元不进行实际的计算和访存;所述分支位的值为1时,PE和访存单元进行实际的计算和访存。
4.如权利要求3所述的粗粒度可重构架构下条件分支实现方法,其特征在于,所述有效位为1且所述分支位为0的所述数据流,以旁路的形式输出。
5.如权利要求4所述的粗粒度可重构架构下条件分支实现方法,其特征在于,所述有效位为1且所述分支位为1的所述数据流,PE和访存单元进行实际的计算和访存。
6.如权利要求5所述的粗粒度可重构架构下条件分支实现方法,其特征在于,所述执行条件判断的单元为CONCAT和SC_SW,所述CONCAT单元把两个分支判断结果合并,所述SC_SW单元根据合并后的值,将4个分支中其中一个的所述分支位置为1,其余的置为0。
7.一种粗粒度可重构架构处理器,其特征在于,按照如权利要求1-6任意一项所述的方法实现条件分支。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011221019.0A CN112463717B (zh) | 2020-11-05 | 2020-11-05 | 一种粗粒度可重构架构下条件分支实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011221019.0A CN112463717B (zh) | 2020-11-05 | 2020-11-05 | 一种粗粒度可重构架构下条件分支实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112463717A CN112463717A (zh) | 2021-03-09 |
CN112463717B true CN112463717B (zh) | 2022-07-22 |
Family
ID=74826183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011221019.0A Active CN112463717B (zh) | 2020-11-05 | 2020-11-05 | 一种粗粒度可重构架构下条件分支实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112463717B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102782672A (zh) * | 2010-02-01 | 2012-11-14 | 菲利普·马内 | 用于高效嵌入式同类多核平台的基于瓦片的处理器架构模型 |
CN104615412A (zh) * | 2015-02-10 | 2015-05-13 | 清华大学 | 基于触发指令结构的执行控制流的方法及系统 |
CN107506329A (zh) * | 2017-08-18 | 2017-12-22 | 浙江大学 | 一种自动支持循环迭代流水线的粗粒度可重构阵列及其配置方法 |
CN111512292A (zh) * | 2018-04-03 | 2020-08-07 | 英特尔公司 | 用于可配置空间加速器中的非结构化数据流的装置、方法和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102572430B (zh) * | 2011-12-29 | 2014-04-16 | 东南大学 | 一种基于可重构技术的h.264去块滤波算法的实现方法 |
US20160246602A1 (en) * | 2015-02-19 | 2016-08-25 | Arizona Board Of Regents On Behalf Of Arizona State University | Path selection based acceleration of conditionals in coarse grain reconfigurable arrays (cgras) |
-
2020
- 2020-11-05 CN CN202011221019.0A patent/CN112463717B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102782672A (zh) * | 2010-02-01 | 2012-11-14 | 菲利普·马内 | 用于高效嵌入式同类多核平台的基于瓦片的处理器架构模型 |
CN104615412A (zh) * | 2015-02-10 | 2015-05-13 | 清华大学 | 基于触发指令结构的执行控制流的方法及系统 |
CN107506329A (zh) * | 2017-08-18 | 2017-12-22 | 浙江大学 | 一种自动支持循环迭代流水线的粗粒度可重构阵列及其配置方法 |
CN111512292A (zh) * | 2018-04-03 | 2020-08-07 | 英特尔公司 | 用于可配置空间加速器中的非结构化数据流的装置、方法和系统 |
Non-Patent Citations (1)
Title |
---|
《粗粒度可重构处理器上动态边界循环的编》;谢帅;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;20200630;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112463717A (zh) | 2021-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210216318A1 (en) | Vector Processor Architectures | |
US8683468B2 (en) | Automatic kernel migration for heterogeneous cores | |
US8782645B2 (en) | Automatic load balancing for heterogeneous cores | |
US20190095383A1 (en) | Processors, methods, and systems for debugging a configurable spatial accelerator | |
US7840914B1 (en) | Distributing computations in a parallel processing environment | |
US7904702B2 (en) | Compound instructions in a multi-threaded processor | |
US20120331278A1 (en) | Branch removal by data shuffling | |
US20130054939A1 (en) | Integrated circuit having a hard core and a soft core | |
Chen et al. | Dygnn: Algorithm and architecture support of dynamic pruning for graph neural networks | |
US20230297375A1 (en) | Hardware accelerator, data processing method, system-level chip, and medium | |
CN115151898A (zh) | 基于用户规范的可重配置架构上的操作单元图的高效执行 | |
US20160378495A1 (en) | Locking Operand Values for Groups of Instructions Executed Atomically | |
Jeong et al. | Rasa: Efficient register-aware systolic array matrix engine for cpu | |
US10409599B2 (en) | Decoding information about a group of instructions including a size of the group of instructions | |
CN112463717B (zh) | 一种粗粒度可重构架构下条件分支实现方法 | |
CN101727435A (zh) | 一种超长指令字处理器 | |
Multanen et al. | Lotta: Energy-efficient processor for always-on applications | |
Putnam et al. | Dynamic vectorization in the E2 dynamic multicore architecture | |
Liang et al. | TCX: A RISC style tensor computing extension and a programmable tensor processor | |
Sanchez-Flores et al. | Accelerators in Embedded Systems for Machine Learning: A RISCV View | |
Fan et al. | Improving utilization of dataflow unit for multi-batch processing | |
US20230342152A1 (en) | Parallel processing architecture with split control word caches | |
Jeong et al. | Evaluator-executor transformation for efficient pipelining of loops with conditionals | |
Liu et al. | Technical Difficulties and Development Trend | |
Munshi et al. | A parameterizable SIMD stream processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |