一种多核处理器核间通信方法及其电路结构的制作方法

文档序号:6357810阅读:150来源:国知局
专利名称:一种多核处理器核间通信方法及其电路结构的制作方法
技术领域
本发明属于高性能处理器技术领域,具体为一种适用于多核处理器的核间通信方 法及其电路结构。
背景技术
自2000年以来,多核处理器出现了蓬勃发展的势头。在传统的单核处理器时钟不 能进一步提高、深亚微米设计难度加大、半导体技术前进步伐放缓的情况下,多核处理器引 起了设计者的极大重视。目前,市场上主流处理器几乎均为多核处理器架构。与传统的单 核处理器相比,多核处理器并行计算能力更强,可扩展性与可配置性也更好,功耗水平也有 一定的优势。多核处理器本质上是采用一定的网络拓扑结构将一定数量的微处理器联接起 来,采用特定的路由算法负责不同微处理器之间的通信,以获得更好的并行计算能力。从多核处理器网络拓扑结构来看,近几年片上网络架构(Network-on-Chip)有取 代总线架构的趋势。但是在片上网络架构由于网络拓扑结构较为复杂,处理器核之间的数 据通信效率不高,成为限制多核处理器性能提升的瓶颈。目前已经不少机构和个人针对核 间通信方法提出了各自的解决方案,但仍未有最优方案的定论。

发明内容
本发明目的的在于提供了一种通信时间省、运算效率高的多核处理器核间通信方 法及其电路结构。本发明针对现有多核处理器核间通信方案中出现的一些问题和瓶颈,深入对多核 处理器架构进行调研,提出了一种新的多核处理器核间通信方法及其电路结构。所述核间 通信方法的核心思想是,通过对现有多核处理器架构中的寄存器电路模块进行功能性扩 展,在该模块中添加多核处理器核间通信地址映射单元,从而能够通过访问寄存器地址实 现对核间通信地址的访问,从而实现核间通信地址的快速访问和核间数据的快速交互。本发明提出的多核处理器核间通信方法,具体为
(1)处理器核间通信通过扩展寄存器、先入先出队列与数据路由阵列三个电路模块实 现,三个电路模块共同构成数据通信链路的三个层次;
(2)扩展寄存器电路模块用于实现处理器功能电路模块与先入先出队列电路模块的 数据通信,核间通信控制电路模块通过控制扩展寄存器电路模块和处理器功能电路模块的 行为,实现两者之间的数据通信;这为数据通信链路的第一层次;
(3)先入先出队列电路模块用于实现扩展寄存器电路模块与数据路由阵列电路模块 之间的数据通信,该数据通信为跨时钟域数据通信,这为数据通信链路的第二层次;
(4)数据路由阵列电路模块用于与其他处理器核的同类型模块互联,共同组成多核处 理器数据互联网络,实现数据在网络上的交互,这为数据通信链路的第三层次;同时,该数 据路由阵列电路模块与第二层次的先入先出队列电路模块进行数据交互,建立起完整的数 据通信链路,实现多核处理器的核间通信。
上述多核处理器核间通信方法中,所述扩展寄存器电路模块,在传统寄存器电路 结构基础上添加有多核处理器核间通信地址映射单元,该地址映射单元将核间通信数据写 地址和数据读地址映射在寄存器单元地址上,从而通过访问寄存器地址实现核间通信,使 得寄存器电路模块成为处理器功能电路模块与外部进行数据通信的媒介。上述多核处理器核间通信方法中,所述地址映射单元,还用于核间通信的先入先 出队列电路访问地址与寄存器单元地址绑定并实现映射。本发明还提供实现上述多核处理器核间通信方法的电路结构。该电路结构包括四 个主要电路模块和一个辅助电路模块。四个主要电路模块分别为处理器功能电路模块、扩 展寄存器电路模块、先入先出队列电路模块与数据路由阵列电路模块,一个辅助电路模块 为核间通信控制电路模块。电路结构分为三个数据链路层次,其中,处理器功能电路模块、 扩展寄存器电路模块和核间通信控制电路模块属于该方法的数据链路第一层次,也是最低 层次。先入先出队列电路模块属于该方法的数据链路第二层次。数据路由阵列电路模块则 为该方法的数据链路第三层次,也是最高层次。在该核间通信方法的三个数据链路层次中,只有第三层次能够实现不同处理器核 间的数据交互。在多核处理器中,对于不同的处理器核而言,第一层次和第二层次均是各自 独立不可互相访问的。不同核之间的数据通信需要处理器核将数据依次通过数据链路的第 一层次、第二层次到达第三层次,然后由数据链路第三层次中的数据路由阵列电路模块与 其他处理器核的对应模块进行通信。一个典型的核间数据发送接收过程是,甲处理器核将 数据通过第一层次、第二层次发送给第三层次中的数据路由阵列电路模块,然后该电路模 块将这个数据发送给乙处理器核中对应的第三层次中的数据路由阵列电路模块,然后乙处 理器中的该电路模块将数据依次通过第二层次、第一层次传递给乙处理器功能电路模块, 至此完成整个数据通信过程。处理器功能电路模块通过扩展寄存器电路模块与外部进行数据通信,扩展寄存器 电路模块将核间通信地址映射到寄存器地址上,使得处理器功能电路模块能够通过访问寄 存器地址实现对核间通信地址的访问;先入先出队列电路模块负责跨时钟域的数据交互, 对应核间通信地址分别拥有一个读地址端口和写地址端口 ;数据路由阵列电路模块是通 信链路的最上层,不同处理器核的各个数据路由阵列电路模块按照特定的拓扑结构相互连 接,构成多核处理器片上网络,为核间数据通信提供通道。通信数据链路各层次中电路模块的具体功能为 (1)数据链路第一层次处理器功能电路模块
在整个多核处理器系统中,处理器功能电路模块是基础性的功能部件,根据程序指令 与多核系统中的其他处理器核一同完成一系列运算。从硬件模块划分上来看,该模块包括处理器运算单元、处理器控制电路单元、处理 器数据存储器和处理器指令存储器。在处理器控制电路单元控制下,处理器运算单元从处 理器指令存储器中读取指令,从处理器数据存储器或扩展寄存器电路模块中读取数据,按 照指令进行相应的运算,并将运算结果发送到数据存储器或扩展寄存器电路模块中。从指令运行时序上来看,如说明书附图2所示,本发明中的处理器功能电路模块 采用传统的六级流水线结构,分别为取指、译码、执行、访存、对齐和写回级。处理器功能电 路模块中的各个单元和核间通信控制电路模块,扩展寄存器电路模块按照六级流水线规定
5的时序协同工作。其中,指令地址计数器、指令译码模块、数据地址计算模块、算术移位模块 和算术逻辑运算单元都从属于处理器运算电路单元。下面将按照流水线来介绍各个模块和 单元的功能 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)关键模块设计
在上一步完成整体模块划分后,将要进行的工作的关键模块设计。我们将整个硬件通 路分为数据通路和控制通路,分别为数据流和控制流。数据通路上,从底向上看,首先是处理器功能电路模块的设计。可以看到对该模块 进一步按照数据通路和控制通路的划分,可以分为数据通路三大单元和控制通路单元,如 说明书图-ι所示。其中数据通路三大模块为处理器数据存储器、处理器指令存储器和处理 器运算电路单元。控制通路单元则为处理器控制电路模单元,控制处理器运算单元进行指令要求的操作并输出结果。在处理器运算电路单元中,如说明书附图2所示,可以进一步向 下划分为指令地址计数器、指令译码模块、数据地址计算模块、算术移位模块、算术逻辑运 算单元、数据旁路模块、乘除法运算单元和数据对齐模块,按照流水线依次完成各个模块, 即完成处理器功能电路模块的设计。其次是扩展寄存器电路模块的设计,这是本发明的核心模块。可以从说明书附图 3和附图4中看到,核间通信地址映射单元是实现扩展寄存器功能的关键,按照图中的结构 完成该单元设计,实现配置功能后即完成扩展寄存器电路模块的设计。核间通信控制电路模块主要是控制判断逻辑。根据处理器功能电路模块中的处理 器控制电路单元给出的控制信号,协调处理器功能电路模块和扩展寄存器电路模块之间的 数据交换,并通过对扩展寄存器电路模块中的核间通信地址映射单元进行配置,完成扩展 寄存器电路模块与数据链路第二层次的数据通信。先入先出队列电路模块的设计采用通用的先入先出队列电路结构,同时实现读通 路和写通路,实现在不同时钟域之间的数据传输。数据路由阵列电路模块是核间通信体系的最高层。其核心单元是数据路由单元, 该单元包括东向、西向、南向、北向和本地共五个通信端口,实现数据流向的控制和切换。数 据路由单元使得不同数据路由阵列电路模块相互连接构成通信网络。拓扑结构参见说明书 附图5。(3)数据通信格式设计
数据通信需要采取一定的格式,便于多核处理器中所有硬件的理解和执行。由于数据 通信都是以字(32比特)为单位,因此在数据前加上一个字的数据包头作为数据的标示,包 含数据长度、数据来源、数据目的地、数据类型等信息。首先确定数据通信采用X-Y固定路由算法,该算法可有效避免死锁,提高通信效 率。然后规定数据包头格式如下所示
第零比特数据类型。当该比特位是0的时候,数据将由扩展寄存器电路模块接受,当 该比特位是1的时候,数据将先由扩展寄存器电路模块接受,进而传送到处理器功能电路 模块中的处理器数据存储器单元中。第一至第三比特信箱索引。该比特位用于更新目的地处理器核处理器功能电路 模块中的特定信箱单元,用于通知目的地处理器核,源数据已经发送完毕。第四比特至第九比特数据源地址。用于标识数据包的来源地。第十比特至第十五比特数据目的地址。用于标识数据包的目的地。第十六比特至第二十比特数据长度信息。用于标识后续数据的长度。第二十一比特至第三十一比特保留位,无任何功能。(4)仿真与验证
在完成上面的设计之后,接下来的工作是仿真和验证。仿真采用NC-Verilog软件,在 快速傅里叶变换应用例子下进行测试,可以验证本发明的效果显著,节省通信时间开销50% 左右,提升通信效率一倍。
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核间通信写口和核间通信读口具有缓存机制;当数据通过核间通信端口进行数据通 信时,所有的数据都将被缓存到与核间通信写口和核间通信读口具有相同地址的寄存器 中,即第二十四号寄存器缓存通过核间通信读口获取的数据,第二十五号寄存器缓存通过 核间通信写口发送的数据。
全文摘要
本发明属于高性能处理器技术领域,具体为一种多核处理器核间通信方法及其电路结构。本发明通过对现有多核处理器架构中的寄存器电路模块进行功能性扩展,在该模块中添加多核处理器核间通信地址映射单元,从而能够通过访问寄存器地址实现对核间通信地址的访问,实现核间通信地址的快速访问和核间数据的快速交互。其电路结构包括扩展寄存器电路模块,先入先出队列电路模块,数据路由阵列电路模块,核间通信控制电路模块,处理器功能电路模块;电路结构分为三个数据链路层次。本发明提升了现有多核处理器的通信效率与运算效率,具有明显的学术价值与实用价值。
文档编号G06F15/163GK102141974SQ20111008929
公开日2011年8月3日 申请日期2011年4月11日 优先权日2011年4月11日
发明者尤凯迪, 权衡, 肖瑞瑾, 虞志益 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1