首页> 中国专利> 一种自动支持循环迭代流水线的粗粒度可重构阵列及其配置方法

一种自动支持循环迭代流水线的粗粒度可重构阵列及其配置方法

摘要

本发明公开了一种自动支持循环迭代流水线的粗粒度可重构阵列及其配置方法,该系统包括流水线配置控制器、粗粒度算子mesh阵列、多级缓存系统,流水线配置控制器在配置码的控制下,用于完成流水线重构和运行时的迭代控制;mesh阵列在配置码的控制下,按照数据流图的定义,完成流水线中各环节的计算和数据交换;流水线存储器在配置码的控制下,按照数据流图的定义对流水线中变量进行读写控制,并完成数据迭代的控制。本发明所述支持自动循环迭代流水线的粗粒度可重构阵列及其配置方法,具有支持流水线类型多,流水线中的迭代环节采用硬件直接控制,与软件流水线相比具有配置时间短和能量开销低的优势,提高粗粒度可重构阵列执行流水线的速度和能量效率。

著录项

  • 公开/公告号CN107506329A

    专利类型发明专利

  • 公开/公告日2017-12-22

    原文格式PDF

  • 申请/专利权人 浙江大学;

    申请/专利号CN201710712367.X

  • 申请日2017-08-18

  • 分类号

  • 代理机构杭州求是专利事务所有限公司;

  • 代理人郑海峰

  • 地址 310058 浙江省杭州市西湖区余杭塘路866号

  • 入库时间 2023-06-19 04:06:43

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-31

    未缴年费专利权终止 IPC(主分类):G06F15/78 授权公告日:20180619 终止日期:20190818 申请日:20170818

    专利权的终止

  • 2018-06-19

    授权

    授权

  • 2018-01-19

    实质审查的生效 IPC(主分类):G06F15/78 申请日:20170818

    实质审查的生效

  • 2017-12-22

    公开

    公开

说明书

技术领域

本发明涉及嵌入式可重构系统领域,具体地,涉及一种自动支持循环迭代流水线的粗粒度可重构阵列及其配置方法。

背景技术

由于包括特殊的可重构处理单元,可重构阵列在取得性能和功耗的优势条件下还能够保持应用的灵活性,因此是专用领域计算中的理想模式。可重构阵列在重构方面有两个特征:第一,从重构发生时间上划分,可重构阵列属于动态重构类型;第二,可重构阵列与系统中的处理器为松耦合关系,重构由其自身控制,不由外部处理器进行操作。

粗粒度可重构阵列包括可重构控制器和可重构数据通路。在不增加阵列规模的条件下,提高可重构阵列处理速度的方法主要有以下几点:第一,提高数据通路中计算的并行性,采用操作级并行和数据级并行进行数据计算处理。第二,提高流水线的硬件利用率,减少数据读写延迟造成的流水线尤其是迭代型流水线中的空转。第三,减少可重构阵列的重构时间开销。

针对以上的性能需求目前主要的技术手段包括:第一,提高可重构阵列的重构速度,可通过提高配置码的信息密度和提高重构码配置带宽实现。第二,提高存储器的数据带宽,通过提高存储器的工作频率和增加存储器数据位宽,使得存储器与数据通路同频,存储器数据宽度等于数据通路一次处理的最大位宽。第三,采用软件流水的方式进行加速可重构阵列运算。但是可重构阵列的配置带宽和数据带宽受到工艺的限制,配置码密度受到算子规格的限制,而采用软件流水的方式不能完全发挥可重构阵列数据通路的并行处理能力。

综上所述,在实现本发明的过程中,申请人发现现有可重构阵列不能高效处理循环迭代流水线计算,从而限制了可重构阵列性能提升。

发明内容

本发明的目的在于,针对上述现有技术存在的问题和不足,提出一种支持自动循环迭代流水线的粗粒度可重构阵列,能够有效提高可重构数据中数据处理并行度并提高流水线执行效率。

为实现上述目的,本发明采用的技术方案是:一种支持自动循环迭代流水线的粗粒度可重构阵列,包括流水线配置控制器:用于完成粗粒度可重构阵列中流水线的控制和配置,可以为粗粒度mesh阵列提供高速的配置带宽资源,支持可重构数据通路功能的高速切换,实现动态重构功能;可重构阵列中流水线mesh阵列:由同构的运算单元(PE)阵列以及它们之间的互联单元组成,相邻的两行PE单元之间通过一个基于置换的网络单元进行互联,可以灵活的支持各种拓扑结构DFG图;可重构阵列中流水线存储器:用于完成数据通路中的数据存储、数据交换和数据同步。

所述可重构阵列中的可重构控制器包括:流水线迭代配置存储器:用来存储流水线循环迭代的配置码,配置码包含了可以进行单层和多层循环迭代配置信息,该循环迭代支持带有分支或者无分支的完美或者非完美循环;流水线数据通路配置存储器,用来存储流水线数据通路的配置码,配置码包含了可重构阵列中mesh阵列PE的计算配置信息和mesh阵列中PE间互联的信息,配置解析和控制单元:依据配置码存储地址信息、内容信息和mesh阵列的运行状态决定对mesh阵列进行配置的时间和配置码内容,并将确定的配置码发送给mesh阵列。

所述可重构阵列中流水线mesh阵列,由同构的运算单元(PE)阵列以及它们之间的互联单元组成。相邻的两行PE单元之间通过一个基于置换的网络单元进行互联,可以灵活的支持各种拓扑结构DFG图。这样的阵列在数据通路中有n个(n大小为从1到4)。

可重构阵列中流水线存储器:用于完成数据通路中的数据存储、数据交换和数据同步,包括多级缓存系统。

其中,所述多级缓存系统包括:

初级缓存:位于两个相连接的PE单元之间,用于mesh阵列内部流水线中的数据缓存和数据交换,采用寄存器实现。

次级缓存:位于相连接的mesh阵列之间,用于多个mesh阵列组成的流水线中数据缓存和数据交换,也可用于mesh阵列间非流水线数据的缓存和数据交换,具有2n(n为mesh阵列数量)个读端口和2n个写端口,可同时被所有mesh阵列访问,采用寄存器堆实现。

接口缓存:位于mesh阵列和可重构阵列接口之间,用于阵列和外部进行数据交换。

其中,在mesh阵列中相邻两行的PE单元之间有信号线连接。

其中,所述的mesh阵列内部的流水线:mesh阵列内m(m值在1-8)行PE单元和PE之间的互联逻辑在配置程序的控制下,可形成m级流水线。流水线中各级的运算功能由PE单元完成,流水线的互联关系由PE之间的互联逻辑完成。

其中,所述的多个mesh阵列组成的流水线:n(n值在1-4)个mesh阵列,每个阵列内有m(m值在1-8)行PE单元,可形成n*m级流水线,流水线各级的运算功能由PE单元完成,mesh阵列中流水线的互联关系由PE之间的互联逻辑完成,mesh阵列之间的互联通过对2级缓存的地址访问完成。

其中,多级缓存的配置码功能为:对第初级缓存,由可重构阵列PE配置码控制PE之间互联关系,同时也完成了初级缓存控制;对次级缓存,由mesh阵列中缓存控制器进行控制,该控制器根据mesh阵列配置码,按时钟周期精度对次级缓存进行读写。

本发明还提供了一种自动循环迭代流水线的粗粒度可重构阵列的配置方法,包括如下步骤:

步骤1)首先对流水线迭代信息进行配置,如果该流水线是单层迭代流水线,则将该流水线的迭代次数或者停止迭代条件作为流水线迭代信息进行配置。如果该流水线是多层迭代型流水线,也就是有流水线的迭代嵌套,则配置控制器中相应的迭代层次中设置迭代条件。流水线迭代层次受到硬件配置控制器中迭代层次的限制。

步骤2)为每一次层次中的流水线设置数据通路配置码。配置码包括mesh阵列中PE的功能配置码和PE之间数据通路的配置码。

步骤3)为流水线在一次迭代中的每周期PE单元设置存储器读写配置码,这样流水线的每个环节可在迭代中每个周期访存不同地址的流水线用缓存。

有益效果:本发明的技术方案通过一种支持自动循环迭代流水线的粗粒度可重构阵列及其控制方法,提高了能够有效提高可重构数据中数据处理并行度并提高流水线执行效率,改变了传统可重构阵列中采用软件流水线线提高性能的优化方法,直接在可重构阵列内部完成多层次嵌套型流水线的控制和配置,从而提高了可重构阵列的运行效率,降低了配置开销。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1为支持自动循环迭代流水线的粗粒度可重构阵列结构示意图;

图2为支持自动循环迭代流水线的粗粒度可重构阵列配置方法图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

如图1所示,本实施例的自动支持循环迭代流水线的粗粒度可重构阵列包括粗粒度算子mesh阵列(在本文部分地方简写为mesh阵列):一种支持自动循环迭代流水线的粗粒度可重构阵列,包括流水线配置控制器:用于完成粗粒度可重构阵列中流水线的控制和配置,可以为流水线mesh阵列提供高速的配置带宽资源,支持可重构数据通路功能的高速切换,实现的动态重构功能;可重构阵列中流水线mesh阵列:由同构的运算单元(PE)阵列以及它们之间的互联单元组成,相邻的两行PE单元之间通过一个基于置换的网络单元进行互联,可以灵活的支持各种拓扑结构DFG图;可重构阵列中流水线存储器:用于完成数据通路中的数据存储、数据交换和数据同步。

所述可重构阵列中的可重构控制器包括:流水线迭代配置存储器:用来存储流水线循环迭代的配置码,配置码包含了可以进行单层和多层循环迭代配置信息,该循环迭代支持带有分支或者无分支的完美或者非完美循环;流水线数据通路配置存储器,用来存储流水线数据通路的配置码,配置码包含了可重构阵列中mesh阵列PE的计算配置信息和mesh阵列中PE间互联的信息,配置解析和控制单元:依据配置码存储地址信息、内容信息和mesh阵列的运行状态决定对mesh阵列进行配置的时间和配置码内容,并将确定的配置码发送给mesh阵列。

所述可重构阵列中流水线mesh阵列,由同构的运算单元(PE)阵列以及它们之间的互联单元组成。相邻的两行PE单元之间通过一个基于置换的网络单元进行互联,可以灵活的支持各种拓扑结构DFG图。这样的阵列在数据通路中有n个(n大小为从1到4)。

可重构阵列中流水线存储器:用于完成数据通路中的数据存储、数据交换和数据同步,包括多级缓存系统。

其中,所述多级缓存系统包括:

初级缓存:位于两个相连接的PE单元之间,用于mesh阵列内部流水线中的数据缓存和数据交换,采用寄存器实现。

次级缓存:位于相连接的mesh阵列之间,用于多个mesh阵列组成的流水线中数据缓存和数据交换,也可用于mesh阵列间非流水线数据的缓存和数据交换,具有2n(n为mesh阵列数量)个读端口和2n个写端口,可同时被所有mesh阵列访问,采用寄存器堆实现。

接口缓存:位于mesh阵列和可重构阵列接口之间,用于阵列和外部进行数据交换。

其中,在mesh阵列中相邻两行的PE单元之间有信号线连接。

其中,所述的mesh阵列内部的流水线:mesh阵列内m(m值在1-8)行PE单元和PE之间的互联逻辑在配置程序的控制下,可形成m级流水线。流水线中各级的运算功能由PE单元完成,流水线的互联关系由PE之间的互联逻辑完成。

其中,所述的多个mesh阵列组成的流水线:n(n值在1-4)个mesh阵列,每个阵列内有m(m值在1-8)行PE单元,可形成n*m级流水线,流水线各级的运算功能由PE单元完成,mesh阵列中流水线的互联关系由PE之间的互联逻辑完成,mesh阵列之间的互联通过对2级缓存的地址访问完成。

其中,多级缓存的配置码功能为:对第初级缓存,由可重构阵列PE配置码控制PE之间互联关系,同时也完成了初级缓存控制;对次级缓存,由mesh阵列中缓存控制器进行控制,该控制器根据mesh阵列配置码,按时钟周期精度对次级缓存进行读写。

本发明还提供了一种自动循环迭代流水线的粗粒度可重构阵列的配置方法,包括如下步骤:

步骤1)首先对流水线迭代信息进行配置,如果该流水线是单层迭代流水线,则将该流水线的迭代次数或者停止迭代条件作为流水线迭代信息进行配置。如果该流水线是多层迭代型流水线,也就是有流水线的迭代嵌套,则配置控制器中相应的迭代层次中设置迭代条件。流水线迭代层次受到硬件配置控制器中迭代层次的限制。

步骤2)为每一次层次中的流水线设置数据通路配置码。配置码包括mesh阵列中PE的功能配置码和PE之间数据通路的配置码。

步骤3)为流水线在一次迭代中的每周期PE单元设置存储器读写配置码,这样流水线的每个环节可在迭代中每个周期访存不同地址的流水线用缓存。

如图2所示,第一步对流水线迭代信息进行配置,在完整功能中共有4个流水线,迭代层次为两层。其中流水线2和流水线3分别迭代m和n次,并且该两个流水线依次迭代运行后,会联合进行k次迭代。为此在配置控制器中对以上流水线迭代接口进行配置控制。第二步,对每个流水线分别进行数据通路配置,以流水线2为例,其DFG流图用到2个mesh阵列。第三步,对每个流水线的存储的访存进行配置。由于用到2个mesh阵列,所以分别对初级缓存和次级缓存的读写进行配置。配置完成后,以上三步的配置码全部被一次配置完成,可重构阵列在外部不干预的情况下可独立完成4个流水线组成的完整功能。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号