首页> 中国专利> 便于动态功率管理的核活动检测器的方法、系统和设备

便于动态功率管理的核活动检测器的方法、系统和设备

摘要

一种系统和方法用于提供源受控动态功率管理。源中的活动检测器确定预期的将来资源使用。基于该预期使用,源生成功率管理命令,并将该命令发送到目的地。目的地则基于该命令来调节资源的功率级别。

著录项

  • 公开/公告号CN101334688A

    专利类型发明专利

  • 公开/公告日2008-12-31

    原文格式PDF

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

    申请/专利号CN200810128491.2

  • 申请日2008-06-27

  • 分类号G06F1/32;G06F11/34;

  • 代理机构中国专利代理(香港)有限公司;

  • 代理人柯广华

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-17 21:15:08

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-06-10

    未缴年费专利权终止 IPC(主分类):G06F 1/32 专利号:ZL2008101284912 申请日:20080627 授权公告日:20130828

    专利权的终止

  • 2013-08-28

    授权

    授权

  • 2009-02-25

    实质审查的生效

    实质审查的生效

  • 2008-12-31

    公开

    公开

说明书

技术领域

本发明的实施例涉及功率管理。更确切地来说,实施例涉及源受控动态功率管理。

背景技术

微处理器通常使用动态功率管理技术来管理功率使用。一般来说,微处理器的动态功率管理通过活动检测器电路来实现,该活动检测器电路位于微处理器中并耦合到集中式前端总线(FSB)。活动检测器电路适于检测应该开启或关闭某些单元所依据的条件以及适当地调整这些单元的功率级别。

传统上,活动检测器电路已经提供可接受的性能,因为此类电路在物理上与功率受控单元仅间隔短的距离。但是,总线体系结构正在远离FSB体系结构,并开始利用点到点(pTp)体系结构。然而,pTp体系结构将可能在功率管理中遇到难题。

遇到此类难题的一个原因在于pTp体系结构是分布式系统,其支持功率管理电路和功率控制单元设在不同集成电路上但是通过pTp链路连接的实现。因此,常规活动检测器电路无法有效地在系统的性能方面隐藏开启/关闭单元的等待时间,因为它无法对这些单元的电路接通或断开功率提供足够的前置时间。

发明内容

一种设备,包括:

用于接收一组输入的处理器核活动检测器,所述输入涉及:

多个处理器核的体系结构事件计数器;

所述多个处理器核的功率状态;

缓存代理消耗的项的数量的归属地信用量池;

未命中地址队列利用率;以及

核信用量利用率指示符;

所述处理器核活动检测器至少部分基于所述一组输入来确定所述归属地代理的活动级别。

核信用量利用率指示符确定归属地代理是否由于特定处理器核生成存储器请求、利用超过预定阈值的核信用量的大部分或全部而需要提升功率。

核信用量利用率指示符确定归属地代理是否由于生成存储器请求的特定处理器核利用的大部分或所有核信用量超过预定阈值而需要提升功率()。

一种缓存代理,耦合到归属地代理和多个处理器核,所述缓存代理包括:

处理器功率控制单元(PCU),用于控制所述多个处理器核的功率状态;

第一逻辑,用于存储所述缓存代理消耗的项的数量的归属地信用量池;

未命中地址队列;以及

第二逻辑,用于存储核信用量利用率指示符;

所述处理器核活动检测器用于至少部分基于从所述PCU、第一和第二逻辑接收的输入、从所述多个处理器核接收的体系结构事件计数器和所述未命中地址队列来确定所述归属地代理的活动级别。

一种用于确定耦合到集成装置封装中的多个处理器核的归属地代理的功率活动级别的方法,包括:

确定所述集成装置封装的功率状态是否处于功率降低状况,另外(otherwise),确定从先前时间间隔起已进入功率节省状态的处理器核的数量是否已改变;

将信用量池和未命中地址队列利用率与第一阈值比较;

将多个体系结构事件计数器与第二阈值比较;以及

至少部分基于比较结果来调节所述功率活动级别。

一种系统,包括:

具有多个处理器的服务器平台,每个处理器具有至少一个资源;核活动检测器,用于至少部分基于与所述多个处理器关联的利用率计数器和体系结构事件计数器来定义归属地代理的功率活动级别。

附图说明

在附图的图中以举例而非限制的形式来说明本发明,在这些附图中,相同的引用号指示相似的元素。应该注意本公开中对“某个”或“一个”实施例的引述不一定是指相同的实施例,而且此类引述意味着至少一个。

图1是本发明一个实施例的双处理器系统的框图。

图2是本发明一个实施例的多处理器系统的框图。

图3是根据本发明实施例的图1-2的系统的归属地(home)和缓存代理(caching agent)的体系结构的示范实施例。

图4是本发明一个实施例的双处理器或多处理器系统中利用的核活动检测器的框图。

图5是本发明一个实施例的源逻辑的流程图的方法。

图6是本发明一个实施例的核活动检测器的决策树的流程图的方法。

具体实施方式

本申请涉及来自两个先前提交的申请中的实施例并可以与之结合。先前提交的申请都由同一组发明人于2006年6月29日提交。第一个申请,代理人案号P23215,标题为“Method and Apparatus forDynamically Controlling Power Management(用于分布式系统中的动态控制功率管理的方法和设备)”,序列号为11/479,438。第二个申请,代理人案号P24042,标题为“Method and Apparatus to DynamicallyAdjust Resource Power Usage in a Distributed System(用于动态调整分布式系统中的资源功率使用的方法和设备)”,序列号为11/479,009。

图1是本发明一个实施例的双处理器系统的框图。此类双处理器(DP)实施例可存在于多种可能的平台中。例如,此实施例可以作为桌面型电脑或移动计算机、服务器、机顶盒、个人数字助理(PDA)、字母数字传呼机、蜂窝电话或任何其他类型的无线通信装置来实现。

在本实施例中,两个目的地(处理器102和处理器104)在通信上耦合到源。在本实例中,输入/输出集线器(IOH)100通过点到点链路124、128耦合。“链路”一般定义成为消息(即以预定格式设置的信息)建立通信路径的信息承载媒体。链路可以是有线的物理媒体(例如总线、一个或多个电线、迹线、电缆等)或无线媒体(例如与无线信令技术结合的天空)。

在一些实施例中,可以使用点到点链路,例如但不限于PCI、PCIX、PCIe等。处理器102和处理器104可以基本上相同,并且分别包括分别与存储器106和108通信的存储器控制器110、112。因此,在处理器102的上下文中进行本实施例的其余论述。但是,此论述同样地适用于系统中的其他目的地,例如处理器104。而且,可设想,一些系统可以具有由源使用的更多或更少的目的地。

除了存储器控制器110外,处理器102还包括某些资源116和118,可以将资源116和118分配给特定源(例如IOH 100)。为了此论述的目的,假定资源116和资源118不被共享,而是被唯一地分配给IOH100。例如,在一些实施例中,资源116可以表示唯一地分配给源的层资源的一部分。资源116和118可以是例如存储器访问所需的缓冲器或它们可以是目的地中的某种执行组件。资源116和118还可以分别细分成段(或者称为块)172-1至172-4和174-1至174-4。每个段定义为可独立进行功率管理,从而段可以自行接通或关闭供电,使得以更大粒度改变资源所消耗的功率。

管理电源的粒度可显著地影响源受控动态功率(SCDPM)方案的效率和功率节省。在一些情况中,如果选择仅仅是是使资源完全开启或完全关闭,则将负面地影响该方案的可能获益。例如,如果在几乎持续大周期性突发的活动而小程度地使用资源,则在选择仅仅是完全开启或完全关闭的情况下可能很少或没有功率节省。在一些实施例中,情况并非一定是所有段为相同大小或具有相同功耗。

在执行组件资源的上下文中,分段的概念可能更多是逻辑上的而不是物理上的。例如,执行组件可具有它可工作在其上的多个离散功率级别,这导致例如服务质量、执行速度等方面的变化。在此上下文中,段是不同的可能的功率级别的表示。

SCDPM的主要前提是,使资源使用的源比拥有资源的目的地更好地知道可能需要多少资源。尤其期望IOH 100在SCDPM中使用,因为IOH装置具有相对较高的等待时间特征,这允许从发出请求起到实际出现数据时有更长的时间,大量的并发数据流数据(例如DMA)和IOH中缺少通用高速缓存。

将结合图3进一步论述活动检测器150。

例如,活动检测器150监视来自外围组件互连(PCI)express端口132-0至132-N(统称为132)的请求或事件。来自PCI express端口132的请求或事件基于请求或事件的类型和与请求或事件关联的目的地标识符为活动检测器提供将来可能使用的指示,PCI express端口132连接到PCI express装置130-0至130-N(统称为130)。PCIexpress装置可以包括硬磁盘或任何其他PCI装置。如本文所使用的,“装置”是指耦合到链路的任何电子组件。直接存储器访问(DMA)控制器170耦合到IOH 100以允许DMA事务和支持旧式桥和其他外围装置。DMA控制170向IOH 100发送中断,活动检测器可以监视这些中断,并与PCI请求相似获知耦合到源的目的地处的预期将来资源使用。

IOH 100中的外发请求缓冲器152是跟踪CSI总线上发布的所有事务的内部逻辑。通过监视外发请求缓冲器152,活动检测器150可以较早获知将来数据流,例如目的地将访问IOH 100以读或写大量数据。写高速缓存154包含从多种I/O装置写入并等待发往目的地的主存储器的数据。在回写(write backWB)期间,将这些请求排队以向目的地发送数据。通过监视队列,活动检测器150可以估算未决回写将在每个目的地中产生的业务。回写队列的大小和回写速度影响时间窗,在时间窗上活动检测器150能够根据监视回写队列来预测使用。

最后,活动检测器可以监视信用量池(credit pool)156。信用量池156主要提供目的地的当前使用的指示。当前使用不一定是将来使用的好预测因子,但是当前使用可以指示在使用的资源的一个目的地处的功率不足。在该情况中,活动检测器可以向该目的地发送紧急提升功率消息。虽然将IOH 100的许多组件描述为适于监视并向活动检测器提供将来使用的提示,但是其他组件也可以提供活动检测器的有用信息以预测将来资源使用也在本发明实施例的范围和设想内。

甚至根据可提供给活动检测器的大量信息,活动检测器应该设计成使使用预测在时间上足够精确以将资源争用减至最小。例如,如果IOH 100准备将数据流写入到目的地(例如处理器102),则活动检测器150需要在写入的数据流到达之前,检测到该请求,做出决策并及时地向目的地发送功率提升命令来使目的地调整资源供电。或者,活动检测器应该避免功率管理消息淹没目的地,因为这些消息消耗点到点链路上的带宽,并可能由于其执行功率调整而导致目的地逻辑中的等待时间增加。

现在参考图2,其中示出根据本发明一个实施例的多处理器(MP)系统200的示范框图。相似地,MP系统200可以是桌面型电脑或移动计算机、服务器、机顶盒、个人数字助理(PDA)、字母数字传呼机、蜂窝电话或任何其他类型的有线或无线通信装置。

本文中,根据本发明一个实施例,MP系统200包括多个处理器210A-210D。例如处理器210A-210D的一个或多个处理器可以包括存储器控制器(MC)220A-220D。这些存储器控制器220A-220D允许分别经由链路240A-240D与关联的存储器230A-230D直接通信。具体来说,如图2所示,处理器210A经由链路240A耦合到存储器230A,而处理器210B-210D分别经由链路240B-240D耦合到对应的存储器230B-230D。在一个实施例中,处理器和IOH与上文结合图1描述的那些基本上相同。

此外,处理器210A经由点到点链路250、252和254耦合到其他处理器210B-210D的每一个。相似地,处理器210B经由pTp链路250、256和258耦合到处理器210A、210C和210D。处理器210C经由pTp链路252、256和260耦合到处理器210A、210B和210D。处理器210D经由pTp链路254、258和260耦合到处理器210A、210B和210C。处理器210A和210B经由点到点链路270和272耦合到第一输入/输出集线器(IOH)280,而处理器210C和210D经由点到点链路274和276耦合到第二IOH 285。在没有直接点到点连接的情况中,为介入装置(例如处理器)提供传递逻辑以将命令从例如IOH 280传递到处理器210C和210D。这允许IOH 280对专用于IOH 280的那些处理器210C和210D进行功率管理。

现在参考图3,其中示出根据本发明实施例的图1-2的系统的目的地和源装置的体系结构的示范实施例。为了说明的目的,处理器210D(或处理器150)配置为目的地装置300,例如归属地代理。处理器210A-210C(或处理器110)可以配置为源310A-310C,例如缓存代理。IOH 280或285(或图1的IOH 180)可以配置为实现写高速缓存320的I/O装置310D,I/O装置310D也作为缓存代理工作。

正如下文描述的,每个源310 A、...、或310D与跟踪器关联,该跟踪器保留在目的地装置300处且具有预定数量的跟踪器项。跟踪器项的数量在大小上限于任何源310A、...、或310D可传送而使CSI结构315的带宽饱和的请求的数量,CSI结构315支持目的地300与多个源(例如源310A-310D)之间的点到点通信。

如图3所示,根据本发明的此实施例,目的地300是包括归属地逻辑325和多个跟踪器3301、...、330M(其中M≥1)的归属地代理。与跟踪器3301、...、330M结合,归属地逻辑325适于作为调度器来工作以协助来自图2存储器230A的进入信息的数据传输和向CSI结构315的外发信息的数据传输。而且,归属地逻辑325负责解决这些数据传输之间的冲突。

本文中,对于本发明的此实施例,因为在系统100/200内实现了四(4)个缓存代理310A-310D,所以示出了四(M=4)个跟踪器,并标记为“HT-0”330A、“HT-1”330B、“HT-2”330C和“HT-3”330D。这些跟踪器330A-330D分别包含N0、N1、N2和N3个跟踪器项,其中Ni≥1(i=1、2、3或4)。项(N0-N3)的数量可以对于不同跟踪器而有所不同。与跟踪器330A-330D的每个项关联的是由数据缓冲器340A-340D表示的对应数据缓冲器。数据缓冲器340A-340D对从存储器控制器220A返回并最终调度到CSI结构315上以便向定位的目的地传输的数据进行临时存储。跟踪器330A-330D的项的激活和取消激活由归属地逻辑325来控制,下文将对此进行描述。

缓存代理310A、310B和310C分别包括未命中地址(miss address)队列350A、350B和350C。例如,就缓存代理310A来说,未命中地址队列350A配置成存储归属地代理300处理的所有未命中事务。

此外,根据本发明的此实施例,缓存代理310A、310B和310C还分别包括信用量计数器360A、360B和360C。每个信用量计数器360A、360B和360C维护表示跟踪器330A、330B和330C中的未用跟踪器项的数量的计数值。例如,当缓存代理310A向归属地代理300发布新事务时,递减信用量计数器360A。如果事务完成,则递增信用量计数器360A。在复位时,信用量计数器360A被初始化到等于与跟踪器330A关联的跟踪器项的数量(N0)的池大小。相同的配置可应用于信用量(credit)计数器360B-360C。

图3中还示出作为I/O代理工作的缓存代理310D的示例,I/O代理从存储器读取信息并将信息写入到I/O接口。或者,缓存代理310D可以流传输I/O代理读取返回作为对主存储器的写入。缓存代理310D实现写高速缓存320,写高速缓存320用于在存储与I/O操作关联的数据时维持高带宽。

与缓存代理310A-310C相似,缓存代理310D包括信用量计数器360D,信用量计数器360D维护表示跟踪器330D内未用的跟踪器项的数量的计数值。在复位时,信用量计数器360D被初始化到等于与跟踪器330D关联的跟踪器项的数量(N3)的池大小。

跟踪器项的数量(N0、N1等)已经设计成处理突发(burst)业务情况,因此大小设为维持峰值带宽。换言之,潜在的突发性和长等待时间导致归属地代理300为缓存代理310A-310D(请求代理)分配悲观数量的资源。例如,从归属地代理300到缓存代理310A,如果峰值数据带宽是XA吉字节/秒(GBps)以及从缓存代理310A向归属地代理300发布事务时起到完成返回到缓存代理310A为止的事务等待时间是LA纳秒(ns),跟踪器的大小(N0)由(XA*LA)/64给出,其中假定每个跟踪器项大小为64字节。

通常,来自(I/O)缓存代理310D的等待时间几乎是处理器缓存代理310A-3IOC的等待时间的1.5倍。这是因为缓存代理310D的流水线开始更靠近I/O接口逻辑,并且通常I/O装置时钟速度是处理器时钟速度的五分之一。表1演示DP系统的潜在等待时间、峰值数据带宽和跟踪器项的数量。

缓存代理等待时间(ns) 峰值带宽(Gbps)跟踪器项本地缓存代理100 12.820远程缓存代理135 12.827IOH缓存代理175 12.8 35

表1

通常,跟踪器项的数量(Ni)选为2、4或8的倍数,因此为跟踪器选择的大小分别是20、28和36。大量跟踪器项和缓冲器可能需要非常大的功率使用量,从而此类体系结构不是最优的。

其次,在大多数工作状况中,遍布系统的业务是非常突发性的,并且不会长时期保持在峰值带宽处。很少情况使用完整数量的所分配的跟踪器项。因此,可以通过基于活动来调整活动跟踪器项的数量以优化功率使用,其中使得缓存代理(源)能够使用消息传递方案来动态地管理归属地代理(目的地)处所需的资源。此消息传递方案称为源受控动态功率管理(SCDPM),下文将对此进行描述。

图4是本发明一个实施例的双处理器或多处理器系统中利用的核活动检测器的框图。在一个实施例中,核活动检测器电路位于缓存代理中。在此实施例中,缓存代理连接到多个核和共享的高速缓存。例如,每个处理器由多个核和大的共享高速缓存组成,大的共享高速缓存具有处理系统一致性和对存储器子系统的请求的关联缓存代理逻辑。在图4中,处理器活动检测器单元(PADA)连接到处理器中的多个功能单元以便获取有用的信息。在此示例中,PADA块连接到每个核体系结构事件总线(从每个核到PADA的迹线;来自可能消耗归属地代理资源的未命中地址队列的利用率指示)、控制整个处理器的功率状态的处理器功率控制单元(PCU)以及来自归属地和核的信用量利用率(utilization)指示符。基于这些输入,PADA使用SCDPM接口来生成明确消息,这些明确消息传送到归属地(目的地)代理以实现适合的功率调节。在一个实施例中,在相关的应用中论述SCDPM接口。

下表描述多个体系结构事件计数器。在一个实施例中,一个或多个处理器核的行为是应用专用的。在此实施例中,活动检测器使用一些或所有下面的体系结构事件计数器,该活动检测器有效地表示当前核状态并设置和定义功率状态。

体系结构事件计数阈值计数阈值计数阈值计数阈值计数阈值计数阈值Inst.RetiredXXXXX

预取计数XXXXLLC未命中XXXTLB未命中XXXXX分支未命中XXXX至归属地的最终决策降低功率提升功率提升功率提升功率提升功率提升功率

在一个实施例中,使用体系结构事件计数器可预测突发性行为。例如,一个核可能过多遇到大量分支误预测或大量页未命中可能是对即将到来的存储器请求流的好指示。还有其他体系结构事件,这些事件公知用于帮助理解可捕获的应用行为并向活动检测器提供对应用行为的洞察。例如,LLC未命中中的高计数提示归属地代理上需要更多资源。在表1中,建议归属地代理资源级别至少部分基于多个体系结构事件计数器。但是,要求权利的主题不限于利用相同数量的计数器的实施例。例如,这些计数器的其中一些是基于每个核的,并且可以参照累计结果来做出封装(package)明智决策。本领域技术人员认识到利用基于封装类型、核的数量等的计数器的不同子集。

对PADA的另一个输入是核信用量/请求队列利用率。例如,可以使用核信用量消耗及其请求队列利用率来理解当前核行为。例如,一种情况是在核向缓存代理发布仅少量请求时。因此,这指示有效率的执行。另外,利用大多数或所有相应核信用量的核指示存储器请求的生成。因此,归属地代理需要提升功率来维持核请求。

对PADA的另一个输入是归属地信用量池。例如,归属地信用量指示相应缓存代理当前消耗(consume)的项的数量。因此,如果空闲信用量计数在预定的时间量内一直较高,则这可能是对目的地跟踪器项降低功率的好指示。

对PADA的另一个输入是未命中地址队列利用率。例如,未命中地址队列利用率是核是否遇到过多的高速缓存未命中并且正在请求对归属地代理的存储器请求的另一个指示。在一个实施例中,可以将归属地信用量池和未命中地址队列利用率用于阈值机制以确定归属地代理的适合功率状态。

对PADA的另一个输入是核的功率状态。在一个实施例中,PCU将核的功率状态发送到PADA。每个核的功率状态对于活动检测器可能是非常有用的信息。例如,处于较高P状态或C状态的核对缓存代理生成低数量或零数量的请求。因此,可以确定或甚至预测归属地跟踪器项的使用能力。例如,在turbo模式中已选择的核是来自此特定核的更多请求的好指示。当核刚刚进入C状态时,则指示该核将不会很快在任何时间生成任何新的请求。而且,如果所有核都进入C状态,则明显可以发送消息以将与此缓存代理关联的归属地跟踪器降低功率。

图5是本发明一个实施例的源逻辑的流程图的方法。在此流程图中,将PADA逻辑实现描述为便于在每个定时器级别提升或降低Nt个级别。在一个实施例中,Nt级别的数量是用户定义的。例如,N0表示完全关闭目的地归属地中的所有资源的状态。相比之下,Nmax建议对所有目的地归属地资源提升功率。因此,每个定时器间隔中的PADA逻辑建议Nt级别的级别提升或降低。SCDPM然后将使用图5所示的建议的流程来使用此类信息来对归属地代理资源提升/降低功率。在此实施例中,At表示目的地处的当前活动跟踪器级别以及Ct表示目的地处的当前跟踪器使用。

图6是本发明一个实施例的核活动检测器的决策树的流程图的方法。在一个实施例中,该方法描述PADA体系结构的决策树。例如,流程图描述处理器活动检测器接收到的所有信息的优先级方案。因此,它确定归属地代理的适合活动级别(Nt)。例如,在一个实施例中,处理器封装的功率状态信息优先于所有其他信息。因此,如果处理器封装处于C状态,则将没有任何业务进入归属地代理。如果封装是活动的,则PADA进行比较以查看是否更多或更少的核已经进入功率节省模式。处于C状态的更多核建议归属地资源使用可能下降。最后,将使用队列/信用量利用率和体系结构来调节目的地的活动级别。

应该认识到在本说明书中对“一个实施例”或“实施例”的引述表示结合该实施例描述的特定特征、结构或特点包含在本发明的至少一个实施例中。因此,要强调且应该认识到本说明书多个部分中对“实施例”或“一个实施例”或“备选实施例”的两个或两个以上引述不一定全部指相同的实施例。而且,特定的特征、结构或特点可以按需要组合在本发明的一个或多个实施例中。

在前面说明书中,参考了本发明的特定实施例来描述本发明。但是,显然在不背离所附权利要求中提出的本发明的更宽精神和范围的前提下可以对其进行多种修改和更改。因此,说明书和附图应视为说明性意义的而非限定性意义的。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号