首页> 中国专利> 多核处理器中的处理器内核通信

多核处理器中的处理器内核通信

摘要

本公开的实施例大体涉及处理处理器内核间的通信的技术。一些示例多核处理器包括:多核处理器的第一区域中的处理器内核的第一集合,被配置为动态接收第一电源电压和第一时钟信号;多核处理器的第二区域中的处理器内核的第二集合,被配置为动态接收第二电源电压和第二时钟信号;以及与处理器内核的第一集合及处理器内核的第二集合相耦合的接口块,其中所述接口块被配置为便于处理器内核的第一集合和处理器内核的第二集合之间的通信。

著录项

  • 公开/公告号CN102667744A

    专利类型发明专利

  • 公开/公告日2012-09-12

    原文格式PDF

  • 申请/专利权人 英派尔科技开发有限公司;

    申请/专利号CN201180005030.6

  • 发明设计人 安德鲁·乌尔夫;马克·列维特;

    申请日2011-02-11

  • 分类号G06F13/36(20060101);

  • 代理机构11021 中科专利商标代理有限责任公司;

  • 代理人戎志敏

  • 地址 美国特拉华州

  • 入库时间 2023-12-18 06:28:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-01-31

    未缴年费专利权终止 IPC(主分类):G06F13/36 专利号:ZL2011800050306 申请日:20110211 授权公告日:20150610

    专利权的终止

  • 2015-06-10

    授权

    授权

  • 2012-11-07

    实质审查的生效 IPC(主分类):G06F13/36 申请日:20110211

    实质审查的生效

  • 2012-09-12

    公开

    公开

说明书

技术领域

本发明大体涉及处理器技术,更具体地,涉及多核处理器中的处 理器内核通信。

背景技术

多核处理器包括以阵列设置的两个或更多个独立处理器内核。传 统多核处理器中的每个处理器内核通常共享相同的电源电压和时钟信 号,以简化处理器内核之间的接口。针对功耗管理,可以利用动态电 源电压和时钟速率控制,使得多核处理器可以在需要时以高功率和高 时钟频率来工作,以及在降低了计算需求时以低功率来工作。

发明内容

本公开的一个实施例通常涉及一种多核处理器。一个示例多核处 理器可以包括:多核处理器中的处理器内核的第一集合,其中处理器 内核的第一集合中的每个处理器内核被配置为动态接收第一电源电压 和第一时钟信号;多核处理器中的处理器内核的第二集合,其中处理 器内核的第二集合中的每个处理器内核被配置为动态接收第二电源电 压和第二时钟信号;以及与处理器内核的第一集合及处理器内核的第 二集合相耦合的接口块,其中所述接口块被配置为便于处理器内核的 第一集合和处理器内核的第二集合之间的通信。

本公开的另一实施例通常涉及一种用于管理多核处理器中的通 信的方法,所述多核处理器包括多个处理器内核,所述多个处理器内 核具有处理器内核的第一集合和处理器内核的第二集合。一个示例方 法可以包括:响应于针对处理器内核的第一集合的时钟频率改变请求, 使与多个处理器内核中的一个或多个处理器内核的通信停止;以及在 确定了与处理器内核的第一集合相关联的第一锁相环操作已经获取了 第一锁定信号、以及与处理器内核的第二集合相关联的第二锁相环操 作也已经获取了第二锁定信号之后,恢复与多个处理器内核中的一个 或多个处理器内核的通信。

本公开的另一实施例通常涉及一种包含指令序列的计算机可读 介质,所述指令序列用于管理多核处理器中的通信,所述多核处理器 包括多个处理器内核,所述多个处理器内核具有处理器内核的第一集 合和处理器内核的第二集合。当通过计算设备执行一个示例指令序列 时,所述计算设备可以被配置为:响应于针对处理器内核的第一集合 的时钟频率改变请求,发布第一命令,以使与多个处理器内核中的一 个或多个处理器内核的通信停止;以及在确定了与处理器内核的第一 集合相关联的第一锁相环操作已经获取了第一锁定信号、以及与处理 器内核的第二集合相关联的第二锁相环操作也已经获取了第二锁定信 号之后,发布第二命令,以恢复与多个处理器内核中的一个或多个处 理器内核的通信。

以上发明内容仅仅是说明性的,而绝不是限制性的。除了上述示 例性的方案、实施例和特征之外,参照附图和以下详细说明,将清楚 其他方案、其他实施例和其他特征。

附图说明

根据以下说明和所附权利要求,结合附图,本公开的前述和其他 特征将更加清楚。这些附图仅仅示出了根据本公开的一些示例,且因 此不应被认为是限制本公开范围。通过使用附图以额外的特征和细节 来详细描述本公开。

图1示出了多核处理器的示例配置;

图2是示出了处理器内核的示例集合的框图,其中处理器内核的 示例集合具有带电平移位器的示例接口块;

图3是示出了处理器内核的示例集合的另一框图,其中处理器内 核的示例集合具有带同步器的示例接口块;

图4是示出了用于管理时钟频率改变的示例转化处理例程的流程 图;以及

图5是示出了用于在多核处理器中处理处理器内核通信的示例计 算机程序产品的框图;

以上全部均根据本公开的至少一些实施例来进行设置。

具体实施方式

在以下详细说明中,参考了作为详细说明的一部分的附图。在附 图中,类似符号通常表示类似部件,除非上下文另行指明。具体实施 方式部分、附图和权利要求书中记载的示例性实施例并不是限制性的。 在不脱离在此所呈现主题的精神或范围的情况下,可以利用其他实施 例,且可以进行其他改变。应当理解,在此一般性记载以及附图中图 示的本公开的各方案可以按照在此明确公开的多种不同配置来设置、 替换、组合和设计,并且构成了本公开的一部分。

本公开总体涉及与多核处理器的功率管理相关的设备、方法、系 统和计算机程序。

多核处理器可以包括以阵列设置的多个处理器内核。可以通过可 从位于多核处理器外围的控制块接收的信号来控制与单个处理器内核 相关联的功率简档(profile)。功率简档可以包括但不限于:内核处 理器的一个或多个电源电压、内核处理器的时钟速率、内核处理器的 时钟乘法器、内核处理器的功率抑制、和/或内核处理器的休眠状态周 期。

图1示出了根据本公开的至少一些实施例设置的多核处理器100 的示例配置。多核处理器100可以包括在集成电路中以二维阵列中的 行和列设置的多个处理器内核102。处理器内核可以通过接口电路120 与相邻处理器内核耦合。在一些实施方式中,处理器内核102可以彼 此水平耦合,彼此垂直耦合,和/或通过接口电路120彼此对角耦合。 在一些示例实施方式中,位于多核处理器100的一个边沿上的处理器 内核102还可以利用环绕连接(wrap-around connection)122与相 对边沿上的处理器内核102耦合,环绕连接122可以用于确保在同一 行和/或列的处理器内核之间的连续连接。

多核处理器100还可以分为区。在一些实施方式中,多核处理器 100的区可以对应于二维阵列的行,以及这些区可以或可以不重叠。 每行处理器也被称为“带”。例如,多核处理器100可以分为带112、 114、116和118。每个带可以与独立的功率简档相关联。例如,带112 可以由从功率控制时钟108接收的电源电压供电,和/或可以与通过从 时钟控制块110接收的时钟信号定义的独立时钟域相关联。在一些实 施方式中,如图1所示,功率控制块108和时钟控制块110可以设置 在多核处理器100的两个不同侧。在一些其它实施方式中,功率控制 块108和时钟控制块110可以设置在多核处理器100的同一侧。在另 外的其它一些实施方式中,功率控制块108和时钟控制块110可以设 置在位于多核处理器100的中心附近的公共区域中。

可以基于分配给带中的处理器内核的任务的计算需求来确定与 带相关联的功率简档。在一些实施方式中,在每个处理器内核的输入 处放置的传感器可以被配置为测量处理器内核的电源电压和局部温 度。可以在功率控制块108中保持所测量的电源电压和局部温度。与 每个处理器内核相关联的一个或多个性能计数器还可以向功率控制块 108提供反馈。基于所测量的操作信息(例如,电源电压和局部温度) 和性能数据,功率控制块108然后可以被配置为针对每个带选择电源 电压。例如,具有最高计算需求的任务被调度给最顶层的带,如带112。 带112可以被配置为以高电源电压进行操作。具有较小计算需求的任 务可以被调度给带114,依此类推。带114、116和118因而可以被配 置为以较低电源电压操作。

在一些实施方式中,可以选择带的电源电压,从而针对相邻带的 所选电源电压可以相差有限量。该有限量可以基于与一个带相关联的 输出电压电平和与相邻带相关联的输入电压电平之间的关系。例如, 假设具有较高电源电压的带(例如,带112)可以与输出电压电平(例 如,V0)相关联。V0需要可靠地落入针对相邻带(例如,带114)的可 接受输入电压电平范围(例如,V1+到V1-)内。换言之,功率控制块 108可以被配置为选择带112和带114的电源电压,从而可以保持V0与范围V1+到V1-之间的上述关系。

为了保持以上讨论的有限差值关系,调整一个带的电源电压可以 涉及调整另一个带的电源电压。为了说明,假设功率控制块108可以 调整带112的电源电压。为了保持有限差值关系,功率控制块108可 以在调整带112的电源电压之前调整带118、116和114的电源电压。

尽管响应于计算需求的改变动态地调整带的功率简档可以降低 多核处理器的功耗,但是这种调整会花费一段时间以稳定。为了进一 步说明便于多核处理器100中的两个处理器内核之间的通信的接口, 可以选择图1的由处理器内核152、154和156组成的子集150。处理 器内核152属于带112;处理器内核154属于带114;以及处理器内核 156属于带116。

图2是示出了根据本公开的至少一些实施例设置的处理器内核的 示例子集150的框图,其中处理器内核的示例子集150具有带电平移 位器的示例接口块。处理器内核152可以由电源电压1供电,并与具 有电平移位器202的接口块200耦合;处理器内核154可以由电源电 压2供电,并与相同的接口块200耦合;处理器内核156可以由电源 电压3供电,并与具有电平移位器206的接口块204耦合。在一些实 施方式中,电平移位器202的输入可以是电源电压1和电源电压2, 以及电平移位器206的输入可以是电源电压2和电源电压3。电源电 压1、电源电压2和电源电压3可以来自功率控制块,如图1的功率 控制块108。

当带112的处理器内核152向带114的处理器内核154发送信号 时,在一些实施方式中,电平移位器202的输出电压可以依赖于电源 电压2,以及电平移位器202的输入电压可以依赖于电源电压1。电平 移位器被设置为转化信号电平,使得每个处理器内核正确地操作(例 如,处理器内核将电压适当地解译为有效逻辑电平,即使处理器内核 由不同电源电压供电)。这里,电平移位器202可以适于将与带112 相关联的第一逻辑电平转化为与带114相关联的第二逻辑电平,以及 电平移位器202可以以电源电压2为基准。另一方面,当带114的处 理器内核154向带112的处理器内核152发送信号时,电平移位器202 的输出电压可以依赖于电源电压1,以及电平移位器202的输入电压 可以依赖于电源电压2。换言之,电平移位器202可以适于将与带114 相关联的第二逻辑电平转化为与带112相关联的第一逻辑电平,以及 电平移位器202可以以电源电压1为基准。以上描述的电源电压1、 电源电压2和电平移位器202之间的关系类似地应用于电源电压2、 电源电压3和电平移位器206之间的关系。

图3是示出了根据本公开的至少一些实施例设置的处理器内核的 示例子集150的另一框图,其中处理器内核的示例子集150具有带同 步器的示例接口块。可以通过时钟信号1驱动处理器内核152,并且 处理器内核152与具有同步器302的接口块300耦合;可以通过时钟 信号2驱动处理器内核154,并且处理器内核154与同一接口块300 耦合;以及可以通过时钟信号3驱动处理器内核156,并且处理器内 核156与具有同步器306的接口块304耦合。在一些实施方式中,时 钟信号1、时钟信号2、时钟信号3和各锁相环(PPL)可以是时钟控 制块(如时钟控制块110)的一部分。PPL块的处理结果可以反馈给转 化处理例程308。转化处理例程308产生的命令还可以被发送给同步 器302和/或同步器306。

如上所述,当带的功率简档改变(如时钟频率改变)时,带的时 钟信号会变得不稳定。为了处理这种情况,图4是示出了根据本公开 的至少一些实施例设置的用于管理时钟频率改变的示例转化处理例程 400的流程图。为了易于描述,根据处理器内核集合和接口块描述的 转化处理例程400与先前关于图3描述的那些基本类似。转化处理例 程400可以包括如操作402、404、406、408和/或410所描述的一个 或多个功能、操作或动作。在一些实施方式中,基于所期望的结果, 针对转化处理例程400的所示出的操作的各种特征可以组合为较少的 操作、分成另外的操作或删除一些操作。

针对转化处理例程300的处理可以在操作302开始,“接收时钟 频率改变请求”。操作304可以在操作302之后,“使带之间的通信停 止”。操作306可以在操作304之后,“检查请求带和相邻带的PLL块”。 操作308可以在操作306之后,“每个PLL块需要锁定?”。当未能满 足块308处测试的判决逻辑(否),操作308之后可以是操作306,或 者当满足在块308处测试的判决逻辑(是),操作308之后可以是操作 310,“确定是否恢复带间的通信”。针对例程的处理可以在块310之后 终止。

为了说明,假设请求图3中的带114的处理器内核154基于分配 给带114进行处理的任务来改变其时钟频率。在操作402接收到请求 之后,转化处理例程400可以在操作404中向同步器302和同步器306 发布命令,以使处理器内核154与处理器内核152之间和处理器内核 154与处理器内核156之间的通信停止。在操作404之后,可以在操 作406中检查针对与带114相邻的带的PLL块的输出。依据在操作408 中所确定的PLL块是否获取了锁定,转化处理例程400可以在操作410 中确定是否正确地出现了转化序列,以及是否可以恢复带间的通信。

在一些实施方式中,在PLL块1、PLL块2和PLL块3中的每一 个在操作408中被确定为获取了各时钟信号的锁定之后,可以向处理 器内核154、同步器302和同步器306发送稳定时钟信号。然后,同 步器302可以被配置为针对处理器内核152和处理器内核154之间的 通信而同步时钟信号1和时钟信号2。类似地,同步器306可以被配 置为针对处理器内核154和处理器内核156之间的通信而同步时钟信 号2和时钟信号3。

图5是示出了根据本公开的至少一些实施例的用于在多核处理器 中处理处理器内核通信的计算机程序产品500的框图。计算机程序产 品500可以包括用于执行上述及图4所示的转化处理例程的一个或多 个可执行指令502的集合。计算机程序产品500可以在信号承载介质 504或另一类似通信介质506中传送。计算机程序产品500还可以记 录在计算机可读介质508或另一类似可读介质510中。

在系统方案的硬件和软件实现方式之间存在一些小差别;硬件或 软件的使用一般(但并非总是,因为在特定情况下硬件和软件之间的 选择可能变得很重要)是一种体现成本与效率之间权衡的设计选择。 可以各种手段(例如,硬件、软件和/或固件)来实施这里所描述的工 艺和/或系统和/或其他技术,并且优选的工艺将随着所述工艺和/或系 统和/或其他技术所应用的环境而改变。例如,如果实现方确定速度和 准确性是最重要的,则实现方可以选择主要为硬件和/或固件配置的手 段;如果灵活性是最重要的,则实现方可以选择主要是软件的实施方 式;或者,同样也是可选地,实现方可以选择硬件、软件和/或固件的 特定组合。

以上的详细描述通过使用方框图、流程图和/或示例,已经阐述 了设备和/或工艺的众多实施例。在这种方框图、流程图和/或示例包 含一个或多个功能和/或操作的情况下,本领域技术人员应理解,这种 方框图、流程图或示例中的每一功能和/或操作可以通过各种硬件、软 件、固件或实质上它们的任意组合来单独和/或共同实现。在一个实施 例中,本公开所述主题的若干部分可以通过专用集成电路(ASIC)、现 场可编程门阵列(FPGA)、数字信号处理器(DSP)、或其他集成格式来 实现。然而,本领域技术人员应认识到,这里所公开的实施例的一些 方面在整体上或部分地可以等同地实现在集成电路中,实现为在一台 或多台计算机上运行的一个或多个计算机程序(例如,实现为在一台 或多台计算机系统上运行的一个或多个程序),实现为在一个或多个处 理器上运行的一个或多个程序(例如,实现为在一个或多个微处理器 上运行的一个或多个程序),实现为固件,或者实质上实现为上述方式 的任意组合,并且本领域技术人员根据本公开,将具备设计电路和/ 或写入软件和/或固件代码的能力。此外,本领域技术人员将认识到, 本公开所述主题的机制能够作为多种形式的程序产品进行分发,并且 无论实际用来执行分发的信号承载介质的具体类型如何,本公开所述 主题的示例性实施例均适用。信号承载介质的示例包括但不限于:可 记录型介质,如软盘、硬盘驱动器、紧致盘(CD)、数字视频盘(DVD)、 数字磁带、计算机存储器等;以及传输型介质,如数字和/或模拟通信 介质(例如,光纤光缆、波导、有线通信链路和/或信道、无线通信链 路和/或信道等)。

本领域技术人员应认识到,上文详细描述了设备和/或工艺,此 后使用工程实践来将所描述的设备和/或工艺集成到数据处理系统中 是本领域的常用手段。也即,这里所述的设备和/或工艺的至少一部分 可以通过合理数量的试验而被集成到数据处理系统中。本领域技术人 员将认识到,典型的数据处理系统一般包括以下各项中的一项或多项: 系统单元外壳;视频显示设备;存储器,如易失性和非易失性存储器; 处理器,如微处理器和数字信号处理器;计算实体,如操作系统、驱 动程序、图形用户接口、以及应用程序;一个或多个交互设备,如触 摸板或屏幕;和/或控制系统,包括反馈环和控制电动机(例如,用于 感测位置和/或速度的反馈;用于移动和/或调整分量和/或数量的控制 电动机)。典型的数据处理系统可以利用任意合适的商用部件(如数据 计算/通信和/或网络计算/通信系统中常用的部件)予以实现。

本公开所述的主题有时说明不同部件包含在不同的其他部件内 或者不同部件与不同的其他部件相连。应当理解,这样描述的架构只 是示例,事实上可以实现许多能够实现相同功能的其他架构。在概念 上,有效地“关联”用以实现相同功能的部件的任意设置,从而实现 所需功能。因此,这里组合实现具体功能的任意两个部件可以被视为 彼此“关联”从而实现所需功能,而无论架构或中间部件如何。同样, 任意两个如此关联的部件也可以看作是彼此“可操作地连接”或“可 操作地耦合”以实现所需功能,且能够如此关联的任意两个部件也可 以被视为彼此“能可操作地耦合”以实现所需功能。能可操作地耦合 的具体示例包括但不限于物理上可连接和/或物理上交互的部件,和/ 或无线交互和/或可无线交互的部件,和/或逻辑交互和/或可逻辑交互 的部件。

至于本文中任何关于多数和/或单数术语的使用,本领域技术人 员可以从多数形式转换为单数形式,和/或从单数形式转换为多数形 式,以适合具体环境和应用。为清楚起见,在此明确声明单数形式/ 多数形式可互换。

本领域技术人员应当理解,一般而言,所使用的术语,特别是所 附权利要求中(例如,在所附权利要求的主体部分中)使用的术语, 一般地应理解为“开放”术语(例如,术语“包括”应解释为“包括 但不限于”,术语“具有”应解释为“至少具有”等)。本领域技术人 员还应理解,如果意在所引入的权利要求中标明具体数目,则这种意 图将在该权利要求中明确指出,而在没有这种明确标明的情况下,则 不存在这种意图。例如,为帮助理解,所附权利要求可能使用了引导 短语“至少一个”和“一个或多个”来引入权利要求中的特征。然而, 这种短语的使用不应被解释为暗示着由不定冠词“一”或“一个”引 入的权利要求特征将包含该特征的任意特定权利要求限制为仅包含一 个该特征的发明,即便是该权利要求既包括引导短语“一个或多个” 或“至少一个”又包括不定冠词如“一”或“一个”(例如,“一”和/ 或“一个”应当典型地被解释为意指“至少一个”或“一个或多个”); 在使用定冠词来引入权利要求中的特征时,同样如此。另外,即使明 确指出了所引入权利要求特征的具体数目,本领域技术人员应认识到, 这种列举应典型地解释为意指至少是所列数目(例如,不存在其他修 饰语的短语“两个特征”典型地意指至少两个该特征,或者两个或更 多该特征)。另外,在使用类似于“A、B和C等中至少一个”这样的 表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的 含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括 但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A 和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、 B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领 域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或 C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独 具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C 的系统等)。本领域技术人员还应理解,实质上任意表示两个或更多可 选项目的转折连词和/或短语,无论是在说明书、权利要求书还是附图 中,都应被理解为给出了包括这些项目之一、这些项目任一方、或两 个项目的可能性。例如,短语“A或B”应当被理解为包括“A”或“B”、 或“A和B”的可能性。

尽管已经在此公开了多个方案和实施例,但是本领域技术人员应 当明白其他方案和实施例。这里所公开的多个方案和实施例是出于说 明性的目的,而不是限制性的,本公开的真实范围和精神由所附权利 要求表征。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号