一种可重构单指令多进程的多核处理器及方法

文档序号:6508466阅读:161来源:国知局
一种可重构单指令多进程的多核处理器及方法
【专利摘要】本发明属于多核处理器【技术领域】,具体涉及一种可重构单指令多进程的多核处理器及方法。本发明的可重构单指令多进程多核处理器,基于现有的一个簇状结构、共享内存多核处理器模型,每个簇中包含四个单核和一个共享内存;在此基础上增加如下功能部件:为每个单核增加相应的控制寄存器,增加主核流水线停顿判断逻辑,增加从核指令的选择逻辑,增加片上网络的发包配置逻辑等。单指令多进程方法针对这样的情形,当有若干个核执行相同代码时,将它们组成主从模式,主核执行取指令操作,而从核从主核获取指令,关闭自己的指令存储器,从而减少不必要的指令存储器访问,减小功耗。本发明可以明显降低多核处理器的功耗。
【专利说明】—种可重构单指令多进程的多核处理器及方法
【技术领域】
[0001]本发明属于多核处理器【技术领域】,具体涉及一种可重构单指令多进程的多核处理器及方法。
【背景技术】
[0002]指令存储器存储了源程序的指令代码,在传统多核处理器领域,每个处理器单核分别完成取指令工作。而在现代的多媒体、数字通信、信息安全等诸多嵌入式领域中,往往呈现出并行的程序指令代码十分类似的特点,如果这些核分别要取指令,则存在巨大的取指令冗余,浪费了取指令的功耗。另一方面,研究表明在嵌入式领域指令存储器功耗约为微处理器的功耗的30-40%,以至于指令存储器成为了微处理器的能量消耗主要部件。高能耗对微处理器特别是嵌入式应用领域的微处理器提出了挑战。因此,在程序执行类似代码的情形下,考虑减少取指令的冗余度来降低指令存储器功耗有十分重要的现实意义。
[0003]图1展示了一个多核处理器的模型,每个单核拥有传统的6级流水线的微处理器结构图。包括了取指令级、译码级、执行级、访存储器级、对齐级和写回级。本发明的可重构局限在图中所示的一个簇的四个核内。
[0004]在传统的多核处理器设计中,所有的单核拥有自己的指令存储器,并且总是从各自的指令存储器中获取指令。考虑到目前一些嵌入式应用的程序具有之前所述的特点,传统多核处理器在执行这些代码相同的N道程序时,总是用N次访存来获取一条相同的指令,存在着明显的访存冗余,同时也造成了功耗的浪费。
[0005]本发明提出的技术能够在这种情形下重构这些核为主从模式,主核取指令、分配指令,从而不再取相同的指令,减少无用的功耗。

【发明内容】

[0006]本发明的目的在于提供一种能够减少无用功耗的可重构单指令多进程的多核处理器及方法。
[0007]本发明提供的可重构单指令多进程的多核处理器,在执行多道相同指令程序的情形下,通过将单核重构为主从模式,只有主核取指令,并且将取到的指令分配给其从核,而从核不取指令,从而降低无用的取指令功耗。由于指令存储器的功耗占据了整个处理器功耗的相当大比例(30-40%),从而也明显降低了整个处理器的功耗。
[0008]本发明提出的可重构单指令多进程多核处理器,如图1所示,是基于现有的一个簇状结构、共享内存多核处理器模型,每个簇中包含四个单核和一个共享内存,其中每个单核包含基本流水线结构的MIPS微处理器,所述微处理器包含取指令级、译码级、执行级、访存储器级、对齐级和写回级,单核中有指令存储器和数据存储器;多核处理器采用包交换片上互联,互联的路由器节点是“R”;本发明的多核处理器是在上述多核处理器模型基础上,增加如下功能部件而得到:
为每个单核增加相应 的寄存器,用于表征其当前的工作模式为主核或者从核,如果是主核,还要指示其为哪些核的主核;具体来说,每个单核都增加一个I或2bit的寄存器ctrl_reg。图2中,(a)中第一幅图的左上角的单核处理器中给出示例,(b)中给出寄存器ctrl_reg与其对应的主从核配置模式不例;
增加主核流水线停顿判断(控制)逻辑,由于工作在主从模式下,从核流水线的停顿也会引起主核流水线的停顿,需要将从核的流水线停顿信号增加到主核流水线控制中,具体的位置和连接关系如图3所示,以左上角的单核示例,其中斜线框代表了主核流水线的判断逻辑模块,旁边从核(来自左上,右下,左下单核)的流水线停顿信号连接到这个模块并按照图3左边的表格进行逻辑判断。
[0009]增加从核指令的选择逻辑,从核的指令可能来自其对应的主核,也可能来自其自身的指令存储器,选择逻辑用于对从核的指令来源进行选择。示例如图4所示,以右下角单核为例,其增加的指令选择来源逻辑可以根据寄存器ctrl_reg选择来自左上角(UL)和左下角(DL)的指令译码结果。
[0010]增加片上网络的发包配置逻辑,完成主从模式的初始化工作,如图5所示。增加一个配置包的类型,从而指导片上网络将这类型的配置包发配到控制寄存器ctrl_reg中,以完成控制寄存器ctrl_reg的初始化。
[0011]由上可见,本发明是在现有多核处理器的构架的基础上增加了一些功能部件,得到一种具有新的功能、且可降低功耗的新的多核处理器。
[0012]本发明还提供基于上述多核处理器的可重构单指令多进程的方法,具体步骤为:
(1)在程序执行前,首先根据多核处理器运行程序的实际情况(是每个单核独立执行,还是可以构成主从模式),如果可以构成主从模式,则按照上述提到的配置包的格式,编写相应的配置包,该配置包可以由片上互联网络发送到相关单核的控制寄存器ctrl_reg,从而完成控制寄存器ctrl_reg的初始化;
(2)如果工作在主从模式下,完成初始化之后,做为从核的处理器的指令存储器将被关闭,包括将其指令存储器的时钟门控,选择信号无效,从而避免了从核指令存储器的功耗,而从核的指令选择逻辑将控制寄存器ctrl_reg选择其主核的指令译码,代替其自身的指令译码;
(3)如果工作在主从模式下,主核的流水线停顿将按照上述增加的逻辑产生。根据控制寄存器ctrl_reg将其从核的流水线停顿信号引入主核。如果从核有流水线的停顿,则此时,主核也必须将自身的流水线停顿,知道从核的流水线停顿解除。
[0013]与现有的架构相比,本发明提供的可重构单指令多进程方法,能够在不明显增加硬件开销、并且不影响处理器工作最高频率的情况下,有效地降低多道进程执行相同指令代码情况下的访存功耗,从而降低了整个处理器的功耗。
【专利附图】

【附图说明】
[0014]图1是多核处理器模型以及传统的6级流水线微处理器架构。
[0015]图2是四种主从配置模式(a)以及控制寄存器ctrl_reg的配置模式(b)。
[0016]图3是主核流水线停顿控制逻辑(左上核示例)。
[0017]图4是从核指令选择逻辑(右下核示例)。
[0018]图5是控制寄存器ctrl_reg的片上网络初始化逻辑与架构。【具体实施方式】
[0019]下面结合附图和实例进一步描述本发明。
[0020]图2展示了四种主从配置模式以及控制寄存器ctrl_reg。总共有四种主从模式:
1、四个核全部为主(4主);2、一对为主从(左上+右上或者左下+右下),另外两个为主(I主I从+2主);3、两对为主从(左上+右上以及左下+右下)(I主I从+1主I从);4、左上核为主,其余核为从,(I主3从)。不同的核用不同的配置寄存器ctrl_reg来区分工作模式,如图2 (b)所示:
(1)对于左上角的单核,用2bit表示ctrl_reg,其ctrl_reg的值和表示的意义分别为:00表示左上角单核单独执行程序;01表示左上角单核做为右上单核的主核;10表示左上角单核是所有其它核(右上、左下、右下单核)的主核;
(2)对于右上角的单核,用Ibit表示ctrl_reg,其值和意义为:0表示右上角的单核单独执行程序,I表示右上角的单核是左上角单核的从核;
(3)对于左下角的单核,用2bit来表示ctrl_reg,其值和意义为:00表示左下角单核单独执行程序,01表示左下角单核是右下角单核的主核,10表示左下角单核是左上角单核的从核;
(4)对于右下角的单核,用2bit来表示其ctrl_reg,其值和意义为:00表示右下角的单核独立执行程序,01表示右下角的单核是左下角单核的从核,10表示右下角单核是左上角单核的从核。
[0021]图3展示主核的流水线停顿的控制逻辑,这里用主核为左上核为示例,其它情况主核的控制逻辑类似。需要将右上核的流水线停顿信号outer_stall_UR、左下核的流水线停顿信号outer_stall_DL、右下核的流水线停顿信号outer_stall_DR反馈回左上主核,根据主核工作的不同模式(按照ctrl_reg区分),如果是独立工作(ctrl_reg为00),则其流水线的停顿stall就等于自身的流水线停顿信号stall_UL,与其它的停顿信号无关;如果是做为右上核的主核(ctrl_reg为01),则要把outer_stall_UR并入自身的流水线停顿,即Stall=StallJJL或outer_stall_UR ;如果做为所有核的主核(ctrl_reg为10),则要把三个从核(右上角、左下角和右下角核)的停顿信号都并入到流水线停顿控制中,即stall=outer_stal1_UR 或 outer_stall_DL 或 outer_stall_DR。
[0022]图4展示从核的指令译码选择逻辑,这里示例的从核是右下核,其它情况下从核的选择逻辑类似。该核可能做为左下核和左上核的从核,或者独立工作,因此,在选择指令译码结果时根据ctrl_reg来选择,ctrl_reg的对应表格见图2。如果是从核模式(即ctrl_reg为01或者10),则关闭自身的指令存储器,具体的做法是:m_clk不被选中,选中门控时钟gated,从而自身的指令存储器被门控无效,而m_ce不被选中,选中无效信号invalid,从而指令存储器的选择信号被置无效,自身的指令存储器被完全控制,减少了功耗。而对于指令译码结果的选择,同样根据ctrl_reg进行,具体的过程是:
(1)ctrl_reg为00,表示右下角核独立执行,选择来自自身的译码结果;
(2)ctrl_reg为01,表示右下角核做为左下角核的从核执行,选择来自左下角(DL)核的译码结果;
(3)ctrl_reg为10,表示右下角核做为左上角核的从核执行,选择来自左上角(UL)核的译码结果。
[0023]图5展示了通过片上网络发包的方式来初始化ctrl_reg的架构,其包格式的31位表示是给核(core)还是给接收器(receiver),为O表示给核(core),为I表示给接收器(receiver), 30位表示是给ctrl_reg还是给存储器(memory),为O表示给ctrl_reg,为I表示给存储器(memory),,29、28位表示X坐标(因为本发明中给出的多核处理器采用了 4X4的网络结构,所以需要2比特来指出X坐标,对于其它尺寸的网格结构多核处理器,需要相适应的bit位来表示X坐标,下面的y坐标道理与此类似),27、26位表示y坐标,25、24位就是ctrl_reg的配置值(本发明中的ctrl_reg最多是2bit,应该需要两位来指示,如果ctrl_reg只需要Ibit则第24位有效,而25位无效),上电初始化后,通过片上网络发包灌数据到对应核的ctrl_reg,完成其初始化工作。例如,要给坐标为(0,0)的左上角的核发ctrl_reg,并且把它配置成其它三个核的主核,则这个配置包的格式为:
131
29 28 27
24
I
忽略低位的其它比特位,配置的具体过程为:
(1)首先,片上网络根据X和I的坐标为0,0,将该包传递到(0,O)节点,并进入到该节点的输入FIFO中;
(2)然后片上网络解析出31bit为1,则将该包从输入FIFO中传递给Receiver,然后解析出30bit为O,再将该包传递给ctrl_reg,并把值10写入到该节点的ctrl_reg中,完成配置初始化工作。
【权利要求】
1.一种可重构单指令多进程多核处理器,基于现有的一个簇状结构、共享内存多核处理器模型,每个簇中包含四个单核和一个共享内存,其中每个单核包含基本流水线结构的MIPS微处理器,所述微处理器包含取指令级、译码级、执行级、访存储器级、对齐级和写回级;单核中有指令存储器和数据存储器;多核处理器采用包交换片上互联,互联的路由器节点是“R” ;其特征在于,在所述多核处理器模型基础上,增加如下功能部件而得到:为每个单核增加相应的控制寄存器,用于表征其当前的工作模式为主核或者从核,如果是主核,还要指示其为哪些核的主核;增加主核流水线停顿判断逻辑,由于工作在主从模式下,从核流水线的停顿会引起主核流水线的停顿,故将从核的流水线停顿信号增加到主核流水线控制中,用于进行逻辑判断;增加从核指令的选择逻辑,用于选择从核的指令来自其对应的主核,或来自其自身的指令存储器;增加片上网络的发包配置逻辑,即增加一个配置包的类型,指导片上网络将这类型的配置包发配到控制寄存器中,以完成控制寄存器的初始化。
2.基于权利要求1所述的多核处理器的可重构单指令多进程的方法,其特征在于具体步骤为:(1)在程序执行前,首先根据多核处理器运行程序的实际情况:是每个单核独立执行,还是可以构成主从模式,如果可以构成主从模式,则按照所述的配置包的格式,编写相应的配置包,该配置包由片上互联网络发送到相关单核的控制寄存器,从而完成控制寄存器的初始化;(2)如果工作在主从模式下,完成初始化之后,将作为从核的处理器的指令存储器关闭,包括将其指令存储器的时钟门控,选择信号无效;而从核的指令选择逻辑将控制寄存器选择其主核的指令译码,代替其自身的指令译码;(3)如果工作在主从模式下,主核的流水线停顿将按照所述增加的逻辑产生;根据控制寄存器将其从核的流水线停顿信号引入主核;如果从核有流水线的停顿,则此时,主核也将自身的流水线停顿,从核的流水线停顿解除。
【文档编号】G06F15/80GK103440225SQ201310365649
【公开日】2013年12月11日 申请日期:2013年8月21日 优先权日:2013年8月21日
【发明者】虞志益, 俞政, 于学球, 刘宁希, 曾晓洋 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1