CN101604199B - 操作特性的基于效率的确定 - Google Patents

操作特性的基于效率的确定 Download PDF

Info

Publication number
CN101604199B
CN101604199B CN200910141605.1A CN200910141605A CN101604199B CN 101604199 B CN101604199 B CN 101604199B CN 200910141605 A CN200910141605 A CN 200910141605A CN 101604199 B CN101604199 B CN 101604199B
Authority
CN
China
Prior art keywords
processor
module
efficiency
event
operating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN200910141605.1A
Other languages
English (en)
Other versions
CN101604199A (zh
Inventor
D·鲍姆
D·莱比尼科夫
E·罗特姆
R·科默
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN101604199A publication Critical patent/CN101604199A/zh
Application granted granted Critical
Publication of CN101604199B publication Critical patent/CN101604199B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • G06F11/3423Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time where the assessed time is active or idle time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开了包括可动态调节处理器(例如,CPU)性能的技术的技术。例如,装置包括计数器、效率确定模块和管理模块。计数器确定事件发生的数目,其中每个事件发生包括处理器组件(例如,处理器核)等待来自设备的响应。效率确定模块基于事件发生的数目确定效率度量。管理模块针对所述处理器组件确立一个或多个操作特性,该操作特性对应于所述效率度量。描述了其它的实施例并要求保护之。

Description

操作特性的基于效率的确定
背景技术
降低处理器的能量消耗和功耗在很多情况下正变得日益重要。例如,这种功率和能量减少可降低消费者的总成本。另外,这种功率和能量减少可增加移动产品的电池寿命。
处理器可根据各种活动模式状态操作。这些状态中的每一种可提供某一水平的性能(例如,速度)。然而,对于这些状态,功耗随着处理器性能而增加。此外,处理器可在休眠模式下操作。在该模式下,可关闭一个或多个组件以节省功耗。
处理器性能通常受到诸如存储器或输入/输出(I/O)设备的外部设备或组件的限制。例如,当处理器等待外部设备时,它或者可进入休眠模式或者保持活动。更具体地,当预期的延迟较长时(如当等待来自硬盘驱动器的响应时),处理器可进入休眠模式。然而,对于短的预期延迟,处理器在等待响应时通常保持活动模式。
在很多操作情形中,认为大多数的这种等待时间较短。因此,在操作期间,处理器通常在活动模式下度过其大多数的等待时间。在这些时间中,处理器一般以低效率功率方式运行。
附图简述
图1示出第一装置的一个实施例。
图2示出第二装置的一个实施例。
图3示出示例性逻辑流程的一个实施例。
图4示出性能曲线图的一个实施例。
图5示出示例性系统的一个实施例。
详细描述
各个实施例提供了可动态调节处理器性能的技术。例如,这些技术可标识处理器效率并可调节处理器的性能(例如,其速度)。这种调节可包括改变处理器的操作状态(例如,其P状态)。例如,在检测到处理器受到存储器限制或等待另一个设备(诸如,图形卡)时,这些技术可调节处理器的操作以使得它较慢地运行。结果,节省了能量。相反,在检测到处理器不再受到这些限制的约束时,可重新向处理器投入所节省的能量以通过以较高的频率运行来提供增强的性能(例如,更快的操作)。对处理器操作的这些调节可涉及各种技术。示例性技术包括切换处理器的时钟信号,和/或在有或没有电压变化的情况下改变处理器的操作频率。
在各个实施例中,这种技术可在处理器内实现。然而,在其它实施例中,实现可涉及外部软件和/或外部硬件。
各个实施例可包括一个或多个元件。元件可包括被安排为执行特定操作的任何结构。每个元件可被实现为给定的一组设计参数或性能限制所需要的硬件、软件或其任意组合。尽管可利用按特定配置的具体元件作为示例描述实施例,但各实施例可包括替换配置的元件的其它组合。
值得注意的是,对“一个实施例”或“实施例”的引用意味着结合实施例描述的具体特征、结构或特性被纳入至少一个实施例中。通篇在说明书出现的短语“在一个实施例中”和“在实施例中”不一定全部指相同实施例。
图1示出可基于效率确定调节操作的示例性装置100。装置100可包括各个元件。例如,图1示出装置100可包括处理器核102、控制单元104和外部接口106。而且,装置100可包括温度传感器116。装置100的元件可在处理器内实现。示例性处理器包括(但不限于)中央处理单元(CPU)、图形处理器和数字信号处理器(DSP)。
处理器核102执行对给定的一组输入产生特定输出的操作。这种输入可以是与指令集相关联的指令。在各实施例中,处理器核102可利用多个逻辑门实现并可被设计成用于通用功能。
处理器核102可在各种活动模式状态下操作。例如,装置100可在不同的性能状态(也称为“P状态”)下操作。这些P状态中的每一个具有相应的操作频率和电压电平。具体地,具有较高电压和频率的P状态提供较好的性能(例如,较高的速度)。然而,如以上所指示的,这种性能的增加需要较大的功耗。
外部接口106可供通过一个或多个互连与各种外部设备交换信息之用。这些设备可包括(但不限于)存储器(例如,动态随机存取存储器(DRAM))、图形芯片、I/O设备和/或盘驱动器。示例性互连包括一个或多个总线接口和/或一个或多个点对点接口。然而,各实施例不限于这些示例。因此,外部接口106可包括控制逻辑和电子设备(例如,收发机)以便于这种信息交换。
外部接口106可包括用户偏好接口128。用户偏好接口128可用作利用各种图形用户界面(GUI)元件向用户或操作员显示信息的接口。用户偏好接口128还可用于从用户处接收诸如用户命令、用户偏好等的信息。具体地,用户偏好接口128可接收用于效率确定模块110、管理模块112和策略模块114以及装置100的其它元件的控制指示和偏好信息。
在各实施例中,处理器核102可生成关于具体操作的数据。该数据可通过一个或多个计数器累积。例如,图1示出具有事件计数器108的处理器核102,该事件计数器108可对特定事件的出现计数。这种事件可包括处理器核102等待来自外部设备的响应的事件。这种事件的示例包括与外部设备的通信,诸如与外部存储器的通信、I/O通信、与图像处理器/卡的通信、和/或与硬盘驱动器的通信。然而,各实施例不限于这些示例。
例如,计数器108可计数一种或多种特定类型的存储器存取。这种存取的示例包括(但不限于)长持续时间存取、非投机性的存取、和/或其它指令的块执行的存取。
事件计数器108包括标识这种事件的出现的控制逻辑。这种控制逻辑可以硬件、软件和/或固件的任意组合实现。事件标识可基于相应的接口(例如,总线)信号和/或命令的存在而进行。同样,事件标识可通过与外部设备存取相关联的软件指令(或多个软件指令)的执行以及通过等待数据的繁忙环路的存在而进行。然而,各实施例不限于这些示例。
更具体地,事件计数器108可生成在前面的(例如,紧接前面的)时间间隔中发生的这种事件的计数。因此,事件计数器108累积在滑动时间窗内发生的事件计数。可采用各种时间间隔持续时间。示例性持续时间是1毫秒。如图1所示,该计数被提供给控制单元104作为计数值120。在各实施例中,计数值120可通过并行(例如,16位)信号线提供给控制单元104。然而,可替换地采用其它技术。
控制单元104为处理器核102确立性能特性。这些确立的性能特性基于处理器核102的评估操作效率。如图1所示,控制单元104包括效率确定模块110、管理模块112和计时器118。
效率确定模块110基于处理器核102的性能确定处理器核102的操作效率。例如,效率确定模块110可根据计数值120确定效率度量122。
如上所述,计数值120指示在时间间隔内(例如,在滑动时间窗内)已经发生的事件数。这种事件可以是处理器核102等待来自外部设备的响应的事件。因此,计数值120在其具有较大的量值时指示较低效率,并在其具有较小量值时指示较高效率。因此,效率确定模块110可确定效率度量122,以使得它与计数值120成反比。
作为根据计数值120导出效率度量122的附加或选择,效率确定模块110可利用各种其它技术确定效率度量122。在一个实施例中,例如,效率确定模块110可利用反复试验技术确定效率度量122。例如,可实现针对效率度量122的值的范围,直到获得期望的测量输出。所测量的输出可按照功耗率、平均处理器利用率、应用响应时间等。在一个实施例中,例如,效率确定模块110可通过监视并记录在先前由处理器核102(或另一个处理器核)执行时应用的各个特性以创建应用历史从而确定效率度量122。效率确定模块110可使用应用历史和预测算法来预测效率度量122的值,以供在由处理器核102执行应用时使用。其它技术和处理器核推断法可用于生成效率度量122,且各实施例不限于该上下文。管理模块112确立处理器核102的操作特性。这可包括确立处理器核102的操作频率和/或电压。这种处理器核102的操作特性可基于效率度量122来确立,因此,图1示出从效率确定模块110接收效率度量122的管理模块112。
在接收到效率度量122之后,管理模块112可选择相对应的操作特性。基于该选择,管理模块112可将指示124发送到处理器核102。该指示指令处理器核102根据所选的特性操作。如上所述,这种特性可包括特定操作频率和/或电压(例如,特定的P状态)。作为选择或附加,这种特性可包括处理器核102的时钟触发设置。
处理器核102的操作特性的这种选择可根据将效率度量122的范围映射到特定操作特性的方案进行。如上所述,这种操作特性可包括操作频率和/或电压(例如,P状态)。作为选择或附加,这种特性可包括处理器核102的时钟触发设置。
效率度量122的范围和操作特性之间的这种映射可由策略模块114提供。如图1所示,策略模块114可被包括在管理模块112中。在各实施例中,策略模块114可包括含有这些对应性的存储介质(例如,存储器)。然而,可采用其它实现技术。
分配操作特性可能付出某种代价。例如改变操作频率和电压涉及锁定PLL和改变电压,这可能要花费某些时间。频繁改变操作特性可导致净损耗而不是增益。计时器118可用于将操作特性变化限制为不超过预定的转变次数/秒。
如上所述,装置100的外部接口106可包括用户偏好接口128。用户偏好接口128允许用户或操作人员对算法添加偏好,这种策略的示例可包括增加节能、提供增强的性能等。
如上所述,装置100可包括温度传感器116。这种传感器确定装置100的当前操作温度。温度传感器116可按各种方式实现。例如,温度传感器116可包括基于热敏电阻的电路。
如图1所示,温度传感器116可向管理模块112提供指示当前操作温度的信号125。基于该信号,管理模块112可确定在不导致超过最大温度的情况下装置100可处理的附加功耗的量。附加功耗被称为“净空”。
管理模块112可按各种方法确定该附加净空。在各示例性实现中,管理模块112可包括含有预先存储的针对特定温度值(或值的范围)的净空值的查找表。在其它示例性实现中,管理模块112可实时地计算净空。
基于该净空,管理模块112可确定操作特性的限值,诸如最大操作频率和/或电压(例如,P状态)以及时钟触发极限。因此,在确定这种用于指示124的特性时,策略模块114可修改根据效率度量122确定的操作特性,以使得它们不会导致所确定的净空被超过。
图2示出可基于效率确定调节操作的另一个装置200。装置200可包括各个元件。例如,图2示出装置200可包括多个处理器核202a-b、控制单元204和外部接口206。同样,装置100可包括温度传感器216。装置200的各元件可在处理器(例如,CPU、图形处理器、DSP等)中实现。然而,各实施例不限于这些实现。
处理器核202a-b中的每一个执行对给定的一组输入产生特定输出的操作。这种输入可以是与指令集相关联的指令。在各实施例中,处理器核202a-b中的每一个可利用多个逻辑门实现并可被设计成用于通用功能。此外,处理器核202a-b中的每一个可在各种活动模式状态下(例如,不同的P状态)操作。
外部接口206可供通过一个或多个互连(总线接口和/或点对点接口)与各种设备交换信息之用。如上所述,这些设备可包括(但不限于)存储器(例如,DRAM)、图形芯片、I/O设备和/或盘驱动器。如以上参照图1所述,外部接口206可按外部接口106的方式实现。
在各实施例中,处理器核202a-b中的每一个可生成关于特定操作的数据。该数据可通过一个或多个计数器累积。例如,图2示出包括事件计数器208a的处理器核202a和包括事件计数器208b的处理器核202b。事件计数器208a对处理器核202a中出现的特定事件计数。类似地,事件计数器208b对处理器核202b中出现的特定事件计数。
如以上参照图1所述,这种事件可包括对应的处理器核202等待来自外部设备的响应的事件。这种事件的示例可包括与外部设备的通信,诸如与外部存储器的通信、I/O通信、与图像处理器/卡的通信、和/或与硬盘驱动器的通信。然而,各实施例不限于这些示例。
例如,计数器208a-b可分别计数一种或多种特定类型的存储器存取。这种存取的示例包括(但不限于)长持续时间存取、非投机性的存取、和/或其它指令的块执行的存取。
事件计数器208a-b可分别包括标识这种事件的出现的控制逻辑。这种控制逻辑可以硬件、软件和/或固件的任意组合实现。事件标识可基于相应的接口(例如,总线)信号和/或命令的存在而进行。同样,事件标识可通过与外部设备存取相关联的软件指令(或多个软件指令)的执行以及通过等待数据的繁忙环路存在而进行。然而,各实施例不限于这些示例。
因此,事件计数器208a-b中的每一个可生成在前面的(例如,紧接前面的)时间间隔中发生的这种事件的计数。可采用各种时间间隔持续时间。示例性持续时间是1毫秒。如图2所示,事件计数器208a将其计数提供给控制单元204作为计数值220a,而事件计数器208b将其计数提供给控制单元204作为计数值220b。在各实施例中,计数值220a-b可分别通过并行(例如,16位)信号线提供给控制单元204。然而,可替换地采用其它技术。
控制单元204基于处理器核202a-b中的每一个的评估操作效率确立针对处理器核202a-b中的每一个的性能特性。如图2所示,控制单元104包括效率确定模块210a-b和管理模块212。
效率确定模块210a-b分别针对相应的处理器核确定操作效率。更具体地,效率确定模块210a针对处理器核202a确定操作效率,且效率确定模块210b针对处理器核202b确定操作效率。这些效率中的每一个可基于相应的处理器核的性能来确定。
例如,效率确定模块210a可根据计数值220a确定效率度量222a,而效率确定模块210b可根据计数值220b确定效率度量222b。因此,按以上参照图1描述的方式,效率确定模块210a-b可确定效率度量222a和222b使得它们分别与计数值220a和220b成反比。
管理模块212确立处理器核202a-b的操作特性。这可包括确立处理器核202a-b的操作频率和/或电压(例如,P状态)。作为选择或附加,这种特性可包括处理器核102的时钟触发设置。处理器核202a-b的这种操作特性可基于效率度量222a-b来确立。因此,图2示出管理模块212从效率确定模块210a-b接收效率度量222a-b。
在接收这些效率度量后,管理模块212可为每个处理器核202a-b选择对应的操作特性。例如,管理模块212可将指示224a发送到处理器核202a,并将指示224b发送到处理器核202b。这些指示指令处理器核202a-b根据为它们中的每一个选择的操作特性操作。
如以上参照图1所述,处理器核202a-b的操作特性的选择可根据将效率度量222a-b的范围映射到特定操作特性的方案。这种映射可由策略模块214提供。如图2所示,策略模块214可被包括在管理模块212中。同样,如以上参照图1所述,策略模块214可按策略模块114的方式实现。
作为选择或附加,管理模块212可执行处理器核202a和202b的操作特性的协调。协调的示例可以是对核202a和202b两者选择单个频率和电压。此外,管理模块212可执行各种预算分配。这些预算分配技术可包括基于相应的效率度量222a和222b将操作条件按比例分配给处理器核202a和202b中的每一个。然而,可采用其它技术。因此,各实施例可有利地在不同组件之间平衡功率容量。
如上所述,装置200可包括温度传感器216。这种传感器确定装置200的当前操作温度。温度传感器216可按各种方式实现。例如,温度传感器216可包括基于热敏电阻的电路。
如图2所示,温度传感器216可向管理模块212提供指示当前操作温度的信号225。基于该信号,管理模块212可确定在不导致超过最大温度的情况下装置200可处理的附加功耗的量。附加功耗被称为“净空”。
管理模块212可按各种方法确定该附加净空。在各示例性实现中,管理模块212可包括含有预先存储的针对特定温度值(或值的范围)的净空值的查找表。
基于该净空,管理模块212可确定针对处理器核202a-b的操作特性的限值,诸如最大操作频率和/或电压(例如,P状态)。作为选择或附加,可对处理器核202a-b确定时钟触发极限。因此,在确定这种用于指示224a-b的特性时,策略模块214可修改根据效率度量222a-b确定的操作特性,使得它们不会导致所确定的净空被超过。
在一般的操作中,图1和2的实施例标识由于外部限制(例如在外部设备上的等待)引起的低效处理器操作的发生。因此,当标识这种发生时,可选择提供较低功耗(和较差性能)的操作特性。这种特性可包括活动模式状态(例如,较低P状态)。作为选择或附加,这种特性可包括针对核102和/或核202a-b的时钟触发特性。尽管提供较差的性能能力,但所选的特性不会损害实际性能。这是因为在这些时间不需要附加性能能力。
相反,当这种无效操作的出现减少时,可选择导致较高功耗(和较好性能)的操作特性。这种特性可包括活动模式状态(例如,较高P状态)。作为选择或附加,这种特性可包括针对核102和/或核202a-b的时钟触发特性。因此,通过这些技术,可有利地节省功耗。
此外,各实施例可确定可用净空。这种确定可根据温度传感器进行。因此,可基于效率选择操作参数,且还不超过可用净空。
图1和2的特征可以硬件、软件和/或固件的任意组合实现。此外,尽管图1和2示出各自具有单个事件计数器的处理器核,但处理器核可包括多个事件计数器。在这种实现中,多个计数器可计数不同类型事件的发生。因此,各实施例可基于多个计数值确定效率度量。
可参照以下附图和所附示例进一步描述实施例。一些附图可包括逻辑流程。尽管此处呈现的这些附图可包括特定的逻辑流程,但可以认识到,该逻辑流程仅仅提供如何实现如此处所述的一般功能的示例。此外,除非另外指出,否则不一定必须按照所呈现的顺序执行给定的逻辑流程。另外,给定的逻辑流程可由硬件元件、由处理器执行的软件元件或其任意组合来实现。各实施例不限于该上下文。
图3是包括基于效率确定操作特性的示例性逻辑流程300的示图。尽管该图示出特定的顺序,但也可采用其它顺序。同样,可按各种并行和/或顺序的组合执行所描述的操作。
如图3所示,逻辑流程300包括框302,其中生成关于一个或多个处理器组件(例如,一个或多个处理器核)的事件数据。例如,这可包括针对每个处理器组件确定其中处理器组件等待来自设备的相应事件发生的数目。
在框304,根据事件数据确定处理组件的效率度量。参照图1,这可包括通过效率确定模块110生成效率度量122。同样,在图2的上下文中,这可包括分别通过效率确定模块210a和210b生成效率度量222a和222b。
基于效率度量,在框306为每个处理器组件选择操作特性。如以上参照图1和2所述,这种特性可包括针对一个或多个处理器组件的每一个的操作频率和/或电压(例如,P状态)。作为选择或附加,这些特性可包括针对一个或多个处理器组件的每一个的时钟触发设置。根据这些选择,一个或多个处理器组件可涉及在框308采用操作特性。
图4是包括作为操作频率函数的性能(例如速度)的曲线的曲线图400。这些图用于例示的目的而非限制。例如,曲线图400包括示出其中处理器的性能随着其操作频率线性提高(因此其功耗增加)的理想性能轮廓线的曲线402。类似地,曲线404示出其中在操作频率增加时处理器性能发生显著提高的轮廓线。
相反,曲线406示出受到外部设备限制的处理器的性能轮廓线。如本文所描述的,这可包括涉及处理器等待来自外部设备的响应的大量发生事件。因此,对于曲线406,频率的增加提供性能的最小(如果有的话)提升。因此,对于该性能轮廓线,一般不期望增加频率。这是因为需要显著的附加功耗来实现小的性能提升。
图5是示例性系统实施例的示图。具体地,图5是示出系统500的示图,其可包括各种元件。例如,图5示出系统500可包括处理器502、芯片集504、输入/输出(I/O)设备506、随机存取存储器(RAM)(诸如动态RAM(DRAM))508和只读存储器(ROM)510。这些元件可以硬件、软件、固件或其任何组合实现。然而,各实施例不限于这些元件。
如图5所示,I/O设备506、RAM 508和ROM 510可作为芯片集504耦合到处理器502。芯片集504可通过总线512耦合到处理器502。因此,总线512可包括多条线。
处理器502可以是包括一个或多个核的中央处理单元。因此,处理器502可进入诸如一个或多个活动模式P状态的各种操作状态。因此,处理器502可包括以上参照图1-3描述的特征。例如,处理器502可包括装置100的元件和/或装置200的元件。
因此,在各实施例中,处理器504的操作特性(例如,P状态)可基于其等待来自外部设备的响应的事件来确立。这种外部设备的示例包括(但不限于)芯片集504、I/O设备506、RAM 508和ROM 510。
在此已阐明了许多具体细节以提供对这些实施例的透彻理解。然而,本领域技术人员将会理解,可在没有这些具体细节的情况下实施这些实施例。在其它实例中,未对公知操作、组件和电路进行详细描述以免混淆这些实施例。可以认识到,在此公开的特定的结构细节和功能细节可以是代表性的而不一定限制这些实施例的范围。
可使用硬件元件、软件元件或两者的组合来实现各种实施例。硬件元件的示例可包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微型芯片、芯片集等。软件的示例可包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、进程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、数值、符号或其任意组合。确定是否使用硬件元件和/或软件元件来实现一实施例可根据任意数量的因素而变化,诸如期望计算速率、功率电平、热容限、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其它设计或性能约束。
可使用表达“耦合的”和“连接的”及其派生词对一些实施例进行描述。这些术语并不旨在作为彼此的同义词。例如,可使用术语“连接的”和/或“耦合的”对一些实施例进行描述,以指示两个或更多的元件彼此直接物理或电接触。然而,术语“耦合的”也可指两个或更多的元件彼此并不直接接触,但是它们仍然彼此协作或交互。
一些实施例可例如使用可储存指令或指令集的机器可读介质或制品来实现,这些指令或指令集在由机器执行时可使该机器根据这些实施例执行一方法和/或操作。例如,这种机器可包括任何合适的处理平台、计算平台、计算设备、处理设备、计算系统、处理系统、计算机、处理器等,并且其可通过使用硬件和/或软件的任何合适组合来实现。例如,机器可读介质或制品可包括任何合适类型的存储器单元、存储器设备、存储器制品、存储器介质、存储设备、存储制品、存储介质和/或存储单元,例如,存储器、可移动或不可移动介质、可擦除或不可擦除介质、可写或可重写介质、数字或模拟介质、硬盘、软盘、压缩盘只读存储器(CD-ROM)、可录压缩盘(CD-R)、可重写压缩盘(CD-RW)、光盘、磁性介质、磁光介质、可移动存储卡或盘、各种类型的数字通用盘(DVD)、带、带盒等。指令可包括任何合适类型的代码,诸如源代码、编译代码、解释代码、可执行代码、静态代码、动态代码、加密代码等,这些代码通过使用任何合适的高级、低级、面向对象的、可视的、编译的和/或解释的编程语言来实现。
尽管以专用于结构特征和/或方法动作的语言描述了主题,但是应当理解,所附权利要求书中限定的主题并不一定限于上述特定特征或动作。相反,上述特定特征和动作是作为实现这些权利要求的示例形式而公开的。

Claims (18)

1.一种用于调节处理器性能的装置,包括:
计数器,用于确定事件发生的数目,其中每个事件发生包括处理器组件等待来自包括所述处理器组件的处理器的外部的设备的响应,其中所述事件发生包括由于外部限制而发生的低效率处理器操作;
效率确定模块,用于基于所述事件发生的数目确定效率度量;以及
管理模块,用于针对所述处理器组件确立一个或多个操作特性,所述操作特性对应于所述效率度量,其中所述计数器、所述效率确定模块以及所述管理模块被安排为所述处理器的一部分或在所述处理器中执行,所述管理模块用于基于低效率处理器操作的出现减少而选择导致更高功耗和更高性能的操作特性。
2.如权利要求1所述的装置,其特征在于,所述一个或多个操作特性包括频率和电压电平。
3.如权利要求1所述的装置,其特征在于,所述一个或多个操作特性包括P状态。
4.如权利要求1所述的装置,其特征在于,所述数目的事件发生是在特定的时间间隔中发生的。
5.如权利要求1所述的装置,其特征在于,包括用于测量时间间隔的计时器,所述管理模块用于限制所述时间间隔内对所述处理器组件确立的操作特性数目。
6.如权利要求1所述的装置,其特征在于,还包括用于接收用户偏好信息的用户偏好接口,所述管理模块用于根据所述效率度量和所述用户偏好信息确立针对所述处理器组件的一个或多个操作特性。
7.如权利要求1所述的装置,其特征在于,所述事件发生包括一个或多个外部存储器通信或输入/输出通信。
8.如权利要求1所述的装置,其特征在于,所述操作特性在所述效率确定模块和所述管理模块之间进行协调。
9.如权利要求1所述的装置,其特征在于,包括用于向所述管理模块提供指示当前操作温度的信号的温度传感器,所述管理模块用于基于所述信号确定可用净空并基于所述效率度量和所述可用净空确立一个或多个操作特性。
10.如权利要求1所述的装置,其特征在于,所述管理模块:
当所述效率度量指示所述处理器组件的增加效率时对所述处理器组件确立增加的操作频率;以及
当所述效率度量指示所述处理器组件的降低效率时对所述处理器组件确立降低的操作频率。
11.一种用于调节处理器性能的方法,包括:
确定事件发生的数目,其中处理器组件等待来自包括所述处理器组件的处理器外部的设备的响应,其中所述事件发生包括由于外部限制而发生的低效率处理器操作;
基于所述事件发生的数目对处理器组件确定效率度量;
为所述处理器组件选择一个或多个操作特性,包括基于低效率处理器操作的出现减少而选择导致更高功耗和更高性能的操作特性;
其中所述一个或多个操作特性对应于所述效率度量,且其中由所述处理器完成确定和选择。
12.如权利要求11所述的方法,其特征在于,选择所述一个或多个操作特性包括选择P状态。
13.如权利要求11所述方法,其特征在于,选择所述一个或多个操作特性包括:
当所述效率度量指示所述处理器组件的增加效率时为所述处理器组件选择增加的操作频率;以及
当所述效率度量指示所述处理器组件的降低效率时为所述处理器组件选择降低的操作频率。
14.如权利要求11所述的方法,其特征在于,所述事件发生包括一个或多个外部存储器通信或输入/输出通信。
15.如权利要求11所述方法,其特征在于,所述效率度量基于应用的应用历史。
16.一种用于调节处理器性能的装置,包括
两个或多个处理器核;以及
控制模块,用于基于两个或多个处理器核中的每一个的操作效率确定针对所述两个或多个处理器核的每一个的操作特性,其中所述控制模块用于基于事件发生的数目来确定每一个操作效率,在事件发生中相应的处理核等待来自包括所述两个或多个处理器核以及所述控制模块的处理器的外部的设备的响应,其中所述事件发生包括由于外部限制而发生的低效率处理器操作,并且所述控制模块用于基于低效率处理器操作的出现减少而确定导致更高功耗和更高性能的操作特性。
17.如权利要求16所述的装置,其特征在于,所述确定的操作特性包括针对所述两个或多个处理器核的操作频率或时钟触发。
18.如权利要求16所述的装置,其特征在于,所述两个或多个处理器核和所述控制模块被包括在中央处理单元(CPU)中。
CN200910141605.1A 2008-05-16 2009-05-15 操作特性的基于效率的确定 Expired - Fee Related CN101604199B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/122,221 2008-05-16
US12/122,221 US20090327656A1 (en) 2008-05-16 2008-05-16 Efficiency-based determination of operational characteristics

Publications (2)

Publication Number Publication Date
CN101604199A CN101604199A (zh) 2009-12-16
CN101604199B true CN101604199B (zh) 2014-04-09

Family

ID=40833857

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910141605.1A Expired - Fee Related CN101604199B (zh) 2008-05-16 2009-05-15 操作特性的基于效率的确定

Country Status (7)

Country Link
US (1) US20090327656A1 (zh)
JP (1) JP2009277228A (zh)
KR (1) KR101155757B1 (zh)
CN (1) CN101604199B (zh)
DE (1) DE102009019824A1 (zh)
GB (1) GB2459968B (zh)
TW (1) TW201001292A (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5182792B2 (ja) * 2007-10-07 2013-04-17 アルパイン株式会社 マルチコアプロセッサ制御方法及び装置
GB201008785D0 (en) 2009-12-18 2010-07-14 Univ Gent A counter architecture for online dvfs profitability estimation
JP5668505B2 (ja) * 2011-02-03 2015-02-12 富士通株式会社 クロック周波数制御プログラム、クロック周波数制御装置
US8533512B2 (en) 2011-02-10 2013-09-10 International Business Machines Corporation Dynamic power and performance calibration of data processing systems
US9021473B2 (en) 2011-03-14 2015-04-28 International Business Machines Corporation Hardware characterization in virtual environments
CN103959196A (zh) * 2011-11-21 2014-07-30 英特尔公司 用于性能改善的可重配置图形处理器
WO2013101189A1 (en) * 2011-12-30 2013-07-04 Intel Corporation Multi-level cpu high current protection
US8972759B2 (en) 2012-06-29 2015-03-03 Qualcomm Incorporated Adaptive thermal management in a portable computing device including monitoring a temperature signal and holding a performance level during a penalty period
KR101961318B1 (ko) 2012-09-07 2019-07-17 삼성전자주식회사 중앙처리장치에서의 점유시간을 최소화하는 방어코드 운영 방법 및 그에 따른 메모리 시스템
CN102929383A (zh) * 2012-11-06 2013-02-13 山东大学 一种通过cpu动态调频技术降低嵌入式系统功耗的方法
US9087146B2 (en) * 2012-12-21 2015-07-21 Intel Corporation Wear-out equalization techniques for multiple functional units
US10353765B2 (en) * 2013-03-08 2019-07-16 Insyde Software Corp. Method and device to perform event thresholding in a firmware environment utilizing a scalable sliding time-window
US10242652B2 (en) 2013-06-13 2019-03-26 Intel Corporation Reconfigurable graphics processor for performance improvement
US9354930B2 (en) * 2014-04-11 2016-05-31 Telefonaktiebolaget Lm Ericsson (Publ) Scheduling of global voltage/frequency scaling switches among asynchronous dataflow dependent processors
US9864667B2 (en) 2015-09-25 2018-01-09 Intel Corporation Techniques for flexible and dynamic frequency-related telemetry
CN105573961B (zh) * 2015-12-10 2019-04-05 中国航空工业集团公司西安航空计算技术研究所 综合核心处理机系统分布式多处理器识别方法
US11399720B2 (en) 2016-04-05 2022-08-02 Qulacomm Incorporated Circuits and methods providing temperature mitigation for computing devices
US10437313B2 (en) 2016-06-10 2019-10-08 Apple Inc. Processor unit efficiency control
US10303575B2 (en) * 2017-01-10 2019-05-28 International Business Machines Corporation Time-slice-instrumentation facility
DE102017128711A1 (de) 2017-05-24 2018-11-29 Tu Dresden Mehrkernprozessor und Verfahren zur dynamischen Einstellung einer Versorgungsspannung und einer Taktfrequenz
US11514551B2 (en) 2020-09-25 2022-11-29 Intel Corporation Configuration profiles for graphics processing unit

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5564015A (en) * 1994-05-12 1996-10-08 Ast Research, Inc. CPU activity monitoring through cache watching

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5218704A (en) * 1989-10-30 1993-06-08 Texas Instruments Real-time power conservation for portable computers
JP2507833B2 (ja) * 1990-12-25 1996-06-19 三菱電機株式会社 マイクロコンピュ−タ
WO1993012480A1 (en) * 1991-12-17 1993-06-24 Compaq Computer Corporation Apparatus for reducing computer system power consumption
US5586332A (en) * 1993-03-24 1996-12-17 Intel Corporation Power management for low power processors through the use of auto clock-throttling
US6378081B1 (en) * 1998-10-01 2002-04-23 Gateway, Inc. Power conservation without performance reduction in a power-managed system
US20030056123A1 (en) * 2001-09-19 2003-03-20 Hsieh Kuang Hsun Power management method for hand-held information processing apparatus
US6898718B2 (en) * 2001-09-28 2005-05-24 Intel Corporation Method and apparatus to monitor performance of a process
US6983389B1 (en) * 2002-02-01 2006-01-03 Advanced Micro Devices, Inc. Clock control of functional units in an integrated circuit based on monitoring unit signals to predict inactivity
US20050071688A1 (en) * 2003-09-25 2005-03-31 International Business Machines Corporation Hardware CPU utilization meter for a microprocessor
US7430672B2 (en) * 2004-10-27 2008-09-30 Intel Corporation Method and apparatus to monitor power consumption of processor
US7386737B2 (en) * 2004-11-02 2008-06-10 Intel Corporation Method and apparatus to control temperature of processor
US7814485B2 (en) * 2004-12-07 2010-10-12 Intel Corporation System and method for adaptive power management based on processor utilization and cache misses
US7461272B2 (en) * 2004-12-21 2008-12-02 Intel Corporation Device, system and method of thermal control
KR100663864B1 (ko) * 2005-06-16 2007-01-03 엘지전자 주식회사 멀티-코어 프로세서의 프로세서 모드 제어장치 및 방법
US7882379B2 (en) * 2006-09-22 2011-02-01 Sony Computer Entertainment Inc. Power consumption reduction in a multiprocessor system
US7818596B2 (en) * 2006-12-14 2010-10-19 Intel Corporation Method and apparatus of power management of processor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5564015A (en) * 1994-05-12 1996-10-08 Ast Research, Inc. CPU activity monitoring through cache watching

Also Published As

Publication number Publication date
CN101604199A (zh) 2009-12-16
JP2009277228A (ja) 2009-11-26
GB2459968A (en) 2009-11-18
KR101155757B1 (ko) 2012-06-12
GB0908132D0 (en) 2009-06-24
TW201001292A (en) 2010-01-01
US20090327656A1 (en) 2009-12-31
DE102009019824A1 (de) 2009-11-26
GB2459968B (en) 2011-03-02
KR20090119745A (ko) 2009-11-19

Similar Documents

Publication Publication Date Title
CN101604199B (zh) 操作特性的基于效率的确定
CN103201703B (zh) 用于控制处理节点中的功率消耗的机构
CN103946765B (zh) 协同处理器以及系统性能和功率管理
CN100432892C (zh) 用于热控制的确定性功率估计的装置与方法
CN102033596B (zh) 用于多核心处理器的低功率操作的方法和装置
CN102971687B (zh) 管理多个分立操作点以产生稳定虚拟操作点的方法及计算系统
EP3751443A1 (en) Dynamic power consumption estimation method, device and system
CN107346163A (zh) 服务器机架电力管理
CN102027430B (zh) 管理计算机的功耗的方法和装置
US8112250B2 (en) Processor power management
CN101578565A (zh) 用于在信息处理系统中对处理器进行功率抑制的方法和设备
CN105404525A (zh) 管理计算机系统中的基本输入输出系统配置的方法及装置
EP3367538B1 (en) Smart power supply management for high standby power system
CN103827773A (zh) 建立低功耗计算机系统的方法和系统
CN104204825A (zh) 动态测量处理器中的功耗
CN110058976A (zh) 集成电路的热管理
CN104321716A (zh) 使用装置空闲持续时间信息来优化能量效率
CN111694385A (zh) 加热控制方法、加热装置及计算机存储介质
CN102597911B (zh) 通过主动平台功耗管理的ac适配器最小化
CN108958429A (zh) 一种散热控制方法、系统及设备和存储介质
CN102103401A (zh) 用于利用时间交织电压调制进行功率分布整形的方法和装置
CN105871760A (zh) 交换机的温度控制方法及装置
US8806254B2 (en) System and method for creating and dynamically maintaining system power inventories
CN107919143A (zh) 固态存储设备及其温度控制方法
CN104798042B (zh) 基于工作量可伸缩性来管理性能策略

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140409

Termination date: 20200515

CF01 Termination of patent right due to non-payment of annual fee