一种描述动态可重构阵列配置信息的方法

文档序号:6428776阅读:143来源:国知局
专利名称:一种描述动态可重构阵列配置信息的方法
技术领域
本发明涉及嵌入式系统领域中的动态可重构处理器技术领域,特别是涉及一种描述动态可重构阵列配置信息的方法。
背景技术
动态可重构处理器是一种新生的处理器构架,其较之以往的单核处理器、专用芯片、现场可编程逻辑阵列有着显著的优势,是未来电路结构发展的一个方向。首先,动态可重构处理器内往往含有多个算数逻辑单元,且数量巨大,称之为众核阵列。阵列内部配以灵活度高的路由单元,实现算数逻辑单元之间多样化的互联。因此,经路由单元连接后的众核阵列可实现对数据流的高速处理,较传统的单核以及少核处理器在性能上有着巨大的优势。同时,较固化的专用电路在灵活性上也有着巨大的优势。其次,较传统的静态可重构电路一现场可编程逻辑阵列而言,动态可重构处理器有动态的特点,即在电路运行过程中可动态的切换电路的功能,而非以往静态可重构电路一沉不变的不改变电路功能,只是在电路运行之前烧写电路功能,对电路进行初始化。这样做的好处在于通过时分复用的方式减少了电路的规模,原因在于之前的电路结构的全映射现在变为分块映射,而块与块之间恰好采取了动态切换的方式。目前国内外并没有可重构计算处理器的相关技术,而实际的应用中有迫切存在这种需求,因此,需要本领域技术人员迫切解决的一个技术问题就是如何能够创新的提出有一种有效措施以克服现有技术存在的缺陷,设计可重构阵列的配置信息,使其能够准确高效的描述可重构阵列进行一次完整的循环运算包含的一系列操作。

发明内容
本发明所要解决的技术问题是提供一种描述动态可重构阵列配置信息的方法,有效的设计可重构阵列的配置信息,使其能够准确高效的描述可重构阵列进行一次完整的循环运算所包含的一系列操作。为了解决上述问题,本发明公开了一种描述动态可重构阵列配置信息的方法,所述可重构阵列的配置信息主要包括多个可重构单元的配置信息和综合控制信息,所述方法包括描述各可重构单元的配置信息,具体的,各可重构单元的配置信息包括输入第一选择器的配置信息、输入第二选择器的配置信息、算术逻辑单元的配置信息、输出寄存器的配置信息和暂存单元的配置信息;描述综合控制信息,具体的,综合控制信息包括时序控制信息和粒度配置信息。优选的,所述输入第一选择器的配置信息和输入第二选择器的配置信息包括是否接收操作数、操作数的来源和操作数的地址。优选的,所述操作数的来源包括输入缓存器、上一行运算单元的输出寄存器和上一行的暂存单元。
优选的,所述操作数的来源还包括常数寄存器。优选的,所述操作数的地址描述了操作数在输入缓存器的输出数据中的具体位置,或者来自上一行的哪一个运算单元的输出寄存器,或者来自上一行的哪一个暂存单元。优选的,所述操作数的地址描述了操作数来自哪一个常数寄存器。优选的,所述算术逻辑单元的配置信息描述的是算术逻辑单元所要执行的操作类型,包括算术运算和逻辑运算。优选的,所述输出寄存器的配置信息描述了是否有计算结果输出到输出缓存器以及输出到输出缓存器中的具体地址。优选的,所述暂存单元的配置信息描述了暂存单元的输入和输出操作。优选的,所述时序控制信息包括数据输入时间、运算时间、数据输出时间、循环间隔、循环次数;粒度配置信息描述的是当前在可重构阵列上执行的运算的数据位宽。与现有技术相比,本发明具有以下优点本发明提供一种描述动态可重构阵列配置信息的方法,通过描述各可重构单元的配置信息,具体的,各可重构单元的配置信息包括输入第一选择器的配置信息、输入第二选择器的配置信息、算术逻辑单元的配置信息、输出寄存器的配置信息和暂存单元的配置信息,并描述综合控制信息,具体的,综合控制信息包括时序控制信息和粒度配置信息,从而把数据流图准确的映射到可重构阵列上,使可重构阵列按照配置信息描述的时序高效的进行工作。


图1是本发明具体实施方式
中所述的可重构阵列的示意图;图2是本发明具体实施方式
中所述的可重构单元的结构示意图;图3是本发明具体实施方式
中所述的数据流图到可重构阵列的映射示意图;图4是本发明具体实施方式
中所述的可重构单元的结构示意图;图5是本发明具体实施方式
中所述的数据流图的映射结果示意图;图6是本发明具体实施方式
中所述的可重构阵列执行运算的时序图。
具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本发明作进一步详细的说明。可重构阵列是动态可重构处理器的核心运算部件,其结构示意图如图1所示。结合图1,分为下面四个部分进行介绍1.输入缓存器输入缓存器中存储着可重构阵列进行运算所需要的外部数据。2.常数寄存器常数寄存器中存储着可重构阵列进行运算所需要的常数。3.可重构阵列可重构阵列按照配置信息描述的功能执行相应的运算。可重构阵列由两部分构成a)可重构单元一个可重构阵列包含很多可重构单元,每个可重构单元又包括一个运算单元和一个暂存单元。运算单元可以在一个节拍内完成算数逻辑运算,暂存单元只是单纯的将输入数据寄存一个节拍。可重构单元的结构如图2所示。i.运算单元每个运算单元包括2个输入选择器、1个算术逻辑单元和1个输出寄存器。1.每个输入选择器为运算单元选择当前运算所需要的一个操作数。操作数可以来自输入缓存器,也可以来自常数寄存器(只有输入选择器B具有选择常数寄存器的功能), 还可以来自上一行运算单元的输出寄存器或者上一行的暂存单元。
2.算术逻辑单元用于执行算术或者逻辑运算。3.输出寄存器用于寄存当前节点的计算结果,计算结果可以作为下一行可重构单元的输入,也可以输出到输出缓存器进行缓存。ii.暂存单元暂存单元用于将输入寄存一拍,然后输出。它的输入可以来自输入缓存器,也可以来自上一行运算单元的输出寄存器或者上一行的暂存单元。它的输出可以作为下一行可重构单元的输入,也可以输出到输出缓存器进行缓存。b)路由单元路由单元主要负责完成可重构单元间的数据连接,一个路由单元对应一行可重构单元。i.路由单元将来自输入缓存器的数据、来自常数寄存器的数据、来自上一行暂存单元的数据、或者来自上一行运算单元的输出寄存器的数据按照配置信息分配给指定的可重构单元,可重构单元将接收到的数据传递到输入选择器或者暂存单元。ii.每一行的任意一个可重构单元都可以接收上一行任意一个可重构单元的输出结果(包括运算结果和暂存数据)。iii.第一行的任意一个可重构单元都可以接收最后一行任意一个可重构单元的输出结果(包括运算结果和暂存数据)。4.输出缓存器输出缓存器用于存储可重构阵列的运算结果。运算结束后,可重构阵列将运算结果输出到输出缓存器进行缓存。可重构阵列如何运转是由配置信息决定的,配置信息把所要执行的数据流图映射到可重构阵列上,使之正确的完成数据流图对应的计算任务。一套高效的配置信息是可重构阵列的性能得到充分发挥的前提,以此为出发点,本发明提出了一种描述动态可重构阵列配置信息的方法。本实施例中提出了一种描述动态可重构阵列配置信息的方法。可重构阵列的配置信息主要包括两方面的内容多个可重构单元的配置信息和综合控制信息。1.可重构单元的配置信息可重构单元的配置信息包括输入第一选择器(选择器A)的配置信息、输入第二选择器(选择器B)的配置信息、算术逻辑单元的配置信息、输出寄存器的配置信息、暂存单元的配置信息。a)输入选择器A的配置信息i.是否接收操作数A。ii.操作数A的来源。操作数A可以来自输入缓存器,也可以来自上一行运算单元的输出寄存器或者上一行的暂存单元。iii.操作数A的地址。这一部分描述了操作数A在输入缓存器的输出数据中的具体位置,或者来自上一行的哪一个运算单元的输出寄存器,或者来自上一行的哪一个暂存单元。 b)输入选择器B的配置信息i.是否接收操作数B。ii.操作数B的来源。操作数B可以来自输入缓存器,常数寄存器,也可以来自上一行运算单元的输出寄存器或者上一行的暂存单元。iii.操作数B的地址。这一部分描述了操作数B在输入缓存器的输出数据中的具体位置,或者来自哪一个常数寄存器,或者来自上一行的哪一个运算单元的输出寄存器,或者来自上一行的哪一个暂存单元。c)算术逻辑单元的配置信息算术逻辑单元的配置信息描述的是算术逻辑单元所要执行的操作类型,可以是算术运算,也可以是逻辑运算。d)输出寄存器的配置信息输出寄存器的配置信息描述了是否有计算结果输出到输出缓存器以及输出到输出缓存器中的具体地址。e)暂存单元的配置信息暂存单元的配置信息描述了暂存单元的输入和输出操作。i.输入方面1.是否接收数据输入。2.输入数据的来源,输入数据可以来自输入缓存器,也可以来自上一行运算单元的输出寄存器或者上一行的暂存单元。3.输入数据的地址。这一部分描述了输入数据在输入缓存器的输出数据中的具体位置,或者来自上一行的哪一个运算单元的输出寄存器,或者来自上一行的哪一个暂存单元。ii输出方面,描述了是否有数据输出到输出缓存器以及输出到输出缓存器中的具体地址。2.综合控制信息综合控制信息包括时序控制信息和粒度配置信息两部分。a)时序控制信息包括数据输入时间、运算时间、数据输出时间、循环间隔、循环次数。i.数据输入时间数据输入时间描述了可重构阵列从输入缓存器读入一张数据流图的一次循环操作需要的全部外部数据所花费的节拍数。
ii.运算时间运算时间描述了可重构阵列执行一张数据流图的一次循环操作所花费的拍数。iii.数据输出时间数据输出时间描述了可重构阵列向输出缓存器输出一张数据流图的一次循环操作的运算结果所花费的拍数。iv.循环间隔循环间隔描述了两次循环之间的间隔。v.循环次数循环次数描述了一张数据流图映射的操作在可重构阵列上执行的次数。b)粒度配置信息粒度配置信息描述的是当前在可重构阵列上执行的运算的数据位宽。综上,本发明提出了一种描述动态可重构阵列配置信息的方法,配置信息的内容如表1所示。该方法可以保证可重构阵列正确高效的实现数据流图所描述的功能。表1可重构阵列配置信息
可重构单元配置信息配置对象配置信息内容输入选择器A是否有输入;输入数椐来源;输入数椐地址输入选择器B是否有输入;输入数椐来源;输入数椐地址算术逻辑单元执行何种操作输出寄存器是否有输出输出数椐地址暂存单元是否有输入是否有输出输入数椐来源;输入数椐地址; 输出数椐地址综合控制信息名称配置信息内容
权利要求
1.一种描述动态可重构阵列配置信息的方法,所述可重构阵列的配置信息主要包括多个可重构单元的配置信息和综合控制信息,其特征在于,所述方法包括描述各可重构单元的配置信息,具体的,各可重构单元的配置信息包括输入第一选择器的配置信息、输入第二选择器的配置信息、算术逻辑单元的配置信息、输出寄存器的配置信息和暂存单元的配置信息;描述综合控制信息,具体的,综合控制信息包括时序控制信息和粒度配置信息。
2.如权利要求1所述的方法,其特征在于,所述输入第一选择器的配置信息和输入第二选择器的配置信息包括是否接收操作数、操作数的来源和操作数的地址。
3.如权利要求2所述的方法,其特征在于所述操作数的来源包括输入缓存器、上一行运算单元的输出寄存器和上一行的暂存单元。
4.如权利要求3所述的方法,其特征在于 所述操作数的来源还包括常数寄存器。
5.如权利要求2所述的方法,其特征在于所述操作数的地址描述了操作数在输入缓存器的输出数据中的具体位置,或者来自上一行的哪一个运算单元的输出寄存器,或者来自上一行的哪一个暂存单元。
6.如权利要求5所述的方法,其特征在于所述操作数的地址描述了操作数来自哪一个常数寄存器。
7.如权利要求1所述的方法,其特征在于所述算术逻辑单元的配置信息描述的是算术逻辑单元所要执行的操作类型,包括算术运算和逻辑运算。
8.如权利要求1所述的方法,其特征在于所述输出寄存器的配置信息描述了是否有计算结果输出到输出缓存器以及输出到输出缓存器中的具体地址。
9.如权利要求1所述的方法,其特征在于所述暂存单元的配置信息描述了暂存单元的输入和输出操作。
10.如权利要求1所述的方法,其特征在于所述时序控制信息包括数据输入时间、运算时间、数据输出时间、循环间隔、循环次数;粒度配置信息描述的是当前在可重构阵列上执行的运算的数据位宽。
全文摘要
本发明提供了一种描述动态可重构阵列配置信息的方法,通过描述各可重构单元的配置信息,具体的,各可重构单元的配置信息包括输入第一选择器的配置信息、输入第二选择器的配置信息、算术逻辑单元的配置信息、输出寄存器的配置信息和暂存单元的配置信息,并描述综合控制信息,具体的,综合控制信息包括时序控制信息和粒度配置信息,从而把数据流图准确的映射到可重构阵列上,使可重构阵列按照配置信息描述的时序高效的进行工作。
文档编号G06F15/177GK102306141SQ201110201400
公开日2012年1月4日 申请日期2011年7月18日 优先权日2011年7月18日
发明者刘雷波, 尹首一, 戚斌, 时龙兴, 曹鹏, 朱敏, 杨军, 王延升, 魏少军 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1