-
VERWANDTE ANMELDUNGEN
-
Diese
Anmeldung hat einen Bezug zu der ebenfalls übertragenen US-Anmeldung mit
dem amtlichen Aktenzeichen 11/173,784, eingereicht von James Kardach,
Paul Diefenbaugh, Barnes Cooper, Animesh Mishra und Seh Kwa am 30.
Juni 2005, mit dem Titel ”Various
Methods and Apparatuses for Power States in a Controller”.
-
HINTERGRUND
-
Typischerweise
wird bei einer Rechenplattform (z. B. einem Personal Computer) die
Energieverwaltung von einem Betriebssystem und der ihm zugeordneten
Software (z. B. einer Energieverwaltungssoftware) koordiniert und
gesteuert. Verschiedene Industriestandards beschreiben, wie die
Energieverwaltung von der Rechenplattform und dem Betriebssystem
implementiert werden kann. Ein derartiger Industriestandard ist
die Advanced Configuration Power Interface Spezifikation, Version
3.0a, veröffentlicht
am 30. Dezember 2005, und/oder spätere Überarbeitungen (”die ACPI-Spezifikation”). Die ACPI-Spezifikation
definiert Leistungszustände
einer Rechenplattform oder eines Systems als ”S-Zustände”, und diese Zustände werden
in der ACPI-Spezifikation als S0, S1, S2, S3, S4 und S5 bezeichnet.
Bei einem üblichen
Gebrauch sind diese S-Zustände
für die
Energieverwaltung einer Rechenplattform verfügbar. Die S-Zustände umfassen
drei Kategorien, die in der ACPI-Spezifikation als ”arbeitender”, ”schlafender” und ”weich abgeschalteter
(soft off)” Zustand
bezeichnet. Der arbeitende Zustand umfasst den Zustand S0, der schlafende
Zustand umfasst die Zustände
S1, S2, S3 und S4 und der soft off-Zustand umfasst den Zustand S5.
Der Übergang
einer Rechenplattform zwischen dem arbeitenden, einem schlafenden
und dem soft off-Zustand wird typischerweise durch die Energieverwaltungssoftware
des Betriebssystems gesteuert.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist
ein Blockschaubild einer beispielhaften Rechenplattform;
-
2 ist
ein beispielhaftes Blockschaubild eines Teiles eines Controllers,
der Logik enthält,
um die Rechenplattform zwischen Zuständen höherer und niedriger Leistung übergehen
zu lassen;
-
3 ist
ein beispielhaftes Ablaufdiagramm der Rechenplattform, die in und
aus verschiedene(n) Leistungszustände übergeht; und
-
4 ist
ein Ablaufdiagramm eines beispielhaften Verfahrens, um die Rechenplattform
zwischen einem Systemzustand der Betriebsleistung und niedriger
Leistung zu überführen.
-
GENAUE BESCHREIBUNG
-
Wie
es im Hintergrund angesprochen ist, wird der Übergang einer Rechenplattform
zwischen arbeitenden, schlafenden und soft off-Zuständen typischerweise
durch die Energieverwaltungssoftware eines Betriebssystems gesteuert.
Beispielsweise beschreibt die ACPI-Spezifikation Leistungszustände von
Komponenten für
verschiedene Komponenten, die sich auf einer Rechenplattform befinden
oder auf sie ansprechen. Diese Leistungszustände der Komponenten umfassen ”C-Zustände” für Verarbeitungselemente
(z. B. eine zentrale Verarbeitungseinheit (CPU – Central Processing Unit))
und ”D-Zustände” für andere
Komponenten, die sich auf einer Rechenplattform befinden oder auf
sie ansprechen. Diese weiteren Komponenten werden hiernach als ”Baugruppen” bezeichnet
und können
Controller, Speicher, Peripheriebaugruppen usw. umfassen, sind aber
nicht darauf beschränkt.
-
Bei
einem Beispiel, wenn eines oder mehrere der Verarbeitungselemente
der Rechenplattform ruhen oder unterhalb voller Kapazität arbeiten,
bringt die Energieverwaltungssoftware des Betriebssystems diese
ruhenden Verarbeitungselemente in C-Zustände niedrigerer Leistung. Wie
weiter unten beschrieben wird und der ACPI-Spezifikation entsprechend
wird, je höher
der C-Zustand ist, desto weniger Energie von dem Verarbeitungselement
verbraucht. Zum Beispiel verbraucht ein Verarbeitungselement in
einem Leistungszustand C3 weniger Energie als wenn das Verarbeitungselement
in einem Leistungszustand C0, C1 oder C2 wäre.
-
Typischerweise,
während
das eine oder die mehreren Verarbeitungselemente in einen C-Zustand niedriger
Leistung gebracht werden, lässt
die Energieverwaltungssoftware des Betriebssystems die meisten Baugruppen
in einem Leistungszustand, der eine wesentliche Menge an Energie
verbraucht. Dies geschieht, weil beispielsweise innewohnende Wartezeitstrafen,
die verursacht werden, wenn Baugruppen von der Energieverwaltungssoftware
des Be triebssystems zwischen D-Zuständen, die viel oder weniger
Energie verbrauchen, überführt werden,
größer sein
können
als das Intervall, über
das das Verarbeitungselement tatsächlich in einem Zustand niedrigerer
Leistung ist, oder die Funktionalität einer Baugruppe, die von
dem OS(Operating System)-Betriebssystem (oder einem Endverbraucher) gefordert
wird, verloren geht, wenn in einen D-Zustand, der weniger Energie
verbraucht, eingetreten wird. Somit ist das Eingreifen der Energieverwaltungssoftware
des Betriebssystems beim Überführen von
Baugruppen zwischen D-Zuständen,
in denen mehr oder weniger Energie verbraucht wird, bei den Energiesparbemühungen für eine Rechenplattform problematisch,
die ein oder mehrere Verarbeitungselemente enthält, die schnell (z. B. in Bruchteilen
einer Sekunde) zwischen C-Zuständen, die
mehr oder weniger Energie verbrauchen, übergehen.
-
Bei
einem Beispiel wird ein Verfahren implementiert, das das Einleiten
einer Energieverwaltungsstrategie basierend auf einem Verarbeitungselement
für eine
Rechenplattform, das in einen vorgegebenen Leistungszustand eintritt,
umfasst. Die Energieverwaltungsstrategie besteht darin, eine Feststellung
dahingehend einzuführen,
ob ein Eingabe/Ausgabe(I/O – Input/Output)-Controller
und ein Speichercontroller für
die Rechenplattform im Wesentlichen untätig sind, z. B. über eine
Dauer praktisch ohne Aktivität,
Netzwerkverkehr, Speicheranfragen usw. Die Rechenplattform kann
dann aus einem Systemzustand der Betriebsleistung in einen Systemzustand
niedriger Leistung überführt werden,
basierend auf einer Feststellung, dass sowohl der I/O-Controller
als auch der Speichercontroller im Wesentlichen untätig sind,
und auf einer Angabe, dass die Rechenplattform in der Lage ist,
in den Systemzustand niedriger Leistung einzutreten. Gemäß diesem
beispielhaften Verfahren umfasst der Systemzustand niedriger Leistung
das Einbringen einer oder mehrerer Baugruppen, die auf die Rechenplattform ansprechen,
in eine Leistungsebene, die geeignet ist, einen Konfigurationszustand
zu halten, der es ermöglicht,
dass die eine oder die mehreren Baugruppen in den Systemzustand
der Betriebsleistung zurückkehren,
in einer Weise, die für
ein Betriebssystem für
die Rechenplattform im Wesentlichen transparent ist.
-
1 ist
ein Blockschaubild einer beispielhaften Rechenplattform 100.
Die Rechenplattform 100 umfasst zum Beispiel eine Rechenplattform
für ein
Zweiwege- Funkkommunikationssystem,
einen Einwege-Pager, einen Zweiwege-Pager, ein persönliches
Kommunikationssystem, einen Personal Computer (z. B. Laptop, Desktop,
Notebook, Ultra-Mobile usw.),
eine Arbeitsstation, einen Server, einen persönlichen digitalen Assistenten
(PDA – Personal
Digital Assistant), ein tragbares Musik-, Video- oder Spielewiedergabegerät. Bei einer
Implementierung, wie sie in 1 veranschaulicht
ist, umfasst die Rechenplattform 100 einen Konfigurationscontroller 110,
einen Speichercontroller 120, einen Speicher 130,
Verarbeitungselemente 140, einen Eingabe/Ausgabe(I/O)-Controller 150,
Baugruppen 160 und Leistungsschaltung 170, ist
jedoch nicht darauf beschränkt.
Diese Offenbarung ist nicht auf eine Rechenplattform beschränkt, die
lediglich diese Elemente umfasst.
-
Bei
einem Beispiel umfasst der Konfigurationscontroller 110 Logik,
die in der 1 als Konfigurationslogik 112 und
als Leistungszustandslogik 115 veranschaulicht ist. Die
Konfigurationslogik 112 vereinfacht zum Beispiel die Konfiguration
einer oder mehrer Baugruppen, die auf die Rechenplattform ansprechen
für den
Betrieb auf der Rechenplattform 100. Die Leistungszustandslogik 115 vereinfacht
zum Beispiel den Übergang
der Rechenplattform 100 zwischen einem Systemzustand der
Betriebsleistung und einem Systemzustand niedriger Leistung.
-
Bei
einer Implementierung sind der Systemzustand der Betriebsleistung
und der Systemzustand niedriger Leistung innerhalb des Leistungszustandes S0,
wie es in der ACPI-Spezifikation
beschrieben ist. Bei dieser Implementierung ist, anders als bei
einem Übergang
aus einem Leistungszustand S3 gemäß ACPI heraus oder in ihn hinein,
kein oder wenig Eingreifen der Energieverwaltungssoftware des Betriebssystems
bei den Übergängen der
Rechenplattform 100 zwischen den Systemzuständen der
Betriebsenergie (z. B. S0_run) und niedriger Leistung (z. B. S0_standby)
beteiligt. Somit können Übergänge zwischen
Systemzuständen
der Betriebsleistung und niedriger Leistung für die Energieverwaltungssoftware
des Betriebssystems im Wesentlichen transparent sein. Die Übergänge können auch
für einen
Endbenutzer transparent sein, z. B. bleibt ein Anzeigebildschirm
unverändert,
Netzwerkverbindungen verbleiben aktiviert usw. Diese Transparenz
vermittelt zum Beispiel ein Aussehen und Gefühl für das OS und/oder den Endbenutzer,
dass die Rechenplattform 100 vollständig angeschaltet ist, wenn
sie sich tatsächlich
in einem Systemzustand niedriger Leistung befindet.
-
Bei
einem Beispiel, wie in der 1 veranschaulicht,
wird der Konfigurationscontroller 110 als eine getrennte
Komponente gehalten, die sich auf der Rechenplattform 100 befindet.
Jedoch ist diese Offenbarung nicht nur auf dieses Beispiel eines
getrennten Konfigurationscontrollers 110 beschränkt. Der
Konfigurationscontroller 110 kann zum Beispiel in andere
Controller oder Verarbeitungselemente integriert sein, die sich
auf der Rechenplattform 100 befinden (z. B. in einen Firmware-Hub,
in eine Verwaltungsmaschine, in einen Chipsatz, in ein System auf
einem Chip usw.).
-
Bei
einer Implementierung vereinfacht oder steuert der Speichercontroller 120 Speichertransaktionen
(z. B. Lese- oder Schreibanfragen) zum Speicher 130. Der
Speicher 130 umfasst zum Beispiel einen Systemspeicher,
der für
Baugruppen und/oder Komponenten, die sich auf der Rechenplattform 100 befinden
oder auf sie ansprechen, z. B. Verarbeitungselemente 140,
Baugruppen 160 usw., verwendet wird oder zugreifbar ist.
Dieser Systemspeicher umfasst zum Beispiel ein oder mehrere dynamische Speichermodule
mit wahlfreiem Zugriff (DRAM – Dynamic
Random Access Memory) (nicht gezeigt).
-
Obwohl
dies in der 1 nicht veranschaulicht ist,
kann bei einem Beispiel der Speichercontroller 120 mit
anderen Komponenten auf der Rechenplattform 100 integriert
sein. Zum Beispiel kann der Speichercontroller 120 mit
Verarbeitungselementen 140 integriert sein. Der Speichercontroller 120 kann auch
mit anderen Controller (z. B. dem I/O-Controller 150 und/oder
dem Konfigurationscontroller 110) in einem Cluster aus
anderen Komponenten (z. B. in einem Chipsatz) angeordnet sein.
-
Bei
einer Implementierung stellen die Verarbeitungselemente 140 irgendwelche
aus einer weiten Vielfalt von Logikbaugruppe(n) oder ausführbarem Inhalt,
um Verarbeitungsfunktionen für
die Rechenplattform 100 durchzuführen, dar, z. B. eine zentrale Verarbeitungseinheit
(CPU). Die Verarbeitungselemente 140 können zum Beispiel einen oder
mehrere aus einem Mikroprozessor, einem Netzwerkprozessor, einem
Diensteprozessor, einem Mikrocontroller, einem oder mehreren gesonderten
Kernen eines Mehrkern-Mikroprozessors oder einer Kombination aus
diesen umfassen.
-
Bei
einem Beispiel vereinfacht der I/O-Controller 150 die Steuerung
und die Verwaltung von Baugruppen 160, die sich auf der
Rechenplattform 100 befinden oder auf sie ansprechen. Die
Baugruppen 160 umfassen zum Beispiel eine oder mehrere
Baugruppen, so wie eine Tastatur, eine Maus, ein internes/externes
Speicherlaufwerk, eine Anzeige, verdrahtete/drahtlose Netzwerkhardware
(NICs) usw., sind aber nicht auf diese beschränkt. Diese Baugruppen können an
den I/O-Controller 150 über
verschiedene Typen Busse oder Verbindungen gekoppelt sein. Diese
Busse oder Verbindungen können
zum Beispiel entsprechend verschiedenen Verbindungskommunikationsprotokollen
des Industriestandards arbeiten, die den Universal Serial Bus (USB),
Peripheral Component Interconnect (PCI), PCI Express (PCI-e), Smart
Management Bus (SMBus), HyperTransport, Low Pin Count (LPC), Serial
Advanced Technology Attachment (SATA) und Parallel Advanced Technology
Attachment (PATA), High Definition Multimedia Interface (HDMI) usw.
umfassen. Diese Offenbarung ist nicht auf nur die oben aufgeführten Kommunikationsprotokolle
für Busse
und Verbindungen, um Baugruppen 160 an den I/O-Controller 150 zu
koppeln, beschränkt.
-
Bei
einer Implementierung umfasst eine Leistungsschaltung 170,
wie in der 1 gezeigt, Schaltung 172 für die Betriebsleistung
und Schaltung 174 für
niedrige Leistung. Obwohl in der 1 nicht veranschaulicht,
können
die Schaltungen für
Betriebsleistung 172 und niedrige Leistung 174 zum Beispiel
jede Spannungsregulatoren, Leistungsschalter, Energieversorgungen
und Taktgeneratoren wie zweckmäßig umfassen,
um die Zustände
höherer
und niedrigerer Leistung zu halten. Die Schaltung 172 für die Betriebsleistung
stellt zum Beispiel Energie zur Verfügung, um zu ermöglichen,
dass alle Komponenten bei oder nahe bei voller betrieblicher Kapazität arbeiten.
Die Schaltung 175 für
niedrige Leistung liefert zum Beispiel Energie, die für Baugruppen
auf der oder ansprechend auf die Plattform 100 geeignet
ist, um ihre Konfigurationszustände
zu halten, und ermöglicht
weiter diesen Baugruppen, in einer Weise in den Systemzustand der
Betriebsleistung zurückzukehren,
die für
die Energieverwal tungssoftware des Betriebssystems im Wesentlichen transparent
ist. Diese Offenbarung ist nicht auf nur Systemzustände für Betriebsleistung
und niedrigere Leistung beschränkt.
Andere Leistungsebenen können
der Rechenplattform 100 durch die Leistungsschaltung 170 zur
Verfügung
gestellt werden, wenn die Rechenplattform 100 zwischen
Systemzuständen höherer und
niedriger Leistung überführt wird.
-
2 ist
ein beispielhaftes Blockschaubild eines Teiles des Konfigurationscontrollers 110,
der Leistungszustandslogik 115 umfasst, um die gesamte
oder Teile der Rechenplattform 100 zwischen Systemzuständen hoher
und niedrigerer Energie zu überführen. Wie
es in der 2 gezeigt ist, umfasst der Konfigurationscontoller 110 zum
Beispiel verschiedene Schnittstellen und logische Gatter, die an die
Leistungszustandslogik 115 gekoppelt sind, um diesen Übergang
der Rechenplattform 100 zu vereinfachen. Diese Schnittstellen
und logischen Gatter sind als C-Zustandsschnittstelle 200,
Schnittstelle 230 für
die Niedrigleistungsstrategie, AND-Gatter 240 und NOR-Gatter 250 veranschaulicht.
-
Bei
einem Beispiel stellen die Leistungszustandslogik 115 und
die Konfigurationslogik 112 (siehe 1) jede
einzeln oder zusammen irgendeine aus einer weiten Vielfalt von logische(n)
Baugruppe(n) oder ausführbarem
Inhalt, der bewirkt, dass die Rechenplattform 100 zwischen
einem Systemzustand der Betriebsleistung und niedriger Leistung übergeht,
dar. Diese logische(n) Baugruppe(n) kann/können einen Mikroprozessor,
einen Netzwerkprozessor, einen Diensteprozessor, einen Mikrocontroller,
einen vor Ort programmierbaren Logikbaustein (FPGA – Field
Programmable Gate Array), eine anwendungsspezifische integrierte
Schaltung (ASIC – Application
Specific Integrated Circuit), einen gesonderten Thread oder Kern
eines Mehrkern/Multi-Thread-Mikroprozessors, einen speziellen Betriebsmodus
eines Prozessors oder eine Kombination aus diesen umfassen.
-
Wie
als Beispiel in der 2 veranschaulicht ist, umfasst
die Leistungszustandslogik 115 ein C-Zustandsmerkmal 205,
einen Speicher 210 und ein Niedrigleistungs-Freigabemerkmal 215.
Wie es weiter unten beschrieben wird, werden das C-Zustandsmerkmal 205,
der Speicher 210 und das Niedrigleistungs-Freigabemerkmal 215 von
der Leistungszustandslogik 115 akti viert oder verwendet,
um eine Energieverwaltungsstrategie einzuleiten. Die Energieverwaltungsstrategie,
die zum Beispiel bewirkt, dass die Rechenplattform 100 zwischen
Systemzuständen mit
Betriebsleistung und mit niedriger Leistung übergeht, basiert auf einem
C-Zustand, der von
einem oder mehreren Verarbeitungselementen aus den Verarbeitungselementen 140 gehalten
wird, auf Angaben über
im Wesentlichen tätigkeitslose
Aktivität von
I/O- und vom Speichercontroller 150 und 120 und/oder
basiert auf einem Wecksignal über
eine Kommunikationsverbindung 260.
-
Bei
einer Implementierung implementiert die Rechenplattform 100 Energieverwaltungszustände für C-Zustände bei
Verarbeitungselementen 140, wie es in der ACPI-Spezifikation
beschrieben ist. Somit kann bei dieser Implementierung ein Verarbeitungselement
aus den Verarbeitungselementen 140 und/oder die Energieverwaltungssoftware
des Betriebssystems für
die Rechenplattform 100 eine Angabe darüber an den Konfigurationscontroller 110 senden,
welchen C-Zustand dieses Verarbeitungselement gegenwärtig hält.
-
Bei
einem Beispiel kann eine C-Zustandsschnittstelle 220 ein
Speicherregister mit einer gegebenen Anzahl von Bits umfassen. Diese
Bits in der C-Zustandsschnittstelle 220 können ausgewählt geltend
gemacht werden, um den C-Zustand anzugeben, der von einem oder mehreren
Verarbeitungselementen aus den Verarbeitungselementen 140 gehalten
wird. Wenn zum Beispiel ein gegebenes Verarbeitungselement in einen
Leistungszustand C1 übergeht,
dann werden die Bits des Speicherregisters ausgewählt geltend
gemacht, um anzuzeigen, dass das gegebene Verarbeitungselement sich
in dem Leistungszustand C1 befindet. Die Leistungszustandslogik 115 kann
zum Beispiel diese Angabe über
eine Kommunikationsverbindung 222 empfangen oder feststellen.
-
Bei
einem weiteren Beispiel umfasst die C-Zustandsschnittstelle 220 ein
oder mehrere Schieberegister (nicht gezeigt), die mit der Kommunikationsverbindung 222 gekoppelt
sind. Teile eines gegebenen Schieberegisters (z. B. eines Flip-Flops)
werden zum Beispiel einem gegebenen C-Zustand für ein gegebenes Verarbeitungselement
aus den Verarbeitungselementen 140 zugewiesen. Die Ausgaben der
zugeordneten Teile des Schieberegisters werden zum Bei spiel der
Leistungszustandslogik 115 über die Kommunikationsverbindung 222 angeben,
welcher gegebene C-Zustand gegenwärtig von dem gegebenen Verarbeitungselement
gehalten wird.
-
Bei
einer Implementierung umfasst der Konfigurationscontroller 110 auch
eine Schnittstelle für die
Niedrigleistungsstrategie. Die Schnittstelle 230 für die Niedrigleistungsstrategie
umfasst zum Beispiel Information, um einen gegebenen C-Zustand anzugeben,
der für
die Rechenplattform 100 aktiviert ist, um aus einem Systemzustand
der Betriebsleistung in einen Systemzustand niedriger Leistung überzugehen.
Die Schnittstelle 230 für
die Niedrigleistungsstrategie kann auch Information umfassen, die
mit Anforderungen bei einer oder mehreren Strategien verknüpft ist,
die erfüllt
werden müssen, bevor
die Rechenplattform 100 in einen Systemzustand niedriger
Leistung überführt wird.
-
Bei
einem Beispiel umfasst die Schnittstelle 230 für die Niedrigleistungsstrategie
ein Speicherregister mit 8 Bit, das von dem Konfigurationscontroller 110 und/oder
der Konfigurationslogik 115 unterstützt wird. Bei diesem Beispiel
können
ein oder mehrere Bits des Speicherregisters ausgewählt geltend
gemacht werden, um den vorgegebenen C-Zustand anzugeben, der für die Rechenplattform 100 aktiviert
ist, um aus einem Systemzustand der Betriebsleistung in einen Systemzustand
niedriger Leistung überzugehen
(wenn überhaupt
aktiviert ist), und sie können auch
die Anforderungen für
diesen Übergang
angeben. Die Leistungszustandslogik 215 zum Beispiel greift
auf Information von der Schnittstelle 230 für Niedrigleistungsstrategie
zu oder empfängt
diese, um den vorgegebenen C-Zustand und mögliche Anforderungen, um die
Rechenplattform 100 zwischen Systemzuständen der Betriebsleistung und
niedriger Leistung übergehen
zu lassen, festzulegen.
-
Bei
einer Implementierung umfasst wenigstens ein Teil der Energieverwaltungsstrategie
Anforderungen, die mit einer Anleitung verknüpft sind, die von einem OS
und/oder seiner Energieverwaltungssoftware über die Schnittstelle 230 für die Niedrigleistungsstrategie
zur Verfügung
gestellt wird. Bei dieser Implementierung kann das OS ausgewählt ein
oder mehrere Bits eines Speicherregisters geltend machen, das in
der Schnittstelle 230 für
die Niedrigleis tungsstrategie enthalten ist, um die Anleitung zur
Verfügung
zu stellen. Die Anleitung kann zum Beispiel der Leistungszustandslogik 115 solche
Information angeben, wie etwa über
eine erwartete Dauer für
einen vorgegebenen C-Zustand und die Schwellenzeitwerte, die mit
maximal erlaubten Wartezeiten verknüpft sind, um eine Rechenplattform
transparent zwischen dem Systemzustand der Betriebsleistung und
dem Systemzustand niedriger Leistung zu überführen, wenn ein vorgegebenes
Verarbeitungselement in dem vorgegebenen C-Zustand ist. Somit, basierend
auf Anforderungen, die mit der Anleitung verknüpft sind, bewirkt zum Beispiel
die Leistungszustandslogik 115, dass die Rechenplattform 100 zwischen
einem Systemzustand der Betriebsleistung und einem Systemzustand
niedriger Leistung in einer im Wesentlichen für das Betriebssystem transparenten
Weise übergeht.
-
Bei
einer Implementierung dient eine C-Zustand-Schnittstelle 230 zudem
als eine Hardwarebasierte Schnittstelle, die Speicherregister oder
Schieberegister für
die Leistungszustandslogik 115 umfasst, um Information
zu sammeln, um zu bestimmen, ob die Rechenplattform 100 in
einen Systemzustand niedriger Leistung überführt werden soll. Bei dieser Implementierung
dient die Schnittstelle 230 für die Niedrigleistungsstrategie
zudem als eine Software-basierte Schnittstelle, die auf Hardware-basierte Komponenten,
so wie Speicherregister, vertrauen kann oder nicht. Die Schnittstelle 230 für die Niedrigleistungsstrategie
dient zum Beispiel als eine flexiblere Schnittstelle, die eine stärkere Interaktion
zwischen der Leistungslogik 115 und Elementen, die sich
auf oder entfernt von der Rechenplattform 100 befinden,
ermöglicht.
Diese Elemente können
ein OS für
die Rechenplattform 100 umfassen.
-
Bei
einem Beispiel, wie in der 2 gezeigt, umfasst
der Konfigurationscontroller 100 ein AND-Gatter 240.
Das AND-Gatter 240 erhält
zum Beispiel Eingaben vom Speichercontroller 120 und vom
I/O-Controller 150. Bei einer Implementierung sind diese
Eingaben Angaben über
eine wesentlichen Inaktivität
oder Untätigkeit
beim Speichercontroller 120 und beim I/O-Controller 150.
Im Wesentlichen untätige
Aktivität
beim I/O-Controller 150 basiert zum Beispiel auf sehr geringer
oder keiner Aktivität
oder Verkehr über
einen oder mehrere Busse und/oder Verbindungen, die zwischen den
I/O-Controller 150 und Gerätebaugruppen 160 gekoppelt sind.
Im Wesentlichen untätige
Aktivität
beim Speichercontroller 120 umfasst zum Beispiel das Entleeren
praktisch aller ausstehenden Speichertransaktionsanforderungen an
den Speicher 130. Diese Offenbarung ist nicht auf nur diese
Angaben im Wesentlichen untätiger
Aktivität
beschränkt
und ist nicht auf nur ein AND-Logikgatter, um diese Eingaben zu erhalten,
beschränkt.
-
Bei
einer Implementierung gibt die Ausgabe des AND-Gatters 240 der
Leistungszustandslogik 215 über eine Kommunikationsverbindung 242 an, dass
sowohl der Speichercontroller 120 als auch der I/O-Controller 150 im
Wesentlichen untätig
sind. Wie genauer hiernach beschrieben wird, kann die Leistungszustandslogik 215 diese
Angabe verwenden zu bestimmen, ob bewirkt werden soll, dass die
Rechenplattform 100 zwischen einem Systemzustand der Betriebsleistung
und einem Systemzustand niedriger Leistung übergehen soll.
-
Bei
einem Beispiel, wie in 2 veranschaulicht, umfasst der
Konfigurationscontroller 110 außerdem ein NOR-Gatter 250.
Das NOR-Gatter 250 erhält
zum Beispiel ein Eingabesignal über
eine Kommunikationsverbindung 217 und erzeugt eine Ausgabe,
die an die Schaltung 172 für die Betriebsleistung der
Leistungsschaltung 170 geschickt wird. Bei einer Implementierung
wird, wenn kein Signal vom Niedrigleistungsaktivierungsmerkmal 215 erhalten
wird, dann ein Signal an die Schaltung 172 für die Betriebsleistung
geschickt. Dieses Signal gibt beispielsweise der Schaltung 172 für die Betriebsleistung
an, dass sie die Rechenplattform 100 mit zweckmäßiger Energie
versorgen soll, um einen Systemzustand der Betriebsleistung zu halten
(z. B. den Systemzustand S0 der Betriebleistung). Bei dieser Implementierung, wenn
das Niedrigleistungsaktivierungsmerkmal 215 ein Signal über die
Kommunikationsverbindung 217 schickt, wird das Ausgangssignal
vom NOR-Gatter 250 abgeschnitten oder geschaltet, was somit
der Schaltung 172 für
die Betriebsleistung angibt, die Betriebsleistung zur Rechenplattform 100 zu
deaktivieren. Zum Beispiel wird dann ein Signal an die Schaltung 174 für die Niedrigleistung
geschickt, um die Rechenplattform 100 mit geringer Leistung
zu versorgen. Ein Signal wird auch zum Beispiel an den Speichercontroller 120 geschickt,
um dem Speichercontroller 120 anzuzeigen, wenigstens Teile
des Speichers 130 (z. B. DRAM-Module) in einen selbst wiederauffrischenden
Zustand mit niedriger Leistung zu bringen.
-
Diese
Offenbarung ist nicht auf nur ein NOR-Logikgatter, um ein Eingangssignal über die Kommunikationsverbindung 217 zu
empfangen, beschränkt.
-
Bei
einem Beispiel kann eine Kommunikationsverbindung 260 verwendet
werden, um ein Wecksignal zur Verfügung zu stellen. Dieses Wecksignal, wie
es hiernach weiter beschrieben wird, liefert eine Angabe für die Leistungszustandslogik 115 zu
bewirken, dass die Rechenplattform 100 aus dem Systemzustand
niedriger Leistung heraus und zurück in den Systemzustand der
Betriebsleistung übergeht.
-
3 ist
ein beispielhaftes Ablaufdiagramm 300, gemäß dem die
Rechenplattform 100 in verschiedene Leistungszustände und
aus verschiedenen Leistungszuständen übergeht.
Bei einem Beispiel veranschaulicht das Ablaufdiagramm 300,
wie die Rechenplattform zwischen den arbeitenden (S0), schlafenden
(S3 und S4) und Soft-Off (S5) Leistungszuständen übergeht. Wenigstens ein Teil
dieser Arbeits-, Schlaf- und Soft-Off-Zustände können dieselben S-Zustände sein,
wie sie in der ACPI-Spezifikation beschrieben sind, und sind dadurch
gekennzeichnet, dass sie zum Beispiel die Energieverwaltungssoftware
des Betriebssystems der Rechenplattform 100 einbeziehen.
Auch im Ablaufdiagramm 300 veranschaulicht sind drei unterschiedliche
Systemzustände
der Leistung innerhalb des Arbeitsleistungszustandes S0 (Betrieb,
Ruhen und Bereitschaft). Die Rechenplattform 100 kann zum
Beispiel zwischen diesen Leistungszuständen ohne die Einbeziehung der
oder im Wesentlichen transparent für die Energieverwaltungssoftware
des Betriebssystems und außerdem
möglicherweise
transparent für
einen Endbenutzer übergehen.
-
Im
Zustand 310 ist die Rechenplattform 100 zum Beispiel
in einem Systemzustand der Betriebsleistung. In diesem Zustand sind
zum Beispiel die Verarbeitungselemente 140 in einem vollbetrieblichen
Zustand oder einem Leistungszustand C0, wie er in der ACPI-Spezifikation
beschrieben ist. Aus dem Zustand 310 kann die Rechenplattform 100 zum Beispiel
in verschiedene andere Leistungszustände übergehen, wie es im Ablaufdiagramm 300 dargestellt
ist. Diese beziehen die Energieverwaltungssoftware des Betriebssystems
ein, um in die verschiedenen Leistungszustände und aus den verschiedenen Leistungszuständen überzugehen, wie
oben angesprochen, dem Schlafzustand S3 (S3_sleep) im Zustand 340,
dem Winterschlafzustand S4 (S4_Hib) im Zustand 350 und
dem Off-Zustand S5 (S5_off) im Zustand 360. Diejenigen
Zustände,
die die Energieverwaltungssoftware des Betriebssystems nicht einbeziehen
oder die für
die Software im Wesentlichen transparent sind, sind der Ruhezustand
S0 (S0_idle) im Zustand 320 und der Bereitschaftszustand
S0 (S0_standby) im Zustand 330. Bei einem Beispiel, wie
in 3 gezeigt, kann die Rechenplattform 100 aus
dem Zustand 320 oder 330 in den Zustand 310 basierend
auf einem Aufweckereignis übergehen. Diese
Aufweckereignisse und die Zustände 310, 320 und 330 werden
in weiteren Einzelheiten hiernach für die 4 beschrieben.
-
4 ist
ein Ablaufdiagramm eines beispielhaften Verfahrens, um die Rechenplattform 100 zwischen
einem Systemzustand der Betriebsleistung und einem Systemzustand
niedriger Leistung zu überführen. Bei
einem Beispiel, wie in der 3 veranschaulicht,
sind der Systemzustand der Betriebsleistung und der Systemzustand
niedriger Leistung Teil des Arbeitsleistungszustandes S0. Auch,
wie es oben kurz für
die 3 angesprochen worden ist, umfasst der Leistungszustand
S0 außerdem
einen zwischengeschalteten Ruheleistungszustand (S0_idle). Bei diesem
beispielhaften Verfahren können
die Verarbeitungselemente 140 in verschiedene Leistungszustände und
aus verschiedenen Leistungszuständen übergehen,
so wie zum Beispiel den Energieverbrauchswerten für C-Zustände, die
in der ACPI-Spezifikation beschrieben sind. Somit kann S0_idle alle
oder einen Teil der Verarbeitungselemente 140 in einem
vorgegebenen Zustand niedriger Leistung (z. B. einem C-Zustand mit
C1 oder höher) darstellen.
-
Im
Block 405 erhält
bei einem Beispiel die Leistungszustandslogik 115 Information über die Niedrigleistungsstrategie
von der Schnittstelle 230 für die Niedrigleistungsstrategie.
Die Information über
die Niedrigleistungsstrategie, die von der Schnittstelle 230 für die Niedrigleistungsstrategie
erhalten worden ist, kann zum Beispiel wenigstens zeitweilig in
einem Speicher abgelegt werden, der auf die Leistungszustandslogik 215 anspricht
(z. B. im Speicher 210).
-
Im
Block 410 aktiviert bei einem Beispiel die Leistungszustandslogik 115 das
Niedrigleistungsaktivierungsmerkmal 215. Das Niedrigleistungsaktivierungsmerkmal 215 bestimmt
zum Beispiel, ob die Rechenplattform 100 in der Lage ist,
in den Systemzustand niedriger Leistung einzutreten. Diese Feststellung
basiert zum Beispiel auf der Information über die Niedrigleistungsstrategie,
die von der Schnittstelle 230 für die Niedrigleistungsstrategie
erhalten worden ist. Diese Information kann angeben, ob die Rechenplattform 100 in
der Lage ist, Energie bereitzustellen, um einen Systemzustand der
Betriebsleistung und einen Systemzustand niedriger Leistung zu halten,
z. B. die geeignete Leistungsschaltung hat.
-
Im
Block 415 gibt zum Beispiel die Information über die
Niedrigleistungsstrategie, die von der Schnittstelle für die Niedrigleistungsenergie 230 erhalten
worden ist, an, dass die Rechenplattform 100 nicht in der
Lage ist, Energie bereitzustellen, um einen Systemzustand der Betriebsleistung-
und einen Systemzustand niedriger Leistung zu halten. Bei diesem
Beispiel wird, da die Rechenplattform 100 nicht in der
Lage ist in den Systemzustand niedriger Leistung überzugehen,
der Prozess abgebrochen.
-
Im
Block 420 aktiviert bei einem Beispiel die Leistungszustandslogik 215 das
C-Zustand-Merkmal 205.
Bei einem Beispiel bestimmt das C-Zustand-Merkmal 205,
ob ein oder mehrere Verarbeitungselemente aus den Verarbeitungselementen 140 angegeben
haben, dass sie in einen gegebenen C-Zustand eintreten, indem die
C-Zustand-Schnittstelle 220 befragt worden ist. Das C-Zustand-Merkmal 205 bestimmt
zum Beispiel, in welchem gegebenen C-Zustand sie eine Energieverwaltungsstrategie für die Rechenplattform 100 einleiten
soll. Diese Bestimmung basiert zum Beispiel auf der Information über die
Niedrigleistungsstrategie, die von der Schnittstelle 230 für die Niedrigleistungsstrategie 230 erhalten
worden ist. Diese Information kann zum Beispiel dem C-Zustand-Merkmal 205 angeben,
dass der gegebene C-Zustand der Leistungszustand C6 ist.
-
Bei
einem Beispiel ist der gegebene C-Zustand oder Leistungszustand
der Leistungszustand, in dem ein gegebenes Verarbeitungselement
seine niedrigste Energiemenge verbraucht. Somit ist bei dem Beispiel
oben der Leistungszustand C6 der niedrigste Leistungszustand, in
den Verarbeitungselemente 140 eintreten können. Bei
anderen Beispielen kann der gegebene C-Zustand oder Leistungszustand irgendein
anderer Leistungszustand sein, der weniger Energie verbraucht, als
wenn das eine oder die mehreren Verarbeitungselemente aus den Verarbeitungselementen 140 in
einem voll betriebenen Leistungszustand C0 sind. Bei diesen weiteren
Beispielen ist der gegebene C-Zustand nicht notwendigerweise der
C-Zustand, der am wenigsten Energie verbraucht.
-
Im
Block 425 hat bei einem Beispiel das C-Zustand-Merkmal 205 festgestellt,
dass das gegebene Verarbeitungselement in den gegebenen C-Zustand
eingetreten ist. Das C-Zustand-Merkmal 205 leitet
basierend auf der Feststellung zum Beispiel die Energieverwaltungsstrategie
für die
Rechenplattform 100 ein.
-
Im
Block 430 greift bei einem Beispiel das Niedrigleistung-Aktivierungsmerkmal 215 auf
die Information über
die Niedrigleistungsstrategie zu, die von der Schnittstelle 230 für Niederleistungsenergie erhalten
worden ist und in dem Speicher ansprechend auf die Leistungszustandslogik 215 gespeichert
ist. Bei diesem Beispiel umfasst die Information über die
Niedrigleistungsstrategie eine oder mehrere Anforderungen, die erfüllt sein
sollten, bevor die Rechenplattform 100 in einen Zustand
niedriger Leistung übergeht.
Bei einem Beispiel umfasst eine Anforderung einen gegebenen Schwellzeitwert
für das Niedrigleistungs-Aktivierungsmerkmal 215,
der abgewartet werden soll, bevor die Rechenplattform 100 in
einen Systemzustand niedriger Leistung überführt wird, basierend auf dem
gegebenen Verarbeitungselement, das in den gegebenen C-Zustand eintritt. Diese
Information kann auch eine Anleitung umfassen, die von einem OS
für die
Rechenplattform 100 zur Verfügung gestellt wird (z. B. über die
Schnittstelle 230 für
Niedrigleistungsenergie). Diese von dem OS zur Verfügung gestellte
Anleitung kann Information über
die erwartete Dauer für
den gegebenen C-Zustand umfassen, in den das gegebene Verarbeitungselement
eingetreten ist. Die vom OS zur Verfügung gestellte Anleitung kann
auch Übergangszeitwerte
umfassen, die mit dem Erfüllen
von Wartezeiterfordernissen verknüpft sind, um in transparenter Weise
die Rechenplattform zwischen einem Zustand der Betriebsleistung
und einem Zustand niedriger Leistung übergehen zu lassen. Die Information über die
Niedrigleistungsstrategie kann auch von Bedingungen abhängige Anforderungen umfassen,
die einen Übergang
auf gegebenen Bedingungen basieren, z. B. der Anzahl von Übergängen in
einem vorgegebenen Zeitintervall.
-
Bei
einer Implementierung stößt das Niedrigleistung-Aktivierungsmerkmal 215 basierend
auf der Feststellung durch das C-Zustandsmerkmal 205, dass
das gegebene Verarbeitungselement tin den gegebenen C-Zustand eingetreten
ist, einen Zeitgeber (nicht gezeigt) an oder erhält einen Zeitstempel, um die
Zeit anzugeben, in der in den gegebenen C-Zustand eingetreten ist.
Bei dieser Implementierung überwacht
das C-Zustand-Merkmal 215 den angestoßenen Zeitgeber oder verfolgt
das Alter des Zeitstempels, um die Zeitdauer zu bestimmen, über die
das gegebene Verarbeitungselement in dem gegebenen C-Zustand gewesen
ist. Das Leistungsaktivierungsmerkmal 215 zum Beispiel
vergleicht das Alter oder den Zeitgeberwert mit dem gegebenen Schwellenzeitwert,
der in der Information über
die Niedrigleistungsstrategie angegeben ist, die von der Schnittstelle 230 für die Niedrigleistungsenergie
erhalten worden ist. Basierend auf diesem Vergleich bestimmt zum
Beispiel das Leistungsaktivierungsmerkmal 215, ob der gegebene
Schwellenwert überschritten
worden ist. Somit ist zum Beispiel die Anforderung, die einen gegebenen
Schwellzeitwert für
das Niedrigleistung-Aktivierungsmerkmal 215 umfasst, dass
gewartet werden soll, bevor die Rechenplattform 100 in
einen Systemzustand niedriger Leistung überführt wird, basierend auf dem
gegebenen Verarbeitungselement, das in den gegebenen C-Zustand eintritt,
erfüllt
worden.
-
Bei
einem Beispiel kann ein anderer Teil der Energieverwaltungsstrategie
eine Anforderung umfassen, die mit der von dem OS zur Verfügung gestellten
Anleitung verknüpft
ist. Bei diesem Beispiel vergleicht zum Beispiel das Leistungsaktivierungsmerkmal 215 die
erwartete Zeitdauer, über
die das gegebene Verarbeitungselement in dem gegebenen C-Zustand
sein wird, mit Übergangszeitwerten,
die mit dem Erfüllen
von Wartezeitanforderungen verknüpft
sind, um die Rechenplattform transparent zwischen einem Systemzustand
der Betriebsleistung und einem Systemzustand niedriger Leistung
zu überführen. Wenn
die erwartete Zeitdauer im C-Zustand die Übergangszeitwerte überschreitet,
ist bei einem Beispiel die Anforderung, die mit der von dem OS zur
Verfügung
gestellten Anleitung verknüpft
ist, erfüllt
worden.
-
Bei
einem Beispiel kann ein weiterer Teil der Energieverwaltungsstrategie
eine Anleitung enthalten, die Rechenplattform 100 nicht
in einen Systemzustand niedriger Leistung zu überführen, wenn bestimmte Bedingungen
erfüllt
sind. Diese Bedingungen können
eine gegebene Schwellenwertzahl für eine Anzahl von Ereignissen
in einer gegebenen Zeitdauer umfassen, in der die Rechenplattform 100 in einen
Systemzustand niedriger Leistung oder aus ihm heraus übergegangen
ist. Diese Anleitung kann zum Beispiel auf den Kosten (z. B. Wartezeiten und/oder
Leistung) basieren eine Rechenplattform 100 in und aus
dem Systemzustand niedriger Leistung schnelle zu überführen, die
den Nutzen (Energiesparen), nachdem die Schwellenzahl für eine gegebene
Zeitdauer erreicht ist, übersteigen.
Bei diesem Beispiel hält
das Leistungsaktivierungsmerkmal 215 einen Zählwert für die Anzahl
von Zeitpunkten, zu denen die Rechenplattform 100 in einer
gegebenen Zeitdauer übergegangen
ist. Wenn der Zählwert die
Schwellenzahl nicht überschreitet,
ist die Anforderung, die mit der bedingten Anleitung verknüpft ist, erfüllt worden.
-
Bei
einem Beispiel, wie es in der 4 veranschaulicht
ist, kann der Prozess zum Block 420 oder zum Block 435 zurückkehren.
Der Prozess kehrt zum Block 420 zurück, wenn zum Beispiel die vom OS
zur Verfügung
gestellte Anleitung oder die bedingten Anleitungserfordernisse nicht
erfüllt
sind. Der Prozess kehrt zum Block 435 zurück, wenn
zum Beispiel nur die Zeitgeberanforderung nicht erfüllt ist.
-
Im
Block 435 hat bei einem Beispiel das Niedrigleistung-Aktivierungsmerkmal 215 festgestellt,
dass eine oder mehrere Anforderungen, die in der Information über die
Energieverwaltungsstrategie enthalten sind, erfüllt worden sind. Das Niedrigleistung-Aktivierungsmerkmal 215 bestimmt
dann zum Beispiel, ob der Speichercontroller 120 und der I/O-Controller 150 für die Rechenplattform
im Wesentlichen untätig
(in einer Periode der Inaktivität) sind.
Wie oben angesprochen wird, der Ausgang aus dem AND-Gatter 240 die
Untätigkeit über die
Kommunikationsverbindung 242 signalisieren, wenn sowohl
der Speichercontroller 120 als auch der I/O-Controller 150 angegeben
haben, dass sie im Wesentlichen untätig sind.
-
Im
Block 440 hat bei einem Beispiel das Niedrigleistung-Aktivierungsmerkmal 215 festgestellt,
das die eine oder die mehreren Anforderungen erfüllt worden sind und der Speichercontroller 120 und
der I/O-Controller 150 im Wesentlichen untätig sind.
Basierend darauf macht bei einer Implementierung das Niedrigleistung-Aktivierungsmerkmal 215 ein
Signal über
die Kommunikationsverbindung 217 geltend. Diese Signaldurchsetzung
sendet zum Beispiel ein Signal an den Speichercontroller 120,
um wenigstens Teile des Speichers 130 in einen Selbstauffrischmodus
zu überführen, und
sendet auch ein Signal an die Schaltung 174 für die Niedrigleistung,
um die Rechenplattform 100 mit geringer Energie zu versorgen.
Auch führt
zum Beispiel die geltend gemachte Eingabe an das NOR-Gatter 250 zu
einer Ausgabe, die nicht geltend gemacht wird und gibt der Schaltung 172 für die Betriebsleistung
an, die Betriebsleistung an die Rechenplattform 100 nicht zur
Verfügung
zu stellen, zu deaktivieren oder abzuschalten.
-
Im
Block 445 bestimmt bei einem Beispiel das Niedrigleistung-Aktivierungsmerkmal 215,
ob ein Aufweckereignis geschehen ist, um zu bewirken, dass die Rechenplattform 100 aus
dem Systemzustand niedriger Leistung herausgeht. Ein Aufweckereignis
kann zum Beispiel ein Wecksignal umfassen, das über die Kommunikationsverbindung 260 empfangen
wird, eine Angabe, dass der Speichercontroller 120 und
der I/O-Controller 150 nicht mehr im Wesentlichen untätig sind
oder das gegebene Verarbeitungselement nicht mehr in dem gegebenen
C-Zustand ist. Ein
Aufweckereignis kann auch auf einer Anforderung basieren, die in
einer Energieverwaltungsstrategie enthalten ist, die eine Grenze
für eine Zeitdauer
setzt, über
die die Rechenplattform 100 in einem Systemzustand niedriger
Leistung sein kann. Diese Grenze basiert zum Beispiel auf einer
vom OS zur Verfügung
gestellten Anleitung, die mit Übergangszeitwerten
zum Erfüllen
von Wartezeiterfordernissen verknüpft sind, um die Rechenplattform 100 zwischen
einem Systemzustand der Betriebsleistung und einem Systemzustand
niedriger Leistung transparent zu überführen.
-
Im
Block 450 stellt bei einem Beispiel das Niedrigleistung-Aktivierungsmerkmal 215 fest,
dass ein Aufweckereignis aufgetreten ist. Die Rechenplattform 100 wird
dann zum Beispiel zurück
in den Systemzustand der Betriebsleistung überführt. Das Niedrigleistung- Aktivierungsmerkmal 215 bewirkt
bei einer Implementierung diesen Übergang, indem das Signal auf
der Kommunikationsverbindung 217 nicht geltend gemacht
wird. Als ein Ergebnis wird zum Beispiel die Schaltung 274 für die Niedrigleistung
deaktiviert und die Schaltung 272 für die Betriebsleistung wird
aktiviert. Auch überführt zum
Beispiel der Speichercontroller 120 die Teile des Speichers 130,
die in einen Selbstauffrischmodus gebracht worden sind, zurück in einen
aktiven Modus. Das Verfahren kehrt dann zum Beispiel zum Block 420 zurück, um zu
bestimmen, ob oder warm ein oder mehrere Verarbeitungselemente aus
den Verarbeitungselementen 140 wieder in einen gegebenen
C-Zustand eintreten. Als Alternative, obwohl dies in der 4 nicht
gezeigt ist, kann das Verfahren zum Block 405 zurückkehren.
-
Obwohl
das beispielhafte Verfahren in 4 eine gegebene
Abfolge von Tätigkeiten
veranschaulicht, die vorgenommen werden, um eine Rechenplattform
aus einem Systemzustand der Betriebsleistung in einen Systemzustand
niedriger Energie zu überführen, ist
diese Offenbarung nicht auf diese bestimmte Folge oder Reihenfolge
von Tätigkeiten
beschränkt.
Diese Offenbarung kann auch eine Abfolge von Tätigkeiten umfassen, die mehr
oder weniger Tätigkeiten
umfasst, als es für
die 4 veranschaulicht und beschrieben ist.
-
Mit
Bezug wieder auf den Speicher 130 in 1 und
den Speicher 210 in 2. Zusätzlich zu den
DRAM-Modulen, die oben für
den Speicher 130 angesprochen worden sind, können der
Speicher 130 und der Speicher 210 eine weite Vielfalt
von Speichermeden enthalten, einschließlich, jedoch nicht beschränkt auf
flüchtigen
Speicher, nichtflüchtigen
Speicher, Flash, programmierbare Variablen oder Zustände, Speicher
mit wahlfreiem Zugriff (RAM – Random
Access Memory), Nur-Lese-Speicher (ROM – Read Only Memory), Flash
oder andere statische oder dynamische Speichermedien. Bei einem Beispiel
können
dem Speicher 130 und/oder dem Speicher 210 maschinenlesbare
Befehle von einer Form eines Mediums, auf das von einer Maschine
zugegriffen werden kann, zur Verfügung gestellt werden. Ein Medium,
auf das durch eine Maschine zugegriffen werden kann, kann irgendeinen
Mechanismus darstellen, der Information oder Inhalt in einer Form zur
Verfügung
stellt (d. h. speichert und/oder sendet), die von einer Maschine
lesbar ist (z. B. einer ASIC, einem Controller oder Prozessor mit
speziellen Funktionen, einer FPGA, einer Baugruppe, einer Rechenplattform oder
einer anderen Hardwarebaugruppe). Zum Beispiel kann ein Medium,
auf das durch eine Maschine zugegriffen werden kann, ein computerlesbares
Medium enthalten, das umfasst: ROM; RAM; Magnetplatten-Speichermedien;
optische Speichermedien; Flash-Speicherbaugruppen.
Das Medium, auf das von einer Maschine zugegriffen werden kann, kann
auch ein Kommunikationsmedium enthalten, das umfasst: einen elektrische,
optische, akustische oder andere Form sich fortpflanzender Signale
(z. B. Trägerwellen,
Infrarotsignale, digitale Signale) und dergleichen.
-
Bezüge, die
in der Beschreibung auf den Ausdruck „ansprechend auf” hergestellt
wurden, sind nicht auf die Ansprechbarkeit auf nur ein bestimmtes Merkmal
und/oder eine Struktur beschränkt.
Ein Merkmal kann auch „ansprechend
auf” ein
weiteres Merkmal und/oder eine Struktur sein und sich auch innerhalb
des Merkmals und/oder der Struktur befinden. Zusätzlich kann der Ausdruck „ansprechend auf” auch Synonym
zu anderen Ausdrücken
sein, so wie „zur
Kommunikation gekoppelt an” oder „betrieblich
gekoppelt mit”,
obwohl der Ausdruck in dieser Hinsicht nicht beschränkt ist.
-
In
der voranstehenden Beschreibung wurden zu Zwecken der Erläuterung
zahlreiche bestimmte Einzelheiten aufgeführt, um für ein Verständnis dieser Offenbarung zu
sorgen. Es wird deutlich, dass die Offenbarung ohne diese bestimmten
Einzelheiten in die Praxis umgesetzt werden kann. In anderen Fällen sind
Strukturen und Baugruppen in Blockschaubildform gezeigt worden,
um das Verschleiern der Offenbarung zu vermeiden.
-
Zusammenfassung
-
Ein
Verfahren, welches das Einleiten einer Energieverwaltungsstrategie
umfasst, basierend auf einem Verarbeitungselement für eine Rechenplattform,
das in einen vorgegebenen Leistungszustand eintritt. Die Energieverwaltungsstrategie
umfasst eine Feststellung dahingehend, ob ein Eingabe/Ausgabe(I/O – Input/Output)-Controller
und ein Speichercontroller für
die Rechenplattform im Wesentlichen untätig sind. Die Rechenplattform
kann dann aus einem Systemzustand der Betriebsleistung in einen Systemzustand
niedriger Leistung überführt werden, basierend
auf einer Feststellung, dass sowohl der I/O-Controller als auch
der Speichercontroller im Wesentlichen untätig sind, und auf einer Angabe,
dass die Rechenplattform in der Lage ist, in den Systemzustand niedriger
Leistung einzutreten. Gemäß diesem
Verfahren umfasst der Systemzustand niedriger Leistung das Bringen
einer oder mehrerer Baugruppen, ansprechend auf die Rechenplattform,
auf einen Leistungspegel, der geeignet ist, einen Konfigurationszustand
zu halten, der es der einen oder den mehreren Baugruppen ermöglicht,
in den Systemzustand der Betriebsleistung zurückzukehren, in einer Weise,
die für
ein Betriebssystem der Rechenplattform im Wesentlichen transparent
ist. In dieser Offenbarung sind außerdem weitere Implementierungen und
Beispiele beschrieben.