CN101587467B - 一种应用于可重构计算架构的重构信息发送引擎 - Google Patents
一种应用于可重构计算架构的重构信息发送引擎 Download PDFInfo
- Publication number
- CN101587467B CN101587467B CN2009100542907A CN200910054290A CN101587467B CN 101587467 B CN101587467 B CN 101587467B CN 2009100542907 A CN2009100542907 A CN 2009100542907A CN 200910054290 A CN200910054290 A CN 200910054290A CN 101587467 B CN101587467 B CN 101587467B
- Authority
- CN
- China
- Prior art keywords
- information
- static
- reconfiguration information
- transmitting element
- reconfiguration
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Multi Processors (AREA)
Abstract
本发明属于集成电路设计技术领域,具体为一种应用于可重构计算架构的重构信息发送引擎。该发送引擎由主控部分、静态重构信息解析发送单元、静态信息存储单元、动态重构信息解析发送单元、动态信息存储单元以及定制重构信息硬件发送器构成。它抽象不同功能的可重构运算单元,使用同样的结构对不同的可重构运算单元提供重构信息,并通过简单的配置适合不同规模的可重构运算单元,其rtl代码采用软件参数配置的方式自动生成,本发明为可重构计算架构中的各种运算单元提供静态、动态和专用的重构信息,并在不同规模的可重构系统中有良好的适应性及灵活性。
Description
技术领域
本发明属于集成电路设计技术领域,涉及可重构计算架构设计,具体涉及一种应用于可重构计算架构的重构信息发送引擎。
背景技术
在传统的集成电路设计中,通常针对要实现的应用,对每一个模块分别设计独立硬件,最后将所有模块放在一起,形成一个特定的数据通路,完成所要实现的功能。而在可重构计算架构思想中,通过外界不同的重构信息,将相同的硬件重构出不同的数据通路,以实现多种不同的运算。因此,使用可重构的思想,可以达到同一个硬件在时间上的复用,从而大大提高该块硬件的利用效率,降低系统实现成本,也为模块复用提供了很高的灵活性。也正是由于这种灵活性,使得用于数据通路配置以及数据流向控制的重构信号数目比一般定制硬件的控制信号数目多出许多,尤其对于运算规模较大的可重构运算单元,其重构信号的位宽总和可以达到上百;对于不同应用的可重构运算单元,其重构信号的数量也不尽相同。因此,如何设计一种简单通用的重构信息发送引擎,将众多重构信号精确送入可重构运算单元,也是可重构计算领域一个重要的研究课题。
发明内容
本发明的目的在于提供一种应用于可重构计算架构中的重构信息发送引擎,为可重构计算架构中的各种运算单元提供静态、动态和定制的重构信息。本发明发送引擎抽象不同功能的可重构运算单元,使用同样的结构对不同的可重构运算单元提供重构信息,并可以通过简单的配置适合不同规模的可重构运算单元,其rtl代码采用软件参数配置的方式自动生成,在不同规模的可重构系统中有良好的适应性及灵活性。
分析可重构运算单元所需的重构信息,大致可以抽象为以下两类。第一类重构信息用于决定当前应用的数据通路,用以决定该可重构运算单元所要完成的功能,因此,这类重构信息在相对比较长的时间内保持不变,称为静态重构信息;而第二类重构信息用于控制当前计算操作数的数据流向,用以保证数据能够源源不断地送入可重构运算单元进行计算,因此,这类重构信息几乎在每个时钟周期都会发生变化,称为动态重构信息。在某些算法的映射时,例如快速傅立叶变换(FFT),其数据流动具有一定规律,且一般使用较小的定制硬件即可产生数据读写地址,这类可使用定制硬件产生的重构信息,成为定制重构信息。对于一组确定的静态重构信息,即一条静态指令,确定了一个数据通路,而这个数据通路相对应了一系列计算操作数的数据流动,即对应了一系列动态重构信息组,即多条动态指令,这其中也包括了一系列使用相应定制硬件产生的定制重构信息。
本发明所述的应用于可重构计算架构中的重构信息发送引擎如图1所示,具体由主控部分101、静态重构信息解析发送单元102、静态信息存储单元103、动态重构信息解析发送单元104、动态信息存储单元105以及定制重构信息硬件发送器106构成。其中,所述的静态信息存储单元103,存储在其中的部分静态重构信息提供静态指令,供动态重构信息解析发送单元104进行解析发送;所述的动态信息存储单元105,存储在其中的部分动态重构信息提供动态指令,供定制重构信息硬件发送器106进行解析发送;所述的静态重构信息解析发送单元102,通过一定配置,适合不同存储长度的静态重构信息,并在多个时钟周期进行读取,以适应不同规模的可重构运算单元的需求;所述的动态重构信息解析发送单元104,通过一定配置,适合不同存储长度的动态重构信息;并相应地在rtl级生成多个所述动态信息存储单元105,以适应不同规模的可重构运算单元的需求;所述的重构信息发送引擎,能够根据可重构系统的规模与应用,在参数确定后使用软件自动生成rtl代码。
主控部分101接收上层控制逻辑对重构信息发送引擎送出的控制指令,对其进行解析,并对静态重构信息解析发送单元102发出控制信号;每个静态重构信息解析发送单元102根据解析得到的控制信号,分多个时钟周期从静态信息存储单元103中读取数据,并将其拼凑成一条完整的静态指令;静态信息存储单元103用于存储相对应可重构运算单元所需要的静态重构信息,其存储数据位宽64bit,即每条静态指令的长度为64bit的整数倍;在每一条静态指令的最后32bit,为该静态指令所对应的一系列动态重构信息的控制信息编码。
动态重构信息解析发送单元104接收到这些控制信息编码后,从中解析出当前所需动态重构信息的存放初始地址与动态指令总数,然后从相应的动态信息存储单元105中进行读取;动态信息存储单元105由一个或多个并行的存储器构成,每个存储器的位宽为128bit;对于需要通过定制重构信息硬件发送器106所发送的定制重构信息,在每一条动态指令的最低3bit处进行标识。
在本发明所述的重构信息发送引擎中,一个主控模块101控制多个重构信息发送单元201,每个重构信息发送单元201对应于一个可重构运算处理单元202。因此,该重构信息发送引擎的规模由系统中的可重构运算单元202的个数决定,且同时支持各种不同规模同构与异构的可重构运算单元。如图2所示。
由于在一条静态指令的读取时,耗费的几个时钟周期对于系统性能几乎不会造成影响,且每个静态重构信息解析发送单元102对于静态指令的读取也并不是经常进行的,因此,在本发明所述的重构信息发送引擎中,所有的重构信息发送单元201共享一个静态信息存储单元103,各个重构信息发送单元201通过总线203对其进行数据读取。
重构信息发送单元201具体包括一个静态重构信息解析发送单元102,一个动态重构信息解析发送单元104,一个动态重构信息存储单元105,以及一个或多个定制重构信息硬件发送器106。由于每个可重构运算处理单元202可以被重构成多种不同的数据通路,以完成不同的硬件功能,因此,对于这多种功能所对应的不同的数据流动,可使用一个或多个定制重构信息硬件发送器106来完成特定数据流向的控制功能,每个动态重构信息解析发送单元105最多支持8个定制重构信息硬件发送器106。定制重构信息硬件发送器106产生的定制重构信息303被送入动态重构信息解析发送单元104,由其进行数据合并后作为动态重构信息302一起输出。当该条静态重构信息301所对应的一组动态重构信息302发送完成后,通过返回中断信号,静态重构信息解析发送单元102开始读取下一条静态重构指令。如图3所示。
以上所述为本发明提出的重构信息发送引擎的结构,当其所在的可重构运算系统确定了可重构运算处理单元202的个数、每个可重构运算单元的规模,以及在该可重构运算单元上所实现的应用后,该重构信息发送引擎也会相应地确定重构信息发送单元201的数量,每一条静态指令的长度,每个动态信息存储单元105中存储器的个数,即反映了每一条动态指令的长度,以及每个动态重构信息解析发送单元104所对应的定制重构信息硬件发送器106的个数。这些参数确定后将使用软件直接生成该重构信息发送引擎的rtl代码。
本发明的独到之处在于,首先,提供了一种应用于可重构计算架构中的重构信息发送引擎,为可重构计算架构中的各种运算单元提供静态、动态和定制的重构信息。其次,该发送引擎抽象不同功能的可重构运算单元,使用同样的结构对不同的可重构运算单元提供重构信息;第三,可以通过简单的配置适合不同规模的可重构运算单元,其rtl代码采用软件参数配置的方式自动生成,在不同规模的可重构系统中有良好的适应性及灵活性。
附图说明
图1为本发明提出的应用于可重构计算架构中的重构信息发送引擎;
图2为本发明所述的重构信息发送引擎静态重构信息存储单元共享示意图;
图3为图2中重构信息发送单元201的描述;
图中标号:101为主控部分;102为静态重构信息解析发送单元;103为静态信息存储单元;104为动态重构信息解析发送单元;105为动态信息存储单元;106为定制重构信息硬件发送器;201为重构信息发送单元;202为可重构运算处理单元;203为重构信息发送单元与静态信息存储单元连接的总线;301为102输出的静态重构信息;302为104输出的动态重构信息;303为106产生的定制重构信息。
具体实施方式
在可重构计算架构的设计时,首先,根据当前计算架构的应用及计算约束,确定在此架构中可重构运算处理单元202的个数及每个可重构运算单元202的规模,根据以上的架构规模,该重构信息发送引擎也会相应地确定重构信息发送单元201的数量,每一条静态指令的长度,每个动态信息存储单元105中存储器的个数,以及每个动态重构信息解析发送单元104所对应的定制重构信息硬件发送器106的个数。这些参数确定后,将使用软件直接生成该重构信息发送引擎的rtl代码,由此实现重构信息发送引擎的可配置性。
在工作时,主控部分101接收上层控制逻辑对重构信息发送引擎送出的控制指令,并对其进行解析,在控制指令中,解析出的信息包括:确定使用一个或若干个静态重构信息解析发送单元102进行重构信息发送、每个静态重构信息解析发送单元102的发送初始地址、每条静态指令长度以及静态指令总数。解析后,主控部分101对静态重构信息解析发送单元102发出控制信号。
每个静态重构信息解析发送单元102根据发送初始地址及每条静态指令的长度,分多个时钟周期从静态信息存储单元103中读取数据,并将其拼凑成一条完整的静态指令。由于静态重构信息在相对比较长的时间内是保持不变的,因此,读取一条指令所需要耗费的几个时钟周期对于系统性能几乎不会造成影响。每一个静态重构信息解析发送单元102对于静态指令的读取都是独立进行的。
静态信息存储单元103用于存储相对应可重构运算单元所需要的静态重构信息,在每一条静态指令的最后32bit,为该静态指令所对应的一系列动态重构信息的控制信息编码。
动态重构信息解析发送单元104接收到这些控制信息编码后,从中解析出当前所需动态重构信息的存放初始地址与动态指令总数,然后从相应的动态信息存储单元105中进行读取,每个时钟周期读取一次。
对于需要通过定制重构信息硬件发送器106所发送的定制重构信息,在每一条动态指令的最低3bit处进行标识,如解析为需要定制处理的动态指令,则将之后的所有数据作为控制信息送入定制重构信息硬件发送器106,启动并对其进行配置,从而产生所需要的定制重构信息303。
定制重构信息硬件发送器106产生的定制重构信息303被送入动态重构信息解析发送单元104,由其进行数据合并后作为动态重构信息302一起输出。静态重构信息解析发送单元102输出静态重构信息301,这两种重构信息被送入可重构运算处理单元202,完成重构信息的发送工作。当该条静态重构信息301所对应的一组动态重构信息302发送完成后,动态重构信息解析发送单元104会返回给静态重构信息解析发送单元102一个中断信号,静态重构信息解析发送单元102接收后开始读取下一条静态重构指令。
Claims (2)
1.一种应用于可重构计算架构的重构信息发送引擎,其特征在于由主控部分(101)、静态重构信息解析发送单元(102)、静态信息存储单元(103)、动态重构信息解析发送单元(104)、动态信息存储单元(105)以及定制重构信息硬件发送器(106)构成;其中,
主控部分(101)接收上层控制逻辑对重构信息发送引擎送出的控制指令,对其进行解析,并对静态重构信息解析发送单元(102)发出控制信号;每个静态重构信息解析发送单元(102)根据解析得到的控制信号,分多个时钟周期从静态信息存储单元(103)中读取数据,并将其拼凑成一条完整的静态指令;静态信息存储单元(103)用于存储相对应可重构运算单元所需要的静态重构信息,其存储数据位宽64bit,即每条静态指令的长度为64bit的整数倍;在每一条静态指令的最后32bit,为该静态指令所对应的一系列动态重构信息的控制信息编码;
动态重构信息解析发送单元(104)接收到这些控制信息编码后,从中解析出当前所需动态重构信息的存放初始地址与动态指令总数,然后从相应的动态信息存储单元(105)中进行读取;动态信息存储单元(105)由一个或多个并行的存储器构成,每个存储器的位宽为128bit;对于需要通过定制重构信息硬件发送器(106)所发送的定制重构信息,在每一条动态指令的最低3bit处进行标识。
2.根据权利要求1所述的应用于可重构计算架构的重构信息发送引擎,其特征在于该重构信息发送引擎包括多个重构信息发送单元,使用一个主控部分(101)控制多个重构信息发送单元(201),每个重构信息发送单元(201)对应于一个可重构运算处理单元(202);所有的重构信息发送单元(201)共享一个静态信息存储单元(103),各个重构信息发送单元(201)通过总线(203)对其进行数据读取;
所述的重构信息发送单元(201)具体包括一个所述静态重构信息解析发送单元(102),一个所述动态重构信息解析发送单元(104),一个所述动态信息存储单元(105),以及一个或多个所述定制重构信息硬件发送器(106);每个可重构运算处理单元(202)被重构成多种不同的数据通路,以完成不同的硬件功能,对于这多种功能所对应的不同的数据流动,由一个或多个定制重构信息硬件发送器(106)来进行控制,每个动态重构信息解析发送单元(104)最多支持8个定制重构信息硬件发送器(106);定制重构信息硬件发送器(106)产生的定制重构信息(303)被送入动态重构信息解析发送单元(104),由其进行数据合并后作为动态重构信息(302)一起输出;静态重构信息解析发送单元(102)输 出静态重构信息(301),这两种重构信息被送入可重构运算处理单元(202),完成重构信息的发送工作;当该条静态重构信息(301)所对应的一组动态重构信息(302)发送完成后,通过返回中断信号,静态重构信息解析发送单元(102)开始读取下一条静态重构指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100542907A CN101587467B (zh) | 2009-07-02 | 2009-07-02 | 一种应用于可重构计算架构的重构信息发送引擎 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100542907A CN101587467B (zh) | 2009-07-02 | 2009-07-02 | 一种应用于可重构计算架构的重构信息发送引擎 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101587467A CN101587467A (zh) | 2009-11-25 |
CN101587467B true CN101587467B (zh) | 2011-12-14 |
Family
ID=41371718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100542907A Expired - Fee Related CN101587467B (zh) | 2009-07-02 | 2009-07-02 | 一种应用于可重构计算架构的重构信息发送引擎 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101587467B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101807147B (zh) * | 2010-04-15 | 2012-11-28 | 西北工业大学 | 一种从嵌入式软件代码中自动抽象软件架构的方法 |
CN101853159B (zh) * | 2010-05-20 | 2012-10-31 | 西北工业大学 | 一种对嵌入式软件架构进行重构的方法 |
CN103514140B (zh) * | 2013-08-05 | 2016-03-16 | 东南大学 | 用于实现可重构系统中配置信息多发射的重构控制器 |
CN113064854B (zh) * | 2021-04-15 | 2022-07-19 | 天津芯海创科技有限公司 | 一种硬件计算重构方法、装置、计算机设备及存储介质 |
-
2009
- 2009-07-02 CN CN2009100542907A patent/CN101587467B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101587467A (zh) | 2009-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102929836B (zh) | 一种航天专用asic芯片系统 | |
CN102508816B (zh) | 一种应用于粗粒度可重构阵列的配置方法 | |
CN101587467B (zh) | 一种应用于可重构计算架构的重构信息发送引擎 | |
US20110035576A1 (en) | Configurable field device for use in process automation systems | |
CN102541809B (zh) | 一种动态可重构处理器 | |
CN101946237B (zh) | 存储器电路中可调的流水线 | |
CN103927270B (zh) | 一种面向多个粗粒度动态可重构阵列的共享数据缓存装置及控制方法 | |
CN102543209B (zh) | 多通道闪存控制器的纠错装置、方法及多通道闪存控制器 | |
CN102163248B (zh) | 一种集成电路的高级综合方法 | |
CN100492919C (zh) | 一跨序列排序涡轮码系统和其操作方法 | |
CN102262611B (zh) | 一种16位的risc cpu系统结构 | |
CN102306141A (zh) | 一种描述动态可重构阵列配置信息的方法 | |
CN110503179A (zh) | 计算方法以及相关产品 | |
CN103455367B (zh) | 用于实现可重构系统中多任务调度的管理单元和方法 | |
CN100407172C (zh) | 选择替换用高速缓冲存储器路的方法与装置 | |
CN105045873A (zh) | 一种数据文件的推送方法、装置及系统 | |
KR20150127608A (ko) | 데이터 처리 장치 및 그 제어 방법 | |
CN103293373B (zh) | 电能计量装置及其电能计量芯片 | |
CN108595731B (zh) | 一种以太网芯片中动态表项的设计方法及装置 | |
CN116457751A (zh) | 一种写数据通路结构和芯片 | |
CN203259592U (zh) | 电能计量装置及其电能计量芯片 | |
CN101226481B (zh) | 一种加载现场可编程门阵列的方法、装置及系统 | |
CN103762959A (zh) | 一种信号占空比与周期检测系统及方法 | |
CN113741411A (zh) | 一种分散控制系统全局变量点产物文件生成方法和系统 | |
CN108650069B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111214 Termination date: 20140702 |
|
EXPY | Termination of patent right or utility model |