一种动态可重构处理器内调用立即数的方法

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

发明内容
本发明所要解决的技术问题是提供一种动态可重构处理器内调用立即数的方法, 实现对立即数的调用,极大的提高的工作效率。为了解决上述问题,本发明公开了一种动态可重构处理器内调用立即数的方法, 所述方法包括A、动态可重构处理器子单元配置字缓存器弹出子单元配置字;B、子单元配置字中的子任务序列被装载进本地子任务序列存储器;子单元配置字中的当前任务的必选立即数以及可选立即数分别写入必选立即数寄存器和可选立即数寄存器1 ; C、开始执行子任务序列中的下一个任务,子任务信息内的处理单元配置信息配置处理单元;子任务信息内的可选立即数的选择信息将当前子任务所用的可选立即数从可选立即数寄存器1中选出并写入可选立即数寄存器2 ;D、处理单元调用必选立即数寄存器和可选立即数寄存器2中的立即数执行当前子任务;E、判定子任务序列中是否还有子任务未执行若是,则返回C执行下一个子任务;
若否,则返回A弹出下一个子单元配置字。优选的,所述子单元配置字缓存器中缓存有多个子单元配置字,一个子单元配置字对应子单元将要执行的一个任务。优选的,所述子单元配置字中包含子单元将要执行的任务的子任务序列,子任务序列构成一个任务和子单元将要执行的任务中所需调用的立即数,所述立即数包括必选立即数和可选立即数。优选的,子单元所执行的任务被划分为多个子任务分多次在处理单元上执行。优选的,所述子任务信息包括当前子任务的处理单元配置信息和当前子任务所用到的可选立即数的选择信息。优选的,所述立即数为动态可重构处理器的子单元内的处理单元在运算过程中需要使用的不可预测的数。优选的,所述必选立即数是作用范围为当前子任务序列的立即数,可选立即数是作用范围为子任务序列中的子任务的立即数。优选的,所述必选立即数寄存器直接被处理单元调用。优选的,所述可选立即数寄存器1中存有多组可选立即数,可选立即数寄存器1的大小取决于一组可选立即数的个数和可选立即数的组数,寄存器的大小大于等于此“一组个数*组数”。优选的,所述可选立即数寄存器2的大小取决于一组可选立即数的个数,寄存器的大小大于此个数。与现有技术相比,本发明具有以下优点本发明中动态可重构处理器子单元配置字缓存器弹出子单元配置字,子单元配置字中的子任务序列被装载进本地子任务序列存储器,子单元配置字中的当前任务的必选立即数以及可选立即数分别写入必选立即数寄存器和可选立即数寄存器1,划分必选立即数和可选立即数后减少每次本地子任务中立即数传输操作,每次只需改变可选立即数即可, 极大的提高的工作效率。


图1是本发明具体实施方式
中所述的一种典型的动态可重构处理器的示意图;图2是本发明实施例所述的一种动态可重构处理器内调用立即数的方法流程图;图3是本发明实施例所述的一种用于实现动态可重构处理器内使用立即数的装置示意图。
具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本发明作进一步详细的说明。一种典型的动态可重构处理器的结构示意图如图1所示,动态可重构处理器的运转流程可概括为如下步骤1.动态可重构处理器由外部数据读入装置将处理器外存储器内待处理的数据读入处理器内,分发至多个子单元处理内的外部数据缓存器。
2.多个子单元将数据从各自的外部数据缓存器读出,再进行处理。多个子单元同时处理,以达并行处理的效果。各子单元处理完后,将结果数据存于各自的内部数据缓存
ο3.外部数据写出装置将结果数据从各子单元的内部数据缓存器读出,并写出到处理器外部存储器。除上述步骤外,还需说明的是子单元间的同步机制通过子单元间同步控制器来实现;子单元间的数据交互通过由子单元A向子单元间数据交互暂存器写入数据,子单元B 从子单元间数据交互暂存器读出此数据来实现。使用时还需结合子单元间的同步机制,即子单元A向子单元间数据交互暂存器写完数据后,子单元B才可开始读取子单元间数据交互暂存器。动态可重构处理器可从数据流和配置流的角度去被描述。数据流的角度是指从对数据流的处理的角度出发,遍历数据流所经过的动态可重构处理器内的各模块,提出各模块所需的功能。从数据流的角度出发,动态可重构处理器在结构上可分为以下四个部分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)处理单元阵列可实现对大批量数据进行循环操作的快速处理。4.同步控制装置a)同步控制装置即子单元间同步控制器。b)其实现多个子单元(1个至N个,N为子单元个数)均完成其各自的指定任务后多个子单元(此处的多个可与之前的多个不一致)才可执行其各自任务序列中的下一个任务。c)子单元间同步控制器实现了某综合任务在被划分为多个任务后,分发至多个子单元并行执行,多个子单元并行执行完多个任务后的同步。同步后才可开始下一综合任务的并行化执行。实施例参照图2,示出了本发明的一种动态可重构处理器内调用立即数的方法流程图,所述方法包括步骤S201,动态可重构处理器子单元配置字缓存器弹出子单元配置字;步骤S202,子单元配置字中的子任务序列被装载进本地子任务序列存储器;子单元配置字中的当前任务的必选立即数以及可选立即数分别写入必选立即数寄存器和可选立即数寄存器1 ;步骤S203,开始执行子任务序列中的下一个任务,子任务信息内的处理单元配置信息配置处理单元;
7
子任务信息内的可选立即数的选择信息将当前子任务所用的可选立即数从可选立即数寄存器1中选出并写入可选立即数寄存器2 ;步骤S204,处理单元调用必选立即数寄存器和可选立即数寄存器2中的立即数执行当前子任务;步骤S205,判定子任务序列中是否还有子任务未执行若是,则返回步骤S203执行下一个子任务;若否,则返回步骤S201弹出下一个子单元配置字。参照图3,示出了一种用于实现动态可重构处理器内使用立即数的装置示意图,具体到所述的装置中1.子单元配置字缓存器a)子单元配置字缓存器中缓存有多个子单元配置字,一个子单元配置字对应子单元将要执行的一个任务,子单元配置字被写入子单元配置字缓存器中并缓存;b)子单元配置字中包含两部分内容i.子单元将要执行的任务的子任务序列,子任务序列构成一个任务;ii.子单元将要执行的任务中所需调用的立即数,即子任务序列中所需调用的立即数,这包括必选立即数和可选立即数;c)每当一个任务开始执行,子单元配置字缓存器中弹出一个配置字i.配置字中的子任务序列被装载进本地子任务序列存储器;ii.必选立即数和可选立即数分别被装载进必选立即数寄存器和可选立即数寄存器1 ;2.本地子任务序列存储器a)动态可重构处理器的子单元执行任务过程中,子单元所执行的任务被划分为多个子任务分多次在处理单元上执行,子任务序列存储于本地子任务序列存储器中;b)子任务信息中包含两部分内容i.当前子任务的处理单元配置信息;ii.当前子任务所用到的可选立即数的选择信息;c)每当一个子任务开始执行时i.子任务信息内的处理单元配置信息配置处理单元;ii.子任务信息内的可选立即数的选择信息将当前子任务所用的可选立即数从可选立即数寄存器1中选出并写入可选立即数寄存器2。3.立即数寄存器a)立即数为动态可重构处理器的子单元内的处理单元在运算过程中需要使用的不可预测的数。b)立即数存储于子单元配置字内,随子单元配置字被写入子单元配置字缓存器而进入子单元内,当子单元配置字缓存器弹出配置字时,配置字内的立即数信息随即发送到立即数寄存器;c)立即数分为可选立即数和必选立即数i.必选立即数1.必选立即数是作用范围为当前子任务序列的立即数。
2.在当前配置字被弹出后随即被写入必选立即数寄存器,当下个配置字弹出后, 被下个任务的必选立即数所覆盖。3.必选立即数寄存器直接被处理单元调用;ii.可选立即数1.可选立即数是作用范围为子任务序列中的子任务的立即数。2.在当前配置字被弹出后各子任务用到的多组可选立即数随即被写入可选立即数寄存器1。3.在当前子任务序列执行的过程中,每当一个子任务开始执行,可选立即数的选择信息将当前子任务所用的一组可选立即数从可选立即数寄存器1中选出并写入可选立即数寄存器2。4.将立即数细分为可选立即数,并从可选立即数寄存器1中选择一组可选立即数到可选立即数寄存器2中,将使得对可选立即数组数的选择在此步骤完成,而不是在处理单元去完成,这将减少由此带来的额外的处理单元配置信息的存储量。d)立即数寄存器1.必选立即数寄存器的大小取决于子任务序列中需用到的必选立即数的个数,寄存器的大小需大于等于此个数。2.可选立即数寄存器1中存有多组可选立即数,可选立即数寄存器1的大小取决于一组可选立即数的个数和可选立即数的组数,寄存器的大小需大于等于此“一组个数* 组数”。3.可选立即数寄存器2的大小取决于一组可选立即数的个数,寄存器的大小需大于此个数。4.处理单元a)处理单元在子任务序列的每步子任务中调用已装载进立即数的必选立即数寄存器和可选立即数寄存器2。b)处理单元是图1中的子单元中的数据通路,这包括内外部数据转换装置、内部数据读入装置、内部数据写出装置、外部数据缓存器、内部数据存储器、内部数据缓存器和处理单元阵列,处理单元中实际上用到立即数的装置是处理单元阵列。下面以一个动态可重构处理器内使用立即数为例,来说明本动态可重构处理器内使用立即数的方法。为了便于说明,首先对于参数进行一些设定,具体如下1.子单元配置字缓存器中存储配置字个数为1个,分别标记为配置字1,对应着子单元任务1。配置字1对应子单元的任务被划分为2个子任务。2.配置字1中,存储的立即数信息为子单元任务1内所需必选立即数为4个,分别为1011,1101,1111,1010,每个子任务所需可选立即数均为1个,依次为0101,0001。立即数信息如下表
权利要求
1.一种动态可重构处理器内调用立即数的方法,其特征在于,所述方法包括A、动态可重构处理器子单元配置字缓存器弹出子单元配置字;B、子单元配置字中的子任务序列被装载进本地子任务序列存储器;子单元配置字中的当前任务的必选立即数以及可选立即数分别写入必选立即数寄存器和可选立即数寄存器1 ;C、开始执行子任务序列中的下一个任务,子任务信息内的处理单元配置信息配置处理单元;子任务信息内的可选立即数的选择信息将当前子任务所用的可选立即数从可选立即数寄存器1中选出并写入可选立即数寄存器2 ;D、处理单元调用必选立即数寄存器和可选立即数寄存器2中的立即数执行当前子任务;E、判定子任务序列中是否还有子任务未执行 若是,则返回C执行下一个子任务;若否,则返回A弹出下一个子单元配置字。
2.如权利要求1所述的方法,其特征在于所述子单元配置字缓存器中缓存有多个子单元配置字,一个子单元配置字对应子单元将要执行的一个任务。
3.如权利要求1所述的方法,其特征在于所述子单元配置字中包含子单元将要执行的任务的子任务序列,子任务序列构成一个任务和子单元将要执行的任务中所需调用的立即数,所述立即数包括必选立即数和可选立即数。
4.如权利要求1所述的方法,其特征在于子单元所执行的任务被划分为多个子任务分多次在处理单元上执行。
5.如权利要求1所述的方法,其特征在于所述子任务信息包括当前子任务的处理单元配置信息和当前子任务所用到的可选立即数的选择信息。
6.如权利要求1所述的方法,其特征在于所述立即数为动态可重构处理器的子单元内的处理单元在运算过程中需要使用的不可预测的数。
7.如权利要求1所述的方法,其特征在于所述必选立即数是作用范围为当前子任务序列的立即数,可选立即数是作用范围为子任务序列中的子任务的立即数。
8.如权利要求1所述的方法,其特征在于 所述必选立即数寄存器直接被处理单元调用。
9.如权利要求1所述的方法,其特征在于所述可选立即数寄存器1中存有多组可选立即数,可选立即数寄存器1的大小取决于一组可选立即数的个数和可选立即数的组数,寄存器的大小大于等于此“一组个数*组数”。
10.如权利要求1所述的方法,其特征在于所述可选立即数寄存器2的大小取决于一组可选立即数的个数,寄存器的大小大于此个数。
全文摘要
本发明提供了一种动态可重构处理器内调用立即数的方法,动态可重构处理器子单元配置字缓存器弹出子单元配置字,子单元配置字中的子任务序列被装载进本地子任务序列存储器,子单元配置字中的当前任务的必选立即数以及可选立即数分别写入必选立即数寄存器和可选立即数寄存器1,划分必选立即数和可选立即数后减少每次本地子任务中立即数传输操作,每次只需改变可选立即数即可,极大的提高的工作效率。
文档编号G06F9/34GK102207851SQ201110140358
公开日2011年10月5日 申请日期2011年5月27日 优先权日2011年5月27日
发明者刘雷波, 尹首一, 戚斌, 时龙兴, 曹鹏, 朱敏, 杨军, 王延升, 魏少军 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1