CN102141974A - 一种多核处理器核间通信方法及其电路结构 - Google Patents
一种多核处理器核间通信方法及其电路结构 Download PDFInfo
- Publication number
- CN102141974A CN102141974A CN2011100892946A CN201110089294A CN102141974A CN 102141974 A CN102141974 A CN 102141974A CN 2011100892946 A CN2011100892946 A CN 2011100892946A CN 201110089294 A CN201110089294 A CN 201110089294A CN 102141974 A CN102141974 A CN 102141974A
- Authority
- CN
- China
- Prior art keywords
- data
- circuit module
- internuclear
- processor
- communication
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明属于高性能处理器技术领域,具体为一种多核处理器核间通信方法及其电路结构。本发明通过对现有多核处理器架构中的寄存器电路模块进行功能性扩展,在该模块中添加多核处理器核间通信地址映射单元,从而能够通过访问寄存器地址实现对核间通信地址的访问,实现核间通信地址的快速访问和核间数据的快速交互。其电路结构包括:扩展寄存器电路模块,先入先出队列电路模块,数据路由阵列电路模块,核间通信控制电路模块,处理器功能电路模块;电路结构分为三个数据链路层次。本发明提升了现有多核处理器的通信效率与运算效率,具有明显的学术价值与实用价值。
Description
技术领域
本发明属于高性能处理器技术领域,具体为一种适用于多核处理器的核间通信方法及其电路结构。
背景技术
自2000年以来,多核处理器出现了蓬勃发展的势头。在传统的单核处理器时钟不能进一步提高、深亚微米设计难度加大、半导体技术前进步伐放缓的情况下,多核处理器引起了设计者的极大重视。目前,市场上主流处理器几乎均为多核处理器架构。与传统的单核处理器相比,多核处理器并行计算能力更强,可扩展性与可配置性也更好,功耗水平也有一定的优势。多核处理器本质上是采用一定的网络拓扑结构将一定数量的微处理器联接起来,采用特定的路由算法负责不同微处理器之间的通信,以获得更好的并行计算能力。
从多核处理器网络拓扑结构来看,近几年片上网络架构(Network-on-Chip)有取代总线架构的趋势。但是在片上网络架构由于网络拓扑结构较为复杂,处理器核之间的数据通信效率不高,成为限制多核处理器性能提升的瓶颈。目前已经不少机构和个人针对核间通信方法提出了各自的解决方案,但仍未有最优方案的定论。
发明内容
本发明目的的在于提供了一种通信时间省、运算效率高的多核处理器核间通信方法及其电路结构。
本发明针对现有多核处理器核间通信方案中出现的一些问题和瓶颈,深入对多核处理器架构进行调研,提出了一种新的多核处理器核间通信方法及其电路结构。所述核间通信方法的核心思想是,通过对现有多核处理器架构中的寄存器电路模块进行功能性扩展,在该模块中添加多核处理器核间通信地址映射单元,从而能够通过访问寄存器地址实现对核间通信地址的访问,从而实现核间通信地址的快速访问和核间数据的快速交互。
本发明提出的多核处理器核间通信方法,具体为:
(1) 处理器核间通信通过扩展寄存器、先入先出队列与数据路由阵列三个电路模块实现,三个电路模块共同构成数据通信链路的三个层次;
(2) 扩展寄存器电路模块用于实现处理器功能电路模块与先入先出队列电路模块的数据通信,核间通信控制电路模块通过控制扩展寄存器电路模块和处理器功能电路模块的行为,实现两者之间的数据通信;这为数据通信链路的第一层次;
(3) 先入先出队列电路模块用于实现扩展寄存器电路模块与数据路由阵列电路模块之间的数据通信,该数据通信为跨时钟域数据通信,这为数据通信链路的第二层次;
(4) 数据路由阵列电路模块用于与其他处理器核的同类型模块互联,共同组成多核处理器数据互联网络,实现数据在网络上的交互,这为数据通信链路的第三层次;同时,该数据路由阵列电路模块与第二层次的先入先出队列电路模块进行数据交互,建立起完整的数据通信链路,实现多核处理器的核间通信。
上述多核处理器核间通信方法中,所述扩展寄存器电路模块,在传统寄存器电路结构基础上添加有多核处理器核间通信地址映射单元,该地址映射单元将核间通信数据写地址和数据读地址映射在寄存器单元地址上,从而通过访问寄存器地址实现核间通信,使得寄存器电路模块成为处理器功能电路模块与外部进行数据通信的媒介。
上述多核处理器核间通信方法中,所述地址映射单元,还用于核间通信的先入先出队列电路访问地址与寄存器单元地址绑定并实现映射。
本发明还提供实现上述多核处理器核间通信方法的电路结构。该电路结构包括四个主要电路模块和一个辅助电路模块。四个主要电路模块分别为处理器功能电路模块、扩展寄存器电路模块、先入先出队列电路模块与数据路由阵列电路模块,一个辅助电路模块为核间通信控制电路模块。电路结构分为三个数据链路层次,其中,处理器功能电路模块、扩展寄存器电路模块和核间通信控制电路模块属于该方法的数据链路第一层次,也是最低层次。先入先出队列电路模块属于该方法的数据链路第二层次。数据路由阵列电路模块则为该方法的数据链路第三层次,也是最高层次。
在该核间通信方法的三个数据链路层次中,只有第三层次能够实现不同处理器核间的数据交互。在多核处理器中,对于不同的处理器核而言,第一层次和第二层次均是各自独立不可互相访问的。不同核之间的数据通信需要处理器核将数据依次通过数据链路的第一层次、第二层次到达第三层次,然后由数据链路第三层次中的数据路由阵列电路模块与其他处理器核的对应模块进行通信。一个典型的核间数据发送接收过程是,甲处理器核将数据通过第一层次、第二层次发送给第三层次中的数据路由阵列电路模块,然后该电路模块将这个数据发送给乙处理器核中对应的第三层次中的数据路由阵列电路模块,然后乙处理器中的该电路模块将数据依次通过第二层次、第一层次传递给乙处理器功能电路模块,至此完成整个数据通信过程。
处理器功能电路模块通过扩展寄存器电路模块与外部进行数据通信,扩展寄存器电路模块将核间通信地址映射到寄存器地址上,使得处理器功能电路模块能够通过访问寄存器地址实现对核间通信地址的访问;先入先出队列电路模块负责跨时钟域的数据交互,对应核间通信地址分别拥有一个读地址端口和写地址端口;数据路由阵列电路模块是通信链路的最上层,不同处理器核的各个数据路由阵列电路模块按照特定的拓扑结构相互连接,构成多核处理器片上网络,为核间数据通信提供通道。
通信数据链路各层次中电路模块的具体功能为:
(1) 数据链路第一层次:处理器功能电路模块
在整个多核处理器系统中,处理器功能电路模块是基础性的功能部件,根据程序指令与多核系统中的其他处理器核一同完成一系列运算。
从硬件模块划分上来看,该模块包括处理器运算单元、处理器控制电路单元、处理器数据存储器和处理器指令存储器。在处理器控制电路单元控制下,处理器运算单元从处理器指令存储器中读取指令,从处理器数据存储器或扩展寄存器电路模块中读取数据,按照指令进行相应的运算,并将运算结果发送到数据存储器或扩展寄存器电路模块中。
从指令运行时序上来看,如说明书附图2所示,本发明中的处理器功能电路模块采用传统的六级流水线结构,分别为取指、译码、执行、访存、对齐和写回级。处理器功能电路模块中的各个单元和核间通信控制电路模块,扩展寄存器电路模块按照六级流水线规定的时序协同工作。其中,指令地址计数器、指令译码模块、数据地址计算模块、算术移位模块和算术逻辑运算单元都从属于处理器运算电路单元。下面将按照流水线来介绍各个模块和单元的功能:
a 取指
取指级的功能是从处理器指令存储器中取出特定的指令。第一步,处理器运算控制单元根据之前指令的执行结果,发出控制信号给指令地址计数器。第二步,指令地址计数器根据控制信号给出所要取得的指令的地址。第三步,处理器指令存储器根据指令地址计数器给出的地址,将对应的指令送给译码级的指令译码模块。
b译码
译码级的功能是根据取值级提供的指令,“翻译”成具体的操作。可以看到指令译码模块是指令翻译的核心功能部件,对指令进行分析,进而将特定的控制信号送给处理器运算控制单元,并进一步向其他功能模块发出控制信号。此外,对于指令中的立即操作数,指令译码模块直接送给执行级;对于指令的寄存器操作数,指令译码模块向扩展寄存器电路模块送出地址信号,将特定寄存器中的数据送给执行级。另一方面,处理器运算控制电路在接待指令译码模块的控制信号对参与执行级运算的两个操作数进行选择。第一个操作数共有四个来源,分别是指令译码模块给出的立即数,扩展寄存器电路模块送出的寄存器1和寄存器2中的数据,以及数据旁路模块送给的转发数据。第二个操作数共有三个来源,分别为,扩展寄存器电路模块送出的寄存器1和寄存器2中的数据,以及数据旁路模块送给的转发数据。
c执行
执行级的功能是根据译码级送来的两个操作数进行具体的操作。如果是数据访存操作,处理器运算控制单元向数据地址计算模块发出运算信号,计算出相应的数据访存地址并送给流水线的下一级访存级。如果是算术逻辑运算或移位操作,则向算术移位模块和算术逻辑运算模块发出运算信号,同时根据处理器运算控制单元给出的控制信号从两个运算结果中选取所要的结果。如果是乘除法运算,则处理器运算控制单元向乘除法运算单元发出运算信号。此外,如果存在数据相关的情况,即前后两条指令的指令所需的数据存在相关性的情况下,处理器运算控制单元将把执行级运算的结果发送给数据旁路单元,并根据控制信号推送回译码级,用于下条指令操作数据的选取。
d访存
访存级的功能是根据执行级送来的数据访存地址,送入处理器数据存储器中,并给出相应的数据,送给流水线下一级对齐级。此外,如果存在数据相关的情况,处理器运算控制单元将把访存级执行的结果发送给数据旁路单元,并根据控制信号推送回译码级,用于下条指令操作数据的选取。
e对齐
对齐级的主要功能部件是数据对齐模块,将访存级的处理器数据存储器、执行级的功能运算模块和乘法除法运算单元给出的运算结果进行数据对齐,并推送给流水线下一级写回级,方便写入扩展寄存器电路模块或是数据存储器。
f写回
写回级的功能主要是根据处理器运算控制单元的控制信号,将对齐级送来的数据写回到扩展寄存器电路模块中,或是写回处理器数据存储器。此外,如果是进行核间通信的话,在核间通信控制电路模块的进一步引导下,数据将会被写入扩展寄存器电路模块的核间通信口,实现快捷的核间通信。
从指令集架构上来看,该处理器采取精简指令集架构。按照精简指令集架构的通用设计方法,本发明指令集可以按功能分为寄存器-寄存器型指令,寄存器-立即数指令,跳转指令,访存指令、控制指令和核间通信指令。
a寄存器-寄存器指令:该指令的两个操作数均来源于扩展寄存器电路模块。
b寄存器-存储单元型指令:该指令所需的两个操作数,一个来源于扩展寄存器电路模块,另一个则来自于指令中的立即数。
c跳转指令:该指令将根据一定的判断条件,使指令地址跳转到指定的地址上去。
d访存指令:该指令可以分为取数据和存数据两种操作,前者将根据访存地址从处理器数据存储器中取出所需的数据,后者将数据写回到处理器数据存储器当中去。
e控制指令:该指令直接作用域处理器运算控制单元,改变流水线各级运行情况,实现对处理器流水线中指令流的控制。
f核间通信指令,该指令将激活扩展寄存器中的核间通信端口,其中一个为读口、另一个为写口,并由核间通信控制电路模块直接控制处理器功能电路模块和扩展寄存器电路模块的数据交互,通过扩展寄存器电路模块进行核间数据通信。
(2) 数据链路第一层次:扩展寄存器电路模块
扩展寄存器电路模块是本发明的核心部件。说明书附图3和图4是扩展寄存器电路模块的读通路和写通路结构示意图。本发明中,扩展寄存器电路的特征如下:
a从数据流上来看,可以分为读数据通路和写数据通路,从而使得该模块能够同时支持两次读操作与一次写操作。
b扩展寄存器电路模块的容量为64个32位的寄存器。其中每8个寄存器组成一组,共分为8组。第一组和第五组、第二组和第六组,第三组和第七组、第四组和第八组复用相同的地址空间。
c模块中的多核处理器核间通信地址映射单元负责复用地址空间的管理,根据处理器控制电路单元、核间通信控制模块给出的控制信号改变地址的映射关系,在共享相同的地址空间的两组寄存器之间进行切换。
d多核处理器核间通信地址映射单元的核心是映射控制寄存器。该寄存器共有五个比特位。其中第零到第三比特位分别控制第一组和第五组、第二组和第六组,第三组和第七组、第四组和第八组复用相同地址的寄存器组实际映射地址的选择。第四比特位负责管理核间通信端口。
e核间通信端口可以分为核间通信写口和核间通信读口。其中核间通信写口和第二十四号寄存器复用相同地址,核间通信读口和第二十五号寄存器复用相同地址。映射地址的选择由多核处理器核间通信地址映射单元的第四比特位负责管理。
f核间通信写口和核间通信读口具有缓存机制。当数据通过核间通信端口进行数据通信时,所有的数据都将被缓存到与核间通信写口和核间通信读口具有相同地址的寄存器中。即,第二十四号寄存器缓存通过核间通信读口获取的数据,第二十五号寄存器缓存通过核间通信写口发送的数据。
(3) 数据链路第一层次:核间通信控制电路模块
核间通信控制模块是进行核间通信必需的控制信号产生模块。其基本功能是在处理器控制电路发出的控制信号的指引下,对处理器功能模块电路和扩展寄存器电路模块之间的数据通信进行控制,并且通过对扩展寄存器电路模块中的多核处理器核间通信地址映射单元进行配置,实现读核间通信读口和写口的配置,进而实现数据链路第一层次与第二层次的数据通信。
(4) 数据链路第二层次:先入先出队列电路模块
在数据链路第二层次中,先入先出队列电路模块的重要作用是实现跨时钟域的数据交互,这对多核处理器至关重要。在目前的多核处理器设计领域,多采用全局异步局部同步架构进行设计。也就是整个系统层面,时钟并不同步,计算负载重的处理器采用快时钟,计算负载轻的处理器采用慢时钟,这样便可以实现低功耗和高性能的统一。因此核间数据通信的重要一个特征就是跨时钟域的数据通信。先入先出队列电路模块便是为解决异步时钟数据交换这一难题而设计的。本发明中的先入先出队列电路模块采用通用的先入先出队列结构,包括一个写口和一个读口,实现异步时钟域的数据收发。
(5) 数据链路第三层次:数据路由阵列电路模块
在数据链路的第三层次,也是最高层次中,数据路由阵列电路模块担负着数据转发的重任。在该电路模块中,最为核心的是数据路由单元。该单元包括东向、西向、南向、北向和本地共五个通信端口,实现数据流向的控制和切换。每个处理器核拥有从属于自己的数据路由阵列电路模块,整个多核系统中不同的数据路由阵列电路模块按照一定的拓扑结构连接成片上网络,可以有效地提升在特定应用下的数据通信效率。本发明采用的拓扑架构为普通的二维网格式架构,详见说明书附图5。
在一次典型的数据传输过程中,甲处理器数据路由阵列电路模块首先从数据链路第二层次的先入先出队列电路模块获取相关数据,然后为这些数据加上特定的数据包头。数据包头中包含该数据的长度、来源地与目的地等信息,然后发送多拓扑网络中,其他数据路由阵列电路模块接受到该数据包后,会根据包头判断该数据的具体流向,从东向、西向、南向、北向和本地共五个通信端口中选择该数据的前进方向,当该数据传送到目的处理器核的数据路由阵列电路模块中时,其中的数据路由单元将把该数据通过本地通信端口发送到数据链路第二层次的先入先出队列电路模块中,再向下传送给目的处理器扩展寄存器电路模块和处理器功能电路模块。至此,完成整个核间数据通信过程。
有益效果
综上所述,上述发明内容,提出了一种新型多核处理器核间通信的方法及其电路实现。本发明的核心思想是对现有寄存器电路模块进行扩展,添加核间通信地址映射单元实现对核间通信数据读口和写口的配置,进而通过访问寄存器地址实现快速核间数据通信。从通信层次上来看,可以将通信数据链路从底至上分为三个层次和六个模块,分别为第一层次的处理器功能电路模块、核间通信控制电路模块和扩展寄存器电路模块,第二层次的先入先出队列电路模块,第三层次的数据路由阵列电路模块。借助三个层次各个模块的协作,共同完成完整的核间的数据通信过程。
与传统的访存式核间通信机制相比,本发明的特点主要体现在如下几个方面:
(1) 创造性地将寄存器电路模块作为数据通信的媒介。在处理器层次化存储体系中,寄存器是访问速度最快的,因此借助寄存器进行数据通信速度最快,效率最高。
(2) 提出层次化的核间通信电路结构。层出化核间通信电路结构可以有效地实现各个模块的功能划分,每个层次分工清晰,整体协作能力更好,因而通信效率更高。
(3) 在扩展寄存器电路模块中,将寄存器进行分组并通过核间通信地址映射单元进行配置,可以节省指令空间资源,在有限的指令长度下实现更多的寄存器寻址。同时,核间通信端口采用缓存机制,可以有效提升核间数据传输的可靠性和可恢复性。
经过实际验证,采用本发明的核间通信实例相比传统访存式数据通信机制,可有效将核间通信时间降低50%左右,取得了良好的效果。
附图说明
图1为一种多核处理器核间通信方法及其电路结构。
图2为处理器功能电路模块六级流水线示意图。
图3为扩展寄存器电路模块读数据通路示意图。
图4为扩展寄存器电路模块写数据通路示意图。
图5为多核处理器二维网格拓扑架构示意图。
具体实施方式
根据本发明方案,多核处理器核间通信电路结构的具体设计实施方式如下:
(1) 整体电路模块划分
整体电路的设计是整个核间通信电路结构设计的第一步。设计过程遵循从从上到下的设计步骤,首先按照核间通信电路结构划分数据链路层次,然后按照数据通路和控制通路分别设计功能模块,最后完成整个电路结构,如说明书附图1所示。
首先是核间通信电路结构的数据链路层次划分。由于多核处理器为全局异步局部同步时钟域,因此按照时钟域的不同,可以将数据链路分为三个层次。
数据链路第一层次,也是最低层次,为采用局部相同时钟的单个处理器核。第一层次为处理器核基本功能模块,因此划分出处理器功能电路模块。同时考虑到第一层次与更高层次的数据通信控制,划分出核间通信控制电路模块。此外,本发明的核心为扩展寄存器电路,因此单独划分成扩展寄存器电路模块。
数据链路第二层次,也是中间层次,是局部时钟域与全局时钟域的接口,采用先入先出队列结构,因此划分出先入先出队列电路模块。
数据链路第三层次,也是最高层次,是路由单元连接成片上网络,用于数据交换的全局时钟域,因此划分出数据路由阵列模块,互联后即构成片上网络。
(2)关键模块设计
在上一步完成整体模块划分后,将要进行的工作的关键模块设计。我们将整个硬件通路分为数据通路和控制通路,分别为数据流和控制流。
数据通路上,从底向上看,首先是处理器功能电路模块的设计。可以看到对该模块进一步按照数据通路和控制通路的划分,可以分为数据通路三大单元和控制通路单元,如说明书图-1所示。其中数据通路三大模块为处理器数据存储器、处理器指令存储器和处理器运算电路单元。控制通路单元则为处理器控制电路模单元,控制处理器运算单元进行指令要求的操作并输出结果。在处理器运算电路单元中,如说明书附图2所示,可以进一步向下划分为指令地址计数器、指令译码模块、数据地址计算模块、算术移位模块、算术逻辑运算单元、数据旁路模块、乘除法运算单元和数据对齐模块,按照流水线依次完成各个模块,即完成处理器功能电路模块的设计。
其次是扩展寄存器电路模块的设计,这是本发明的核心模块。可以从说明书附图3和附图4中看到,核间通信地址映射单元是实现扩展寄存器功能的关键,按照图中的结构完成该单元设计,实现配置功能后即完成扩展寄存器电路模块的设计。
核间通信控制电路模块主要是控制判断逻辑。根据处理器功能电路模块中的处理器控制电路单元给出的控制信号,协调处理器功能电路模块和扩展寄存器电路模块之间的数据交换,并通过对扩展寄存器电路模块中的核间通信地址映射单元进行配置,完成扩展寄存器电路模块与数据链路第二层次的数据通信。
先入先出队列电路模块的设计采用通用的先入先出队列电路结构,同时实现读通路和写通路,实现在不同时钟域之间的数据传输。
数据路由阵列电路模块是核间通信体系的最高层。其核心单元是数据路由单元,该单元包括东向、西向、南向、北向和本地共五个通信端口,实现数据流向的控制和切换。数据路由单元使得不同数据路由阵列电路模块相互连接构成通信网络。拓扑结构参见说明书附图5。
(3)数据通信格式设计
数据通信需要采取一定的格式,便于多核处理器中所有硬件的理解和执行。由于数据通信都是以字(32比特)为单位,因此在数据前加上一个字的数据包头作为数据的标示,包含数据长度、数据来源、数据目的地、数据类型等信息。
首先确定数据通信采用X-Y固定路由算法,该算法可有效避免死锁,提高通信效率。然后规定数据包头格式如下所示:
第零比特:数据类型。当该比特位是0的时候,数据将由扩展寄存器电路模块接受,当该比特位是1的时候,数据将先由扩展寄存器电路模块接受,进而传送到处理器功能电路模块中的处理器数据存储器单元中。
第一至第三比特:信箱索引。该比特位用于更新目的地处理器核处理器功能电路模块中的特定信箱单元,用于通知目的地处理器核,源数据已经发送完毕。
第四比特至第九比特:数据源地址。用于标识数据包的来源地。
第十比特至第十五比特:数据目的地址。用于标识数据包的目的地。
第十六比特至第二十比特:数据长度信息。用于标识后续数据的长度。
第二十一比特至第三十一比特:保留位,无任何功能。
(4)仿真与验证
在完成上面的设计之后,接下来的工作是仿真和验证。仿真采用NC-Verilog软件,在快速傅里叶变换应用例子下进行测试,可以验证本发明的效果显著,节省通信时间开销50%左右,提升通信效率一倍。
Claims (10)
1.一种多核处理器核间通信方法,其特征在于:
(1) 处理器核间通信通过扩展寄存器、先入先出队列与数据路由阵列三个电路模块实现,三个电路模块共同构成数据通信链路的三个层次;
(2) 扩展寄存器电路模块用于实现处理器功能电路模块与先入先出队列电路模块的数据通信,核间通信控制电路模块通过控制扩展寄存器电路模块和处理器功能电路模块的行为,实现两者之间的数据通信;这为数据通信链路的第一层次;
(3) 先入先出队列电路模块用于实现扩展寄存器电路模块与数据路由阵列电路模块之间的数据通信,该数据通信为跨时钟域数据通信,这为数据通信链路的第二层次;
(4) 数据路由阵列电路模块用于与其他处理器核的同类型模块互联,共同组成多核处理器数据互联网络,实现数据在网络上的交互,这为数据通信链路的第三层次;同时,该数据路由阵列电路模块与第二层次的先入先出队列电路模块进行数据交互,建立起完整的数据通信链路,实现多核处理器的核间通信。
2.根据权利要求1所述的多核处理器核间通信方法,其特征在于:所述扩展寄存器电路模块,在传统寄存器电路结构基础上添加有多核处理器核间通信地址映射单元,该地址映射单元将核间通信数据写地址和数据读地址映射在寄存器单元地址上,从而通过访问寄存器地址实现核间通信,使得寄存器电路模块成为处理器功能电路模块与外部进行数据通信的媒介。
3.根据权利要求2所述的多核处理器核间通信方法,其特征在于:所述地址映射单元,还用于核间通信的先入先出队列电路访问地址与寄存器单元地址绑定并实现映射。
4.一种多核处理器核间通信电路结构,其特征在于:电路结构包括四个主要电路模块和一个辅助电路模块;四个主要电路模块分别为处理器功能电路模块、扩展寄存器电路模块、先入先出队列电路模块与数据路由阵列电路模块,一个辅助电路模块为核间通信控制电路模块;电路结构分为三个数据链路层次,其中,处理器功能电路模块、扩展寄存器电路模块和核间通信控制电路模块为数据链路第一层次;先入先出队列电路模块为数据链路第二层次;数据路由阵列电路模块为数据链路第三层次;
在该核间通信的三个数据链路层次中,第一层次和第二层次各自独立不可互相访问;不同核之间的数据通信由处理器核将数据依次通过数据链路的第一层次、第二层次到达第三层次,然后由数据链路第三层次中的数据路由阵列电路模块与其他处理器核的对应模块进行通信;
处理器功能电路模块通过扩展寄存器电路模块与外部进行数据通信,扩展寄存器电路模块将核间通信地址映射到寄存器地址上,使得处理器功能电路模块能够通过访问寄存器地址实现对核间通信地址的访问;先入先出队列电路模块负责跨时钟域的数据交互,对应核间通信地址分别拥有一个读地址端口和写地址端口;数据路由阵列电路模块是通信链路的最上层,不同处理器核的各个数据路由阵列电路模块按照特定的拓扑结构相互连接,构成多核处理器片上网络,为核间数据通信提供通道。
5.根据权利要求4所述的多核处理器核间通信电路结构,其特征在于:在数据链路第一层次中,扩展寄存器电路模块和处理器功能电路模块之间的数据交互在核间通信控制电路模块控制下完成。
6.根据权利要求4所述的多核处理器核间通信电路结构,其特征在于:所述扩展寄存器电路模块,在传统寄存器电路结构基础上添加有多核处理器核间通信地址映射单元,该地址映射单元将核间通信数据写地址和数据读地址映射在寄存器单元地址上,从而通过访问寄存器地址实现核间通信,使得寄存器电路模块成为处理器功能电路模块与外部进行数据通信的媒介。
7.根据权利要求6所述的多核处理器核间通信电路结构,其特征在于:所述地址映射单元用于核间通信的先入先出队列电路访问地址与寄存器单元地址绑定并实现映射。
8.根据权利要求7所述的多核处理器核间通信电路结构,其特征在于:所述处理器功能电路模块包括处理器运算单元、处理器控制电路单元、处理器数据存储器和处理器指令存储器;在处理器控制电路单元控制下,处理器运算单元从处理器指令存储器中读取指令,从处理器数据存储器或扩展寄存器电路模块中读取数据,按照指令进行相应的运算,并将运算结果发送到数据存储器或扩展寄存器电路模块中。
9.根据权利要求7所述的多核处理器核间通信电路结构,其特征在于:所述处理器功能电路模块采用六级流水线结构,分别为取指、译码、执行、访存、对齐和写回级。
10.根据权利要求9所述的多核处理器核间通信电路结构,其特征在于:所述扩展寄存器电路模块:
a从数据流上看,分为读数据通路和写数据通路,使得该模块能够同时支持两次读操作与一次写操作;
b容量为64个32位的寄存器,其中每8个寄存器组成一组,共分为8组,第一组和第五组、第二组和第六组,第三组和第七组、第四组和第八组分别复用相同的地址空间;
c模块中的多核处理器核间通信地址映射单元负责复用地址空间的管理,根据处理器控制电路单元、核间通信控制模块给出的控制信号改变地址的映射关系,在共享相同的地址空间的两组寄存器之间进行切换;
d多核处理器核间通信地址映射单元的核心是映射控制寄存器;该控制寄存器共有五个比特位,其中第零到第三比特位分别控制第一组和第五组、第二组和第六组,第三组和第七组、第四组和第八组复用相同地址的寄存器组实际映射地址的选择;第四比特位负责管理核间通信端口;
e核间通信端口分为核间通信写口和核间通信读口;其中核间通信写口和第二十四号寄存器复用相同地址,核间通信读口和第二十五号寄存器复用相同地址;映射地址的选择由多核处理器核间通信地址映射单元的第四比特位负责管理;
f核间通信写口和核间通信读口具有缓存机制;当数据通过核间通信端口进行数据通信时,所有的数据都将被缓存到与核间通信写口和核间通信读口具有相同地址的寄存器中,即第二十四号寄存器缓存通过核间通信读口获取的数据,第二十五号寄存器缓存通过核间通信写口发送的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100892946A CN102141974A (zh) | 2011-04-11 | 2011-04-11 | 一种多核处理器核间通信方法及其电路结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100892946A CN102141974A (zh) | 2011-04-11 | 2011-04-11 | 一种多核处理器核间通信方法及其电路结构 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102141974A true CN102141974A (zh) | 2011-08-03 |
Family
ID=44409508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100892946A Pending CN102141974A (zh) | 2011-04-11 | 2011-04-11 | 一种多核处理器核间通信方法及其电路结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102141974A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102769750A (zh) * | 2012-07-12 | 2012-11-07 | 国家计算机网络与信息安全管理中心 | 基于众核平台的解码方法和解码设备 |
CN102880583A (zh) * | 2012-08-01 | 2013-01-16 | 浪潮(北京)电子信息产业有限公司 | 一种多路服务器动态链路配置装置和方法 |
CN103713954A (zh) * | 2013-12-25 | 2014-04-09 | 华为技术有限公司 | 一种处理器模块及电子设备 |
CN104102549A (zh) * | 2013-04-01 | 2014-10-15 | 华为技术有限公司 | 一种实现多线程互斥操作的方法、装置和芯片 |
CN104933009A (zh) * | 2015-04-29 | 2015-09-23 | 中国人民解放军国防科学技术大学 | 一种用于多核dsp间的片上通信方法及数据通信装置 |
CN106250341A (zh) * | 2016-07-29 | 2016-12-21 | 福州瑞芯微电子股份有限公司 | 一种多簇处理器及其脚本设计和连接方法 |
CN103984672B (zh) * | 2014-05-12 | 2017-01-11 | 复旦大学 | 一种基于共享寄存器堆和全局同步模块的处理器簇结构 |
CN107179956A (zh) * | 2017-05-17 | 2017-09-19 | 北京计算机技术及应用研究所 | 分层多核处理器核间可靠通信方法 |
CN107590100A (zh) * | 2017-09-06 | 2018-01-16 | 北京航天发射技术研究所 | 一种多核处理器的核间数据交互方法 |
CN110096475A (zh) * | 2019-04-26 | 2019-08-06 | 西安理工大学 | 一种基于混合互连架构的众核处理器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040107331A1 (en) * | 1995-04-17 | 2004-06-03 | Baxter Michael A. | Meta-address architecture for parallel, dynamically reconfigurable computing |
CN101299199A (zh) * | 2008-06-26 | 2008-11-05 | 上海交通大学 | 基于可配置处理器及指令集扩展的异构多核系统 |
CN101876892A (zh) * | 2010-05-20 | 2010-11-03 | 复旦大学 | 面向通信和多媒体应用的单指令多数据处理器电路结构 |
-
2011
- 2011-04-11 CN CN2011100892946A patent/CN102141974A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040107331A1 (en) * | 1995-04-17 | 2004-06-03 | Baxter Michael A. | Meta-address architecture for parallel, dynamically reconfigurable computing |
CN101299199A (zh) * | 2008-06-26 | 2008-11-05 | 上海交通大学 | 基于可配置处理器及指令集扩展的异构多核系统 |
CN101876892A (zh) * | 2010-05-20 | 2010-11-03 | 复旦大学 | 面向通信和多媒体应用的单指令多数据处理器电路结构 |
Non-Patent Citations (3)
Title |
---|
《Solid-State and Integrated Circuit Technology,2010 10th IEEE International Conference on》 20101104 Ruijin Xiao et al. A Novel Multi-Core Processor for Communication Applications 第1-3页 2-10 , * |
RUIJIN XIAO ET AL.: "A Novel Multi-Core Processor for Communication Applications", 《SOLID-STATE AND INTEGRATED CIRCUIT TECHNOLOGY,2010 10TH IEEE INTERNATIONAL CONFERENCE ON》 * |
陈芳露等: "一种新型片上网络互连结构的仿真和实现", 《小型微型计算机系统》 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102769750A (zh) * | 2012-07-12 | 2012-11-07 | 国家计算机网络与信息安全管理中心 | 基于众核平台的解码方法和解码设备 |
CN102880583A (zh) * | 2012-08-01 | 2013-01-16 | 浪潮(北京)电子信息产业有限公司 | 一种多路服务器动态链路配置装置和方法 |
CN102880583B (zh) * | 2012-08-01 | 2015-03-11 | 浪潮(北京)电子信息产业有限公司 | 一种多路服务器动态链路配置装置和方法 |
US10331499B2 (en) | 2013-04-01 | 2019-06-25 | Huawei Technologies Co., Ltd. | Method, apparatus, and chip for implementing mutually-exclusive operation of multiple threads |
CN104102549A (zh) * | 2013-04-01 | 2014-10-15 | 华为技术有限公司 | 一种实现多线程互斥操作的方法、装置和芯片 |
US9798591B2 (en) | 2013-04-01 | 2017-10-24 | Huawei Technologies Co., Ltd | Method, apparatus, and chip for implementing mutually-exclusive operation of multiple threads |
CN103713954B (zh) * | 2013-12-25 | 2017-07-14 | 华为技术有限公司 | 一种处理器模块及电子设备 |
CN103713954A (zh) * | 2013-12-25 | 2014-04-09 | 华为技术有限公司 | 一种处理器模块及电子设备 |
CN103984672B (zh) * | 2014-05-12 | 2017-01-11 | 复旦大学 | 一种基于共享寄存器堆和全局同步模块的处理器簇结构 |
CN104933009A (zh) * | 2015-04-29 | 2015-09-23 | 中国人民解放军国防科学技术大学 | 一种用于多核dsp间的片上通信方法及数据通信装置 |
CN106250341A (zh) * | 2016-07-29 | 2016-12-21 | 福州瑞芯微电子股份有限公司 | 一种多簇处理器及其脚本设计和连接方法 |
CN106250341B (zh) * | 2016-07-29 | 2018-12-18 | 福州瑞芯微电子股份有限公司 | 一种多簇处理器及其脚本设计和连接方法 |
CN107179956A (zh) * | 2017-05-17 | 2017-09-19 | 北京计算机技术及应用研究所 | 分层多核处理器核间可靠通信方法 |
CN107179956B (zh) * | 2017-05-17 | 2020-05-19 | 北京计算机技术及应用研究所 | 分层多核处理器核间可靠通信方法 |
CN107590100A (zh) * | 2017-09-06 | 2018-01-16 | 北京航天发射技术研究所 | 一种多核处理器的核间数据交互方法 |
CN107590100B (zh) * | 2017-09-06 | 2020-06-19 | 北京航天发射技术研究所 | 一种多核处理器的核间数据交互方法 |
CN110096475A (zh) * | 2019-04-26 | 2019-08-06 | 西安理工大学 | 一种基于混合互连架构的众核处理器 |
CN110096475B (zh) * | 2019-04-26 | 2023-10-24 | 西安理工大学 | 一种基于混合互连架构的众核处理器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102141974A (zh) | 一种多核处理器核间通信方法及其电路结构 | |
Flich et al. | Designing network on-chip architectures in the nanoscale era | |
CN103699360B (zh) | 一种向量处理器及其进行向量数据存取、交互的方法 | |
CN107590085B (zh) | 一种具有多级缓存的动态可重构阵列数据通路及其控制方法 | |
CN105005546A (zh) | 一种内置交点队列的异步axi总线结构 | |
CN105468568B (zh) | 高效的粗粒度可重构计算系统 | |
CN101477512B (zh) | 一种处理器系统及其访存方法 | |
CN103744644A (zh) | 采用四核结构搭建的四核处理器系统及数据交换方法 | |
CN102306139A (zh) | 用于ofdm无线通信系统的异构多核数字信号处理器 | |
CN101833441A (zh) | 并行向量处理引擎结构 | |
CN101441616B (zh) | 基于寄存器文件的快速数据交换结构及其管理方法 | |
CN107113253A (zh) | 用于片上网络的空间划分的电路交换信道 | |
CN109308283A (zh) | 一种SoC片上系统及其外设总线切换方法 | |
CN101770437A (zh) | 实现同步双端口存储器ip的并行读写的结构及方法 | |
CN102497411A (zh) | 面向密集运算的层次化异构多核片上网络架构 | |
CN104317770A (zh) | 用于众核处理系统的数据存储结构及数据访问方法 | |
CN108874730B (zh) | 一种数据处理器及数据处理方法 | |
CN107562549B (zh) | 基于片上总线和共享内存的异构众核asip架构 | |
CN107005492A (zh) | 用于芯片上网络上的多播和缩减通信的系统 | |
CN100573500C (zh) | 基于Avalon总线的流处理器IP核 | |
US20180212894A1 (en) | Fork transfer of data between multiple agents within a reconfigurable fabric | |
CN103761072A (zh) | 一种粗粒度可重构层次化的阵列寄存器文件结构 | |
CN100458973C (zh) | 高速流水线中长延时多端口sram的快速访问方法 | |
CN104035896B (zh) | 一种适用于2.5d多核系统的融合存储器的片外加速器 | |
CN100481060C (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110803 |