掌桥专利:专业的专利平台
掌桥专利
首页

一种多核处理器及其控制方法

文献发布时间:2023-06-19 11:32:36


一种多核处理器及其控制方法

技术领域

本发明涉及多核处理器架构,具体为一种多核处理器及其控制方法。

背景技术

目前的电子系统中大量使用多核处理器架构;例如4G/5G蜂窝通信设备,其中每个处理单元(即:每个处理器内核),用于实时控制某些硬件加速模块,例如4G/5G通讯设备中的信道编解码加速专用硬件模块。用于这些电子系统中的处理单元(计算机内核)通常面临很高的性能要求。首先,通常需要高速主频。其次,必须强于逻辑推导,因而需要避免深流水线造成的性能延迟。最后,通常也是最为关键和最具挑战的是,对于来自所控制的硬件加速模块所提出的中断申请必须及时响应。

传统多核处理器的常用架构是:使用同一块共享内存,每个处理器核都看到该同内存中一致的内容。这带来的问题是数据操作(读取、写回)速度严重变慢,因为大家共享彼此需要礼让和必要的裁决机制,经常路口堵车。如图1所示,多核处理器通过内存共享而实现多核之间数据即时共享,其在进行共享主内存读取时的礼让裁决机制将严重制约系统性能。

传统多核处理器的另一种常用架构如图2所示,基于数据缓存的多核数据即时共享;每个处理器核使用自己的数据缓存,每个核可高速读取及写回自己的数据缓存,同时这个数据缓存系统保证每个数据缓存中的内容和共享主存中始终同步一致。但是,当中断发生时,如果数据缓存失配,为确保数据缓存中数据内容与主存中一致,通常会显著影响中断反应速度,延长中断响应时间——这对处理器的实时性能来说是非常致命的影响。虽然,最简单且直截了当的加速方法是增加CPU主频,这通常可通过增加处理器的流水深度来实现。但是,处理器流水深度增大的话会导致中断来了响应又会变慢(因为需要清理更深跟复杂的处理器流水线),同时影响正常工作时候的逻辑处理能力(更深的流水线导致更长的数据间依赖的延时)——这些都与提高系统性能的需求背道而驰。

发明内容

针对现有技术中存在的问题,本发明提供一种多核处理器及其控制方法,结构简单,设计合理,访问内存时不会冲突,不需要礼让也无需裁决,彼此能够保持高速高性能。

本发明是通过以下技术方案来实现:

一种多核处理器,包括,

一组成对设置的处理器核A和处理器核B;

共享内存,用于分别连接成对设置的处理器核A和处理器核B;

时钟生成电路,配置为产生时钟信号;所述时钟信号输入处理器核A,并作为处理器核A工作时序,控制与共享内存的交互;

逆变器,连接时钟生成电路输出端,配置为将所述时钟信号反相以产生反相时钟信号;所述反相时钟信号输入处理器核B,并作为处理器核B工作时序,控制与共享内存的交互。

优选的,所述处理器核A工作在时钟信号的上升沿,所述处理器核B工作在反相时钟信号的上升沿。

优选的,还包括,多组成对设置的处理器核A和处理器核B,每组成对设置的处理器核A和处理器核B分别连接一个共享内存。

进一步,多组成对设置的处理器核中,共用一个处理器核A或处理器核B。

优选的,所述的处理器核A通过处理器核A总线连接到对应的共享内存,与其成对设置的处理器核B通过处理器核B总线连接到同一共享内存。

优选的,处理器核A和处理器核B工作时,对同一共享内存进行读/写控制、地址译码和读/写数据中的至少一种访问。

一种多核处理器的控制方法,包括,

生成用于控制多核处理器的时钟信号;

将产生的时钟信号作为输入提供给多核处理器的处理器核A,控制处理器核A访问一个共享内存;

将时钟信号反相后得到反相时钟信号作为输入提供给多核处理器的处理器核B,控制处理器核B访问同一个共享内存;

所述的处理器核A和处理器核B成对设置,分别访问同一个共享内存。

优选的,通过时钟信号的上升沿控制处理器核A访问共享内存,通过反相时钟信号的上升沿控制处理器核B访问共享内存。

优选的,时钟信号分别控制多个处理器核A,反相时钟信号分别控制多个处理器核B。

优选的,将时钟信号作为输入提供给多核处理器的多个处理器核A,分别控制多个处理器核A访问多个共享内存;

将反相时钟信号作为输入提供给多核处理器的多个处理器核B,分别控制多个处理器核B访问多个共享内存;

同一共享内存仅接受一组成对设置的处理器核A和处理器核B进行访问。

与现有技术相比,本发明具有以下有益的技术效果:

本发明所述的多核处理器,通过将两个一同使用共享内存的处理器核成双结对的进行设置架构,并且通过时钟信号和反相时钟信号的互补性,让该共享内存能实时的进行数据的更新、同步和读写;同时能够成对的两个多核处理器的均保持高速运转,无需礼让等待,交替访问共享内存,如同各自独立运转,且彼此又能充分数据沟通;显著提升蜂窝通讯系统的性能,非常适合用于中断响应要求敏感的系统中。

进一步的,在多核处理器中的通过多组成对设置的处理器核,极大的提高了多核处理器系统的整体性能,将两两成对的处理器核与对应的共享内存对应设置,能够形成二维的多核处理器架构,用于大规模复杂计算的系统当中。

附图说明

图1为现有技术中多核处理器的一种架构。

图2为现有技术中多核处理器的另一种架构。

图3为本发明实例中所述多核处理器的架构。

图4为本发明实例中所述多核处理器中成对处理器核的时序控制图。

图5为本发明实例中所述多核处理器中多组成对处理器核的架构。

图6为本发明实例中所述多核处理器控制方法的流程框图。

具体实施方式

下面结合具体的实施例对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。

本发明一种多核处理器,包括,

一组成对设置的处理器核A和处理器核B;

共享内存,用于分别连接成对设置的处理器核A和处理器核B;

时钟生成电路,配置为产生时钟信号;所述时钟信号输入处理器核A,并作为处理器核A工作时序,控制与共享内存的交互;

逆变器,连接时钟生成电路输出端,配置为将所述时钟信号反相以产生反相时钟信号;所述反相时钟信号输入处理器核B,并作为处理器核B工作时序,控制与共享内存的交互。

具体的,如图3所示,其中,处理器核设置为成双结对的架构,本优选实例中,以处理器核1和处理器核2作为处理器核A和处理器核B进行说明,通过采用两个一样处理器核,但处理器核彼此使用相反的时钟,并且通过一块共享内存进行数据交换。一般情况下,处理器核1和处理器核2两个是完全相同的,属于同一类型的处理器。在一些实施例中,处理器核1和处理器核2可以设置为彼此不同,但是都访问同一个共享内存。

该同一个共享内存分别通过单独的处理器核1总线和处理器核2总线分别对应连接处理器核1和处理器核2,以便允许对存储在其中的数据进行独立访问。通常,这是通过在每个处理器核和它相应的总线之间延伸的引线来完成的。共享内存可能是随机存取存储器RAM,安装在电路板上。如图3所示,对共享内存的访问可以由时钟生成电路生成的时钟信号CLK来管理。时钟生成电路也可以称为时钟模块。例如,时钟生成电路可以是安装在电路板上的一个电子振荡器。

由于两个处理器核各自工作于不一样的时钟相位,于是它们在访问共享内存时不会冲突,不需要礼让也无需裁决,彼此保持高速高性能。如图4所示,时钟信号CLK输入给处理器核1,然后时钟信号的反相(倒相)CLK_INV再输入给处理器核2。

通过本发明所述方式配对的处理器核,能够以一种看似排他的方式独立访问共享内存。由于这些处理器核交替访问共享内存,即使处理器核可以通过共享内存访问彼此,内核也可能不会访问彼此。从每个处理器核的角度来看,共享内存只属于该处理器核本身,从而使得这种访问共享内存的方法确保处理器核之间没有冲突,因此不需要仲裁。

本优选实例中,两个处理器核即处理器核1和处理器核2都工作于对应时钟的上升沿,从而通过时钟信号同步两个成对的处理器核1和处理器核2的访问;其中,时钟信号的反相由逆变器在时钟信号进入处理器核2时进行反相控制。

具体的,如图4所示,提供给处理器核1作为输入的时钟信号CLK包括一系列的“开”和“关”周期。同样,提供给处理器核2作为输入的反相时钟信号CLK_INV包括一系列的“开”和“关”周期。如图4所示,每个“on”周期的开始可能对应信号的上升边缘,而每个“on”周期的结束可能对应信号的下降边缘。因此,处理器核1在时钟信号的上升沿上工作,而处理器核2在反相时钟信号的上升沿上工作。为方便起见,处理器核1运行的周期可以称为奇周期,而处理器核2运行的阶段可以称为“偶周期”。

处理器核A和处理器核B工作时,对同一共享内存进行读/写控制、地址译码和读/写数据中的至少一种访问。具体的,多核处理器的活动可以分为两类,即写操作和读操作。下面将进一步讨论,写操作可以看作是单周期操作,而读操作可以看作是双周期操作。

在每个奇数周期中,处理器核1可以向共享内存发送一个控制信号,该信号向共享内存指示处理器核1请求的访问类型。换句话说,控制信号可以指示处理器核1心是否正在从共享内存请求读或写权限。如果处理器核1对从共享内存读取数据感兴趣,那么控制信号可能伴随着一个与要读取的数据相对应的地址。如图4所示,共享内存可以在接下来的偶数循环中将请求的数据提供给处理器核1。如果处理器核1对写入数据到共享内存感兴趣,那么控制信号可能伴随一个地址,指定数据被写入的地方和数据本身。写操作可以在一个循环中由处理器核1执行,因为不需要共享内存的“响应”。

在每个偶数周期中,处理器核2可以向共享内存发送一个控制信号,该信号向共享内存指示处理器核2所需要的访问类型。用另一种方法,控制信号可以指示第二核是否正在从共享内存请求读或写权限。如果处理器核2对从共享内存读取数据感兴趣,那么控制信号可能伴随着一个与要读取的数据相对应的地址。如图4所示,然后共享内存可以在接下来的奇数循环中将请求的数据提供给处理器核2。如果处理器核2对写入数据到共享内存感兴趣,那么控制信号可能伴随一个地址,指定数据被写入的地方和数据本身。写操作可以在一个周期内由处理器核2执行,因为不需要共享内存的“响应”。

从而通过本发明所提出的成对的处理器核架构,显著提升蜂窝通讯系统的性能,使得多核系统同时保证每个处理器核保持高速运转(无需礼让等待),如同各自独立运转,且彼此又能充分数据沟通。这样的多核系统正适合用于中断响应要求敏感的系统中。

成对核体系结构可以显著提高装有一个或多个多核处理器的微控制器的计算设备的性能。举例来说,双核架构可以帮助提高通过宽带蜂窝网络通信的模型的效率。拥有一对核架构的多核处理器可能能够保持每个核在高性能水平上运行,同时仍然允许核之间以有效的方式进行通信。简而言之,具有配对核架构的多核处理器可以支持多个核之间的数据共享,而不会影响性能。

本发明所述的架构还可以延伸推广到拥有多于两个处理器核的多核系统当中,从彼此反相时钟的一对处理器核扩充到彼此反相时钟的多个处理器核的示例,多组成对设置的处理器核A和处理器核B,每组成对设置的处理器核A和处理器核B分别连接一个共享内存。具体的,它们之间共享内存的方式也如图5所示。

以其中的处理器核1、处理器核2、处理器核3和处理器核4为例进行说明,按照上述说明,由时钟信号控制的处理器核1和处理器核3属于处理器核A的类型,而由反相时钟信号控制的处理器核2和处理器核4属于处理器核B的类型,两个类型的处理器核能够进行成对组合,本优选实例中由四个处理器核形成三组成对,处理器核1和处理器核2、处理器核2和处理器核3,以及处理器核3和处理器核4,并且分别对应访问共享内存1、2、3;在成对设置中,实际上共用了中间的处理器核2、3,实现了对多处理器核的架构配置;可以合理推测的是,每个处理器核实际上可以分别通过若干共享内存与控制时钟信号反相的处理器核分别成对配置,均通过一个单独的始终进行来管理属于处理器核A的类型,通过其反相来管理属于处理器核B的类型,使得每个共享内存对应的处理器核都能够实现交替访问。

以图5所示的一维的CPU阵列作为基础题,通过本发明提出一种低成本并且实用高效的计算机架构能够构造一组两维的“CPU海洋”,这样的多核系统可以被广泛用于大规模复杂计算的系统当中。

本发明还提供了一种多核处理器的控制方法,生成用于控制多核处理器的时钟信号;

将产生的时钟信号作为输入提供给多核处理器的处理器核A,控制处理器核A访问一个共享内存;

将时钟信号反相后得到反相时钟信号作为输入提供给多核处理器的处理器核B,控制处理器核B访问同一个共享内存;

所述的处理器核A和处理器核B成对设置,分别访问同一个共享内存。

可以依赖于上述的多核处理器系统执行,也可以单独进行多核处理器进行配置,具体的,如图6所示。

时钟生成电路可以产生时钟信号,该时钟信号提供给处理器核A作为输入。这个时钟信号可以控制处理器核A对共享内存的访问。这个时钟信号也可以提供给逆变器作为输入。所述逆变器可以将所述时钟信号进行反相,以产生具有相位与所述时钟信号相反的反相时钟信号,反相时钟信号提供给处理器核B,可以控制处理器核B对共享内存的访问。换句话说,时钟信号和反相时钟信号可能互为补充,时钟信号可能有一个“开”周期,而倒转时钟信号可能有一个“关”周期,反之亦然。从而时钟信号和反相时钟信号的相反相位使得共享内存在每个周期中被处理器核A或处理器核B访问。

相对应多于两个处理器核的多核处理器,可以采用相同的控制方式对成对的处理器核分别进行控制,实现共享内容的交替访问和读写控制。

本领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

相关技术
  • 一种基于多核处理器的流量控制方法和多核处理器
  • 多核系统、多核系统的控制方法以及多处理器
技术分类

06120112966126