DE112011105867B4 - Kollaboratives Prozessor- und Systemleistungs- und Energiemanagement - Google Patents
Kollaboratives Prozessor- und Systemleistungs- und Energiemanagement Download PDFInfo
- Publication number
- DE112011105867B4 DE112011105867B4 DE112011105867.5T DE112011105867T DE112011105867B4 DE 112011105867 B4 DE112011105867 B4 DE 112011105867B4 DE 112011105867 T DE112011105867 T DE 112011105867T DE 112011105867 B4 DE112011105867 B4 DE 112011105867B4
- Authority
- DE
- Germany
- Prior art keywords
- performance
- register
- registers
- power
- processor
- 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.)
- Active
Links
- 238000007726 management method Methods 0.000 description 30
- 230000009467 reduction Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000012512 characterization method Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 4
- 238000000034 method Methods 0.000 description 4
- 101150039033 Eci2 gene Proteins 0.000 description 3
- 102100021823 Enoyl-CoA delta isomerase 2 Human genes 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000000206 photolithography Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Images
Classifications
-
- 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
- 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
- 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
Vorrichtung, die Folgendes umfasst:einen Prozessor und einen Speicher mit Instruktionen, die durch den Prozessor ausgeführt werden sollen, wobei die Instruktionen, wenn sie ausgeführt werden,ein Betriebssystem (BS) implementieren und Fähigkeiten-Register (502) identifizieren, aufweisend:ein Höchstleistungsregister,ein Nennleistungsregister undein Niedrigstleistungsregisters,wobei die Fähigkeiten-Register (502) eingerichtet sind, dem BS eine Skala verfügbarer Leistungsniveaus anzuzeigen, wobei die Fähigkeiten-Register (502) getrennt von einem oder mehreren Steuerregistern (504) sind und wobei die Fähigkeiten-Register (502) ein Garantierte-Leistung-Register umfassen, um einen Ressourcendeskriptor anzugeben, der ein momentanes garantiertes Leistungsniveau beschreibt.
Description
- Die vorliegende Erfindung betrifft allgemein Computersysteme und insbesondere Verfahren und Systeme für das Plattform-Energie- und Leistungsmanagement.
- US 2003 / 0 226 043 A1 offenbart einen Ansatz zum Bereitstellen eines entkoppelten Energieverwaltungszustands. Hierbei wird der Energieverwaltungszustand aus der Sicht des Betriebssystems von dem tatsächlichen Hardware-Zustand von Host-Ressourcen entkoppelt. Hierdurch können Ressourcen eines Host-Computers weiter betrieben werden, während sich das Betriebssystem in einem energieeffizienten Zustand befindet.
- Aufgabe der vorliegenden Erfindung ist eine Weiterentwicklung des vorbekannten Standes der Technik.
- Die Aufgabe wird erfindungsgemäß durch Vorrichtungen gemäß dem Hauptanspruch und dem nebengeordneten Anspruch gelöst. Vorteilhafte Ausführungsformen sind in den abhängigen Ansprüchen angegeben.
- Figurenliste
- Ausführungsformen der Erfindung werden beispielhaft und nicht zum Zweck der Einschränkung in den Figuren der begleitenden Zeichnungen veranschaulicht, in denen gleiche Bezugszahlen ähnliche Elemente bezeichnen.
-
1 ist ein Schaubild, das eine Computerplattform mit OSPM (OS-directed Configuration and Power Management = Betriebssystemgesteuertes Konfigurations- und Energiemanagement) gemäß einigen Ausführungsformen zeigt. -
2 zeigt ein Prozessorleistungszustandsdiagramm gemäß einigen Ausführungsformen für eine ACPI-Implementierung. -
3 ist ein Schaubild, das eine Plattform mit OSPM zeigt und verschiedene Wege veranschaulicht, wie OSPM mit der Plattform kommunizieren kann, um die Leistung zu managen, gemäß einigen Ausführungsformen. -
4 zeigt eine allgemeine Routine für eine Plattform zum Ermöglichen eines flexiblen Energiemanagementregimes gemäß einigen Ausführungsformen. -
5 zeigt Energiemanagementregister, die in einer Energiemanagementregisterschnittstelle implementiert werden können, gemäß einigen Ausführungsformen. -
6 zeigt eine relative Leistungsniveauskala gemäß einigen Ausführungsformen. -
7 ist ein Kurvendiagramm, das verschiedene Leistungssteuerungseinstellungen zeigt, die dafür verwendet werden können, die Prozessorleistung zu steuern, gemäß einigen Ausführungsformen. -
8 zeigt Definitionscode für ein beispielhaftes Paket für eine flexible Energiemanagementschnittstelle (CPPC-Schnittstelle, wie in der ACPI definiert) gemäß einigen Ausführungsformen. - DETAILLIERTE BESCHREIBUNG
-
1 ist ein Schaubild, das eine Computerplattform mit einem OSPM (OS-directed Configuration and Power Management = Betriebssystemgesteuertes Konfigurations- und Energiemanagement) zeigt, das auf einem Betriebssystem (im Weiteren einfach als „BS“ bezeichnet) basiert. Ein OSPM-Regime kann jedes geeignete Energiemanagementsystem, jede geeignete Schnittstelle und/oder jede geeignete Spezifikation enthalten, das bzw. die es einer Schnittstelle ermöglicht, ein Betriebssystem (BS)-gesteuertes Energiemanagement eines Prozessors in einer Computerplattform auszuführen. Zu solchen OSPM-Regimes gehören, ohne darauf beschränkt zu sein, Implementierungen gemäß der ACPI (Advanced Configuration and Power Interface)-Spezifikation. - In
1 ist eine Hardware-Plattform130 gezeigt (zum Beispiel ein Tablet-PC, ein Laptop-PC, ein Server), die ein Betriebssystem (BS)110 ausführt, das unter anderem ein OSPM über eine OSPM-basierte Energiemanagementschnittstelle120 implementiert. Die Plattform130 umfasst Plattform-Hardware132 und ein BIOS134 . Das BS umfasst einen Kernel112 , ein OSPM-System114 , Gerätetreiber116 und Energiemanagementschnittstellentreiber118 , die in der gezeigten Weise gekoppelt sind. Die OSPM-Schnittstelle120 stellt einen gemeinsamen Schnittstellenraum, einschließlich eines gemeinsamen Registerschnittstellenraums, bereit. Er kann im Allgemeinen Energiemanagementregister122 , eine BIOS-Schnittstellendatenstruktur124 und/oder eine oder mehrere Energiemanagementtabellen126 enthalten. Auf diese Energiemanagementschnittstellenkomponenten kann das OSPM zugreifen, zum Beispiel durch die Energiemanagementtreiber118 , zum Schreiben und Lesen von Energiemanagementdaten (zum Beispiel Schreiben von Steuerungsdaten und Lesen von Leistungsfähigkeits- und Rückkopplungsdaten) für die Plattform-Hardware. -
2 zeigt ein Prozessorleistungszustandsdiagramm gemäß Ausführungsformen einer ACPI-Implementierung. (Es ist zu beachten, dass diese Offenbarung der Einfachheit halber Energiemanagementkonzepte überwiegend unter Verwendung von ACPI als einer beispielhaften Implementierung verwendet, dass aber die Erfindung nicht darauf beschränkt ist.) Die wichtigsten OSPM-Steuerungen für die Prozessoren sind Prozessorenergiezustände (C0 ,C1 ,C2 ,C3 , ...Cn ), Prozessortaktdrosselung und Prozessorleistungszustände. Prozessorleistungszustände (Px ) umfassen im Sinne des vorliegenden Textes traditionelle Pn-Zustände wieP0 ,P1 usw. und CPPC (Collaborative Processor Performance Control)-Leistungssteuerungen (weiter unten mit Bezug auf die vorliegende Erfindung besprochen). Diese Steuerungen können durch das OSPM in Kombination verwendet werden, um den gewünschten Ausgleich zwischen mitunter kollidierenden Zielsetzungen zu erreichen, darunter Leistung, Stromverbrauch und Batterielebensdauer, thermische Anforderungen und Rauschpegelanforderungen. Weil die Zielsetzungen in einer gegenseitigen Wechselbeziehung stehen, muss die Betriebssoftware eine Betriebsvorschrift implementieren, die bestimmt, wann und wo Kompromisse zwischen den Zielsetzungen vorzunehmen sind. - ACPI definiert den Energiezustand von Systemprozessoren während des
G0 -Arbeitszustands 2 als entweder aktiv (ausführend) oder schlummernd (nicht-ausführend). Die Prozessorenergiezustände werden alsC0 ,C1 ,C2 ,C3 , ... Cn bezeichnet. Der EnergiezustandC0 ist ein aktiver Energiezustand, in dem die CPU Instruktionen ausführt. Die EnergiezuständeC1 bisCn sind Prozessorschlummerzustände, in denen der Prozessor weniger Strom verbraucht und weniger Wärme dissipiert, als wenn der Prozessor im ZustandC0 bliebe. Im Schlummerzustand führt der Prozessor im Allgemeinen keine Instruktionen aus. - In der Vergangenheit haben die Prozessorleistungssteuerungen (Pn-Zustandssteuerungen) vor allem auf die Prozessorleistung im Hinblick auf die Prozessorfrequenz Einfluss genommen, was im Allgemeinen der Prozessorleistungsfähigkeit entspricht. Das OSPM würde eine Leistungszustandsanforderung (zum Beispiel P0 mit einer bestimmten Frequenzauswahl) ausgeben, und es könnte erwarten, dass der Prozessor es mit einer bestimmten Betriebsfrequenz oder einem bestimmten Frequenzbereich versorgt. Man hat jedoch erkannt, dass sich die Frequenz nicht unbedingt proportional zum Arbeitsaufwand verhält, den ein Prozessor ausführen kann, insbesondere für alle Szenarios. Das heißt, während die Prozessorfrequenz eine grobe Näherung der Geschwindigkeit ist, mit der der Prozessor seine Arbeit ausführt, ist nicht garantiert, dass die Leistung zur Ausführung von Arbeitslasten mit der Frequenz skaliert. Anstatt also eine spezifische Messgröße für die Prozessorleistung vorzuschreiben, überlässt CPPC (Collaborative Processor Performance Control) der Plattform die Definition der genauen Leistungsmessgröße.
- Die Plattform kann zum Beispiel entscheiden, eine einzelne Messgröße, wie zum Beispiel die Prozessorfrequenz, zu verwenden, oder sie kann entscheiden, mehrere Hardware-Messgrößen (zum Beispiel Frequenz, Zeit, Instruktionsrate usw.) zu vermischen, um ein synthetisches Maß der Leistung zu erzeugen. Auf diese Weise hat die Plattform mehr Freiheiten, einen vom OSPM angeforderten Leistungspegel zu erbringen, ohne unbedingt - wenigstens kontinuierlich über einen bestimmten Zeitraum - eine bestimmte Prozessorfrequenz liefern zu müssen. Dadurch kann sie zum Beispiel OSPM-Erwartungen erfüllen und gleichzeitig effektivere Stromeinsparungen erreichen.
- Collaborative Processor Performance Control (CPPC) definiert einen abstrahierten und flexiblen Mechanismus, über den das OSPM mit einer Entität in der Plattform zusammenarbeiten kann, um die Leistung des Prozessors zu managen. In diesem Regime ist die Plattformentität dafür zuständig, eine Leistungsdefinition zu erstellen und beizubehalten, die eine kontinuierliche (oder zumindest quasi-kontinuierliche) Leistungsskala (zum Beispiel eine einheitslose Leistungsskala) unterstützt. Während der Laufzeit fordert das OSPM Leistung auf dieser Skala an (zum Beispiel fordert es einen Wert zwischen 0 und 2000, 1 und 100 usw. an), und die Plattformentität ist dafür zuständig, die OSPM-Leistungsanforderungen in tatsächliche Hardware-Leistungszustände zu übersetzen.
- In einigen Ausführungsformen sollte das OSPM keinerlei Annahmen zur genauen Bedeutung der durch die Plattform präsentierten Leistungswerte treffen, oder darüber, wie sie mit bestimmten Hardware-Messgrößen wie der Prozessorfrequenz korrelieren könnten. Stattdessen kann das OSPM, zum Beispiel beim Hochfahren oder beim Prozessor-Hot-Plug, eine Charakterisierungsroutine abarbeiten, um die bereitgestellte Leistung (zum Beispiel Frequenz oder Benchmark, Verarbeitungsrate usw.) über die Skala der verfügbaren Leistungswerte der betreffenden Plattform zu evaluieren.
- Mit Bezug auf
3 können die Steuerstrukturen (zum Beispiel Register) zum Implementieren der Energiemanagementschnittstelle für das OSPM zum Steuern des Plattform-Energiemanagementsystems in jeder geeigneten Weise ausgeführt werden. Zum Beispiel können die Steuerungsverfahren durch auf Speicher abgebildete E/A oder mit speziellen physischen Registern, wie zum Beispiel mit MSRs (Model Specific Registers), Registern auf anderen Bussen oder Transporteinrichtungen (zum Beispiel auf einem SMBus, einer PECI-Schnittstelle, Platform Communications Channel usw.), virtuellen Registern oder dergleichen implementiert werden. (Es ist zu beachten, dass ein MSR in der Regel nicht Teil eines Speicherraums ist, sondern vielmehr beispielsweise in Hardware existieren kann, wie zum Beispiel einem Prozessorregister mit einer oder mehreren Instruktionen, sie zu lesen oder zu beschreiben.) Dies schafft genügend Flexibilität, damit das BS mit dem Prozessor selbst, dem Plattform-Chipsatz oder einer separaten Entität (zum Beispiel einem Baseboard-Management-Controller) kommunizieren kann. -
3 ist ein Schaubild, das eine Plattform mit OSPM zeigt, wo diese verschiedenen Wege veranschaulicht sind, wie das BS mit der Plattform kommunizieren kann, um die Leistung zu managen. In dieser Ausführungsform hat der Prozessor305 MSRs307 , eine Energiesteuereinheit (Power Control Unit, PCU)309 , eine Kernfrequenz- und VID-Steuerung311 und eine MSR/PECI-Schnittstelle313 zum Steuern von Leistung und Stromverbrauch. Ein BS330 managt Energie und Leistung der Plattform durch sein ACPI-gestütztes Energiemanagementsystem (sein ACPI-gestütztes OSPM). Eine Hardware-Plattform (HWP)-Schnittstelle320 ermöglicht die Kommunikation zwischen dem BS und dem Plattformprozessor305 , wodurch es dem BS möglich wird, das Energiemanagement des Prozessors zu beaufsichtigen. (Es ist zu beachten, dass die MSR/PECI-Schnittstelle313 als Teil der HWP-Schnittstelle320 erachtet werden könnte, aber sie ist der Einfachheit halber separat und mit der optionalen BMC-Verbindung gekoppelt gezeigt.) - Mit Bezug auf die
4 und5 wird eine allgemeine Herangehensweise zum Implementieren eines flexiblen Energiemanagementregimes unter Verwendung von Energiemanagementschnittstellenregistern, auf die sowohl die Plattform als auch das BS zugreifen kann, beschrieben.4 zeigt eine allgemeine Routine402 für eine Plattform zum Ermöglichen eines flexiblen Energiemanagementregimes, wie im vorliegenden Text beschrieben, gemäß einigen Ausführungsformen.5 zeigt Energiemanagementregister, die in PM-Registerraum122 (von1 ) oder in jeder anderen geeigneten Weise implementiert werden können. Die Schnittstellenregister umfassen ein oder mehrere Fähigkeiten-Register502 , ein oder mehrere Steuerregister504 und ein oder mehrere Rückkopplungsregister506 . - Die Fähigkeiten-Register
502 werden im Allgemeinen dafür verwendet, Leistungsskalaparameter, Fähigkeiten, Schwellen usw., die durch dasBS gelesen werden sollen, anzuzeigen, so dass es bestimmen kann, wie Energie und Leistung gemanagt werden sollen. Die Steuerregister504 werden im Allgemeinen durch das OSPM beschrieben, um eine von dem Plattformprozessor abgeforderte oder gewünschte Leistung, zusammen mit geltenden Beschränkungen, anzuzeigen. Und schließlich zeigen die Rückkopplungsregister506 die gelieferten Leistungsparameter (geschätzte oder gemessene bzw. überwachte Leistungsparameter) an, die zum Beispiel durch das BS gelesen werden sollen, so dass es bestimmen kann, ob die gelieferte Leistung hinreichend nahe bei der abgeforderten oder gewünschten Leistung liegt. - Mit Bezug auf Routine
402 werden zu Beginn bei404 die Leistungsfähigkeiten in die Fähigkeiten-Register geladen. Dabei können Daten zum Beispiel aus einem BIOS-Speicher in die Fähigkeiten-Register oder von jedem anderen geeigneten Ort geladen werden, oder die Register können während eines Herstellungsschrittes, zum Beispiel unter Verwendung von Sicherungen oder dergleichen, geladen werden. Diese Fähigkeiten könnten den abstrakten Leistungsskalabereich, Schwellen, wie zum Beispiel garantierte Schwellen im Verhältnis zu nicht-garantierten Schwellen, und andere Parameter anzeigen. Bei406 (zum Beispiel, nachdem Steuerregister durch dasOSPM beschrieben wurden) liest die Plattform Steuerungswerte aus den Steuerregistern. Bei408 steuert die Plattform dann (zum Beispiel durch eine PCU oder eine ähnliche Einheit) den Prozessor in einem Versuch, die abgeforderte Leistung, vorbehaltlich der Beschränkungen, bereitzustellen. Wie weiter unten noch ausführlicher mit speziellem Bezug auf eine ACPI-Implementierung beschrieben werden wird, kann er (im Fall eines nicht-garantierten Bereichs) oder wird er, sofern sinnvoll möglich (im Fall eines garantierten Bereichs, und ohne eine alle anderen Anforderungen außer Kraft setzende Einschränkung, beispielsweise thermischer Art), die abgeforderte Leistung bereitstellen. Das könnte bedeuten, ein durchschnittliches Leistungsniveau, innerhalb einer angegebenen Toleranz, über einen angegebenen Zeitraum hinweg bereitzustellen. - Gemäß den ACPI-Spezifikationen sowie einigen Ausführungsformen kann ein
CPC (Continuous Performance Control)-Objekt (_CPC-Objekt in ACPI oder ein sonstiges geeignetes Objekt) verwendet werden. Dieses Objekt kann eine Schnittstelle deklarieren, die es dem OSPM erlaubt, den Prozessor anhand eines kontinuierlichen Bereichs von zulässigen Werten in einen Leistungszustand zu versetzen. DasBS kann den gewünschten Leistungswert auf ein Leistungsniveau schreiben (zum Beispiel „Gewünschtes Leistungsregister“ in ACPI), und die Plattform würde dann das abgeforderte Leistungsniveau auf einen internen Leistungszustand abbilden. - Tabelle 1 (sowie
8 , CPC-Objekt) zeigt ein beispielhaftes Paket für diese CPC-Schnittstelle. Tabelle 1Element Objekttyp Beschreibung NumEntries Ganze Zahl Die Anzahl der Einträge in dem CPC-Paket, einschließlich dieses hier. Der aktuelle Wert ist 17. Revision Ganze Zahl (BYTE) Die Revisionsnummer des _CPC-Paketformats. Der aktuelle Wert ist 1. Highest Performance Ganze Zahl (DWORD) oder Puffer Gibt das höchste Leistungsniveau an, das der Prozessor theoretisch unter idealen Betriebsbedingungen erreichen kann. Falls dieses Element eine ganze Zahl ist, liest das OSPM den ganzzahligen Wert direkt. Falls dieses Element ein Puffer ist, so muss es einen Ressourcendeskriptor mit einem einzelnen Register() enthalten, aus dem der Wert gelesen werden kann. Nominal Performance Ganze Zahl (DWORD) oder Puffer Gibt das höchste Dauerleistungsniveau des Prozessors an. Falls dieses Element eine ganze Zahl ist, liest das OSPM den ganzzahligen Wert direkt. Falls dieses Element ein Puffer ist, so muss es einen Ressourcendeskriptor mit einem einzelnen Register() enthalten, aus dem der Wert gelesen werden kann. Lowest Nonlinear Performance Ganze Zahl (DWORD) oder Puffer Gibt das niedrigste Leistungsniveau des Prozessors mit nichtlinearen Energieeinsparungen an. Falls dieses Element eine ganze Zahl ist, liest das OSPM den ganzzahligen Wert direkt. Falls dieses Element ein Puffer ist, so muss es einen Ressourcendeskriptor mit einem einzelnen Register() enthalten, aus dem der Wert gelesen werden kann. Lowest Performance Ganze Zahl (DWORD) oder Puffer Gibt das niedrigste Leistungsniveau des Prozessors an. Falls dieses Element eine ganze Zahl ist, liest das OSPM den ganzzahligen Wert direkt. Falls dieses Element ein Puffer ist, so muss es einen Ressourcendeskriptor mit einem einzelnen Register() enthalten, aus dem der Wert gelesen werden kann. Guaranteed Performance Register Puffer Optional. Falls unterstützt, enthält es einen Ressourcendeskriptor mit einem einzelnen Register()-Deskriptor, der das Register beschreibt, aus dem die aktuelle garantierte Leistung zu lesen ist. Siehe den Abschnitt „Leistungsbegrenzung“ zu weiteren Details. Desired Performance Register Puffer Enthält einen Ressourcendeskriptor mit einem einzelnen Register()-Deskriptor, der das Register beschreibt, in das das gewünschte Leistungsniveau zu schreiben ist. Minimum Performance Register Puffer Optional. Falls unterstützt, enthält es einen Ressourcendeskriptor mit einem einzelnen Register()-Deskriptor, der das Register beschreibt, in das das kleinste zulässige Leistungsniveau zu schreiben ist. Der Wert 0 entspricht der Niedrigsten Leistung (kein Grenzwert). Maximum Performance Register Puffer Optional. Falls unterstützt, enthält es einen Ressourcendeskriptor mit einem einzelnen Register()-Deskriptor, der das Register beschreibt, in das das größte zulässige Leistungsniveau zu schreiben ist. Alles Einsen entspricht der Höchsten Leistung (kein Grenzwert). Performance Reduction Tolerance Register Puffer Optional. Falls unterstützt, enthält es einen Ressourcendeskriptor mit einem einzelnen Register()-Deskriptor, der das Register beschreibt, in das die Leistungsverringerungstoleranz zu schreiben ist. Time Window Register Puffer Optional. Falls unterstützt, enthält es einen Ressourcendeskriptor mit einem einzelnen Register()-Deskriptor, der das Register beschreibt, in das die Nenndauer (in ms) zwischen aufeinanderfolgenden Lesevorgängen aus dem Gelieferte-Leistung-Register der Plattform zu schreiben ist. Siehe den Abschnitt „Zeitfenster-Register“ zu weiteren Details. Counter Wraparound Time Ganze Zahl (DWORD) oder Puffer Optional. Falls unterstützt, gibt dies die Mindestzeit für den Zählerumlauf in Sekunden an. Falls dieses Element eine ganze Zahl ist, liest das OSPM den ganzzahligen Wert direkt. Falls dieses Element ein Puffer ist (und unterstützt), so muss es einen Ressourcendeskriptor mit einem einzelnen Register() enthalten, aus dem der Wert gelesen werden kann.Nominal Counter Register Puffer Enthält einen Ressourcendeskriptor mit einem einzelnen Register()-Deskriptor, der das Register beschreibt, um einen Zähler zu lesen, der mit einer Rate akkumuliert, die der Nennleistung des Prozessors proportional ist. Delivered Counter Register Puffer Enthält einen Ressourcendeskriptor mit einem einzelnen Register()-Deskriptor, der das Register beschreibt, um einen Zähler zu lesen, der mit einer Rate akkumuliert, die der gelieferten Leistung des Prozessors proportional ist. Performance Limited Register Puffer Enthält einen Ressourcendeskriptor mit einem einzelnen Register()-Deskriptor, der das Register beschreibt, das zu lesen ist, um zu bestimmen, ob die Leistung begrenzt war. Ein Wert ungleich null besagt, dass die Leistung begrenzt war. Dieses Register ist dauerhaft und bleibt gesetzt, bis es zurückgesetzt wird oder durch das OSPM durch Schreiben von 0 gelöscht wird. Siehe den Abschnitt „Leistungsbegrenzung“ zu weiteren Details. Enable Register Puffer Optional. Falls unterstützt, enthält es einen Ressourcendeskriptor mit einem einzelnen Register()-Deskriptor, der ein Register beschreibt, in das das OSPM eine Eins schreibt, um CPPC auf diesem Prozessor zu ermöglichen. Bevor dieses Register gesetzt wird, wird der Prozessor durch Legacy-Mechanismen (ACPI P-Zustände, Firmware usw.) gesteuert. - Das durch das _CPC-Objekt transportierte Register ermöglicht ein OSPM mit Plattformspezifischen Leistungsfähigkeiten, Schwellen und Steuerregistern, die das OSPM dafür verwendet, die Prozessorleistungseinstellungen der Plattform zu steuern. Diese werden in den folgenden Sektionen näher beschrieben. Tabelle 2 listet in einer Übersicht Register auf, die das CPC-Objekt bereitstellt und die vom
BS zum Managen von Energie und Leistung der Plattform verwendet werden. - Es gibt verschiedene Registertypen wie zum Beispiel Fähigkeiten- und Schwellenregister, Steuerregister und Rückkopplungsregister. Die Fähigkeiten- und Schwellenregister zeigen verfügbare Leistungsparameter für den betreffenden Prozessor an. Sie können direkt oder indirekt durch den Prozessor-OEM oder durch eine andere geeignete Entität, die mit den Energie- oder Leistungsfähigkeiten des Prozessors zu tun hat, mit Daten befüllt werden. Die Steuerregister können durch das
BS mit Daten befüllt werden, damit es die Leistung steuern kann, indem es Leistungsparameter von der Plattform abfordert, und die Rückkopplungsregister übermitteln Leistungsdaten von der Plattform an dasBS , damit es feststellen kann, ob eine gewünschte und/oder erwartete Leistung geliefert wird. (Aber es ist zu beachten, dass dies eine prozessorlokale Definition der Leistung ist. Es ist, als ob gefragt wird: Gibst du mir die Leistung, die ich verlangt habe?) Es kann noch weitere Register geben, die ebenfalls adressiert werden können. Tabelle 2 listet einige der Register auf, die in einer ACPI-Implementierung verwendet werden. Tabelle 2Name des Registers ACPI-Ort Attribute Größe Art Highest PCC-Registerraum Lesen; Register oder DWORD-Register 8-32 Bits Leistungsfähigkeiten/Schwellen Performance Nominal PCC-Registerraum Lesen; Register oder DWORD-Register 8-32 Bits Leistungsfähigkeiten/Schwellen Performance Lowest PCC-Registerraum Lesen; Register oder DWORD-Register 8-32 Bits Leistungsfähigkeiten/Schwellen Nominal Performance Lowest PCC-Registerraum Lesen; Register oder DWORD-Register 8-32 Bits Leistungsfähigkeiten/ Schwellen Performance Guaranteed PCC-Register- Optional; Lesen 8-32 Bits Leistungsfähigkeiten/ Performance raum Schwellen Register Maximum PCC-Registerraum Lesen/ Schreiben; Optional 8-32 Bits Leistungssteuerung Performance Register Minimum PCC-Registerraum Lesen/ Schreiben; Optional 8-32 Bits Leistungssteuerung Performance Register Desired PCC-Registerraum Lesen/ Schreiben 8-32 Bits Leistungssteuerung Performance Register Performance PCC-Registerraum Lesen/ Schreiben; Optional 8-32 Bits Leistungssteuerung Reduction Tolerance Register Time PCC-Registerraum Lesen/ Schreiben; Optional; Einheiten: Millisekunden 8-32 Bits Leistungssteuerung Window Register Nominal PCC-Registerraum Lesen; 32 oder 64 Bits Leistungsrückkopplung Performance Counter Delivered PCC-Registerraum Lesen 32 oder 64 Bits Leistungsrückkopplung Performance Register Counter PCC-Registerraum Optional; Lesen; Register oder DWORD; Einheiten: Sekunden 32 oder 64 Bits Leistungsrückkopplung Wraparound Time Performance PCC-Registerraum Lesen/ Schreiben ≥ 1 Bit(s) Leistungsrückkopplung Limited Register Enable PCC- oder System-E/A-Registerraum Optional; Lesen/ Schreiben ≥ 1 Bit(s) Aktivieren Register Nominal PCC-Registerraum Lesen; 32 oder 64 Bits Leistungsrückkopplung Performance Counter Delivered PCC-Registerraum Lesen 32 oder 64 Bits Leistungsrückkopplung Performance Register Counter PCC-Registerraum Optional; 32 oder 64 Bits Leistungsrückkopplung Wraparound Lesen; Time Register oder DWORD; Einheiten: Sekunden Performance PCC-Registerraum Lesen/ Schreiben ≥ 1 Bit(s) Leistungsrückkopplung Limited Register Enable PCC- oder System-E/A-Registerraum Optional; ≥ 1 Bit(s) Aktivieren Register Lesen/ Schreiben -
6 zeigt eine relative Leistungsniveauskala gemäß einigen Ausführungsformen. Leistungsbasierte Steuerungen arbeiten auf der Grundlage eines kontinuierlichen Bereichs von Prozessorleistungsniveaus und nicht diskreter Prozessorzustände. Infolge dessen können Plattformfähigkeiten und BS-Anforderungen im Hinblick auf Leistungsschwellen spezifiziert werden.6 veranschaulicht grafisch diese Leistungsschwellen für die Plattform. Sie werden auch weiter unten besprochen. (Es ist zu beachten, dass nicht alle Leistungsniveaus einmalig zu sein brauchen. Das Nennleistungsniveau einer Plattform kann beispielsweise auch ihr höchstes Leistungsniveau sein. Darüber hinaus kann zwar die Plattform Registergrößen innerhalb eines zulässigen Bereichs spezifizieren, doch sollte die Größe der Fähigkeiten- und Schwellenregister mit der Größe der Steuerregister kompatibel sein, wie weiter unten noch näher besprochen wird. Darüber hinaus sollte in einigen Ausführungsformen - falls die Plattform CPPC unterstützt - das CPC-Objekt unter allen Prozessorobjekten existieren. Das heißt, es braucht nicht erwartet zu werden, dass das OSPM gemischte Modi, zum Beispiel CPPC und Legacy-PSS, gleichzeitig für alle Prozessoren in einer Plattform unterstützt.) - Die höchste Leistungsschwelle (Leistungswert = N) ist - unter der Annahme idealer Zustände - wahrscheinlich die maximale Leistung, die ein einzelner Prozessor erreichen kann. Dieses Leistungsniveau kann möglicherweise nicht lange aufrechterhalten werden und ist möglicherweise nur erreichbar, falls sich andere Plattformkomponenten in einem bestimmten Zustand befinden. Zum Beispiel kann es erfordern, dass andere Prozessoren sich in einen Leerlaufzustand befinden. Die Nennleistung ist das maximale Dauerleistungsniveau des Prozessors unter Annahme idealer Betriebsbedingungen. Bei Nichtvorliegen einer externen Einschränkung (Energie, thermisch usw.) ist dies das Leistungsniveau, von dem erwartet wird, dass die Plattform es kontinuierlich beibehalten kann. Es wird erwartet, dass alle Prozessoren in der Lage sind, ihren Nennleistungszustand gleichzeitig aufrecht zu erhalten.
- Das „niedrigste Nenn“-Leistungsniveau ist das niedrigste Leistungsniveau, bei dem nicht-lineare Energieeinsparungen erreicht werden, d. h. nennenswerte Energieeinsparungen können aus Spannungs- und Frequenzskalierung erhalten werden. Oberhalb dieser Schwelle sollten niedrigere Leistungsniveaus im Allgemeinen energieeffizienter sein als höhere Leistungsniveaus. In herkömmlichen Begriffen ausgedrückt, stellt dies den P-Zustandsbereich der Leistungsniveaus dar. Das „niedrigste“ Leistungsniveau ist das absolut niedrigste Leistungsniveau der Plattform. Die Auswahl eines Leistungsniveaus, das niedriger ist als das niedrigste nicht-lineare Leistungsniveau, verringert in der Regel den momentanen Stromverbrauch des Prozessors. In herkömmlichen Begriffen ausgedrückt, stellt dies den T-Zustandsbereich der Leistungsniveaus dar.
- Das Garantierte-Leistung-Register übermittelt an das OSPM ein Garantiertes Leistungsniveau, das - unter Berücksichtigung bekannter externer Beschränkungen (Energiehaushalt, thermische Beschränkungen, Wechselstromquelle im Verhältnis zu einer Gleichstromquelle usw.) - das momentane maximale Dauerleistungsniveau eines Prozessors ist. Es wird erwartet, dass Prozessoren in der Lage sind, ihre garantierten Leistungsniveaus gleichzeitig aufrecht zu erhalten. Das garantierte Leistungsniveau muss in den Bereich (
9 ) zwischen Niedrigstem Leistungsniveau und Nennleistungsniveau (inklusive) liegen. - In einigen Ausführungsformen wird die garantierte Leistung als gleich der Nennleistung angenommen, falls dieses Register nicht implementiert ist. Falls dieses Register verwendet wird, kann das OSPM das Garantierte-Leistung-Register neu evaluieren. So kann die Plattform effektiv das Nennniveau ändern und so die garantierte Leistungsschwelle ändern. (In einigen Regimes, zum Beispiel der ACPI 5-Spezifikation, sollten Wechsel zur garantierten Leistung nicht häufiger stattfinden als einmal pro Sekunde. Falls die Plattform nicht in der Lage ist, ein bestimmtes Leistungsniveau dauerhaft zu garantieren (länger als eine Sekunde), so sollte sie ein niedrigeres Leistungsniveau garantieren und gelegentlich auf das höhere Leistungsniveau gehen, wenn es durch das
OSPM verlangt und durch die augenblicklichen Betriebsbedingungen gestattet wird. - Mit Bezug auf
7 kann einBS mitOSPM verschiedene Leistungseinstellungen haben, die in Verbindung mit dem Steuern der Leistung der Plattform verwendet werden.Das BS kann jeden Leistungswert innerhalb des kontinuierlichen Wertebereichs auswählen, der durch die Plattform unterstützt wird. Intern kann die Plattform eine kleine Anzahl diskreter Leistungszustände implementieren und ist möglicherweise nicht in der Lage, auf exakt dem Leistungsniveau zu arbeiten, das durch dasBS gewünscht wird. Falls kein Plattforminterner Zustand existiert, der dem vomBS gewünschten Leistungsniveau entspricht, so kann die Plattform zum Beispiel die gewünschte Leistung folgendermaßen runden: Falls dasBS ein gewünschtes Leistungsniveau ausgewählt hat, das mindestens so groß ist wie die garantierte Leistung, so kann die Plattform auf- oder abrunden. Das Ergebnis des Rundens sollte nicht kleiner sein als die garantierte Leistung. Falls dasBS ein gewünschtes Leistungsniveau ausgewählt hat, das kleiner ist als die garantierte Leistung, und ein maximales Leistungsniveau ausgewählt hat, das nicht kleiner als die garantierte Leistung ist, so sollte die Plattform aufrunden. Falls dasBS sowohl ein gewünschtes Leistungsniveau als auch ein maximales Leistungsniveau ausgewählt hat, die kleiner als die garantierte Leistung sind, so sollte die Plattform aufrunden, falls Aufrunden nicht gegen das maximale Leistungsniveau verstößt. Anderenfalls wird abgerundet. DasBS sollte das Abrunden der Plattform tolerieren, falls es entscheidet, das maximale Leistungsniveau auf einen niedrigeren Wert zu setzen als die garantierte Leistung. (Diese Herangehensweise begünstigt die Leistung, außer in dem Fall, wo die Leistung aufgrund einer Plattform- oder BS-Einschränkung begrenzt wurde.) - Es werden nun einige der Steuerregister beschrieben. Das
BS kann zweckmäßige Werte für eine gewünschte Leistung in sie schreiben. Das Maximalleistungsregister übermittelt das absolute maximale augenblickliche Leistungsniveau, auf dem die Plattform arbeiten kann. Die maximale Leistung kann auf jeden Leistungswert im Bereich zwischen der niedrigsten Leistung und der höchsten Leistung (inklusive) eingestellt werden. - Dieses Register ist optional, aber die Plattform sollte entweder sowohl das Mindestleistungs- als auch das Maximalleistungsregister oder gar kein Register implementieren. Falls gar kein Register implementiert wird, so sollte die Plattform die gewünschte Leistung liefern.
- Das Mindestleistungsregister übermittelt das absolute augenblickliche Mindestleistungsniveau, auf dem die Plattform arbeiten kann. Die Mindestleistung kann auf jeden Leistungswert im Bereich zwischen der niedrigsten Leistungsschwelle und der garantierten Leistungsschwelle (inklusive) eingestellt werden. Der Mindestleistungswert sollte nicht auf einen höheren Wert eingestellt werden als das maximale Leistungsniveau.
- Das Mindestleistungsregister ist ebenfalls optional, aber die Plattform sollte entweder sowohl das Mindestleistungs- als auch das Maximalleistungsregister oder gar kein Register implementieren. Falls gar kein Register implementiert wird, sollte die Plattform die gewünschte Leistung liefern.
- Das Gewünschte-Leistung-Register übermittelt das Leistungsniveau, das das BS von der Plattform abfordert. Die gewünschte Leistung kann auf jeden Leistungswert im Bereich zwischen Mindest- und Maximalleistungsniveau (inklusive) eingestellt werden. Die gewünschte Leistung kann eine von zwei Bedeutungen annehmen, je nachdem, ob die gewünschte Leistung über oder unter dem garantierten Leistungsniveau liegt.
- Unter dem garantierten Leistungsniveau drückt die gewünschte Leistung das durchschnittliche Leistungsniveau aus, dass die Plattform vorbehaltlich der Leistungsverringerungstoleranz bereitstellen sollte. Über dem garantierten Leistungsniveau sollte die Plattform das garantierte Leistungsniveau bereitstellen. Die Plattform sollte versuchen, Leistung bis zur Höhe des gewünschten Leistungsniveaus bereitzustellen, falls die aktuellen Betriebsbedingungen es zulassen, aber zwingend ist es nicht.
- Das Zeitfenster-Register erlaubt es dem
OSPM , ein Zeitfenster anzuzeigen, über das die Plattform das gewünschte Leistungsniveau (vorbehaltlich der Leistungsverringerungstoleranz) bereitstellen sollte. DasOSPM stellt das Zeitfenster ein, wenn es sich für eine neue gewünschte Leistung entscheidet. Das Zeitfenster stellt die Mindestzeitdauer dar, die dasOSPM die von der Plattform gelieferte Leistung evaluiert. Falls dasOSPM die gelieferte Leistung über ein Intervall evaluiert, das kürzer als das spezifizierte Zeitfenster ist, so sollte es keinerlei Erwartungen bezüglich der durch die Plattform gelieferten Leistung haben. Andererseits sollte die Plattform bei einem Evaluierungsintervall, das mindestens so groß ist wie das Zeitfenster, die vom BS gewünschte Leistung innerhalb der spezifizierten Toleranzgrenze liefern. - Falls das BS ein Zeitfenster von null spezifiziert, oder falls die Plattform nicht das Zeitfenster-Register unterstützt, so sollte die Plattform eine Leistung innerhalb der Grenzen der Leistungsverringerungstoleranz liefern, und zwar ungeachtet der Dauer des Evaluierungsintervalls.
- Das Leistungsverringerungstoleranzregister wird vom
BS dafür verwendet, die tolerierbare Abweichung unter der gewünschten Leistung zu übermitteln. Sie wird durch dasBS als ein absoluter Wert auf der Leistungsskala ausgedrückt. Die Leistungstoleranz sollte nicht größer sein als die gewünschte Leistung. Falls die Plattform das Zeitfenster-Register unterstützt, übermittelt die Leistungsverringerungstoleranz den Mindestleistungswert, der durchschnittlich über das Zeitfenster geliefert werden kann. Wenn andererseits das Zeitfenster-Register nicht implementiert ist, so sollte die Plattform annehmen, dass die Leistungsverringerungstoleranz der Toleranz für die augenblickliche gewünschte Leistung entspricht. - Die Plattform stellt eine Leistungsrückkopplung über einen Satz Leistungszähler und einen Leistung-begrenzt-Indikator bereit, die in Rückkopplungsregistern implementiert werden können, wie zum Beispiel in Tabelle 2 angeführt.
- Um das im Lauf der Zeit gelieferte tatsächliche Leistungsniveau zu bestimmen, kann das BS einen Satz Leistungszähler aus dem Nennzählerregister und dem Geliefert-Zähler-Register lesen. Das
BS berechnet die gelieferte Leistung über einen bestimmten Zeitraum, indem es eine Anfangs- und eine End-Momentaufnahme sowohl des Nenn- als auch des Gelieferte-Leistung-Zählers nimmt berechnet: - Die gelieferte Leistung sollte in den Bereich zwischen niedrigster und höchster Leistung (inklusive) fallen. Das
BS kann den Gelieferte-Leistung-Zähler als einen Rückkopplungsmechanismus verwenden, um den gewünschten Leistungszustand, des es auswählt, zu präzisieren. - Es gibt Beschränkungen, die bestimmen, wie und wann die durch die Plattform gelieferte Leistung von der vom
BS gewünschten Leistung abweichen kann. Entsprechend der durch dasOSPM eingestellten gewünschten Leistung zu jedem späteren Zeitpunkt können die folgenden Beschränkungen für die gelieferte Leistung gelten. Die gelieferte Leistung kann höher sein als die durch dasOSPM abgeforderte gewünschte Leistung, falls die Plattform in der Lage ist, die höhere Leistung mit der gleichen oder weniger Energie zu liefern, als wenn sie die gewünschte Leistung liefern würde. Die gelieferte Leistung kann höher oder niedriger sein als die vomOSPM gewünschte Leistung, falls die Plattform diskrete Leistungszustände hat und die Leistung gemäß dem im BS-Steuerungsabschnitt vorgeschriebenen Algorithmus auf das nächste unterstützte Leistungsniveau abrunden müsste. Die gelieferte Leistung kann niedriger sein als die vom BS gewünschte Leistung, falls die Effizienzoptimierungen der Plattform dazu führen, dass die gelieferte Leistung geringer ist als die gewünschte Leistung. Jedoch sollte die gelieferte Leistung im Allgemeinen nicht geringer sein als die durch dasOSPM spezifizierte Leistung. - Die Leistungsverringerungstoleranz bildet eine Grenze für die Plattform, wie aggressiv sie bei der Optimierung der Lieferung der Leistung sein darf. Die Plattform sollte keine Optimierung ausführen, die dazu führen würde, dass die gelieferte Leistung niedrig ist als die durch das BS spezifizierte Leistungsverringerungstoleranz.
- Das Nennzählerregister zählt jedes Mal, wenn der Prozessor aktiv ist, mit einer fixen Rate. Es wird nicht durch Änderungen der gewünschten Leistung, Prozessordrosselung usw. beeinflusst.
- Der Gelieferte-Leistung-Zähler inkrementiert jedes Mal, wenn der Prozessor aktiv ist, mit einer Rate proportional zum aktuellen Leistungsniveau unter Berücksichtigung von Änderungen der gewünschten Leistung. Wenn der Prozessor auf seinem Nennleistungsniveau arbeitet, so inkrementiert der Gelieferte-Leistung-Zähler mit der gleichen Rate wie der Nennleistungszähler.
- Die Zählerumlaufzeit bildet ein Mittel für die Plattform, eine Verlängerungszeit für die Nennleistungs- und Gelieferte-Leistung-Zähler zu spezifizieren. Ist sie größer als dieser Zeitraum, der zwischen dem Abfragen der Rückkopplungszähler durch das
OSPM verstreicht, so können die Zähler umlaufen, ohne dass dasOSPM in der Lage ist zu detektieren, dass sie sie es getan haben. Ist die nicht implementiert (oder null), so wird angenommen, dass die Leistungszähler während der Lebensdauer der Plattform nicht umlaufen. - Mit dem Garantierte-Leistung-Register zeigt die Plattform vorhersagbare Einschränkungen für die Leistung an, die es liefern kann. Falls die Plattform aufgrund eines unvorhersagbaren Ereignisses die gelieferte Leistung auf weniger als die gewünschte Leistung (oder weniger als die garantierte Leistung, falls die gewünschte Leistung größer ist als die garantierte Leistung) beschränken muss, so setzt die Plattform den Leistung-begrenzt-Indikator auf einen Wert ungleich null. Dies zeigt dem
BS an, dass ein unvorhersagbares Ereignis die Prozessorleistung begrenzt hat, und die gelieferte Leistung kann weniger als die gewünschte Leistung sein. Der Leistung-begrenzt-Indikator ist dauerhaft und bleibt ungleich null, bis das BS ihn durch Schreiben einer 0 in das Register löscht. - Das Leistung-begrenzt-Register sollte nur verwendet werden, um kurzfristige, unvorhersagbare Ereignisse zu berichten (dass zum Beispiel PROCHOT aufgedrückt wird). Falls die Plattform in der Lage ist, längerfristige, vorhersagbare Ereignisse zu identifizieren, die die Prozessorleistung begrenzen, so sollte sie das Garantierte-Leistung-Limit verwenden, um das BS über diese Einschränkung zu informieren. Änderungen der garantierten Leistung sollten nicht häufiger als einmal pro Sekunde stattfinden. Falls die Plattform nicht in der Lage ist, ein bestimmtes Leistungsniveau über einen längeren Zeitraum (länger als eine Sekunde) zu garantieren, so sollte sie ein niedrigeres Leistungsniveau garantieren und gelegentlich auf ein höheres Leistungsniveau gehen, das durch das BS abgefordert und durch die aktuellen Betriebsbedingungen gestattet wird.
- Das Enable-Register ist ein optionales Lesen/Schreib-Register, ein oder mehrere Bits lang, das sich im PCC- oder System-E/A-Raum befinden kann - dieses ist im
MSR . Falls durch die Plattform unterstützt, schreibt dasBS eine Eins in dieses Register, umCPPC auf dem jeweiligen Prozessor zu aktivieren. Falls nicht implementiert, so nimmt dasBS an, dass die PlattformCPPC aktiviert hat. - BS-Charakterisierung
- Damit ein
BS eine einheitslose, leistungsskalierte Schnittstelle (angesichts der abstrakten, relativen Art der Skala) verwenden kann, sollte dasBS in den meisten Ausführungsformen zunächst die Arbeitslastleistung charakterisieren, die durch die Schnittstelle geliefert wird. Dies könnte auf unterschiedlichste Weise geschehen. Zum Beispiel könnte es dadurch geschehen, dass man Leistungsbereichswerte auswählt, während autonome Plattform-Energiemanagementmerkmale (zum Beispiel Energieeffizienzoptimierungsmerkmale, die einseitig Leistungsparameter innerhalb von Min.- und Max.-Grenzen variieren, um Energie zu sparen) deaktiviert sind. Zum Beispiel könnte ihr Abschalten in einer ACPI-Implementierung geschehen, indem man entweder die Mindest-, Maximal- und Gewünscht-Eingaben auf den gleichen Wert setzt oder indem man das Zeitfenster auf null setzt. Natürlich könnten bei Nicht-ACPI-Implementierungen auch andere Herangehensweisen zum Beschränken der Plattform verwendet werden, um anzugeben, was jeder (oder ein Querschnitt) der Leistungswerte für dasBS bedeutet. - In einigen Ausführungsformen wählt das
BS Werte im Leistungswertebereich vom Niedrigsten bis Nominal (inklusive) aus, während eine Charakterisierungsarbeitslast abläuft, und beobachtet das Arbeitsergebnis. In anderen Ausführungsformen wählt das BS Werte im selben Bereich (vom Niedrigsten bis Nominal) aus und liest statistische Zähler, zum Beispiel ACPI-ACNT und MCNT-MSRs, welche die resultierende Frequenz an den logischen Prozessor übermitteln. - Die Charakterisierungsarbeitslast könnte eine sein, die eine Mindestdienstqualität verlangt, um ein gewünschtes Ergebnis zu erreichen. Durch Charakterisieren, welcher Leistungswert die Mindest-QoS erreicht, könnte das
BS dann später jenen Wert als Minimum einstellen, wann immer jene Art von Arbeitslast aktiv ist, um sicherzustellen, dass die QoS eingehalten wird. Anderenfalls könnte das Charakterisierungsergebnis, beispielsweise die Frequenz, durch dasBS bei der Implementierung einer bedarfsbasierten Umschaltvorschrift für die Leistungszustandssteuerung verwendet werden, wo der Leistungszustand anhand der Arbeitslast (Auslastungsgrad) des logische Prozessors ausgewählt wird. Es ist zu beachten, dass es verschiedene Arten von Charakterisierungsarbeitslasten geben kann und dass diese dafür verwendet werden könnten, mehrere QoS-Minima (entsprechend der Art der Arbeitslast) zu bestimmen. - In der vorausgegangenen Beschreibung und den folgenden Ansprüchen sind die folgenden Begriffe folgendermaßen auszulegen: Es können die Begriffe „gekoppelt“ und „verbunden“, zusammen mit ihren Ableitungen, vorkommen. Es versteht sich, dass diese Begriffe nicht als Synonyme für einander gedacht sind. Vielmehr wird in bestimmten Ausführungsformen „verbunden“ verwendet, um anzuzeigen, dass zwei oder mehr Elemente in direktem physischem oder elektrischem Kontakt miteinander stehen. „Gekoppelt“ wird verwendet, um anzuzeigen, dass zwei oder mehr Elemente miteinander zusammenwirken oder in einer Wechselbeziehung stehen, wobei sie in direktem physischem oder elektrischem Kontakt stehen können, aber mit müssen.
- Die Erfindung ist nicht auf die beschriebenen Ausführungsformen beschränkt, sondern kann mit Modifizierungen und Abänderungen innerhalb des Geistes und Geltungsbereichs der beiliegenden Ansprüche praktiziert werden. Zum Beispiel versteht es sich, dass die vorliegende Erfindung zur Verwendung auf alle Arten von integrierten Halbleiterschaltkreis („IC“)-Chips anwendbar ist. Zu Beispielen solcher IC-Chips gehören Prozessoren, Controller, Chipsatz-Komponenten, programmierbare Logik-Arrays (PLA), Speicherchips, Netzwerkchips und dergleichen.
- Es versteht sich des Weiteren, dass in einigen der Zeichnungen Signalleitungen als Linien dargestellt sind. Einige können dicker sein, um eigenständigere Signalwege anzuzeigen, können eine Zahlenbezeichnung haben, um eine Anzahl der eigenständigen Signalwege anzugeben, und/oder können mit Pfeilen an einem oder mehreren Enden versehen sein, um die Hauptflussrichtung von Informationen anzuzeigen. Dies darf jedoch nicht in einer einschränkenden Weise verstanden werden. Vielmehr können solche zusätzlichen Details in Verbindung mit einer oder mehreren beispielhaften Ausführungsformen verwendet werden, um das leichtere Verstehen eines Schaltkreises zu ermöglichen. Alle dargestellten Signalleitungen, unabhängig davon, ob mit zusätzlichen Informationen oder nicht, können in Wirklichkeit ein oder mehrere Signale umfassen, die sich in mehreren Richtungen ausbreiten können und mit jeder geeigneten Art von Signalregime implementiert werden können, zum Beispiel digitalen oder analogen Leitungen, die mit differenziellen Paaren, optischen Faserleitungen und/oder einendigen Leitungen implementiert werden.
- Es versteht sich, dass beispielhafte Größen, Modelle, Werte oder Bereiche angegeben worden sein können, obgleich die vorliegende Erfindung nicht darauf beschränkt ist. In dem Maße, wie die Fertigungstechniken (zum Beispiel Fotolithografie) im Lauf der Zeit weiterentwickelt werden, wird erwartet, dass immer kleinere Bauelemente hergestellt werden könnten. Darüber hinaus können gegebenenfalls allgemein bekannte Energie-Erde-Verbindungen zu IC-Chips und anderen Komponenten in den Figuren gezeigt sein, um das Verständnis von Ausführungsformen der Erfindung zu vereinfachen und die wichtigen Aspekte der Erfindung nicht in den Hintergrund treten zu lassen. Des Weiteren können Anordnungen in Blockschaubildform gezeigt sein, um zu vermeiden, dass wichtige Aspekte der Erfindung in den Hintergrund treten, und ebenso angesichts der Tatsache, dass konkrete Details mit Bezug auf die Implementierung solcher Blockschaubildanordnungen stark von der Plattform abhängig sind, innerhalb der die vorliegende Erfindung implementiert werden soll, d. h. solche konkreten Details sollten durchaus innerhalb des Kompetenzbereichs eines Fachmanns liegen. Wo konkrete Details (zum Beispiel Schaltkreise) dargelegt sind, um beispielhafte Ausführungsformen der Erfindung zu beschreiben, leuchtet dem Fachmann ein, dass die Erfindung auch ohne diese konkreten Details oder mit einer Variation dieser konkreten Details praktiziert werden kann. Die Beschreibung ist somit als veranschaulichend und nicht als einschränkend für die Erfindung anzusehen, welche durch die Patentansprüche definiert ist.
Claims (16)
- Vorrichtung, die Folgendes umfasst: einen Prozessor und einen Speicher mit Instruktionen, die durch den Prozessor ausgeführt werden sollen, wobei die Instruktionen, wenn sie ausgeführt werden, ein Betriebssystem (BS) implementieren und Fähigkeiten-Register (502) identifizieren, aufweisend: ein Höchstleistungsregister, ein Nennleistungsregister und ein Niedrigstleistungsregisters, wobei die Fähigkeiten-Register (502) eingerichtet sind, dem BS eine Skala verfügbarer Leistungsniveaus anzuzeigen, wobei die Fähigkeiten-Register (502) getrennt von einem oder mehreren Steuerregistern (504) sind und wobei die Fähigkeiten-Register (502) ein Garantierte-Leistung-Register umfassen, um einen Ressourcendeskriptor anzugeben, der ein momentanes garantiertes Leistungsniveau beschreibt.
- Vorrichtung nach
Anspruch 1 , wobei das Höchstleistungsregister das höchste Leistungsniveau angibt, das der Prozessor unter idealen Betriebsbedingungen theoretisch erreichen kann. - Vorrichtung nach
Anspruch 1 , wobei das Nennleistungsregister das höchste Dauerleistungsniveau des Prozessors angibt. - Vorrichtung nach
Anspruch 1 , wobei das Niedrigstleistungsregister das niedrigste Leistungsniveau des Prozessors angibt. - Vorrichtung nach
Anspruch 1 , wobei Instruktionen, wenn sie ausgeführt werden, des Weiteren ein oder mehrere Steuerregister (504) identifizieren, einschließlich eines Gewünschte-Leistung-Registers, die durch ein BS beschrieben werden sollen. - Vorrichtung nach
Anspruch 5 , wobei das eine oder die mehreren Steuerregister (504) ein Mindestleistungsregister enthalten, um ein augenblickliches Mindestleistungsniveau anzuzeigen. - Vorrichtung nach
Anspruch 6 , wobei das eine oder die mehreren Steuerregister (504) ein Maximalleistungsregister enthalten, um ein augenblickliches Maximalleistungsniveau anzuzeigen. - Vorrichtung nach
Anspruch 7 , wobei das eine oder die mehreren Steuerregister (504) ein Zeitintervallregister enthalten, um eine Zeitspanne anzuzeigen, über die sich die durchschnittliche gelieferte Leistung an die gewünschte Leistung in dem Gewünschte-Leistung-Register wenigstens annähern sollte. - Vorrichtung, die Folgendes umfasst: einen Prozessor, der, wenn er in einem Betriebssystem (BS) mit betriebssystemgesteuertem Konfigurations- und Energiemanagement (OSPM) arbeitet, dazu dient, eine Leistungssteuerungsschnittstelle zu ermöglichen, die Fähigkeiten-Register umfasst, aufweisend: ein Höchstleistungsregister, ein Nennleistungsregister und ein Niedrigstleistungsregister, wobei die Fähigkeiten-Register eingerichtet sind, dem BS eine Skala verfügbarer Leistungsniveaus anzuzeigen, wobei die Fähigkeiten-Register getrennt von einem oder mehreren Steuerregistern sind und wobei die Fähigkeiten-Register ein Garantierte-Leistung-Register aufweisen, um einen Ressourcendeskriptor anzugeben, der ein momentanes garantiertes Leistungsniveau beschreibt.
- Vorrichtung nach
Anspruch 9 , wobei das Höchstleistungsregister das höchste Leistungsniveau angibt, das der Prozessor unter idealen Betriebsbedingungen theoretisch erreichen kann. - Vorrichtung nach
Anspruch 9 , wobei das Nennleistungsregister das höchste Dauerleistungsniveau des Prozessors angibt. - Vorrichtung nach
Anspruch 9 , wobei das Niedrigstleistungsregister das niedrigste Leistungsniveau des Prozessors angibt. - Vorrichtung nach
Anspruch 9 , wobei Instruktionen, wenn sie ausgeführt werden, des Weiteren ein oder mehrere Steuerregister identifizieren, einschließlich eines Gewünschte-Leistung-Registers, die durch ein BS beschrieben werden sollen. - Vorrichtung nach
Anspruch 13 , wobei das eine oder die mehreren Steuerregister ein Mindestleistungsregister enthalten, um ein augenblickliches Mindestleistungsniveau anzuzeigen. - Vorrichtung nach
Anspruch 14 , wobei das eine oder die mehreren Steuerregister ein Maximalleistungsregister enthalten, um ein augenblickliches Maximalleistungsniveau anzuzeigen. - Vorrichtung nach
Anspruch 15 , wobei das eine oder die mehreren Steuerregister ein Zeitintervallregister enthalten, um eine Zeitspanne anzuzeigen, über die sich die durchschnittliche gelieferte Leistung an die gewünschte Leistung in dem Gewünschte-Leistung-Register wenigstens annähern sollte.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161563030P | 2011-11-22 | 2011-11-22 | |
US61/563,030 | 2011-11-22 | ||
USUS-61/563,030 | 2011-11-22 | ||
PCT/US2011/068200 WO2013077891A1 (en) | 2011-11-22 | 2011-12-30 | Collaborative processor and system performance and power management |
Publications (2)
Publication Number | Publication Date |
---|---|
DE112011105867T5 DE112011105867T5 (de) | 2014-11-06 |
DE112011105867B4 true DE112011105867B4 (de) | 2020-03-19 |
Family
ID=48470182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112011105867.5T Active DE112011105867B4 (de) | 2011-11-22 | 2011-12-30 | Kollaboratives Prozessor- und Systemleistungs- und Energiemanagement |
Country Status (10)
Country | Link |
---|---|
US (14) | US10108433B2 (de) |
JP (1) | JP6155507B2 (de) |
KR (3) | KR101763102B1 (de) |
CN (1) | CN103946765B (de) |
BR (1) | BR112014012398B1 (de) |
DE (1) | DE112011105867B4 (de) |
GB (1) | GB2510091B (de) |
IN (1) | IN2014CN02785A (de) |
TW (3) | TWI502505B (de) |
WO (7) | WO2013077891A1 (de) |
Families Citing this family (38)
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 (de) * | 2019-07-15 | 2023-08-02 | INTEL Corporation | Dynamische energieleistungspräferenz basierend auf arbeitsbelastungen unter verwendung eines adaptiven algorithmus |
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 |
CN115543055B (zh) * | 2022-11-28 | 2023-03-14 | 苏州浪潮智能科技有限公司 | 电源管理的控制权移交方法、装置、设备和存储介质 |
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 (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030226043A1 (en) * | 2002-05-28 | 2003-12-04 | Nvidia Corporation | Method and apparatus for providing a decoupled power management state |
US20100306768A1 (en) * | 2009-05-29 | 2010-12-02 | Dell Products L.P. | Methods for Managing Performance States in an Information Handling System |
Family Cites Families (107)
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 (de) * | 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 (de) * | 1999-02-24 | 2009-08-19 | Hitachi Ltd | Rechnersystem und verfahren um rechnerprobleme eines rechnersystems zu handhaben |
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 (de) * | 1999-09-17 | 2001-03-21 | Hewlett-Packard Company | Betrieb von gesicherten Zustand in einer Computerplattform |
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 |
US7089430B2 (en) * | 2001-12-21 | 2006-08-08 | Intel Corporation | Managing multiple processor performance states |
US20030188146A1 (en) * | 2002-03-28 | 2003-10-02 | Hale Robert P. | Method of ordered execution of firmware modules in a pre-memory execution environment |
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 |
US7131015B2 (en) | 2002-11-12 | 2006-10-31 | Arm Limited | Performance level selection in a data processing system using a plurality of performance request calculating algorithms |
US7219241B2 (en) * | 2002-11-30 | 2007-05-15 | Intel Corporation | Method for managing virtual and actual performance states of logical processors in a multithreaded processor using system management mode |
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 | 松下电器产业株式会社 | 振荡电路 |
US7827283B2 (en) | 2003-02-19 | 2010-11-02 | International Business Machines Corporation | System for managing and controlling storage access requirements |
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 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プラットフォーム構成測定装置、プログラム及び方法、プラットフォーム構成認証装置、プログラム及び方法、プラットフォーム構成証明装置、プログラム及び方法、並びに、プラットフォーム構成開示装置、プログラム及び方法 |
US7360103B2 (en) * | 2004-05-21 | 2008-04-15 | Intel Corporation | P-state feedback to operating system with hardware coordination |
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 (de) * | 2004-07-16 | 2011-10-12 | Brother Ind Ltd | Verbindungsmodus-steuereinrichtung, verbindungsmodus-steuerverfahren und verbindungsmodus-steuerprogramm |
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 |
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 (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030226043A1 (en) * | 2002-05-28 | 2003-12-04 | Nvidia Corporation | Method and apparatus for providing a decoupled power management state |
US20100306768A1 (en) * | 2009-05-29 | 2010-12-02 | Dell Products L.P. | Methods for Managing Performance States in an Information Handling System |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112011105867B4 (de) | Kollaboratives Prozessor- und Systemleistungs- und Energiemanagement | |
DE112012006377B4 (de) | Energieverbrauch und Leistung von Computersystemen steuern | |
DE112012002664B4 (de) | Erhöhen der Energieeffizienz des Turbo-Modus-Betriebs in einem Prozessor | |
DE102010045743B4 (de) | Verfahren und Vorrichtung, um Turboleistung für das Event-Handling zu verbessern | |
DE102007021258B4 (de) | Leistungszuweisungsmanagement in einem Informationsverarbeitungssystem | |
DE102009058426B4 (de) | Verfahren und Vorrichtung zum Power-Management eines Prozessors | |
DE112008001655B4 (de) | Verfahren, System und Vorrichtung für einen Kernaktivitätsdetektor zum Erleichtern von Dynamischer Stromverwaltung in einem verteilten System | |
DE112012003701B4 (de) | Dynamisches Zuordnen eines Leistungsbudgets über mehrere Domänen eines Prozessors | |
DE112007001987B4 (de) | Überführen einer Rechenplattform in einen Systemzustand niedriger Leistung | |
DE102009041723B4 (de) | Prozessor-Leistungsverbrauchsteuerung und Spannungsabsenkung über eine Mikroarchitektur-Bandbreitenbegrenzung | |
DE112013006184T5 (de) | Verwalten eines Leistungszustandes eines Prozessors | |
DE112007000446T5 (de) | Verfahren und Vorrichtung zum Verwenden dynamischer Arbeitsmengenmerkmale, um die Skalierung von Frequenz und Spannung einer CPU zu steuern | |
DE112011103216T5 (de) | Scheduling von Anwendungen in heterogenen Multiprozessorcomputerplattformen | |
DE112013006241T5 (de) | Techniken für Plattform-Arbeitszyklus-Wechsel | |
DE102019112776A1 (de) | Thermisches selbstlernen mit durch bestärkung lernendem agenten | |
DE102009015495A1 (de) | Energieverwaltung bei einer Plattform basierend auf der Lenkung über die Wartezeit | |
DE102008064866B3 (de) | Elektronische Steuerungsvorrichtung und Verfahren zur elektronischen Steuerung und zur Betätigung einer elektronischen Steuerungsvorrichtung | |
DE102013217804A1 (de) | System und Verfahren zur Berücksichtigung von Alterungswirkungen in einer Computervorrichtung | |
DE102015102689A1 (de) | Steuern von Flankensteilheiten eines Prozessors auf der Basis eines Batterieladezustands | |
DE112012006163B4 (de) | Steuerung des Energieverbrauchs in Mehrkernumgebungen | |
DE112010004982B4 (de) | Fortschrittliche Stromverwaltung von Plattenlaufwerken auf der Grundlage des höchsten Systemdurchsatzes | |
DE112007003007T5 (de) | Verfahren und Vorrichtung für die Energieverwaltung bei einem Prozessor | |
DE112013002011B4 (de) | Minimieren der Leistungsaufnahme für den Betrieb einer Verarbeitungseinheit mit fester Frequenz | |
DE112012006164B4 (de) | Steuern von Power-Management in Mikroservern | |
DE102009031498B4 (de) | Leistungsoptimierte dynamische Portzuweisung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R082 | Change of representative |
Representative=s name: BOEHMERT & BOEHMERT ANWALTSPARTNERSCHAFT MBB -, DE |
|
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R130 | Divisional application to |
Ref document number: 112011106170 Country of ref document: DE |
|
R020 | Patent grant now final | ||
R081 | Change of applicant/patentee |
Owner name: TAHOE RESEARCH, LTD., IE Free format text: FORMER OWNER: INTEL CORPORATION, SANTA CLARA, CALIF., US |
|
R082 | Change of representative |
Representative=s name: DENNEMEYER & ASSOCIATES S.A., DE |