专利名称:一种应用于可重构计算架构的重构信息发送引擎的制作方法
技术领域:
本发明属于集成电路设计技术领域,涉及可重构计算架构设计,具体涉及一种应用于 可重构计算架构的重构信息发送引擎。
背景技术:
在传统的集成电路设计中,通常针对要实现的应用,对每一个模块分别设计独立硬件, 最后将所有模块放在一起,形成一个特定的数据通路,完成所要实现的功能。而在可重构 计算架构思想中,通过外界不同的重构信息,将相同的硬件重构出不同的数据通路,以实 现多种不同的运算。因此,使用可重构的思想,可以达到同一个硬件在时间上的复用,从 而大大提高该块硬件的利用效率,降低系统实现成本,也为模块复用提供了很高的灵活性。 也正是由于这种灵活性,使得用于数据通路配置以及数据流向控制的重构信号数目比一般 定制硬件的控制信号数目多出许多,尤其对于运算规模较大的可重构运算单元,其重构信 号的位宽总和可以达到上百;对于不同应用的可重构运算单元,其重构信号的数量也不尽 相同。因此,如何设计一种简单通用的重构信息发送引擎,将众多重构信号精确送入可重 构运算单元,也是可重构计算领域一个重要的研究课题。
发明内容
本发明的目的在于提供一种应用于可重构计算架构中的重构信息发送引擎,为可重构 计算架构中的各种运算单元提供静态、动态和定制的重构信息。本发明发送引擎抽象不同 功能的可重构运算单元,使用同样的结构对不同的可重构运算单元提供重构信息,并可以 通过简单的配置适合不同规模的可重构运算单元,其rtl代码采用软件参数配置的方式自动 生成,在不同规模的可重构系统中有良好的适应性及灵活性。
分析可重构运算单元所需的重构信息,大致可以抽象为以下两类。第一类重构信息用 于决定当前应用的数据通路,用以决定该可重构运算单元所要完成的功能,因此,这类重 构信息在相对比较长的时间内保持不变,称为静态重构信息;而第二类重构信息用于控制 当前计算操作数的数据流向,用以保证数据能够源源不断地送入可重构运算单元进行计 算,因此,这类重构信息几乎在每个时钟周期都会发生变化,称为动态重构信息。在某些 算法的映射时,例如快速傅立叶变换(FFT),其数据流动具有一定规律,且一般使用较小 的定制硬件即可产生数据读写地址,这类可使用定制硬件产生的重构信息,成为定制重构 信息。对于一组确定的静态重构信息,即一条静态指令,确定了一个数据通路,而这个数据通路相对应了一系列计算操作数的数据流动,即对应了一系列动态重构信息组,即多条 动态指令,这其中也包括了一系列使用相应定制硬件产生的定制重构信息。
本发明所述的应用于可重构计算架构中的重构信息发送引擎如图1所示,具体由主控 部分IOI、静态重构信息解析发送单元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代码,由此实现重构信息发送引擎的可配置性。
在工作时,主控部分IOI接收上层控制逻辑对重构信息发送引擎送出的控制指令,并 对其进行解析,在控制指令中,解析出的信息包括确定使用一个或若干个静态重构信息 解析发送单元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接收后开始读取下一条静态重构指令。
权利要求
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)来进行控制,每个动态重构信息解析发送单元 (105)最多支持8个定制重构信息硬件发送器(106);定制重构信息硬件发送器(106) 产生的定制重构信息(303)被送入动态重构信息解析发送单元(104),由其进行数据合 并后作为动态重构信息(302) —起输出;当该条静态重构信息(301)所对应的一组动态重构信息(302)发送完成后,通过返回中断信号,静态重构信息解析发送单元(102)开 始读取下一条静态重构指令。
全文摘要
本发明属于集成电路设计技术领域,具体为一种应用于可重构计算架构的重构信息发送引擎。该发送引擎由主控部分、静态重构信息解析发送单元、静态信息存储单元、动态重构信息解析发送单元、动态信息存储单元以及定制重构信息硬件发送器构成。它抽象不同功能的可重构运算单元,使用同样的结构对不同的可重构运算单元提供重构信息,并通过简单的配置适合不同规模的可重构运算单元,其rtl代码采用软件参数配置的方式自动生成,本发明为可重构计算架构中的各种运算单元提供静态、动态和专用的重构信息,并在不同规模的可重构系统中有良好的适应性及灵活性。
文档编号G06F15/76GK101587467SQ200910054290
公开日2009年11月25日 申请日期2009年7月2日 优先权日2009年7月2日
发明者任俊彦, 周晓方, 爽 赵, 陆雯青, 陈芳露 申请人:复旦大学