一种粗粒度可重构层次化的阵列寄存器文件结构的制作方法

文档序号:6537528阅读:202来源:国知局
一种粗粒度可重构层次化的阵列寄存器文件结构的制作方法
【专利摘要】本发明公开了一种粗粒度可重构层次化的阵列寄存器文件结构,包括全局寄存器文件、本地寄存器文件和分布式寄存器文件。全局寄存器文件:作为连接系统控制内核和可重构阵列的共享寄存器,不仅满足系统对可重构架构调用时的参数传递问题,而且作为阵列上每个单元都可以连接的寄存器,拥有可重构阵列中最大的扇出系数;本地寄存器文件:作为重构处理单元的私有寄存器,数据仅供自己使用;分布式寄存器文件:作为可重构阵列内部分重构计算单元数据寄存和传输通道。本发明通过层次化的可重构阵列寄存器文件结构设计,解决可重构计算过程中阵列数据的寄存和传输问题,提高阵列中数据变量存储效率和可重构计算性能。
【专利说明】一种粗粒度可重构层次化的阵列寄存器文件结构
【技术领域】
[0001]本发明涉及一种粗粒度可重构层次化的阵列寄存器文件结构,属于嵌入式可重构设计技术。
【背景技术】
[0002]随着现场可编程阵列可重构技术的出现,大大改变了传统的嵌入式设计的方法,可重构计算作为一种新型时空域的计算模式,在嵌入式和高性能的计算领域具有广泛的应用前景,已经成为当前嵌入式系统发展的趋势。图像处理和现代通信等媒体应用领域算法具有大规模并行性,需要进行大量的矩阵运算。寄存器文件设计允许灵活的重排序操作和移位操作。通过多路选择器实现读/写数据选择到不同的寄存器中。相比延时链和移位寄存器,寄存器文件在写操作时有更多的功耗消耗。消耗包括译码和选择的相关逻辑。因此,只有在寄存器文件作为长时间的数据存储的时候可以抵消功耗上面的损失。寄存器对于短生命周期的数据不是一个最佳选择。
[0003]可以将现有的可重构寄存器文件架构按照对阵列计算性能的影响划分为两类:一类是阵列外的片存取寄存器,一类是阵列内的分布式寄存器。可重构阵列的数据存取优化,一方面可以通过阵列外的片上存取寄存器减少访存延时实现,另一方面还可以通过优化片上存取寄存器的访存模式来实现。而通过优化阵列内的分布式寄存器结构,可以减少数据在计算过程中因为架构约束而带来的调度性能下降,并通过层次化的寄存器文件设计和调度策略,提高阵列的计算性能。
[0004]可重构片上存取寄存器所涉及的寄存器组织形式、共享机制、替换策略、划分机制都需要根据具体的阵列结构和访存特性进行相应研究,以便在低访问延迟和高命中率之间进行权衡与折中。通过对阵列外的数据访存通路的研究,包括片上存储器的设计,预取和重用的单元结构,以及基于矢量和标量的寄存器文件设计组成了阵列外的数据流通路。
[0005]可重构阵列与全局寄存器的访存方式对访存效率的影响也愈发突出,对于连续,密集数据的快速,对带宽性能的影响巨大。可重构阵列与全局寄存器的互联形式明显束缚阵列的对访存性能,现有设计中采用的交叉互联结构以及环状结构实现高效的访问的目标,满足低延迟、高带宽、低功耗的存储访问需求;或者采用二维的存取模式用于加速多媒体数据的存取。
[0006]如何以较低代价实现行向量寄存器和列向量寄存器的灵活分块,即设计出可重构的层次化的阵列寄存器文件,仍是本领域研究的热点问题。

【发明内容】

[0007]发明目的:为了克服现有技术中存在的不足,本发明提供一种粗粒度可重构层次化的阵列寄存器文件结构,解决可重构计算过程中阵列数据的寄存和传输问题,以实现提高阵列中数据变量存储效率和可重构计算性能的优点。
[0008]技术方案:为实现上述目的,本发明采用的技术方案为:[0009]一种粗粒度可重构层次化的阵列寄存器文件结构,用于实现mXn矩形阵列排布的可重构阵列与系统控制内核之间的参数传递,同时完成可重构阵列上的数据寄存和传输,包括全局寄存器文件、本地寄存器文件和分布式寄存器文件:
[0010]所述全局寄存器文件:作为连接系统控制内核和可重构阵列的共享寄存器,不仅满足系统控制内核对可重构阵列调用时的参数传递需求,而且作为每个重构处理单元都可以连接的寄存器,拥有可重构阵列中最大的扇出系数;
[0011]所述本地寄存器文件:每个重构处理单元均对应设计有一个本地寄存器,所述本地寄存器作为与之相对应的重构处理单元的私有寄存器,数据仅供与之相对应的重构处理单元使用;
[0012]所述分布式寄存器文件:作为可重构阵列中部分重构处理单元之间的数据寄存和传输通道。
[0013]优选的,所述全局寄存器文件,包括η个全局寄存器,所述全局寄存器文件的数据位宽与重构处理单元的数据位宽一致;所述全局寄存器文件作为数据传输通道,用于传输输入参数和返回值,并且系统控制内核和可重构阵列都可以对全局寄存器进行存取。
[0014]优选的,所述全局寄存器文件与可重构阵列直接互联,具体实现方法为:设计全局寄存器文件顶端的m个全局寄存器和底端的I个全局寄存器采用全网状互联和总线互联、可以被所有的重构处理单元访问,其余全局寄存器采用总线互联;当循环传入参数大于m、超过顶端的m个全局寄存器时,多出的参数需要通过总线访问;底端的I个全局寄存器用于传输函数返回值。
[0015]优选的,所述本地寄存器文件,主要用于存储生命周期较长而空间位置固定的变量,其输入和输出的对象都只是其私有的重构处理单元(对应的重构处理单元);所述本地寄存器能够在一个周期内完成输出数据到输入数据的准备工作;所述本地寄存器的写入通过配置字中的使能位控制,当使能位置时,其可以在一个周期内完成将重构处理单元的计算结果写入本地寄存器的本地寄存器文件中。
[0016]优选的,所述分布式寄存器文件由按mXn矩形阵列排布的分布式寄存器构成,每行寄存器组和每列寄存器组共享一个分布式寄存器,分布式寄存器和重构处理单元的位置一一对应;每个重构处理单元可以操作两组寄存器,分别为对应位置分布式寄存器所置于的一行寄存器组和一列寄存器组;每个重构处理单元在同一时间仅能操作一组寄存器,多个重构处理单元间的读写操作通过多路器进行选择;多个重构处理单元可以同时对跨行域寄存器组进行写操作;多个重构处理单元可以同时对同一个分布式寄存器进行读操作。
[0017]优选的,所述跨域寄存器组以行互联或列互联的方式实现互联,当位于第i行、第j列的重构处理单元将数据写入跨域寄存器时,位于第i行或第j列上的所有重构处理单元都可以通过跨域寄存器获得数据。
[0018]优选的,所述分布式寄存器文件采用多输入、多输出的数据访存形式,为了避免出现不同的重构处理单元同时存取同一个分布式寄存器,采用下述两种方法规避:
[0019]方法一、通过在映射中避免同时对同一个分布式寄存器进行存取;
[0020]方法二、在不可预知的多个重构处理单元同时存取同一个分布式寄存器的情况下,根据重构处理单元在可重构阵列中的编号,按照编号顺序从大到小进行优先等级划分,优先等级高的重构处理单元用于写入的权利。[0021]有益效果:本发明提供的粗粒度可重构层次化的阵列寄存器文件结构,使得可重构计算过程中阵列数据的寄存和传输能够准确高效地进行,提高阵列中数据变量存储效率和可重构计算性能。
【专利附图】

【附图说明】
[0022]图1为本发明的一种结构示意图;
[0023]图2为全局寄存器文件不意图;
[0024]图3为本地寄存器文件不意图;
[0025]图4为分布式寄存器文件示意图;
[0026]图5为本发明的一个实例的结构示意图;
[0027]图6为本发明数据变量寄存传输的流程图。
【具体实施方式】
[0028]下面结合附图对本发明作更进一步的说明。
[0029]一种粗粒度可重构层次化的阵列寄存器文件结构,用于实现mXn矩形阵列排布的可重构阵列与系统控制内核之间的参数传递,同时完成可重构阵列上的数据寄存和传输;如图1所示,包括全局寄存器文件、本地寄存器文件和分布式寄存器文件。
[0030]所述全局寄存器文件:作为连接系统控制内核和可重构阵列的共享寄存器,不仅满足系统控制内核对可重构阵列调用时的参数传递需求,而且作为每个重构处理单元都可以连接的寄存器,拥有可重构阵列中最大的扇出系数。
[0031]所述全局寄存器文件,包括η个全局寄存器,所述全局寄存器文件的数据位宽与重构处理单元的数据位宽一致;所述全局寄存器文件作为数据传输通道,用于传输输入参数和返回值,并且系统控制内核和可重构阵列都可以对全局寄存器进行存取。所述全局寄存器文件与可重构阵列直接互联,具体实现方法为:设计全局寄存器文件顶端的m个全局寄存器和底端的I个全局寄存器采用全网状互联和总线互联、可以被所有的重构处理单元访问,其余全局寄存器采用总线互联;当循环传入参数大于m、超过顶端的m个全局寄存器时,多出的参数需要通过总线访问;底端的I个全局寄存器用于传输函数返回值。
[0032]如图2所示的全局寄存器文件,包含了 16个全局寄存器,其中顶端的3个全局寄存器和底端的I个全局寄存器可以被所有的重构处理单元访问;当循环传入的参数大于3,超过顶端的3个寄存器时,多出的参数需要通过总线访问;特别的,底端的全局寄存器用于函数返回值;全局寄存器采用重构阵列时钟域和复位域,支持软、硬件复位操作。
[0033]所述本地寄存器文件:每个重构处理单元均对应设计有一个本地寄存器,所述本地寄存器作为与之相对应的重构处理单元的私有寄存器,数据仅供与之相对应的重构处理单元使用。
[0034]所述本地寄存器文件,主要用于存储生命周期较长而空间位置固定的变量,其输入和输出的对象都只是其私有的重构处理单元(对应的重构处理单元);所述本地寄存器能够在一个周期内完成输出数据到输入数据的准备工作;所述本地寄存器的写入通过配置字中的使能位控制,当使能位置时,其可以在一个周期内完成将重构处理单元的计算结果写入本地寄存器的本地寄存器文件中。[0035]如图3所示,本地寄存器在设计时仅提供4个子本地寄存器,本地寄存器能够在I个周期中完成输出数据到输入数据的准备工作。
[0036]所述分布式寄存器文件:作为可重构阵列中部分重构处理单元之间的数据寄存和传输通道。
[0037]所述分布式寄存器文件由按mXn矩形阵列排布的分布式寄存器构成,每行寄存器组和每列寄存器组共享一个分布式寄存器,分布式寄存器和重构处理单兀的位置对应;每个重构处理单元可以操作两组寄存器,分别为对应位置分布式寄存器所置于的一行寄存器组和一列寄存器组;每个重构处理单元在同一时间仅能操作一组寄存器,多个重构处理单元间的读写操作通过多路器进行选择;多个重构处理单元可以同时对跨行域寄存器组进行写操作;多个重构处理单元可以同时对同一个分布式寄存器进行读操作。所述跨域寄存器组以行互联或列互联的方式实现互联,当位于第i行、第j列的重构处理单元将数据写入跨域寄存器时,位于第i行或第j列上的所有重构处理单元都可以通过跨域寄存器获得数据。所述分布式寄存器文件采用多输入、多输出的数据访存形式,为了避免出现不同的重构处理单元同时存取同一个分布式寄存器,采用下述两种方法规避:
[0038]方法一、通过在映射中避免同时对同一个分布式寄存器进行存取;
[0039]方法二、在不可预知的多个重构处理单元同时存取同一个分布式寄存器的情况下,根据重构处理单元在可重构阵列中的编号,按照编号顺序从大到小进行优先等级划分,优先等级高的重构处理单元用于写入的权利。
[0040]举例来说,当位于阵列(i,j)点的重构处理单元输出的数据需要传递到位于阵列(I,I)点的重构处理单元时 ,通过位于(i,I)或(I,j )位置的重构处理单元进行数据传递,在运行Ti时刻,位于阵列(i,j)点的重构处理单元将数据写入跨行寄存器组中的O位,在Ti+Ι时刻,位于阵列(i,l)点的重构处理单元通过数据交换指令将DCR跨行寄存器组O中的数据写入跨列寄存器组O的位置,这样在?>2时刻,位于阵列(1,I)点的重构处理单元即可以在跨列寄存器组O中获得位于阵列(i,j)点的重构处理单元写出的数据。
[0041]如图5所示的可重构计算最小系统,采用了本案提出的可重构层次化的阵列寄存器文件结构。该系统的结构包括:用作系统控制内核的ARM7TDMI处理器、可重构阵列、全局寄存器文件、本地寄存器文件、用作传输数据的AHB总线和分布式寄存器文件。
[0042]选择具有小型、快速、低能耗、编译器支持好等优点的ARM7TDMI处理器作为内核,用于控制系统运行的调度和配置;全局寄存器文件与可重构阵列通过64bitAHB总线相连;本地寄存器文件与可重构阵列通过专用的访问接口互联,数据位宽为128bit ;分布式寄存器文件与可重构阵列通过专用的访问接口互联,数据位宽为128bit ;可重构阵列含有4X4个重构处理单元,每个重构处理单元可以支持单周期的16位算术操作和逻辑操作。
[0043]可重构阵列数据的寄存和传输的过程如图6所示,包括:传输请求:可重构阵列根据外部存储器取得的指令,请求参数或可重构阵列数据的传输;若所需传输的数据与系统控制内核交换,则通过全局寄存器文件实现和系统控制内核的数据交换;否则判断是否为可重构阵列内数据交换,若为可重构阵列内数据交换,则通过分布式寄存器文件实现数据的寄存和交换;否则的即为重构处理单元的数据寄存,通过本地寄存器进行数据寄存。可重构数据的寄存和传输根据不同情况,选择最合适的寄存器文件进行寄存和传输,充分利用了寄存器文件的资源,从而提高了数据变量存储效率和可重构计算性能。[0044]以上所述仅是本发明的优选实施方式,应当指出:对于本【技术领域】的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
【权利要求】
1.一种粗粒度可重构层次化的阵列寄存器文件结构,其特征在于:用于实现HiXn矩形阵列排布的可重构阵列与系统控制内核之间的参数传递,同时完成可重构阵列上的数据寄存和传输,包括全局寄存器文件、本地寄存器文件和分布式寄存器文件: 所述全局寄存器文件:作为连接系统控制内核和可重构阵列的共享寄存器,不仅满足系统控制内核对可重构阵列调用时的参数传递需求,而且作为每个重构处理单元都可以连接的寄存器,拥有可重构阵列中最大的扇出系数; 所述本地寄存器文件:每个重构处理单元均对应设计有一个本地寄存器,所述本地寄存器作为与之相对应的重构处理单元的私有寄存器,数据仅供与之相对应的重构处理单元使用; 所述分布式寄存器文件:作为可重构阵列中重构处理单元之间的数据寄存和传输通道。
2.根据权利要求1所述的粗粒度可重构层次化的阵列寄存器文件结构,其特征在于:所述全局寄存器文件,包括η个全局寄存器,所述全局寄存器文件的数据位宽与重构处理单元的数据位宽一致;所述全局寄存器文件作为数据传输通道,用于传输输入参数和返回值,并且系统控制内核和可重构阵列都可以对全局寄存器进行存取。
3.根据权利要求2所述的粗粒度可重构层次化的阵列寄存器文件结构,其特征在于:所述全局寄存器文件与可重构阵列直接互联,具体实现方法为:设计全局寄存器文件顶端的m个全局寄存器和底端的I个全局寄存器采用全网状互联和总线互联、可以被所有的重构处理单元访问,其余全局寄存器采用总线互联;当循环传入参数大于m、超过顶端的m个全局寄存器时,多出的参数需要通过总线访问;底端的I个全局寄存器用于传输函数返回值。
4.根据权利要求1所述的粗粒度可重构层次化的阵列寄存器文件结构,其特征在于:所述本地寄存器文件,主要用于存储生命周期较长而空间位置固定的变量,其输入和输出的对象都只是其私有的重构处理单元;所述本地寄存器能够在一个周期内完成输出数据到输入数据的准备工作;所述本地寄存器的写入通过配置字中的使能位控制,当使能位置时,其可以在一个周期内完成将重构处理单元的计算结果写入本地寄存器的本地寄存器文件中。
5.根据权利要求1所述的粗粒度可重构层次化的阵列寄存器文件结构,其特征在于:所述分布式寄存器文件由按mXn矩形阵列排布的分布式寄存器构成,每行寄存器组和每列寄存器组共享一个分布式寄存器,分布式寄存器和重构处理单兀的位置对应;每个重构处理单元可以操作两组寄存器,分别为对应位置分布式寄存器所置于的一行寄存器组和一列寄存器组;每个重构处理单元在同一时间仅能操作一组寄存器,多个重构处理单元间的读写操作通过多路器进行选择;多个重构处理单元可以同时对跨行域寄存器组进行写操作;多个重构处理单元可以同时对同一个分布式寄存器进行读操作。
6.根据权利要求5所述的粗粒度可重构层次化的阵列寄存器文件结构,其特征在于:所述跨域寄存器组以行互联或列互联的方式实现互联,当位于第i行、第j列的重构处理单元将数据写入跨域寄存器时,位于第i行或第j列上的所有重构处理单元都可以通过跨域寄存器获得数据。
7.根据权利要求5所述的粗粒度可重构层次化的阵列寄存器文件结构,其特征在于:所述分布式寄存器文件采用多输入、多输出的数据访存形式,为了避免出现不同的重构处理单元同时存取同一个分布式寄存器,采用下述两种方法规避: 方法一、通过在映射中避免同时对同一个分布式寄存器进行存取; 方法二、在不可预知的多个重构处理单元同时存取同一个分布式寄存器的情况下,根据重构处理单元在可重构阵列中的编号,按照编号顺序从大到小进行优先等级划分,优先等级高的重构处理单元用于写入的权利`。
【文档编号】G06F9/30GK103761072SQ201410046664
【公开日】2014年4月30日 申请日期:2014年2月10日 优先权日:2014年2月10日
【发明者】曹鹏, 葛伟, 徐凯, 刘波, 杨锦江, 马俊, 杨军, 王超, 卜爱国 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1