CN102279729A - 动态可重构阵列调用配置信息的方法、缓存器和处理器 - Google Patents
动态可重构阵列调用配置信息的方法、缓存器和处理器 Download PDFInfo
- Publication number
- CN102279729A CN102279729A CN2011101595010A CN201110159501A CN102279729A CN 102279729 A CN102279729 A CN 102279729A CN 2011101595010 A CN2011101595010 A CN 2011101595010A CN 201110159501 A CN201110159501 A CN 201110159501A CN 102279729 A CN102279729 A CN 102279729A
- Authority
- CN
- China
- Prior art keywords
- configuration information
- array
- subelement
- buffer
- life period
- 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
技术领域
本发明涉及处理器内的信息调用方法,特别是指一种动态可重构阵列调用配置信息的方法、缓存器和处理器。
背景技术
动态可重构处理器内往往含有多个算术逻辑单元,且数量巨大,称之为众核阵列。阵列内部配以灵活度高的路由单元,实现算术逻辑单元之间多样化的互联。因此,经路由单元连接后的众核阵列可实现对数据流的高速处理,较传统的单核以及少核处理器在性能上有着巨大的优势。同时,较固化的专用电路在灵活性上也有着巨大的优势。
目前的动态可重构处理器的结构示意图如图1所示。动态可重构处理器的工作流程可概括为如下步骤:
动态可重构处理器由外部数据读入装置将处理器外存储器内待处理的数据读入处理器内,分发至子单元1、子单元2至子单元N等多个子单元处理内的外部数据缓存器。
多个子单元将数据从各自的外部数据缓存器读入,再进行处理。多个子单元同时处理,以达并行处理的效果。各子单元处理完后,将结果数据存于各自的内部数据缓存器。
外部数据写出装置将结果数据从各子单元的内部数据缓存器读入,并写出到处理器外部存储器。
另外,除上述步骤外,在工作流程中,还包括:子单元间的同步机制通过子单元间同步控制器来实现。
子单元间的数据交互通过由子单元1向子单元间数据交互暂存器写入数据,子单元2从子单元间数据交互暂存器读出此数据来实现。使用时还需结合子单元间的同步机制,即子单元1向子单元间数据交互暂存器写完数据后,子单元2才可开始读取子单元间数据交互暂存器。
动态可重构处理器可从数据流和配置流的角度去被描述。数据流的角度是指从对数据流的处理的角度出发,遍历数据流所经过的动态可重构处理器内的各模块,提出各模块所需的功能。从数据流的角度出发,动态可重构处理器在结构上可分为以下四个部分:
一、数据存储装置包括:
1、外部数据缓存器:用于将读入的外部数据缓存,待需要时被读出。
2、内部数据存储器:用于暂存处理单元阵列运算所要使用的数据,待需要时数据被读出,输出到处理单元阵列。
3、内部数据缓存器:用于对处理单元阵列的结果数据进行缓存,待输出至处理器外。
4、子单元间数据交互暂存器:用于暂存子单元1的结果数据,待子单元2读出,以实现子单元间的数据交互。
5、处理器间数据交互暂存器:用于暂存第一处理器的子单元的结果数据,待第二处理器的子单元读出,以实现处理器间的数据交互。
二、数据转移装置:用于将数据从数据存储装置读出,并写入另一个数据存储装置,使数据在数据存储装置之间转移。最终实现将数据写入处理单元阵列,处理单元阵列运行完后,将处理单元阵列的结果数据读出。
图1中的数据转移装置分为6个,包括:外部数据读入装置,片内数据交互装置,内外部数据转换装置,内部数据读入装置,内部数据写出装置,外部数据写出装置。按数据流的流动方向,具体说明如下。
1、外部数据读入装置:用于将动态可重构处理器外待处理的数据读入动态可重构处理器内,缓存于外部数据缓存器。
2、片内数据交互装置:用于将子单元间数据交换暂存器或者处理器间数据交互暂存器内存储的其他子单元的结果数据读出,分发至当前子单元的内部数据存储器或直接分发至处理单元阵列,这取决于此子单元的结果数据是否可直接被处理单元阵列处理。
3、内外部数据转换装置:用于将外部数据缓存器内缓存的外部数据分发至内部数据存储器或直接分发至处理单元阵列,这取决于此外部数据是否可直接被处理单元阵列处理。
4、内部数据读入装置:用于将内部数据存储器里存储的当前子单元的内部数据读出,并且在需要时将多块2D数据拼接成一块2D数据,最终将拼接后的数据(如果需要拼接的话)发送到处理单元阵列。
注:在本发明中,以2D的方式描述数据,一块2D数据块每行数据个数相同,并且以行对齐的方式存储在存储器中。
5、内部数据写出装置:用于将处理单元阵列的结果数据读出,再写入至处理单元阵列供紧接着运行处理单元阵列时使用,或写入至内部数据存储器将数据缓存起来,或写入子单元间数据交互暂存器供子单元间数据交互使用,或写入处理器间数据交互暂存器供处理器间数据交互使用,或写入内部数据缓存器待输出至处理器外。
6、外部数据写出装置:用于将缓存于内部数据缓存器的子单元的结果数据输出至处理器外。
三、运算单元
图1中的运算单元即处理单元阵列,处理单元是一个算术逻辑运算单元,可实现基本的算术运算功能和逻辑运算功能以及一些定制的算术逻辑运算功能。
处理单元之间通过路由单元连接,以实现处理单元之间的灵活且快速的数据传递。
整个处理单元阵列通过时序控制单元控制,以协调处理单元阵列的输入、运算、输出之间的时序关系。
处理单元阵列可实现对大批量数据进行循环操作的快速处理。
四、同步控制装置
同步控制装置即子单元间同步控制器,可实现多个子单元(1个至N个,N为子单元个数)均完成其各自的指定子任务后多个子单元(此处的多个可与之前的多个不一致)才可执行其各自子任务序列中的下一个子任务。
子单元间同步控制器实现了某任务在被划分为多个子任务后,分发至多个子单元并行执行,多个子单元并行执行完多个子任务后的同步。同步后才可开始下一任务的并行化执行。
上面说明了处理器的结构以及数据处理流程,下面通过配置流说明处理器处理任务的过程。定义出一套有效的控制信息和一组有效的控制机制,不仅对动态可重构处理器内的各个模块的功能进行控制,更使得各个模块之间可正确的协同工作。配置流从底层出发,首先完成一个简单的子任务,再由多个子任务串联起一个任务,最终由多个任务串联起一个完整的应用算法。
层次化的动态可重构处理器的配置信息定义如下(为便于理解,采取自底向上的方式来层层描述动态可重构处理器的配置信息):
配置信息层次3——处理单元阵列的配置信息,参见表1,包括:
每个处理单元的算术逻辑功能的选择信息。
每个处理单元的输入选择信息,这体现了处理单元阵列的路由结构。
处理单元阵列的时序控制信息。
表1处理单元阵列配置信息
配置信息层次2——动态可重构处理器的子单元的配置信息,参见表2,包括:
阵列的配置信息。
内外部数据转换装置的配置信息。
内部数据读入装置的配置信息。
内部数据写出装置的配置信息。
表2动态可重构处理器子单元的配置信息
配置信息层次1——动态可重构处理器的子单元配置信息队列,参见表3,包括:
子单元间数据交互装置的配置信息。
子单元配置信息队列。
表3动态可重构处理器的子单元配置信息队列
配置信息层次0——动态可重构处理器的配置字,参见表4,包括:外部数据读入装置的配置信息。
外部数据写出装置的配置信息。
子单元配置信息队列。
表4动态可重构处理器的配置字
参见图1,加入配置流的动态可重构处理器,层次化的动态可重构处理器的配置信息执行过程如下:
1.配置字接口从总线上接收配置信息层次0。
a)将外部数据读入装置的配置信息传递到外部数据读入装置;
b)将外部数据写出装置的配置信息传递到外部数据写出装置;
c)将子单元配置信息队列的地址及对应的同步信息传递到子任务缓存器。
d)当上一个子任务被执行完后,子任务缓存器弹出下一个子任务,按照此子任务对应的子单元配置信息队列的地址对子单元配置信息队列存储器进行读访问,索引出对应的配置信息层次1,传递给本地子单元配置信息队列存储器;
e)同时,将弹出的子任务内的同步信息传递给子单元间同步控制器,用于控制子单元间的同步。
2.本地子单元配置信息队列存储器接收来自子单元配置信息队列存储器的配置信息层次1,包括两部分内容:子单元间数据交互装置的配置信息和子单元配置信息队列。
a)将子单元间数据交互装置的配置信息传递到子单元间数据交互装置。
b)当子单元间数据交互装置按照所配置的配置信息执行完所有的数据交互操作之后,开始执行子单元配置信息队列。一个子单元配置信息队列中包含多个配置信息层次2。当前配置信息层次2对应的全部操作执行完毕后,才会进行下一个配置信息层次2的配置工作,进而执行对应操作。周而复始,直至子单元配置信息队列内的所有配置信息层次2被配置完。
3.单个配置信息层次2的执行过程如下:
a)将内外部数据转换装置的配置信息从本地子单元配置信息队列存储器传递到内外部数据转换装置。
b)将内部数据读入装置的配置信息从本地子单元配置信息队列存储器传递到内部数据读入装置。
c)将内部数据写出装置的配置信息从本地子单元配置信息队列存储器传递到内部数据写出装置。
d)根据子单元配置信息内的处理单元阵列配置信息的地址对处理单元阵列配置信息存储器进行读访问,索引出对应的配置信息层次3。
4.处理单元阵列的配置寄存器接收来自处理单元阵列配置信息存储器的配置信息层次3,然后处理单元阵列根据配置信息进行对应操作。
上述配置信息的调用过程中,处理单元阵列的配置寄存器、处理单元阵列配置信息存储器、本地子单元配置信息队列存储器之间,在调用配置信息时,存在调用时间长、效率低的问题。
发明内容
有鉴于此,本发明在于提供一种动态可重构阵列调用配置信息的方法、缓存器和处理器,以解决上述调用配置信息存在时间长、效率低的问题。
为解决上述问题,本发明提供一种动态可重构阵列处理器内调用配置信息的方法,包括:
子单元向处理单元阵列配置信息缓存器发出配置信息请求;
按照所述配置信息请求,在所述处理单元阵列配置信息缓存器内查找到一定时间内调用过的配置信息;
将所述配置信息反馈到所述子单元。
优选地,所述配置信息请求中包括配置信息地址;
查找到具有相同所述配置信息地址的所述配置信息,反馈到所述子单元。
优选地,所述反馈之后,还包括:
在所述处理单元阵列配置信息缓存器内,获得存在时间比所述查找到的配置信息的存在时间小的配置信息,更新所述获得的配置信息的存在时间;
在所述更新过程中,将所述查找到的所述配置信息的存在时间,设置为最小。
优选地,还包括:
如果在所述处理单元阵列配置信息缓存器没有查找到所述配置信息,则将所述配置信息地址发送至处理单元阵列配置信息存储器;
按照所述配置信息地址,在所述处理单元阵列配置信息存储器内查找到具有相同所述配置信息地址的所述配置信息;
将所述配置信息反馈到所述子单元。
优选地,所述处理单元阵列配置信息缓存器,将所述处理单元阵列配置信息存储器查找到的所述配置信息转发到所述子单元;
还包括:
所述处理单元阵列配置信息缓存器转发所述配置信息的过程中,将所述配置信息替换自身存储的存在时间最长的配置信息。
优选地,所述替换之后,还包括:
更新所述处理单元阵列配置信息缓存器内的各个配置信息的存在时间;在所述更新过程中,将所述替换后的所述配置信息的存在时间,设置为最小。
本发明还提供一种用于动态可重构阵列处理器的处理单元阵列配置信息缓存器,包括:
所述处理单元阵列配置信息缓存器包括:多个配置信息存储单元、逻辑控制单元;
每个所述信息存储单元,用于存储一条配置信息;
所述逻辑控制单元,用于接收配置信息请求,在所述信息存储单元中查找到一定时间内调用过的配置信息,并将所述查找到的配置信息回复所述配置信息请求的发起方。
优选地,所述逻辑控制单元包括:
检索模块,用于按照接收的所述配置信息请求中的配置信息地址,在所述配置信息存储单元中,查找到具有相同所述配置信息地址的配置信息,发送至所述子单元;
转发模块,用于在所述检索模块没有查找到所述配置信息,将转发所述配置信息请求;接收所述配置信息请求对应的所述配置信息,转发至所述子单元,并将所述配置信息替换所述配置信息存储单元中存在时间最长的配置信息;
时间戳模块,用于记录每个所述配置信息的存在时间,在所述检索模块或转发模块发送所述配置信息后,获得存在时间比所述查找到或替换后的配置信息的存在时间小的配置信息,更新所述获得的配置信息的存在时间,将所述查找到、或替换后的所述配置信息的存在时间,设置为最小。
本发明还提供一种动态可重构阵列处理器,包括:
子单元,用于向处理单元阵列配置信息缓存器发出配置信息请求;
所述处理单元阵列配置信息缓存器包括:多个配置信息存储单元、逻辑控制单元;
每个所述信息存储单元,用于存储一条配置信息;
所述逻辑控制单元,用于接收配置信息请求,在所述信息存储单元中查找到一定时间内调用过的配置信息,并将所述查找到的配置信息回复所述子单元;如果没有查找到,则将所述配置信息请求输出,接收回复的对应所述配置信息请求的配置信息,将所述接收的配置转发所述子单元。
优选地,还包括:
处理单元阵列配置信息存储器,用于接收来自所述处理单元阵列配置信息缓存器的所述配置请求;按照所述配置信息请求,在自身内查找到相应的所述配置信息,将所述配置信息回复给所述处理单元阵列配置信息缓存器。
本发明的方法、缓存器和处理器,缓存器内存储子单元在一定时间内调用的配置信息,这些配置信息只是全部配置信息中的一部分,全部的配置信息存储在处理单元阵列配置信息存储器中,只有在处理单元阵列配置信息高速缓存器内没有配置信息时,才会到处理单元阵列配置信息存储器内获得配置信息,调用频率较高的配置信息存储在缓存器内,从而提高了配置信息的调用效率,缩短了调用时间。
附图说明
图1是现有的处理器的结构图;
图2是实施例中处理器的结构图;
图3是实施例一的流程图;
图4是实施例中处理单元阵列配置信息缓存器的结构图;
图5是实施例二的流程图;
图6是实施例二中处理单元阵列配置信息缓存器内存储的配置信息更新前的示意图;
图7是实施例二中处理单元阵列配置信息缓存器内存储的配置信息更新后的示意图;
图8是实施例三的流程图;
图9是实施例三中处理单元阵列配置信息缓存器内存储的配置信息更新后的示意图;
图10中处理单元阵列配置信息缓存器的结构图;
图11是实施例中的处理器的结构图。
具体实施方式
为清楚说明本发明中的方案,下面给出优选的实施例并结合附图详细说明。
在本发明的实施例中,采用如图2所示处理器结构,处理器内包括多个子单元,包括子单元1、子单元2至子单元N。
每个子单元内包括本地子单元配置信息队列存储器,用于发出配置信息请求;还包括处理单元阵列配置寄存器,用于接收所述配置信息。
每个子单元连接处理单元阵列配置信息高速缓存器,处理单元阵列配置信息高速缓存器还连接处理单元阵列配置信息存储器。
下面结合图2中的处理器结构,详细说明本发明的各个实施例。
实施例一
参见图3,包括以下步骤:
S11:子单元向处理单元阵列配置信息高速缓存器发出配置信息请求;
处理单元阵列配置信息高速缓存器也称为处理单元阵列配置信息缓存器。
S12:按照所述配置信息请求,在所述处理单元阵列配置信息高速缓存器内查找到一定时间内调用过的配置信息;
在配置信息请求中,可添加配置信息的标识,如具有唯一性的配置信息地址、配置信息序列号等。
S13:将所述配置信息反馈到所述子单元。
在实施一的步骤中,缓存器内存储子单元在一定时间内调用的配置信息,这些配置信息只是全部配置信息中的一部分,全部的配置信息存储在处理单元阵列配置信息存储器中。由于缓存器具有读写速度高于存储器的特点,且存储的配置信息少,配置信息调用频率高,遍历时间短,会缩短子单元调用配置信息的时间,从而提高了配置信息的调用效率。
下面详细说明本发明的实施例二、三,在本发明的实施例中,处理单元阵列配置信息高速缓存器中包含4个配置信息存储单元,每个配置信息存储单元对应于一个序号,用于表示其存储内容进入缓存器的先后时间顺序,序号越大,表示存储时间越长,序号4表示最早进入缓存器的配置信息。
实施例二
参见图2,在实施例二中,子单元1调用处理单元阵列配置信息高速缓存器中的配置信息。在处理器内,处理单元阵列配置信息高速缓存器的结构如图4所示,包括逻辑控制单元、多个配置信息存储单元和三个接口。配置信息存储单元包括配置信息存储单元1、配置信息存储单元2至配置信息存储单元N,每个配置信息存储单元用于存储一条配置信息。
参见图5,包括以下步骤:
S21:子单元1的本地子单元配置信息队列存储器发出目标配置信息1的地址;
S22:处理单元阵列配置信息高速缓存器,通过图4中的本地子单元配置信息队列存储器接口,接收到目标配置信息1的地址;
S23:逻辑控制单元查找配置信息;
参见图4,处理单元阵列配置信息高速缓存器内的逻辑控制单元,分别用序号1至序号4对应的配置信息的配置信息地址和目标配置信息1的地址进行比较,查找到序号3对应的配置信息和目标配置信息1具有相同的配置信息地址。
其中,序号1至序号4分别对应4条配置信息。逻辑控制单元分别记录序号1至序号4对应配置信息的存在时间。序号1至序号4分别代表配置信息在处理单元阵列配置信息高速缓存器内的存在时间;序号1最小,代表存在时间最短;序号4最大,代表存在时间最长。
在查找前,处理单元阵列配置信息高速缓存器内配置单元的存储状态如图6所示。
S24:将查找到的配置信息发送到子单元1。
读取序号3对应的配置信息,逻辑控制单元将该配置信息的内容通过处理单元阵列配置寄存器接口发送到子单元1的处理单元阵列配置寄存器。
S25:更新配置信息的存在时间。
逻辑控制单元更新查找到的配置信息存在时间,以及更新比查找到的配置信息存在时间短的配置信息的存在时间,即加一个时间单位。相应的,序号也相应变化。将查找到的配置信息的存在时间设置为最小,同时序号也更新为最小。在实施例中,通过序号的大小代表存在时间,序号越大,存在时间越长;序号越小,存在时间越短。
将序号3所存储的配置信息所对应的存在时间设置为最小,并标记为最新进入处理单元阵列配置信息高速缓存器的配置信息,其序号变为1。剩下的3个配置信息序号更新后按照原有顺序排列,例如:序号2变为序号3,由于序号4对应的配置信息的存在时间长于序号3对应的配置信息的存在时间,序号4保持不变,更新后的结果参见表5:
表5
更新前 | 更新后 |
序号3 | 序号1 |
序号2 | 序号3 |
序号4 | 序号4 |
序号1 | 序号2 |
更新后处理单元阵列配置信息高速缓存器的状态如图7所示。通过设置存在时间,存在时间最短的配置信息代表最近被调用过。存在时间最长的配置信息代表长时间没有被再次调用过。当缓存器的存储空间不够时,以此作为缓存器中配置信息更新的依据。
实施例三
参见图2,在实施例三中,子单元2调用处理单元阵列配置信息高速缓存器中的配置信息。
参见图8,包括以下步骤:
S31:子单元2的本地子单元配置信息队列存储器发出目标配置信息2的地址;
S32:处理单元阵列配置信息高速缓存器,通过图7中的本地子单元配置信息队列存储器接口,接收到目标配置信息2的地址;
在本实施例中,为便于描述方便,继续沿用实施例二中缓冲器内更新后的配置信息存储单元的存储结果。将图7中更新后的存储结果作为本实施例中接收目标配置信息2时的存储状态。
S33:逻辑控制单元没有查找到配置信息,将目标配置信息2的地址发送至处理单元阵列配置信息存储器;
参见图8中的配置信息存储单元,分别存储有序号1~序号4所对应的4条配置信息。
逻辑控制单元分别用序号1~序号4所对应的配置信息的配置信息地址与目标配置信息2的地址进行比较,没有找到配置信息地址相同的配置信息。
逻辑控制单元将目标配置信息2的地址通过处理单元阵列配置信息存储器接口传递到处理单元阵列配置信息存储器。
S34:在处理单元阵列配置信息存储器内找到配置信息,并回复给处理单元阵列配置信息高速缓存器;
在处理单元阵列配置信息存储器内,查找配置信息地址与目标配置信息2的地址的配置信息。在查找到配置信息后,处理单元阵列配置信息存储器将配置信息反馈给处理单元阵列配置信息高速缓存器。
S35:将查找到的配置信息发送至子单元2的处理单元阵列配置寄存器,同时替换自身存储的配置信息;
逻辑控制单元将S34中查找到的配置信息的内容通过处理单元阵列配置寄存器接口发送到子单元2的处理单元阵列配置寄存器。
同时在配置信息存储单元中,逻辑控制单元找到存在时间最长的配置信息。使用在S34中查找到的配置信息,替换处理单元阵列配置信息高速缓存器内存在时间最长的配置信息。
逻辑控制单元找到存储时间最长的配置信息,即序号4中存储的配置信息,用S34中查找到的配置信息将其替换。
更新这4条配置信息的存在时间,即序号。将替换后的配置信息的序号设为1,其余3个配置信息的序号分别加一。
在本实施例中,由于序号4代表着对应的配置信息存在时间最长,因此将序号4对应的配置信息被S34中查找到的配置信息替换,序号4中存储的内容标记为最新进入处理单元阵列配置信息高速缓存器的配置信息,其序号变为1,将其存在时间设置为最小。剩下的3个配置信息更新序号后按照原有顺序排列,将每个配置信息的存在时间增加一个单位。相应的,序号也相应变化。更新后的结果参见表6:
表6
更新前 | 更新后 |
序号1 | 序号2 |
序号3 | 序号4 |
序号4 | 序号1 |
序号2 | 序号3 |
更新后处理单元阵列配置信息高速缓存器的状态如图9所示,在图8中的配置信息存储单元中存储的序号4所对应的配置信息,被替换后,其对应的序号更新为序号1。
上述实施例二、三中,只有在处理单元阵列配置信息高速缓存器内没有配置信息时,才会到处理单元阵列配置信息存储器内获得配置信息,调用频率较高的配置信息存储在缓存器内,从而提高了配置信息的调用效率,缩短了调用时间。
上面详细说明了本发明的方法实施例,下面结合附图详细说明本发明的处理器。
参见图10,所述处理单元阵列配置信息缓存器包括:多个配置信息存储单元、逻辑控制单元;
每个所述信息存储单元,用于存储一条配置信息;
所述逻辑控制单元,用于接收配置信息请求,在所述信息存储单元中查找到一定时间内调用过的配置信息,并将所述查找到的配置信息回复所述配置信息请求的发起方。
所述逻辑控制单元包括:
检索模块,用于通过本地子单元配置信息队列存储器接口,接收本地子单元配置信息队列存储器的配置请求,按照接收的所述配置信息请求中的配置信息地址,在所述配置信息存储单元中,查找到具有相同所述配置信息地址的配置信息,通过处理单元阵列配置寄存器接口发送至所述子单元的处理单元阵列配置寄存器;
转发模块,用于在所述检索模块没有查找到所述配置信息时,通过处理单元阵列配置信息存储器接口将转发所述配置信息请求;通过处理单元阵列配置信息存储器接口接收所述配置信息请求对应的所述配置信息,通过处理单元阵列配置寄存器接口发送至所述子单元的处理单元阵列配置寄存器,并将所述配置信息替换所述配置信息存储单元中存在时间最长的配置信息;
时间戳模块,用于记录每个所述配置信息的存在时间,在所述检索模块发送所述配置信息后,获得存在时间比所述查找到的配置信息的存在时间小的配置信息,更新所述获得的配置信息的存在时间,并将所述查找到的配置信息的存在时间设置为最小;
或转发模块发送所述配置信息后,更新每个所述配置信息的存在时间,并将所述替换后的配置信息的存在时间,设置为最小。
逻辑控制单元还记录着处理单元阵列配置信息高速缓存器中存储的N条配置信息的配置信息地址。
在处理单元阵列配置信息高速缓存器内,包括:
本地子单元配置信息队列存储器接口
本地子单元配置信息队列存储器接口连接着全部子单元的本地子单元配置信息队列存储器。
本地子单元配置信息队列存储器通过本地子单元配置信息队列存储器接口将处理单元阵列配置信息的地址传递到处理单元阵列配置信息高速缓存器,逻辑控制单元根据该地址进行判断,并决定在配置信息存储单元中查找,还是发送到处理单元阵列配置信息存储器。
处理单元阵列配置寄存器接口
处理单元阵列配置寄存器接口连接着全部处理单元阵列的配置寄存器。每一条被调用的配置信息都通过处理单元阵列配置寄存器接口传递到目标处理单元阵列的配置寄存器。
处理单元阵列配置信息存储器接口
处理单元阵列配置信息存储器接口连接着处理单元阵列配置信息存储器。
如果处理单元阵列需要调用的配置信息不在配置信息存储单元中,则通过处理单元阵列配置信息存储器接口将配置信息的地址传递到处理单元阵列配置信息存储器,待索引出需要的配置信息,再通过处理单元阵列配置信息存储器接口将配置信息传回处理单元阵列配置信息高速缓存器,替换存储时间最长的配置信息。
参见图11,图11是本发明实施例中的一种处理器的结构框图,包括:
子单元,用于向处理单元阵列配置信息缓存器发出配置信息请求;
所述处理单元阵列配置信息缓存器包括:多个配置信息存储单元、逻辑控制单元;
每个所述信息存储单元,用于存储一条配置信息;
所述逻辑控制单元,用于接收配置信息请求,在所述信息存储单元中查找到一定时间内调用过的配置信息,并将所述查找到的配置信息回复所述子单元;如果没有查找到,则将所述配置信息请求输出,接收回复的对应所述配置信息请求的配置信息,将所述接收的配置转发所述子单元。
所述处理单元阵列配置信息缓存器的具体结构可参见图10,其结构已经阐述,不再赘述。
优选地,处理器还包括:处理单元阵列配置信息存储器,用于接收来自所述处理单元阵列配置信息缓存器的所述配置请求;按照所述配置信息请求,在自身内查找到相应的所述配置信息,将所述配置信息回复给所述处理单元阵列配置信息缓存器。
上面详细描述了本发明的实施例中的处理器,对于该处理器,可实现上述方法实施例中的所有步骤,不一一赘述。
对于本发明各个实施例中所阐述的方法和处理器,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种动态可重构阵列处理器内调用配置信息的方法,其特征在于,包括:
子单元向处理单元阵列配置信息缓存器发出配置信息请求;
按照所述配置信息请求,在所述处理单元阵列配置信息缓存器内查找到一定时间内调用过的配置信息;
将所述配置信息反馈到所述子单元。
2.根据权利要求1所述的方法,其特征在于,所述配置信息请求中包括配置信息地址;
查找到具有相同所述配置信息地址的所述配置信息,反馈到所述子单元。
3.根据权利要求2所述的方法,其特征在于,所述反馈之后,还包括:
在所述处理单元阵列配置信息缓存器内,获得存在时间比所述查找到的配置信息的存在时间小的配置信息,更新所述获得的配置信息的存在时间;
在所述更新过程中,将所述查找到的所述配置信息的存在时间,设置为最小。
4.根据权利要求2所述的方法,其特征在于,还包括:
如果在所述处理单元阵列配置信息缓存器没有查找到所述配置信息,则将所述配置信息地址发送至处理单元阵列配置信息存储器;
按照所述配置信息地址,在所述处理单元阵列配置信息存储器内查找到具有相同所述配置信息地址的所述配置信息;
将所述配置信息反馈到所述子单元。
5.根据权利要求4所述的方法,其特征在于,所述处理单元阵列配置信息缓存器,将所述处理单元阵列配置信息存储器查找到的所述配置信息转发到所述子单元;
还包括:
所述处理单元阵列配置信息缓存器转发所述配置信息的过程中,将所述配置信息替换自身存储的存在时间最长的配置信息。
6.根据权利要求5所述的方法,其特征在于,所述替换之后,还包括:
更新所述处理单元阵列配置信息缓存器内的各个配置信息的存在时间;
在所述更新过程中,将所述替换后的所述配置信息的存在时间,设置为最小。
7.一种用于动态可重构阵列处理器的处理单元阵列配置信息缓存器,其特征在于,包括:
所述处理单元阵列配置信息缓存器包括:多个配置信息存储单元、逻辑控制单元;
每个所述信息存储单元,用于存储一条配置信息;
所述逻辑控制单元,用于接收配置信息请求,在所述信息存储单元中查找到一定时间内调用过的配置信息,并将所述查找到的配置信息回复所述配置信息请求的发起方。
8.根据权利要求7所述的缓存器,其特征在于,所述逻辑控制单元包括:
检索模块,用于按照接收的所述配置信息请求中的配置信息地址,在所述配置信息存储单元中,查找到具有相同所述配置信息地址的配置信息,发送至所述子单元;
转发模块,用于在所述检索模块没有查找到所述配置信息,将转发所述配置信息请求;接收所述配置信息请求对应的所述配置信息,转发至所述子单元,并将所述配置信息替换所述配置信息存储单元中存在时间最长的配置信息;
时间戳模块,用于记录每个所述配置信息的存在时间,在所述检索模块发送所述配置信息后,获得存在时间比所述查找到的配置信息的存在时间小的配置信息,更新所述获得的配置信息的存在时间,并将所述查找到的配置信息的存在时间设置为最小;
或转发模块发送所述配置信息后,更新每个所述配置信息的存在时间,并将所述替换后的配置信息的存在时间,设置为最小。
9.一种动态可重构阵列处理器,其特征在于,包括:
子单元,用于向处理单元阵列配置信息缓存器发出配置信息请求;
所述处理单元阵列配置信息缓存器包括:多个配置信息存储单元、逻辑控制单元;
每个所述信息存储单元,用于存储一条配置信息;
所述逻辑控制单元,用于接收配置信息请求,在所述信息存储单元中查找到一定时间内调用过的配置信息,并将所述查找到的配置信息回复所述子单元;如果没有查找到,则将所述配置信息请求输出,接收回复的对应所述配置信息请求的配置信息,将所述接收的配置转发所述子单元。
10.根据权利要求9所述的处理器,其特征在于,还包括:
处理单元阵列配置信息存储器,用于接收来自所述处理单元阵列配置信息缓存器的所述配置请求;按照所述配置信息请求,在自身内查找到相应的所述配置信息,将所述配置信息回复给所述处理单元阵列配置信息缓存器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110159501.0A CN102279729B (zh) | 2011-06-14 | 2011-06-14 | 动态可重构阵列调用配置信息的方法、缓存器和处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110159501.0A CN102279729B (zh) | 2011-06-14 | 2011-06-14 | 动态可重构阵列调用配置信息的方法、缓存器和处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102279729A true CN102279729A (zh) | 2011-12-14 |
CN102279729B CN102279729B (zh) | 2014-11-26 |
Family
ID=45105201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110159501.0A Active CN102279729B (zh) | 2011-06-14 | 2011-06-14 | 动态可重构阵列调用配置信息的方法、缓存器和处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102279729B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019657A (zh) * | 2012-12-31 | 2013-04-03 | 东南大学 | 支持数据预取与重用的可重构系统 |
CN103034617A (zh) * | 2012-12-13 | 2013-04-10 | 东南大学 | 用于实现可重构系统配置信息存储的缓存结构和管理方法 |
CN103218345A (zh) * | 2013-03-15 | 2013-07-24 | 上海安路信息科技有限公司 | 可适应多种数据流计算模式的动态可重构系统及运作方法 |
CN105447414A (zh) * | 2015-10-21 | 2016-03-30 | 清华大学无锡应用技术研究院 | 可重构密码处理器 |
CN103927270B (zh) * | 2014-02-24 | 2017-02-08 | 东南大学 | 一种面向多个粗粒度动态可重构阵列的共享数据缓存装置及控制方法 |
CN110096474A (zh) * | 2019-04-28 | 2019-08-06 | 北京超维度计算科技有限公司 | 一种基于可重构计算的高性能弹性计算架构及方法 |
CN112559441A (zh) * | 2020-12-11 | 2021-03-26 | 清华大学无锡应用技术研究院 | 一种数字信号处理器的控制方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101625635A (zh) * | 2009-07-31 | 2010-01-13 | 清华大学 | 一种处理循环任务的方法、系统和设备 |
CN101630306A (zh) * | 2009-08-14 | 2010-01-20 | 西北工业大学 | 动态可重构装置以及用该装置进行动态可重构的方法 |
-
2011
- 2011-06-14 CN CN201110159501.0A patent/CN102279729B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101625635A (zh) * | 2009-07-31 | 2010-01-13 | 清华大学 | 一种处理循环任务的方法、系统和设备 |
CN101630306A (zh) * | 2009-08-14 | 2010-01-20 | 西北工业大学 | 动态可重构装置以及用该装置进行动态可重构的方法 |
Non-Patent Citations (1)
Title |
---|
王峰: "部分重构计算系统的关键技术研究", 《中国博士学位论文全文数据库》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103034617A (zh) * | 2012-12-13 | 2013-04-10 | 东南大学 | 用于实现可重构系统配置信息存储的缓存结构和管理方法 |
CN103034617B (zh) * | 2012-12-13 | 2015-09-30 | 深圳市同创国芯电子有限公司 | 用于实现可重构系统配置信息存储的缓存结构和管理方法 |
CN103019657A (zh) * | 2012-12-31 | 2013-04-03 | 东南大学 | 支持数据预取与重用的可重构系统 |
CN103019657B (zh) * | 2012-12-31 | 2015-09-16 | 东南大学 | 支持数据预取与重用的可重构系统 |
CN103218345A (zh) * | 2013-03-15 | 2013-07-24 | 上海安路信息科技有限公司 | 可适应多种数据流计算模式的动态可重构系统及运作方法 |
CN103927270B (zh) * | 2014-02-24 | 2017-02-08 | 东南大学 | 一种面向多个粗粒度动态可重构阵列的共享数据缓存装置及控制方法 |
CN105447414A (zh) * | 2015-10-21 | 2016-03-30 | 清华大学无锡应用技术研究院 | 可重构密码处理器 |
CN110096474A (zh) * | 2019-04-28 | 2019-08-06 | 北京超维度计算科技有限公司 | 一种基于可重构计算的高性能弹性计算架构及方法 |
CN112559441A (zh) * | 2020-12-11 | 2021-03-26 | 清华大学无锡应用技术研究院 | 一种数字信号处理器的控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102279729B (zh) | 2014-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102279729B (zh) | 动态可重构阵列调用配置信息的方法、缓存器和处理器 | |
CN103106158A (zh) | 包括键-值存储的存储器系统 | |
CN102567258B (zh) | 多维dma传输装置与方法 | |
CN101706760B (zh) | 矩阵转置自动控制电路系统及矩阵转置方法 | |
CN102521201A (zh) | 多核数字信号处理器片上系统及数据传输方法 | |
CN1279729C (zh) | 基于tcam的分布式并行ip路由查找方法 | |
CN108369562A (zh) | 具有增强型访问调度器的智能编码存储器架构 | |
CN101777031B (zh) | 直接存储器存取控制器以及数据传输方法 | |
CN102662889A (zh) | 中断处理方法、中断控制器及处理器 | |
CN101594299A (zh) | 基于链表的交换网络中队列缓冲管理方法 | |
CN103914556A (zh) | 大规模图数据处理方法 | |
CN100573500C (zh) | 基于Avalon总线的流处理器IP核 | |
CN104615684A (zh) | 一种海量数据通信并发处理方法及系统 | |
CN102402422A (zh) | 处理器组件及该组件内存共享的方法 | |
CN102236632B (zh) | 一种层次化描述动态可重构处理器配置信息的方法 | |
CN102760073A (zh) | 一种任务调度方法、系统及装置 | |
JP5810918B2 (ja) | スケジューリング装置、スケジューリング方法及びプログラム | |
CN103970714A (zh) | 用于共享功能逻辑的设备和方法及其可重配置处理器 | |
CN104239520B (zh) | 一种基于历史信息的hdfs数据块放置策略 | |
CN102207850B (zh) | 一种动态可重构处理器中层次化执行配置流的方法 | |
CN102184090B (zh) | 一种动态可重构处理器及其固定数的调用方法 | |
CN106168932A (zh) | 一种Flash控制方法及装置 | |
CN102200961B (zh) | 一种动态可重构处理器内子单元的扩展方法 | |
CN102385555A (zh) | 一种缓存系统和数据缓存的方法 | |
CN103377034A (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 |