首页> 中国专利> 基于响应定时优化在多处理器系统中执行频率协调

基于响应定时优化在多处理器系统中执行频率协调

摘要

在一个实施例中,处理器包括执行指令的核,以及从核接收存储器访问请求并将存储器访问请求路由到本地存储器,并将对应于存储器访问请求的监听请求路由到远程处理器的逻辑。该逻辑被配置成维护关于从远程处理器接收到对监听请求的响应和从本地存储器接收到对存储器访问请求的响应之间的差异的延迟信息。描述并要求保护其他实施例。

著录项

  • 公开/公告号CN104956345A

    专利类型发明专利

  • 公开/公告日2015-09-30

    原文格式PDF

  • 申请/专利权人 英特尔公司;

    申请/专利号CN201380059875.2

  • 发明设计人 A·万玛;K·V·西斯特拉;

    申请日2013-06-27

  • 分类号

  • 代理机构上海专利商标事务所有限公司;

  • 代理人张东梅

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-18 11:19:06

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-06-10

    未缴年费专利权终止 IPC(主分类):G06F13/14 专利号:ZL2013800598752 申请日:20130627 授权公告日:20171107

    专利权的终止

  • 2017-11-07

    授权

    授权

  • 2015-11-04

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

    实质审查的生效

  • 2015-09-30

    公开

    公开

说明书

背景

半导体处理和逻辑设计的进步可使集成电路设备上可以存在的逻辑量 增大。结果,计算机系统配置从系统中的单一或多个集成电路发展到单个 集成电路上的多个硬件线程、多个核、多个设备和/或完整的系统。另外, 随着集成电路的密度增长,计算系统(从嵌入式系统到服务器)的功率要 求也逐步升高。此外,软件低效率以及其对硬件的要求也导致计算设备能 源消耗的增大。事实上,某些研究指出,计算设备消耗诸如美国之类的国 家的全部电力供应的相当大的百分比。结果,迫切需要与集成电路相关联 的能量效率和节省。随着服务器、台式计算机、笔记本、超极本TM、平板 电脑、移动电话、处理器、嵌入式系统等等变得越来越流行(从包括在典 型的计算机中、汽车,以及电视机到生物技术),这些需要将增大。

在多处理器系统中,由远程处理器的频率,更具体而言,处理器的非 核部分(常常被称为非核)的频率,确定对远程处理器的访问的延迟。当 核不活动时,标准功率管理特征降低非核频率。这会产生这样的情况,当 一个处理器的核试图访问另一处理器并且远程处理器具有空闲/不活动核 (以及如此低非核频率)时,此低远程频率将导致响应时间的延长。尽管 远程处理器可以为此非核频率维持固定频率,但是,这会增大功耗,仍可 能不能解决高延迟的问题,特别是在低带宽工作负荷中。

附图简述

图1是根据本发明的一实施例的系统的一部分的框图。

图2是根据本发明的一个实施例的方法的流程图。

图3A是根据本发明的一个实施例的用于请求频率协调的方法的流程 图。

图3B是根据本发明的一个实施例的用于执行非核频率更新的方法的 流程图。

图4A是根据本发明的一实施例的示例两处理器系统的框图。

图4B是示出了根据本发明的一个实施例的关于对存储器访问请求的 处理的通信的流程的框图。

图5是根据本发明的一个实施例的处理器的框图。

图6是根据本发明的一个实施例的处理器的框图。

图7是根据本发明的一个实施例的系统的框图。

具体实施方式

在各实施例中,检测机制可以检测在第一处理器中接收到的响应的响 应延迟受远程处理器约束的状况。响应于此检测,可以生成通信,并将其 发送到远程处理器。在远程处理器中又可以发生操作以提高非核频率,以 减轻性能损失。这些处理器可以是诸如给定个人计算机、服务器计算机、 移动设备,或其他计算设备之类的多处理器系统的相应的处理器插槽。

在一个实施例中,传感器可以计数其中性能(或响应延迟)对远程处 理器的频率敏感的事务。即,处理器包括本地代理,该本地代理被配置成, 响应于存储器访问事务,从远程处理器接收监听响应,并从对本地存储器 的访问接收数据。本地代理将频繁地需要等待这两个响应被接收到,以检 查在继续事务之前没有冲突。远程处理器频率只确定来自远程处理器的监 听响应的延迟。

可以提供一组计数器,以帮助量化从加速远程处理器的频率可能得到 的性能优点。在一个实施例中,第一计数器被配置成计数其中在本地存储 器响应之后接收到远程监听响应的事务的数量。而第二计数器被配置成计 数其中本地代理(或其他一致性控制器)等待远程监听响应的周期的总数。

这些计数器又可以由处理器的功率控制器(诸如功率控制单元(PCU) 读取,将其与编程的阈值进行比较,并基于此延迟信息,判断触发处理器 之间的频率协调请求是否有足够的性能好处。注意,如此处所描述的,此 频率协调可以呈现不同的形式,包括非核电路(此处也被称为系统代理或 所谓的非核电路)的频率被设置为跨多个处理器插槽的共同频率的情况。 在其他情况下,此频率协调可以呈现从一个处理器插槽到另一插槽(或多 个插槽)的寻求对非核频率的更新,以改善处理器间通信的延迟的请求的 形式。此外,还可以理解,尽管此处所描述的实现是针对可以对于包括非 核域的不同的域以独立频率操作的处理器插槽,但是,各实施例同样应用 于以单频率操作的处理器。此外,尽管此处被描述为相对于非核频率执行 频率协调,但是,在某些实施例中,此频率协调可以针对处理器插槽的额 外的或不同的组件,诸如互连频率,在一种实现中,诸如处理器插槽的环 状互连之类的互连频率以与非核电路不同的频率操作。

虽然本发明的范围在这方面不受限制,但是,如此处所描述的非核频 率协调控制可以通过固件、硬件、软件以及其组合来实现,如此允许检测 不希望有的延迟,将请求传递到至少一个其他处理器插槽,以允许提高的 非核频率来缩短延迟。

在一个实施例中,频率协调请求可以是通过处理器之间的链路穿隧的 PCU到PCU消息。当处理器从另一处理器接收到此指示时,如果可能的话, 它试图在处理器的当前功率约束内提高其非核频率。它可以增量地(一次 一个步长)或以基于计数器信息的较大的步长,提高非核频率,其中较高 的计数触发远程非核频率中的较大的报升。

注意,在许多实施例中,只有提高远程频率以便远程监听响应被定时 为与本地存储器访问基本上同时到达本地代理才是有益的。在此点之后, 本地存储器变为延迟确定器,并且没有来自远程处理器频率的进一步增大 的好处。

现在参考图1,所示是根据本发明的实施例的系统的一部分的框图。 如图1所示,系统100可以包括各种组件,包括处理器110,如图所示,该 处理器110是多核处理器。处理器110可以通过外部电压调节器160耦合 到电源150,调节器160可以执行第一电压转换,以向处理器110提供经初 步调节的电压。

可以看出,处理器110可以是包括多个核120a-120n的单管芯处理器插 槽。另外,每一个核还可以与单个电压调节器125a-125n相关联。相应地, 可以提供完全集成的电压调节器(FIVR)实现,以允许对每一个单个核的电 压进行细粒度的控制,因而对功率和性能进行细粒度的控制。如此,每一个 核都可以在独立电压和频率下操作,允许大灵活性,并提供用于平衡功耗 与性能的广泛的机会。

仍参考图1,额外的组件可以存在于处理器内,包括输入/输出接口132、 另一接口134以及集成的存储器控制器136。可以看出,这些组件中的每一 个都可以由另一集成的电压调节器125X来供电。在一个实施例中,接口132 可以符合快速路径互连(QPI)协议,该协议在高速缓存一致性协议 中提供点对点(PtP)链路,该高速缓存一致性协议包括多个层,包括物理 层、链路层以及协议层。如下文所描述的,通过一个或多个QPI接口,可 以在多处理器系统的处理器插槽之间传递非核频率协调。接口134又可以 符合外围组件互连快速(PCIeTM)规范,例如,PCI ExpressTM规范基础规 范版本2.0(2007年1月17日)。

还示出了功率控制单元(PCU)138,该功率控制单元(PCU)138可 包括针对处理器110执行功率管理操作的硬件、软件和/或固件。在各实施 例中,PCU138可包括执行根据本发明的一个实施例的非核频率控制的逻 辑。此外,PCU 138还可以通过专用接口耦合到外部电压调节器160。如此, PCU 138可以指示电压调节器向处理器提供请求的被调节的电压。

尽管为便于说明未示出,但是,可以理解,额外的组件可以存在于处 理器110内,诸如额外的非核逻辑、及其他组件,诸如内部存储器,例如, 一个或多个级别的缓存存储器层次结构,一致性控制器,诸如本地代理等 等。此外,尽管在图1的实现中是利用集成的电压调节器示出的,但是, 各实施例不是限制性的。

虽然参考特定集成电路(诸如在计算平台或处理器中)描述了下列实 施例,但其他实施例也适用于其他类型的集成电路和逻辑设备。可以将此 处所描述的各实施例的类似的技术和教示应用于也可以得益于更好的能量 效率和能量节约的其他类型的电路或半导体器件。例如,所公开的各实施 例不仅限于任何特定类型的计算机系统,也可以用于诸如手持式设备、片 上系统(SOC)设备以及嵌入式应用之类的其他设备中。手持式设备的某 些示例包括蜂窝电话、网际协议设备、数码相机、个人数字助理(PDA) 以及手持式PC。嵌入式应用通常包括微控制器、数字信号处理器(DSP)、 网络计算机(NetPC)、机顶盒、网络集线器、广域网(WAN)交换机, 或能够执行下面教导的功能和操作的任何其他系统。此外,此处所描述的 设备、方法,以及系统也不仅限于物理计算设备,但是,也可以涉及对于 节能和效率的软件优化。如在下面的描述中显而易见地看出,此处所描述 的方法、设备以及系统的各实施例(无论引用硬件、固件、软件或其组合) 为未来的绿色技术摂所不可缺少的,诸如,用于涵盖美国经济的大部分的 产品中的电能节省和能量效率。

注意,此处所描述的远程处理器延迟检测和非核频率控制可以独立于 基于操作系统(OS)的机制,诸如高级配置和平台接口(ACPI)标准(例 如,2006年10月10日发布的Rev.3.0b),并与其互补。根据ACPI,处 理器可以操作在各种性能状态或级别,即,从P0到PN。一般而言,P1性 能状态可以对应于可以由OS请求的最高保证的性能状态。除此P1状态之 外,OS还可以请求较高性能状态,即,P0状态。如此,此P0状态可以是 机会性状态,其中,当有电能和/或热预算可用时,处理器硬件可以配置处 理器或其至少一些部分,以便以高于保证的频率操作。在许多实现中,处 理器可包括多个所谓的高于保证的最大频率(也被称为P1频率)的元频率 (bin frequency)。另外,根据ACPI,处理器还可以在各种功率状态或级 别下操作。相对于功率状态,ACPI指定不同的功率消耗状态,一般被称为 C状态,C0,C1到Cn状态。当核活跃时,它在C0状态运行,而当核空闲 时,它可以被置于核低功率状态,也叫做核非零C状态(例如,C1-C6状 态),每一个C状态都处于低功率消耗级别(以便C6是比C1更深的低功 率状态,等等)。注意,根据诸如通过PCU实现的处理器的某些功率管理 特征,随着处理器插槽的更多核进入较深的低功率状态,处理器的活动级 别降低,相应地,非核频率也降低。

在一个实施例中,提供了用于处理器之间的频率协调的专用通信协议。 当在处理器中触发低远程处理器频率控制特征时,通过处理器之间的互连 (诸如QPI链路或耦合多处理器系统的不同的处理器插槽的其他点对点 (PtP)互连)发送根据此协议的一个或多个消息。如此,此消息提供处理 器已经检测到指出处理器之间的频率协调(以及,可任选地,它正在请求 的频率)的状况的信令。在不同的实施例中,此通信协议可以以对等方式 (其中,每一个处理器都具有相同行为,当它寻求频率协调时,向所有其 他处理器发送请求)或者以主从方式(其中,一个处理器被指定为主控, 并从其他处理器收集信息,作出决定,以及向所有其他处理器发送请求) 实现。在任一种情况下,系统行为相同。

注意,此请求的更新的频率可以是无死锁的最低值频率。例如,将最 低值频率设置为所有其他处理器的非核频率中的最大值将导致没有处理器 可以降低其非核频率的死锁情况,如此,对电能节省产生不利的影响。对 应的无死锁的示例将选择最低值频率,该最低值频率比所有其他处理器的 非核频率的最大值小预定的量(诸如1或2个元频率(其中,在一个实施 例中,一个元频率是100兆赫(MHz)))。如此,处理器可以被允许随 着工作负荷行为变化而降低频率。

现在参考图2,所示是根据本发明的一个实施例的方法的流程图。如 图2所示,方法200可以由本地代理的逻辑或处理器的其他电路执行。注 意,图2所示出的这些操作是对于拥有本地存储器并提供对来自诸如本地 处理器插槽的核之类的代理的各种存储器请求的响应的本地代理。一般而 言,方法200可以被用来分析关于对各种事务的响应的接收的信息,以便 判断相对于从远程处理器插槽接收到的这样的响应是否发生了过量的延 迟。可以看出,方法200从在本地代理中接收读取请求开始(框205)。此 读取请求可以来自处理器的核,该处理器的核试图读取位于特定存储器地 址处的给定数据段。为了讨论,假设此存储器地址位于处理器本地的系统 存储器的一部分中。在执行此读取请求的过程中,一个或多个监听请求被 发送到远程处理器插槽,以判断是否存在此所请求的数据的任何副本,如 果是,它们是否处于修改的状态。

仍参考图2,控制进入框210,其中存储器访问可被发送到存储器且监 听请求可以被发送到远程处理器插槽。例如,假设两个处理器插槽系统。 如此,除通过存储器控制器向本地存储器发送读取请求之外,可以将监听 请求从本地代理发送到远程插槽,如此,请求该处理器中的所请求的数据 的状态(如果存在的话)。接下来,可以判断在本地代理中是否已经接收 到两个请求(菱形215)。

接下来,控制进入菱形220,以判断在存储器响应之后是否接收到远 程处理器响应。这里,存储器响应可以是包括所请求的数据的读取完成。 来自其他处理器插槽的响应又是指出所请求的数据是否存在于其他处理器 插槽的高速缓存存储器中的监听响应,如果是,则指出其状态。

如果判断在存储器响应之后接收到远程处理器插槽响应,则控制进入 框225,在那里,可以基于接收到远程处理器响应中的此延迟,增大两个计 数器。具体而言,可以是本地代理的延迟检测逻辑的一部分的这些计数器, 包括第一计数器,该第一计数器维持与来自本地存储器的响应相比来自远 程处理器插槽的响应延迟的事务的计数。第二计数器可以维持这些延迟的 响应的周期的数量的计数。如此,对于每一个响应,对第一计数器产生单 一增大,而对第二计数器发生可变量的增大,即,对应于在从本地存储器 接收到存储器响应以及从远程处理器插槽接收到对应的监听响应之间的周 期差。在任何一种情况下,控制进入框230,在那里,请求的读取数据可以 被提供到请求者。虽然在图2的实施例中以此高级别示出的,但是,可以 理解,本发明的范围在这方面不受限制。

基于计数值,本地代理的此逻辑或其他处理器逻辑(诸如PCU的逻辑) 可以判断从一个或多个远程处理器插槽接收到响应的延迟是否处于不希望 有的高级别,如果是,则采取合适的校正操作。在一个实施例中,PCU的 非核频率控制逻辑可以每隔预定间隔读取这些计数器,并基于这些计数器 的值,判断对一个或多个远程处理器插槽中的更新的非核频率的请求是否 得到保证。如果是,则可以生成请求,并将其发送到合适的处理器插槽。

现在参考图3A,所示是根据本发明的一个实施例的用于请求频率协调 的方法的流程图。注意,在图3A中,方法240可以在处理器的各种逻辑内 实现,诸如PCU逻辑或专用的非核频率控制逻辑,在某些实现中,它们可 以是独立逻辑或可以包括到PCU中。可以看出,方法240从判断远程处理 器响应延迟是否大于阈值开始(菱形245)。如上文所描述的,可以读取存 储在一组计数器中的值,以判断远程处理器延迟是否超出此延迟阈值。虽 然在此实施例中是利用此基于计数器的延迟判断来描述的,但是,在其他 实施例中,检测不希望有的远程处理器延迟的不同的检测机制也是可以的。

仍参考图3A,接下来,在框250,可以生成频率更新请求。在各实施 例中,此请求可以采用不同的形式。例如,可以生成更新非核频率的请求, 例如,利用更新的非核频率的预编程的值。或,可以进行计算。在又一些 其他实施例中,可以生成更新频率的简单请求,该简单请求又允许正在接 收的处理器执行关于合适的非核频率的计算。

仍参考图3A,接下来,控制进入框255,在那里,可以将频率更新请 求传递到耦合到处理器的一个或多个处理器。如上文所讨论的,此传递可 以通过耦合诸如处理器的PtP互连,诸如QPI或其他互连。可以发送不同 类型的消息,包括,在一个实施例中,包括对于此请求的操作的编码的频 率控制消息,以及请求的更新的频率值的标识。尽管在图3A的实施例以这 样高级别地表示,然而要理解本发明的范围不限于此方面。

现在参考图3B,所示是根据本发明的一个实施例的用于执行非核频率 更新的方法的流程图。在某些实施例中,此方法可以由处理器的非核频率 控制逻辑执行,与上面的对图3A的讨论相同。然而,可以理解,处理传入 的对提高的非核频率的请求的此非核频率控制逻辑可以不同于向远程处理 器发出对于远程处理器内的提高的频率的请求的PCU的逻辑。可以看出, 方法260开始于从远程处理器接收非核频率请求(框265)。如上文所描述 的,此请求可以通过PtP互连接收,并可包括信息,以便请求可以被指示 在非核频率控制逻辑内接收。注意,此请求可包括请求的更新的频率或可 以简单地是更新非核频率的请求。接下来,控制进入菱形270,在那里,可 以判断在处理器的各种约束内处理器是否可以将其非核频率更新到请求的 非核频率。此判断可以在非核频率控制逻辑内作出,例如,利用来自PCU 的输入,该输入提供关于对处理器的各种约束的信息,诸如功率和/或热约 束,或者PCU可以指出是否允许提高的非核频率。如此,非核频率控制逻 辑可以判断是否可以实行请求的非核频率(当请求包括请求的频率值时)。 如果是,则控制进入框275,在那里,非核频率可以被更新到请求的非核频 率。如此,此更新的非核频率是比由PCU为在处理器上正在执行的工作负 荷的当前级别确定的非核频率较大的值。这里注意,此更新的非核频率可 以是比处理此本地处理器的当前活动所需的频率更高的(以及潜在地高得 多)的值。换言之,此提高的非核频率将允许更大的整体系统性能,虽然 这不是处理本地处理器工作负荷所需的。

否则,如果处理器不能执行对请求的非核频率的更新,则控制进入框 280,其中,可以根据处理器约束,确定可用的非核频率。非核频率控制逻 辑可以执行此判断或在某些实施例中,PCU本身可以作出此判断。最后, 控制进入框290,在那里,非核频率可以被更新到确定的可用的非核频率。 尽管在图3B的实施例以这样高级别地表示,然而要理解本发明的范围不限 于此方面。

现在参考图4A,所示是根据本发明的一实施例的示例两处理器系统的 框图。如图4A所示,系统300是包括第一处理器插槽310a和第二处理器 插槽310b的多处理器系统。每一个插槽都可以采用相同配置,如此,只讨 论处理器插槽310a的组件,虽然在插槽310b中存在相同组件。当然,在 其他实施例中,处理器插槽可以是异构插槽,因为可以存在不同类型的处 理器,诸如具有不同数量的核及其他处理引擎,大小不同的缓存存储器, 以及其他差异。

可以看出,处理器插槽310a包括多个核315a0-315an,它们通过互连320a 耦合到插槽的其他组件,在一个实施例中,互连320a可以是环状互连。每 一个核都可以属于共同的架构,或可以有多个微架构的核。每一个这样的 核都可包括本地缓存存储器。另外,通过互连320a,核耦合到高速缓存存 储器340a,在一个实施例中,高速缓存存储器340a是诸如末级缓存(LLC) 之类的共享缓存存储器。

也通过互连320a,核耦合到本地代理325a,该本地代理325a充当一 致性控制器,并包括根据本发明的一个实施例的延迟检测逻辑(为便于说 明,在图4A中未示出)。此延迟检测逻辑被配置成确定来自一个或多个远 程处理器插槽的对诸如由本地代理所发出的监听请求之类的请求的响应的 延迟量。更具体而言,此延迟可以是比对于相同事务从本地存储器接收到 的对应的响应的接收长的持续时间。通过使用本地代理的延迟检测逻辑, 可以判断对于从一个或多个处理器插槽接收到的响应是否发生过量的延 迟,如果是,则可以向能生成对这样的远程处理器插槽的请求的处理器的 合适的实体作出指示,以试图缩小延迟。本地代理325a又耦合到存储器控 制器330a,该存储器控制器330a又耦合到系统存储器的本地部分。更具体 而言,通过存储器互连365a,存储器控制器330a耦合到动态随机存取存储 器(DRAM)370a并控制对它的访问。

为了讨论此处的各实施例,处理器插槽310a包括接口360a,在一个实 施例中,该接口360a可以是QPI接口,通过QPI互连380,在第一处理器 插槽310a和第二处理器插槽310b之间提供互连。如进一步所示出的,PCU 350a(可包括如此处所描述的非核频率控制逻辑)耦合到接口360,以允许 在核之间传递频率控制消息。

注意,各实施例还可以扩展到带有两个以上的处理器的系统。在其中 并非所有的处理器都彼此连接的系统中(例如,其中,处理器被排列为环 状,圆凸或其他非完全连接的拓扑),中间处理器充当对于频率协调请求 的本地中继器,以便每一个处理器都可以从系统中的所有其他处理器接收 频率协调请求。通过使用本发明的实施例,可以实现当运行低带宽延迟敏 感的服务器工作负荷时在多处理器平台中有改善的功率/性能。

图4B是示出了根据本发明的一个实施例的关于对存储器访问请求的 处理的通信的流程的框图。如图4B所示,第一本地代理325a(或其他一 致性控制器)接收对于给定地址的读取请求(1)。此请求可以是一致性协 议的较大的读取事务流程的一部分。为对请求作出响应,监听请求(2)被 发送到远程处理器310b,且存储器访问被发送到本地存储器365a(3)。 取决于实现,监听请求可以由本地代理325a发送或由缓存本身发送。作为 响应,远程处理器310b发送监听响应(4),本地存储器370a发送用于读 取的数据(5)。本地代理325a等待响应并在继续流程的其余部分(包括 向请求者发送读取完成)之前解决任何冲突。为最佳操作,可以在基本上 相同时间在本地代理325a中接收两个响应。

在一个实施例中,本地代理325a包括计数读取完成被停止,从而等待 来自远程处理器的响应的次数和周期数的计数器(换言之,在(5)之后发 生(4))。这些计数器被本地PCU读取,该本地PCU将它们与阈值进行 比较,以判断是否请求远程处理器310b的非核频率的增大。如果是,则生 成此请求,并通过互连380上的穿隧,从一个PCU传递到其他PCU。注意, 当计数器计数在给定持续时间内小于相关联的阈值时,PCU可以停止从远 程处理器插槽请求提升的非核频率,允许远程处理器插槽返回到基于其自 己的活动级别的频率。

即,PCU的频率控制逻辑可以从本地代理接收高延迟的指示,或可以 周期性地读取计数器值或者本地代理的延迟检测逻辑内的其他信息,以判 断这样的延迟存在,并采取合适的动作,即,传递频率协调请求。

各实施例可以在各种市场的处理器中实现,包括服务器处理器、台式 机处理器,移动处理器等等。现在参考图5,所示是根据本发明的实施例的 处理器的框图。如图5所示,处理器400可以是多核心处理器,包括多个 核410a-410n。在一个实施例中,每一个这样的核可以是独立功率域,并可 以被配置成基于工作负荷,进入和退出活动状态和/或最大性能状态。各种 核都可以通过互连415而耦合到包括各种组件的系统代理或非核420。如所 见那样,非核420可包括共享的缓存存储器430,它可以是最末级缓存。在 所示出的实施例中,非核还包括本地代理445,其中包括延迟检测逻辑446。 此逻辑可包括用于执行延迟检测的一组计数器,包括第一计数器447以及 第二计数器448。另外,非核还可包括集成的存储器控制器440、各种接口 450和功率控制单元455。

在各实施例中,功率控制单元455可包括根据本发明的一个实施例的 非核频率控制逻辑459。如上文所描述的,此逻辑操作以判断是否调用对远 程处理器的非核频率的更新(例如,基于从延迟检测逻辑446的计数器接 收到的计数值),如果是,则生成将更新的非核频率传递到一个或多个远 程处理器的请求。另外,此逻辑还可以响应于从远程处理器插槽接收到的 消息,执行计算,以生成协调的非核频率,并将其传递到其他处理器插槽。 更进一步,此逻辑还可以接收传入的对非核频率更新的请求,并判断请求 的非核频率更新是否被允许,如果是,则实行改变,如此处所描述的。

进一步参见图5,处理器400可经由例如存储器总线与系统存储器460 通信。另外,通过接口450可对诸如外围设备、海量存储器等多种芯片外 组件作出连接。虽然在图5的实施例中示出具有该特定实现,但本发明的 范围不限于此方面。

现在参照图6,其中示出了根据本发明另一实施例的多域处理器的框 图。如图6的实施例所示,处理器500包括多个域。具体地说,核域510 可包括多个核5100–510n,图形域520可包括一个或多个图形引擎,并且可 进一步存在系统代理域550。在某些实施例中,系统代理域550可以以不同 于核域的独立频率执行,可在所有时间保持加电以应对功率控制事件和功 率管理,以使这些域510和520可被控制以动态地进入和退出高功率和低 功率状态。每个域510、520可工作在不同电压和/或功率下。注意,尽管 仅示出了三个域,然而要理解本发明的范围不限于这个方面并且其它实施 例中可存在附加的域。例如,可存在多核域,其每一个包括至少一个核。

一般地说,除了各执行单元和附加的处理元件外,每个核510可进一 步包括低级缓存。进而,各核可彼此耦合并耦合至由末级高速缓存 (LLC)5400–540n的多个单元形成的共享高速缓存存储器。在各实施例中, LLC 540可在核和图形引擎以及多种媒体处理电路之中共享。可以看出,环 形互连530因此将各个核耦合在一起,并且提供各个核、图形域520和系 统代理电路系统550之间的互连。在一个实施例中,互连530可以是核域 的一部分。然而,在其他实施例中,环形互连可以属于其自己的域。

进一步可以看出,系统代理域550可以包括显示控制器552,该显示 控制器652可以提供对相关联的显示器的控制以及到它的接口。进一步可 以看出,系统代理域550可以包括功率控制单元555,该功率控制单元555 可包括根据本发明的一个实施例的非核频率控制逻辑559,以允许多处理器 系统的多个插槽中的非核频率的控制和/或协调。在各实施例中,此逻辑可 以执行上文在图3A和3B中所描述的算法。

如图6中进一步所见的,处理器500可进一步包括集成的存储器控制 器(IMC)570,它可向例如动态随机存取存储器(DRAM)之类的系统存储器提 供接口。此本地存储器又可以由本地代理545拥有,该本地代理545包括 延迟检测逻辑546,用于判断由本地代理545接收到的远程处理器插槽响应 是否具有大于阈值的延迟。可存在多个接口5800–580n以允许处理器和其 它电路之间的互连。例如,在一个实施例中,可提供至少一个直接媒体接 口(DMI)接口以及一个或多个高速外设组件互连(PCI ExpressTM(PCIeTM))接 口。更进一步,为在诸如额外的处理器或其他电路之类的其他代理之间提 供通信,也可以提供符合快速路径互连(QPI)协议的一个或多个 接口。尽管在图6的实施例以这样高级别地表示,然而要理解本发明的范 围不限于此方面。

实施例可在许多不同的系统类型中实现。现在参照图7,其中示出了 根据本发明一实施例的系统的框图。如图7所示,多处理器系统600是点 对点互连系统,并包括通过点对点互连650而耦合的第一处理器670和第 二处理器680。如图7所示,处理器670和680中的每一个都可以是多核处 理器,包括第一和第二处理器核(即,处理器核674a和674b以及处理器 核684a和684b),虽然潜在地更多核可以存在于处理器中。处理器中的每 一个都可包括PCU、本地代理、及执行远程处理器延迟检测以及非核频率 控制和协调的其他逻辑,如此处所描述的。

仍参考图7,第一处理器670还包括存储器控制器中枢(MCH)672 和点对点(P-P)接口676和678。类似地,第二处理器680包括MCH 682 和P-P接口686和688。如图7所示,MCH 672和682将处理器耦合到相 应的存储器,即,存储器632和存储器634,它们可以是本地连接到相应的 处理器的系统存储器(例如,DRAM)的一部分。第一处理器670和第二 处理器680可以分别通过P-P互连662和664来耦合到芯片集690。如图7 所示,芯片集690包括P-P接口694和698。

此外,芯片集690还包括接口692,接口692通过P-P互连639而将芯 片集690与高性能图形引擎638耦合。芯片集690又可以通过接口696耦 合到第一总线616。如图7所示,各种输入/输出(I/O)设备614以及总线 桥接器618可以耦合到第一总线616,总线桥接器618将第一总线616耦合 到第二总线620。在一个实施例中,各种设备可以耦合到第二总线620,包 括,例如,键盘/鼠标622、通信设备626和数据存储单元628,数据存储单 元628诸如磁盘驱动器或可以包括代码630的其他大容量存储设备。进一 步地,音频I/O 624可以耦合到第二总线620。各实施例可以被合并到其他 类型的系统中,包括诸如智能蜂窝电话、平板计算机、上网本、UltrabookTM等等之类的移动设备。

各实施例可以用于许多不同类型的系统中。例如,在一个实施例中, 通信设备可以被配置为执行此处所描述的各种方法和技术。当然,本发明 的范围不仅限于通信设备,相反,其他实施例可以涉及其他类型的用于处 理指令的设备,包括指令的一个或多个机器可读的介质,所述指令,响应 于在计算设备上执行,导致设备执行此处所描述的方法和技术中的一个或 多个。

各实施例可以以代码来实现,并可以存储在在其上存储了指令的非瞬 时的存储介质上,指令可以被用来对系统进行编程以执行指令。存储介质 可以包括,但不仅限于,任何类型的磁盘,包括软盘、光盘、固态驱动器 (SSD)、光盘只读存储器(CD-ROM)、光盘可重写(CD-RW),以及磁 光盘、诸如只读存储器(ROM)之类的半导体器件、诸如动态随机存取存 储器(DRAM)、和静态随机存取存储器(SRAM)之类的随机访问存储器 (RAM)、可擦除编程只读存储器(EPROM)、闪存、电可擦除编程只读 存储器(EEPROM)、磁卡或光卡,或适于存储电子指令的任何其他类型 的介质。

尽管是参考数量有限的实施例来描述本发明的,但是,那些精通本技 术的人将从其中理解很多修改和变体。所附权利要求书涵盖所有这样的修 改和变体都将在本发明的真正的精神和范围内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号