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

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

Info

Publication number
CN102207892B
CN102207892B CN 201110140356 CN201110140356A CN102207892B CN 102207892 B CN102207892 B CN 102207892B CN 201110140356 CN201110140356 CN 201110140356 CN 201110140356 A CN201110140356 A CN 201110140356A CN 102207892 B CN102207892 B CN 102207892B
Authority
CN
China
Prior art keywords
subelement
configuration words
configuration
subtask
synchronous
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN 201110140356
Other languages
English (en)
Other versions
CN102207892A (zh
Inventor
刘雷波
王延升
朱敏
戚斌
杨军
曹鹏
时龙兴
尹首一
魏少军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Pango Microsystems Co Ltd
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN 201110140356 priority Critical patent/CN102207892B/zh
Publication of CN102207892A publication Critical patent/CN102207892A/zh
Application granted granted Critical
Publication of CN102207892B publication Critical patent/CN102207892B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本发明提出了一种动态可重构处理器内子单元间进行同步的方法,在子单元配置字缓存器非空且之前配置字执行完,判定同步控制器的使能信号为真,配置字缓存器弹出首个配置字,配置字中同步信息发送到子单元同步控制器,配置字中的配置信息发送到子单元,子单元同步控制器接受同步信息,并判定是否要同步:若是则待需同步的多个子单元都已执行到同步任务,且都已执行完时,子单元同步控制器返回使能信号为真;若否则向子单元配置字缓存器返回使能信号为真;子单元接受配置字中的配置信息后,对配置字所对应的子任务进行检测,若子任务完成,则告知子单元配置字缓存器任务执行完毕,从而完成可重构处理器内多个子单元之间的同步任务。

Description

一种动态可重构处理器内子单元间进行同步的方法
技术领域
本发明涉及嵌入式系统领域中的动态可重构处理器技术领域,特别是涉及一种动态可重构处理器内子单元间进行同步的方法。
背景技术
动态可重构处理器是一种新生的处理器构架,其较之以往的单核处理器、专用芯片、现场可编程逻辑阵列有着显著的优势,是未来电路结构发展的一个方向。
首先,动态可重构处理器内往往含有多个算数逻辑单元,且数量巨大,称之为众核阵列。阵列内部配以灵活度高的路由单元,实现算数逻辑单元之间多样化的互联。因此,经路由单元连接后的众核阵列可实现对数据流的高速处理,较传统的单核以及少核处理器在性能上有着巨大的优势。同时,较固化的专用电路在灵活性上也有着巨大的优势。
其次,较传统的静态可重构电路——现场可编程逻辑阵列而言,动态可重构处理器有动态的特点,即在电路运行过程中可动态的切换电路的功能,而非以往静态可重构电路一沉不变的不改变电路功能,只是在电路运行之前烧写电路功能,对电路进行初始化。这样做的好处在于通过时分复用的方式减少了电路的规模,原因在于之前的电路结构的全映射现在变为分块映射,而块与块之间恰好采取了动态切换的方式。
实际应用中,动态可重构处理器采取并行的方式处理复杂的应用,其中并行的方式是通过多个子单元各自并行处理分配给自己的子任务来实现的。复杂的应用被分成多个子任务序列,分配给多个子单元进行处理,因此,目前需要本领域技术人员迫切解决的一个技术问题就是:如何能够创新地提出一种有效的措施,以对可重构处理器内多个子单元之间的同步进行良好的控制,完成子单元间同步任务。
发明内容
本发明所要解决的技术问题是提供一种动态可重构处理器内子单元间进行同步的方法,能够完成对可重构处理器内多个子单元之间的同步进行良好的控制,完成子单元间同步任务。
为了解决上述问题,本发明公开了一种动态可重构处理器内子单元间进行同步的方法,所述方法包括:
子单元配置字缓存器非空且之前配置字已执行完,同时判定同步控制器的使能信号为真,则配置字缓存器弹出首个配置字,配置字中同步信息发送到子单元同步控制器,配置字中的配置信息发送到子单元;所述子单元配置字缓存器中写有各子单元的配置字;
子单元同步控制器接受同步信息,并判定是否需要同步:
若是,则待需同步的多个子单元都已执行到同步任务,且都已执行完时,子单元同步控制器返回使能信号为真;
若否,则向子单元配置字缓存器返回使能信号为真;
子单元接受配置字中的配置信息后,对配置字所对应的子任务进行检测,若子任务完成,则告知子单元配置字缓存器任务执行完毕;
所述子单元配置字对应子单元所执行的子任务的配置信息;子单元配置字中包含子任务的执行信息和子任务的同步信息。
优选的,若将所述判定同步控制器的使能信号的操作,置于子单元同步控制器接受同步信息,并判定是否需要同步后进行,则所述方法包括:
若子单元配置字缓存器非空且之前配置字已执行完,则配置字缓存器弹出首个配置字,配置字中同步信息发送到子单元同步控制器;所述子单元配置字缓存器中写有各子单元的配置字;
子单元同步控制器接受同步信息,并判定是否需要同步:
若是,则子单元同步控制器待需同步的多个子单元都已开始执行同步任务时,子单元同步控制器返回使能信号为真;
若否,则向子单元配置字缓存器返回使能信号为真;
判定同步控制器的使能信号为真,则将配置字中的配置信息发送到子单元;
子单元接受配置字中的配置信息后,对配置字所对应的子任务进行检测,若子任务完成,则告知子单元配置字缓存器任务执行完毕。
优选的,所述方法中需同步的子单元之间在都完成了需同步的子任务之后,各子单元执行分配给自己的下一个子任务。
优选的,所述方法中需同步的子单元之间都已准备开始执行需同步的子任务,各子单元开始执行各自的需同步的子任务。
优选的,所述子单元配置字缓存器用于缓存多个子单元配置字,所缓存的配置字采取先入先出机制。
优选的,子单元的同步信息包括子单元是否需要与其他子单元进行同步,如需同步,则子单元需与其他哪些子单元进行同步。
与现有技术相比,本发明具有以下优点:
本发明提出了一种动态可重构处理器内子单元间进行同步的方法,在子单元配置字缓存器非空且之前配置字已执行完,同时判定同步控制器的使能信号为真,则配置字缓存器弹出首个配置字,配置字中同步信息发送到子单元同步控制器,配置字中的配置信息发送到子单元,子单元同步控制器接受同步信息,并判定是否需要同步:若是,则待需同步的多个子单元都已执行到同步任务,且都已执行完时,子单元同步控制器返回使能信号为真;若否,则向子单元配置字缓存器返回使能信号为真;子单元接受配置字中的配置信息后,对配置字所对应的子任务进行检测,若子任务完成,则告知子单元配置字缓存器任务执行完毕,从而对可重构处理器内多个子单元之间的同步进行良好的控制,完成子单元间同步任务。
附图说明
图1是本发明具体实施方式中所述的一种典型的动态可重构处理器的示意图;
图2是本发明实施例所述的一种动态可重构处理器内子单元间进行同步的方法流程图;
图3是本发明实施例所述的动态可重构处理器中进行同步时相关模块的示意图;
图4是本发明实施例所述的后同步的同步流程示意图;
图5是本发明实施例所述的前同步的同步流程示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
一种典型的动态可重构处理器的结构示意图如图1所示,动态可重构处理器的运转流程可概括为如下步骤:
1.动态可重构处理器由外部数据读入装置将处理器外存储器内待处理的数据读入处理器内,分发至多个子单元处理内的外部数据缓存器。
2.多个子单元将数据从各自的外部数据缓存器读出,再进行处理。多个子单元同时处理,以达并行处理的效果。各子单元处理完后,将结果数据存于各自的内部数据缓存器。
3.外部数据写出装置将结果数据从各子单元的内部数据缓存器读出,并写出到处理器外部存储器。
动态可重构处理器可从数据流和配置流的角度去被描述。数据流的角度是指从对数据流的处理的角度出发,遍历数据流所经过的动态可重构处理器内的各模块,提出各模块所需的功能。从数据流的角度出发,动态可重构处理器在结构上可分为以下三个部分:
1.数据转移装置
a)数据转移装置用于将数据从数据存储装置读出,并写入另一数据存储装置,使数据在数据存储装置之间转移。最终实现将数据写入处理单元阵列,处理单元阵列运行完后,将处理单元阵列的结果数据读出。
b)数据转移装置分为6个:外部数据读入装置,子单元间数据交互装置,内外部数据转换装置,内部数据读入装置,内部数据写出装置,外部数据写出装置。按数据流的流动方向,具体说明如下。
c)外部数据读入装置:
i.用于将动态可重构处理器外待处理的数据读入动态可重构处理器内,缓存于外部数据缓存器。
d)子单元间数据交互装置:
i.用于将子单元间数据交换暂存器内存储的其他子单元的结果数据读出,并在一定程度上进行整合,最终将整合后的数据分发至当前子单元的内部数据存储器或直接分发至处理单元阵列,这取决于此外单元的结果数据是否可直接被处理单元阵列处理和此数据是否将多次被处理。
e)内外部数据转换装置:
i.用于将外部数据缓存器内缓存的外部数据分发至内部数据存储器或直接分发至处理单元阵列,这取决于此外部数据是否可直接被处理单元阵列处理和此数据是否将多次被处理。
f)内部数据读入装置
i.用于将内部数据存储器内存储的当前子单元的内部数据,并在一定程度上进行整合,最终将整合后的数据写入到处理单元阵列。
g)内部数据写出装置
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,各子单元任务序列中各有两个子任务,可参见下表:
 子单元A子任务序列  子单元B子任务序列  子单元C子任务序列
  子任务A1   子任务B1   子任务C1
  子任务A2   子任务B2   子任务C2
子单元的子任务序列
b)现需子任务A1,B1,C1均执行完成后,子任务A2,B2,C2才开始执行前。
c)如采用后同步,则同步信息包含在子任务A1,B1,C1的配置字中。在各子单元执行完同步子任务后进行同步,子单元A、子单元B、子单元C分别执行完子任务A1、子任务B1、子任务C1后,同步完成,子单元A、子单元B、子单元C才可分别开始执行子任务A2、子任务B2、子任务C2。
d)如采用后同步,则同步信息包含在子任务A2,B2,C2的配置字中。各子单元在执行同步任务前进行同步,子单元A、子单元B、子单元C分别准备开始执行子任务A2、子任务B2、子任务C2,则同步完成,子单元A、子单元B、子单元C才可分别开始执行子任务A2、子任务B2、子任务C2。
本发明提出的进行同步的方法在同步过程中,涉及到动态可重构处理器中的模块包括但不限于以下模块,所有同步机制相关模块简图可参见图3。
子单元配置字缓存器:
(1)子单元配置字的说明:子单元配置字对应子单元所执行的子任务的配置信息。子单元配置字中包含配置信息1-子任务的执行信息,和配置信息2-子任务的同步信息。
(2)子单元配置字缓存器的功能:
1)子单元配置字缓存器可以缓存多个子单元配置字;
2)子单元配置字缓存器中所缓存的配置字采取先入先出机制;
3)子单元配置字缓存器弹出下一个待执行的子单元配置字的条件为“当前配置字对应的子任务已完成”且“子单元配置字缓存器为非空”且“来自同步控制器的使能信号为真”。
4)子单元配置字缓存器将弹出的子单元配置字中的配置信息1-子任务执行信息传递给子单元,用于配置子单元执行子任务,将配置信息2-子任务同步信息传递给同步控制器。
同步控制器:
(1)同步控制器内部包含多个子单元同步控制器,个数由子单元个数决定;
(2)子单元同步控制器接受来自子单元内的子单元配置字缓存器的子单元配置字的配置信息2-子任务同步信息。
(3)子单元同步同步控制器根据子任务同步信息进行判断,如果无需同步,则直接向子单元配置字缓存器返回使能信号为真。
(4)如果子任务需要同步:
a)当同步时机为后同步的情况下,,子单元同步控制器检测子单元当前任务执行情况。待需要进行同步的多个子单元都已执行到需要同步的子任务,且需要同步的子任务都已执行完,各子单元同步控制器向各子单元配置字缓存器返回使能信号为真。
b)当同步时机为前同步的情况下,子单元同步控制器等待其他需要进行同步的多个子单元都已准备开始执行需要同步的子任务,,各个子单元同步控制器向子单元配置字缓存器返回使能信号为真。
本发明提出的一种动态可重构处理器内子单元的同步信息的描述方式,具体如下:
(1)子单元的同步信息包含两部分内容:
(a)子单元是否需要与其他子单元进行同步;
(b)如需同步,则子单元需与其他哪些子单元进行同步;
(2)子单元的同步信息具体内容如下:
1.子单元的同步信息为N比特,对应于动态可重构处理器中的N个子单元。
2.当前子单元所对应的1比特用于指示当前子单元是否进行同步,如果同步则此1比特为真,如果不同步则此1比特为假。
3.除当前子单元对应的1比特之外的N-1比特用于指示当前子单元与其余哪些子单元进行同步。如果当前子单元需与某个子单元进行同步,则此子单元对应的1比特为真;如果无需同步,则此1比特为假。当前子单元可与其余N-1个子单元中的任意个子单元进行同步。
4.同步信息的完备性:在多个子单元动态可重构处理器中,N个需要同步的子单元具有同步的相互性,具体表现为每个需要同步的子单元的子单元同步信息中,同步对象都包含且只包含其余N-1个子单元,不存在N个需要同步的子单元中有一个或几个子单元的同步对象多于或少于N-1。
5.一次同步的不同子单元,参与同步的子任务的同步信息完全相同。同步信息的完备性保证了同步控制器正确发送同步完成信号。
(3)以一个4子单元动态可重构处理器为例,若其子单元3当前子任务为不需要同步,则其同步信息如下表:
  编码位   1   2   3   4
  信息位   假   假   假   假
同步信息表1
若其子单元3当前子任务为需要和子单元1,子单元4某个子任务同步,则其同步信息如下表:
  编码位   1   2   3   4
  信息位   真   假   真   真
同步信息表2
以表2情况为例,由于同步信息的完备性,子单元1和子单元4,其参与同步的子任务的同步信息如表3:
  编码位   1   2   3   4
  信息位   真   假   真   真
同步信息表3
具体的,本发明提出的进行同步的方法中,后同步的同步流程示意图参见图4所示:
由后同步中进行同步分为以下步骤:
(1)各子单元的配置字被写入子单元内的配置字缓存器。
(2)配置字弹出条件为:子单元配置字缓存器非空;
之前配置字已执行完毕;
来自同步控制器的使能信号为真;
在三个条件都满足的情况下,配置字弹出条件判定为真。任务序列中首个配置字自动弹出。
(3)配置字缓存器弹出配置字,配置字中同步信息发送到子单元同步控制器,配置字中的配置信息发送到子单元。
(4)子单元同步控制器接受同步信息,对同步信息进行判定:
(a)若无需同步,则同步信息判定为假,向子单元配置字缓存器返回使能信号为真。
(b)若需要同步,则同步信息判定为真,子单元同步控制器检测子单元运行情况,待需同步的多个子单元都已执行到同步任务,且同步任务都已执行完,子单元同步控制器返回使能信号为真。即当同步信息判定为真时,需要具有相同同步信息的子单元的同步子任务都已完成时,这些子单元的同步控制器返回使能信号为真。
(5)子单元接受配置字中的配置信息后,对配置字所对应的子任务进行检测,若子任务完成,则告知子单元配置字缓存器任务执行完毕。
同样的,本发明提出的进行同步的方法中,前同步的同步流程图参见图5所示:
由前同步中进行同步分为以下步骤:
(1)各子单元的配置字被写入子单元内配置字缓存器。
(2)配置字弹出条件为:子单元配置字缓存器非空且来自同步控制器的使能信号为真;当两个条件都满足的情况下,配置字弹出条件判定为真。任务序列中首个配置字在子单元配置字缓存器非空的条件下自动弹出。
(3)配置字缓存器弹出配置字,配置字中同步信息发送到子单元同步控制器。
(4)子单元同步控制器接受同步信息,对同步信息进行判定:
(a)若无需同步,则同步信息判定为假,向子单元配置字缓存器返回使能信号为真。
(b)若需要同步,则同步信息判定为真,子单元同步控制器待需同步的多个子单元都已开始执行同步任务时,子单元同步控制器返回使能信号为真。即当同步信息判定为真时,需要具有相同同步信息的子单元的同步子任务开始执行,这些子单元的同步控制器返回使能信号为真。
(5)子单元配置信息发送的判定:当来自同步控制器的使能信号为真时,配置信息发送判定为真,向子单元发送当前任务的配置信息。
(6)子单元接受配置字中的配置信息后,对配置字所对应的子任务进行检测,若子任务完成,则告知子单元配置字缓存器任务执行完毕。
下面以一个多子单元动态可重构处理器执行一个简单应用为例,来说明动态可重构处理器内子单元的同步机制。
为了便于说明,首先对于参数进行一些设定,具体如下:
1)可重构处理器有4个子单元。
2)在本实例综合任务运行过程中,4个子单元分别执行3,2,5,3个子任务。子单元编码以及任务信息如下表:
Figure GDA00002565516200131
同步内容说明:
在子单元A任务A2,子单元C任务C3,子单元D任务D2结束后,这三个子单元由于数据交互需要进行一次同步,在这4个子单元在各自子任务序列完成后,复杂任务结束,4个子单元再进行一次同步。同步时机为后同步,用0表示假,1表示真。
因此,各个子单元任务配置字中的同步信息如下表:
Figure GDA00002565516200132
Figure GDA00002565516200141
同步流程的说明
(1)四个子单元的配置字被写入子单元内的配置字缓存器。
(2)每个子单元弹出任务序列中首个任务的配置字;
(3)各子单元同步控制器接受同步信息,任务序列中首个任务同步信息均为不需要同步,直接向子单元配置缓存器返回使能信号为真;
(4)各子单元接受配置信息,开始执行子任务,待任务完成后向子单元返回执行完成信号;
(5)不妨设子单元A配置字缓存器先弹出子任务A2的配置字,其子单元同步控制器接收到需同步的同步信息,则子单元A同步控制器检测子任务A2运行情况,待子单元C,D都已执行到子任务C3,D2,且同步任务都已执行完,子单元A,C,D同步控制器返回使能信号为真。
(6)子单元A,C,D都返回同步使能信号为真,且子任务A2,C3,D2均已执行完成后,子单元配置字缓存器开始弹出其任务序列中下个配置字。
(7)不妨设子单元B配置字缓存器先弹出子任务B2的配置字,其子单元同步控制器接收到需同步的同步信息,则子单元B同步控制器检测子任务B2运行情况,待子单元A,C,D都已执行到子任务A3,C5,D3,且子任务A3,C5,D3都已执行完,子单元A,B,C,D同步控制器返回使能信号为真。
(8)子单元A,B,C,D都返回同步使能信号为真,且各自需同步任务均已执行完成后,整个同步流程完成。
以上对本发明所提供的一种动态可重构处理器内子单元间进行同步的方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (6)

1.一种动态可重构处理器内子单元间进行同步的方法,其特征在于,所述方法包括:
子单元配置字缓存器非空且之前配置字已执行完,同时判定同步控制器的使能信号为真,则配置字缓存器弹出首个配置字,配置字中同步信息发送到子单元同步控制器,配置字中的配置信息发送到子单元;所述子单元配置字缓存器中写有各子单元的配置字;
子单元同步控制器接受同步信息,并判定是否需要同步:
若是,则待需同步的多个子单元都已执行到同步任务,且都已执行完时,子单元同步控制器返回使能信号为真;
若否,则向子单元配置字缓存器返回使能信号为真;
子单元接受配置字中的配置信息后,对配置字所对应的子任务进行检测,若子任务完成,则告知子单元配置字缓存器任务执行完毕;
所述子单元配置字对应子单元所执行的子任务的配置信息;子单元配置字中包含子任务的执行信息和子任务的同步信息。
2.如权利要求1所述的方法,其特征在于,若将所述判定同步控制器的使能信号的操作,置于子单元同步控制器接受同步信息,并判定是否需要同步后进行,则所述方法包括:
若子单元配置字缓存器非空且之前配置字已执行完,则配置字缓存器弹出首个配置字,配置字中同步信息发送到子单元同步控制器;所述子单元配置字缓存器中写有各子单元的配置字;
子单元同步控制器接受同步信息,并判定是否需要同步:
若是,则子单元同步控制器待需同步的多个子单元都已开始执行同步任务时,子单元同步控制器返回使能信号为真;
若否,则向子单元配置字缓存器返回使能信号为真;
判定同步控制器的使能信号为真,则将配置字中的配置信息发送到子单元;
子单元接受配置字中的配置信息后,对配置字所对应的子任务进行检测,若子任务完成,则告知子单元配置字缓存器任务执行完毕。
3.如权利要求1所述的方法,其特征在于:
所述方法中需同步的子单元之间在都完成了需同步的子任务之后,各子单元执行分配给自己的下一个子任务。
4.如权利要求2所述的方法,其特征在于:
所述方法中需同步的子单元之间都已准备开始执行需同步的子任务,各子单元开始执行各自的需同步的子任务。
5.如权利要求1或2所述的方法,其特征在于:
所述子单元配置字缓存器用于缓存多个子单元配置字,所缓存的配置字采取先入先出机制。
6.如权利要求1或2所述的方法,其特征在于:
子单元的同步信息包括子单元是否需要与其他子单元进行同步,如需同步,则子单元需与其他哪些子单元进行同步。
CN 201110140356 2011-05-27 2011-05-27 一种动态可重构处理器内子单元间进行同步的方法 Active CN102207892B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110140356 CN102207892B (zh) 2011-05-27 2011-05-27 一种动态可重构处理器内子单元间进行同步的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110140356 CN102207892B (zh) 2011-05-27 2011-05-27 一种动态可重构处理器内子单元间进行同步的方法

Publications (2)

Publication Number Publication Date
CN102207892A CN102207892A (zh) 2011-10-05
CN102207892B true CN102207892B (zh) 2013-03-27

Family

ID=44696740

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110140356 Active CN102207892B (zh) 2011-05-27 2011-05-27 一种动态可重构处理器内子单元间进行同步的方法

Country Status (1)

Country Link
CN (1) CN102207892B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112327759B (zh) * 2020-10-21 2021-12-28 苏州谷夫道自动化科技有限公司 一种多通道数控系统通道同步的方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050123163A (ko) * 2003-04-15 2005-12-29 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 프로세싱 시스템, 프로세싱 시스템 프로그래밍 방법 및컴파일러 프로그램 제품
CN101196827A (zh) * 2007-12-28 2008-06-11 中国科学院计算技术研究所 一种并行模拟器及方法
CN101571745A (zh) * 2005-04-12 2009-11-04 学校法人早稻田大学 多处理器系统
CN102053947A (zh) * 2011-01-04 2011-05-11 东南大学 全球定位系统基带算法可重构实现的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011076513A (ja) * 2009-10-01 2011-04-14 Olympus Corp 分散処理システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050123163A (ko) * 2003-04-15 2005-12-29 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 프로세싱 시스템, 프로세싱 시스템 프로그래밍 방법 및컴파일러 프로그램 제품
CN101571745A (zh) * 2005-04-12 2009-11-04 学校法人早稻田大学 多处理器系统
CN101196827A (zh) * 2007-12-28 2008-06-11 中国科学院计算技术研究所 一种并行模拟器及方法
CN102053947A (zh) * 2011-01-04 2011-05-11 东南大学 全球定位系统基带算法可重构实现的方法

Also Published As

Publication number Publication date
CN102207892A (zh) 2011-10-05

Similar Documents

Publication Publication Date Title
TWI679590B (zh) 具有常駐在晶片上之參數的神經網路加速器
CN100535850C (zh) 用于在编程引擎之间传送数据的方法和装置
CN107301455B (zh) 用于卷积神经网络的混合立方体存储系统及加速计算方法
CN113424168A (zh) 可重配置的数据处理器的虚拟化
US20040215679A1 (en) Method for finding global extrema of a set of shorts distributed across an array of parallel processing elements
US11803508B2 (en) Systems and methods for implementing a machine perception and dense algorithm integrated circuit and enabling a flowing propagation of data within the integrated circuit
CN103019810A (zh) 具有不同执行优先级的计算任务的调度和管理
CN103809936A (zh) 编译或运行时执行分叉-合并数据并行程序的系统和方法
CN111433758A (zh) 可编程运算与控制芯片、设计方法及其装置
CN102135949A (zh) 基于图形处理器的计算网络系统、方法及装置
CN105183698A (zh) 一种基于多核dsp的控制处理系统和方法
US20220269534A1 (en) Time-Multiplexed use of Reconfigurable Hardware
CN102279729B (zh) 动态可重构阵列调用配置信息的方法、缓存器和处理器
CN101124569A (zh) 微处理器结构
EP2759927B1 (en) Apparatus and method for sharing function logic between functional units, and reconfigurable processor thereof
CN115668121A (zh) 存储器处理单元架构和配置
CN102236632B (zh) 一种层次化描述动态可重构处理器配置信息的方法
CN102207892B (zh) 一种动态可重构处理器内子单元间进行同步的方法
CN102737163B (zh) 一种印刷数据的处理方法及系统
CN100432968C (zh) 存储器直接存取装置及其数据传输方法
CN112306951A (zh) 一种基于fpga的cnn-svm资源高效型加速架构
CN102184090B (zh) 一种动态可重构处理器及其固定数的调用方法
CN102207850B (zh) 一种动态可重构处理器中层次化执行配置流的方法
CN102200961A (zh) 一种动态可重构处理器内子单元的扩展方法
CN106569968A (zh) 用于可重构处理器的阵列间数据传输结构与调度方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: WUXI APPLICATION TECHNOLOGY RESEARCH INSTITUTE OF

Free format text: FORMER OWNER: TSINGHUA UNIVERSITY

Effective date: 20141219

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100084 HAIDIAN, BEIJING TO: 214072 WUXI, JIANGSU PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20141219

Address after: 214072, A3 building, No. 777 West Building Road, Binhu District, Jiangsu, Wuxi 4, China

Patentee after: WUXI RESEARCH INSTITUTE OF APPLIED TECHNOLOGIES, TSINGHUA UNIVERSITY

Address before: 100084 Tsinghua Yuan, Beijing, Haidian District

Patentee before: Tsinghua University

ASS Succession or assignment of patent right

Owner name: SHENZHEN PANGO MICROSYSTEMS CO., LTD.

Free format text: FORMER OWNER: WUXI APPLICATION TECHNOLOGY RESEARCH INSTITUTE OF TSINGHUA UNIVERSITY

Effective date: 20150616

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150616

Address after: 518057 Guangdong city of Shenzhen province Nanshan District high tech Industrial Park Road eight South South technology Howare Technology Building 16

Patentee after: SHENZHEN PANGO MICROSYSTEMS CO., LTD.

Address before: 214072, A3 building, No. 777 West Building Road, Binhu District, Jiangsu, Wuxi 4, China

Patentee before: WUXI RESEARCH INSTITUTE OF APPLIED TECHNOLOGIES, TSINGHUA UNIVERSITY

C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: 518057 Guangdong city of Shenzhen province Nanshan District high tech Industrial Park Road eight South South technology Howare Technology Building 16

Patentee after: Shenzhen Pango Microsystems Co., Ltd.

Address before: 518057 Guangdong city of Shenzhen province Nanshan District high tech Industrial Park Road eight South South technology Howare Technology Building 16

Patentee before: SHENZHEN PANGO MICROSYSTEMS CO., LTD.