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

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

Info

Publication number
CN103440225B
CN103440225B CN201310365649.9A CN201310365649A CN103440225B CN 103440225 B CN103440225 B CN 103440225B CN 201310365649 A CN201310365649 A CN 201310365649A CN 103440225 B CN103440225 B CN 103440225B
Authority
CN
China
Prior art keywords
core
polycaryon processor
increase
main core
monokaryon
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.)
Active
Application number
CN201310365649.9A
Other languages
English (en)
Other versions
CN103440225A (zh
Inventor
虞志益
俞政
于学球
刘宁希
曾晓洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fudan University
Original Assignee
Fudan University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fudan University filed Critical Fudan University
Priority to CN201310365649.9A priority Critical patent/CN103440225B/zh
Publication of CN103440225A publication Critical patent/CN103440225A/zh
Application granted granted Critical
Publication of CN103440225B publication Critical patent/CN103440225B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Advance Control (AREA)
  • Multi Processors (AREA)

Abstract

本发明属于多核处理器技术领域,具体涉及一种可重构单指令多进程的多核处理器及方法。本发明的可重构单指令多进程多核处理器,基于现有的一个簇状结构、共享内存多核处理器模型,每个簇中包含四个单核和一个共享内存;在此基础上增加如下功能部件:为每个单核增加相应的控制寄存器,增加主核流水线停顿判断逻辑,增加从核指令的选择逻辑,增加片上网络的发包配置逻辑等。单指令多进程方法针对这样的情形,当有若干个核执行相同代码时,将它们组成主从模式,主核执行取指令操作,而从核从主核获取指令,关闭自己的指令存储器,从而减少不必要的指令存储器访问,减小功耗。本发明可以明显降低多核处理器的功耗。

Description

一种可重构单指令多进程的多核处理器及方法
技术领域
本发明属于多核处理器技术领域,具体涉及一种可重构单指令多进程的多核处理器及方法。
背景技术
指令存储器存储了源程序的指令代码,在传统多核处理器领域,每个处理器单核分别完成取指令工作。而在现代的多媒体、数字通信、信息安全等诸多嵌入式领域中,往往呈现出并行的程序指令代码十分类似的特点,如果这些核分别要取指令,则存在巨大的取指令冗余,浪费了取指令的功耗。另一方面,研究表明在嵌入式领域指令存储器功耗约为微处理器的功耗的30~40%,以至于指令存储器成为了微处理器的能量消耗主要部件。高能耗对微处理器特别是嵌入式应用领域的微处理器提出了挑战。因此,在程序执行类似代码的情形下,考虑减少取指令的冗余度来降低指令存储器功耗有十分重要的现实意义。
图1展示了一个多核处理器的模型,每个单核拥有传统的6级流水线的微处理器结构图。包括了取指令级、译码级、执行级、访存储器级、对齐级和写回级。本发明的可重构局限在图中所示的一个簇的四个核内。
在传统的多核处理器设计中,所有的单核拥有自己的指令存储器,并且总是从各自的指令存储器中获取指令。考虑到目前一些嵌入式应用的程序具有之前所述的特点,传统多核处理器在执行这些代码相同的N道程序时,总是用N次访存来获取一条相同的指令,存在着明显的访存冗余,同时也造成了功耗的浪费。
本发明提出的技术能够在这种情形下重构这些核为主从模式,主核取指令、分配指令,从而不再取相同的指令,减少无用的功耗。
发明内容
本发明的目的在于提供一种能够减少无用功耗的可重构单指令多进程的多核处理器及方法。
本发明提供的可重构单指令多进程的多核处理器,在执行多道相同指令程序的情形下,通过将单核重构为主从模式,只有主核取指令,并且将取到的指令分配给其从核,而从核不取指令,从而降低无用的取指令功耗。由于指令存储器的功耗占据了整个处理器功耗的相当大比例(30~40%),从而也明显降低了整个处理器的功耗。
本发明提出的可重构单指令多进程多核处理器,如图1 所示,是基于现有的一个簇状结构、共享内存多核处理器模型,每个簇中包含四个单核和一个共享内存,其中每个单核包含基本流水线结构的MIPS微处理器,所述微处理器包含取指令级、译码级、执行级、访存储器级、对齐级和写回级,单核中有指令存储器和数据存储器;多核处理器采用包交换片上互联,互联的路由器节点是“R”;本发明的多核处理器是在上述多核处理器模型基础上,增加如下功能部件而得到:
为每个单核增加相应的寄存器,用于表征其当前的工作模式为主核或者从核,如果是主核,还要指示其为哪些核的主核;具体来说,每个单核都增加一个1或2bit的寄存器ctrl_reg。图2中,(a)中第一幅图的左上角的单核处理器中给出示例,(b)中给出寄存器ctrl_reg与其对应的主从核配置模式示例;
增加主核流水线停顿判断(控制)逻辑,由于工作在主从模式下,从核流水线的停顿也会引起主核流水线的停顿,需要将从核的流水线停顿信号增加到主核流水线控制中,具体的位置和连接关系如图3所示,以左上角的单核示例,其中斜线框代表了主核流水线的判断逻辑模块,旁边从核(来自左上,右下,左下单核)的流水线停顿信号连接到这个模块并按照图3左边的表格进行逻辑判断。
增加从核指令的选择逻辑,从核的指令可能来自其对应的主核,也可能来自其自身的指令存储器,选择逻辑用于对从核的指令来源进行选择。示例如图4所示,以右下角单核为例,其增加的指令选择来源逻辑可以根据寄存器ctrl_reg选择来自左上角(UL)和左下角(DL)的指令译码结果。
增加片上网络的发包配置逻辑,完成主从模式的初始化工作,如图5所示。增加一个配置包的类型,从而指导片上网络将这类型的配置包发配到控制寄存器ctrl_reg中,以完成控制寄存器ctrl_reg的初始化。
由上可见,本发明是在现有多核处理器的构架的基础上增加了一些功能部件,得到一种具有新的功能、且可降低功耗的新的多核处理器。
本发明还提供基于上述多核处理器的可重构单指令多进程的方法,具体步骤为:
(1)在程序执行前,首先根据多核处理器运行程序的实际情况(是每个单核独立执行,还是可以构成主从模式),如果可以构成主从模式,则按照上述提到的配置包的格式,编写相应的配置包,该配置包可以由片上互联网络发送到相关单核的控制寄存器ctrl_reg,从而完成控制寄存器ctrl_reg的初始化;
(2)如果工作在主从模式下,完成初始化之后,做为从核的处理器的指令存储器将被关闭,包括将其指令存储器的时钟门控,选择信号无效,从而避免了从核指令存储器的功耗,而从核的指令选择逻辑将控制寄存器ctrl_reg选择其主核的指令译码,代替其自身的指令译码;
(3)如果工作在主从模式下,主核的流水线停顿将按照上述增加的逻辑产生。根据控制寄存器ctrl_reg将其从核的流水线停顿信号引入主核。如果从核有流水线的停顿,则此时,主核也必须将自身的流水线停顿,知道从核的流水线停顿解除。
与现有的架构相比,本发明提供的可重构单指令多进程方法,能够在不明显增加硬件开销、并且不影响处理器工作最高频率的情况下,有效地降低多道进程执行相同指令代码情况下的访存功耗,从而降低了整个处理器的功耗。
附图说明
图1是多核处理器模型以及传统的6级流水线微处理器架构。
图2是四种主从配置模式(a)以及控制寄存器ctrl_reg的配置模式(b)。
图3是主核流水线停顿控制逻辑(左上核示例)。
图4是从核指令选择逻辑(右下核示例)。
图5是控制寄存器ctrl_reg的片上网络初始化逻辑与架构。
具体实施方式
下面结合附图和实例进一步描述本发明。
图2 展示了四种主从配置模式以及控制寄存器ctrl_reg。总共有四种主从模式:1、四个核全部为主(4主);2、一对为主从(左上+右上或者左下+右下),另外两个为主(1主1从+2主);3、两对为主从(左上+右上以及左下+右下)(1主1从+1主1从);4、左上核为主,其余核为从,(1主3从)。不同的核用不同的配置寄存器ctrl_reg来区分工作模式,如图2(b)所示:
(1) 对于左上角的单核,用2bit表示ctrl_reg,其ctrl_reg的值和表示的意义分别为:00表示左上角单核单独执行程序; 01表示左上角单核做为右上单核的主核;10表示左上角单核是所有其它核(右上、左下、右下单核)的主核;
(2) 对于右上角的单核,用1bit表示ctrl_reg,其值和意义为:0表示右上角的单核单独执行程序,1表示右上角的单核是左上角单核的从核;
(3) 对于左下角的单核,用2bit来表示ctrl_reg,其值和意义为:00表示左下角单核单独执行程序,01表示左下角单核是右下角单核的主核,10表示左下角单核是左上角单核的从核;
(4) 对于右下角的单核,用2bit来表示其ctrl_reg,其值和意义为:00表示右下角的单核独立执行程序,01表示右下角的单核是左下角单核的从核,10表示右下角单核是左上角单核的从核。
图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=stall_UL或outer_stall_UR;如果做为所有核的主核(ctrl_reg为10),则要把三个从核(右上角、左下角和右下角核)的停顿信号都并入到流水线停顿控制中,即stall=outer_stall_UR或outer_stall_DL或outer_stall_DR。
图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)核的译码结果。
图5展示了通过片上网络发包的方式来初始化ctrl_reg的架构,其包格式的31位表示是给核(core)还是给接收器(receiver),为0表示给核(core),为1表示给接收器(receiver),30位表示是给ctrl_reg还是给存储器(memory),为0表示给ctrl_reg,为1表示给存储器(memory),,29、28位表示x坐标(因为本发明中给出的多核处理器采用了4X4的网络结构,所以需要2比特来指出x坐标,对于其它尺寸的网格结构多核处理器,需要相适应的bit位来表示x坐标,下面的y坐标道理与此类似),27、26位表示y坐标,25、24位就是ctrl_reg的配置值(本发明中的ctrl_reg最多是2bit,应该需要两位来指示,如果ctrl_reg只需要1bit则第24位有效,而25位无效),上电初始化后,通过片上网络发包灌数据到对应核的ctrl_reg,完成其初始化工作。例如,要给坐标为(0,0)的左上角的核发ctrl_reg,并且把它配置成其它三个核的主核,则这个配置包的格式为:
忽略低位的其它比特位,配置的具体过程为:
(1)首先,片上网络根据x和y的坐标为0,0,将该包传递到(0,0)节点,并进入到该节点的输入FIFO中;
(2)然后片上网络解析出31bit为1,则将该包从输入FIFO中传递给Receiver,然后解析出30bit为0,再将该包传递给ctrl_reg,并把值10写入到该节点的ctrl_reg中,完成配置初始化工作。

Claims (2)

1.一种可重构单指令多进程多核处理器,基于现有的一个簇状结构、共享内存多核处理器模型,每个簇中包含四个单核和一个共享内存,其中每个单核包含基本流水线结构的MIPS微处理器,所述微处理器包含取指令级、译码级、执行级、访存储器级、对齐级和写回级;单核中有指令存储器和数据存储器;多核处理器采用包交换片上互联,互联的路由器节点是“R”;其特征在于,在所述多核处理器模型基础上,增加如下功能部件而得到:
为每个单核增加相应的控制寄存器,用于表征其当前的工作模式为主核或者从核,如果是主核,还要指示其为哪些核的主核;
增加主核流水线停顿判断逻辑,由于工作在主从模式下,从核流水线的停顿会引起主核流水线的停顿,故将从核的流水线停顿信号增加到主核流水线控制中,用于进行逻辑判断;
增加从核指令的选择逻辑,用于选择从核的指令来自其对应的主核,或来自其自身的指令存储器;
增加片上网络的发包配置逻辑,即增加一个配置包的类型,指导片上网络将这类型的配置包发配到控制寄存器中,以完成控制寄存器的初始化。
2.基于权利要求1所述的多核处理器的可重构单指令多进程的方法,其特征在于具体步骤为:
(1)在程序执行前,首先根据多核处理器运行程序的实际情况:是每个单核独立执行,还是可以构成主从模式,如果可以构成主从模式,则按照所述的配置包的格式,编写相应的配置包,该配置包由片上互联网络发送到相关单核的控制寄存器,从而完成控制寄存器的初始化;
(2)如果工作在主从模式下,完成初始化之后,将作为从核的处理器的指令存储器关闭,包括将其指令存储器的时钟门控,选择信号无效;而从核的指令选择逻辑将控制寄存器选择其主核的指令译码,代替其自身的指令译码;
(3)如果工作在主从模式下,主核的流水线停顿将按照所述增加的主核流水线停顿判断逻辑产生;根据控制寄存器将其从核的流水线停顿信号引入主核;如果从核有流水线的停顿,则此时,主核也将自身的流水线停顿,从核的流水线停顿解除。
CN201310365649.9A 2013-08-21 2013-08-21 一种可重构单指令多进程的多核处理器及方法 Active CN103440225B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310365649.9A CN103440225B (zh) 2013-08-21 2013-08-21 一种可重构单指令多进程的多核处理器及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310365649.9A CN103440225B (zh) 2013-08-21 2013-08-21 一种可重构单指令多进程的多核处理器及方法

Publications (2)

Publication Number Publication Date
CN103440225A CN103440225A (zh) 2013-12-11
CN103440225B true CN103440225B (zh) 2018-04-03

Family

ID=49693917

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310365649.9A Active CN103440225B (zh) 2013-08-21 2013-08-21 一种可重构单指令多进程的多核处理器及方法

Country Status (1)

Country Link
CN (1) CN103440225B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3062229A4 (en) * 2013-12-31 2017-01-25 Huawei Technologies Co., Ltd. Data migration method, device and processor
CN105988970B (zh) * 2015-02-12 2019-10-01 华为技术有限公司 共享存储数据的处理器和芯片
CN106095583B (zh) * 2016-06-20 2018-04-17 国家海洋局第一海洋研究所 基于新神威处理器的主从核协同计算编程框架
CN106407132B (zh) * 2016-09-19 2020-05-12 复旦大学 一种基于共享存储器的数据通信同步方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102446158A (zh) * 2010-10-12 2012-05-09 无锡江南计算技术研究所 多核处理器及多核处理器组
CN102508643A (zh) * 2011-11-16 2012-06-20 刘大可 一种多核并行数字信号处理器及并行指令集的运行方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130061213A1 (en) * 2011-08-26 2013-03-07 Cognitive Electronics, Inc. Methods and systems for optimizing execution of a program in a parallel processing environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102446158A (zh) * 2010-10-12 2012-05-09 无锡江南计算技术研究所 多核处理器及多核处理器组
CN102508643A (zh) * 2011-11-16 2012-06-20 刘大可 一种多核并行数字信号处理器及并行指令集的运行方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
高性能低功耗多核处理器研究;尤凯迪;《中国优秀硕士学位论文全文数据库-信息科技辑》;20110115(第01期);I137-9 *

Also Published As

Publication number Publication date
CN103440225A (zh) 2013-12-11

Similar Documents

Publication Publication Date Title
Trivedi et al. Design & analysis of 16 bit RISC processor using low power pipelining
Carloni et al. A methodology for correct-by-construction latency insensitive design
KR101999590B1 (ko) 패턴 인식 프로세싱 시스템에서의 전력 관리를 위한 방법들 및 시스템들
KR100998586B1 (ko) 구성가능한 실행 유닛들을 구비한 고성능 하이브리드프로세서
JP2021192257A (ja) プログラム可能な最適化を有するメモリネットワークプロセッサ
US20190101952A1 (en) Processors and methods for configurable clock gating in a spatial array
CN111868702A (zh) 用于可配置空间加速器中的远程存储器访问的装置、方法和系统
AU2014203218B2 (en) Memory configuration for inter-processor communication in an MPSoC
CN103440225B (zh) 一种可重构单指令多进程的多核处理器及方法
WO2001016710A1 (fr) Processeur de donnees
US20220100680A1 (en) Apparatuses, methods, and systems for a configurable accelerator having dataflow execution circuits
WO2020005449A1 (en) Apparatuses, methods, and systems for conditional operations in a configurable spatial accelerator
JP7183197B2 (ja) 高スループットプロセッサ
EP2798520A1 (en) Method and apparatus for controlling a mxcsr
Takach High-level synthesis: Status, trends, and future directions
CN104750660A (zh) 一种具有多工作模式的嵌入式可重构处理器
Huang et al. The design of dynamically reconfigurable datapath coprocessors
Lahiri et al. Experience with term level modeling and verification of the M* CORE/sup TM/microprocessor core
Bhosle et al. FPGA Implementation of low power pipelined 32-bit RISC Processor
CN107688704A (zh) 基于Petri网模型的ASIP行为逻辑综合方法
CN101008891A (zh) Risc cpu中的5+3级流水线结构及方法
Rykunov Design of asynchronous microprocessor for power proportionality
CN111095197B (zh) 代码处理方法和设备
Takach Design and verification using high-level synthesis
CN105183697B (zh) 嵌入式rsic‑dsp处理器系统及构建方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant