CN112486907A - 可重构处理器上多层循环任务的硬件实现方法 - Google Patents
可重构处理器上多层循环任务的硬件实现方法 Download PDFInfo
- Publication number
- CN112486907A CN112486907A CN202011510851.2A CN202011510851A CN112486907A CN 112486907 A CN112486907 A CN 112486907A CN 202011510851 A CN202011510851 A CN 202011510851A CN 112486907 A CN112486907 A CN 112486907A
- Authority
- CN
- China
- Prior art keywords
- iteration
- configuration information
- pea
- register
- global
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000012545 processing Methods 0.000 claims abstract description 20
- 238000010586 diagram Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
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
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上实现多层循环任务的顶层型配置信息和PE运算配置信息;将顶层型配置信息载入CGRA的处理单元阵列PEA,将PEA循环迭代次数存入全局寄存器,通过PEA的控制器和全局寄存器完成PEA层次循环任务;将顶层型配置信息载入CGRA的处理单元PE,将PE循环迭代次数存入局部寄存器,通过PE的控制器和局部寄存器完成PE层次循环任务;将PE运算配置信息中的迭代次数和迭代间隔存入全局寄存器或局部寄存器,基于PE的控制器完成PE中单条配置层次循环任务。本发明减少了从外部配置存储器读取配置信息的次数,从而提升了整个CGRA的运算性能。
Description
技术领域
本发明涉及大规模集成电路(Very Large Scale Integration,VLSI)和粗粒度可重构架构(Coarse-Grained Reconfigurable Architecture,CGRA)技术领域,尤其涉及可重构处理器上多层循环任务的硬件实现方法。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
以冯诺依曼架构为核心的计算机和微处理器在过去取得了巨大的成功,因为以指令流驱动为特征的处理器通常具有很强的灵活性。目前,指令流驱动的处理器通常包括通用处理器(General Purpose Processer,GPP)、可编程数字信号处理器(ProgrammableDigital Signal Processor,PDSP)、专用指令集处理器(Application SpecificInstruction-set Processor,ASIP)和嵌入式处理器。然而,也正是由于指令驱动的执行方式,以及有限的计算单元和存储带宽,此类处理器的性能和功耗很不理想,无法满足与日俱增的应用计算需求。例如,经典MIPS架构的通用处理器中,完整执行一条指令就包括取指、译码、寄存器访问、执行和数据回写这五个步骤。其中,只有“执行”这一步是真正所需要的操作。
与指令流驱动对应的是数据流驱动,相应的计算被称为定制计算或专用计算。上世纪90年代兴起的专用集成电路(Application Specific Integrated Circuits,ASIC)采用的就是数据流驱动的计算架构。这一架构与通用处理器的最大差别就在于前者的行为是确定的,控制向量事先存储在控制器中,等待数据流去触发不同的状态即可。ASIC无需指令集,可以针对不同的应用去设计最优的数据通路,从而达到优良的性能和较低的功耗。但是ASIC也存在致命的缺陷,因为它的灵活性和可扩展性极差,无法适用于日益演变的应用场景和功能。随着制程向着7nm甚至5nm推进,专用集成电路的制造费用变得非常昂贵,其漫长的设计周期也制约了它的向前发展。
场可编程门阵列(Field Programmable Gate Array,FPGA)是一种可重构的硬件,它利用硬件描述语言(VHDL和Verilog HDL)和特殊的工艺(EEPROM、SRAM和反熔丝等),可以将设计快速映射成实际的电路。FPGA也有其缺点,那就是设计的粒度太小、造价昂贵以及性能较ASIC差。
在这些背景下,一种粗粒度可重构处理器(Coarse-Grained ReconfigurableArchitecture,CGRA)应运而生。粒度是指可重构处理器数据通路中运算单元的数据位宽度,一般将大于等于4bit的粒度称为粗粒度。一般情况下,粒度越大的可重构处理器所需的配置信息越少,重构数据通路的速度也就越快,但是其灵活性也就越低。现如今,人工智能的应用为处理器带来了新的挑战,它要求处理器的计算能力更强,面对不同人工智能算法要具有更优化的计算策略。CGRA本身的架构特点使其能够较好地满足这些应用需求,因为它兼具通用处理器的灵活性和ASIC的高性能。
发明内容
本发明实施例提供一种可重构处理器上多层循环任务的硬件实现方法,用以减少从外部配置存储器读取配置和配置包的次数,从而提升了整个CGRA的运算性能,该方法包括:
配置粗粒度可重构处理器CGRA上实现多层循环任务的配置信息,所述配置信息包括顶层型配置信息和PE运算配置信息;
将顶层型配置信息载入CGRA的处理单元阵列PEA,将顶层型配置信息中的PEA循环迭代次数存入PEA的全局寄存器,通过PEA的控制器和全局寄存器完成PEA层次循环任务;
将顶层型配置信息载入CGRA的处理单元PE,将顶层型配置信息中的PE循环迭代次数存入PE的局部寄存器,通过PE的控制器和局部寄存器完成PE层次循环任务;
将PE运算配置信息中的迭代次数和迭代间隔存入PEA的全局寄存器或PE的局部寄存器,基于PE的控制器完成PE中单条配置层次循环任务。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中CGRA中参与计算的处理单元阵列PEA的结构示意图;
图2为本发明实施例中CGRA中参与计算的处理单元PE的结构示意图;
图3为本发明实施例中可重构处理器上多层循环任务的硬件实现方法示意图;
图4为本发明实施例中多层循环任务执行的波形示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
本发明首先介绍了一种粗粒度可重构处理器CGRA(Coarse-GrainedReconfigurable Architecture),它的结构是一种层次化的结构,包含多个处理单元(Processing Element,PE)和多个处理单元阵列(Processing Element Array,PEA)。PEA的结构如图1所示:PEA内部集成了一个8×8PE Array、PE的全局寄存器Global Reg、协处理器接口Coprocessor Interface、数据控制器Data Control、数据共享存储器Shared Memory、处理单元阵列控制器PEA Control和配置控制器Context Control。处理单元PE的结构如图2所示,内部的核心部分有:处理单元控制器PE Control、配置存储器(Context Memory,CM)、局部寄存器(Local Reg,LR)、PE路由器Router、Debug模块Deb(调试模块)以及PE执行单元,PE执行单元包括算数逻辑单元(Arithmetic Logic Unit,ALU)、乘法器(Multiplier,MUL)和存储单元(Load Store Unit,LSU)。
基于CGRA的这种结构,本发明提出了可重构处理器上多层循环任务的硬件实现方法。其中,控制任务循环迭代的硬件主要是PEA控制器PEA Control和PE控制器PE Control,以及存储迭代次数的全局寄存器Global Reg和局部寄存器Local Reg。
如图3所示,本发明提出的可重构处理器上多层循环任务的硬件实现方法包括:
配置粗粒度可重构处理器CGRA上实现多层循环任务的配置信息,所述配置信息包括顶层型配置信息和PE运算配置信息;
将顶层型配置信息载入CGRA的处理单元阵列PEA,将顶层型配置信息中的PEA循环迭代次数存入PEA的全局寄存器,通过PEA的控制器和全局寄存器完成PEA层次循环任务;
将顶层型配置信息载入CGRA的处理单元PE,将顶层型配置信息中的PE循环迭代次数存入PE的局部寄存器,通过PE的控制器和局部寄存器完成PE层次循环任务;
将PE运算配置信息中的迭代次数和迭代间隔存入PEA的全局寄存器或PE的局部寄存器,基于PE的控制器完成PE中单条配置层次循环任务。
三个层次的循环任务相当于嵌套循环的关系:第一层PE层次循环任务是最外层的大循环,在这个循环里,包含了第二层PE层次循环任务;第二层循环中又包含了第三层PE中单条配置层次循环任务。循环开始时,自然是从第一层开始,接着第二层,然后第三层。第三层循环结束时,返回到第二层循环,进行第二次迭代。第二层循环结束时,返回到第一层循环,进行第二次迭代。依此类推,直至所有层次的循环迭代完毕,则结束。
具体的,所述PE运算配置信息包括ALU运算型配置信息和/或访存运算型配置信息。所述ALU运算型配置信息包括乘法类运算配置信息和/或乘累加类运算配置信息。
在本发明实施例中,任务循环迭代的次数是通过配置信息的某些字段实现的。CGRA中的配置信息全部采用64-bit的配置信息格式,目前用到的主要包含三大类:顶层型配置信息、ALU运算型配置信息(包含乘法类和乘累加类运算)和访存运算型配置信息。它们的格式和每个字段的含义如下表1、表2和表3所示:
表1顶层型配置信息
表2 ALU运算型配置信息
表3访存运算型配置信息
对上述位置进行举例说明,[63]就是暂时没有用到它,置0即可;[62:61]这2位可以配置PE的功能:为10时PE就进行访存运算,为01时就进行算数运算。也就是说,[62:61]类似于计算机指令中的操作码字段。
下面对三层循环进行详细说明。
第一层循环任务是指PEA中配置包的循环迭代。如表1中顶层配置信息所示,位于[36:30]的Iteration_PEA字段控制了PEA中配置包的循环迭代次数,最大支持128次。当该条顶层配置信息载入到PEA时,Iteration_PEA字段的值写入PEA的全局寄存器Global Reg,当完成一次迭代时,PEA的控制器PEA Control发送一个finish信号给全局寄存器,该全局寄存器的值减1;当全局寄存器的值减为0时,即完成所有迭代。
第二层循环任务是指PE中配置包的循环迭代。如表1中顶层配置信息所示,位于[29:23]的Iteration_PE字段控制了PE中配置包的循环迭代次数,最大支持128次。当该条顶层配置信息载入到PE时,Iteration_PE字段的值写入PE的局部寄存器Local Reg,当完成一次迭代时,PE的控制器PE Control发送一个finish信号给局部寄存器,该局部寄存器的值减1;当局部寄存器的值减为0时,即完成所有迭代。
第三层循环任务是指PE中配置包中单条配置信息的循环迭代。如表2和表3中运算型和访存型配置信息所示,位于[14:5]的Iteration字段表示本配置迭代次数Iter_Num,以及迭代间隔Iter_II。Iteration字段为不同值时分别执行不同的功能:
(1)Iteration[9:8]=00时,表示直接用Iteration[7:0]的值表示迭代次数和迭代间隔。Iteration[7:3]表示本配置迭代次数Iter_Num,最大31次;Iteration[2:0]表示本配置迭代间隔Iter_II,最大7拍。
(2)Iteration[9:8]=01时,表示当Iter_Num大于32或者Iter_II大于8时,去取Global Reg中存储的表示迭代次数和迭代间隔的值。Iteration[7:3]表示32个Global Reg的索引Index,其中Global Reg[31:10]表示迭代次数Iter_Num;Global Reg[9:0]表示迭代间隔Iter_II。
(3)Iteration[9:8]=10时,表示当Iter_Num大于32或者Iter_II大于8时,去取Local Reg中存储的表示迭代次数和迭代间隔的值。Iteration[7:3]表示32个Local Reg的索引Index,其中Local Reg[31:10]表示迭代次数Iter_Num;Local Reg[9:0]表示迭代间隔Iter_II。
(1)(2)(3)这3点描述的都是第三层循环任务(也即PE中单条配置信息的循环)的执行。那么,第三层循环任务需要循环多少次?每次循环迭代之间的间隔时间是多少呢?这就需要一些值表示,这些值是通过Iteration字段描述的。在(1)中,Iteration的[7:3]这5位直接表示迭代次数,[2:0]这3位直接表示迭代间隔;由于Iteration字段的长度限制了可以表示的次数和间隔的最大值,所以在(2)中就有些区别了,[7:3]这5位作为索引地址,去访问全局寄存器Global reg,得到了32位的值,该值的高22位[31:10]作为迭代次数,低10位[9:0]作为迭代间隔,这样可以表示的迭代次数和间隔的值更大;(3)与(2)类似,只不过访问的是局部寄存器Local reg。
另外,当涉及到访存类型的配置循环迭代时,访存地址在不同迭代时的变化是由表5.3中所示的位于[36:33]的Offset字段实现的。
下面是多层循环任务执行的一个实例。
PEA和PE对配置包的迭代次数均设为1,即Iteration_PE=1,Iteration_PEA=1。配置包是一条顶层配置和一条加法运算,其中加法迭代次数Iter_Num为10。
顶层配置信息为:
0_00_00000_000_00000_010_00001000_0000001_0000001_000001_01_00_0_000000_000001。
加法运算配置信息为:
0_01_01100000_00101001_00000000_000000_0_1000000_1000000_0_0001010001_00010。
波形如图4所示,每当一次加法运算执行完成时,pe_execute_finish信号拉高表示一次运算迭代完成;每当一条配置信息执行完成时,pe_config_finish信号拉高表示一次配置迭代完成;每当一次PE的配置包迭代完成时,pe_config_package_one_iter_finish信号拉高;每当一次PEA的配置包迭代完成时,pea_cp_one_iteration_finish信号拉高。这些finish信号分别发送到控制不同迭代的寄存器,从而实现对循环任务迭代次数的控制。
在本发明实施例中,本发明提出的可重构处理器上多层循环任务的硬件实现方法,通过处理单元阵列PEA和处理单元PE上的控制器和寄存器,配合配置信息中的字段(比如顶层配置信息中的Iteration_PE字段、Iteration_PEA字段以及运算和访存信息中的Iteration字段),实现了对三种层次下(PEA层次、PE层次和单条配置层次)的任务循环迭代。该方案减少了从外部配置存储器读取配置和配置包的次数,从而提升了整个CGRA的运算性能。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种可重构处理器上多层循环任务的硬件实现方法,其特征在于,包括:
配置粗粒度可重构处理器CGRA上实现多层循环任务的配置信息,所述配置信息包括顶层型配置信息和PE运算配置信息;
将顶层型配置信息载入CGRA的处理单元阵列PEA,将顶层型配置信息中的PEA循环迭代次数存入PEA的全局寄存器,通过PEA的控制器和全局寄存器完成PEA层次循环任务;
将顶层型配置信息载入CGRA的处理单元PE,将顶层型配置信息中的PE循环迭代次数存入PE的局部寄存器,通过PE的控制器和局部寄存器完成PE层次循环任务;
将PE运算配置信息中的迭代次数和迭代间隔存入PEA的全局寄存器或PE的局部寄存器,基于PE的控制器完成PE中单条配置层次循环任务。
2.如权利要求1所述的可重构处理器上多层循环任务的硬件实现方法,其特征在于,所述配置信息采用64-bit的配置信息格式。
3.如权利要求1所述的可重构处理器上多层循环任务的硬件实现方法,其特征在于,通过PEA的控制器和全局寄存器完成PEA层次循环任务,包括:
当完成一次迭代时,PEA的控制器发送一个finish信号,全局寄存器的值减1;当全局寄存器的值减为0时,完成所有迭代。
4.如权利要求1所述的可重构处理器上多层循环任务的硬件实现方法,其特征在于,通过PE的控制器和局部寄存器完成PE层次循环任务,包括:
当完成一次迭代时,PE的控制器发送一个finish信号,局部寄存器的值减1;当局部寄存器的值减为0时,完成所有迭代。
5.如权利要求1所述的可重构处理器上多层循环任务的硬件实现方法,其特征在于,所述PE运算配置信息包括ALU运算型配置信息和/或访存运算型配置信息。
6.如权利要求5所述的可重构处理器上多层循环任务的硬件实现方法,其特征在于,所述ALU运算型配置信息包括乘法类运算配置信息和/或乘累加类运算配置信息。
7.如权利要求1所述的可重构处理器上多层循环任务的硬件实现方法,其特征在于,所述PE运算配置信息中的迭代次数和迭代间隔存储在Iteration字段;
当Iteration[9:8]=00时,表示直接用Iteration[7:0]的值表示迭代次数和迭代间隔;Iteration[7:3]表示配置的迭代次数Iter_Num,最大31次;Iteration[2:0]表示配置的迭代间隔Iter_II,最大7拍。
8.如权利要求1所述的可重构处理器上多层循环任务的硬件实现方法,其特征在于,所述PE运算配置信息中的迭代次数和迭代间隔存储在Iteration字段;
当Iteration[9:8]=01时,表示当迭代次数Iter_Num大于32或者迭代间隔Iter_II大于8时,去取PEA的全局寄存器Global Reg中存储的表示迭代次数和迭代间隔的值,Iteration[7:3]表示32个Global Reg的索引Index,其中Global Reg[31:10]表示迭代次数Iter_Num;Global Reg[9:0]表示迭代间隔Iter_II。
9.如权利要求1所述的可重构处理器上多层循环任务的硬件实现方法,其特征在于,所述PE运算配置信息中的迭代次数和迭代间隔存储在Iteration字段;
当Iteration[9:8]=10时,表示当迭代次数Iter_Num大于32或者迭代间隔Iter_II大于8时,去取PE的局部寄存器Local Reg中存储的表示迭代次数和迭代间隔的值,Iteration[7:3]表示32个Local Reg的索引Index,其中Local Reg[31:10]表示迭代次数Iter_Num;Global Reg[9:0]表示迭代间隔Iter_II。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011510851.2A CN112486907B (zh) | 2020-12-18 | 可重构处理器上多层循环任务的硬件实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011510851.2A CN112486907B (zh) | 2020-12-18 | 可重构处理器上多层循环任务的硬件实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112486907A true CN112486907A (zh) | 2021-03-12 |
CN112486907B CN112486907B (zh) | 2024-06-25 |
Family
ID=
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112995067A (zh) * | 2021-05-18 | 2021-06-18 | 中国人民解放军海军工程大学 | 一种粗粒度可重构数据处理架构及其数据处理方法 |
CN113961333A (zh) * | 2021-12-22 | 2022-01-21 | 北京燧原智能科技有限公司 | 循环任务的生成、执行方法、装置、ai芯片及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942181A (zh) * | 2014-03-31 | 2014-07-23 | 清华大学 | 用于生成动态可重构处理器的配置信息的方法、装置 |
CN105718245A (zh) * | 2016-01-18 | 2016-06-29 | 清华大学 | 可重构计算循环映射优化方法 |
US20170123795A1 (en) * | 2015-11-04 | 2017-05-04 | International Business Machines Corporation | Tightly coupled processor arrays using coarse grained reconfigurable architecture with iteration level commits |
CN107506329A (zh) * | 2017-08-18 | 2017-12-22 | 浙江大学 | 一种自动支持循环迭代流水线的粗粒度可重构阵列及其配置方法 |
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942181A (zh) * | 2014-03-31 | 2014-07-23 | 清华大学 | 用于生成动态可重构处理器的配置信息的方法、装置 |
US20170123795A1 (en) * | 2015-11-04 | 2017-05-04 | International Business Machines Corporation | Tightly coupled processor arrays using coarse grained reconfigurable architecture with iteration level commits |
CN105718245A (zh) * | 2016-01-18 | 2016-06-29 | 清华大学 | 可重构计算循环映射优化方法 |
CN107506329A (zh) * | 2017-08-18 | 2017-12-22 | 浙江大学 | 一种自动支持循环迭代流水线的粗粒度可重构阵列及其配置方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112995067A (zh) * | 2021-05-18 | 2021-06-18 | 中国人民解放军海军工程大学 | 一种粗粒度可重构数据处理架构及其数据处理方法 |
CN113961333A (zh) * | 2021-12-22 | 2022-01-21 | 北京燧原智能科技有限公司 | 循环任务的生成、执行方法、装置、ai芯片及存储介质 |
CN113961333B (zh) * | 2021-12-22 | 2022-03-11 | 北京燧原智能科技有限公司 | 循环任务的生成、执行方法、装置、ai芯片及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5872987A (en) | Massively parallel computer including auxiliary vector processor | |
JP3860575B2 (ja) | 構成可能な実行ユニットを有する高性能のハイブリッドプロセッサ | |
CN106991476B (zh) | 用于执行人工神经网络正向运算的装置和方法 | |
NL2028867B1 (en) | Vector Processor Architectures | |
JP4934356B2 (ja) | 映像処理エンジンおよびそれを含む映像処理システム | |
CN111353588A (zh) | 用于执行人工神经网络反向训练的装置和方法 | |
CN111860812A (zh) | 一种用于执行卷积神经网络训练的装置和方法 | |
JP5491071B2 (ja) | 命令融合演算装置および命令融合演算方法 | |
GB2464292A (en) | SIMD processor circuit for performing iterative SIMD multiply-accumulate operations | |
CN110929863A (zh) | 用于执行lstm运算的装置和方法 | |
JP5628435B2 (ja) | 半導体チップ上に実装されるベクトル論理的縮約動作 | |
CN107886166B (zh) | 一种执行人工神经网络运算的装置和方法 | |
US6622153B1 (en) | Virtual parallel multiplier-accumulator | |
JPH07244589A (ja) | 述語、及びブール式を解くためのコンピュータ・システム、及び方法 | |
CN112486908B (zh) | 层次化的多rpu多pea的可重构处理器 | |
US6948049B2 (en) | Data processing system and control method | |
US20240004663A1 (en) | Processing device with vector transformation execution | |
CN112486907A (zh) | 可重构处理器上多层循环任务的硬件实现方法 | |
CN112486907B (zh) | 可重构处理器上多层循环任务的硬件实现方法 | |
JPH09212360A (ja) | データ処理装置 | |
US20030009652A1 (en) | Data processing system and control method | |
JP2009507292A (ja) | 分離したシリアルモジュールを備えるプロセッサアレイ | |
US6032249A (en) | Method and system for executing a serializing instruction while bypassing a floating point unit pipeline | |
WO2010034167A1 (zh) | 一种集成电路的处理器结构 | |
US10387155B2 (en) | Controlling register bank access between program and dedicated processors in a processing system |
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 |