通过将处理器架构事件算为pmu的因素来优化功率使用的制作方法

文档序号:6423766阅读:283来源:国知局
专利名称:通过将处理器架构事件算为pmu的因素来优化功率使用的制作方法
通过将处理器架构事件算为PMU的因素来优化功率使用本申请是优先权日为2006年12月四日、优先权号为11/618,477、中国国家申请号为200710307364. 4、题为“通过将处理器架构事件算为PMU的因素来优化功率使用”的申请的分案申请。
背景技术
处理器功耗已经变为近些年来所面临的主要问题。当前的多核架构处理器设计趋势减轻了功耗方面的压力。然而,功耗仍然会随着所设计的核的数量线性增长。近来技术的发展已经提供了进一步优化功耗的新机遇。然而,这些技术仍然具有诸多缺点。更具体地,当前新技术内,OS并不理解工作负荷如何在硬件内中有效地运行以及硬件内关联的功耗。第二,OS交互的反应很慢。第三,当前OS不控制每核性能功率状态。 最后,turbo模式仅接受热和传感器反馈,它并不考虑各核更高的性能要求。


本发明的各特征将从以下在附图中示出的对较佳实施例的描述中变得显而易见, 在附图中相同的编号通常在各附图中都指代相同的部分。附图不必按比例绘出,而是重点示出本发明的各原理。图1示出了根据本发明一个实施例对PCU的热传感器和架构事件连接的图示。图2示出了根据本发明一个实施例的一种架构事件功率控制器的方法的流程图。图3是根据本发明实施例的计算机系统的框图。图4是根据本发明一个实施例的以点对点构造排列的计算系统的框图。
具体实施例方式在随后的描述中,将出于解释性而非限制性的目的阐述诸如特定结构、架构、接口、技术等的具体细节以提供对本发明各方面的全面理解。然而,对已从本公开中获益的本领域普通技术人员来说显而易见的是可以用背离这些具体细节的其他示例来实现本发明的各方面。在某些情况中,省略了对公知设备、电路和方法的描述以免用不必要的细节淡化对本发明的描述。在此讨论的某些实施例中的某些可用于执行事件处理操作。在一个实施例中,“事件”指的是可能要求也可能不要求逻辑采取某动作的条件。此外,可以基于要采取的动作将各事件分类为不同的类型。在一个实施例中,“架构事件”指的是可能被监视的事件或条件(例如,通过将与该架构事件相对应的信息编程为一状态)。在一个实施例中,软件可以配置一通道来监视在其他情况下可能不会被软件和/或硬件观察的特定架构事件。在一个实施例中,架构事件通常可以指在与处理器相同的集成电路芯片上呈现的处理资源或其他逻辑内出现的事件或条件。在一个实施例中,架构事件是做出功率管理决定的一个因素。架构事件可被广泛地用于软件性能优化。通过将架构事件算为做出功率管理决定的因素,该实施例可以有效检测OS和turbo模式当前都无法检测的核执行条件。一个实施例向功率控制单元(PCU)提供了额外的值用以使用现有设计做出适当的功率决定。PCU处理热事件,调度/管理每核的频率增加/降低。在此实施例中,逻辑被添加给该PCU。PCU随后获取来自计数器的反馈以便参与做出决定来提高某一核的功率。处理器内的架构事件通常由在处理器的不同区域内实现的一系列物理计数器检测。这些计数器可被称为EMON计数器。EMON计数器是驻留在每个功能单元内且用来计数一时间段内特定事件已出现的次数的性能监视计数器。可以存在有公用EMON计数器和专用EMON计数器。公用EMON计数器是那些可由厂商和用户访问的EMON计数器,而专用EMON计数器则用于内部调试。公用和专用EMON计数器都可用于软件和硬件调谐。EMON计数器是用来了解应用程序行为以及当前应用程序在处理器内效率如何的很有用的工具。指令重试是一类EMON计数器。通过知晓每循环的指令重试,系统就知晓了处理器内部正在执行的当前应用程序有多快。每循环的指令重试越多,该应用程序获取的性能就越好。另一类EMON计数器是MLC/LLC高速缓存未命中。程序经历了许多MLC/LLC高速缓存未命中通常意味着它们需要更高的至系统互连的BW。它还意味着该程序将因为在大多数时间问题将会被停止以等待数据返回而无法有效地执行指令。分支误预测也是一类EMON计数器。这是一种用于示出核因其正在指令流的错误分支上工作而没有做出许多“有用”工作的良好指示器。TLB未命中也是一类EMON计数器。类似于MLC/LLC未命中,TLB未命中通常意味着停止该核直到数据已返回。任何处理器内还可以定义有更多的计数器。例如,Intel的P4处理器含有200个以上计数器。某些计数器用于性能调谐而其他则用于调试/确认目的。以上提到的四个计数器指令重试、MLC/LLC高速缓存未命中、分支误预测和TLB未命中是对于在此讨论的功率管理颇为关键的计数器。然而,应该注意到本公开不限于以上识别的计数器。相反地,本公开可以按需采用许多架构事件。本系统利用一种推入总线机制,该机制能够将所有计数器串联地连接到同一总线,因为这些计数器不需要高带宽或高刷新率。图1示出了根据本发明的一个实施例的对PCU的热传感器和架构事件连接100的图示。图1示出了带有八个核105和四个共享的末级高速缓存(LLC) 107的处理器。应该注意到示出的八个核和四个共享的LLC仅出于说明性的目的。任何数量的核或LLC都可用于该实施例。功能单元110在各核105之间共享。P⑶115是由核105共享的单元之一。核105内的黑方块表示热传感器120。核105具有热传感器105来防止核105的过热。串行推入总线125将所有传感器120连接到总线上。推入总线125可以具有许多分支。推入总线125的第一分支127可以采用多达96个时隙,其中每个时隙都为热传感器 120之一所保留。在每个核105中至少有一个推入总线125的分支127。推入总线105的每一分支127都可用所有的热传感器120来监视一个核105。由推入总线125从热传感器 120中收集来的所有数据随后被发送给P⑶115。
通过经由相同的串行推入总线机制和每个具有指定的时隙的计数器来链接不同的计数器,就可以做出类似的方法来监视架构事件。亮方块是EMON计数器130。虚线135 是串行推入总线的另一分支。推入总线125的第二分支135可以采用多达96个时隙,其中每个时隙都为EMON计数器之一所保留。在每个核105中至少有一个推入总线125的一个分支135。推入总线125的每一分支135都用所有的EMON计数器130来监视一个核105。 由推入总线125从EMON计数器130中收集来的所有数据随后被发送给P⑶115。P⑶115可以具有极低的采样率以检索来自推入总线125的信息,这也是所有的传感器可以共享一窄总线的一个原因。串行推入总线125可以不宽于10位并且以较低的采样率运行。正由于此,监视这些事件就不需要高带宽。每1000循环采样这些计数器就足够了。采样频率应该用热传感器调谐,以使得在架构事件130和热传感器120之间做出一致的P⑶115决定。图2示出了根据本发明一个实施例的用于架构事件功率控制器的方法200的流程图。该方法200在系统处于空闲模式205时开始。当到达每个定时器间隔时,架构事件功率优化逻辑(AEPOL)就检测计数并判定是应该启动一提高功率还是降低功率序列210。对于提高功率序列而言,AEPOL询问P⑶115以判定turbo模式是否可用215。如果turbo模式不可用,就意味着没有备用功率可用,AEPOL就返回到空闲模式205直到下一个定时器间隔到达。如果turbo模式可用,AEPOL就启动提高功率序列220。一旦提高功率序列完成,AEPOL就进入空闲模式205直到下一个定时器间隔到达。对于降低功率序列而言,AEPOL通知P⑶115启动降低功率序列225。一旦降低功率序列完成,AEPOL就进入空闲模式205直到下一个定时器间隔到达。图2中提及的AEPOL在每个核中实现。逻辑可以持续地监视架构事件以确保各核在其最佳功率/性能状态下运行。在一个实施例中,对所关注的架构事件计数进行计数并将其发送给P⑶115。P⑶ 115随后分析它从每个计数器中接收的计数并判定是应该提升还是降低某一特定核105的功率。在一个实施例中,如果系统互连(共享的高速缓存、总线控制逻辑、管芯上的存储器控制等)也支持功率调整,则可以使用相同的机制来调整系统互连逻辑。在实施例中,应该一并参考所有被监视的EMON计数器130,从而更好地理解AEPOL 的行为。例如,每循环低指令重试(IPC)计数并不意味着核正以低效率运行,除非知晓它还遭受着较高的高速缓存未命中和较高的分支误预测。如下表1所示,将所关注的架构事件一并分组以做出决定。同样还定义了每个架构事件计数器的阈值计数。该阈值是基于对某一具体架构的性能研究来定义的,因为性能取决于系统的架构而有所不同。在表1中,如果所有相关的架构计数器为低,这暗示系统没有遭受任何系统限制动作。因此,调高核频率有助于增加该应用程序的性能。另一方面,如果核正遭受相当高计数的MLC/LLC未命中,增加核频率就没有益处,因为性能会受到对片外组件的存取等待时间的限制。在此情况下,系统应该调低核频率并将节省下的功率转给正进行有用工作的其他核。因此,AEPOL允许对何时打开其中性能将会提升并可被观察的turbo做出智能决定,并且它通过微调停止执行指令的核上的性能功率状态而降低了功耗。权利要求
1.一种处理器,包括用以检测架构事件是否已在核内出现的总线;以及响应于所述架构事件的出现引起一功率序列的功率单元。
2.如权利要求1所述的处理器,其特征在于,所述架构事件是EMON计数器。
3.如权利要求1所述的处理器,其特征在于,所述功率单元是为所述核管理热和功率事件的功率控制单元。
4.如权利要求1所述的处理器,其特征在于,所述总线是连接所述核内全部架构事件的串行推入总线。
5.如权利要求4所述的处理器,其特征在于,所述总线包括多个分支并且每个分支用一个核的全部架构事件监视所述一个核。
6.如权利要求5所述的处理器,其特征在于,所述总线把从所述架构事件收集的全部数据发送给所述功率单元。
7.如权利要求1所述的处理器,其特征在于,还包括共享的末级高速缓存。
8.如权利要求1所述的处理器,其特征在于,还包括耦合至所述功率单元的功能单元。
9.如权利要求1所述的处理器,其特征在于,所述总线、功率单元、多个核或末级高速缓存在同一集成电路管芯上。
10.一种方法,包括生成指示架构事件出现的信号;基于所述架构事件的所述出现引起一功率序列。
11.如权利要求10所述的方法,其特征在于,引起一功率序列包括如果备用功率可用, 就提高所述核的功率。
12.如权利要求10所述的方法,其特征在于,引起一功率序列包括如果没有备用功率可用,就保持空闲。
13.如权利要求10所述的方法,其特征在于,引起一功率序列包括降低所述核的功率。
14.如权利要求10所述的方法,其特征在于,所述生成信号对于每一个核都发生。
15.一种系统,包括用以存储与要被监视的一个或多个事件相对应的架构事件数据的存储器;用以检测架构事件是否已在核内出现的总线;以及响应于所述架构事件的出现引起一功率序列的功率单元。
16.如权利要求15所述的系统,其特征在于,架构事件是EMON计数器。
17.如权利要求15所述的系统,其特征在于,所述功率单元是为所述核管理热和功率事件的功率控制单元。
18.如权利要求15所述的系统,其特征在于,所述总线是连接所述核内全部架构事件的串行推入总线。
19.如权利要求18所述的系统,其特征在于,所述总线包括多个分支并且每个分支用一个核的全部架构事件监视所述一个核。
20.如权利要求19所述的系统,其特征在于,所述总线把从所述架构事件收集的全部数据发送给所述功率单元。
21.如权利要求15所述的系统,其特征在于,还包括共享的末级高速缓存。
22.如权利要求15所述的系统,其特征在于,还包括耦合至所述功率单元的功能单元。
23.如权利要求15所述的系统,其特征在于,所述总线、功率单元、多个核或末级高速缓存在同一集成电路管芯上。
24.如权利要求15所述的系统,其特征在于,还包括耦合至所述存储器的音频设备。
全文摘要
通过将处理器架构事件算为PMU的因素来优化功率使用。公开了一种监视架构事件的方法和装置。各架构事件经由推入总线机制被链接在一起,而其中每个架构事件都具有指定的时隙。每个核内都存在推入总线的至少一个分支。推入总线的每个分支都可以用所有的架构事件监视一个核。由推入总线从各事件收集的全部数据随后被发送给功率控制单元。
文档编号G06F1/20GK102200828SQ20111011873
公开日2011年9月28日 申请日期2007年12月28日 优先权日2006年12月29日
发明者G·N·斯瑞尼瓦萨, K·V·西斯特拉, P·K·奥尔, Y-C·刘 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1