DE112006003575B4 - Verfahren und Vorrichtung für einen Nullspannungs-Prozessorschlafzustand - Google Patents
Verfahren und Vorrichtung für einen Nullspannungs-Prozessorschlafzustand Download PDFInfo
- Publication number
- DE112006003575B4 DE112006003575B4 DE112006003575.4T DE112006003575T DE112006003575B4 DE 112006003575 B4 DE112006003575 B4 DE 112006003575B4 DE 112006003575 T DE112006003575 T DE 112006003575T DE 112006003575 B4 DE112006003575 B4 DE 112006003575B4
- Authority
- DE
- Germany
- Prior art keywords
- processor
- core
- state
- power management
- voltage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- 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/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- 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
-
- 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/3243—Power saving in microcontroller unit
-
- 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/3246—Power saving characterised by the action undertaken by software initiated power-off
-
- 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/3293—Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
-
- 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/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- 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/46—Multiprogramming arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1072—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/28—Using a specific disk cache architecture
- G06F2212/281—Single cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/30—Providing cache or TLB in specific location of a processing system
- G06F2212/305—Providing cache or TLB in specific location of a processing system being part of a memory device, e.g. cache DRAM
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/31—Providing disk cache in a specific location of a storage system
- G06F2212/314—In storage network, e.g. network attached cache
-
- 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
- Y02B—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
- Y02B70/00—Technologies for an efficient end-user side electric power management and consumption
- Y02B70/10—Technologies improving the efficiency by using switched-mode power supplies [SMPS], i.e. efficient power electronics conversion e.g. power factor correction or reduction of losses in power supplies or efficient standby modes
-
- 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
- Y02B—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
- Y02B70/00—Technologies for an efficient end-user side electric power management and consumption
- Y02B70/30—Systems integrating technologies related to power network operation and communication or information technologies for improving the carbon footprint of the management of residential or tertiary loads, i.e. smart grids as climate change mitigation technology in the buildings sector, including also the last stages of power distribution and the control, monitoring or operating management systems at local level
-
- 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
-
- 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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
-
- 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
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P80/00—Climate change mitigation technologies for sector-wide applications
- Y02P80/10—Efficient use of energy, e.g. using compressed air or pressurized fluid as energy carrier
Abstract
Verfahren, das folgendes umfasst: Einleiten (105) eines Übergangs in einen Nullspannungs-Energieverwaltungszustand für einen ersten Kern und einen zweiten Kern eines Prozessors, wobei eine an den Prozessor angelegte Betriebsspannung im Nullspannungs-Energieverwaltungszustand auf ungefähr Null Volt zu reduzieren ist; Während des Übergangs, unabhängig Speichern (110) von Zustandsvariablen des ersten Kerns und des zweiten Kerns des Prozessors in einem dedizierten Cachespeicher, der mit einer Spannung versorgt bleibt, die von einem E/A-Kontroller zugeführt wird, der mit dem Prozessor gekoppelt ist, während die an den Prozessor angelegte Betriebsspannung auf ungefähr null reduziert wird, wobei der erste Kern in einen ersten Schlafzustand eintritt, nachdem die Zustandsvariablen für den ersten Kern gespeichert sind und der zweite Kern in den ersten Schlafzustand eintritt, nachdem die Zustandsvariablen für den zweiten Kern gespeichert sind; Nach dem Speichern (110) der Zustandsvariablen im dedizierten Cachespeicher, Reduzieren (115) der Betriebsspannung auf ungefähr Null Volt, wobei der Prozessor in den Nullspannungs-Energieverwaltungszustand übergeht; und Austreten (120) aus dem Nullspannungs-Energieverwaltungszustand bei einer an den Prozessor angelegen Betriebsspannung, die höher als die ungefähr Null Volt ist.
Description
- Die Ausführungsformen der Erfindung betreffen das Gebiet der elektronischen Systeme und der Energieverwaltung. Die Ausführungsformen der Erfindung betreffen insbesondere ein Verfahren und eine Vorrichtung für einen Nullspannungs-Prozessorschlafzustand.
- Bei einem wachsenden Trend hin zu fortgeschrittenen Mikroprozessoren, z. B. Zentraleinheiten (CPUs), mit mehr Transistoren und höheren Frequenzen, sehen sich Computerkonstrukteure und -hersteller oft mit entsprechenden Steigerungen des Strom- und Energieverbrauchs konfrontiert. Insbesondere bei mobilen Geräten kann ein gesteigerter Energieverbrauch zu Überhitzung führen, was die Leistung in negativer Weise beeinträchtigen und die Lebensdauer der Batterie erheblich verkürzen kann. Da Batterien typischerweise eine begrenzte Kapazität aufweisen, könnte die Kapazität schneller verbraucht werden als erwünscht, wenn der Prozessor eines mobilen Geräts mehr als nötig laufengelassen wird.
- Daher bleibt der Energieverbrauch für mobile Geräte, einschließlich Laptop-Computern, drahtlosen Handgeräten, persönlichen digitalen Assistenten, usw. ein beträchtliches Problem. Bei heutigen mobilen Geräten können zum Beispiel bestimmte Bauteile basierend auf verringerter Aktivität oder Nachfrage in Schlafzustände mit geringerer Energie versetzt werden, um dem Problem des Leistungsverlusts zu begegnen.
- Bei einem Ansatz kann ein Betriebssystem eine eingebaute Energieverwaltungs-Softwareschnittstelle, wie Advanced Configuration and Power Interface (ACPI) (z. B. Advanced Configuration and Power Interface, Ver. X285, Juni 2004) unterstützen. ACPI beschreibt eine Energieverwaltungspolitik, die verschiedene „C-Zustände” umfaßt, die durch Prozessoren und/oder Chipsätze unterstützt werden können. Für diese Politik ist C0 als der Run-Time-Zustand definiert, in dem der Prozessor bei hoher Spannung und hoher Frequenz arbeitet. C1 ist als der Auto-HALT-Zustand definiert, in dem der Kerntakt intern angehalten ist. C2 ist als der Stop-Clock-Zustand definiert, in dem der Kerntakt extern angehalten ist. C3 ist als ein Deep-Sleep-Zustand definiert, in dem alle Prozessortakte ausgeschaltet sind und C4 ist als ein Deeper-Sleep-Zustand definiert, in dem alle Prozessortakte angehalten sind und die Prozessorspannung auf einen niedrigeren Datenerhaltepunkt verringert ist. Es wurden auch verschiedene zusätzliche tiefere Schlafenergiezustände C5...Cn vorgeschlagen. Diese zusätzlichen Energiezustände sind durch eine gleichwertige Semantik der Energiezustände C1 bis C4 aber mit unterschiedlichen Eingangs-/Ausgangslatenzen und Energieeinsparungen gekennzeichnet.
- Beim Betrieb kann ACPI einen Zeitschlitz ermitteln, in dem keine neuen oder ausstehenden Unterbrechungen des mobilen Prozessors vorhanden sind. Die ACPI-Politik verwendet dann einen Eingangs/Ausgangscontroller (E/A) oder andere Chipsatzmerkmale, um den mobilen Prozessor in die tieferen Schlafzustände zu versetzen.
- Nachdem der Prozessor in den tieferen Schlafzustand versetzt wurde, kann ein Unterbrechungsereignis oder eine Unterbrechung vom Betriebssystem oder einer anderen Quelle an den Chipsatz gesendet werden und der Chipsatz wird dann dem Prozessor den Austritt aus dem tieferen Schlafzustand ermöglichen. Die Fähigkeit, zwischen verschiedenen Energieverwaltungszuständen, einschließlich tieferen Schlafzuständen, überzugehen, kann die Verringerung des Leistungsverlusts und die Steigerung der Batterielebensdauer ermöglichen.
- Gegenwärtig wird der Eintritt in tiefere Schlafzustände durch Verweisen auf eine externe Spannungsreferenz in einer Prozessor-Spannungsreglerschaltung und das Regeln auf diese Bezugsspannung vorgenommen, wenn ein „Deeper Sleep” Plattformsignal, wie das DPRSLPVR-Signal oder ein anderes ähnliches Signal durch den E/A-Controller oder eine andere integrierte Schaltung aktiviert wird. Der Spannungsregler geht dann von einer ersten Spannung in eine zweite, niedrigere Spannung über, die dem tieferen Schlafzustand zugeordnet ist. Beim Austritt aus dem tieferen Schlafzustand findet ein Spannungsübergang in die andere Richtung mit einem ähnlichen angegebenen Zeitfenster statt.
- Wie vorhergehend erwähnt, ist das Erhalten von Schlafzuständen mit geringer Energie wichtig, um in mobilen Geräten eine bessere Batterielebensdauer zu erreichen. Der Markt der mobilen Geräte ist ein heftig umkämpftes Produktsegment und einer der Schlüsselbereiche des Fortschritts in diesem Segment sind Lösungen mit geringer Energie zur Wahrung der Batterielebensdauer.
- Unglücklicherweise verbrauchen die bestehenden tieferen Schlafzustände für Prozessoren in mobilen Geräten immer noch einen nicht zu vernachlässigenden Betrag an Energie, da immer noch das Anlegen von Spannung an den Prozessor erforderlich ist und dieser nicht vollständig ausgeschaltet werden kann.
-
US 2003/0101362 A1 -
US 6,711,691 B1 offenbart ein Energiemanagement für Computersysteme. Das Energiemanagement umfasst verschiedene Energiemanagementebenen, sodass der Energieverbrauch des Computersystems vom Umfang der Arbeit abhängt der den Verarbeitungsressourcen des Computersystems auferlegt wird. - Es ist die Aufgabe der vorliegenden Erfindung ein Verfahren zur Energieverwaltung von Kernen eines Prozessors bereitzustellen, mit dem der Stromverbrauch des Prozessors in einem Schlafzustand weiter reduziert werden kann, sowie eine entsprechende Vorrichtung.
- Die Aufgabe wird gelöst mit einem Verfahren mit den Merkmalen gemäß Anspruch 1 sowie mit einer Vorrichtung mit den Merkmalen gemäß Anspruch 8.
- Bevorzugte Ausführungsformen sind in den Unteransprüchen angegeben.
- KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein Ablaufdiagramm, das ein Verfahren gemäß einer Ausführungsform der vorliegenden Erfindung zum Übergang in einen und aus einem Nullspannungs-Energieverwaltungszustand für einen Prozessor veranschaulicht. -
2 ist ein Blockdiagramm eines beispielhaften Systems gemäß einer Ausführungsform der vorliegenden Erfindung, das verwendet werden kann, um den Ansatz des Nullspannungs-Energieverwaltungszustands auszuführen. -
3 ist ein Blockdiagramm, das ein Beispiel eines dedizierten Schlafzustand-SRAM-Caches und eine SRAM-Schnittstelle gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht. -
4 ist ein Ablaufdiagramm, das ein Verfahren gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht, das verwendet werden kann, um in einen Nullspannungs-Prozessorschlafzustand einzutreten. -
5 ist ein Ablaufdiagramm, das ein Verfahren gemäß einer Ausführungsform der Erfindung veranschaulicht, das verwendet werden kann, um aus einem Nullspannungs-Prozessorschlafzustand auszutreten. - BESCHREIBUNG
- In der folgenden Beschreibung werden die verschiedenen Ausführungsformen der Erfindung mit Einzelheiten beschrieben. Solche Einzelheiten werden indes zur Erleichterung des Verständnisses der Erfindung und zur Beschreibung von Ausführungsbeispielen zur Verwendung der Erfindung aufgenommen. Solche Einzelheiten sollten nicht verwendet werden, um die Erfindung auf die bestimmten beschriebenen Ausführungsformen zu beschränken, da andere Änderungen und Ausführungsformen möglich sind, ohne den Umfang der Erfindung zu verlassen. Ferner wird es für den Fachmann ersichtlich sein, daß, obgleich zahlreiche Einzelheiten dargelegt werden, um ein eingehendes Verständnis der Ausführungsformen der Erfindung bereitzustellen, diese spezifischen Einzelheiten nicht erforderlich sind, um die Ausführungsformen der Erfindung herzustellen.
- In der folgenden Beschreibung werden zu Veranschaulichungszwecken bestimmte Komponenten, Schaltungen, Zustandsdiagramme, Softwaremodule, Systeme, Zeitabläufe, usw. beschrieben. Man wird indes verstehen, daß andere Ausführungsformen auf andere Typen von zum Beispiel Komponenten, Schaltungen, Zustandsdiagrammen, Softwaremodulen, Systemen und/oder Zeitabläufen anwendbar sind.
- Mit Bezug auf
1 leitet in einer Ausführungsform eine integrierte Schaltungsvorrichtung, wie zum Beispiel ein Prozessor, in Block105 einen Übergang in einen Nullspannungs-Energieverwaltungszustand ein. Der Nullspannungs-Energieverwaltungszustand kann zum Beispiel ein Deeper Sleep Zustand gemäß der Advanced Configuration and Power Interface (ACPI) Specification, Revision 2.0a vom 31. März 2002 (und veröffentlicht von Compaq Computer Corporation, Intel Corporation, Microsoft Corporation, Phoenix Technologies Ltd. und Toshiba Corporation) sein. Während dieses Übergangs wird der kritische Zustand des Prozessors gespeichert (Block110 ). Der kritische Zustand des Prozessors umfaßt Zustandsvariablen, die mit dem Architektur-, Mikroarchitektur-, Fehlerbeseitigungszustand verbunden sind, und/oder ähnliche Zustandsvariablen, die mit diesem Prozessor verbunden sind. Die Betriebsspannung des Prozessors wird anschließend auf ungefähr null verringert, derart, daß der Prozessor sich in einem sehr tiefen Schlafzustand befindet, der sehr geringe Energieverbrauchseigenschaften aufweist (Block115 ). Hiernach bedeutet die Bezugnahme auf den Zustand oder kritischen Zustand des Prozessors oder der CPU, daß die Zustandsvariablen, die mit dem Prozessor oder der CPU verbunden sind, darin enthalten sind. - Anschließend tritt der Prozessor als Reaktion auf den Empfang einer Anforderung zum Austritt aus dem Nullspannungs-Energieverwaltungszustand bei Block
120 bei einer höheren Referenzbetriebsspannung aus der Nullspannungs-Energieverwaltung aus. Die kritischen Zustandsvariablen, die mit dem Prozessor verbunden sind, werden auch wiederhergestellt (Block125 ). Es sei erwähnt, daß die Referenzbetriebsspannung für einige Ausführungsformen zum Beispiel eine Mindestbetriebsspannung für einen aktiven Zustand sein kann. - Weitere Einzelheiten davon und andere Ausführungsformen werden in der folgenden Beschreibung bereitgestellt.
- Ausführungsformen der Erfindung können aus Hardware, Firmware und Software oder in einer Kombination davon ausgeführt werden. Ausführungsformen der Erfindung können auch als Ganzes oder teilweise als auf einem maschinenlesbaren Medium gespeicherte Befehle ausgeführt werden, die durch mindestens einen Prozessor gelesen und ausgeführt werden können, um die hierin beschriebenen Betriebsabläufe durchzuführen. Ein maschinenlesbares Medium kann irgendeinen Mechanismus zum Speichern oder Übertragen von Informationen in einer Form umfassen, die durch eine Maschine (z. B. einen Computer) gelesen werden kann. Ein maschinenlesbares Medium kann zum Beispiel einen Nurlesespeicher (ROM); einen Speicher mit wahlfreiem Zugriff (Random Access Memory – RAM), ein Magnetplatten-Speichermedium; ein optisches Speichermedium; Flash-Speichereinrichtungen; elektrische, optische, akustische oder eine andere Form von verbreiteten Signalen (z. B. Trägerwellen, Infrarotsignale, Digitalsignale, usw.) und andere sein.
-
2 ist ein Blockdiagramm eines beispielhaften Systems200 , das den Ansatz des Nullspannungs-Energieverwaltungsübergangs einer oder mehrerer Ausführungsformen ausführt. Es sei erwähnt, daß2 in2A und2B unterteilt ist. Das System200 kann ein Notebook- oder Laptop-Computersystem oder irgendein unterschiedlicher Typ von mobilem elektronischem System, wie ein mobiles Gerät, ein persönlicher digitaler Assistent, ein drahtloses Telefon/Handgerät oder sogar ein nichtmobiles System, wie ein Desktop- oder Unternehmensrechensystem sein. Andere Typen von elektronischen Systemen liegen auch innerhalb des Umfangs verschiedener Ausführungsformen. - Das System
200 umfaßt einen Prozessor205 , einen Taktgeber211 auf Plattformebene, einen Spannungsregler212 , der an den Prozessor205 gekoppelt ist, einen Memory Controller Hub215 , der über einen Bus217 an den Prozessor205 gekoppelt ist, einen Speicher220 , der einen oder mehrere Speicher mit wahlfreiem Zugriff (Random Access Memory – RAM), Flash-Speicher und/oder einen anderen Typ von Speicher umfassen kann, einen Eingangs/Ausgangs-(E/A)Controller Hub225 , der über einen Bus227 an den Memory Controller Hub215 gekoppelt ist, und einen Massenspeicher230 , der über einen Bus232 an den E/A-Controller Hub225 gekoppelt ist. Obgleich ein System200 in einer Ausführungsform ein mobiles Gerät mit den beschriebenen Teilsystemen sein kann, sollte man verstehen, daß das System200 ein unterschiedlicher Typ von mobilem Gerät oder ein nichtmobiles Gerät sein kann, das mehr oder weniger als die beschriebenen Teilsysteme umfaßt. - In einer Ausführungsform kann der Prozessor
205 ein Mikroprozessor der Intel®-Architektur, wie zum Beispiel ein Folgeprozessor des Intel Pentium® M Prozessors sein, der einen oder mehrere Verarbeitungskerne (z. B.320 und322 ) und mindestens eine Ausführungseinheit310 zum Verarbeiten von Befehlen umfaßt. Für solche Ausführungsformen kann der Prozessor205 Intel SpeedStep®-Technologie oder eine andere die Energieverwaltung betreffende Technologie umfassen, die für zwei oder mehr Spannungs-/Frequenzbetriebspunkte sorgt. Eine zugeordnete Takt-/Energieverwaltungseinheit350 kann in den Prozessor205 aufgenommen werden, um die Übergänge zwischen zwei oder mehr der Spannungs-/Frequenzpaare zu steuern. - In anderen Ausführungsformen kann der Prozessor
205 ein unterschiedlicher Typ von Prozessor, wie ein digitaler Signalprozessor, ein eingebetteter Prozessor oder ein Mikroprozessor von einer unterschiedlichen Quelle sein. - Ferner kann der Prozessor
205 einen dedizierten Cache-Speicher340 (z. B. einen synchronen Speicher mit wahlfreiem Zugriff-(Synchronous Random Access Memory – SRAM)) umfassen, der verwendet werden kann, um die kritischen Zustandsvariablen des Prozessors zu speichern, wenn der Prozessor in den Nullspannungs-Schlafzustand eintritt, wie beschrieben werden wird. Die Cachespeicher können in den Chip des Prozessors eingebaut oder in das gleiche Gehäuse wie der Prozessorchip gepackt werden. - Dort, wo Intel SpeedStep®-Technologie oder ein anderer Typ von Energieverwaltungstechnologie in dem Prozessor
205 enthalten ist, umfassen die verfügbaren Spannungs-/Frequenzpaare, die mit der Technologie verbunden sind, ein Mindestspannungs-/Frequenzpaar, die einer Betriebsspannung einer Mindestaktivitäts-Betriebsart und einer für eine vollständig funktionsfähige Betriebsart mit dem Prozessor205 verbundenen Mindestbetriebsfrequenz entsprechen. Dies kann hierin als Mindestbetriebsspannung und Mindestbetriebsfrequenz oder Mindestaktivitäts-Betriebsart-Betriebsspannung beziehungsweise -frequenz bezeichnet werden. Auf ähnliche Weise kann eine Maximalbetriebsspannung und -frequenz definiert werden. Andere verfügbare Spannungsfrequenzpaare können als Betriebsspannungs-/Frequenzpaare oder einfach andere Spannungs-/Frequenz- oder Frequenz-/Spannungspaare bezeichnet werden. - Die Nullspannungs-Eintritts/Austrittslogik
354 kann auch im Prozessor205 , entweder innerhalb oder außerhalb der Energieverwaltungslogik350 , enthalten sein, um in den Nullspannungs-Schlafzustand, der hierin auch als der C6-Zustand bezeichnet wird, einzutreten und daraus auszutreten. Der Nullspannungs-Prozessor-Schlafzustand mit geringem Energieverbrauch wird hiernach mit mehr Einzelheiten beschrieben. - Ein Speicher
352 zur Spannungsidentifikation (VID – Voltage Identification), auf den durch die Nullspannungs-Eintritts/Austrittslogik354 zugegriffen werden kann, kann enthalten sein, um eine Spannungsidentifikationscode-Nachschlagtabelle zu speichern. Der VID-Speicher kann ein On-Chip- oder Off-Chip-Register oder ein anderer Typ von Speicher sein und die VID-Daten können zum Beispiel über Software, Basisdaten-Austauschsystemcode278 (Basic Input/Output System – BIOS) (der auf einem Firmware-Hub279 oder in einem anderen Speicher gespeichert sein kann), ein Betriebssystem, andere Firmware und/oder fest eingefügten Code in den Speicher geladen werden. Alternativ kann auf eine andere Art durch die Logik350 auf eine Software-Nachschlagtabelle, die VID und damit verbundene Daten enthält, zugegriffen werden. Die VID-Informationen können auch als Sicherungen (z. B. programmierbare ROMs (PROMs)) gespeichert werden. - Ein Analog-Digitalwandler (ADC)
356 kann auch als Teil der Nullspannungs-Eintritts/Austrittslogik350 bereitgestellt werden, um einen Spannungsversorgungspegel zu überwachen und eine zugeordnete digitale Ausgabe bereitzustellen, wie unten mit mehr Einzelheiten beschrieben. - Der Spannungsregler
212 stellt eine Versorgungsbetriebsspannung für den Prozessor205 bereit und kann gemäß einer Version der Intel Mobile Voltage Positioning (IMVP) Spezifikation, wie zum Beispiel der IMVP-6-Spezifikation ausgestaltet sein. Für solche Ausführungsformen ist der Spannungsregler212 gekoppelt, um über einen Bus235 VID-Signale vom Prozessor205 zu empfangen, und stellt in Reaktion auf die VID-Signale über eine Signalleitung240 eine zugeordnete Betriebsspannung für den Prozessor205 bereit. Der Spannuungsregler212 kann eine Nullspannungs-Schlaflogik302 umfassen, die auf eines oder mehrere Signale reagiert, um die Spannung240 für den Prozessor205 auf einen Nullzustand zu verringern und dann die Spannung für den Prozessor nach dem Austritt aus dem Nullspannungs-Schlafzustand wieder zu erhöhen. Für andere Ausführungsformen kann ein unterschiedlicher Typ von Spannungsregler, einschließlich eines Spannungsreglers gemäß einer unterschiedlichen Spezifikation, verwendet werden. Ferner kann der Spannungsregler für einige Ausführungsformen mit einer anderen Komponente des Systems200 , einschließlich des Prozessors205 , integriert werden. Man sollte verstehen, daß der Spannungsregler abhängig von Konstruktionsüberlegungen in der CPU integriert sein kann oder nicht. - Der Memory Controller Hub
215 kann sowohl Grafik- als auch Speichersteuerungsfähigkeiten aufweisen und kann hierin alternativ als Grafik- und Memory Controller Hub (G/MCH) oder eine Northbridge bezeichnet werden. Der Grafik- und Memory Controller Hub215 und der E/A-Controller Hub225 (der auch als eine Southbridge bezeichnet werden kann) können gemeinsam als der Chipsatz bezeichnet werden. Für andere Ausführungsformen können Chipsatzmerkmale auf eine unterschiedliche Weise partitioniert werden und/oder unter Verwendung einer unterschiedlichen Anzahl von IC-Chips ausgeführt werden. Zum Beispiel können für einige Ausführungsformen Grafik- und Speichersteuerungsfähigkeiten unter Verwendung separater integrierter Schaltungsvorrichtungen bereitgestellt werden. - Der E/A-Controller-Hub
255 einer Ausführungsform umfaßt die Energieverwaltungs-Zustandssteuerlogik242 , die hierin alternativ als C-Zustandssteuerlogik bezeichnet wird. Die Energieverwaltungs-Zustandssteuerlogik242 kann Gesichtspunkte der Steuerung der Übergänge zwischen einigen Energieverwaltungs- und/oder normalen Betriebszuständen, die mit dem Prozessor205 verbunden sind, entweder autonom oder in Reaktion auf Betriebssystem- oder andere Software- oder Hardwareereignisse steuern. Zum Beispiel kann für Prozessoren der Intel®-Architektur, für die zumindest die aktive Betriebsart und die Energieverwaltungszustände unterstützt werden, die als C0, C1, C2 und C4 bezeichnet werden, die Energieverwaltungs-Zustandssteuerlogik242 die Übergänge zwischen zumindest einer Teilmenge dieser Zustände unter Verwendung von einem oder mehreren von Stop Clock (STPCLK#), Processor Sleep (SLP#), Deep Sleep (DSLP#), Deeper Stop (DPRSTP#) und/oder Stop Processor (STPCPU#) Signalen teilweise steuern, wie unten mit mehr Einzelheiten beschrieben. - Auch kann in einer Ausführungsform Spannung vom E/A-Controller-Hub
225 (VI/O349 ) für den Prozessor205 bereitgestellt werden, um genügend Energie für den dedizierten Cache-Speicher340 bereitzustellen, derart, daß er die kritischen Zustandsvariablen, die mit dem Prozessor205 verbunden sind, speichern kann, während der Rest des Prozessors205 durch die Verringerung der Betriebsspannung240 auf einen Nullzustand ausgeschaltet wird. - Für andere Typen von Architekturen und/oder Prozessoren, die unterschiedliche Energieverwaltungs- und/oder normale Betriebszustände unterstützen, kann die Energieverwaltungs-Zustandssteuerungslogik
242 Übergänge zwischen zwei oder mehr unterschiedlichen Energieverwaltungs- und/oder normalen Betriebszuständen unter Verwendung von einem oder mehreren Signalen, die den in2 gezeigten Signalen ähnlich sein oder sich davon unterscheiden können, steuern. - Der Massenspeicher
230 kann eines oder mehrere Compact-Disk-Nurlesespeicherlaufwerke (CD-ROM) und verbundene Scheibe/n, eines oder mehrere Festplattenlaufwerke und verbundene Platte/n und/oder eine oder mehrere Massenspeicher umfassen, auf die durch das Computersystem200 über ein Netzwerk zugegriffen werden kann. Andere Typen von Massenspeichern, wie zum Beispiel optische Laufwerke und verbundene Medien liegen innerhalb des Umfangs verschiedener Ausführungsformen. - Für eine Ausführungsform speichert der Massenspeicher
230 ein Betriebssystem245 , das Code250 zum Unterstützen einer gegenwärtigen und/oder Folgeversion der Advanced Configuration and Power Interface (ACPI) Spezifikation umfaßt. ACPI kann verwendet werden, um einige Aspekte des Energiemanagements zu steuern, wie unten mit mehr Einzelheiten beschrieben. Das Betriebssystem245 kann ein WindowsTM oder ein anderer Typ von Betriebssystem sein, das bei Microsoft Corporation aus Redmond, Washington verfügbar ist. Alternativ kann für andere Ausführungsformen ein unterschiedlicher Typ von Betriebssystem wie zum Beispiel ein Linux-Betriebssystem und/oder ein unterschiedlicher Typ von betriebssystembasierter Energieverwaltung verwendet werden. Ferner können die hierin als mit ACPI verbunden beschriebenen Energieverwaltungsfunktionen und -fähigkeiten durch unterschiedliche Software oder Hardware bereitgestellt werden. - Man sollte auch verstehen, daß das System
200 eine Anzeigevorrichtung, wie eine Kathodenstrahlröhre (Cathode Ray Tube – CRT) oder Flüssigkristallanzeige (Liquid Crystal Display – LCD) zum Anzeigen von Informationen für einen Benutzer umfassen kann. Ferner kann das System200 ein alphanumerisches Eingabegerät (z. B. eine Tastatur) umfassen, die alphanumerische oder andere Tasten umfaßt, um Informationen und Befehlsauswahlen an den Prozessor205 zu übermitteln. Ein zusätzliches Benutzereingabegerät kann ein Cursorsteuerungsgerät wie eine Maus, eine Steuerkugel, ein Trackpad, ein Eingabestift oder Cursorsteuertasten zum Übermitteln von Richtungsinformationen und Befehlsauswahlen an den Prozessor205 und zum Steuern der Cursorbewegung auf der Anzeigevorrichtung sein. - Ein anderes Gerät, das im System enthalten sein kann, ist ein Hardcopy-Gerät, das verwendet werden kann, um Befehle, Daten oder andere Informationen auf einem Medium wie Papier, Film oder ähnlichen Typen von Medien zu drucken. Ferner kann ein Tonaufnahme- und Wiedergabegerät, wie ein Lautsprecher und/oder Mikrofon (nicht gezeigt) wahlweise zur Bildung einer Audioschnittstelle im System
200 enthalten sein. - Wo das System
200 ein mobiles oder tragbares System ist, kann eine Batterie oder ein Batterieverbinder225 darin enthalten sein, um Energie zum Betrieb des Systems200 entweder ausschließlich oder bei Abwesenheit eines anderen Typs von Energiequelle bereitzustellen. Zusätzlich kann für einige Ausführungsformen eine Antenne260 enthalten sein und zum Beispiel über eine drahtlose lokale Netzwerkvorrichtung (WLAN)261 an das System200 gekoppelt sein, um eine drahtlose Verbindung für das System200 bereitzustellen. - Die (WLAN-)Vorrichtung
261 kann ein drahtloses Kommunikationsmodul umfassen, das ein Wireless Application Protocol verwenden kann, um einen drahtlosen Kommunikationskanal einzurichten. Das drahtlose Kommunikationsmodul kann einen drahtlosen Vernetzungsstandard, wie den Institute of Electrical and Electronics Engineers (IEEE) 802.11 Standard, IEEE-Std. 802.11-1999, veröffentlicht 1999, ausführen. - Man sollte verstehen, daß der Prozessor
205 von2 in einer Ausführungsform zwischen verschiedenen bekannten C-Zuständen übergehen kann. Der normale Betriebszustand oder die aktive Betriebsart für den Prozessor205 ist der C0-Zustand, in dem der Prozessor aktiv Befehle verarbeitet. Im C0-Zustand befindet der Prozessor205 sich in einer Hochfrequenz-Betriebsart (HFM), in der die Spannungs-/Frequenzeinstellung durch das Maximalspannungs-/Frequenzpaar bereitgestellt werden kann. - Zum Energiesparen und/oder zur Verringerung der Wärmebelastung kann der Prozessor
205 zum Beispiel, immer wenn dies möglich ist, in einen Zustand mit geringem Energieverbrauch übergehen. Zum Beispiel kann der Prozessor205 durch die Ausführung eines HALT- oder MWAIT-Befehls (nicht gezeigt) in Reaktion auf Firmware, wie Mikrocode, oder Software, wie das Betriebssystem245 , oder in einigen Fällen sogar ACPI-Software, vom C0-Zustand in den C1- oder Auto-HALT-Zustand übergehen. Im C1-Zustand können Abschnitte der Schaltungen des Prozessors205 abgeschaltet werden und lokale Takte Tor-gesteuert werden. - Der Prozessor kann bei der Aktivierung (assertion) des STPCLK# oder eines ähnlichen Signals durch zum Beispiel den E/A-Controller
225 in den C2-Zustand übergehen, der auch als der Stop-Grant- oder SLEEP-Zustand bezeichnet wird. Der E/A-Controller225 kann in Reaktion darauf, daß das Betriebssystem245 bestimmt, daß in eine Betriebsart mit geringerem Energieverbrauch eingetreten werden kann oder sollte, und dies über ACPI-Software250 angibt, das STPCLK#-Signal aktivieren (assert). Insbesondere können eines oder mehrere ACPI-Register (nicht gezeigt) vom E/A-Controller225 umfasst sein, und die ACPI-Software250 kann in diese Register schreiben, um mindestens einige Übergänge zwischen Zuständen zu steuern. Während des Betriebs im C2-Zustand können Abschnitte der Schaltungen des Prozessors205 ausgeschaltet sein und es können interne und externe Kerntakte Tor-gesteuert werden. Für einige Ausführungsformen kann der Prozessor direkt vom C0-Zustand in den C2-Zustand übergehen. - Auf ähnliche Weise kann der Prozessor
205 als Reaktion darauf, daß der E/A-Controller225 oder ein anderes Chipsatzmerkmal ein CPUSLP#-Signal und dann ein DPSLP#-Signal oder andere gleichwertige Signale aktiviert (assert), in den C3-Zustand übergehen, der auch als der Deep-Sleep-Zustand bezeichnet wird. Im Deep-Sleep-Zustand können zusätzlich zum Abschalten von internen Prozessorschaltungen sämtliche Phasenregelschleifen (PLL) im Prozessor205 deaktiviert werden. Ferner kann für einige Ausführungsformen durch den Eingangs/Ausgangscontroller225 ein STOP_CPU-Signal aktiviert werden und durch den Taktgeber221 empfangen werden, um zu bewirken, daß der Taktgeber das Taktsignal CLK an die CPU205 anhält. - Im System
200 von2 kann ein Übergang in den C4-Zustand oder in einen Nullspannungs-Schlafzustand in Reaktion darauf vorgenommen werden, daß die ACPI-Software250 zum Beispiel detektiert, daß keine ausstehenden Prozessorunterbrechungen vorhanden sind. Die ACPI-Software kann dies vornehmen, indem der ICH225 eines oder mehrere die Energieverwaltung betreffende Signale aktiviert, wie das beispielhafte Deeper Stop (DPRSTP#) Signal und das beispielhafte DPSLP#-Signal. Das Deeper Stop (DPRSTP#) Signal wird direkt vom Chipsatz für den Prozessor bereitgestellt und bewirkt, daß die Takt/Energieverwaltungslogik350 auf dem Prozessor eine Niederfrequenz-Betriebsart (LFM) einleitet. Für die Niederfrequenz-Betriebsart kann der Prozessor zum Beispiel zur Minimal- oder einer anderen niedrigen Betriebsfrequenz übergehen. - Gemäß einigen Ausführungsformen der Erfindung kann die Aktivierung des DPRSTP#-Signals wie hiernach beschrieben, ferner bewirken, daß das interne VID-Ziel auf einen Nullspannungspegel eingestellt wird, was dazu führt, daß eine Betriebsspannung von null durch den Spannungsregler
212 an den Prozessor205 angelegt wird, derart, daß der Prozessor in einen sehr tiefen Schlafzustand übergeht, der sehr geringe Energieverbrauchsmerkmale aufweist. - Gemäß einer Ausführungsform der Erfindung kann eine integrierte Schaltung wie der Prozessor
205 zum Beispiel einen Übergang zu einem Nullspannungs-Energieverwaltungszustand einleiten. In einem Beispiel kann der Prozessor205 eine Zentraleinheit (CPU)205 sein. Ferner kann der Nullspannungs-Verwaltungszustand zum Beispiel ein tieferer Schlafzustand gemäß den ACPI-Standards sein. Während dieses Übergangs kann der kritische Zustand der CPU205 gespeichert werden. Zum Beispiel können kritische Zustandsvariablen, die mit der CPU205 verbunden sind, im dedizierten Cachespeicher (z. B. SRAM)340 gespeichert werden. - Die Betriebsspannung der CPU
205 kann anschließend auf Null reduziert werden, derart, daß die CPU205 sich in einem sehr tiefen Schlafzustand befindet, der sehr niedrige Energieverbrauchseigenschaften aufweist. Insbesondere kann der Spannungsregler212 , der die Nullspannungs-Schlafzustandslogik302 verwendet, die Betriebsspannung240 auf null reduzieren. Wie vorhergehend erörtert, kann dies gemeinsam mit der Nullspannungseintritts/Austrittslogik354 der Takt/Energieverwaltungslogik350 der CPU205 erfolgen. - In einer Ausführungsform kann dieser Nullspannungs-Energieverwaltungszustand, wenn er in Verbindung mit den ACPI-Standards ausgeführt wird, als der C6-Zustand bezeichnet werden.
- Danach tritt die CPU
205 in Reaktion auf den Empfang einer Anforderung zum Austritt aus dem Nullspannungs-Energieverwaltungszustand bei einer höheren Referenzbetriebsspannung aus dem Nullspannungs-Energieverwaltungszustand aus. Insbesondere kann der Spannungsregler212 unter der Steuerung der Nullspannungseintritts/Austrittslogik354 der CPU205 und der Nullspannungs-Schlaflogik302 des Spannungsreglers212 , wie vorhergehend beschrieben, die Referenzbetriebsspannung240 auf einen zweckmäßigen Pegel anheben, derart, daß die CPU205 richtig arbeiten kann. Die kritischen Zustandsvariablen der CPU205 werden dann vom dedizierten Cachespeicher340 wiederhergestellt. - Daher ermöglicht das Energieverwaltungsschema es der CPU
205 , ihren Zustand zu speichern, den Strom abzuschalten und dann geweckt zu werden, wenn erforderlich, den kritischen Zustand wiederherzustellen und weiterzumachen, wo die CPU stehengeblieben ist. Dies kann in einigen Ausführungsformen ohne ausdrückliche Unterstützung vom Betriebssystem245 erfolgen und kann mit einer extrem kurzen Latenzperiode erreicht werden. - Genauer gesagt, wird der kritische Zustand der CPU
205 in einer Ausführungsform im Nullspannungs-Prozessorschlafzustand (der gemäß den ACPI-Standards als C6-Zustand bezeichnet werden kann) im dedizierten Schlafzustand-SRAM-Cache340 gespeichert, die durch die E/A-Energieversorgung (VI/O)349 ausgeschaltet werden kann, während die Kernbetriebsspannung240 für die CPU205 auf ungefähr 0 Volt gesenkt wird. An diesem Punkt ist die CPU205 beinahe vollständig ausgeschaltet und verbraucht sehr wenig Strom. - Bei einem Austrittsereignis gibt die CPU
205 dem Spannungsregler212 an, die Betriebsspannung240 wieder zu erhöhen (z. B. mit einem VID-Code235 ), sperrt die Phasenregelschleife (PLL) wieder und schaltet die Takte über die Takt-/Energieverwaltungslogik350 und die Nullspannungseintritts-/Austrittslogik354 wieder ein. Ferner kann die CPU205 einen internen RESET durchführen, um die Zustände zu löschen und dann den Zustand der CPU205 vom dedizierten Schlafzustand-SRAM-Cache340 wiederherstellen und die CPU205 macht dort weiter, wo sie im Ausführungsfluß stehengeblieben ist. Diese Betriebsabläufe können in einem sehr kleinen Zeitraum (z. B. ungefähr 100 Mikrosekunden) in der Hardware der CPU205 durchgeführt werden, derart, daß sie für das Betriebssystem245 und die bestehende Energieverwaltungs-Softwareinfrastruktur transparent ist. - In einer Ausführungsform ist diese Verfahrensweise besonders für eine CPU
205 geeignet, die mehrere Prozessorkerne aufweist. In diesem Beispiel werden der Kern320 (z. B. Kern #0) und der Kern322 (z. B. Kern #1), d. h. eine Doppelkern-CPU als ein Beispiel erörtert. Man sollte indes verstehen, daß irgendeine geeignete Anzahl von CPU-Kernen verwendet werden kann. In der Doppelkernstruktur verwenden die CPU-Kerne320 und322 einen gemeinsamen Cache330 . Dieser gemeinsame Cache330 kann zum Beispiel ein Level-2-Cache (L2)320 sein, der von den Kernen320 und322 gemeinsam genutzt wird. - Ferner umfaßt jeder Kern
320 und322 eine Kern-ID321 , Mikrocode323 , einen gemeinsamen Zustand324 und einen dedizierten Zustand325 . Der Mikrocode323 der Kerne320 und322 wird bei der Durchführung der Speicherungs-/Wiederherstellungsfunktionen des CPU-Zustands und für verschiedene Datenflüsse in der Leistung des Nullspannungsprozessor-Schlafzustands in Verbindung mit der Nullspannungseintritts/Austrittslogik354 der Takt/Energieverwaltungslogik350 der CPU205 verwendet. Ferner wird der dedizierte Schlafzustands-SRAM-Cache340 verwendet, um die Zustände der Kerne zu speichern, wie unten mit mehr Einzelheiten beschrieben. - Man wird verstehen, daß das System
200 und/oder andere Systeme von verschiedenen Ausführungsformen andere Komponenten oder Bestandteile umfassen können, die nicht in2 gezeigt werden, und/oder nicht alle der in2 gezeigten Bestandteile in Systemen aller Ausführungsformen vorhanden sein müssen. - Kurz auf
3 Bezug nehmend, ist3 ein Blockdiagramm, das ein Beispiel des dedizierten Schlafzustand-SRAM-Caches340 und einer SRAM-Schnittstelle364 gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht. Der dedizierte Schlafzustand-SRAM-Cache340 kann Zustandsvariablen speichern, die mit dem Architektur-, Mikroarchitektur-, Debug-Zustand und Mikrocodepatch verbunden sind, wenn die CPU205 sich im vorhergehend beschriebenen Nullspannungs-Schlafzustand (z. B. dem C6-Zustand) befindet. - In einem Beispiel kann die Größe des SRAM
340 8 KB pro CPU-Kern betragen und 32 Bit breit sein und durch die Takt/Energieverwaltungslogik350 getaktet werden. Wie vorhergehend erörtert, kann der dedizierte Schlafzustand-SRAM-Cache340 durch E/A-Spannung (VI/O349 ) mit Energie versorgt werden, derart, daß seine Inhalte bewahrt werden, wenn die Betriebsspannung für die CPU205 ausgeschaltet wird. - Der dedizierte Schlafzustands-SRAM
340 kann als 2K-Eingänge von jeweils 32 Bits strukturiert sein und einen ECC-Schutz für Einzelbitfehlererkennung und -korrektur aufweisen. Der Datenweg kann 32-Bit umfassen und eine 2-Zyklen-Latenz in das Array unterstützen. Wie in3 ersichtlich, kann die SRAM-Schnittstelle364 einen 32-Bit-Datenbus von einem Datenpuffer370 umfassen, der 32-Bit-Daten verwendet. - In einem Beispiel kann eine Steuerregister-Busschnittstelle verwendet werden, um durch Verwendung einer Front-End-Clusterschnittstelle zur Verringerung der Komplexität der Adressierung des SRAM auf einfache Weise eine Schnittstelle mit dem Mikrocode zu bilden. Die Schnittstelle kann 2K-Steuerregister und ein Adressierungsschema mit zwei Ebenen verwenden. Zwei Register können zur Adressierung des SRAM definiert sein – das erste kann ein SRAM-Basisregister sein und das zweite kann ein SRAM-Datenregister sein. Mikrocode kann das Basisregister vor Beginn des Zugriffs auf den SRAM initialisieren. Der Inhalt des Basisregisters kann als ein Index in den SRAM für das nächste Lesen/Schreiben aus dem/in das Datenregister verwendet werden. Nach jedem Zugriff auf das Datenregister kann der Index in den SRAM automatisch um eins inkrementiert werden.
- Wie in
3 veranschaulicht, kann die SRAM-Schnittstelle364 in einem Beispiel einen Datenpuffer370 umfassen, der 32-Bit-Daten basierend auf Lese/Schreibfreigabesignalen vom Adressdecoder380 in und aus dem SRAM340 puffert. Der Adressdecoder380 kann auch eine Schreibfreigabe für das Basisregister382 und einen Rücksetzzeiger freigeben. Das Basisregister382 kann verwendet werden, um das Register384 zu inkrementieren, das durch einen 12-Bit-Zeiger und eine 2-Bit-Lese/Schreib-Freigabe auf dem SRAM340 arbeitet. Der Inhalt des Basisregisters382 kann als ein Index in den SRAM für das nächste Lesen/Schreiben in das/aus dem Datenregister verwendet werden. Nach jedem Zugriff auf das Datenregister kann der Index in den SRAM automatisch um eins erhöht werden. Ferner kann das Register384 den SRAM basierend auf einem Rücksetzzeiger zurücksetzen. - Nun wird auf
4 Bezug genommen.4 ist ein Ablaufdiagramm, das ein Verfahren400 gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht, das verwendet werden kann, um in den Nullspannungs-Prozessorschlafzustand einzutreten. In einer Ausführungsform kann die folgende Reihe von Betriebsabläufen durch den Mikrocode323 der CPU-Kerne320 und322 der CPU205 gesteuert werden. In der ACPI-Ausführungsform, die den C6-Zustand darlegt, kann der Eintritt in den Nullspannungs-Prozessorschlafzustand durch einen MWAIT-Befehl eingeleitet werden, wie vorhergehend erörtert. - Aus der Perspektive der Software kann jeder CPU-Kern
320 oder322 den MWAIT-Befehl unabhängig ausführen. In einer Ausführungsform verwenden die CPU-Kerne320 und322 indes einen gemeinsamen L2-Cache330 und die gleiche Spannungsebene. Daher erfordert diese Ausführungsform eine Hardware-Koordinierung in der CPU205 für die C-Zustände auf Paketebene und insbesondere den C6-Zustand. - In dieser Ausführungsform kann jeder Kern
320 und322 einen MWAIT-Befehl ausführen und der initialisierende CPU-Kern geht in einen Wartezustand (z. B. CC6) über und wartet darauf, daß der andere Kern auch in den CC6-Zustand übergeht, bevor das gesamte Paket (das z. B. die beiden Kerne320 und322 umfaßt) dazu übergeht, was als der Paket-C6-Schlafzustand bezeichnet werden kann. - Insbesondere mit Hinblick auf
4 wird eine Veranschaulichung des Eintritts in den Nullspannungs-Prozessorschlafzustand bereitgestellt. Wie in4 gezeigt, führt jeder Kern unabhängig eine Zustandspeicherung durch, wenn der Nullspannungs-Prozessorschlafzustand eingeleitet wird. Insbesondere mit Hinblick auf einen CPU-Kern #0320 ist der erste CPU-Kern #0 aktiv (Kreis402 ) und dann wird ein Befehl für einen Nullspannungs-Schlafzustand eingeleitet (z. B. über einen Sleep- oder MWAIT-Befehl) (Kreis404 ). In Reaktion darauf wird der Zustand des CPU-Kerns320 in Kreis406 im dedizierten Cachespeicher340 gespeichert. Dies umfaßt den dedizierten Zustand325 und den gemeinsamen Zustand324 . Der CPU-Kern320 geht dann in einen ersten Schlafzustand408 (z. B. CC6) über, in dem er darauf wartet, daß der andere Kern auch in den CC6-Zustand übergeht, bevor das ganze Paket in den Gesamtpaket-Schlafzustand (z. B. C6) übergehen kann. - Auf die gleiche Weise befiehlt der andere CPU-Kern (z. B. der CPU-Kern #1
322 ) in Kreis414 gleichfalls einen Schlafbefehl (z. B. MWAIT) und sein Zustand (z. B. sowohl sein gemeinsamer Zustand324 als auch sein dedizierter Zustand325 ) wird auch im dedizierten Cache-Speicher340 gespeichert (Kreis418 ). In diesem Fall wird der gemeinsame Cache330 , da dies der letzte Kern ist, der in einen Schlafzustand übergeht, auch vermindert und im dedizierten Cachespeicher340 gespeichert (Kreis416 ). Dann tritt der zweite CPU-Kern322 in Kreis420 gleichfalls in einen Schlafzustand (z. B. CC6) ein. - Es sei erwähnt, daß der Mikrocode
323 der CPU-Kerne320 und322 allgemein wissen muß, welche Steuerregister für den Nullspannungs-Prozessorschlafzustand gespeichert und wiederhergestellt werden müssen. Die Liste der Register kann eine Teilmenge der gesamten Register auf der CPU205 sein. Zum Beispiel kann die Liste als ein Bitvektor (z. B. 1024 Bits lang) gespeichert werden. Jedes Bit im Vektor kann einem Steuerregister in der Steuerregister-Adressbasis entsprechen. Zum Beispiel kann Mikrocode die Bitposition in die Steuerregisteradresse umwandeln und das Register speichern/wiederherstellen, wenn das Bit „1” ist, und sie überspringen, wenn das Bit „0” ist. Wenn ein Steuerregister eine besondere Handhabung erfordert, kann das Speicherungs-/Wiederherstellungsbit im Vektor auf „0” eingestellt werden und die Speicherung/Wiederherstellung durch einen besonderen Mikrocodefluß außerhalb der Hauptspeicher/Wiederherstellungsschleife gehandhabt werden. - Nachdem die Mikrocode-Betriebsabläufe durchgeführt wurden, wie vorhergehend erörtert, übernimmt die Nullspannungseintritts/Austrittslogik
354 der Takt/Energieverwaltungslogik350 die Datenflüsse (z. B. C6-Flüsse). Insbesondere tritt dies ein, nachdem die Mikrocode-Betriebsabläufe hinsichtlich der Zustandsspeicherungen (406 und418 ) beendet wurden und nachdem jeder CPU-Kern320 und322 einen individuellen Schlafzustand408 und420 (z. B. CC6-Zustand) erreicht hat. - An diesem Punkt wurde der gesamte erforderliche Zustand der CPU
205 gespeichert oder von der CPU205 gelöscht. Die Nullspannungseintritts/Austrittslogik354 der Takt/Energieverwaltungslogik350 leitet dann eine externe Eintrittsequenz auf Plattformebene (z. B. C6) ein, indem ein Lesen des E/A-Registers vom ICH225 durchgeführt wird. In einer Ausführungsform kann dies das ACPI-definierte Verfahren des Eintritts in die CPU-„C”-Zustände sein. - Die Folge von Ereignissen aus der Perspektive des externen Busses ab diesem Punkt ist in
4 gezeigt. Die E/A-Befehle410 können vom ICH225 /MCH215 ausgegeben werden. Insbesondere kann bei Kreis430 (z. B. STPCLK#) ein Taktstopsignal aktiviert werden. Dann kann ein Schlafsignal aktiviert werden (Kreis431 ) (z. B. SLP#). Ferner kann bei Kreis432 ein Deep-Sleep-Signal aktiviert werden (DPSLP#). Diese Befehle werden in der vorhergehend beschriebenen Reihenfolge ausgegeben, derart, daß die CPU205 durch das Abschalten ihrer internen Taktverteilung und dann der PLLs reagiert. - Wenn bei Kreis
435 ein Deeper-Stop-Signal (z. B. DPRSTP#) aktiviert wird, schaltet die CPU205 seine VID auf einen Nullspannungspegel, um den Spannungsregler212 anzuweisen, die Energieversorgung zu entfernen, und daß dies sicher ist. Dies kann als eine C6-VID bezeichnet werden. Auf diese Weise wird die Energieversorgung deaktiviert. Man sollte indes verstehen, daß anstelle von null Volt ein anderer sehr geringer Betrag einer Spannung als die VID gewählt werden kann. - Man sollte verstehen, daß der Spannungspegel anstatt auf einem Spannungspegel von genau null, auf einen „Pegel von ungefähr null Volt” eingestellt werden kann. Dieser Spannungspegel von ungefähr null Volt kann ein sehr niedriger Spannungspegel, wie 0,3 V oder 0.5 V, sein. In einigen Ausführungsformen kann ein solcher sehr niedriger Spannungspegel von ungefähr null die Eintritts- und Austrittslatenzen in den beziehungsweise aus dem Schlafzustand optimieren. Zusätzlich sollte man verstehen, daß der Spannungspegel von ungefähr null Volt für das System (z. B. aus Silizium) während der Herstellung (z. B. nach einem Tape-Out) gewählt und während unterschiedlicher Steppings und Revisionen der CPU unterschiedlich programmiert werden kann.
- Das Paket von CPU-Kernen (z. B. Kern
320 und Kern322 ) wird bei Kreis440 als sich in einem Paketschlafzustand (C6) befindlich betrachtet, wenn die Betriebsspannung240 vom Spannungsregler212 null Volt oder einen anderen nominal niedrigen Pegel erreicht. Es sei erwähnt, daß, da kein aktives Absenken der Betriebsspannung des Geräts stattfindet, diese einfach langsam absinkt, während die Ladung aufgrund des Verlusts der CPU205 verloren geht. So ist die CPU205 in den Nullspannungs-Paketschlafzustand (C6) übergegangen. Man sollte verstehen, daß die vorhergehend beschriebene Folge von Betriebsabläufen in einer Vielzahl von unterschiedlichen Reihenfolgen durchgeführt werden kann und daß die vorhergehend beschriebene Reihenfolge lediglich ein Beispiel ist. - Nun wird Bezug auf
5 genommen.5 ist ein Ablaufdiagramm, das ein Beispiel eines Verfahrens500 für eine Austrittsfolge aus dem Nullspannungs-Prozessorschlafzustand veranschaulicht. Ein Austritt aus dem Nullspannungs-Prozessorschlafzustand beginnt typischerweise, wenn der Chipsatz ein Ereignis detektiert, das ein Wecken der CPU205 erfordert – am wahrscheinlichsten ein Interrupt-Ereignis. Es sei indes erwähnt, daß der Chipsatz mit Masterzugriffen auf den Speicher vorgehen kann, ohne die CPU bei der Ausführung von Snoops zu wecken. Die Folge von externen Ereignissen und Handshakes, die zwischen dem Chipsatz und der CPU205 während einem Austritt aus dem Nullspannungs-Prozessorschlafzustand eintreten, werden mit Bezug auf5 erörtert. Diese Folge kann insbesondere als die Umkehrung dessen betrachtet werden, was während der vorhergehend beschriebenen Eintrittsphase erfolgt. - Vom Paketschlafzustand (C6) (Kreis
440 ) wird das Deeper-Stop-Signal (DPRSTP#) in einer Ausführungsform deaktiviert (deasserted) (Kreis502 ), was derart durch die CPU205 und die Nullspannungs-Eintritts/Austrittslogik354 der Takt/Energieverwaltungslogik350 detektiert wird, daß die Niederfrequenz-Betriebsart (LFM) VID an den Spannungsregler212 gesendet wird. Dies weist den Spannungsregler212 an, die Betriebsspannung des Kerns wieder hinauf auf die erforderliche VID zu steuern. - Zu einem vorbestimmten Zeitpunkt (z. B. durch die Zeitgeber im ICH
225 gesteuert) wird ein Signal zur erneuten Aktivierung der Takte aktiviert und das Deep-Sleep-Signal (DPSLP#) wird deaktiviert (Kreis505 ), was die PLLs der Takt/Energieverwaltungslogik350 startet. Danach initiiert die CPU205 einen internen Reset (Kreis506 ). Nachdem dieser Reset abgeschlossen wurde, sind die Energie und die Takte der CPU205 wieder eingeschaltet und sie ist bereit zur Wiederherstellung der kritischen Zustandsvariablen, die mit der CPU205 verbunden sind. - Als ein Beispiel wartet in der ACPI-Ausführungsform die CPU
205 typischerweise während eines C-Zustandsaustrittsereignisses bis zur Deaktivierung des STPCLK#, um intern innerhalb der CPU etwas vorzunehmen. Gemäß Ausführungsformen der vorliegenden Erfindung wird STPCLK# indes im Nullspannungs-Prozessorschlafzustand (z. B. C6) aufgrund der längeren Latenz der Wiederherstellung der Zustände, usw. außer Kraft gesetzt und es wird mit einer Zustandswiederherstellung (Kreis510 und Kreis530 ) für die entsprechenden Kerne320 und322 der CPU205 als Vorbereitung des C6-Austritts begonnen, sobald die Energie und die Takte verfügbar sind. Nachdem die Zustände der Kerne320 und322 wiederhergestellt wurden, ist die CPU205 bereit, um dort weiterzumachen, wo sie aufgehört hat. Der Mikrocode323 von beiden Kernen320 beziehungsweise322 der CPU205 werden zurückgesetzt (Kreise512 und532 ). - Keiner der CPU-Kerne
320 beziehungsweise322 wird indes aktiv (Kreise514 und534 ) und führt Befehle aus, solange das Schlafsignal deaktiviert ist (Kreis540 ) und das Stop-Clock-Signal (STPCLK#) deaktiviert ist. Nachdem das Stop-Clock indes deaktiviert wurde und das Schlafsignal deaktiviert wurde, werden sowohl die CPU205 als auch die Kerne320 und322 und der Chipsatz alle eingeschaltet und sind betriebsfähig, und beide Kerne werden aktiv (Kreis514 und Kreis534 ). Die CPU205 beginnt dann typischerweise mit einigen Codeabrufen, da ihre Caches leer sind, und beginnt dann mit den normalen Betriebsabläufen. Insbesondere werden beide Kerne im C0-Zustand geweckt. Das Betriebssystem kann bestimmen, welcher CPU-Kern die Ereignisse handhaben wird, und der andere Kern kann bald darauf wieder in einen Schlafzustand zurückversetzt werden. - Vorzugsweise kann die Software, wie vorhergehend erklärt, da die CPU
205 den Großteil der C-Zustandskoordinierung in Hardware ausführt, in jedem Kern ohne Softwarekoordinierung mit anderen Kernen unabhängig den Eintritt in den Nullspannungs-Prozessorschlafzustand (z. B. C6) anfordern. Insbesondere wird die durch die CPU205 im Schlafzustand benötigte Energie durch die Verwendung des Nullspannungs-Prozessorschlafzustands (z. B. C6) auf nahezu null vermindert. - Auch wird in der ACPI-Ausführungsform, in der der C6-Zustand beschrieben wird, auch ein wirksames Verfahren zum Erreichen der Zustandsspeicherung und der Wiederherstellung des gemeinsamen Zustands
324 der Kerne320 und322 des Prozessors205 unter Verwendung eines Kern-ID-Felds321 offenbart. Dieses Verfahren dient als die Synchronisierung für den Kernaustritt in C0. Die Kernkennungen321 können über Sicherungen in jedem Kern320 und322 fest verdrahtet sein und können jederzeit für die Kerne der CPU205 verfügbar sein. - Beide Kerne
320 und322 können den dedizierten Zustand325 und den gemeinsamen Zustand324 zum Zeitpunkt des Eintritts speichern. Die Kerne320 und322 werden vorzugsweise während der Zustandsspeicherung kein Ordnungsverfahren (wie einen Semaphor) verwenden. Am Ende der Zustandsspeicherung kann jeder Kern seine eindeutige Kernkennung321 in einem Hardwarezustand speichern. - Wenn der zweite Kern seine Zustandsspeicherung abschließt, kann dieser Kern seine eindeutige Kernkennung
321 im gleichen Hardwarezustand schreiben, wodurch die Kernkennung des ersten Kerns effektiv außer Kraft gesetzt wird. Dieser Hardwarezustand, der die Kernkennung enthält, wird während des Verbleibens im C6 gespeichert, indem er durch eine immer EIN geschaltete Energiequelle mit Energie versorgt wird. Beim C6-Austritt wird es der Kernkennung, die mit der gespeicherten Kernkennung übereinstimmt, wie vorhergehend erörtert, ermöglicht, die Wiederherstellung des gemeinsamen Zustands324 durchzuführen, wenn die Kerne320 und320 die Zustandswiederherstellung durchführen. Beide Kerne320 und322 können die Wiederherstellung des dedizierten Zustands325 durchführen. Die Kerne werden dann auf die gespeicherte Kernkennung321 zugreifen, um zu prüfen, ob sie die Wiederherstellung des gespeicherten Zustands durchführen müssen. Es muß nur einem Kern die Durchführung der Wiederherstellung erlaubt werden. Die anderen Kerne können warten, während der gemeinsame Zustand324 wiederhergestellt wird. Wenn die Wiederherstellung abgeschlossen ist, gehen beide Kerne in den C0-Zustand über. - In einer Ausführungsform können die Kerne
320 und322 einen Hardwaresemaphor „C6-Reihenfolgesemaphor” verwenden, um während der Wiederherstellung einen ausschließlichen Zugriff auf das Feld der Kernkennung321 zu gewährleisten. Ein Beispiel eines Pseudocodes zur Ermöglichung des Wiederherstellens des gemeinsamen Zustands wird unten bereitgestellt: - Kern, der zuerst in CC6 übergegangen ist
-
- Dedizierten Zustand wiederherstellen
- C6-Reihenfolgensemaphor ergreifen
- C6-wakeup.core ID lesen
- C6-wakeup.core ID gegen eigene core ID abgleichen
- Keine Übereinstimmung, Freigabe von C6-Reihenfolgensemaphor
- Restore_Complete: Warten
- C6-wakeup.core ID lesen
- Wenn core ID !=00 auf Restore_Complete springen
- Wenn core ID = 0 auf Befehl nach mwait springen
- Kern, der zuletzt in C06 übergegangen ist
-
- Dedizierten Zustand wiederherstellen
- C6-Reihenfolgensemaphor ergreifen
- C6-wakeup.core ID lesen
- C6-wakeup.core ID gegen eigene core ID abgleichen
- Abgeglichen, C6-Reihenfolgensemaphor sperren
- Zu geteilter Zustandswiederherstellung gehen
- Man wird verstehen, daß, obgleich Ausführungsbeispiele mit Bezug auf einen Nullspannungs–Prozessorschlafzustand beschrieben wurden, der in einen und aus einem Deeper-Sleep-C6-Zustand übergeht, der mit einer Zentraleinheit und einem Spannungsregler verbunden ist, verschiedene Ausführungsformen auf unterschiedliche Typen von Energieverwaltungskonfigurationen und/oder unterschiedliche Typen von integrierten Schaltungen angewandt werden können. Ferner liegen, obgleich in den hierin beschriebenen Ausführungsbeispielen Spannungssteuerungen unter Verwendung von VID-Signalen ausgeführt werden, andere Ansätze zum Bereitstellen von Spannungssteuerung innerhalb des Umfangs verschiedener Ausführungsformen.
- So wurden verschiedene Ausführungsformen eines Verfahrens und einer Vorrichtung für einen Nullspannungs-Prozessorschlafzustand beschrieben. In der vorhergehenden Beschreibung wurden Ausführungsformen der Erfindung mit Bezug auf spezifische Ausführungsbeispiele davon beschrieben.
Claims (18)
- Verfahren, das folgendes umfasst: Einleiten (
105 ) eines Übergangs in einen Nullspannungs-Energieverwaltungszustand für einen ersten Kern und einen zweiten Kern eines Prozessors, wobei eine an den Prozessor angelegte Betriebsspannung im Nullspannungs-Energieverwaltungszustand auf ungefähr Null Volt zu reduzieren ist; Während des Übergangs, unabhängig Speichern (110 ) von Zustandsvariablen des ersten Kerns und des zweiten Kerns des Prozessors in einem dedizierten Cachespeicher, der mit einer Spannung versorgt bleibt, die von einem E/A-Kontroller zugeführt wird, der mit dem Prozessor gekoppelt ist, während die an den Prozessor angelegte Betriebsspannung auf ungefähr null reduziert wird, wobei der erste Kern in einen ersten Schlafzustand eintritt, nachdem die Zustandsvariablen für den ersten Kern gespeichert sind und der zweite Kern in den ersten Schlafzustand eintritt, nachdem die Zustandsvariablen für den zweiten Kern gespeichert sind; Nach dem Speichern (110 ) der Zustandsvariablen im dedizierten Cachespeicher, Reduzieren (115 ) der Betriebsspannung auf ungefähr Null Volt, wobei der Prozessor in den Nullspannungs-Energieverwaltungszustand übergeht; und Austreten (120 ) aus dem Nullspannungs-Energieverwaltungszustand bei einer an den Prozessor angelegen Betriebsspannung, die höher als die ungefähr Null Volt ist. - Verfahren nach Anspruch 1, das ferner das Wiederherstellen (
125 ) der Zustandsvariablen des Prozessors nach dem Austreten aus dem Nullspannungs-Energieverwaltungszustand umfasst. - Verfahren nach Anspruch 1, wobei das Speichern der Zustandsvariablen des Prozessors ferner das Speichern der Zustandsvariablen des Prozessors, durch Microcode aufweist, der auf einem Kern des Prozessors ausgeführt wird, wobei der Microcode auf eine Liste von Registern zugreift, die einer Untergruppe aller Register des Prozessors entspricht, die in dem bestimmten Cachespeicher gespeichert werden sollen.
- Verfahren nach Anspruch 1, wobei der Prozessor mindestens einen ersten Kern und einen zweiten Kern umfasst.
- Verfahren nach Anspruch 4, das ferner das Speichern sowohl eines Zustands des ersten Kerns als auch eines Zustands des zweiten Kerns, wenn der Prozessor in den Nullspannungs-Energieverwaltungszustand übergeht, und das Synchronisieren der Wiederherstellung des Zustands des ersten Kerns und des Zustands des zweiten Kerns umfasst.
- Verfahren nach Anspruch 1, das ferner das Überwachen eines gegenwärtigen Spannungspegels während des Übergangs in den Nullspannungs-Energieverwaltungszustand umfasst.
- Verfahren nach Anspruch 6, wobei das Überwachen des gegenwärtigen Spannungspegels ferner folgendes umfasst: Bestimmen des gegenwärtigen Spannungspegels des Prozessors unter Verwendung eines Analog/Digitalwandlers (ADC); Bereitstellen einer digitalen Darstellung einer Spannungsidentifikation (VID) basierend auf dem festgestellten gegenwärtigen Spannungspegel für einen Spannungsregler, wobei der Spannungsregler die Betriebsspannung für den Prozessor bereitstellt; und Bestimmen, ob der gegenwärtige Spannungspegel höher ist als die Betriebsspannung, durch Vergleichen entsprechender VIDs.
- Vorrichtung, die folgendes umfasst: einen Prozessor (
205 ) mit einem ersten und einem zweiten Kern und einem dedizierten Cachespeicher (340 ), der dem Prozessor (205 ) zugeordnet ist; und einen Spannungsregler (212 ), der an den Prozessor (205 ) gekoppelt ist, um eine Betriebsspannung für den Prozessor (205 ) bereitzustellen, wobei der erste Kern und der zweite Kern in Reaktion auf eine Initiierung eines Übergangs in einen Nullspannungs-Energieverwaltungszustand für den Prozessor (205 ) Zustandsvariablen, die mit dem Prozessor assoziiert sind, im dedizierten Cachespeicher (340 ) unabhängig speichern sollen, wobei der erste Kern in einen ersten Schlafzustand eintreten soll, nachdem die Zustandsvariablen für den ersten Kern gespeichert sind und der zweite Kern in den ersten Schlafzustand eintreten soll, nachdem die Zustandsvariablen für den zweiten Kern gespeichert sind; wobei der Spannungsregler (212 ) betriebfähig ist, um die an den Prozessor (205 ) angelegte Betriebsspannung während des Übergangs in den Nullspannungs-Energieverwaltungszustand für den Prozessor (205 ) nach einem Speichern der mit dem Prozessor assoziierten Zustandsvariablen im dedizierten Cachespeicher (340 ) auf ungefähr Null Volt zu reduzieren, wobei der Prozessor in den Nullspannungs-Energieverwaltungszustand übergeht, wobei der dedizierte Cachespeicher (340 ) betriebsfähig ist, um die Zustandsvariablen zu empfangen, die mit dem Prozessor verbunden sind, wobei der dedizierte Cachespeicher mit einer Stromquelle eines Eingabe/Ausgabe-Kontrollers gekoppelt ist, der mit dem Prozessor gekoppelt ist, der mit Strom versorgt bleibt, während die an dem Prozessor angelegte Betriebsspannung auf ungefähr Null Volt reduziert wird. - Vorrichtung nach Anspruch 8, wobei der Spannungsregler (
212 ) nach dem Austritt aus dem Nullspannungs-Energieverwaltungszustand betriebsfähig ist, um die an den Prozessor (205 ) angelegte Betriebsspannung durch Lieferung einer Spannung, die höher ist als die ungefähr Null Volt, auf einen Betriebsspannungszustand zu erhöhen und der Betriebszustand des Prozessors (205 ) vom dedizierten Cachespeicher (340 ) wiederhergestellt wird. - Vorrichtung nach Anspruch 8, wobei der dedizierte Cachespeicher (
340 ) ein synchroner Speicher mit wahlfreiem Zugriff (Synchronous Random Access Memory – SRAM) innerhalb eines Pakets ist, das den Prozessor (205 ) enthält. - Vorrichtung nach Anspruch 8, wobei der Prozessor (
205 ) mindestens einen ersten Kern (320 ) und einen zweiten Kern (322 ) umfasst. - Vorrichtung nach Anspruch 11, wobei der erste Kern (
320 ) eine erste eindeutige Kennung aufweist und der zweite Kern (322 ) eine zweite eindeutige Kennung aufweist und der dedizierte Cachespeicher (340 ) die Zustandsvariablen eines bestimmten Kerns basierend auf der eindeutigen Kennung dieses bestimmten Kerns wiederherstellt. - Vorrichtung nach Anspruch 12, wobei der dedizierte Cachespeicher (
340 ) Zustandsvariablen des Kerns (320 ,322 ) wiederherstellt, der der letzte Kern war, der seine Zustandsvariablen im dedizierten Cachespeicher (340 ) gespeichert hat. - Maschinenlesbares Speichermedium, das darauf gespeicherte Befehle aufweist, die, wenn sie durch eine Maschine ausgeführt werden, bewirken, dass die Maschine die Betriebsabläufe durchführt, die folgendes umfassen: Einleiten (
105 ) eines Übergangs in einen Nullspannungs-Energieverwaltungszustand für einen ersten Kern und einen zweiten Kern eines Prozessors, wobei eine angelegte Betriebsspannung im Nullspannungs-Energieverwaltungszustand auf ungefähr null zu reduzieren ist; Während des Übergangs, unabhängig Speichern (110 ) von Zustandsvariablen des ersten Kerns und des zweiten Kerns des Prozessors in einem dedizierten Cachespeicher, der mit einer Spannung versorgt bleibt, die von einem E/A-Kontroller zugeführt wird, der mit dem Prozessor gekoppelt ist, während die an den Prozessor angelegte Betriebsspannung auf ungefähr null reduziert wird, wobei der erste Kern in einen ersten Schlafzustand übergeht, nachdem die Zustandsvariablen für den ersten Kern gespeichert sind und der zweite Kern in den ersten Schlafzustand übergeht, nachdem die Zustandsvariablen für den zweiten Kern gespeichert sind; Nach dem Speichern (110 ) der Zustandsvariablen im dedizierten Cachespeicher, Reduzieren (115 ) der Betriebsspannung auf ungefähr Null Volt, wobei der Prozessor in den Nullspannungs-Energieverwaltungszustand übergeht; Austreten (120 ) aus dem Nullspannungs-Energieverwaltungszustand bei einer höheren Betriebsspannung; und Wiederherstellen (125 ) der Zustandsvariablen von dem Speicher nach dem Austreten aus dem Nullspannungs-Energieverwaltungszustand. - Maschinenlesbares Speichermedium nach Anspruch 14, wobei das Speichern der Zustandsvariablen ferner Befehle umfasst, um die Zustandsvariablen durch Mikrocode zu speichern, der in einem Kern des Prozessors ausgeführt wird, wobei der Mikrocode eingerichtet ist, um auf eine Liste von Registern zuzugreifen, die einer Untergruppe aller Register des Prozessors entsprechen, um den dedizierten Cachespeicher zu speichern.
- Maschinenlesbares Speichermedium nach Anspruch 15, wobei der Cachespeicher ein synchroner Speicher mit wahlfreiem Zugriff (Synchronous Random Access Memory – SRAM) ist.
- Maschinenlesbares Speichermedium nach Anspruch 14, das ferner Befehle zum Überwachen eines gegenwärtigen Spannungspegels während des Übergangs in den Nullspannungs-Energieverwaltungszustand umfasst.
- Maschinenlesbares Speichermedium nach Anspruch 14, das ferner Befehle zum Speichern von sowohl Zustandsvariablen eines ersten Kerns als auch von Zustandsvariablen eines zweiten Kerns eines Prozessors beim Übergehen in den Nullspannungs-Energieverwaltungszustand umfasst.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/323,254 US7664970B2 (en) | 2005-12-30 | 2005-12-30 | Method and apparatus for a zero voltage processor sleep state |
US11/323,254 | 2005-12-30 | ||
PCT/US2006/048296 WO2007078925A1 (en) | 2005-12-30 | 2006-12-18 | Method and apparatus for a zero voltage processor sleep state |
Publications (3)
Publication Number | Publication Date |
---|---|
DE112006003575T5 DE112006003575T5 (de) | 2008-11-06 |
DE112006003575B4 true DE112006003575B4 (de) | 2015-10-08 |
DE112006003575B8 DE112006003575B8 (de) | 2016-10-20 |
Family
ID=38050291
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112006003575.4T Expired - Fee Related DE112006003575B8 (de) | 2005-12-30 | 2006-12-18 | Verfahren und Vorrichtung für einen Nullspannungs-Prozessorschlafzustand |
DE200611004276 Withdrawn DE112006004276A5 (de) | 2005-12-30 | 2006-12-18 | Verfahren und Vorrichtung für einen Nullspannungsprozessorschlafzustand |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE200611004276 Withdrawn DE112006004276A5 (de) | 2005-12-30 | 2006-12-18 | Verfahren und Vorrichtung für einen Nullspannungsprozessorschlafzustand |
Country Status (7)
Country | Link |
---|---|
US (14) | US7664970B2 (de) |
JP (1) | JP4875710B2 (de) |
KR (1) | KR101021405B1 (de) |
CN (3) | CN101351762A (de) |
DE (2) | DE112006003575B8 (de) |
TW (1) | TWI334979B (de) |
WO (1) | WO2007078925A1 (de) |
Families Citing this family (67)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7664970B2 (en) | 2005-12-30 | 2010-02-16 | Intel Corporation | Method and apparatus for a zero voltage processor sleep state |
US7966511B2 (en) | 2004-07-27 | 2011-06-21 | Intel Corporation | Power management coordination in multi-core processors |
US7523327B2 (en) * | 2005-03-05 | 2009-04-21 | Intel Corporation | System and method of coherent data transfer during processor idle states |
US7802116B2 (en) * | 2006-09-27 | 2010-09-21 | Intel Corporation | Subsystem power management |
US8812885B2 (en) * | 2006-12-28 | 2014-08-19 | Texas Instruments Incorporated | Detecting wake-up events for a chip based on an I/O power supply |
US7941683B2 (en) * | 2007-05-02 | 2011-05-10 | Advanced Micro Devices, Inc. | Data processing device with low-power cache access mode |
EP2058725A3 (de) * | 2007-06-11 | 2015-07-22 | Mediatek Inc. | Verfahren und Vorrichtung zur Verringerung des Stromverbrauchs innerhalb einer integrierten Schaltung |
US8683247B2 (en) * | 2008-06-12 | 2014-03-25 | Advanced Micro Devices, Inc. | Method and apparatus for controlling power supply to primary processor and portion of peripheral devices by controlling switches in a power/reset module embedded in secondary processor |
KR101000555B1 (ko) * | 2008-06-16 | 2010-12-14 | 엘지전자 주식회사 | 동적 전력관리 프로세서의 소음저감장치 및 방법 |
US8078891B2 (en) | 2008-06-30 | 2011-12-13 | Intel Corporation | Method, device, and system for guaranteed minimum processor power state dwell time |
US7779191B2 (en) * | 2008-07-29 | 2010-08-17 | Nvidia Corporation | Platform-based idle-time processing |
US8028181B2 (en) * | 2008-09-19 | 2011-09-27 | Intel Corporation | Processor power consumption control and voltage drop via micro-architectural bandwidth throttling |
US8122270B2 (en) * | 2008-09-29 | 2012-02-21 | Intel Corporation | Voltage stabilization for clock signal frequency locking |
US8495423B2 (en) * | 2009-08-11 | 2013-07-23 | International Business Machines Corporation | Flash-based memory system with robust backup and restart features and removable modules |
US8352770B2 (en) * | 2009-09-25 | 2013-01-08 | Intel Corporation | Method, system and apparatus for low-power storage of processor context information |
US8539260B2 (en) * | 2010-04-05 | 2013-09-17 | Intel Corporation | Method, apparatus, and system for enabling platform power states |
US8782456B2 (en) * | 2010-06-01 | 2014-07-15 | Intel Corporation | Dynamic and idle power reduction sequence using recombinant clock and power gating |
US8117498B1 (en) * | 2010-07-27 | 2012-02-14 | Advanced Micro Devices, Inc. | Mechanism for maintaining cache soft repairs across power state transitions |
US8887012B2 (en) * | 2010-08-24 | 2014-11-11 | Advanced Micro Devices, Inc. | Method and apparatus for saving and restoring soft repair data |
US9339224B2 (en) | 2011-02-24 | 2016-05-17 | Rochester Institute Of Technology | Event dosimeter devices and methods thereof |
US10292445B2 (en) | 2011-02-24 | 2019-05-21 | Rochester Institute Of Technology | Event monitoring dosimetry apparatuses and methods thereof |
US8924752B1 (en) | 2011-04-20 | 2014-12-30 | Apple Inc. | Power management for a graphics processing unit or other circuit |
US8924756B2 (en) * | 2011-06-27 | 2014-12-30 | Intel Corporation | Processor core with higher performance burst operation with lower power dissipation sustained workload mode |
WO2013015924A1 (en) * | 2011-07-26 | 2013-01-31 | Marvell World Trade Ltd. | Zero power hibernation mode with instant on |
CN103765409A (zh) | 2011-09-06 | 2014-04-30 | 英特尔公司 | 有功率效率的处理器体系结构 |
US8856566B1 (en) | 2011-12-15 | 2014-10-07 | Apple Inc. | Power management scheme that accumulates additional off time for device when no work is available and permits additional power consumption by device when awakened |
US9665144B2 (en) * | 2011-12-21 | 2017-05-30 | Intel Corporation | Methods and systems for energy efficiency and energy conservation including entry and exit latency reduction for low power states |
US8874949B2 (en) | 2011-12-22 | 2014-10-28 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including enhanced temperature based voltage control |
US8819461B2 (en) * | 2011-12-22 | 2014-08-26 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including improved processor core deep power down exit latency by using register secondary uninterrupted power supply |
US9400545B2 (en) | 2011-12-22 | 2016-07-26 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including autonomous hardware-based deep power down in devices |
US9122464B2 (en) * | 2011-12-22 | 2015-09-01 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including energy efficient processor thermal throttling using deep power down mode |
US8713256B2 (en) | 2011-12-23 | 2014-04-29 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including dynamic cache sizing and cache operating voltage management for optimal power performance |
US8230247B2 (en) * | 2011-12-30 | 2012-07-24 | Intel Corporation | Transferring architectural functions of a processor to a platform control hub responsive to the processor entering a deep sleep state |
TWI475841B (zh) * | 2012-02-14 | 2015-03-01 | Htc Corp | 連線休眠方法、無線通信裝置以及電腦可讀記錄媒體 |
US9323316B2 (en) | 2012-03-13 | 2016-04-26 | Intel Corporation | Dynamically controlling interconnect frequency in a processor |
US9436245B2 (en) | 2012-03-13 | 2016-09-06 | Intel Corporation | Dynamically computing an electrical design point (EDP) for a multicore processor |
WO2013137859A1 (en) | 2012-03-13 | 2013-09-19 | Intel Corporation | Providing energy efficient turbo operation of a processor |
US9390461B1 (en) | 2012-05-08 | 2016-07-12 | Apple Inc. | Graphics hardware mode controls |
US9250665B2 (en) | 2012-06-07 | 2016-02-02 | Apple Inc. | GPU with dynamic performance adjustment |
US9152205B2 (en) * | 2012-08-28 | 2015-10-06 | Intel Corporation | Mechanism for facilitating faster suspend/resume operations in computing systems |
US8984313B2 (en) * | 2012-08-31 | 2015-03-17 | Intel Corporation | Configuring power management functionality in a processor including a plurality of cores by utilizing a register to store a power domain indicator |
US9600382B2 (en) * | 2012-09-03 | 2017-03-21 | Southeast University | Error recovery circuit oriented to CPU pipeline |
US9690353B2 (en) * | 2013-03-13 | 2017-06-27 | Intel Corporation | System and method for initiating a reduced power mode for one or more functional blocks of a processor based on various types of mode request |
US9465432B2 (en) * | 2013-08-28 | 2016-10-11 | Via Technologies, Inc. | Multi-core synchronization mechanism |
US9262322B2 (en) * | 2013-09-17 | 2016-02-16 | Advanced Micro Devices, Inc. | Method and apparatus for storing a processor architectural state in cache memory |
US10705961B2 (en) | 2013-09-27 | 2020-07-07 | Intel Corporation | Scalably mechanism to implement an instruction that monitors for writes to an address |
EP3074840A4 (de) * | 2013-11-29 | 2017-06-28 | Intel Corporation | Leistungsverwaltung bei computervorrichtungen |
KR102210996B1 (ko) * | 2014-01-03 | 2021-02-02 | 삼성전자주식회사 | 프로세서 및 프로세서 제어 방법 |
US10261882B2 (en) | 2014-01-31 | 2019-04-16 | Hewlett Packard Enterprise Development Lp | Functional unit promotion to management unit |
US9612643B2 (en) * | 2014-03-29 | 2017-04-04 | Intel Corporation | Controlling the CPU slew rates based on the battery state of charge |
US9426748B2 (en) * | 2014-07-11 | 2016-08-23 | Qualcomm Incorporated | Dynamic sleep mode based upon battery charge |
US9582068B2 (en) * | 2015-02-24 | 2017-02-28 | Qualcomm Incorporated | Circuits and methods providing state information preservation during power saving operations |
CN104731616A (zh) * | 2015-03-25 | 2015-06-24 | 浪潮集团有限公司 | 一种关闭Linux OS下Intel CPU节能模式的方法 |
US10234932B2 (en) * | 2015-07-22 | 2019-03-19 | Futurewei Technologies, Inc. | Method and apparatus for a multiple-processor system |
CN106227317B (zh) * | 2016-08-02 | 2019-02-05 | 联想(北京)有限公司 | 一种信号处理方法及电子设备 |
US10452561B2 (en) | 2016-08-08 | 2019-10-22 | Raytheon Company | Central processing unit architecture and methods for high availability systems |
TWI626535B (zh) * | 2017-02-15 | 2018-06-11 | 新唐科技股份有限公司 | 電源管理系統和控制器 |
US10990159B2 (en) | 2017-04-25 | 2021-04-27 | Apple Inc. | Architected state retention for a frequent operating state switching processor |
GB2564878B (en) * | 2017-07-25 | 2020-02-26 | Advanced Risc Mach Ltd | Parallel processing of fetch blocks of data |
US11119830B2 (en) * | 2017-12-18 | 2021-09-14 | International Business Machines Corporation | Thread migration and shared cache fencing based on processor core temperature |
US11429385B2 (en) * | 2018-12-29 | 2022-08-30 | Intel Corporation | Hardware processors and methods for extended microcode patching and reloading |
US11703933B2 (en) * | 2019-01-24 | 2023-07-18 | Intel Corporation | Remote register updates |
KR20200114017A (ko) * | 2019-03-27 | 2020-10-07 | 에스케이하이닉스 주식회사 | 컨트롤러 및 그 동작 방법 |
US11658571B2 (en) | 2020-04-01 | 2023-05-23 | Analog Devices International Unlimited Company | Low power regulator circuit |
KR20220046221A (ko) * | 2020-10-07 | 2022-04-14 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US11861781B2 (en) | 2020-12-28 | 2024-01-02 | Samsung Electronics Co., Ltd. | Graphics processing units with power management and latency reduction |
TWI824464B (zh) * | 2022-03-31 | 2023-12-01 | 仁寶電腦工業股份有限公司 | 電子裝置以及用於電子裝置的啟動方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030101362A1 (en) * | 2001-11-26 | 2003-05-29 | Xiz Dia | Method and apparatus for enabling a self suspend mode for a processor |
US6711691B1 (en) * | 1999-05-13 | 2004-03-23 | Apple Computer, Inc. | Power management for computer systems |
Family Cites Families (136)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4819154A (en) | 1982-12-09 | 1989-04-04 | Sequoia Systems, Inc. | Memory back up system with one cache memory and two physically separated main memories |
AT378369B (de) | 1983-08-26 | 1985-07-25 | Krems Chemie Gmbh | Verfahren zur herstellung von methylolierten melaminen |
JPH0195355A (ja) * | 1987-10-07 | 1989-04-13 | Mitsubishi Electric Corp | マルチプロセッサシステム |
US5526487A (en) | 1989-02-09 | 1996-06-11 | Cray Research, Inc. | System for multiprocessor communication |
US5153535A (en) | 1989-06-30 | 1992-10-06 | Poget Computer Corporation | Power supply and oscillator for a computer system providing automatic selection of supply voltage and frequency |
US5396635A (en) | 1990-06-01 | 1995-03-07 | Vadem Corporation | Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system |
US5551033A (en) | 1991-05-17 | 1996-08-27 | Zenith Data Systems Corporation | Apparatus for maintaining one interrupt mask register in conformity with another in a manner invisible to an executing program |
JPH06236284A (ja) | 1991-10-21 | 1994-08-23 | Intel Corp | コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム |
JP2880863B2 (ja) | 1992-10-29 | 1999-04-12 | 株式会社東芝 | サスペンド制御方法およびシステム |
JP2809962B2 (ja) | 1993-03-02 | 1998-10-15 | 株式会社東芝 | 資源管理方式 |
US5502838A (en) | 1994-04-28 | 1996-03-26 | Consilium Overseas Limited | Temperature management for integrated circuits |
JP3304577B2 (ja) * | 1993-12-24 | 2002-07-22 | 三菱電機株式会社 | 半導体記憶装置とその動作方法 |
US5918061A (en) | 1993-12-29 | 1999-06-29 | Intel Corporation | Enhanced power managing unit (PMU) in a multiprocessor chip |
US5632038A (en) | 1994-02-22 | 1997-05-20 | Dell Usa, L.P. | Secondary cache system for portable computer |
US5623677A (en) | 1994-05-13 | 1997-04-22 | Apple Computer, Inc. | Apparatus and method for reducing power consumption in a computer system |
US5560022A (en) | 1994-07-19 | 1996-09-24 | Intel Corporation | Power management coordinator system and interface |
US5530879A (en) | 1994-09-07 | 1996-06-25 | International Business Machines Corporation | Computer system having power management processor for switching power supply from one state to another responsive to a closure of a switch, a detected ring or an expiration of a timer |
US5990516A (en) | 1994-09-13 | 1999-11-23 | Kabushiki Kaisha Toshiba | MOSFET with a thin gate insulating film |
JP2005217436A (ja) * | 1994-09-13 | 2005-08-11 | Toshiba Corp | 半導体装置および半導体集積回路装置 |
US5734585A (en) | 1994-11-07 | 1998-03-31 | Norand Corporation | Method and apparatus for sequencing power delivery in mixed supply computer systems |
JP3028041B2 (ja) * | 1995-02-17 | 2000-04-04 | ヤマハ株式会社 | 楽音要素抽出装置 |
US5745375A (en) | 1995-09-29 | 1998-04-28 | Intel Corporation | Apparatus and method for controlling power usage |
US5787294A (en) | 1995-10-13 | 1998-07-28 | Vlsi Technology, Inc. | System for reducing the power consumption of a computer system and method therefor |
US5812860A (en) | 1996-02-12 | 1998-09-22 | Intel Corporation | Method and apparatus providing multiple voltages and frequencies selectable based on real time criteria to control power consumption |
US5784628A (en) * | 1996-03-12 | 1998-07-21 | Microsoft Corporation | Method and system for controlling power consumption in a computer system |
US5940785A (en) | 1996-04-29 | 1999-08-17 | International Business Machines Corporation | Performance-temperature optimization by cooperatively varying the voltage and frequency of a circuit |
US5765001A (en) | 1996-04-29 | 1998-06-09 | International Business Machines Corporation | Computer system which is operative to change from a normal operating state to a suspend state when a power supply thereof detects that an external source is no longer providing power to said power supply at a predetermined level |
US6061711A (en) | 1996-08-19 | 2000-05-09 | Samsung Electronics, Inc. | Efficient context saving and restoring in a multi-tasking computing system environment |
JPH1091603A (ja) | 1996-09-12 | 1998-04-10 | Fujitsu Ltd | デュアルcpuシステムにおける立ち上げ同期確立方法及び異常監視方法 |
US5870616A (en) | 1996-10-04 | 1999-02-09 | International Business Machines Corporation | System and method for reducing power consumption in an electronic circuit |
US5862368A (en) | 1996-12-11 | 1999-01-19 | Dell Usa, L.P. | Process to allow automatic microprocessor clock frequency detection and selection |
JP3253881B2 (ja) | 1997-01-06 | 2002-02-04 | 株式会社東芝 | コンピュータシステムおよびそのシステムにおけるハイバネーション制御方法 |
GB2338806A (en) | 1997-03-31 | 1999-12-29 | Intel Corp | Automatic transitioning between ACPI C3 and C2 states |
US6167488A (en) | 1997-03-31 | 2000-12-26 | Sun Microsystems, Inc. | Stack caching circuit with overflow/underflow unit |
US6021500A (en) | 1997-05-07 | 2000-02-01 | Intel Corporation | Processor with sleep and deep sleep modes |
US6223208B1 (en) | 1997-10-03 | 2001-04-24 | International Business Machines Corporation | Moving data in and out of processor units using idle register/storage functional units |
US6205521B1 (en) | 1997-11-03 | 2001-03-20 | Compaq Computer Corporation | Inclusion map for accelerated cache flush |
US5953685A (en) | 1997-11-26 | 1999-09-14 | Intel Corporation | Method and apparatus to control core logic temperature |
US6115763A (en) | 1998-03-05 | 2000-09-05 | International Business Machines Corporation | Multi-core chip providing external core access with regular operation function interface and predetermined service operation services interface comprising core interface units and masters interface unit |
US6408325B1 (en) | 1998-05-06 | 2002-06-18 | Sun Microsystems, Inc. | Context switching technique for processors with large register files |
US6141762A (en) | 1998-08-03 | 2000-10-31 | Nicol; Christopher J. | Power reduction in a multiprocessor digital signal processor based on processor load |
US6347379B1 (en) | 1998-09-25 | 2002-02-12 | Intel Corporation | Reducing power consumption of an electronic device |
JP2000112585A (ja) * | 1998-10-02 | 2000-04-21 | Toshiba Corp | システムlsi及びパワーマネジメント方法 |
US6415388B1 (en) | 1998-10-30 | 2002-07-02 | Intel Corporation | Method and apparatus for power throttling in a microprocessor using a closed loop feedback system |
US6230274B1 (en) | 1998-11-03 | 2001-05-08 | Intel Corporation | Method and apparatus for restoring a memory device channel when exiting a low power state |
US6272642B2 (en) | 1998-12-03 | 2001-08-07 | Intel Corporation | Managing a system's performance state |
US6535798B1 (en) | 1998-12-03 | 2003-03-18 | Intel Corporation | Thermal management in a system |
US6118306A (en) | 1998-12-03 | 2000-09-12 | Intel Corporation | Changing clock frequency |
US6389556B1 (en) | 1999-01-21 | 2002-05-14 | Advanced Micro Devices, Inc. | Mechanism to prevent data loss in case of a power failure while a PC is in suspend to RAM state |
US6363490B1 (en) | 1999-03-30 | 2002-03-26 | Intel Corporation | Method and apparatus for monitoring the temperature of a processor |
TW425506B (en) | 1999-06-11 | 2001-03-11 | Via Tech Inc | Voltage switching device for suspending to RAM mode |
WO2001001228A1 (fr) | 1999-06-29 | 2001-01-04 | Hitachi, Ltd. | Systeme lsi |
US6571341B1 (en) | 1999-07-23 | 2003-05-27 | Intel Corporation | Using a hardware-driven event to wake a computer from a sleeping state |
US6584573B1 (en) | 1999-08-30 | 2003-06-24 | Intel Corporation | Placing a computer system into a sleeping state |
US6523128B1 (en) | 1999-08-31 | 2003-02-18 | Intel Corporation | Controlling power for a sleeping state of a computer to prevent overloading of the stand-by power rails by selectively asserting a control signal |
TW448352B (en) | 1999-09-06 | 2001-08-01 | Via Tech Inc | Power-saving device and method for suspend to RAM |
US6505216B1 (en) | 1999-10-01 | 2003-01-07 | Emc Corporation | Methods and apparatus for backing-up and restoring files using multiple trails |
JP2003514296A (ja) | 1999-11-09 | 2003-04-15 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | プロセッサの動作パラメータをその環境に従って動的に調節する方法 |
US6499102B1 (en) | 1999-12-29 | 2002-12-24 | Intel Corporation | Method of dynamically changing the lowest sleeping state in ACPI |
US6550020B1 (en) | 2000-01-10 | 2003-04-15 | International Business Machines Corporation | Method and system for dynamically configuring a central processing unit with multiple processing cores |
US6633987B2 (en) * | 2000-03-24 | 2003-10-14 | Intel Corporation | Method and apparatus to implement the ACPI(advanced configuration and power interface) C3 state in a RDRAM based system |
US6543698B1 (en) | 2000-04-10 | 2003-04-08 | Heat-N-Glo Fireplace Products, Inc. | Fireplace make-up air heat exchange system |
US6968469B1 (en) | 2000-06-16 | 2005-11-22 | Transmeta Corporation | System and method for preserving internal processor context when the processor is powered down and restoring the internal processor context when processor is restored |
US6691234B1 (en) | 2000-06-16 | 2004-02-10 | Intel Corporation | Method and apparatus for executing instructions loaded into a reserved portion of system memory for transitioning a computer system from a first power state to a second power state |
US6411157B1 (en) * | 2000-06-29 | 2002-06-25 | International Business Machines Corporation | Self-refresh on-chip voltage generator |
US6438658B1 (en) | 2000-06-30 | 2002-08-20 | Intel Corporation | Fast invalidation scheme for caches |
US6748545B1 (en) * | 2000-07-24 | 2004-06-08 | Advanced Micro Devices, Inc. | System and method for selecting between a voltage specified by a processor and an alternate voltage to be supplied to the processor |
WO2002013014A2 (en) | 2000-08-04 | 2002-02-14 | Marconi Communications, Inc. | System and method for implementing a redundant data storage architecture |
US6664775B1 (en) | 2000-08-21 | 2003-12-16 | Intel Corporation | Apparatus having adjustable operational modes and method therefore |
US6941480B1 (en) | 2000-09-30 | 2005-09-06 | Intel Corporation | Method and apparatus for transitioning a processor state from a first performance mode to a second performance mode |
US6678767B1 (en) | 2000-10-06 | 2004-01-13 | Broadcom Corp | Bus sampling on one edge of a clock signal and driving on another edge |
ATE492840T1 (de) | 2000-10-31 | 2011-01-15 | Millennial Net Inc | Vernetztes verarbeitungssystem mit optimiertem leistungswirkungsgrad |
US6988214B1 (en) | 2000-11-06 | 2006-01-17 | Dell Products L.P. | Processor power state transistions using separate logic control |
US6691216B2 (en) | 2000-11-08 | 2004-02-10 | Texas Instruments Incorporated | Shared program memory for use in multicore DSP devices |
US6845432B2 (en) | 2000-12-28 | 2005-01-18 | Intel Corporation | Low power cache architecture |
US6738675B2 (en) | 2000-12-30 | 2004-05-18 | Intel Corporation | Method, apparatus, and system to reduce microprocessor power dissipation |
JP2002215599A (ja) | 2001-01-18 | 2002-08-02 | Mitsubishi Electric Corp | マルチプロセッサシステムおよびその制御方法 |
US6883037B2 (en) | 2001-03-21 | 2005-04-19 | Microsoft Corporation | Fast data decoder that operates with reduced output buffer bounds checking |
KR100424484B1 (ko) | 2001-07-05 | 2004-03-24 | 엘지전자 주식회사 | 중앙 처리 장치용 전원 공급기 |
JP4733877B2 (ja) | 2001-08-15 | 2011-07-27 | 富士通セミコンダクター株式会社 | 半導体装置 |
US7539878B2 (en) | 2001-09-19 | 2009-05-26 | Freescale Semiconductor, Inc. | CPU powerdown method and apparatus therefor |
FR2832233B1 (fr) | 2001-11-13 | 2004-01-02 | France Telecom | Reconfiguration de composants programmables dans un appareil electronique |
US6804632B2 (en) * | 2001-12-06 | 2004-10-12 | Intel Corporation | Distribution of processing activity across processing hardware based on power consumption considerations |
US6823240B2 (en) | 2001-12-12 | 2004-11-23 | Intel Corporation | Operating system coordinated thermal management |
US6714891B2 (en) | 2001-12-14 | 2004-03-30 | Intel Corporation | Method and apparatus for thermal management of a power supply to a high performance processor in a computer system |
EP1338947A1 (de) | 2002-02-22 | 2003-08-27 | Hewlett-Packard Company | Leistungszustanduntersystem und Verfahren zur Leistungszustandänderung eines ausgewählten Rechnersystems |
US6954864B2 (en) | 2002-03-29 | 2005-10-11 | Intel Corporation | Method and apparatus for remotely placing a computing device into a low power state |
EP1351146A1 (de) | 2002-04-04 | 2003-10-08 | Hewlett-Packard Company | Leistungssteuerungsvorrichtung und Verfahren mit Stromausfallrückstellung |
US6920574B2 (en) | 2002-04-29 | 2005-07-19 | Apple Computer, Inc. | Conserving power by reducing voltage supplied to an instruction-processing portion of a processor |
US6885233B2 (en) | 2002-05-02 | 2005-04-26 | Intel Corporation | Altering operating frequency and voltage set point of a circuit in response to the operating temperature and instantaneous operating voltage of the circuit |
JP2004038642A (ja) * | 2002-07-04 | 2004-02-05 | Renesas Technology Corp | マルチプロセッサ |
US7020786B2 (en) | 2002-07-23 | 2006-03-28 | Dell Products L.P. | System and method for selecting a voltage output reference |
US6983386B2 (en) | 2002-08-12 | 2006-01-03 | Hewlett-Packard Development Company, L.P. | Voltage management of blades in a bladed architecture system based on thermal and power budget allocation |
KR100505638B1 (ko) | 2002-08-28 | 2005-08-03 | 삼성전자주식회사 | 워킹 콘텍스트 저장 및 복구 장치 및 방법 |
US6901298B1 (en) | 2002-09-30 | 2005-05-31 | Rockwell Automation Technologies, Inc. | Saving and restoring controller state and context in an open operating system |
US20050044429A1 (en) | 2003-08-22 | 2005-02-24 | Ip-First Llc | Resource utilization mechanism for microprocessor power management |
US7076672B2 (en) | 2002-10-14 | 2006-07-11 | Intel Corporation | Method and apparatus for performance effective power throttling |
TW575803B (en) * | 2002-10-17 | 2004-02-11 | Uniwill Comp Corp | The method of managing portable computer power cord |
US7043649B2 (en) | 2002-11-20 | 2006-05-09 | Portalplayer, Inc. | System clock power management for chips with multiple processing modules |
US7036040B2 (en) | 2002-11-26 | 2006-04-25 | Microsoft Corporation | Reliability of diskless network-bootable computers using non-volatile memory cache |
US7028196B2 (en) | 2002-12-13 | 2006-04-11 | Hewlett-Packard Development Company, L.P. | System, method and apparatus for conserving power consumed by a system having a processor integrated circuit |
US7010438B2 (en) | 2002-12-23 | 2006-03-07 | Power Measurement Ltd. | Integrated circuit with power monitoring/control and device incorporating same |
US6711447B1 (en) | 2003-01-22 | 2004-03-23 | Intel Corporation | Modulating CPU frequency and voltage in a multi-core CPU architecture |
US7093147B2 (en) | 2003-04-25 | 2006-08-15 | Hewlett-Packard Development Company, L.P. | Dynamically selecting processor cores for overall power efficiency |
US7080269B2 (en) | 2003-05-15 | 2006-07-18 | International Business Machines Corporation | Method and apparatus for implementing power-saving sleep mode in design with multiple clock domains |
JP2005011166A (ja) * | 2003-06-20 | 2005-01-13 | Renesas Technology Corp | 情報処理装置 |
GB2403561A (en) * | 2003-07-02 | 2005-01-05 | Advanced Risc Mach Ltd | Power control within a coherent multi-processor system |
US7134031B2 (en) | 2003-08-04 | 2006-11-07 | Arm Limited | Performance control within a multi-processor system |
US7412565B2 (en) | 2003-08-18 | 2008-08-12 | Intel Corporation | Memory optimization for a computer system having a hibernation mode |
US7546418B2 (en) | 2003-08-20 | 2009-06-09 | Dell Products L.P. | System and method for managing power consumption and data integrity in a computer system |
US7067672B2 (en) * | 2003-08-27 | 2006-06-27 | North Carolina State University | Regioselective halogenation of nicotine and substituted nicotines |
KR100598379B1 (ko) | 2003-09-08 | 2006-07-06 | 삼성전자주식회사 | 컴퓨터 시스템 및 그 제어방법 |
JP4263976B2 (ja) | 2003-09-24 | 2009-05-13 | 株式会社東芝 | オンチップマルチコア型耐タンパプロセッサ |
US7174469B2 (en) | 2003-09-30 | 2007-02-06 | International Business Machines Corporation | Processor power and energy management |
US7127560B2 (en) | 2003-10-14 | 2006-10-24 | International Business Machines Corporation | Method of dynamically controlling cache size |
US7502887B2 (en) | 2003-11-12 | 2009-03-10 | Panasonic Corporation | N-way set associative cache memory and control method thereof |
JP3834323B2 (ja) | 2004-04-30 | 2006-10-18 | 日本電気株式会社 | キャッシュメモリおよびキャッシュ制御方法 |
US7848718B2 (en) * | 2004-05-05 | 2010-12-07 | St-Ericsson Sa | Method apparatus comprising integrated circuit and method of powering down such circuit |
US7401240B2 (en) * | 2004-06-03 | 2008-07-15 | International Business Machines Corporation | Method for dynamically managing power in microprocessor chips according to present processing demands |
JP4262637B2 (ja) | 2004-06-11 | 2009-05-13 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 持ち運び可能で蓋体を開いて使用される電子機器、電子機器の制御方法、およびプログラム |
JP4421390B2 (ja) | 2004-06-21 | 2010-02-24 | 富士通マイクロエレクトロニクス株式会社 | 半導体集積回路 |
US20070156992A1 (en) | 2005-12-30 | 2007-07-05 | Intel Corporation | Method and system for optimizing latency of dynamic memory sizing |
US7966511B2 (en) | 2004-07-27 | 2011-06-21 | Intel Corporation | Power management coordination in multi-core processors |
US7664970B2 (en) | 2005-12-30 | 2010-02-16 | Intel Corporation | Method and apparatus for a zero voltage processor sleep state |
US7451333B2 (en) | 2004-09-03 | 2008-11-11 | Intel Corporation | Coordinating idle state transitions in multi-core processors |
US20060143485A1 (en) | 2004-12-28 | 2006-06-29 | Alon Naveh | Techniques to manage power for a mobile device |
US7363523B2 (en) | 2004-08-31 | 2008-04-22 | Intel Corporation | Method and apparatus for controlling power management state transitions |
JP2006045738A (ja) * | 2004-08-09 | 2006-02-16 | Yamaha Motor Co Ltd | 鞍乗型車両のライダー用衣服 |
US20060053325A1 (en) | 2004-09-03 | 2006-03-09 | Chary Ram V | Storing system information in a low-latency persistent memory device upon transition to a lower-power state |
US20060059486A1 (en) | 2004-09-14 | 2006-03-16 | Microsoft Corporation | Call stack capture in an interrupt driven architecture |
JP4708752B2 (ja) | 2004-09-28 | 2011-06-22 | キヤノン株式会社 | 情報処理方法および装置 |
US7389403B1 (en) | 2005-08-10 | 2008-06-17 | Sun Microsystems, Inc. | Adaptive computing ensemble microprocessor architecture |
US20070043965A1 (en) | 2005-08-22 | 2007-02-22 | Intel Corporation | Dynamic memory sizing for power reduction |
US7356647B1 (en) | 2005-08-23 | 2008-04-08 | Unisys Corporation | Cache with integrated capability to write out entire cache |
KR100680793B1 (ko) | 2005-11-21 | 2007-02-08 | 기아자동차주식회사 | 자동차의 휠 조립 장치 및 조립 방법 |
US8799687B2 (en) | 2005-12-30 | 2014-08-05 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including optimizing C-state selection under variable wakeup rates |
-
2005
- 2005-12-30 US US11/323,254 patent/US7664970B2/en active Active
-
2006
- 2006-12-18 DE DE112006003575.4T patent/DE112006003575B8/de not_active Expired - Fee Related
- 2006-12-18 WO PCT/US2006/048296 patent/WO2007078925A1/en active Application Filing
- 2006-12-18 KR KR1020087015968A patent/KR101021405B1/ko active IP Right Grant
- 2006-12-18 CN CNA2006800501117A patent/CN101351762A/zh active Pending
- 2006-12-18 DE DE200611004276 patent/DE112006004276A5/de not_active Withdrawn
- 2006-12-18 CN CN201510204863.5A patent/CN104965581B/zh active Active
- 2006-12-18 CN CN2011102742144A patent/CN102306048A/zh active Pending
- 2006-12-18 JP JP2008541442A patent/JP4875710B2/ja not_active Expired - Fee Related
- 2006-12-19 TW TW95147692A patent/TWI334979B/zh not_active IP Right Cessation
-
2007
- 2007-11-08 US US11/937,139 patent/US7953993B2/en active Active
-
2010
- 2010-02-16 US US12/706,631 patent/US8707062B2/en active Active
-
2011
- 2011-05-31 US US13/149,873 patent/US8707066B2/en active Active
- 2011-08-29 US US13/220,413 patent/US20120072750A1/en not_active Abandoned
-
2012
- 2012-09-14 US US13/619,998 patent/US20130013945A1/en not_active Abandoned
-
2014
- 2014-04-16 US US14/254,422 patent/US9081575B2/en active Active
- 2014-04-16 US US14/254,413 patent/US9235258B2/en active Active
- 2014-09-25 US US14/496,345 patent/US9223390B2/en active Active
- 2014-09-25 US US14/496,233 patent/US9223389B2/en active Active
-
2015
- 2015-02-25 US US14/630,909 patent/US9141180B2/en active Active
- 2015-12-04 US US14/959,549 patent/US9841807B2/en active Active
- 2015-12-11 US US14/966,708 patent/US9874925B2/en active Active
-
2016
- 2016-09-29 US US15/280,057 patent/US9870044B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6711691B1 (en) * | 1999-05-13 | 2004-03-23 | Apple Computer, Inc. | Power management for computer systems |
US20030101362A1 (en) * | 2001-11-26 | 2003-05-29 | Xiz Dia | Method and apparatus for enabling a self suspend mode for a processor |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112006003575B4 (de) | Verfahren und Vorrichtung für einen Nullspannungs-Prozessorschlafzustand | |
DE112006002835B4 (de) | Verfahren und System zum Optimieren der Latenz bei dynamischer Speichereinteilung | |
DE112005002027B4 (de) | Verfahren und Vorrichtung zur Steuerung von Leistungsverwaltungszustandsübergängen | |
DE60128396T9 (de) | Computer-peripheriegerät, das betreibbar bleibt, wenn die operationen des zentralprozessors suspendiert werden | |
DE112007001987B4 (de) | Überführen einer Rechenplattform in einen Systemzustand niedriger Leistung | |
DE102009015495B4 (de) | Energieverwaltung bei einer Plattform basierend auf der Lenkung über die Wartezeit | |
DE102013224175B4 (de) | Niedrig-Leistungs-Zustände für ein Computer-System mit integriertem Basis-Band | |
DE102012212441B4 (de) | Verfahren zum Eintreten in und Verlassen eines Schlafmodus in einer Graphikverarbeitungseinheit | |
DE112015002522B4 (de) | System-on-a-chip mit always-on-prozessor, der das SOC rekonfiguriert und Nur-Speicher-Kommunikationsmodus unterstützt | |
US9128703B1 (en) | Processor that transitions to an idle mode when no task is scheduled to execute and further enters a quiescent doze mode or a wait mode depending on the value of a reference counter | |
DE112005003133T5 (de) | Verminderung hörbarer Geräusche bei Leitungszustandsübergängen | |
DE102018129330A1 (de) | System, Vorrichtung und Verfahren zur prozessorexternen Überschreibung der Hardwareleistungszustandssteuerung eines Prozessors | |
DE112020001693T5 (de) | Autonomer kernperimeter für prozessorzustände mit geringer leistung | |
DE112017003080T5 (de) | Prozessor mit gleichzeitigem kern und gewebeausgang aus einem zustand mit geringer energie | |
DE102020128219A1 (de) | System, Einrichtung und Verfahren zur Latenzüberwachung und Reaktion | |
DE102020127742A1 (de) | System, vorrichtung und verfahren für eine global bewusste reaktive lokale leistungssteuerung in einem prozessor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
R130 | Divisional application to |
Ref document number: 112006004276 Country of ref document: DE |
|
R016 | Response to examination communication | ||
R130 | Divisional application to |
Ref document number: 112006004276 Country of ref document: DE Effective date: 20141010 |
|
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |