CN103946765A - 协同处理器以及系统性能和功率管理 - Google Patents
协同处理器以及系统性能和功率管理 Download PDFInfo
- Publication number
- CN103946765A CN103946765A CN201180075003.6A CN201180075003A CN103946765A CN 103946765 A CN103946765 A CN 103946765A CN 201180075003 A CN201180075003 A CN 201180075003A CN 103946765 A CN103946765 A CN 103946765A
- Authority
- CN
- China
- Prior art keywords
- performance
- equipment
- register
- platform
- level
- 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.)
- Granted
Links
- 230000006399 behavior Effects 0.000 claims description 4
- 238000013459 approach Methods 0.000 claims description 2
- 238000007726 management method Methods 0.000 description 36
- 230000008859 change Effects 0.000 description 9
- 238000012512 characterization method Methods 0.000 description 6
- 238000000034 method Methods 0.000 description 5
- 230000033228 biological regulation Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 101150039033 Eci2 gene Proteins 0.000 description 3
- 102100021823 Enoyl-CoA delta isomerase 2 Human genes 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000000452 restraining effect Effects 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000004134 energy conservation Methods 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/28—Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3409—Recording 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3447—Performance evaluation by modeling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
- G06F15/7871—Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/06—Power analysis or power optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/501—Performance criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
- G06F9/384—Register renaming
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Power Sources (AREA)
- Stored Programmes (AREA)
- Information Transfer Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及平台功率管理方案。在一些实施例中,平台使用要由OSPM系统请求的一个或多个参数来提供相对性能标度。
Description
技术领域
本发明大体上涉及计算系统并且特别地涉及平台功率和性能管理方法和系统。
背景技术
该申请要求2011年11月22日提交的美国临时专利申请号61563030的权益并且通过引用而合并于此。
附图说明
本发明的实施例在附图的图中通过示例而非限制的方式图示,在图中类似的标号指示相似的要素。
图1是根据一些实施例示出具有OSPM(OS指导的配置和功率管理)的计算平台的图。
图2示出根据一些实施例用于ACPI实现的处理器性能状态图。
图3是根据一些实施例示出具有OSPM的平台的图,其图示OSPM可以与该平台通信来管理性能的不同方式。
图4示出根据一些实施例用于促进灵活的功率管理方案的平台的一般例程。
图5示出根据一些实施例可在功率管理寄存器(register)接口中实现的功率管理寄存器。
图6示出根据一些实施例的相对性能水平标度。
图7是根据一些实施例示出可用于控制处理器参数的若干性能控制设置的图表。
图8示出根据一些实施例用于灵活功率管理接口(在ACPI中限定的CPPC接口)的示范性封装的定义代码。
具体实施方式
图1是示出具有基于OSPM(OS指导的配置和功率管理)的操作系统(在下文简单地,OS)的计算平台的图。OSPM方案可包括任何适合的功率管理系统、接口和/或便于接口实现计算平台中的处理器的操作系统(OS)指导的功率管理的规范。这样的OSPM方案包括但不限于ACPI(高级配置和功率接口)规范实现。
在图1中,存在执行操作系统(OS)110的硬件平台130(例如,平板电脑、便携式PC、服务器),该操作系统110除其他事情外还通过基于OSPM的功率管理接口120来实现OSPM。平台130包括平台硬件132和BIOS 134。OS包括如示出的那样耦合的核112、OSPM系统114、设备驱动器116和功率管理接口驱动器118。OSPM接口120代表共同接口空间,其包括共同寄存器接口空间。它大体上可包括功率管理寄存器122、BIOS接口数据结构124和/或一个或多个功率管理表126。这些功率管理接口部件可由OSPM例如通过功率管理驱动器118访问,用于写入和读取对于平台硬件的功率管理数据(例如,写入控制数据和读取能力和反馈数据)。
图2示出根据ACPI实现的实施例的处理器性能状态图。(注意,为了方便,本公开呈现主要使用ACPI作为示范性实现的功率管理概念,但本发明不这样受限制)。对处理器的主要OSPM控制是处理器功率状态(C0、C1、C2、C3、…Cn)、处理器时钟节制(processor clock throttling)和处理器性能状态。如本文使用的处理器性能状态(Px)包含传统的Pn状态(像P0、P1等)和CPPC(协作处理器性能控制)性能控制(在下文关于本发明论述)。这些控制可组合地由OSPM使用来实现有时冲突的目标(包括性能、功耗和电池寿命、热要求和噪声级要求)的期望平衡。因为目标彼此相互作用,操作软件需要实现关于何时以及在哪里在目标之间做出权衡的策略。
ACPI将系统处理器在G0工作状态2时的功率状态限定为活动(执行)或睡眠(不执行)。指示处理器功率状态为C0、C1、C2、C3、…Cn。C0功率状态是活动功率状态,其中CPU执行指令。C1至Cn功率状态是处理器睡眠状态,其中处理器比使处理器处于C0状态消耗更少的功率和耗散更少的热。尽管处于睡眠状态,处理器大体上将不执行指令。
在过去,处理器性能控制(Pn状态控制)具有从处理器频率(其大体上对应于处理器性能能力)方面主要受影响的处理器性能。OSPM将做出性能状态请求(例如,具有特定频率选择的P0),并且它可以预期处理器对它提供某一操作频率或频率范围。然而,已经意识到频率不一定与处理器可以执行的工作量成比例(尤其对于所有场景)。即,尽管处理器频率是处理器完成工作所采用的速度的粗略近似,不保证工作负荷性能用频率来定标。因此,CPPC(协作处理器性能控制)将确切的性能度量的定义留给平台,而不是对处理器性能规定特定度量。
平台例如可选择使用例如处理器频率等单个度量,或它可选择使多个硬件度量(例如,频率、时间、指令速率等)混合来创建性能的合成度量。这样,平台至少持续一段时间地更自由地交付OSDM请求的性能水平而不一定交付特定处理器频率。这例如允许它满足OSPM预期并且同时实现更有效的功率节省。
协同处理器性能控制(CPPC)对OSPM限定抽象且灵活的机制来与平台中的实体协作以管理处理器的性能。在该方案中,平台实体负责创建并且维持支持连续(或至少半连续)性能标度(例如,无单位的性能标度)的性能定义。在运行时间期间,OSPM请求在该标度上的性能(例如,它请求来自0与2000之间、1与100之间或无论什么的值),并且平台实体负责将OSPM性能请求转化成实际硬件性能状态。
在一些实施例中,OSPM应未假定平台所呈现的性能值的确切含义或它们如何可与特定硬件度量(像处理器频率)相关。相反,OSPM可例如在启动时或处理器热插拔时运行特征化例程来评估在具有可用性能值的特定平台标度上的所提供的性能(例如,频率或基准、处理速率,等)。
参考图3,用于实现对于OSPM的功率管理接口来控制平台功率管理系统的控制结构(例如,寄存器)可采用任何适合的方式进行。例如,控制方法可由存储器映射的IO或用例如MSR(模型特定寄存器)等特定物理寄存器、其他总线或传输上(例如,在SMBus、PECI接口、平台通信通道等上)的寄存器、虚拟寄存器或类似物来实现。(注意MSR典型地不是存储器空间的一部分,而相反,例如可在例如具有一个或多个指令来读取/写入它的处理器寄存器等硬件中)。这提供足够的灵活性使得OS可以与处理器本身、平台芯片集或单独实体(例如,基板管理控制器)通信。
图3是示出具有OSPM的平台的图,其图示OS可以与平台通信来管理性能的这些不同的方式。在该实施例中,处理器305具有MSR 307、功率管理单元(PCU)309、核频率和VID控制311以及用于控制性能和功耗的MSR/PECI接口313。OS 330通过它的基于ACPI的功率管理系统(它的基于ACPI的OSPM)来管理平台的功率和性能。硬件平台(HWP)接口320便于OS与平台处理器305之间的通信,由此使OS能够监管处理器功率管理。(注意MSR/PECI接口313可以视为HWP接口320的一部分,但为了方便而被单独示出,可以耦合于可选的BMC连接)。
参考图4和5,将描述用于使用功率管理接口寄存器(可被平台和OS两者访问)来实现灵活的功率管理方案的一般方法。图4示出根据一些实施例的用于平台促进灵活的功率管理方案的一般例程402。图5示出功率管理寄存器,其可在PM寄存器空间122(来自图1)或采用任何其他适合的方式实现。接口寄存器包括一个或多个能力寄存器502、一个或多个控制寄存器504和一个或多个反馈寄存器506。
能力寄存器502一般用于指示要由OS读取使得它可以确定如何管理功率和性能的性能标度参数、能力、阈值等。控制寄存器504一般由OSPM写入来指示来自平台处理器的请求/期望的性能连同管理约束。最后,反馈寄存器506指示例如要由OS读取使得它可以确定交付的性能是否充分接近请求/期望的性能的交付性能(估计或测量/监视的性能)参数。
参考例程402,初始在404,性能能力加载到能力寄存器内。这可牵涉例如从BIOS存储器传输到能力寄存器或从任何其他适合的地方传输的数据,或寄存器可已经在制造步骤期间例如使用熔丝或类似物来加载。这些能力可以指示抽象性能标度范围、阈值(例如保证的vs.非保证阈值)和其他参数。在406,(例如在控制寄存器已经由OSPM写入后),平台从控制器寄存器读取控制值。在408,平台然后(例如,通过PCU或相似的单元)控制处理器以试图在给出约束的情况下提供请求的性能。如将特别关于ACPI实现而在下文更多解决的那样,它可(如果在非保证范围中)或它将(如果适当可能的话)(如果在保证范围中但没有任何首要约束,例如热)提供请求的性能。这可以意指在指定一段时间内在指定的容限(tolerance)内提供平均性能水平。
根据ACPI规范以及根据一些实施例,可使用CPC(连续性能控制)对象(ACPI中的_CPC对象或任何其他适合的对象)。该对象可宣告基于可允许值的连续范围而允许OSPM将处理器转变到性能状态的接口。OS可将期望的性能值写入性能水平(例如,ACPI中的“期望性能寄存器”),并且平台然后将请求的性能水平映射到内部性能状态。
表1(以及图8,CPC对象)示出对于该CPC接口的示范性封装。
。
_CPC对象所传达的寄存器对OSPM提供平台特定性能能力/阈值的OSPM和OSPM使用的用于控制的控制寄存器以及平台的处理器性能设置。这些进一步在下面的章节中描述。表2便利地列出由CPC对象提供的以供OS使用来管理平台功率和性能的寄存器。
存在不同的寄存器类型,其包括能力/阈值寄存器、控制寄存器和反馈寄存器。能力/阈值寄存器指示对于考虑中的处理器的可用性能参数。它们可直接被填充,或由处理器OEM或由与处理器的功率/性能能力关联的一些其他合适的实体间接填充。控制寄存器可由OS填充以便它通过请求来自平台的性能参数而控制性能,并且反馈寄存器将来自平台的性能数据提供给OS使得它可以确定期望和/或预期的性能是否被交付(但注意这是性能的处理器本地定义-如同询问-你给出我所要求的性能了吗?)。可存在其他寄存器,其也可被寻址。表2列出在ACPI实现中使用的寄存器中的一些。
。
图6示出根据一些实施例的相对性能水平标度。基于性能的控制在连续范围的处理器性能水平上操作,而不是分立的处理器状态。因此,平台能力和OS请求可从性能阈值方面来规定。图6通过图表图示对于平台的这些性能阈值。它们也在下文论述。(注意不是所有的性能水平都必须是唯一的。例如,平台的标称性能水平还可以是它的最高性能水平。另外,尽管平台可在可允许范围内规定寄存器大小,能力/阈值寄存器的大小应与控制寄存器的大小一致(进一步在下文论述)。此外,在一些实施例中,如果平台支持CPPC,CPC对象应在所有处理器对象下存在。即,可预期OSPM不支持混合模式,例如同时对于平台中的所有处理器的CPPC和遗留PSS)。
最高性能阈值(性能值=N)可能是个体处理器可达到的最大性能(假设理想条件)。该性能水平可不能持续长的持续时间,并且可仅在其他平台部件处于特定状态时能实现;例如,它可要求其他处理器处于空闲状态。标称性能是处理器的最大持续性能水平(假设理想操作条件)。在缺乏外部约束(功率、热等)的情况下,这是预期平台能够持续维持的性能水平。预期所有处理器能够同时维持它们的标称性能。
“最低标称”性能水平是实现非线性功率节省时的最低性能水平,即有意义的功率节省可从电压和频率定标来获得。在该阈值以上,较低的性能水平应大体上比较高的性能水平更节能。在传统方面,这代表性能水平的P状态范围。“最低”性能水平是平台的绝对最低性能水平。选择比最低非线性性能水平要低的性能水平典型地将降低处理器的瞬时功耗。在传统方面,这代表性能水平的T状态范围。
保证的性能寄存器将保证的性能水平传达给OSPM,该保证的性能水平是在考虑已知的外部约束(功率预算、热约束、AC vs DC电源等)情况下处理器的当前最大持续性能水平。预期处理器能够同时维持它们的保证性能水平。需要保证的性能水平落在最低性能水平与标称性能水平之间的范围(包括最低性能水平和标称性能水平)内(图9)。
在一些实施例中,如果未实现该寄存器,则假设保证性能等于标称性能。如果使用该寄存器,OSPM可重新评估保证性能寄存器。因此,平台可有效改变标称水平,并且从而,改变保证的性能阈值。(在一些方案(例如ACPI 5规范)中,对保证性能的改变不应比每秒一次更频繁。如果平台不能在持续的一段时间(大于一秒)期间保证给定的性能水平,它应保证较低的性能水平并且投机地进入OSPM请求的并且被当前操作条件允许的较高性能水平。
参考图7,具有OSPM的OS可以将若干性能设置结合使用以控制平台的性能。OS可选择平台所支持的连续范围值内的任何性能值。在内部,平台可实现少量的分立性能状态并且可以不能以OS期望的确切性能水平操作。如果不存在与OS的期望性能水平匹配的平台内部状态,平台可例如使期望的性能如下那样舍入:如果OS已经选择大于或等于保证性能的期望性能水平,平台可上舍入或下舍入。舍入的结果应不小于保证性能。如果OS已经选择小于保证性能的期望性能水平和不小于保证性能的最大性能水平,平台应上舍入。如果OS已经选择均小于保证性能的期望性能水平和最大性能水平两者,平台应上舍入(如果上舍入不违背最大性能水平)。否则,下舍入。如果OS选择设置小于保证性能的最大性能水平,则它应容许平台下舍入。(该方法有利于性能,但在性能已经由于平台或OS约束而受到限制的情况下除外)。
现在将描述控制寄存器中的一些。OS可为了期望的性能将适合的值写入它们。最大性能寄存器传达平台可运行的绝对最大瞬时性能水平。最大性能可设置成在从最低性能至最高性能之间的范围(包括最低性能和最高性能)内的任何性能值。
该寄存器是可选的,但平台应实现最小性能和最大性能寄存器两者或未实现任一寄存器。如果两个寄存器都未被实现,平台应交付期望的性能。
最大性能寄存器传达平台可运行的绝对最小瞬时性能水平。最小性能可设置成在从最低性能至保证性能阈值之间的范围(包括最低性能和保证性能阈值)内的任何性能值。最小性能水平不应设置成高于最大性能水平的值。
最小性能寄存器也是可选的,但平台应实现最小性能和最大性能寄存器两者或未实现任一寄存器。如果两个寄存器都未被实现,平台应交付期望的性能。
期望的性能寄存器传达OS从平台请求的性能水平。期望的性能可设置成在最小与最大性能水平之间的范围(包括最小和最大性能水平)内的任何性能值。期望的性能可根据期望的性能是在保证性能水平以上还是以下而取两个含义中的一个。
在保证的性能水平以下,期望的性能表达平台应提供的平均性能水平(服从性能降低容限)。在保证的性能水平以上,平台应提供保证性能水平。如果当前操作条件允许的话,平台应尝试提供多达期望的性能水平,但不要求这么做。
时间窗口寄存器允许OSPM指示平台应提供期望的性能水平(服从性能降低容限)所在的时间窗口。OSPM在选取新的期望性能时设置时间窗口。时间窗口代表对于平台的交付性能的OSPM评估的最小持续时间。如果OSPM在比规定的时间间隔要小的间隔上评估交付性能,它不应对平台所交付的性能抱有期望。另一方面,对于等于或大于该时间窗口的评估间隔,平台应在规定的容限界限内交付OS期望的性能。
如果OS规定具有零的时间窗口或如果平台不支持时间窗口寄存器,平台应在性能降低容限的界限内交付性能而不管评估间隔的持续时间如何。
性能降低容限寄存器由OS使用来传达被容许的期望性能以下的偏离。这由OS表达为关于性能标度的绝对值。性能容限应小于或等于期望的性能。如果平台支持时间窗口寄存器,性能降低容限传达在时间窗口上可平均交付的最小性能。另一方面,如果时间窗口寄存器未被实现,平台应假设性能降低容限对应于瞬时期望性能的容限。
平台经由性能计数器集合提供性能反馈,和性能受限的指标,其可在反馈寄存器(例如如在表2中列出的)中实现。
为了确定随时间交付的实际性能水平,OS可从标称计数寄存器和交付计数寄存器读取一组性能计数。OS通过取标称和交付性能计数器两者的开始和结束快照并且计算以下而计算在给定时间段上的交付性能:
。
交付性能应落在最低与最高性能之间的范围(包括最低和最高性能)内。OS可使用交付的性能计数作为用于限定它选择的期望性能状态的反馈机构。
存在管理由平台交付的性能如何以及何时可偏离OS期望的性能的约束。对应于OSPM设置,期望的性能:在此之后的任何时间,对交付性能的下列约束可适用。如果平台能够与如果它交付期望性能的情况相比以相同的或较低的能量来交付较高的性能,交付性能可以高于OSPM请求的期望性能。如果平台具有分立性能状态并且需要根据在OS控制章节中规定的算法使性能下舍入到最近支持的性能水平,交付的性能可高于或低于OSPM期望的性能。如果平台的效能优化引起交付性能小于期望性能,交付的性能可低于OS期望的性能。然而,交付的性能应大体上不低于OSPM规定的。
性能下降容限对平台提供在优化性能交付时它可以有多么积极的界限。平台不应执行任何将引起交付性能低于OS规定的性能下降容限的优化。
标称计数寄存器在处理器活动的任何时候以固定速率计数。它不受对期望性能、处理器节制等的改变的影响。
交付性能计数器在处理器活动的任何时候在考虑对期望性能的改变的情况下以与当前性能水平成比例的速率递增。当处理器在它的标称性能水平操作时,交付性能计数器以与标称性能计数器相同的速率递增。
计数器回绕时间为平台提供用于规定标称/交付性能计数器的翻转时间(rollover time)的方式。如果在OSPM询问反馈计数器之间的经过时间大于该时间段,则计数器可以在OSPM未能检测到它们这样做的情况下回绕。如果未被实现(或零),性能计数器假设在平台的寿命期间不回绕。
利用保证性能寄存器,平台指示对它可以交付的性能的可预测限制。在平台由于不可预测事件而必须使交付性能约束为小于期望性能(或如果期望性能大于保证性能则要小于保证性能)的情况下,平台将性能受限的指标设置成非零值。这向OS指示不可预测的事件具有受限的处理器性能,并且交付性能可小于期望性能。性能受限的指标是无变化的,并且将保持非零直到OS通过将0写入寄存器而清除它。
性能受限的寄存器应仅用于报告短期、不可预测事件(例如,断言PROCHOT)。如果平台能够识别限制处理器性能的更长期、可预测事件,它应使用保证的性能极限来通知OS该限制。对保证性能的改变不应比每秒一次更频繁。如果平台不能在持续时间段(大于一秒)期间保证给定性能水平,它应保证较低的性能水平并且投机地进入如由OS请求并且被当前操作条件允许的较高性能水平。
使能寄存器是可选的读/写寄存器(长度上是一个或多个位),其可以在PCC或系统I/O空间中-这是在MSR中。如果受到平台支持的话,OS将一写入该寄存器来启用给定处理器上的CPPC。如果未被实现,OS假设平台启用了CPPC。
OS特征化
为了便于OS使用无单位的性能定标接口(给出标度的抽象、相对性质),OS在大部分实施例中应初始使接口交付的工作负荷性能特征化。这可以采用多种方式进行。例如,它可以通过在停用自主平台功率管理特征(例如,在最小和最大极限内单方面改变性能参数来节省功率的能效优化特征)时选择性能范围值而进行。例如,在ACPI实现中关闭它们可以通过将最小、最大和期望输入设置成相同的值或通过将时间窗口设置成零而进行。当然,利用非ACPI实现,用于抑制平台的其他方法可以用于识别性能值中的每个(或典型)对于OS意味着什么。
在一些实施例中,OS在运行特征化工作负荷时在从最低到标称的性能值范围(包括最低和标称)内选择值,并观察工作结果。在其他实施例中,OS选择相同范围(最低至标称)内的值并且读取统计计数器,例如ACPI ACNT和MCNT MSR,其传达逻辑处理器的合成频率。
特征化工作负荷可以是一,其需要最小服务质量来实现期望结果。通过特征化是什么性能值实现最小QoS,OS则稍后可以在每当该类工作负荷活动来确保满足QoS时将该值设置为最小值。否则,例如频率等特征化结果可以被OS在用于性能状态控制(其中基于逻辑处理器的工作负荷(有多忙)来选择性能状态)的基于需求的切换策略的实现中使用。注意可存在几种特征化工作负荷并且这些可以用于确定多个QOS最小值(对应于工作负荷类型)。
在前面的描述和下列权利要求中,下列术语应该解释如下:可使用术语“耦合”和“连接”连同它们的派生词。应该理解这些术语不规定为彼此的同义词。相反,在特定实施例中,“连接”用于指示两个或以上的元件互相直接物理或电接触。“耦合”用于指示两个或以上的元件协作或互相交互,但它们可或可不直接物理或电接触。
本发明不限于描述的实施例,而可以在附上的权利要求的精神和范围内以修改和更改来实践。例如,应意识到本发明能适用于与所有类型的半导体集成电路(“IC”)芯片一起使用。这些IC芯片的示例包括但不限于处理器、控制器、芯片集部件、可编程逻辑阵列(PLA)、存储器芯片、网络芯片及类似物。
还应该意识到在图中的一些中,信号导线用线条表示。一些可以更粗来指示更多的组成信号路径、具有数字标签来指示若干组成信号路径和/或在一个或多个末端具有箭头来指示主要的信息流方向。然而,这不应以限制性的方式解释。相反,这样的附加细节可连同一个或多个示范性实施例一起使用以便于更容易地理解电路。任何表示的信号线(无论是否具有额外的信息),实际上可包括可在多个方向上行进的一个或多个信号并且可用任何适合类型的信号方案(例如用差分对实现的数字或模拟线、光纤线和/或单端线)实现。
已经意识到可已经给出示例尺寸/模型/值/范围,但本发明不限于此。当制造技术随时间变成熟时,预期可以制造具有更小尺寸的装置。另外,为了简化说明和论述,并且为了不掩盖本发明,众所周知的通向IC芯片和其他部件的电力/接地连接可或可不在图内示出。此外,设置可采用框图形式示出以便避免掩盖本发明,并且还鉴于关于这样框图设置的实现的细节高度取决于实现本发明所在的平台这一事实,即,这样的细节应该完全在本领域内技术人员的视野内。在阐述具体细节(例如,电路)以便描述本发明的示例实施例的情况下,可以在没有这些具体细节或具有这些具体细节的变化形式的情况下实践本发明,这对本领域内技术人员应该是明显的。从而描述被视为说明性而非限制性的。
Claims (20)
1.一种计算设备,其包括:
处理器;
控制单元,用于通过控制性能设置来管理所述处理器的性能;以及
接口,其在所述设备操作时用于对OS提供一个或多个控制寄存器以用于请求来自在一个或多个能力寄存器中向所述OS指示的可用值的标度中的性能值。
2.如权利要求1所述的设备,其中所述一个或多个控制寄存器包括用于所述OS请求小于或等于期望性能水平的最小性能值的寄存器。
3.如权利要求2所述的设备,其中所述一个或多个控制寄存器包括用于所述OS请求大于或等于所述期望性能水平的最大性能值的寄存器。
4.如权利要求1所述的设备,其中所述性能水平是期望性能水平,并且所述一个或多个控制寄存器包括用于所述OS请求时间窗口的寄存器,在所述时间窗口上的平均性能接近或等于请求的期望性能水平。
5.如权利要求4所述的设备,其中所述一个或多个控制寄存器包括用于所述OS规定容限的容限寄存器,平均期望性能不超出所述容限。
6.如权利要求1所述的设备,其中所述一个或多个控制寄存器用一个或多个MSR来实现。
7.如权利要求1所述的设备,其中所述一个或多个寄存器用存储器映射的I/O来实现。
8.如权利要求7所述的设备,其中存储器映射的IO地址空间包括跨传输协议的地址。
9.如权利要求1所述的设备,其中所述一个或多个寄存器用所述OS中的驱动器实现来仿效接口寄存器。
10.如权利要求1所述的设备,其中所述一个或多个寄存器由所述OS通过BMC来寻址。
11.一种设备,其包括:
计算平台,用于至少基于在OS请求的时间间隔上平均化的OS请求的性能水平来提供性能。
12.如权利要求11所述的设备,其中性能进一步基于OS请求的最小性能水平,其中性能能够瞬时地不降到所述OS请求的最小性能水平以下。
13.如权利要求11所述的设备,其中性能进一步基于OS请求的最大性能水平,性能能够瞬时地不超过所述OS请求的最大性能水平。
14.如权利要求11所述的设备,其中所述平台包括一个或多个寄存器,用于保持所述OS请求的性能和时间间隔。
15.如权利要求14所述的设备,其中所述平台包括一个或多个寄存器,用于向OS指示要请求的可用性能值的标度。
16.如权利要求14所述的设备,其中所述平台包括一个或多个寄存器,用于针对交付性能指示反馈信息。
17.一种设备,其包括:
用于处理器的功率控制电路,用于基于来自可用性能水平的标度的期望性能水平和时间间隔来控制所述处理器所交付的性能,在所述时间间隔上要交付平均为所述期望性能水平,其中所述功率控制电路在适当时降低提供的性能来节省功率同时在所述时间间隔上交付平均期望性能。
18.如权利要求17所述的设备,其中所述功率控制电路总是交付具有至少最小水平并且不超过最大水平的性能。
19.如权利要求18所述的设备,其中所述最小和最大水平要由运行在所述处理器上的操作系统来规定。
20.如权利要求17所述的设备,其中所述功率控制电路是所述处理器的一部分。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161563030P | 2011-11-22 | 2011-11-22 | |
US61/563030 | 2011-11-22 | ||
US61/563,030 | 2011-11-22 | ||
PCT/US2011/068175 WO2013077889A1 (en) | 2011-11-22 | 2011-12-30 | Collaborative processor and system performance and power management |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103946765A true CN103946765A (zh) | 2014-07-23 |
CN103946765B CN103946765B (zh) | 2017-11-17 |
Family
ID=48470182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180075003.6A Active CN103946765B (zh) | 2011-11-22 | 2011-12-30 | 协同处理器以及系统性能和功率管理 |
Country Status (10)
Country | Link |
---|---|
US (14) | US10108433B2 (zh) |
JP (1) | JP6155507B2 (zh) |
KR (3) | KR101763102B1 (zh) |
CN (1) | CN103946765B (zh) |
BR (1) | BR112014012398B1 (zh) |
DE (1) | DE112011105867B4 (zh) |
GB (1) | GB2510091B (zh) |
IN (1) | IN2014CN02785A (zh) |
TW (3) | TWI502505B (zh) |
WO (7) | WO2013077891A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115543055A (zh) * | 2022-11-28 | 2022-12-30 | 苏州浪潮智能科技有限公司 | 电源管理的控制权移交方法、装置、设备和存储介质 |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013077891A1 (en) | 2011-11-22 | 2013-05-30 | Intel Corporation | Collaborative processor and system performance and power management |
US10095295B2 (en) * | 2011-12-14 | 2018-10-09 | Advanced Micro Devices, Inc. | Method and apparatus for power management of a graphics processing core in a virtual environment |
US9026817B2 (en) | 2012-06-29 | 2015-05-05 | Intel Corporation | Joint optimization of processor frequencies and system sleep states |
JP5877533B2 (ja) * | 2013-01-31 | 2016-03-08 | 三菱電機株式会社 | 計算機装置及び計算機装置の制御方法 |
US9696785B2 (en) | 2013-12-28 | 2017-07-04 | Intel Corporation | Electronic device having a controller to enter a low power mode |
US10514942B2 (en) | 2014-02-24 | 2019-12-24 | Red Hat Israel, Ltd. | Using linker scripts for loading system configuration tables |
US9571465B1 (en) | 2014-09-18 | 2017-02-14 | Amazon Technologies, Inc. | Security verification by message interception and modification |
KR102261815B1 (ko) * | 2014-10-30 | 2021-06-07 | 삼성전자주식회사 | 펌웨어 업데이트 시간을 줄일 수 있는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템 |
US9720827B2 (en) * | 2014-11-14 | 2017-08-01 | Intel Corporation | Providing multiple memory modes for a processor including internal memory |
US10126950B2 (en) * | 2014-12-22 | 2018-11-13 | Intel Corporation | Allocating and configuring persistent memory |
US11003565B2 (en) | 2015-04-21 | 2021-05-11 | Hewlett-Packard Development Company, L.P. | Performance change predictions |
CN106874176B (zh) * | 2015-12-14 | 2021-04-27 | 创新先进技术有限公司 | 智能测试方法和装置 |
US10180793B2 (en) | 2017-01-31 | 2019-01-15 | Hewlett Packard Enterprise Development Lp | Performance attributes for memory |
US11182315B2 (en) | 2017-02-10 | 2021-11-23 | Intel Corporation | Apparatuses, methods, and systems for hardware control of processor performance levels |
US10958729B2 (en) * | 2017-05-18 | 2021-03-23 | Intel Corporation | Non-volatile memory express over fabric (NVMeOF) using volume management device |
US10627880B2 (en) * | 2017-05-19 | 2020-04-21 | Dell Products L.P. | Systems and methods for forward compatibility of custom thermal settings |
KR102388803B1 (ko) | 2017-11-02 | 2022-04-20 | 삼성전자주식회사 | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법 |
US10620969B2 (en) | 2018-03-27 | 2020-04-14 | Intel Corporation | System, apparatus and method for providing hardware feedback information in a processor |
TWI685751B (zh) | 2018-04-10 | 2020-02-21 | 神雲科技股份有限公司 | 伺服器裝置的錯誤報告功能的控制方法 |
CN108959049B (zh) * | 2018-06-27 | 2021-12-17 | 郑州云海信息技术有限公司 | Smm的健壮性和稳定性的测试方法、装置及存储介质 |
US10795746B2 (en) | 2018-12-13 | 2020-10-06 | Micron Technology, Inc. | Automated power down based on state of firmware |
EP3999938A4 (en) * | 2019-07-15 | 2023-08-02 | INTEL Corporation | DYNAMIC ENERGY PERFORMANCE PREFERENCE BASED ON WORKLOADS USING AN ADAPTIVE ALGORITHM |
US11157329B2 (en) | 2019-07-26 | 2021-10-26 | Intel Corporation | Technology for managing per-core performance states |
US11625084B2 (en) * | 2019-08-15 | 2023-04-11 | Intel Corporation | Method of optimizing device power and efficiency based on host-controlled hints prior to low-power entry for blocks and components on a PCI express device |
TWI726405B (zh) * | 2019-09-04 | 2021-05-01 | 神雲科技股份有限公司 | 開機程序除錯系統及其主機與方法 |
US11507157B2 (en) * | 2020-04-30 | 2022-11-22 | Dell Products L.P. | Hot-inserted devices |
KR20210149445A (ko) | 2020-06-02 | 2021-12-09 | 삼성전자주식회사 | 메모리 모듈 및 메모리 모듈의 동작 방법 |
US11106529B1 (en) * | 2020-07-22 | 2021-08-31 | Dell Products L.P. | Post package repair failure memory location reporting system |
US11829612B2 (en) | 2020-08-20 | 2023-11-28 | Micron Technology, Inc. | Security techniques for low power mode of memory device |
CN112256327A (zh) * | 2020-11-01 | 2021-01-22 | 屈军军 | 一种微型电子机械装置 |
US11934251B2 (en) * | 2021-03-31 | 2024-03-19 | Advanced Micro Devices, Inc. | Data fabric clock switching |
CN117546122A (zh) | 2021-06-22 | 2024-02-09 | 微软技术许可有限责任公司 | 使用服务质量(qos)的功率预算管理 |
WO2022271606A1 (en) * | 2021-06-22 | 2022-12-29 | Microsoft Technology Licensing, Llc | Power budget management using quality of service (qos) |
US20230132345A1 (en) * | 2021-10-27 | 2023-04-27 | Dell Products L.P. | Numa node virtual machine provisioning system |
JP2023136634A (ja) * | 2022-03-17 | 2023-09-29 | キヤノン株式会社 | 印刷管理システム、及び方法 |
US11726855B1 (en) * | 2022-04-26 | 2023-08-15 | Dell Products L.P. | Controlling access to an error record serialization table of an information handlng system |
US20240220320A1 (en) * | 2022-12-30 | 2024-07-04 | Advanced Micro Devices, Inc. | Systems and methods for sharing memory across clusters of directly connected nodes |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030120961A1 (en) * | 2001-12-21 | 2003-06-26 | Barnes Cooper | Managing multiple processor performance states |
US20040139302A1 (en) * | 2002-11-12 | 2004-07-15 | Arm Limited | Performance level selection in a data processing system |
US20040205206A1 (en) * | 2003-02-19 | 2004-10-14 | Naik Vijay K. | System for managing and controlling storage access requirements |
US20050262365A1 (en) * | 2004-05-21 | 2005-11-24 | Lint Bernard J | P-state feedback to operating system with hardware coordination |
CN1717645A (zh) * | 2002-11-30 | 2006-01-04 | 英特尔公司 | 用于多线程处理器性能控制的装置和方法 |
Family Cites Families (104)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4646232A (en) * | 1984-01-03 | 1987-02-24 | Texas Instruments Incorporated | Microprocessor with integrated CPU, RAM, timer, bus arbiter data for communication system |
US4641308A (en) * | 1984-01-03 | 1987-02-03 | Texas Instruments Incorporated | Method of internal self-test of microprocessor using microcode |
TW282525B (zh) * | 1994-06-17 | 1996-08-01 | Intel Corp | |
US6052793A (en) * | 1998-06-10 | 2000-04-18 | Dell Usa, L.P. | Wakeup event restoration after power loss |
US6167511A (en) * | 1998-06-15 | 2000-12-26 | Phoenix Technologies Ltd. | Method to reflect BIOS set up changes into ACPI machine language |
EP1172732A4 (en) * | 1999-02-24 | 2009-08-19 | Hitachi Ltd | COMPUTER SYSTEM AND METHOD FOR MANAGING DISTURBANCES AFFECTING A COMPUTER SYSTEM |
US7197548B1 (en) * | 1999-07-20 | 2007-03-27 | Broadcom Corporation | Method and apparatus for verifying connectivity among nodes in a communications network |
US6732280B1 (en) * | 1999-07-26 | 2004-05-04 | Hewlett-Packard Development Company, L.P. | Computer system performing machine specific tasks before going to a low power state |
EP1085396A1 (en) * | 1999-09-17 | 2001-03-21 | Hewlett-Packard Company | Operation of trusted state in computing platform |
US6530031B1 (en) * | 1999-11-08 | 2003-03-04 | International Business Machines Corporation | Method and apparatus for timing duration of initialization tasks during system initialization |
US7016060B1 (en) | 1999-12-08 | 2006-03-21 | International Business Machines Corporation | Method, system, and program for reconfiguring logical printers in a network printing system |
US6499102B1 (en) * | 1999-12-29 | 2002-12-24 | Intel Corporation | Method of dynamically changing the lowest sleeping state in ACPI |
US6826701B1 (en) * | 2000-04-20 | 2004-11-30 | Microsoft Corporation | Re-running general purpose event control methods in a computer system |
US6931553B1 (en) * | 2000-04-20 | 2005-08-16 | Microsoft Corporation | Preventing general purpose event interrupt storms in a computer system |
US7085944B1 (en) | 2000-09-30 | 2006-08-01 | Intel Corporation | Power management by transmitting single multiplexed signal to multiple system components to change settings of internal performance registers in response to change in power source |
US6704877B2 (en) | 2000-12-29 | 2004-03-09 | Intel Corporation | Dynamically changing the performance of devices in a computer platform |
US7017060B2 (en) * | 2001-03-19 | 2006-03-21 | Intel Corporation | Power management system that changes processor level if processor utilization crosses threshold over a period that is different for switching up or down |
US20030188146A1 (en) * | 2002-03-28 | 2003-10-02 | Hale Robert P. | Method of ordered execution of firmware modules in a pre-memory execution environment |
US6848057B2 (en) * | 2002-05-28 | 2005-01-25 | Nvidia Corporation | Method and apparatus for providing a decoupled power management state |
US20040024867A1 (en) * | 2002-06-28 | 2004-02-05 | Openwave Systems Inc. | Method and apparatus for determination of device capabilities on a network |
US6990576B2 (en) * | 2002-08-07 | 2006-01-24 | Hewlett-Packard Development Company, L.P. | System and method for using a firmware interface table to dynamically load an ACPI SSDT |
US7698583B2 (en) * | 2002-10-03 | 2010-04-13 | Via Technologies, Inc. | Microprocessor capable of dynamically reducing its power consumption in response to varying operating temperature |
US7007160B1 (en) * | 2002-12-03 | 2006-02-28 | Hewlett-Packard Development Company, L.P. | System and method for loading an advanced configuration and power interface (ACPI) original equipment manufacturer (OEM) description table |
CN1534863A (zh) * | 2003-01-15 | 2004-10-06 | 松下电器产业株式会社 | 振荡电路 |
US7502803B2 (en) * | 2003-05-28 | 2009-03-10 | Hewlett-Packard Development Company, L.P. | System and method for generating ACPI machine language tables |
US7051215B2 (en) * | 2003-06-13 | 2006-05-23 | Intel Corporation | Power management for clustered computing platforms |
US7752470B2 (en) * | 2003-12-03 | 2010-07-06 | International Business Machines Corporation | Method and system for power management including device controller-based device use evaluation and power-state control |
US20050192788A1 (en) * | 2004-02-27 | 2005-09-01 | Hobson Louis B. | Simulating processor performance states |
JP4144880B2 (ja) * | 2004-04-09 | 2008-09-03 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プラットフォーム構成測定装置、プログラム及び方法、プラットフォーム構成認証装置、プログラム及び方法、プラットフォーム構成証明装置、プログラム及び方法、並びに、プラットフォーム構成開示装置、プログラム及び方法 |
US20050283599A1 (en) * | 2004-06-22 | 2005-12-22 | Zimmerman Toby S | Exposing BIOS information to an ACPI aware operating system |
US7243222B2 (en) * | 2004-06-24 | 2007-07-10 | Intel Corporation | Storing data related to system initialization in memory while determining and storing data if an exception has taken place during initialization |
EP1770920A4 (en) * | 2004-07-16 | 2011-10-12 | Brother Ind Ltd | CONNECTING MODE CONTROL DEVICE, CONNECTION MODE CONTROL METHOD AND CONNECTION MODE CONTROL PROGRAM |
US7386688B2 (en) | 2004-07-29 | 2008-06-10 | Hewlett-Packard Development Company, L.P. | Communication among partitioned devices |
US7594128B2 (en) * | 2004-08-04 | 2009-09-22 | Hewlett-Packard Development Company, L.P. | Systems and methods to determine processor utilization |
US7565562B2 (en) | 2004-09-03 | 2009-07-21 | Intel Corporation | Context based power management |
US7242227B2 (en) * | 2004-11-01 | 2007-07-10 | Texas Instruments Incorporated | Common mode stabilization circuit for differential bus networks |
US7610497B2 (en) * | 2005-02-01 | 2009-10-27 | Via Technologies, Inc. | Power management system with a bridge logic having analyzers for monitoring data quantity to modify operating clock and voltage of the processor and main memory |
US7487222B2 (en) * | 2005-03-29 | 2009-02-03 | International Business Machines Corporation | System management architecture for multi-node computer system |
CN100527089C (zh) * | 2005-04-27 | 2009-08-12 | 松下电器产业株式会社 | 信息处理装置中的功率控制装置 |
US7454639B2 (en) * | 2005-06-30 | 2008-11-18 | Intel Corporation | Various apparatuses and methods for reduced power states in system memory |
US20070043965A1 (en) | 2005-08-22 | 2007-02-22 | Intel Corporation | Dynamic memory sizing for power reduction |
US7562234B2 (en) * | 2005-08-25 | 2009-07-14 | Apple Inc. | Methods and apparatuses for dynamic power control |
US7516336B2 (en) * | 2005-09-29 | 2009-04-07 | Intel Corporation | System and method for power reduction by sequestering at least one device or partition in a platform from operating system access |
US7509471B2 (en) * | 2005-10-27 | 2009-03-24 | Sandisk Corporation | Methods for adaptively handling data writes in non-volatile memories |
US20070136523A1 (en) * | 2005-12-08 | 2007-06-14 | Bonella Randy M | Advanced dynamic disk memory module special operations |
US7516317B2 (en) * | 2005-12-29 | 2009-04-07 | Microsoft Corporation | Measuring an operating system's boot duration |
US7421601B2 (en) | 2006-02-17 | 2008-09-02 | International Business Machines Corporation | Method and system for controlling power in a chip through a power-performance monitor and control unit |
US20070260761A1 (en) * | 2006-03-28 | 2007-11-08 | Inventec Corporation | Inter-module data communication control method and system for ACPI and BIOS |
JP2007272573A (ja) * | 2006-03-31 | 2007-10-18 | Hitachi Ltd | 低消費電力化メモリ管理方法及びメモリ管理プログラム |
US7752468B2 (en) | 2006-06-06 | 2010-07-06 | Intel Corporation | Predict computing platform memory power utilization |
US20080010516A1 (en) * | 2006-06-14 | 2008-01-10 | Inventec Corporation | Method and apparatus for indicating the actual progress of a booting procedure |
US20080010527A1 (en) * | 2006-06-26 | 2008-01-10 | Inventec Corporation | Method of solving BIST failure of CPU by means of BIOS and maximizing system performance |
US7610482B1 (en) * | 2006-06-28 | 2009-10-27 | Qlogic, Corporation | Method and system for managing boot trace information in host bus adapters |
US7747881B2 (en) | 2006-08-14 | 2010-06-29 | Globalfoundries Inc. | System and method for limiting processor performance |
US20080046546A1 (en) | 2006-08-18 | 2008-02-21 | Parmar Pankaj N | EFI based mechanism to export platform management capabilities to the OS |
KR100770703B1 (ko) * | 2006-08-30 | 2007-10-29 | 삼성전자주식회사 | 메모리 시스템의 전력 쓰로틀링 방법 및 메모리 시스템 |
JP2008109243A (ja) * | 2006-10-24 | 2008-05-08 | Renesas Technology Corp | Rf通信用半導体集積回路 |
US20080147357A1 (en) | 2006-12-15 | 2008-06-19 | Iintrinisyc Software International | System and method of assessing performance of a processor |
US7953996B2 (en) * | 2006-12-18 | 2011-05-31 | Hewlett-Packard Development Company, L.P. | ACPI to firmware interface |
KR100890152B1 (ko) * | 2006-12-22 | 2009-03-20 | 매그나칩 반도체 유한회사 | Cmos 이미지 센서를 위한, 작은 크기, 높은 이득 및낮은 노이즈의 픽셀 |
US8302087B2 (en) * | 2007-01-05 | 2012-10-30 | International Business Machines Corporation | Quality assurance in software systems through autonomic reliability, availability and serviceability code generation |
JP4912174B2 (ja) * | 2007-02-07 | 2012-04-11 | 株式会社日立製作所 | ストレージシステム及び記憶管理方法 |
US8448024B2 (en) * | 2007-05-16 | 2013-05-21 | Intel Corporation | Firmware assisted error handling scheme |
TW200917006A (en) | 2007-10-01 | 2009-04-16 | Inventec Corp | Apparatus and method for power management |
US8250354B2 (en) * | 2007-11-29 | 2012-08-21 | GlobalFoundries, Inc. | Method and apparatus for making a processor sideband interface adhere to secure mode restrictions |
US20090150696A1 (en) * | 2007-12-10 | 2009-06-11 | Justin Song | Transitioning a processor package to a low power state |
US8151081B2 (en) * | 2007-12-20 | 2012-04-03 | Intel Corporation | Method, system and apparatus for memory address mapping for sub-socket partitioning |
US7831816B2 (en) * | 2008-05-30 | 2010-11-09 | Globalfoundries Inc. | Non-destructive sideband reading of processor state information |
US7912082B2 (en) * | 2008-06-09 | 2011-03-22 | Oracle America, Inc. | Shared virtual network interface |
US7984286B2 (en) * | 2008-06-25 | 2011-07-19 | Intel Corporation | Apparatus and method for secure boot environment |
US20090327609A1 (en) | 2008-06-30 | 2009-12-31 | Bruce Fleming | Performance based cache management |
US20100153523A1 (en) * | 2008-12-16 | 2010-06-17 | Microsoft Corporation | Scalable interconnection of data center servers using two ports |
US8458498B2 (en) | 2008-12-23 | 2013-06-04 | Intel Corporation | Method and apparatus of power management of processor |
US8601296B2 (en) | 2008-12-31 | 2013-12-03 | Intel Corporation | Downstream device service latency reporting for power management |
US8799691B2 (en) * | 2009-01-07 | 2014-08-05 | Hewlett-Packard Development Company, L.P. | Hierarchical power management |
JP5218568B2 (ja) * | 2009-01-26 | 2013-06-26 | 富士通株式会社 | 構成変更機能を有する情報処理装置、システム構成変更方法及びシステム構成変更プログラム |
JP5118074B2 (ja) | 2009-01-27 | 2013-01-16 | 日本電信電話株式会社 | 光ファイバ |
US8131991B2 (en) * | 2009-02-10 | 2012-03-06 | Sony Corporation | System and method for configuring plural software profiles |
US8135970B2 (en) | 2009-03-06 | 2012-03-13 | Via Technologies, Inc. | Microprocessor that performs adaptive power throttling |
US20100235834A1 (en) * | 2009-03-16 | 2010-09-16 | Faasse Scott P | Providing a management communication channel between a software layer and platform layer for hardware management control |
US8171319B2 (en) * | 2009-04-16 | 2012-05-01 | International Business Machines Corporation | Managing processor power-performance states |
US9244797B2 (en) * | 2009-05-29 | 2016-01-26 | Dell Products L.P. | Methods for managing performance states in an information handling system |
US8464038B2 (en) * | 2009-10-13 | 2013-06-11 | Google Inc. | Computing device with developer mode |
US8490179B2 (en) * | 2009-10-27 | 2013-07-16 | Hewlett-Packard Development Company, L.P. | Computing platform |
US20110131427A1 (en) | 2009-12-02 | 2011-06-02 | Jorgenson Joel A | Power management states |
US20110145555A1 (en) * | 2009-12-15 | 2011-06-16 | International Business Machines Corporation | Controlling Power Management Policies on a Per Partition Basis in a Virtualized Environment |
US8555091B2 (en) * | 2009-12-23 | 2013-10-08 | Intel Corporation | Dynamic power state determination of a graphics processing unit |
JP5544878B2 (ja) * | 2009-12-25 | 2014-07-09 | 富士通株式会社 | 故障制御装置、プロセッサコア、演算処理装置、情報処理装置および擬似故障制御方法 |
US9310838B2 (en) * | 2010-03-19 | 2016-04-12 | I/O Interconnect, Ltd. | Power management method for switching power mode of a computer system based on detection of a human interface device |
KR20110114910A (ko) * | 2010-04-14 | 2011-10-20 | 삼성전자주식회사 | 집적회로 및 그것의 소비전력 측정 방법 |
US8522066B2 (en) * | 2010-06-25 | 2013-08-27 | Intel Corporation | Providing silicon integrated code for a system |
US8648690B2 (en) * | 2010-07-22 | 2014-02-11 | Oracle International Corporation | System and method for monitoring computer servers and network appliances |
JP5598144B2 (ja) | 2010-08-04 | 2014-10-01 | ソニー株式会社 | 情報処理装置、電源制御方法、およびプログラム |
US8495395B2 (en) * | 2010-09-14 | 2013-07-23 | Advanced Micro Devices | Mechanism for controlling power consumption in a processing node |
US8812825B2 (en) * | 2011-01-10 | 2014-08-19 | Dell Products L.P. | Methods and systems for managing performance and power utilization of a processor employing a fully multithreaded load threshold |
US9454197B2 (en) * | 2011-01-28 | 2016-09-27 | Renesas Electronics Corporation | Controller and semiconductor system |
US8659341B2 (en) * | 2011-05-02 | 2014-02-25 | Analog Devices, Inc. | System and method for level-shifting voltage signals using a dynamic level-shifting architecture |
US8788777B2 (en) * | 2011-05-06 | 2014-07-22 | Marvell World Trade Ltd. | Memory on-demand, managing power in memory |
US8966305B2 (en) * | 2011-06-30 | 2015-02-24 | Advanced Micro Devices, Inc. | Managing processor-state transitions |
US9026815B2 (en) * | 2011-10-27 | 2015-05-05 | Intel Corporation | Controlling operating frequency of a core domain via a non-core domain of a multi-domain processor |
US9031847B2 (en) * | 2011-11-15 | 2015-05-12 | Microsoft Technology Licensing, Llc | Voice-controlled camera operations |
WO2013077891A1 (en) * | 2011-11-22 | 2013-05-30 | Intel Corporation | Collaborative processor and system performance and power management |
US8645797B2 (en) * | 2011-12-12 | 2014-02-04 | Intel Corporation | Injecting a data error into a writeback path to memory |
WO2013172843A1 (en) * | 2012-05-17 | 2013-11-21 | Intel Corporation | Managing power consumption and performance of computing systems |
-
2011
- 2011-12-30 WO PCT/US2011/068200 patent/WO2013077891A1/en active Application Filing
- 2011-12-30 WO PCT/US2011/068198 patent/WO2013077890A1/en active Application Filing
- 2011-12-30 CN CN201180075003.6A patent/CN103946765B/zh active Active
- 2011-12-30 US US13/977,531 patent/US10108433B2/en active Active
- 2011-12-30 DE DE112011105867.5T patent/DE112011105867B4/de active Active
- 2011-12-30 WO PCT/US2011/068175 patent/WO2013077889A1/en active Application Filing
- 2011-12-30 GB GB1408838.9A patent/GB2510091B/en active Active
- 2011-12-30 US US13/976,520 patent/US9454379B2/en active Active
- 2011-12-30 US US13/976,507 patent/US9442739B2/en active Active
-
2012
- 2012-11-12 TW TW101142033A patent/TWI502505B/zh active
- 2012-11-14 TW TW101142382A patent/TWI518586B/zh active
- 2012-11-15 TW TW101142626A patent/TWI467363B/zh active
- 2012-11-21 WO PCT/US2012/066376 patent/WO2013078397A1/en active Application Filing
- 2012-11-21 KR KR1020177001971A patent/KR101763102B1/ko active IP Right Grant
- 2012-11-21 WO PCT/US2012/066402 patent/WO2013078418A1/en active Application Filing
- 2012-11-21 BR BR112014012398-5A patent/BR112014012398B1/pt active IP Right Grant
- 2012-11-21 IN IN2785CHN2014 patent/IN2014CN02785A/en unknown
- 2012-11-21 US US13/683,748 patent/US10007528B2/en active Active
- 2012-11-21 KR KR1020177016297A patent/KR101810822B1/ko active IP Right Grant
- 2012-11-21 WO PCT/US2012/066326 patent/WO2013078363A1/en active Application Filing
- 2012-11-21 KR KR1020147013589A patent/KR101723009B1/ko active IP Right Grant
- 2012-11-21 US US13/977,593 patent/US9454380B2/en active Active
- 2012-11-21 US US13/977,635 patent/US10078522B2/en active Active
- 2012-11-21 US US13/977,530 patent/US9535711B2/en active Active
- 2012-11-21 US US13/977,625 patent/US9594570B2/en active Active
- 2012-11-21 JP JP2014542592A patent/JP6155507B2/ja active Active
- 2012-11-21 WO PCT/US2012/066364 patent/WO2013078387A1/en active Application Filing
-
2016
- 2016-09-12 US US15/262,816 patent/US10275260B2/en active Active
-
2017
- 2017-01-02 US US15/396,726 patent/US9898306B2/en active Active
- 2017-01-10 US US15/403,006 patent/US10732986B2/en active Active
-
2018
- 2018-02-20 US US15/900,607 patent/US11301257B2/en active Active
- 2018-07-31 US US16/050,240 patent/US10514931B2/en active Active
-
2019
- 2019-04-18 US US16/388,670 patent/US11221857B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030120961A1 (en) * | 2001-12-21 | 2003-06-26 | Barnes Cooper | Managing multiple processor performance states |
US20040139302A1 (en) * | 2002-11-12 | 2004-07-15 | Arm Limited | Performance level selection in a data processing system |
CN1717645A (zh) * | 2002-11-30 | 2006-01-04 | 英特尔公司 | 用于多线程处理器性能控制的装置和方法 |
US20040205206A1 (en) * | 2003-02-19 | 2004-10-14 | Naik Vijay K. | System for managing and controlling storage access requirements |
US20050262365A1 (en) * | 2004-05-21 | 2005-11-24 | Lint Bernard J | P-state feedback to operating system with hardware coordination |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115543055A (zh) * | 2022-11-28 | 2022-12-30 | 苏州浪潮智能科技有限公司 | 电源管理的控制权移交方法、装置、设备和存储介质 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103946765A (zh) | 协同处理器以及系统性能和功率管理 | |
US20130103967A1 (en) | Methods and apparatuses for dynamic power control | |
US7895455B2 (en) | Dynamic converter control for efficient operation | |
US7272732B2 (en) | Controlling power consumption of at least one computer system | |
JP5592269B2 (ja) | データ処理システムの強制アイドル | |
US9311152B2 (en) | Methods and apparatuses for load balancing between multiple processing units | |
EP2607987A1 (en) | Computing apparatus and system for remote control of operating states | |
US9563254B2 (en) | System, method and apparatus for energy efficiency and energy conservation by configuring power management parameters during run time | |
US10963028B2 (en) | System, method and apparatus for energy efficiency and energy conservation by configuring power management parameters during run time | |
US20090177422A1 (en) | Forced idle of a data processing system | |
KR20190075164A (ko) | 마이크로프로세서 내의 열 설계 전력을 구성하기 위한 방법 및 장치 | |
GB2511628A (en) | Dynamically controlling a maximum operating voltage for a processor | |
US20120221873A1 (en) | Method, Apparatus, and System for Energy Efficiency and Energy Conservation by Mitigating Performance Variations Between Integrated Circuit Devices | |
Kerstens et al. | Applying Green Computing to clusters and the data center |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |