CN102207850A - 一种动态可重构处理器中层次化执行配置流的方法 - Google Patents
一种动态可重构处理器中层次化执行配置流的方法 Download PDFInfo
- Publication number
- CN102207850A CN102207850A CN2011101402662A CN201110140266A CN102207850A CN 102207850 A CN102207850 A CN 102207850A CN 2011101402662 A CN2011101402662 A CN 2011101402662A CN 201110140266 A CN201110140266 A CN 201110140266A CN 102207850 A CN102207850 A CN 102207850A
- Authority
- CN
- China
- Prior art keywords
- configuration information
- subelement
- configuration
- data
- array
- 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.)
- Granted
Links
Images
Abstract
本发明提供了一种动态可重构处理器的层次化执行配置流的方法,层次化的配置信息与应用算法的层次化划分一一对应,保证一个完整的应用算法在动态可重构处理器上正确的映射,层次化的配置信息可对配置信息的信息量进行压缩,减少配置信息在处理器内存储时的空间。
Description
技术领域
本发明涉及嵌入式系统领域中的动态可重构处理器技术领域,特别是涉及一种动态可重构处理器中层次化执行配置流的方法。
背景技术
动态可重构处理器是一种新生的处理器构架,其较之以往的单核处理器、专用芯片、现场可编程逻辑阵列有着显著的优势,是未来电路结构发展的一个方向。
首先,动态可重构处理器内往往含有多个算术逻辑单元,且数量巨大,称之为众核阵列。阵列内部配以灵活度高的路由单元,实现算术逻辑单元之间多样化的互联。因此,经路由单元连接后的众核阵列可实现对数据流的高速处理,较传统的单核以及少核处理器在性能上有着巨大的优势。同时,较固化的专用电路在灵活性上也有着巨大的优势。
其次,较传统的静态可重构电路——现场可编程逻辑阵列而言,动态可重构处理器有动态的特点,即在电路运行过程中可动态的切换电路的功能,而非以往静态可重构电路一成不变的不改变电路功能,只是在电路运行之前烧写电路功能,对电路进行初始化。这样做的好处在于通过时分复用的方式减少了电路的规模,原因在于之前的电路结构的全映射现在变为分块映射,而块与块之间恰好采取了动态切换的方式。
基于动态可重构处理器内配置流的信息量较大,传送速度往往不能满足应用需求,目前需要本领域技术人员迫切解决的一个技术问题就是:如何能够创新地提出一种有效的措施,以解决现有技术中存在的问题,加快配置信息的传递速度,提高配置效率,同时减少配置信息在处理器内存储时的空间。
发明内容
本发明所要解决的技术问题是提供一种动态可重构处理器中层次化执行配置流的方法,对配置信息的信息量进行压缩,加快配置信息的传递速度,提高配置效率,同时减少配置信息在处理器内存储时的空间。
为了解决上述问题,本发明公开了一种动态可重构处理器中层次化执行配置流的方法,所述方法包括:
获取配置信息层次0,进行外部数据读入装置和写出装置配置信息的传递及操作;
将子单元配置信息队列的地址及对应的同步信息传递到子任务缓存器,依次按照各子任务对应的子单元配置信息队列的地址对子单元配置信息队列存储器进行读访问,索引对应的配置信息层次1,并将子任务内的同步信息传递给子单元间同步控制器,来控制子单元间的同步;
按照配置信息层次1中子单元间数据交互装置的配置信息子单元间数据交互装置完成相应操作后,依次执行子单元配置信息队列中的多个配置信息层次2;
根据配置信息层次2,进行内外部数据转换装置的配置信息、内部数据读入装置的配置信息和内部数据写出装置的配置信息的传递及操作;
根据配置信息层次2中处理单元阵列配置信息的地址对处理单元阵列配置信息存储器进行读访问,索引对应的配置信息层次3;
按照配置信息层次3处理单元阵列进行对应操作。
优选的,所述配置信息层次0通过配置子接口从总线上接收的。
优选的,所述方法还包括:
子单元配置信息队列存储器接收来自子任务缓存器的子单元配置信息队列的地址。
优选的,所述子任务缓存器在上一个子任务完成后会弹出下一个子任务。
优选的,当前配置信息层次2的全部操作执行完才进行下一子单元配置信息的操作工作。
优选的,所述配置信息层次0包括外部数据读入装置的配置信息、外部数据写出装置的配置信息和子单元配置信息队列。
优选的,所述配置信息层次1包括子单元间数据交互装置的配置信息和子单元配置信息队列。
优选的,所述配置信息层次2包括阵列的配置信息、内外部数据转换装置的配置信息、内部数据读入装置的配置信息、内部数据写出装置的配置信息。
优选的,所述配置信息层次3包括每个处理单元的算术逻辑功能的选择信息和每个处理单元的输入选择信息。
与现有技术相比,本发明具有以下优点:
本发明提出了一种动态可重构处理器的层次化执行配置流的方法,层次化的配置信息与应用算法的层次化划分一一对应,保证一个完整的应用算法在动态可重构处理器上正确的映射,层次化的配置信息可对配置信息的信息量进行压缩,减少配置信息在处理器内存储时的空间。
附图说明
图1是本发明具体实施方式中所述的一种典型的动态可重构处理器的示意图;
图2是本发明具体实施方式中所述的处理单元阵列配置信息的示意图;
图3是本发明具体实施方式中所述的动态可重构处理器子单元的配置信息的示意图;
图4是是本发明具体实施方式中所述的动态可重构处理器的子单元配置信息队列的示意图;
图5是本发明具体实施方式中所述的动态可重构处理器的配置字的示意图;
图6是本发明实施例所述的一种动态可重构处理器中层次化执行配置流的方法流程图;
图7是本发明实施例所述的加入配置流的动态可重构处理器结构图示意图;
图8是本发明实施例所述的动态可重构处理器层次化执行配置流的过程示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
一种典型的动态可重构处理器的结构示意图如图1所示,动态可重构处理器的运转流程可概括为如下步骤:
1.动态可重构处理器由外部数据读入装置将处理器外存储器内待处理的数据读入处理器内,分发至多个子单元处理内的外部数据缓存器。
2.多个子单元将数据从各自的外部数据缓存器读入,再进行处理。多个子单元同时处理,以达并行处理的效果。各子单元处理完后,将结果数据存于各自的内部数据缓存器。
3.外部数据写出装置将结果数据从各子单元的内部数据缓存器读入,并写出到处理器外部存储器。
除上述步骤外,还需说明的是:子单元间的同步机制通过子单元间同步控制器来实现;子单元间的数据交互通过由子单元A向子单元间数据交互暂存器写入数据,子单元B从子单元间数据交互暂存器读出此数据来实现。使用时还需结合子单元间的同步机制,即子单元A向子单元间数据交互暂存器写完数据后,子单元B才可开始读取子单元间数据交互暂存器。
动态可重构处理器可从数据流和配置流的角度去被描述。数据流的角度是指从对数据流的处理的角度出发,遍历数据流所经过的动态可重构处理器内的各模块,提出各模块所需的功能。从数据流的角度出发,动态可重构处理器在结构上可分为以下四个部分:
a)数据存储装置,分为5个,具体说明如下。
b)外部数据缓存器,用于将读入的外部数据缓存,待需要时被读出。
c)内部数据存储器,用于暂存处理单元阵列运算所要使用的数据,待需要时数据被读出,输出到处理单元阵列。
d)内部数据缓存器,用于对处理单元阵列的结果数据进行缓存,待输出至处理器外。
e)子单元间数据交互暂存器,用于暂存子单元A的结果数据,待子单元B读出,以实现子单元间的数据交互。
f)处理器间数据交互暂存器,用于暂存处理器A子单元a的结果数据,待处理器B子单元b读出,以实现处理器间的数据交互。
2.数据转移装置
a)数据转移装置用于将数据从数据存储装置读出,并写入另一数据存储装置,使数据在数据存储装置之间转移。最终实现将数据写入处理单元阵列,处理单元阵列运行完后,将处理单元阵列的结果数据读出。
b)数据转移装置分为6个:外部数据读入装置,片内数据交互装置,内外部数据转换装置,内部数据读入装置,内部数据写出装置,外部数据写出装置。按数据流的流动方向,具体说明如下。
c)外部数据读入装置,用于将动态可重构处理器外待处理的数据读入动态可重构处理器内,缓存于外部数据缓存器。
d)片内数据交互装置,用于将子单元间数据交换暂存器或者处理器间数据交互暂存器内存储的其他子单元的结果数据读出,分发至当前子单元的内部数据存储器或直接分发至处理单元阵列,这取决于此子单元的结果数据是否可直接被处理单元阵列处理。
e)内外部数据转换装置,用于将外部数据缓存器内缓存的外部数据分发至内部数据存储器或直接分发至处理单元阵列,这取决于此外部数据是否可直接被处理单元阵列处理。
f)内部数据读入装置,用于将内部数据存储器里存储的当前子单元的内部数据读出,并且在需要时将多块2D数据拼接成一块2D数据,最终将拼接后的数据(如果需要拼接的话)发送到处理单元阵列。
上述内容以2D的方式描述数据,一块2D数据块每行数据个数相同,并且以行对齐的方式存储在存储器中。
g)内部数据写出装置,用于将处理单元阵列的结果数据读出,再写入至处理单元阵列供紧接着运行处理单元阵列时使用,或写入至内部数据存储器将数据缓存起来,或写入子单元间数据交互暂存器供子单元间数据交互使用,或写入处理器间数据交互暂存器供处理器间数据交互使用,或写入内部数据缓存器待输出至处理器外。
h)外部数据写出装置,用于将缓存于内部数据缓存器的子单元的结果数据输出至处理器外。
3.运算单元
a)运算单元即处理单元阵列,具体可见图。
b)处理单元是一个算术逻辑运算单元,可实现基本的算术运算功能和逻辑运算功能以及一些定制的算术逻辑运算功能。
c)处理单元之间通过路由单元连接,以实现处理单元之间的灵活且快速的数据传递。
d)整个处理单元阵列通过时序控制单元控制,以协调处理单元阵列的输入、运算、输出之间的时序关系。
e)处理单元阵列可实现对大批量数据进行循环操作的快速处理。
4.同步控制装置
a)同步控制装置即子单元间同步控制器。
b)其实现多个子单元(1个至N个,N为子单元个数)均完成其各自的指定子任务后多个子单元(此处的多个可与之前的多个不一致)才可执行其各自子任务序列中的下一个子任务。
c)子单元间同步控制器实现了某任务在被划分为多个子任务后,分发至多个子单元并行执行,多个子单元并行执行完多个子任务后的同步。同步后才可开始下一任务的并行化执行。
从配置流的角度出发去描述动态可重构处理器是以对动态可重构处理器的控制为主线,定义出一套有效的控制信息和一组有效的控制机制,不仅对动态可重构处理器内的各个模块的功能进行控制,更使得各个模块之间可正确的协同工作。配置流从底层出发,首先完成一个简单的子任务,再由多个子任务串联起一个任务,最终由多个任务串联起一个完整的应用算法。
层次化的动态可重构处理器的配置信息定义如下(为便于理解,采取自底向上的方式来层层描述动态可重构处理器的配置信息):
配置信息层次3——处理单元阵列的配置信息,具体可参照图2,包括:
a)每个处理单元的算术逻辑功能的选择信息。
b)每个处理单元的输入选择信息,这体现了处理单元阵列的路由结构。
c)处理单元阵列的时序控制信息。
2.配置信息层次2——动态可重构处理器的子单元的配置信息,具体可参照图3,包括:
a)阵列的配置信息。
b)内外部数据转换装置的配置信息。
c)内部数据读入装置的配置信息。
d)内部数据写出装置的配置信息。
3.配置信息层次1——动态可重构处理器的子单元配置信息队列,包括:
a)子单元间数据交互装置的配置信息。
b)子单元配置信息队列。
4.配置信息层次0——动态可重构处理器的配置字,包括:
a)外部数据读入装置的配置信息。
b)外部数据写出装置的配置信息。
c)子单元配置信息队列。
在定义了层次化的动态可重构处理器的配置信息后,本发明提出了一种动态可重构处理器中层次化执行配置流的方法。
实施例:
参照图6,示出了本发明的一种动态可重构处理器中层次化执行配置流的方法流程图,所述方法包括:
步骤S601,获取配置信息层次0,进行外部数据读入装置和写出装置配置信息的传递及操作;
步骤S602,将子单元配置信息队列的地址及对应的同步信息传递到子任务缓存器,依次按照各子任务对应的子单元配置信息队列的地址对子单元配置信息队列存储器进行读访问,索引对应的配置信息层次1,并将子任务内的同步信息传递给子单元间同步控制器,来控制子单元间的同步;
步骤S603,按照配置信息层次1中子单元间数据交互装置的配置信息子单元间数据交互装置完成相应操作后,依次执行子单元配置信息队列中的多个配置信息层次2;
步骤S604,根据配置信息层次2,进行内外部数据转换装置的配置信息、内部数据读入装置的配置信息和内部数据写出装置的配置信息的传递及操作;
步骤S605,根据配置信息层次2中处理单元阵列配置信息的地址对处理单元阵列配置信息存储器进行读访问,索引对应的配置信息层次3;
步骤S606,按照配置信息层次3处理单元阵列进行对应操作。
具体到实际的应用中,可参照图7示出的加入配置流的动态可重构处理器结构图,配置流通路包含5个存储或者转移装置,分别是配置字接口,子任务缓存器,子单元配置信息队列存储器,本地子单元配置信息队列存储器,处理单元阵列配置信息存储器。
1.配置字接口
a)配置字接口作为总线的从设备,从总线上接收配置信息层次0——动态可重构处理器的配置字。
b)将外部数据读入装置的配置信息传递到外部数据读入装置的配置寄存器。每个动态可重构处理器的配置字中包含了多个外部数据读入装置的配置信息,配置字接口将全部的外部数据读入装置的配置信息一次性传递到外部数据读入装置的配置寄存器(外部数据读入装置的配置寄存器设有缓存结构)。
c)将外部数据写出装置的配置信息传递到外部数据写出装置的配置寄存器。每个动态可重构处理器的配置字中包含了多个外部数据写出装置的配置信息,配置字接口将全部的外部数据写出装置的配置信息一次性传递到外部数据写出装置的配置寄存器(外部数据写出装置的配置寄存器设有缓存结构)。
d)将子单元配置信息队列的地址及对应的同步信息传递到子任务缓存器。
2.子任务缓存器
a)子任务缓存器从配置字接口接收子单元配置信息队列的地址及对应的同步信息,然后将其进行缓存。每一组子单元配置信息队列的地址和相应的同步信息对应着子单元将执行的一个子任务。
b)当上一个子任务被执行完后,子任务缓存器弹出下一个子任务,按照此子任务对应的子单元配置信息队列的地址对子单元配置信息队列存储器进行读访问,索引出对应的配置信息层次1——子单元配置信息队列。
c)与b)同时,将弹出的子任务内的同步信息传递给子单元间同步控制器,用于控制子单元间的同步。
d)子任务缓存器可缓存多个子任务,即多组子单元配置信息队列的地址和相应的同步信息。
3.子单元配置信息队列存储器
a)子单元配置信息队列存储器中存储着当前应用所有的子单元配置信息队列。
b)子单元配置信息队列存储器接收来自子任务缓存器的子单元配置信息队列的地址,按照此地址索引出对应的子单元配置信息队列,然后将其发送到本地子单元配置信息队列存储器。
4.本地子单元配置信息队列存储器
a)本地子单元配置信息队列存储器接收来自子单元配置信息队列存储器的子单元配置信息队列。
b)子单元配置信息队列包含两部分内容:子单元间数据交互装置的配置信息和子单元配置信息队列。
c)子单元配置信息队列的执行过程如下:
i.首先,将子单元间数据交互装置的配置信息传递到子单元间数据交互装置的配置寄存器。每个子单元配置信息队列中包含了多个子单元间数据交互装置的配置信息,本地子单元配置信息队列存储器将全部的子单元间数据交互装置的配置信息一次性传递到子单元间数据交互装置的配置寄存器(子单元间数据交互装置的配置寄存器设有缓存结构)。
ii.当子单元间数据交互装置按照所配置的配置信息执行完所有的数据交互操作之后,开始执行子单元配置信息队列。一个子单元配置信息队列中包含多个配置信息层次2——子单元配置信息。一个完整的子单元配置信息包括:处理单元阵列配置信息;内外部数据转换装置的配置信息;内部数据读入装置的配置信息;以及内部数据写出装置的配置信息。当前子单元配置信息对应的全部操作执行完毕后,才会进行下一个子单元配置信息的配置工作,进而执行对应操作。周而复始,直至子单元配置信息队列内的所有子单元配置信息被配置完。每个子单元配置信息的配置过程如下:
1.将子单元配置信息内的内外部数据转换装置的配置信息传递到内外部数据转换装置的配置寄存器。内外部数据转换装置的配置寄存器不设缓存结构,因此一次只传递一条配置信息,待当前配置信息对应的操作完成后,再传递下一条配置信息。
2.与1)同时,将子单元配置信息内的内部数据读入装置的配置信息传递到内部数据读入装置的配置寄存器。内部数据读入装置的配置寄存器不设缓存结构,因此一次只传递一条配置信息,待当前配置信息对应的操作完成后,再传递下一条配置信息。
3.与1)同时,将子单元配置信息内的内部数据写出装置的配置信息传递到内部数据写出装置的配置寄存器。内部数据写出装置的配置寄存器不设缓存结构,因此一次只传递一条配置信息,待当前配置信息对应的操作完成后,再传递下一条配置信息。
4.与1)同时,根据子单元配置信息内的处理单元阵列配置信息的地址对处理单元阵列配置信息存储器进行读访问,索引出对应的配置信息层次3——处理单元阵列配置信息。一次只索引一条配置信息,待当前配置信息对应的操作完成后,再索引下一条配置信息。
5.处理单元阵列配置信息存储器
a)处理单元阵列配置信息存储器中存储着当前应用所有的处理单元阵列配置信息。
b)处理单元阵列配置信息存储器接收来自子单元配置信息队列存储器的处理单元阵列配置信息的地址,处理单元阵列配置信息存储器按照此地址索引到对应的处理单元阵列配置信息,然后发送到处理单元阵列的配置寄存器。
下面着重介绍动态可重构处理器中层次化执行配置流的过程:
1.配置信息层次0的接收及配置
a)配置字接口从总线上接收配置信息层次0——动态可重构处理器的配置字。
b)配置字接口将外部数据读入装置的配置信息传递到外部数据读入装置的配置寄存器,外部数据读入装置根据配置信息进行对应操作。
c)配置字接口将外部数据写出装置的配置信息传递到外部数据写出装置的配置寄存器,外部数据写出装置根据配置信息进行对应操作。
d)配置字接口将子单元配置信息队列的地址及对应的同步信息传递到子任务缓存器。
e)当上一个子任务被执行完后,子任务缓存器弹出下一个子任务,按照此子任务对应的子单元配置信息队列的地址对子单元配置信息队列存储器进行读访问,索引出对应的配置信息层次1——子单元配置信息队列,传递给本地子单元配置信息队列存储器。
f)同时,将弹出的子任务内的同步信息传递给子单元间同步控制器,用于控制子单元间的同步。
2.配置信息层次1的逐条配置
a)本地子单元配置信息队列存储器接收来自子单元配置信息队列存储器的配置信息层次1——子单元配置信息队列,包括两部分内容:子单元间数据交互装置的配置信息和子单元配置信息队列。
b)将子单元间数据交互装置的配置信息传递到子单元间数据交互装置的配置寄存器,子单元间数据交互装置根据配置信息进行对应操作。
c)当子单元间数据交互装置按照所配置的配置信息执行完所有的数据交互操作之后,开始执行子单元配置信息队列。一个子单元配置信息队列中包含多个配置信息层次2——子单元配置信息。一个完整的子单元配置信息包括:处理单元阵列配置信息;内外部数据转换装置的配置信息;内部数据读入装置的配置信息;以及内部数据写出装置的配置信息。当前子单元配置信息对应的全部操作执行完毕后,才会进行下一个子单元配置信息的配置工作,进而执行对应操作。周而复始,直至子单元配置信息队列内的所有子单元配置信息被配置完。
3.单个配置信息层次2的配置过程
单个配置信息层次2——子单元配置信息的执行过程如下:
a)将内外部数据转换装置的配置信息从本地子单元配置信息队列存储器传递到内外部数据转换装置的配置寄存器,内外部数据转换装置根据配置信息进行对应操作。
b)将内部数据读入装置的配置信息从本地子单元配置信息队列存储器传递到内部数据读入装置的配置寄存器,内部数据读入装置根据配置信息进行对应操作。
c)将内部数据写出装置的配置信息从本地子单元配置信息队列存储器传递到内部数据写出装置的配置寄存器,内部数据写出装置根据配置信息进行对应操作。
d)根据子单元配置信息内的处理单元阵列配置信息的地址对处理单元阵列配置信息存储器进行读访问,索引出对应的配置信息层次3——处理单元阵列配置信息。
4.单个配置信息层次3的配置过程
处理单元阵列的配置寄存器接收来自处理单元阵列配置信息存储器的配置信息层次3——处理单元阵列配置信息,处理单元阵列根据配置信息进行对应操作。
5.至此,动态可重构处理器中层次化执行配置流的过程描述完毕。整个过程按照从配置信息层次0到配置信息层次3逐层递进的方式,完成了对动态可重构处理器执行一个应用算法的一个子任务时所需要的配置信息的全面配置,其整个配置过程的示意图可参见图8。
下文将以一个简单的应用算法为例,来说明与此应用算法对应的动态可重构处理器的层次化执行配置流的方法。
为便于说明,首先对于一些参数进行设定,具体如下:
1.动态可重构处理器内子单元内的处理单元阵列的规模为4,即有4个处理单元。
2.动态可重构处理器内子单元的个数为2。
3.对动态可重构处理器内的存储器进行编号,以简化配置信息内的说明,编号如下:
a)存储器0:处理器外数据存储器。
b)存储器1:外部数据暂存器(各子单元内)。
c)存储器2:内部数据存储器(各子单元内)。
d)存储器3:内部数据暂存器(各子单元内)。
e)存储器4:子单元间数据交互暂存器。
4.配置信息队列存于配置信息队列存储器内,假定每个配置信息队列的大小为0x80(128)byte,则配置信息队列存于配置信息队列存储器的0x100处表示配置信息队列存于存储器地址0x100起的0x80个byte。
5.处理单元阵列配置信息存于处理单元阵列配置信息存储器内,假定每个处理单元阵列配置信息的大小为0x100(256)byte,则处理单元阵列配置信息存于处理单元阵列配置信息存储器的0x200处表示处理单元阵列配置信息存于存储器地址0x200起的0x100个byte。
应用算法的C语言描述如下:
与此应用算法对应的层次化的动态可重构处理器的配置信息如下(这里仅以子单元1的两个子任务对应的完整配置信息进行说明):
1.子单元1配置信息:
a)子单元1配置信息1:
i.配置字:
1.具体的配置字如下:
2.配置过程:
配置字接口从总线上接收配置字,然后将外部数据读入装置的配置信息1和外部数据读入装置的配置信息2发送到外部数据读入装置的配置寄存器;外部数据写出装置无需配置;将子单元配置信息队列的地址及对应的同步信息传递到子任务缓存器。当确认上一个子任务执行完毕后,按照子任务缓存器中子单元配置信息队列的地址0x0对子单元配置信息队列存储器进行读访问,索引出子单元配置信息队列,传递给本地子单元配置信息队列存储器,同时将同步信息传递到子单元间同步控制器,用于控制与子单元2的同步。
ii.配置信息队列:
1.配置信息队列存于配置信息队列存储器的0x0处,占用0x80byte,具体信息如下:
2.配置过程:
本地子单元配置信息队列存储器接收来自子单元配置信息队列存储器的子单元配置信息队列,包括两部分内容:子单元间数据交互装置的配置信息和子单元配置信息1、2、3。这里子单元间数据交互装置的配置信息为空,不需要对子单元间数据交互装置进行配置。
iii.子单元配置信息:
1.配置信息队列中的子单元配置信息1、2、3如下:
2.配置过程:
a)将子单元配置信息1的内外部数据转换装置的配置信息传递到内外部数据转换装置的配置寄存器;将子单元配置信息1的内部数据读入装置的配置信息传递到内部数据读入装置的配置寄存器(此处为空);将子单元配置信息1的内部数据写出装置的配置信息传递到内部数据写出装置的配置寄存器;按照子单元配置信息1的处理单元阵列配置信息的地址0x000对处理单元阵列配置信息存储器进行读访问,索引出对应的处理单元阵列配置信息。
b)当a)中的配置信息全部执行完毕后,将子单元配置信息2的内外部数据转换装置的配置信息传递到内外部数据转换装置的配置寄存器(此处为空);将子单元配置信息2的内部数据读入装置的配置信息传递到内部数据读入装置的配置寄存器(此处为空);将子单元配置信息2的内部数据写出装置的配置信息传递到内部数据写出装置的配置寄存器;按照子单元配置信息2的处理单元阵列配置信息的地址0x100对处理单元阵列配置信息存储器进行读访问,索引出对应的处理单元阵列配置信息。
c)当b)中的配置信息全部执行完毕后,将子单元配置信息3的内外部数据转换装置的配置信息传递到内外部数据转换装置的配置寄存器;将子单元配置信息3的内部数据读入装置的配置信息传递到内部数据读入装置的配置寄存器;将子单元配置信息3的内部数据写出装置的配置信息传递到内部数据写出装置的配置寄存器;按照子单元配置信息3的处理单元阵列配置信息的地址0x200对处理单元阵列配置信息存储器进行读访问,索引出对应的处理单元阵列配置信息。
iv.处理单元阵列配置信息:
1.子单元配置信息1中的阵列的配置信息存于处理单元阵列配置信息存储器的0x0处,占用0x100 byte,具体信息如下:
2.子单元配置信息2中的阵列的配置信息存于处理单元阵列配置信息存储器的0x100处,占用0x100 byte,具体信息如下:
3.子单元配置信息3中的阵列的配置信息存于处理单元阵列配置信息存储器的0x200处,占用0x100 byte,具体信息如下:
b)子单元1配置信息2:
i.配置字:
1.具体的配置字如下:
2.配置过程:
配置字接口从总线上接收配置字,然后将外部数据写出装置的配置信息发送到外部数据写出装置的配置寄存器;外部数据读入装置无需配置;将子单元配置信息队列的地址及对应的同步信息传递到子任务缓存器。当确认上一个子任务执行完毕后,按照子任务缓存器中子单元配置信息队列的地址0x80对子单元配置信息队列存储器进行读访问,索引出子单元配置信息队列,传递给本地子单元配置信息队列存储器。此处无需与子单元2进行同步。
ii.配置信息队列:
1.配置信息队列存于配置信息队列存储器的0x80处,占用0x80 byte,具体信息如下:
2.配置过程:
本地子单元配置信息队列存储器接收来自子单元配置信息队列存储器的子单元配置信息队列,包括两部分内容:子单元间数据交互装置的配置信息和子单元配置信息1。本地子单元配置信息队列存储器将子单元间数据交互装置的配置信息传递到子单元间数据交互装置的配置寄存器。
iii.子单元配置信息:
1.配置信息队列中的子单元配置信息1如下:
2.配置过程:
当子单元间数据交互装置按照所配置的配置信息执行完所有的数据交互操作之后,本地子单元配置信息队列存储器将子单元配置信息1的内外部数据转换装置的配置信息传递到内外部数据转换装置的配置寄存器;将子单元配置信息1的内部数据读入装置的配置信息传递到内部数据读入装置的配置寄存器;将子单元配置信息1的内部数据写出装置的配置信息传递到内部数据写出装置的配置寄存器;按照子单元配置信息1的处理单元阵列配置信息的地址0x200对处理单元阵列配置信息存储器进行读访问,索引出对应的处理单元阵列配置信息。
iv.处理单元阵列配置信息:
1.处理单元阵列配置信息与子单元1的配置信息1的第3个处理单元阵列配置信息相同,存于处理单元阵列配置信息存储器的0x200处,占用0x100byte,此处不再赘述。
以上对本发明所提供的一种动态可重构处理器中层次化执行配置流的方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种动态可重构处理器中层次化执行配置流的方法,其特征在于,所述方法包括:
获取配置信息层次0,进行外部数据读入装置和写出装置配置信息的传递及操作;
将子单元配置信息队列的地址及对应的同步信息传递到子任务缓存器,依次按照各子任务对应的子单元配置信息队列的地址对子单元配置信息队列存储器进行读访问,索引对应的配置信息层次1,并将子任务内的同步信息传递给子单元间同步控制器,来控制子单元间的同步;
按照配置信息层次1中子单元间数据交互装置的配置信息子单元间数据交互装置完成相应操作后,依次执行子单元配置信息队列中的多个配置信息层次2;
根据配置信息层次2,进行内外部数据转换装置的配置信息、内部数据读入装置的配置信息和内部数据写出装置的配置信息的传递及操作;
根据配置信息层次2中处理单元阵列配置信息的地址对处理单元阵列配置信息存储器进行读访问,索引对应的配置信息层次3;
按照配置信息层次3处理单元阵列进行对应操作。
2.如权利要求1所述的方法,其特征在于:
所述配置信息层次0通过配置子接口从总线上接收的。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
子单元配置信息队列存储器接收来自子任务缓存器的子单元配置信息队列的地址。
4.如权利要求1所述的方法,其特征在于:
所述子任务缓存器在上一个子任务完成后会弹出下一个子任务。
5.如权利要求1所述的方法,其特征在于:
当前配置信息层次2的全部操作执行完才进行下一子单元配置信息的操作工作。
6.如权利要求1所述的方法,其特征在于:
所述配置信息层次0包括外部数据读入装置的配置信息、外部数据写出装置的配置信息和子单元配置信息队列。
7.如权利要求1所述的方法,其特征在于:
所述配置信息层次1包括子单元间数据交互装置的配置信息和子单元配置信息队列。
8.如权利要求1所述的方法,其特征在于:
所述配置信息层次2包括阵列的配置信息、内外部数据转换装置的配置信息、内部数据读入装置的配置信息、内部数据写出装置的配置信息。
9.如权利要求1所述的方法,其特征在于:
所述配置信息层次3包括每个处理单元的算术逻辑功能的选择信息和每个处理单元的输入选择信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110140266 CN102207850B (zh) | 2011-05-27 | 2011-05-27 | 一种动态可重构处理器中层次化执行配置流的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110140266 CN102207850B (zh) | 2011-05-27 | 2011-05-27 | 一种动态可重构处理器中层次化执行配置流的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102207850A true CN102207850A (zh) | 2011-10-05 |
CN102207850B CN102207850B (zh) | 2013-07-17 |
Family
ID=44696701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110140266 Active CN102207850B (zh) | 2011-05-27 | 2011-05-27 | 一种动态可重构处理器中层次化执行配置流的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102207850B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103034617A (zh) * | 2012-12-13 | 2013-04-10 | 东南大学 | 用于实现可重构系统配置信息存储的缓存结构和管理方法 |
CN103927269A (zh) * | 2014-04-23 | 2014-07-16 | 东南大学 | 一种基于块匹配的可重构配置信息缓存系统及压缩方法 |
CN108616348A (zh) * | 2018-04-19 | 2018-10-02 | 清华大学无锡应用技术研究院 | 使用可重构处理器实现安全算法、解密算法的方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060225139A1 (en) * | 2005-04-01 | 2006-10-05 | Renesas Technology Corp. | Semiconductor integrated circuit |
CN101114274A (zh) * | 2007-08-23 | 2008-01-30 | 顾士平 | 动态可重构指令处理器配置及通信控制器 |
US20110099555A1 (en) * | 2009-10-23 | 2011-04-28 | Samsung Electronics Co., Ltd. | Reconfigurable processor and method |
-
2011
- 2011-05-27 CN CN 201110140266 patent/CN102207850B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060225139A1 (en) * | 2005-04-01 | 2006-10-05 | Renesas Technology Corp. | Semiconductor integrated circuit |
CN101114274A (zh) * | 2007-08-23 | 2008-01-30 | 顾士平 | 动态可重构指令处理器配置及通信控制器 |
US20110099555A1 (en) * | 2009-10-23 | 2011-04-28 | Samsung Electronics Co., Ltd. | Reconfigurable processor and method |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103034617A (zh) * | 2012-12-13 | 2013-04-10 | 东南大学 | 用于实现可重构系统配置信息存储的缓存结构和管理方法 |
WO2014090066A1 (zh) * | 2012-12-13 | 2014-06-19 | 东南大学 | 用于实现可重构系统配置信息存储的缓存结构和管理方法 |
CN103034617B (zh) * | 2012-12-13 | 2015-09-30 | 深圳市同创国芯电子有限公司 | 用于实现可重构系统配置信息存储的缓存结构和管理方法 |
US9734056B2 (en) | 2012-12-13 | 2017-08-15 | Southeast University | Cache structure and management method for use in implementing reconfigurable system configuration information storage |
CN103927269A (zh) * | 2014-04-23 | 2014-07-16 | 东南大学 | 一种基于块匹配的可重构配置信息缓存系统及压缩方法 |
CN103927269B (zh) * | 2014-04-23 | 2016-11-16 | 东南大学 | 一种基于块匹配的可重构配置信息缓存系统及压缩方法 |
CN108616348A (zh) * | 2018-04-19 | 2018-10-02 | 清华大学无锡应用技术研究院 | 使用可重构处理器实现安全算法、解密算法的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102207850B (zh) | 2013-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10452452B2 (en) | Reconfigurable processor fabric implementation using satisfiability analysis | |
CN102637157B (zh) | 一种片上数字模板系统dtsoc | |
EP3005139B1 (en) | Incorporating a spatial array into one or more programmable processor cores | |
CN101594299B (zh) | 基于链表的交换网络中队列缓冲管理方法 | |
CN102279729B (zh) | 动态可重构阵列调用配置信息的方法、缓存器和处理器 | |
CN102541809B (zh) | 一种动态可重构处理器 | |
CN102306141B (zh) | 一种描述动态可重构阵列配置信息的方法 | |
CN102982505A (zh) | 虚拟gpu | |
CN102144225A (zh) | 实时数据处理方法和装置 | |
CN1434380A (zh) | 图像处理装置和方法以及用于该装置的编译程序 | |
EP4283475A2 (en) | Moving data in a memory and command for memory control | |
CN102236632B (zh) | 一种层次化描述动态可重构处理器配置信息的方法 | |
CN102279818A (zh) | 支持有限共享的向量数据访存控制方法及向量存储器 | |
US10659396B2 (en) | Joining data within a reconfigurable fabric | |
CN102207850B (zh) | 一种动态可重构处理器中层次化执行配置流的方法 | |
CN102402415A (zh) | 一种动态可重构阵列内数据缓存的装置及方法 | |
CN101983373B (zh) | 可重构装置 | |
CN106293757A (zh) | 机器人系统软件架构及其实现方法和装置 | |
US20180212894A1 (en) | Fork transfer of data between multiple agents within a reconfigurable fabric | |
CN107562549B (zh) | 基于片上总线和共享内存的异构众核asip架构 | |
CN108874730A (zh) | 一种数据处理器及数据处理方法 | |
CN110890120B (zh) | 基于阻变存储器的通用区块链应用处理加速方法及系统 | |
CN102184090B (zh) | 一种动态可重构处理器及其固定数的调用方法 | |
CN102200961B (zh) | 一种动态可重构处理器内子单元的扩展方法 | |
CN102393814A (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 |