一种动态可重构处理器内子单元间进行同步的方法

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

发明内容
本发明所要解决的技术问题是提供一种动态可重构处理器内子单元间进行同步的方法,能够完成对可重构处理器内多个子单元之间的同步进行良好的控制,完成子单元间同步任务。为了解决上述问题,本发明公开了一种动态可重构处理器内子单元间进行同步的方法,所述方法包括子单元配置字缓存器非空且之前配置字已执行完,同时判定同步控制器的使能信号为真,则配置字缓存器弹出首个配置字,配置字中同步信息发送到子单元同步控制器,配置字中的配置信息发送到子单元;所述子单元配置字缓存器中写有各子单元的配置字;子单元同步控制器接受同步信息,并判定是否需要同步若是,则待需同步的多个子单元都已执行到同步任务,且都已执行完时,子单元同步控制器返回使能信号为真;若否,则向子单元配置字缓存器返回使能信号为真;子单元接受配置字中的配置信息后,对配置字所对应的子任务进行检测,若子任务完成,则告知子单元配置字缓存器任务执行完毕。优选的,若将所述判定同步控制器的使能信号的操作,置于子单元同步控制器接受同步信息,并判定是否需要同步后进行,则所述方法包括若子单元配置字缓存器非空且之前配置字已执行完,则配置字缓存器弹出首个配置字,配置字中同步信息发送到子单元同步控制器;所述子单元配置字缓存器中写有各子单元的配置字;子单元同步控制器接受同步信息,并判定是否需要同步若是,则子单元同步控制器待需同步的多个子单元都已开始执行同步任务时,子单元同步控制器返回使能信号为真;若否,则向子单元配置字缓存器返回使能信号为真;判定同步控制器的使能信号为真,则将配置字中的配置信息发送到子单元;子单元接受配置字中的配置信息后,对配置字所对应的子任务进行检测,若子任务完成,则告知子单元配置字缓存器任务执行完毕。优选的,所述方法中需同步的子单元之间在都完成了需同步的子任务之后,各子单元执行分配给自己的下一个子任务。优选的,所述方法中需同步的子单元之间都已准备开始执行需同步的子任务,各子单元开始执行各自的需同步的子任务。优选的,所述子单元配置字缓存器用于缓存多个子单元配置字,所缓存的配置字采取先入先出机制。优选的,子单元的同步信息包括子单元是否需要与其他子单元进行同步,如需同步,则子单元需与其他哪些子单元进行同步。与现有技术相比,本发明具有以下优点本发明提出了一种动态可重构处理器内子单元间进行同步的方法,在子单元配置字缓存器非空且之前配置字已执行完,同时判定同步控制器的使能信号为真,则配置字缓存器弹出首个配置字,配置字中同步信息发送到子单元同步控制器,配置字中的配置信息发送到子单元,子单元同步控制器接受同步信息,并判定是否需要同步若是,则待需同步的多个子单元都已执行到同步任务,且都已执行完时,子单元同步控制器返回使能信号为真;若否,则向子单元配置字缓存器返回使能信号为真;子单元接受配置字中的配置信息后,对配置字所对应的子任务进行检测,若子任务完成,则告知子单元配置字缓存器任务执行完毕,从而对可重构处理器内多个子单元之间的同步进行良好的控制,完成子单元间同步任务。


图1是本发明具体实施方式
中所述的一种典型的动态可重构处理器的示意图;图2是本发明实施例所述的一种动态可重构处理器内子单元间进行同步的方法流程图;图3是本发明实施例所述的动态可重构处理器中进行同步时相关模块的示意图;图4是本发明实施例所述的后同步的同步流程示意图;图5是本发明实施例所述的前同步的同步流程示意图。
具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本发明作进一步详细的说明。一种典型的动态可重构处理器的结构示意图如图1所示,动态可重构处理器的运转流程可概括为如下步骤1.动态可重构处理器由外部数据读入装置将处理器外存储器内待处理的数据读入处理器内,分发至多个子单元处理内的外部数据缓存器。2.多个子单元将数据从各自的外部数据缓存器读出,再进行处理。多个子单元同时处理,以达并行处理的效果。各子单元处理完后,将结果数据存于各自的内部数据缓存3.外部数据写出装置将结果数据从各子单元的内部数据缓存器读出,并写出到处理器外部存储器。动态可重构处理器可从数据流和配置流的角度去被描述。数据流的角度是指从对数据流的处理的角度出发,遍历数据流所经过的动态可重构处理器内的各模块,提出各模块所需的功能。从数据流的角度出发,动态可重构处理器在结构上可分为以下三个部分1.数据转移装置a)数据转移装置用于将数据从数据存储装置读出,并写入另一数据存储装置,使数据在数据存储装置之间转移。最终实现将数据写入处理单元阵列,处理单元阵列运行完后,将处理单元阵列的结果数据读出。b)数据转移装置分为6个外部数据读入装置,子单元间数据交互装置,内外部数据转换装置,内部数据读入装置,内部数据写出装置,外部数据写出装置。按数据流的流动方向,具体说明如下。c)外部数据读入装置i.用于将动态可重构处理器外待处理的数据读入动态可重构处理器内,缓存于外部数据缓存器。d)子单元间数据交互装置i.用于将子单元间数据交换暂存器内存储的其他子单元的结果数据读出,并在一定程度上进行整合,最终将整合后的数据分发至当前子单元的内部数据存储器或直接分发至处理单元阵列,这取决于此外单元的结果数据是否可直接被处理单元阵列处理和此数据是否将多次被处理。e)内外部数据转换装置i.用于将外部数据缓存器内缓存的外部数据分发至内部数据存储器或直接分发至处理单元阵列,这取决于此外部数据是否可直接被处理单元阵列处理和此数据是否将多次被处理。f)内部数据读入装置i.用于将内部数据存储器内存储的当前子单元的内部数据,并在一定程度上进行整合,最终将整合后的数据写入到处理单元阵列。g)内部数据写出装置
5
i.用于将处理单元阵列的结果数据读出,再写入至处理单元阵列供紧接着运行处理单元阵列时使用,或写入至内部数据存储器将数据缓存起来,或写入子单元间数据交互暂存器供子单元间数据交互使用,或写入内部数据缓存器待输出至处理器外。h)外部数据写出装置i.用于将缓存于内部数据缓存器的子单元的结果数据输出至处理器外。2.数据存储装置a)分为4个,具体说明如下。b)外部数据缓存器i.用于将读入的外部数据缓存,待需要时被读出。c)内部数据存储器i.用于对处理单元阵列的结果数据进行暂存,待需要时被读出,还供在处理器内部使用。d)内部数据缓存器i.用于对处理单元阵列的结果数据进行缓存,待输出至处理器外。e)子单元间数据交互暂存器i.用于暂存子单元A的结果数据,待子单元B读出,以实现子单元间的数据交互。3.运算单元a)运算单元即处理单元阵列,详见图1。b)处理单元是一个算术逻辑运算单元,可实现基本的算术运算功能和逻辑运算功能以及一些定制的算术逻辑运算功能。c)处理单元之间通过路由单元连接,以实现处理单元之间的灵活且快速的数据传递。d)整个处理单元阵列通过时序控制单元控制,以协调处理单元阵列的输入、运算、 输出之间的时序关系。e)处理单元阵列可实现对大批量数据进行循环操作的快速处理。实施例参照图2,示出了本发明的一种动态可重构处理器内子单元间进行同步的方法流程图,所述方法包括步骤S201,子单元配置字缓存器非空且之前配置字已执行完,同时判定同步控制器的使能信号为真,则配置字缓存器弹出首个配置字,配置字中同步信息发送到子单元同步控制器,配置字中的配置信息发送到子单元;所述子单元配置字缓存器中写有各子单元的配置字;步骤S202,子单元同步控制器接受同步信息,并判定是否需要同步若是,则执行步骤S203 ;若否,则执行步骤S204 ;步骤S203,待需同步的多个子单元都已执行到同步任务,且都已执行完时,子单元同步控制器返回使能信号为真;步骤S204,向子单元配置字缓存器返回使能信号为真;步骤S205,子单元接受配置字中的配置信息后,对配置字所对应的子任务进行检测,若子任务完成,则告知子单元配置字缓存器任务执行完毕。补充介绍的,若将所述判定同步控制器的使能信号的操作,置于子单元同步控制器接受同步信息,并判定是否需要同步后进行,则所述方法包括A、若子单元配置字缓存器非空且之前配置字已执行完,则配置字缓存器弹出首个配置字,配置字中同步信息发送到子单元同步控制器;所述子单元配置字缓存器中写有各子单元的配置字;B、子单元同步控制器接受同步信息,并判定是否需要同步若是,则执行C;若否,则执行D ;C、子单元同步控制器待需同步的多个子单元都已开始执行同步任务时,子单元同步控制器返回使能信号为真;D、向子单元配置字缓存器返回使能信号为真;E、判定同步控制器的使能信号为真,则将配置字中的配置信息发送到子单元;F、子单元接受配置字中的配置信息后,对配置字所对应的子任务进行检测,若子任务完成,则告知子单元配置字缓存器任务执行完毕。从物理层面上看,同步是动态可重构处理器各个子单元间的同步,实际则为各子单元所执行的子任务之间的同步。本发明提出两种动态可重构处理器内子单元间同步的机理(1)第一种同步机理具体内容如下a)动态可重构处理器执行一个复杂任务的过程中,是由多个子单元并行执行多个子任务,子单元的多个子任务称之为子单元的子任务序列,其中子任务序列内子任务的个数大于等于1。b)每个子单元完成动态可重构处理器当前复杂任务分配的子任务序列后,子单元需要等待动态可重构处理器执行下一个复杂任务,为其发送新的子任务序列。c)这时先完成的子单元需要等待其他子单元,待所有子单元均完成其子任务序列后,各个子单元进行同步。d)综上,在每个子单元的子任务序列中最后一个任务结束时,需要对各个子单元进行同步,以便动态可重构处理器执行下一个综合任务。(2)第二种同步机理具体内容如下a)动态可重构处理器执行一个复杂任务的过程中,某N个(N>= 1)个子单元的各自某几个任务的输入是另外M个(M>= 1)子任务各自的几个任务的结果。b)由于数据交互使用,这N个子单元各自的某几个任务之前的某几个任务需与另外M个子单元的当前的某几个任务进行同步。c)当这些任务中的某个任务完成后,需待这些中其他任务都完成,各子单元才能执行分配给自己的下一个任务。本发明提出了的动态可重构处理器内子单元间的同步时机可以理解为两种情况(1)后同步,即需同步的子单元之间在都完成了需同步的子任务之后,同步完成, 各子单元可以执行分配给自己的下一个子任务。后同步中,子任务同步信息包含在已执行完的子任务配置字中;(2)前同步,即需同步的子单元之间都已准备开始执行需同步的子任务,同步完成,各子单元可开始执行各自的需同步的子任务。前同步中,子任务同步信息包含在将要执行的子任务配置字中。(3)对(1) (2)的补充说明如下 a)例如,动态可重构处理器有3个子单元,分别为子单元A,子单元B,子单元C,各子单元任务序列中各有两个子任务,可参见下表
权利要求
1.一种动态可重构处理器内子单元间进行同步的方法,其特征在于,所述方法包括子单元配置字缓存器非空且之前配置字已执行完,同时判定同步控制器的使能信号为真,则配置字缓存器弹出首个配置字,配置字中同步信息发送到子单元同步控制器,配置字中的配置信息发送到子单元;所述子单元配置字缓存器中写有各子单元的配置字;子单元同步控制器接受同步信息,并判定是否需要同步若是,则待需同步的多个子单元都已执行到同步任务,且都已执行完时,子单元同步控制器返回使能信号为真;若否,则向子单元配置字缓存器返回使能信号为真;子单元接受配置字中的配置信息后,对配置字所对应的子任务进行检测,若子任务完成,则告知子单元配置字缓存器任务执行完毕。
2.如权利要求1所述的方法,其特征在于,若将所述判定同步控制器的使能信号的操作,置于子单元同步控制器接受同步信息,并判定是否需要同步后进行,则所述方法包括若子单元配置字缓存器非空且之前配置字已执行完,则配置字缓存器弹出首个配置字,配置字中同步信息发送到子单元同步控制器;所述子单元配置字缓存器中写有各子单元的配置字;子单元同步控制器接受同步信息,并判定是否需要同步若是,则子单元同步控制器待需同步的多个子单元都已开始执行同步任务时,子单元同步控制器返回使能信号为真;若否,则向子单元配置字缓存器返回使能信号为真;判定同步控制器的使能信号为真,则将配置字中的配置信息发送到子单元;子单元接受配置字中的配置信息后,对配置字所对应的子任务进行检测,若子任务完成,则告知子单元配置字缓存器任务执行完毕。
3.如权利要求1所述的方法,其特征在于所述方法中需同步的子单元之间在都完成了需同步的子任务之后,各子单元执行分配给自己的下一个子任务。
4.如权利要求2所述的方法,其特征在于所述方法中需同步的子单元之间都已准备开始执行需同步的子任务,各子单元开始执行各自的需同步的子任务。
5.如权利要求1或2所述的方法,其特征在于所述子单元配置字缓存器用于缓存多个子单元配置字,所缓存的配置字采取先入先出机制。
6.如权利要求1或2所述的方法,其特征在于子单元的同步信息包括子单元是否需要与其他子单元进行同步,如需同步,则子单元需与其他哪些子单元进行同步。
全文摘要
本发明提出了一种动态可重构处理器内子单元间进行同步的方法,在子单元配置字缓存器非空且之前配置字执行完,判定同步控制器的使能信号为真,配置字缓存器弹出首个配置字,配置字中同步信息发送到子单元同步控制器,配置字中的配置信息发送到子单元,子单元同步控制器接受同步信息,并判定是否要同步若是则待需同步的多个子单元都已执行到同步任务,且都已执行完时,子单元同步控制器返回使能信号为真;若否则向子单元配置字缓存器返回使能信号为真;子单元接受配置字中的配置信息后,对配置字所对应的子任务进行检测,若子任务完成,则告知子单元配置字缓存器任务执行完毕,从而完成可重构处理器内多个子单元之间的同步任务。
文档编号G06F9/52GK102207892SQ20111014035
公开日2011年10月5日 申请日期2011年5月27日 优先权日2011年5月27日
发明者刘雷波, 尹首一, 戚斌, 时龙兴, 曹鹏, 朱敏, 杨军, 王延升, 魏少军 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1