分布式系统中动态调节资源用电的方法和装置的制作方法

文档序号:6454968阅读:142来源:国知局
专利名称:分布式系统中动态调节资源用电的方法和装置的制作方法
技术领域
本发明的实施例涉及电源管理。更具体地,实施例涉及源端(source) 控制的动态电源管理。
背景技术
微处理器通常使用动态电源管理技术来管理用电。针对微处理器 的动态电源管理一般通过活动检测器电路来完成,该活动检测器电路位于 微处理器中并耦合到集中式的前端总线(FSB)。活动检测器电路用于检测其 中某些单元应该被开启或关闭的情况并适当调节这些单元的供电级别 (power level)。活动检测器电路通常提供可接受的性能,因为这样的电路物理上 与供电受控制的单元分开仅一小段距离。然而,总线体系结构正在放弃FSB 体系结构并开始采用点对点体系结构。 一种类型的点对点体系结构被称为
"公共系统互连"或"csr。这种体系结构很可能在电源管理中遇到困难。遇到这样的困难的一个原因是,CSI式的分布式系统支持下列实 现电源管理电路和供电受控制的单元被放置在不同的集成电路上,但其 是通过CSI链路连接的。结果,从系统性能方面考虑,传统的活动检测器
电路不能有效地掩盖开启或关闭这些单元的延迟,因为其不能给这些单元
的电路提供足够的前置时间(lead time)来通电或断电。


在附图中示例性地而不是限制性地说明了本发明,其中,类似的 参考标记指示相似的元件。应该注意,本公开中引用"一"或"一个"实 施例不必是相同的实施例,并且这样的引用表示至少一个。
图l是本发明一个实施例的双处理器系统的方框图。
图2是本发明一个实施例的多处理器系统的方框图。
图3是根据本发明一个实施例的操作的流程图。
具体实施例方式图1是本发明一个实施例的双处理器系统的方框图。这样的双处 理器(DP)实施例可以出现在各个可能的平台上。例如,该实施例可以被实 现为台式或移动式计算机、服务器、机顶盒、个人数字助理(PDA)、数字 寻呼机、移动电话或任何其它类型的无线通信设备。在该实施例中,两个目的端(destination)(处理器102和处理器104) 通过点对点链路124、 128通信地耦合到源端(在这个示例中,输入/输出中 心(IOH)100)。"链路" 一般被定义为信息携带介质,其用于为消息(即以预 定格式放置的信息)建立通信通路。链路可以是有线的物理介质(例如,总 线、 一条或多条电线、迹线(trace)、电缆等)或无线的介质(例如,结合无线 信令技术的空气)。在某些实施例中,点对点链路可以是经过CSI结构126的CSI链 路。处理器102和处理器104可以基本上相同,并各自包括存储器控制器 110、 112,所述控制器110、 112各自与存储器106和108进行通信。因此, 将针对处理器102进行该实施例剩下的讨论。然而,该讨论同样适用于该 系统中的其它目的端,例如,处理器104。此外,可预见某些系统可以具 有更多或更少的由源端所使用的目的端。除了存储器控制器110之外,处理器102包括可被分配给特定源 端(例如,IOH IOO)的某些资源116和118。为了便于讨论,假定资源116 和118没有被共享,而是唯一分配给IOH 100。在某些实施例中,例如, 资源116可以表示被唯一分配给源端的部分层资源。资源116和118可以 是例如存储器访问所需的缓冲器,或它们可以是目的端中某种类型的执行 组件。资源116和118可以进一步各自分成多个分段(segment)(或者被称为 块(chunk)) 172-1至172-4和174-1至174-4。每个分段被定义为可独立进 行电源管理,因此,该分段可以被通电或断电,使得该资源所消耗的电力 可以以更大的粒度(granularity)变化。可以用来管理供电的粒度能够显著影响源端控制的动态电源 (SCDPM)方案的效率和节电效果。在许多情况下,如果仅有的选择是令资源完全开启或关闭,那么这将负面影响该方案的可能效益。例如,如果只 是很小程度地使用资源并几乎在大的周期性的活动突发期间持续如此,那 么如果仅有的选择是完全开启或关闭,则可能极少或没有节电。在某些实 施例中,所有分段不是必然具有相同大小或具有相同耗电。对于执行组件资源,分段概念可能更是逻辑上的而不是物理上的。 例如,执行组件可以具有许多离散的供电级别,执行组件可以在这些级别 上工作,而使得例如服务质量、执行速度等发生变化。在这种情况下,分 段表示不同的可能的供电级别。 SCDPM的优势性前提是,相对于拥有资源的目的端,资源使用的 源端能好地了解可能需要多少资源。在SCDPM中尤其希望使用IOH 100, 这是因为IOH设备相对较高的延迟特性(这使得从发出请求时到数据实际 出现时的时间间隔更大)、大量的并行数据流数据(例如,DMA)以及IOH 中通用高速缓存的缺乏。因此,IOH 100内的活动检测器150监控IOH的各个其它组件, 以预测可能的将来资源需求。基于该预测,活动检测器使用其编码器162 来产生电源管理命令,该命令可以由CSI接口 140通过点对点链路124发 送到目的端处理器102。在一个实施例中,编码器162将PMC编码为不可 配置的写命令(8字节长),包括用以指定目的端(例如,处理器102)的目的 端标识符、用以指定资源(例如,资源116)的资源标识符和用以指定该资源 应该被上电(powerup)到或下电(powerdown)到的级别的活动向量。表l示 出了一种可能的编码
表l
经CSI发送的SCDPM电源命令
RID0-3资源逻辑ID
DID4画7目的端逻辑ID
活动位向量位向量指示哪些块被要求是活动的在该实施例中,如所示,目的端ID是4位长,资源ID是4位长, 还有活动向量是56位长。4位长的目的端ID允许最多有16个不同的目的 端。类似地,4位长的资源ID允许识别16个不同的资源。在该实施例中, 活动位向量可以对用于调节任意资源的供电级别的比率进行编码。利用54位,允许有254个比率。这当然足够调节任何合理资源。 一般来说,这也 足以使得能够使用这些位来指定目的端中的解码器(下文中所讨论的)所理
解的子字段。例如,设置活动位向量为全"r可表示使得那种资源完全加
电(FULLPOWER)。全"0"可表示给该资源完全断电(POWER OFF)。在 一个实施例中,解码器可以将54位解释为精确性的54位百分比,这也大 大超过任何合理资源的粒度(事实上,其足以对主存储器中的单个位进行电 源管理)。应该认为该命令格式基本上为所有感兴趣的情况提供了足够的粒 度。所产生的命令被经过链路124发送到处理器102的解码器114。在 一个实施例中,解码器102识别命令为不可配置写,并将该命令传递给命 令解码器120。命令解码器120解析目的端ID和资源ID字段以识别该电 源管理命令针对哪个资源。命令解码器120还对活动位向量进行解码,并 向电源控制器122发信号告知应对何种资源(116、 118)和该资源的哪些分 段进行上电或下电。以这种方式,如果对于一个足够长的时间周期, 一个资源很可能 未被使用或仅部分被使用,则能实现显著的节电效果。应该认识到,构成 足够长的时间周期的要素可以从一种资源到下一种时发生变化。例如,在 供电状态之间转换的话会有供电成本。在这样的情况下,从更低的供电状 态所获得的节电效果应该超过转换的成本。所述转换还可能具有显著的延 迟成本,因此,在确定降低的供电状态需要多少空闲时间时,应针对所述 转换的成本来再次估量可能的节电效果。前面提到,活动检测器162监控IOH IOO的组件。例如,活动检 测器150监控来自快速外围组件互连(PCI Express)端口 132-0至132-N (统 称132)的请求或事件。来自PCI Express端口 132的请求或事件向活动检 测器提供了关于可能的将来使用的指示,该指示是基于请求或事件的类型、 以及与该请求或事件相关联的目的端标识符。PCI Express端口 132连接到 PCI Express设备130-0至130-N (统称130)。 PCI Express设备可以包括硬 盘或任何其它PCI设备。这里所用的"设备"涉及耦合到链路的任何电气 组件。直接存储器访问(DMA)控制器170耦合到IOH 100,以允许进行DMA 事务处理并支持遗留的桥接器和其它外围设备。DMA控制器170发送中
8断给IOH100,活动检测器可以监控这些中断,并与PCI请求的情况类似, 获得关于在耦合到源端的目的端处的所期望的将来资源使用情况(usage)的 信息。 IOH 100中的外发请求缓冲器152是内部逻辑,其用于跟踪CSI 总线上发出的所有事务处理。通过监控外发请求缓冲器152,活动检测器 150能够及早获得关于将来数据流(其中,例如目的端将要访问IOH 100以 读出或写入大量数据)的信息。写高速缓存154包含从各个I/O设备写入并 等待存入目的端主存储器的数据。在回写(WB)期间,对请求进行排队以发 送数据到目的端。通过监控队列,活动检测器150能够估计在每个目的端 处由即将到来的回写所导致的通信量。回写队列的大小和回写的速率影响 时间窗口,通过该时间窗口,活动检测器150能通过监控回写队列来预测 使用情况。最后,活动检测器可以监控信用池(creditpool) 156。信用池156主
要指示目的端的当前使用情况。当前使用情况未必能很好地预测将来使用 情况,但当前使用情况可以指示针对所使用的资源的那个目的端中有不合 适的供电。在那种情况下,活动检测器可以发送紧急上电消息到该目的端。 尽管IOH 100的许多组件已被说明为适合进行监控和提供关于将来使用情 况的提示给活动检测器,但是其它组件也可以向活动检测器提供用以预测 将来资源使用情况的有用信息,这也是在本发明实施例的范围和预期内的。
考虑到可用于活动检测器的大量信息,活动检测器应该被设计为 使得使用情况预测在时间上足够精确以最小化资源争用。例如,如果IOH IOO准备写数据流到目的端(例如,处理器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基本上与上面参考图l所述的那些相同。
此外,处理器210A经过点对点(例如,CSI)链路250、 252和254 耦合到其它处理器210B-210D中的每一个。类似地,处理器210B经过CSI 链路250、 256和258耦合到处理器210A、 210C和210D。处理器210C 经过CSI链路252、 256和260耦合到处理器210A、 210B和210D。处理 器210D经过CSI链路254、258和260耦合到处理器210A、210B和210C。 处理器210A和210B经过点对点链路270和272耦合到第一输入/输出中 心(IOH) 280,同时处理器210C和210D经过点对点链路274和276耦合 到第二IOH285。如果没有直接的点对点连接,则居间设备(例如,处理器) 配备有传递逻辑(pass through logic),以从例如IOH 280传递命令到处理器 210C和210D。这使得IOH 280能够对专用于IOH 280的那些处理器210C 和210D中的资源进行电源管理。图3是根据本发明一个实施例的操作的流程图。在方框302处, 活动检测器监控源端组件。在方框304处,基于302的监控,活动检测器 评估由各个源端组件表示的活动级别。I/O本质上倾向于非常突发性的 (bursty)。这表示在一个时间周期和下一个之间在资源使用情况上通常具有 很大差异。作为请求和数据到达之间的I/0突发的延迟的结果,IOH非常 适合于以时间高效的方式来预测将来资源使用情况,因而,能减少供电转 换所导致的延迟。在方框306处,活动检测器预测目的端中的将来资源使 用情况。在方框308处,判定该预测是否指示使用情况将会发生变化。例 如,对输出请求队列的监控可以指示请求从主存储器读出大文件。
如果使用情况将不会发生变化,则在方框302处继续进行监控。 如果发生了所预测的使用情况上的变化,则在方框310处判定预测的是否 是使用情况出现降低。例如,上述大文件请求已经完成并且当前没有进一步的文件请求。在某些实施例中,这些判定可以是隐式的(implidt)。如果 并未预测使用情况出现降低(或预测增加),则在方框312处,活动检测器 产生命令,以将目的端资源上电而达到所预测的使用级别。如果在方框310 处预测使用情况出现降低,则在方框314处,活动检测器产生命令,以将 目的端资源下电而达到所预测的使用级别。在方框316处,把给资源上电 或下电的命令发送到目的端。在方框318处,目的端按照该命令来调节资 源供电。然后在方框302处继续监控。应该理解,该说明书全文中引用"一个实施例"或"一实施例" 时表示结合该实施例而说明的特定特征、结构、或特性将被包括在本发明 的至少一个实施例中。因此,这里强调并应该理解的是,本说明书各个部 分中对"一实施例"或"一个实施例"或"可替换的实施例"的引用并不
必然都指代相同的实施例。此外,在本发明的一个或多个实施例中,可以 适当组合所述特定特征、结构、或特性。在上述说明书中,已参考本发明的特定实施例说明了本发明。然 而,显而易见的是,能对本发明进行各种修改和改变,而不偏离在所附权 利要求书中所阐述的本发明的更广的精神和范围。因而,说明书和附图应 被认为是示意性的而不是限制性的。
权利要求
1、一种装置,包括目的端处的资源,所述资源的某些部分专用于源端;所述源端处的活动检测器,用于确定所述资源的所期望的使用情况,所述活动检测器发送电源管理命令到所述目的端,所述电源管理命令使得所述目的端基于所期望的使用情况来调节所述资源的耗电。
2、 如权利要求l所述的装置,其中,所述目的端包括-解码器,用于对所述电源管理命令进行解码;以及 电源控制器,用于响应所述电源管理命令来向所述资源供电。
3、 如权利要求2所述的装置,其中,所述资源的专用部分逻辑上被组 织成多个独立进行电源管理的分段。
4、 如权利要求l所述的装置,其中,所述源端包括-外发请求队列;回写高速缓存;以及 信用池。
5、 如权利要求1所述的装置,进一步包括 点对点链路,用于将所述源端耦合到所述目的端。
6、 如权利要求l所述的装置,其中,所述活动检测器包括 编码器,用于对分组进行编码,使其具有目的端标识符、资源标识符和活动向量。
7、 如权利要求l所述的装置,其中,所述命令包括-不可配置写命令。
8、 一种方法,包括评估源端中的活动以确定目的端中的资源的所期望的使用情况; 发送电源管理命令到具有所述资源的所述目的端;以及 基于所述电源管理命令来给所述资源的一部分供电。
9、 如权利要求8所述的方法,进一步包括 监控所述源端的多个组件以识别活动。
10、 如权利要求8所述的方法,其中,评估步骤包括 检查外发请求队列、回写高速缓存、信用池中至少一个的内容。
11、 如权利要求8所述的方法,其中,发送电源管理命令的步骤包括: 对分组进行编码,以使其具有目的端标识符、资源标识符和位向量,其中所述位向量用于指定部分资源是活动的;以及经过点对点链路将所述分组传送到所述目的端。
12、 如权利要求8所述的方法,进一步包括-对所述电源管理命令进行解码以识别资源和所述资源的活动级别。
13、 如权利要求8所述的方法,进一歩包括基于所述估计来预测所述资源的将来使用情况。
14、 一种系统,包括服务器平台,其具有多个处理器,每个处理器具有至少一种资源; 输入/输出中心(IOH),其耦合到所述多个处理器的至少一个子集,其 中通过点对点链路耦合到每个处理器,所述IOH包括活动检测器,该活动 检测器基于所述资源的所预测的将来使用情况来发送电源管理命令到所述 多个处理器中的至少一个。
15、 如权利要求14所述的系统,进一步包括外围组件互连设备,其耦合到所述IOH。
16、 如权利要求14所述的系统,其中,每个处理器包括 电源控制器,用于通过改变所述资源的供电状态来响应所述电源管理命令。
17、 如权利要求16所述的系统,其中,所述资源专用于所述IOH, 并且其中,所述资源逻辑上被组织成多个可独立进行电源管理的分段。
18、 如权利要求14所述的系统,其中,所述活动检测器用于监控外发 请求队列、回写高速缓存和信用池中的至少一个,作为所述资源的所预测 的将来使用情况的至少部分基础。
全文摘要
一种用于提供源端控制的动态电源管理的系统和方法。源端中的活动检测器确定所期望的将来资源使用情况。基于所期望的使用情况,该源端产生电源管理命令并发送该命令到目的端。目的端然后基于该命令来调节资源的供电级别。
文档编号G06F1/32GK101454741SQ200780019645
公开日2009年6月10日 申请日期2007年6月27日 优先权日2006年6月29日
发明者K·西斯特拉, S·R·胡特塞尔, Y·刘 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1