CN102253921B - 一种动态可重构处理器 - Google Patents
一种动态可重构处理器 Download PDFInfo
- Publication number
- CN102253921B CN102253921B CN2011101595171A CN201110159517A CN102253921B CN 102253921 B CN102253921 B CN 102253921B CN 2011101595171 A CN2011101595171 A CN 2011101595171A CN 201110159517 A CN201110159517 A CN 201110159517A CN 102253921 B CN102253921 B CN 102253921B
- Authority
- CN
- China
- Prior art keywords
- register file
- data
- reconfigurable
- unit array
- configuration information
- 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
Abstract
本发明提供了一种动态可重构处理器,包括:可重构单元阵列;与所述可重构单元阵列相连的寄存器堆;所述可重构单元阵列根据配置信息向所述寄存器堆写入输出数据,以及,从所述寄存器堆读取输入数据。本发明可以提高动态可重构处理器对于算法流图切割后的切换效率,节省可重构硬件资源。
Description
技术领域
本发明涉及嵌入式系统的技术领域,特别涉及一种动态可重构处理器。
背景技术
动态可重构处理器是一种新型的处理器构架,其结合了软件的灵活性和硬件的高效性。和传统单核微处理器相比,不仅可以改变控制流,还可以改变数据通路,具有高性能、低功耗、灵活性好、扩展性好的优点,尤其适合于处理计算密集型的算法,例如媒体处理、模式识别、基带处理等。因此动态可重构处理器也成为目前处理器结构的一个重要发展方向,如欧洲微电子中心(IMEC)的ADRES处理器和惠普(HP)的CHESS处理器,前者由紧耦合的超长指令字(Very Long Instruction Word,VLIW)处理器内核和粗颗粒度并行矩阵计算的可重构硬件构成,后者由大量可重构算术计算单元阵列构成。
动态可重构处理器的核心一般为一个二维的可重构算术逻辑单元(ALU)阵列,该结构是并行计算以提高处理能力的基础。同时,可重构算术逻辑单元间必须拥有较为灵活的互联结构以保证运算通用性,这种可配置的互联结构使得动态可重构处理器可以改变数据流,实现了对数据流的高速并行处理,相对于传统单核、少核处理器大大的提升了计算性能。另一方面,相对于传统的静态可重构电路,如用大部分的现场可编程逻辑阵列(FPGA)来实现处理器功能时,动态的可重构特性使得处理器能够通过时分复用以大大减少所需的电路面积。
对于大部分算法流图,其结构都是不规则的,当把它们布局到一个规则的可重构算术逻辑阵列时,由于阵列的规模限制,很容易出现算法的部分结构无法布局进阵列,如图1所示的算法就是不可能布局进一个4x4的阵列当中,所以必然需要分割成两次配置顺序执行,而这两次配置之间的数据相关,包括图1中圆块1所示的纵向边界数据和圆块2所示的横向边界数据,这些边界数据是需要缓存的。
其中,横向的边界数据传递可以通过阵列内部的旁路结构传递至输出端口,和纵向的边界数据一样进入数据输出通路,写到存储器。在它们被下次配置调用时再从外部存储器中读取。这样做的优点是系统配置简单而且规则,但其缺点也在于,第一,由于外部存储器的读写速度比较慢,使得运算切换效率不高。第二,由于通常的可重构阵列没有纵向的互联线,所以横向的边界数据需要旁路很多运算单元以传递至下方的输出端口,浪费了可重构硬件的资源。
因此,目前需要本领域技术人员迫切解决的一个技术问题就是:提供一种动态可重构处理器系统中批量数据缓存的装置,以提高动态可重构处理器对于算法流图切割后的切换效率,节省可重构硬件资源。
发明内容
本发明所要解决的技术问题是提供一种动态可重构处理器系统中批量数据缓存的装置,以提高动态可重构处理器对于算法流图切割后的切换效率,节省可重构硬件资源。
为了解决上述问题,本发明公开了一种动态可重构处理器,包括:
可重构单元阵列;
与所述可重构单元阵列相连的寄存器堆;
所述可重构单元阵列根据配置信息向所述寄存器堆写入输出数据,以及,从所述寄存器堆读取输入数据。
优选的,所述动态可重构处理器还包括:
输入FIFO、输出FIFO;
连接在所述输入FIFO与可重构单元阵列之间的预输入单元;
连接在所述可重构单元阵列与输出FIFO之间的输出选择单元;
所述寄存器堆与所述预输入单元和输出选择单元相连;
所述输出选择单元根据配置信息向所述寄存器堆写入可重构单元阵列的运算结果数据,所述预输入单元根据配置信息从所述寄存器堆读取可重构单元阵列运算所需的数据。
优选的,所述寄存器堆用于缓存算法流图分割时的边界数据。
优选的,其特征在于,所述寄存器堆位于可重构单元阵列内部。
优选的,所述的动态可重构处理器还包括:
与所述寄存器堆相连的常数存储器;
所述可重构单元阵列在执行运算前,从所述常数存储器中读取常数更新其内部寄存器堆的内容。
优选的,所述配置信息包括所述预输入单元读取数据的寄存器堆地址,以及,输出选择单元写入数据的寄存器堆地址。
优选的,所述预输入单元根据配置信息从所述寄存器堆读取的运算所需的数据为,所述输出选择单元上一次向所述寄存器堆写入的运算结果数据。
优选的,所述输出选择单元还用于根据配置信息向所述输出FIFO输出运算结果数据,所述预输入单元还用于根据配置信息从所述输入FIFO读取可重构单元阵列运算所需的数据。
优选的,所述寄存器堆与输入FIFO、输出FIFO具有相同的接口宽度。
优选的,所述可重构单元阵列用于根据配置信息执行运算。
与现有技术相比,本发明具有以下优点:
本发明提出了动态可重构处理器内批量数据缓存的结构,在动态可重构阵列内部添加通用寄存器堆,不用再通过外部存储器,而是使用通用寄存器堆来批量存储动态可重构处理器的中间数据,对于阵列而言拥有极高的读写速度。同时寄存器堆与可重构运算逻辑阵列是全互联的,即是说,阵列中所有的运算逻辑单元都能从该寄存器堆读取输入数据,也可以将其输出数据写入该寄存器堆,一次运算的结果即中间数据可以直接保存到内部寄存器堆中,避免了浪费硬件资源将该结果传递至输出端口,下一次运算输入直接从内部寄存器堆读取,从而方便配置的切换,提高数据切换的效率,节省了硬件开销。
本发明可以应用于缓存算法流图切割时的边界数据,以提高动态可重构处理器对于算法流图切割后的切换效率,并节省可重构硬件资源。
在本发明实施例的结构中,寄存器堆可以设置在可重构运算逻辑阵列内部,同时寄存器堆与可重构运算逻辑阵列是全互联的,即是说,阵列中所有的运算逻辑单元都能从该寄存器堆读取输入数据,也可以将其输出数据写入该寄存器堆,一次运算的结果即中间数据可以直接保存到内部寄存器堆中,避免了浪费硬件资源将该结果传递至输出端口,下一次运算输入直接从内部寄存器堆读取,从而方便配置的切换,提高数据切换的效率,节省了硬件资源。
附图说明
图1是一种算法流图分割中的边界数据示意图;
图2是一种典型动态可重构处理器中可重构单元阵列的结构示意图;
图3是一种算法流图的示例;
图4是图3所示的算法流图到可重构单元阵列的映射示意图;
图5是本发明的一种动态可重构处理器实施例1的一个结构框图;
图6是本发明的一种动态可重构处理器实施例2的一个结构框图;
图7是本发明的一种动态可重构处理器实施例3的一个结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
为使本领域技术人员更好地理解本发明,以下对算法流图的布局原理进一步说明。
算法或者应用,最终都可以划归成图的表示形式。可重构处理器内计算单元一般采用阵列的结构,参考图2表示一个计算资源;方框和方框之间有路由逻辑,实现之间的数据传递。算法流图可以由可重构单元阵列来实现,如图3中,圆圈表示运算或者操作,连线表示数据传递。圆圈可以用方框实现,联系可以用阵列的路由实现,体现“图即电路,电路即图”的思想,这种实现方式叫做算法流图到可重构单元阵列的映射。图4即为一次映射后的示意图。
在具体实现中,不是所有的图都可以直接向一个具体的可重构单元阵列映射。当图的宽度(并行度)或者深度(关键路径)大于可重构单元阵列的宽度或者深度时,则无法直接映射(资源不够了)。需要将图分解成两个或者多个子图再分别进行映射。
当图被分解成多个子图,子图之间有连线(即数据传递)时,需要保存边界上的数据(即运算的中间数据)到缓存结构中。边界数据可能同时有多个输入、多个输出。均需要考虑到缓存结构的实现中来。公知的是,处理器由计算单元和存储单元两部分组成。计算单元的数据按照被使用的频度划分,连续使用的数据(频度最高)存储在寄存器堆中,间歇使用的数据存放在片上的memory中,很长时间也不使用的数据放置在片外(比如硬盘中),这里和计算单元配合使用的存储装置就称为缓存。在具体实现中,通用处理器和动态可重构处理器都需要缓存装置。
具体而言,通用处理器内部的数据缓存结构主要包括缓存(CacheMemory)和寄存器堆。
Cache是处理器和内存间的临时存储器,容量较小但是读写速度快于内存,可以缓解内存读写速度和处理器的不匹配。缓存中的所有数据都是内存中的一小部分,而且该部分较大可能即将被处理器访问,所以当处理器调用大量数据时,内存被避开,读取速度被加快。
寄存器堆是处理器的重要组成部分,用于高速暂存指令、数据和地址,是系统获取资料最快捷的途径。寄存器的读写速度也非常快,是处理器的架构单元,是一条指令的输出和输入能够索引到的寄存器群组。
通用处理器是单一运算单元,串行运算,单次运算一般需要两到三个输入,一个输出。动态可重构处理器,通常是阵列形式,并行运算,一般需要较多的输入输出。对于动态可重构处理器的现有结构而言,由于动态可重构处理器的运算逻辑单元阵列减少了很多数据缓存的必要,运算的中间数据都可以直接传输到下一级运算逻辑单元的输入寄存器。而阵列的整体计算结果通常可以直接写入外部的存储器。因而,本领域技术人员通常认为不需要在动态可重构处理器中设置批量数据缓存装置,而本专利发明人发现这种现有动态可重构处理器的设计将极大的影响运算切换效率。以通用处理器举例而言,如果计算输出数据很久以后才需要使用(数据使用频度低),或者,片内寄存器堆已满(已经用完),则需要将数据保存到缓存(cache)或者片上sdram(同步动态随机存储器),甚至片外memory(如u盘、硬盘等)。
对于通用处理器而言,计算时间可能只要1个周期,但是到cache的保存需要两个周期,sdram需要~10个周期,片外的ddr需要~100周期,硬盘需要~1000周期。下一次计算的时候同样需要花费很多时间读入计算单元,并进行计算。其中,这里定义的运算切换效率=1-(数据切换时间/数据计算时间)。数据切换时间包括上一次计算完成之后数据保存到缓存装置的时间,加上,下一次计算开始之前数据从缓存装置中读取的时间。数据计算时间指,当前读入数据要进行的计算周期数。
可以看出,对于通用处理器,数据保存到外部memory再读入的情况下,运算切换效率很低。
由于memory通常带宽有限(比如8bit、16bit、32bit等);加上动态可重构处理器的子图边界数据很多,可能同时有多个输出结果(比如10个32bit,20个32bit等)。则可重构处理器的运算切换效率要比通用处理器来的恶化很多(比如10倍,20倍)。
正是由于本专利发明人发现了以上问题,因而创造性地提出本发明的核心构思之一在于,提出了动态可重构处理器内批量数据缓存的结构,在动态可重构阵列内部添加通用寄存器堆,主要用于缓存算法流图切割时的边界数据,以提高动态可重构处理器对于算法流图切割后的切换效率,并节省可重构硬件资源。
参考图5,示出了本发明的一种动态可重构处理器实施例1的一个结构框图,具体可以包括以下单元:
可重构单元阵列501;
与所述可重构单元阵列501相连的寄存器堆502;
其中,所述可重构单元阵列是动态可重构处理器的核心,用于根据配置信息执行数据运算。在本发明实施例中,可重构单元阵列还可以根据配置信息向所述寄存器堆写入输出数据,以及,从所述寄存器堆读取输入数据。
在本发明的一种优选实施例中,所述寄存器堆可以用于缓存算法流图分割时的边界数据。并且,所述寄存器堆可以设置在可重构单元阵列内部。
现有技术中,运算切换时,数据需要从输出FIFO输出,然后等再次使用时从输入FIFO输入,数据切换效率不高。因此在设计可重构处理器的缓存装置时尽可能不使用外部存储器,使用寄存器堆的时候也要仔细设计,尽可能设计成访问速度快、访问带宽大的结构。
在本发明实施例的结构中,寄存器堆位于可重构运算逻辑阵列内部,因此数据不用再通过外部存储器,而是使用通用寄存器堆来批量存储动态可重构处理器的中间数据,对于阵列而言拥有极高的读写速度。
同时寄存器堆与可重构运算逻辑阵列是全互联的,即是说,阵列中所有的运算逻辑单元都能从该寄存器堆读取输入数据,也可以将其输出数据写入该寄存器堆,一次运算的结果即中间数据可以直接保存到内部寄存器堆中,避免了浪费硬件资源将该结果传递至输出端口,下一次运算输入直接从内部寄存器堆读取,从而方便配置的切换,提高数据切换的效率,节省了硬件开销。
当需要对可重构阵列进行流水线设计时,阵列内部的缓存寄存器堆可以提高流水的效率。因为如果两次配置间存在数据相关性,全互联的寄存器堆能够提早将下一拍的数据准备好,避免插入空泡,提高流水的效率。
参考图6,示出了本发明的一种动态可重构处理器实施例2的一个结构框图,具体可以包括以下单元:
输入FIFO601、输出FIFO606、可重构单元阵列603;
连接在所述输入FIFO与可重构单元阵列之间的预输入单元602;
连接在所述可重构单元阵列与输出FIFO之间的输出选择单元604;
与所述可重构单元阵列相连的寄存器堆605,所述寄存器堆还与所述预输入单元和输出选择单元相连;
其中,所述输出选择单元根据配置信息向所述寄存器堆写入可重构单元阵列的运算结果数据,所述预输入单元根据配置信息从所述寄存器堆读取可重构单元阵列运算所需的数据。
在具体实现中,所述动态可重构处理器可以与外部存储器相连。在本发明的一种优选实施例中,所述输入FIFO501可以用于外部数据的输入;所述预输入单元还可以根据配置信息从所述输入FIFO501读取可重构单元阵列运算所需的数据;所述输出选择单元504还可以根据配置信息向所述输出FIFO输出运算结果数据;
所述输出FIFO可以向外部存储器输出数据。
更具体而言,所述配置信息可以包括所述预输入单元读取数据的寄存器堆地址,以及,输出选择单元写入数据的寄存器堆地址。
输入FIFO读入外部数据,将数据传递给预输入单元处理,预输入单元根据配置信息中读取数据的寄存器堆地址,从对应地址中提取数据,可重构单元阵列预输入单元提取的数据进行运算,然后输出运算结果,运算结果数据将由输出选择单元根据配置信息中写入数据的寄存器堆地址,写入寄存器堆的对应地址。或者,所述输出选择单元根据配置信息向所述输出FIFO输出运算结果数据。
当需要对可重构阵列进行流水线设计时,阵列内部的缓存寄存器堆可以提高流水的效率。因为如果两次配置间存在数据相关性,全互联的寄存器堆能够提早将下一拍的数据准备好,避免插入空泡,提高流水的效率。
在本发明的一种优选实施例中,所述动态可重构处理器还可以包括与所述寄存器堆相连的常数存储器;所述可重构单元阵列在执行运算前,从所述常数存储器中读取常数更新其内部寄存器堆的内容。
在具体实现中,所述寄存器堆与输入FIFO、输出FIFO具有相同的接口宽度。
为使本领域技术人员更好地理解本发明,以下结合图7所示的动态可重构处理器的结构图,通过一个具体示例进一步说明本发明。
在本例中,所述动态可重构处理器具体可以包括以下单元:
输入FIFO(INPUT_FIFO)701;
预输入单元(PRE_INPUT_x88)702;
可重构单元阵列(RC_LINEx8)703;
输出选择单元(Output_Select)704;
寄存器堆(Constant Reg Group)705;
输出FIFO(OUTPUT_FIFO)706;
因为图分割的边界数据和常数等效,本示例中,所述动态可重构处理器还可以包括与所述寄存器堆相连的常数存储器。
所述预输入单元根据配置信息从所述输入FIFO和寄存器堆读取可重构单元阵列运算所需的数据,将数据传递给可重构单元阵列。其中,配置信息为预输入单元读取数据的寄存器堆地址,读取的数据包括输出选择单元上一次向所述寄存器堆写入的运算结果数据。
本示例中可重构单元阵列,是一个8x8 RCA阵列,用于根据配置信息执行运算,向输出选择单元输入数据。所述8x8 RCA每次根据配置信息进行计算前,从与所述寄存器堆相连的常数存储器中读取常数更新可重构单元阵列8x8 RCA内容。
数据进入输出选择单元后,输出选择单元根据配置信息将RC_LINE_x8的数据输出,包括:根据配置信息向所述输出FIFO输出运算结果数据,还根据配置信息向寄存器堆写入可重构单元阵列的运算结果数据,这是使用通用寄存器堆批量缓存数据的比较好的一种实现方法,节省了硬件开销,易于实现。
其中输入FIFO,输出FIFO是整个计算单元的IO buffer,用来隔离外部数据和阵列数据,使得可重构单元阵列可以独立、流畅的进行并行运算,外部数据是进入输入FIFO,再由输入FIFO进入预输入单元的。
本示例中,输出选择单元提供64个RC结果寄存器到输出FIFO或者内部缓存(常数寄存器组)的通路。
该示例中寄存器堆与输入FIFO、输出FIFO具有相同的接口宽度。
接下来对本示例的技术效果进行说明,假设运算1输出16个数,运算2输入其中8个数据,输出FIFO和输入FIFO的宽度均为4,寄存器堆宽度等同FIFO宽度。
原本可重构单元阵列的数据结果经过从输出FIFO输出需要4个周期,保存到外部存储器需要16个周期,从外部存储器读出需要8个周期,输入FIFO输入2个周期,数据切换时间总计30个周期;利用本专利结构将数据保存到可重构单元阵列内部的寄存器堆中,保存到寄存器堆需要4个周期,寄存器堆从读出需要2个周期,数据切换时间总共6个周期。由此可见,本专利的结构通过在动态可重构处理器的可重构单元阵列中添加寄存器堆,使得数据不需要经过外部存储器,直接写入寄存器堆,下次运算时可以直接从常数存储器读取常数更新其内部寄存器堆的内容,从而提高了数据切换效率,节省了硬件资源。
本发明在动态可重构处理器的可重构单元阵列中添加寄存器堆,所述可重构单元阵列根据配置信息向所述寄存器堆写入输出数据,以及,从所述寄存器堆读取输入数据。所述寄存器堆位于可重构单元阵列的内部,因此数据不用再通过外部存储器,提高了数据切换效率,节省了硬件资源。
需要说明的是,所述内部寄存器堆,可以选择用也可以选择不用。依据数据使用的频度。数据频繁使用,则尽可能放置到内部寄存器堆。另外,这种缓存装置,同时也可以用于其他数据类别的管理。比如,如果寄存器堆可以由可重构单元阵列外部的接口改写,则通过此接口可以快速写入立即数或者常数。这和cache的强制更新特性是相似的。
本说明书中的各个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上对本发明所提供的一种动态可重构处理器进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种动态可重构处理器,其特征在于,包括:
可重构单元阵列;
与所述可重构单元阵列相连的寄存器堆;
所述可重构单元阵列根据配置信息向所述寄存器堆写入输出数据,以及,从所述寄存器堆读取输入数据;
输入FIFO、输出FIFO;
连接在所述输入FIFO与可重构单元阵列之间的预输入单元;
连接在所述可重构单元阵列与输出FIFO之间的输出选择单元;
所述寄存器堆与所述预输入单元和输出选择单元相连;
所述输出选择单元根据配置信息向所述寄存器堆写入可重构单元阵列的运算结果数据,所述预输入单元根据配置信息从所述寄存器堆读取可重构单元阵列运算所需的数据。
2.根据权利要求1所述的动态可重构处理器,其特征在于,所述寄存器堆用于缓存算法流图分割时的边界数据。
3.根据权利要求2所述的动态可重构处理器,其特征在于,所述寄存器堆位于可重构单元阵列内部。
4.根据权利要求3所述的动态可重构处理器,其特征在于,还包括:
与所述寄存器堆相连的常数存储器;
所述可重构单元阵列在执行运算前,从所述常数存储器中读取常数更新其内部寄存器堆的内容。
5.根据权利要求1所述的动态可重构处理器,其特征在于,所述配置信息包括所述预输入单元读取数据的寄存器堆地址,以及,输出选择单元写入数据的寄存器堆地址。
6.根据权利要求5所述的动态可重构处理器,其特征在于,所述预输入单元根据配置信息从所述寄存器堆读取的运算所需的数据为,所述输出选择单元上一次向所述寄存器堆写入的运算结果数据。
7.根据权利要求1所述的动态可重构处理器,其特征在于,所述输出选择单元还用于根据配置信息向所述输出FIFO输出运算结果数据,所述预输入单元还用于根据配置信息从所述输入FIFO读取可重构单元阵列运算所需的数据。
8.根据权利要求1所述的动态可重构处理器,其特征在于,所述寄存器堆与输入FIFO、输出FIFO具有相同的接口宽度。
9.根据权利要求1所述的动态可重构处理器,其特征在于,所述可重构单元阵列用于根据配置信息执行运算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101595171A CN102253921B (zh) | 2011-06-14 | 2011-06-14 | 一种动态可重构处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101595171A CN102253921B (zh) | 2011-06-14 | 2011-06-14 | 一种动态可重构处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102253921A CN102253921A (zh) | 2011-11-23 |
CN102253921B true CN102253921B (zh) | 2013-12-04 |
Family
ID=44981193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101595171A Active CN102253921B (zh) | 2011-06-14 | 2011-06-14 | 一种动态可重构处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102253921B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426274A (zh) * | 2015-11-13 | 2016-03-23 | 上海交通大学 | 一种容软错误的粗粒度可重构阵列 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102402415B (zh) * | 2011-10-21 | 2013-07-17 | 清华大学 | 一种动态可重构阵列内数据缓存的装置及方法 |
CN102868532B (zh) * | 2012-09-12 | 2015-05-20 | 清华大学 | 基于可重构技术的加解密算法中基本算子的提取方法 |
CN105447414B (zh) * | 2015-10-21 | 2018-06-19 | 清华大学无锡应用技术研究院 | 可重构密码处理器 |
CN105511919B (zh) * | 2015-12-07 | 2018-07-20 | 东南大学 | 一种可重构系统的动态局部重构控制器及其控制方法 |
CN108255775A (zh) * | 2016-12-28 | 2018-07-06 | 上海磁宇信息科技有限公司 | 用于细胞阵列计算系统的细胞阵列总线广播方法 |
CN108537331A (zh) * | 2018-04-04 | 2018-09-14 | 清华大学 | 一种基于异步逻辑的可重构卷积神经网络加速电路 |
CN113129961B (zh) * | 2021-04-21 | 2023-03-28 | 中国人民解放军战略支援部队信息工程大学 | 一种面向密码逻辑阵列局部动态重构的配置电路 |
CN113032329B (zh) * | 2021-05-21 | 2021-09-14 | 千芯半导体科技(北京)有限公司 | 基于可重构存算芯片的计算结构、硬件架构及计算方法 |
CN113407483B (zh) * | 2021-06-24 | 2023-12-12 | 重庆大学 | 一种面向数据密集型应用的动态可重构处理器 |
CN114647516B (zh) * | 2022-05-20 | 2022-08-23 | 沐曦集成电路(上海)有限公司 | 基于多输入单输出的fifo结构的gpu数据处理系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101625635A (zh) * | 2009-07-31 | 2010-01-13 | 清华大学 | 一种处理循环任务的方法、系统和设备 |
CN102053945A (zh) * | 2009-11-09 | 2011-05-11 | 中国科学院过程工程研究所 | 一种面向多尺度离散模拟的并行计算系统 |
-
2011
- 2011-06-14 CN CN2011101595171A patent/CN102253921B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101625635A (zh) * | 2009-07-31 | 2010-01-13 | 清华大学 | 一种处理循环任务的方法、系统和设备 |
CN102053945A (zh) * | 2009-11-09 | 2011-05-11 | 中国科学院过程工程研究所 | 一种面向多尺度离散模拟的并行计算系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426274A (zh) * | 2015-11-13 | 2016-03-23 | 上海交通大学 | 一种容软错误的粗粒度可重构阵列 |
CN105426274B (zh) * | 2015-11-13 | 2018-12-25 | 上海交通大学 | 一种容软错误的粗粒度可重构阵列 |
Also Published As
Publication number | Publication date |
---|---|
CN102253921A (zh) | 2011-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102253921B (zh) | 一种动态可重构处理器 | |
CN111433758B (zh) | 可编程运算与控制芯片、设计方法及其装置 | |
EP2372530A1 (en) | Data processing method and device | |
CN112463719A (zh) | 一种基于粗粒度可重构阵列实现的存内计算方法 | |
CN102402415B (zh) | 一种动态可重构阵列内数据缓存的装置及方法 | |
JP2009505171A (ja) | ステートフルなトランザクション指向のシステムを指定する方法、及び半導体デバイスの構造的に構成可能なイン・メモリ処理へ柔軟にマッピングする装置 | |
US9449131B2 (en) | Extracting system architecture in high level synthesis | |
CN105468568A (zh) | 高效的粗粒度可重构计算系统 | |
CN104317770A (zh) | 用于众核处理系统的数据存储结构及数据访问方法 | |
CN111324294A (zh) | 存取张量数据的方法和装置 | |
US11455781B2 (en) | Data reading/writing method and system in 3D image processing, storage medium and terminal | |
CN104346132A (zh) | 应用于智能卡虚拟机运行的控制装置及智能卡虚拟机 | |
Qiao et al. | TopSort: A high-performance two-phase sorting accelerator optimized on HBM-based FPGAs | |
CN104679670A (zh) | 一种面向fft和fir的共享数据缓存结构及管理方法 | |
CN114297097A (zh) | 一种众核可定义分布式共享存储结构 | |
TW201712534A (zh) | 關於包括指令組的大小之指令組的資訊解碼 | |
Shang et al. | LACS: A high-computational-efficiency accelerator for CNNs | |
Raghavan et al. | Very wide register: An asymmetric register file organization for low power embedded processors | |
US7370311B1 (en) | Generating components on a programmable device using a high-level language | |
CN101930356B (zh) | 用于浮点协处理器的寄存器文件分组编址、读写控制方法 | |
CN111124490A (zh) | 使用posit的无精度损失低功耗mfcc提取加速器 | |
CN104317554A (zh) | 用于simd处理器的寄存器文件数据读写装置和方法 | |
CN202217274U (zh) | 一种多核处理器存储系统装置 | |
CN102289424B (zh) | 一种动态可重构阵列处理器的构令流工作方法 | |
CN112486904A (zh) | 可重构处理单元阵列的寄存器堆设计方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |