首页> 中国专利> 一种粗粒度可重构层次化的阵列寄存器文件结构

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

摘要

本发明公开了一种粗粒度可重构层次化的阵列寄存器文件结构,包括全局寄存器文件、本地寄存器文件和分布式寄存器文件。全局寄存器文件:作为连接系统控制内核和可重构阵列的共享寄存器,不仅满足系统对可重构架构调用时的参数传递问题,而且作为阵列上每个单元都可以连接的寄存器,拥有可重构阵列中最大的扇出系数;本地寄存器文件:作为重构处理单元的私有寄存器,数据仅供自己使用;分布式寄存器文件:作为可重构阵列内部分重构计算单元数据寄存和传输通道。本发明通过层次化的可重构阵列寄存器文件结构设计,解决可重构计算过程中阵列数据的寄存和传输问题,提高阵列中数据变量存储效率和可重构计算性能。

著录项

  • 公开/公告号CN103761072A

    专利类型发明专利

  • 公开/公告日2014-04-30

    原文格式PDF

  • 申请/专利权人 东南大学;

    申请/专利号CN201410046664.1

  • 申请日2014-02-10

  • 分类号

  • 代理机构南京瑞弘专利商标事务所(普通合伙);

  • 代理人杨晓玲

  • 地址 211189 江苏省南京市江宁区东南大学路2号

  • 入库时间 2024-02-19 23:32:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-08-31

    授权

    授权

  • 2014-06-04

    实质审查的生效 IPC(主分类):G06F9/30 申请日:20140210

    实质审查的生效

  • 2014-04-30

    公开

    公开

说明书

技术领域

本发明涉及一种粗粒度可重构层次化的阵列寄存器文件结构,属于嵌入式可重构设 计技术。

背景技术

随着现场可编程阵列可重构技术的出现,大大改变了传统的嵌入式设计的方法,可 重构计算作为一种新型时空域的计算模式,在嵌入式和高性能的计算领域具有广泛的应 用前景,已经成为当前嵌入式系统发展的趋势。图像处理和现代通信等媒体应用领域算 法具有大规模并行性,需要进行大量的矩阵运算。寄存器文件设计允许灵活的重排序操 作和移位操作。通过多路选择器实现读/写数据选择到不同的寄存器中。相比延时链和移 位寄存器,寄存器文件在写操作时有更多的功耗消耗。消耗包括译码和选择的相关逻辑。 因此,只有在寄存器文件作为长时间的数据存储的时候可以抵消功耗上面的损失。寄存 器对于短生命周期的数据不是一个最佳选择。

可以将现有的可重构寄存器文件架构按照对阵列计算性能的影响划分为两类:一类 是阵列外的片存取寄存器,一类是阵列内的分布式寄存器。可重构阵列的数据存取优化, 一方面可以通过阵列外的片上存取寄存器减少访存延时实现,另一方面还可以通过优化 片上存取寄存器的访存模式来实现。而通过优化阵列内的分布式寄存器结构,可以减少 数据在计算过程中因为架构约束而带来的调度性能下降,并通过层次化的寄存器文件设 计和调度策略,提高阵列的计算性能。

可重构片上存取寄存器所涉及的寄存器组织形式、共享机制、替换策略、划分机制 都需要根据具体的阵列结构和访存特性进行相应研究,以便在低访问延迟和高命中率之 间进行权衡与折中。通过对阵列外的数据访存通路的研究,包括片上存储器的设计,预 取和重用的单元结构,以及基于矢量和标量的寄存器文件设计组成了阵列外的数据流通 路。

可重构阵列与全局寄存器的访存方式对访存效率的影响也愈发突出,对于连续,密 集数据的快速,对带宽性能的影响巨大。可重构阵列与全局寄存器的互联形式明显束缚 阵列的对访存性能,现有设计中采用的交叉互联结构以及环状结构实现高效的访问的目 标,满足低延迟、高带宽、低功耗的存储访问需求;或者采用二维的存取模式用于加速 多媒体数据的存取。

如何以较低代价实现行向量寄存器和列向量寄存器的灵活分块,即设计出可重构的 层次化的阵列寄存器文件,仍是本领域研究的热点问题。

发明内容

发明目的:为了克服现有技术中存在的不足,本发明提供一种粗粒度可重构层次化 的阵列寄存器文件结构,解决可重构计算过程中阵列数据的寄存和传输问题,以实现提 高阵列中数据变量存储效率和可重构计算性能的优点。

技术方案:为实现上述目的,本发明采用的技术方案为:

一种粗粒度可重构层次化的阵列寄存器文件结构,用于实现m×n矩形阵列排布的可 重构阵列与系统控制内核之间的参数传递,同时完成可重构阵列上的数据寄存和传输, 包括全局寄存器文件、本地寄存器文件和分布式寄存器文件:

所述全局寄存器文件:作为连接系统控制内核和可重构阵列的共享寄存器,不仅满 足系统控制内核对可重构阵列调用时的参数传递需求,而且作为每个重构处理单元都可 以连接的寄存器,拥有可重构阵列中最大的扇出系数;

所述本地寄存器文件:每个重构处理单元均对应设计有一个本地寄存器,所述本地 寄存器作为与之相对应的重构处理单元的私有寄存器,数据仅供与之相对应的重构处理 单元使用;

所述分布式寄存器文件:作为可重构阵列中部分重构处理单元之间的数据寄存和传 输通道。

优选的,所述全局寄存器文件,包括n个全局寄存器,所述全局寄存器文件的数据 位宽与重构处理单元的数据位宽一致;所述全局寄存器文件作为数据传输通道,用于传 输输入参数和返回值,并且系统控制内核和可重构阵列都可以对全局寄存器进行存取。

优选的,所述全局寄存器文件与可重构阵列直接互联,具体实现方法为:设计全局 寄存器文件顶端的m个全局寄存器和底端的1个全局寄存器采用全网状互联和总线互 联、可以被所有的重构处理单元访问,其余全局寄存器采用总线互联;当循环传入参数 大于m、超过顶端的m个全局寄存器时,多出的参数需要通过总线访问;底端的1个全 局寄存器用于传输函数返回值。

优选的,所述本地寄存器文件,主要用于存储生命周期较长而空间位置固定的变量, 其输入和输出的对象都只是其私有的重构处理单元(对应的重构处理单元);所述本地 寄存器能够在一个周期内完成输出数据到输入数据的准备工作;所述本地寄存器的写入 通过配置字中的使能位控制,当使能位置时,其可以在一个周期内完成将重构处理单元 的计算结果写入本地寄存器的本地寄存器文件中。

优选的,所述分布式寄存器文件由按m×n矩形阵列排布的分布式寄存器构成,每行 寄存器组和每列寄存器组共享一个分布式寄存器,分布式寄存器和重构处理单元的位置 一一对应;每个重构处理单元可以操作两组寄存器,分别为对应位置分布式寄存器所置 于的一行寄存器组和一列寄存器组;每个重构处理单元在同一时间仅能操作一组寄存 器,多个重构处理单元间的读写操作通过多路器进行选择;多个重构处理单元可以同时 对跨行域寄存器组进行写操作;多个重构处理单元可以同时对同一个分布式寄存器进行 读操作。

优选的,所述跨域寄存器组以行互联或列互联的方式实现互联,当位于第i行、第 j列的重构处理单元将数据写入跨域寄存器时,位于第i行或第j列上的所有重构处理单 元都可以通过跨域寄存器获得数据。

优选的,所述分布式寄存器文件采用多输入、多输出的数据访存形式,为了避免出 现不同的重构处理单元同时存取同一个分布式寄存器,采用下述两种方法规避:

方法一、通过在映射中避免同时对同一个分布式寄存器进行存取;

方法二、在不可预知的多个重构处理单元同时存取同一个分布式寄存器的情况下, 根据重构处理单元在可重构阵列中的编号,按照编号顺序从大到小进行优先等级划分, 优先等级高的重构处理单元用于写入的权利。

有益效果:本发明提供的粗粒度可重构层次化的阵列寄存器文件结构,使得可重构 计算过程中阵列数据的寄存和传输能够准确高效地进行,提高阵列中数据变量存储效率 和可重构计算性能。

附图说明

图1为本发明的一种结构示意图;

图2为全局寄存器文件示意图;

图3为本地寄存器文件示意图;

图4为分布式寄存器文件示意图;

图5为本发明的一个实例的结构示意图;

图6为本发明数据变量寄存传输的流程图。

具体实施方式

下面结合附图对本发明作更进一步的说明。

一种粗粒度可重构层次化的阵列寄存器文件结构,用于实现m×n矩形阵列排布的可 重构阵列与系统控制内核之间的参数传递,同时完成可重构阵列上的数据寄存和传输; 如图1所示,包括全局寄存器文件、本地寄存器文件和分布式寄存器文件。

所述全局寄存器文件:作为连接系统控制内核和可重构阵列的共享寄存器,不仅满 足系统控制内核对可重构阵列调用时的参数传递需求,而且作为每个重构处理单元都可 以连接的寄存器,拥有可重构阵列中最大的扇出系数。

所述全局寄存器文件,包括n个全局寄存器,所述全局寄存器文件的数据位宽与重 构处理单元的数据位宽一致;所述全局寄存器文件作为数据传输通道,用于传输输入参 数和返回值,并且系统控制内核和可重构阵列都可以对全局寄存器进行存取。所述全局 寄存器文件与可重构阵列直接互联,具体实现方法为:设计全局寄存器文件顶端的m个 全局寄存器和底端的1个全局寄存器采用全网状互联和总线互联、可以被所有的重构处 理单元访问,其余全局寄存器采用总线互联;当循环传入参数大于m、超过顶端的m个 全局寄存器时,多出的参数需要通过总线访问;底端的1个全局寄存器用于传输函数返 回值。

如图2所示的全局寄存器文件,包含了16个全局寄存器,其中顶端的3个全局寄 存器和底端的1个全局寄存器可以被所有的重构处理单元访问;当循环传入的参数大于 3,超过顶端的3个寄存器时,多出的参数需要通过总线访问;特别的,底端的全局寄 存器用于函数返回值;全局寄存器采用重构阵列时钟域和复位域,支持软、硬件复位操 作。

所述本地寄存器文件:每个重构处理单元均对应设计有一个本地寄存器,所述本地 寄存器作为与之相对应的重构处理单元的私有寄存器,数据仅供与之相对应的重构处理 单元使用。

所述本地寄存器文件,主要用于存储生命周期较长而空间位置固定的变量,其输入 和输出的对象都只是其私有的重构处理单元(对应的重构处理单元);所述本地寄存器 能够在一个周期内完成输出数据到输入数据的准备工作;所述本地寄存器的写入通过配 置字中的使能位控制,当使能位置时,其可以在一个周期内完成将重构处理单元的计算 结果写入本地寄存器的本地寄存器文件中。

如图3所示,本地寄存器在设计时仅提供4个子本地寄存器,本地寄存器能够在1 个周期中完成输出数据到输入数据的准备工作。

所述分布式寄存器文件:作为可重构阵列中部分重构处理单元之间的数据寄存和传 输通道。

所述分布式寄存器文件由按m×n矩形阵列排布的分布式寄存器构成,每行寄存器组 和每列寄存器组共享一个分布式寄存器,分布式寄存器和重构处理单元的位置一一对 应;每个重构处理单元可以操作两组寄存器,分别为对应位置分布式寄存器所置于的一 行寄存器组和一列寄存器组;每个重构处理单元在同一时间仅能操作一组寄存器,多个 重构处理单元间的读写操作通过多路器进行选择;多个重构处理单元可以同时对跨行域 寄存器组进行写操作;多个重构处理单元可以同时对同一个分布式寄存器进行读操作。 所述跨域寄存器组以行互联或列互联的方式实现互联,当位于第i行、第j列的重构处 理单元将数据写入跨域寄存器时,位于第i行或第j列上的所有重构处理单元都可以通 过跨域寄存器获得数据。所述分布式寄存器文件采用多输入、多输出的数据访存形式, 为了避免出现不同的重构处理单元同时存取同一个分布式寄存器,采用下述两种方法规 避:

方法一、通过在映射中避免同时对同一个分布式寄存器进行存取;

方法二、在不可预知的多个重构处理单元同时存取同一个分布式寄存器的情况下, 根据重构处理单元在可重构阵列中的编号,按照编号顺序从大到小进行优先等级划分, 优先等级高的重构处理单元用于写入的权利。

举例来说,当位于阵列(i,j)点的重构处理单元输出的数据需要传递到位于阵列 (1,1)点的重构处理单元时,通过位于(i,1)或(1,j)位置的重构处理单元进行 数据传递,在运行Ti时刻,位于阵列(i,j)点的重构处理单元将数据写入跨行寄存器 组中的0位,在Ti+1时刻,位于阵列(i,1)点的重构处理单元通过数据交换指令将 DCR跨行寄存器组0中的数据写入跨列寄存器组0的位置,这样在Ti+2时刻,位于阵 列(1,1)点的重构处理单元即可以在跨列寄存器组0中获得位于阵列(i,j)点的重 构处理单元写出的数据。

如图5所示的可重构计算最小系统,采用了本案提出的可重构层次化的阵列寄存器 文件结构。该系统的结构包括:用作系统控制内核的ARM7TDMI处理器、可重构阵列、 全局寄存器文件、本地寄存器文件、用作传输数据的AHB总线和分布式寄存器文件。

选择具有小型、快速、低能耗、编译器支持好等优点的ARM7TDMI处理器作为内 核,用于控制系统运行的调度和配置;全局寄存器文件与可重构阵列通过64bitAHB总 线相连;本地寄存器文件与可重构阵列通过专用的访问接口互联,数据位宽为128bit; 分布式寄存器文件与可重构阵列通过专用的访问接口互联,数据位宽为128bit;可重构 阵列含有4×4个重构处理单元,每个重构处理单元可以支持单周期的16位算术操作和 逻辑操作。

可重构阵列数据的寄存和传输的过程如图6所示,包括:传输请求:可重构阵列根 据外部存储器取得的指令,请求参数或可重构阵列数据的传输;若所需传输的数据与系 统控制内核交换,则通过全局寄存器文件实现和系统控制内核的数据交换;否则判断是 否为可重构阵列内数据交换,若为可重构阵列内数据交换,则通过分布式寄存器文件实 现数据的寄存和交换;否则的即为重构处理单元的数据寄存,通过本地寄存器进行数据 寄存。可重构数据的寄存和传输根据不同情况,选择最合适的寄存器文件进行寄存和传 输,充分利用了寄存器文件的资源,从而提高了数据变量存储效率和可重构计算性能。

以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员 来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也 应视为本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号