基于共享寄存器和流水处理的处理器阵列的制作方法

文档序号:6398514阅读:276来源:国知局
专利名称:基于共享寄存器和流水处理的处理器阵列的制作方法
技术领域
本发明涉及多处理器阵列技术,尤其涉及一种基于共享寄存器和流水处理的处理器阵列。
背景技术
多处理器系统采用两个或多个计算处理单元,各计算处理单元可以通过总线或互联网络进行通信。处理器阵列则是由更多的处理器单元构成的阵列,用单一的控制部件来控制整个处理器阵列中每一处理器单元对各自的数据进行相关的运算和操作。目前,对于实时复杂运算的需求不断增长,特别是视频以及人工智能方面的需求,因而要求更大规模的计算资源。但传统的单个或是多处理器单元无法满足如此大规模的计算需求,同时也无法满足快速实时反应的要求。因此,需要利用处理器阵列这样的并行计算机硬件来提升计算效率,但是,在处理器阵列中包含的处理器单元较多时,需要一种更优的方案来使各个处理器单元协同工作。

发明内容
本发明要解决的技术问题是提供一种基于共享寄存器和流水处理的处理器阵列,能够使多个处理器单元协同工作,有利于提高处理器阵列的计算效率。为解决上述技术问题,本发明提供了一种基于共享寄存器和流水处理的处理器阵列,包括:多个处理器单元,划分在多个流水级内,每一流水级包括一个或多个处理器单元,不同流水级之间的处理器单元相互独立;多个寄存器文件,分布在所述多个流水级内,每一流水级包含一个寄存器文件,同一流水级内的处理器单元通过本流水级内的寄存器文件进行数据交互,各流水级内的寄存器文件将数据逐级推移至下一流水级内的寄存器文件。根据本发明的一个实施例,所述处理器阵列还包括:初始寄存器文件,与所述多个流水级中第一个流水级内的寄存器文件相连,用于存储待处理的原始数据,在所述处理器阵列启动时将所述原始数据推移至所述第一个流水级内的寄存器文件。根据本发明的一个实施例,所述处理器阵列还包括:结果寄存器文件,与所述多个流水级中最后一个流水级内的寄存器文件相连,所述最后一个流水级内的寄存器文件将数据推移至所述结果寄存器文件。根据本发明的一个实施例,所述处理器阵列还包括:全局流水级控制单元,用于控制所述多个流水级的启动以及各流水级之间的转换。根据本发明的一个实施例,所述处理器阵列还包括:所述多个流水级具有相同的流水级时间。根据本发明的一个实施例,相邻流水级内的寄存器文件通过寄存器空间复制的方式传递数据。
根据本发明的一个实施例,所述处理器单元包括MIPS核、ARM核或DSP核。与现有技术相比,本发明具有以下优点:本发明实施例的处理器阵列采用多个流水级的方式组织各个处理器单元,同一流水级内的处理器单元通过本流水级的寄存器文件进行数据交互,不同流水级内的处理器单元彼此之间并不直接进行通信,相邻流水级之间通过寄存器文件进行数据的传递,使得整个处理器阵列能够很好地协同工作,有利于提高运算处理效率。


图1是本发明实施例处理器阵列的结构示意图。
具体实施例方式下面结合具体实施例和附图对本发明作进一步说明,但不应以此限制本发明的保护范围。参考图1,本实施例的处理器阵列包括多个处理器单元W,处理器单元PU可以是一般意义上由程序控制的逻辑单元,可以完成各种算术、逻辑、移位、乘加等运算,例如可以是MIPS核、ARM核或DSP核,但并不限于此。各个处理器单元PU被划分成多个流水级(Stage),分别为流水级1、流水级2……流水级N,其中N为正整数。不同流水级的处理器单元PU是相互独立的,不能直接进行数据交互,换言之,不同流水级的处理器单元PU之间不具有直接的通信连接。采用多个流水级的方案可以有效降低运算处理时间,能够将需要多个周期完成的计算工作有效拆分为较短时间周期的多个流水级来处理,每个流水级同时并行、独立工作。每一流水级内包含一个寄存器文件,例如,流水级I内设置有流水级I寄存器文件,流水级2内设置有流水级2寄存器文件,……,流水级N内设置有流水级N寄存器文件。各个流水级之间通过寄存器文件来实现数据的传递。每一流水级的执行时间是启动之前设置确定的,并且作为一个优选的实施例,所有流水级具有相同的流水级时间。统一的流水级时间可以保证流水级不会出现溢出现象。同一流水级内的处理器单元通过本流水级内的寄存器文件进行数据交互,同一流水级内的所有数据存放都在本流水级内的寄存器文件中进行,包括中间变量以及结果的存放。例如,流水级I内的各个处理器单元PU都与流水级I寄存器文件相连,流水级I内的各个处理器单元PU都将需要交互的数据存入流水级I寄存器文件,以供流水级I内的其他处理器单元PU共享。各流水级内的寄存器文件将数据逐级推移至下一流水级内的寄存器文件,当前流水级完成数据处理后,将本流水级的寄存器文件中的内容推移至下一流水级内的寄存器文件。例如,流水级I中的各个处理器单元PU完成各自的操作运算,到达流水级时间时,流水级I内的流水级I寄存器文件的内容将被推移至流水级2内的流水级2寄存器文件。作为一个非限制性的例子,相邻流水 级内寄存器文件采用寄存器空间复制的方式传递数据。此外,本实施例的处理器阵列还包括初始寄存器文件,与第一个流水级内的寄存器文件相连,在本实施例中具体是和流水级I寄存器文件相连,用于存储待处理的原始数据,在处理器阵列启动时将存储的原始数据推移至流水级I寄存器文件中。之后,流水级I由启动控制指令触发,其中的各个处理器单元PU开始按照预设的指令对原始数据进行运算操作。本实施例的处理器阵列还包括结果寄存器文件,与最后一个流水级内的寄存器文件相连,在本实施例中具体是和流水级N寄存器文件相连,流水级N寄存器文件将运算结果推移至结果寄存器文件中。另外,结果寄存器文件还可以通知外部器件取走运算结果。本实施例的处理器阵列还包括全局流水级控制单元(图1中未示出),用于控制各个流水级的启动以及各个流水级之间的转换。在处理器阵列启动时,全局流水级控制单元接收到上一级流水级启动指令后,控制并启动下一级流水级内的全部处理器单元PU同时开始工作。全局流水级控制单元中还可以包括计数时钟,在计数到预设的周期数(即流水级时间)后,触发各流水级内的寄存器文件将数据推移至下一流水级内的寄存器文件。仍然参考图1,下面对本实施例的处理器阵列的工作过程进行详细描述。首先,本领域技术人员应当理解,图1所示的处理器阵列外围还可以包裹用于装载指令和数据的存储部件。为了保证处理器阵列能够高速处理重复运算数据,通常可以将每一处理器单元PU所需的指令预先装载至各个处理器单元中。准备处理器阵列所需要处理的原始数据,将其装载至初始寄存器文件中,完成装载后即可启动处理器阵列的各个流水级。首先启动流水级1,初始寄存器文件中的原始数据被推移至流水级I寄存器中,流水级I内的全部处理器单元PU开始工作,对流水级I寄存器文件中的原始数据进行相应的运算处理,处理过程中如果流水级I中的各个处理器单元P U需要进行数据交互,则可以将相应数据传输至流水级I寄存器中。在流水级I进行相关处理时,初始寄存器文件还可以装载新的待处理文件。流水级I处理完成后,将启动下一流水级,即流水级2,该过程可以由全局流水级控制单元进行全局的调度控制。此时,流水级I寄存器文件中的全部或部分内容推移至流水级2寄存器文件中,继续后续的处理,保证整个系统流水工作,提高效率。在最后一个流水级(即流水级N)完成处理操作之后,最终的结果数据被推移至结果寄存器文件中。此时,外围的数据读写部件就可以从结果寄存器文件读出相关的结果数据。如此,则实现了整个处理器阵列的高速、并行、流水工作。需要说明的是,为了尽可能高效地利用处理器阵列,在不考虑数据装载和存储所需的时间的情况下,需要合理安排每一流水级执行的指令数,以尽可能提高整体的工作效率。综上,本实施例的处理器阵列具有如下优点:通过同一流水级共享寄存器文件,可以使同一流水级内的多个处理器单元在同一寄存器文件内实现数据共享,同时每个处理器单元又能并行完成各自不同的运算。通过多个流水级的并行运行,可以有效降低运算处理时间,将需要多周期完成的计算工作,有效的拆分成较短时间周期的多个流水级来处理。每个流水级同时独立工作,流水级之间可以通过寄存器空间复制的方法来传递计算数据。基于以上两种手段,由同一流水级中的多个处理器单元以及多个流水级形成了本实施例的处理器阵列,该处理器阵列中所有的处理器单元都可以在同一时间点独立工作,有效地提升了整体处理能力。
本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。
权利要求
1.一种基于共享寄存器和流水处理的处理器阵列,其特征在于,包括: 多个处理器单元,划分在多个流水级内,每一流水级包括一个或多个处理器单元,不同流水级之间的处理器单元相互独立; 多个寄存器文件,分布在所述多个流水级内,每一流水级包含一个寄存器文件,同一流水级内的处理器单元通过本流水级内的寄存器文件进行数据交互,各流水级内的寄存器文件将数据逐级推移至下一流水级内的寄存器文件。
2.根据权利要求1所述的处理器阵列,其特征在于,还包括: 初始寄存器文件,与所述多个流水级中第一个流水级内的寄存器文件相连,用于存储待处理的原始数据,在所述处理器阵列启动时将所述原始数据推移至所述第一个流水级内的寄存器文件。
3.根据权利要求1所述的处理器阵列,其特征在于,还包括: 结果寄存器文件,与所述多个流水级中最后一个流水级内的寄存器文件相连,所述最后一个流水级内的寄存器文件将数据推移至所述结果寄存器文件。
4.根据权利要求1至3中任一项所述的处理器阵列,其特征在于,还包括: 全局流水级控制单元,用于控制所述多个流水级的启动以及各流水级之间的转换。
5.根据权利要求1至3中任一项所述的处理器阵列,其特征在于,所述多个流水级具有相同的流水级时间。
6.根据权利要求1至3中任一项所述的处理器阵列,其特征在于,相邻流水级内的寄存器文件通过寄存器空间复制的方式传递数据。
7.根据权利要求1至3中任一项所述的处理器阵列,其特征在于,所述处理器单元包括MIPS核、ARM核或DSP核。
全文摘要
本发明提供了一种基于共享寄存器和流水处理的处理器阵列,包括多个处理器单元,划分在多个流水级内,每一流水级包括一个或多个处理器单元,不同流水级之间的处理器单元相互独立;多个寄存器文件,分布在所述多个流水级内,每一流水级包含一个寄存器文件,同一流水级内的处理器单元通过本流水级内的寄存器文件进行数据交互,各流水级内的寄存器文件将数据逐级推移至下一流水级内的寄存器文件。本发明能够使多个处理器单元协同工作,有利于提高处理器阵列的计算效率。
文档编号G06F15/163GK103106175SQ20131002775
公开日2013年5月15日 申请日期2013年1月23日 优先权日2013年1月23日
发明者赵光焕, 胡志卷, 胡红旗, 刘君敏 申请人:杭州士兰微电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1