-
HINTERGRUND
-
TECHNISCHES GEBIET
-
Ausführungsformen
der Erfindung betreffen im Allgemeinen den Ruhezustand und die Wiederaufnahme
bei einer Computerplattform.
-
HINTERGRUNDTECHNIK
-
Computersysteme
haben typischerweise bestimmte Zustände niedriger Leistung,
die als S-Zustände bezeichnet werden, einschließlich
S3 und S4. S3 wird manchmal als Bereitschaft (Standby), Schlaf (Sleep)
oder aussetzen für den RAM (Suspent to RAM) bezeichnet.
Der Zustand S3 ist ein Schlafzustand, in dem das Betriebssystem
(OS – Operating System) seinen Kontext in einem physikalischen Speicher
(einem dynamischen Speicher mit wahlfreiem Zugriff (DRAM – Dynamic
Random Access Memory)) sichert und das System in einen ausgesetzten Zustand
bringt. Offene Dokumente und Programme (Anwendungen), die zu dem
Zeitpunkt verwendet wurden, als in S3 eingetreten wurde, oder wenigstens
ein Teil der Programme werden während des ausgesetzten
Zustandes ebenfalls im DRAM gesichert. Inhalte einiger Chipsatz-Register
können ebenfalls in den DRAM geschrieben werden. Der physikalische
Speicher DRAM wird manchmal Hauptspeicher oder Systemspeicher genannt.
Während dieses ausgesetzten Zustandes wird die gesamte
Energie von der Hardware der Plattform weggenommen, mit der Ausnahme
des DRAM und einer kleinen Menge an Schaltung, die verwendet wird,
um das System später zu wecken. Der Leistungszustand S3
bietet eine relativ schnelle Aussetz- und Wiederaufnahme(Aufweck-)-zeit
aufgrund seiner Fähigkeit, den OS-Kontext und zuvor verwendete
Programme und Dokumente aus dem mit Hochgeschwindigkeit arbeitenden
DRAM-Speicher zu sichern und wiederzugewinnen.
-
S4
wird manchmal als Ruhe (Tiefschlaf-Hibernate), sicherer Schlaf (Safe
Sleep) oder an Festplatte aussetzen (Suspend to disk) bezeichnet.
In S4 werden der OS-Kontext und offene Dokumente und Programme (oder
ein Teil davon) auf einem Festplattenlaufwerk (HDD – Hard
Disk Drive) statt in dem schnellen DRAM-Speicher gesichert. Dies
ermöglicht höhere Energieeinsparungen als bei
dem Zustand S3, da der DRAM nicht mit Energie versorgt gehalten wird.
Jedoch gibt es längere Wartezeiten aufgrund der langsamen
Lese- und Schreibzugriffszeiten des HDD. Typische Ruhe- und Wiederaufnahmezeiten bei
S4 liegen in der Größenordnung von einigen 10 Sekunden.
-
Während
einige 10 Sekunden im Allgemeinen nicht viel Zeit zu sein scheint,
kann es für einen Benutzer, der darauf wartet, dass sein
oder ihr Computer in den Ruhezustand eintritt oder aus dem Ruhezustand
herausgeholt wird, wie eine lange Zeit erscheinen. Weiter, obwohl
die Menge an Energie, die benötigt wird, um die DRAMs in
Betrieb zu halten, für eine kurze Zeitdauer nicht groß ist,
kann sie über eine längere Zeitdauer eine wesentliche
Wirkung auf die Ladung in einer Batterie haben.
-
Demgemäß gibt
es ein Bedürfnis nach Schaltung und Techniken, die schnellere
Ruhe- und Wiederaufnahmezeiten zur Verfügung stellen, als
sie bei dem Leistungszustand S4 vorhanden sind und die weniger Energie
verbrauchen als der Leistungszustand S3.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Die
Erfindungen werden vollständiger aus der genauen Beschreibung,
die hiernach gegeben wird, und aus den beigefügten Zeichnungen
von Ausführungsformen der Erfindungen verstanden, die jedoch
nicht so gesehen werden sollten, als dass sie die Erfindungen auf
die bestimmten Ausführungsformen, wie sie beschrieben sind,
beschränken, sondern lediglich der Erläuterung
und dem Verständnis dienen.
-
1 ist
eine Blockschaubilddarstellung eines Computersystems gemäß einigen
Ausführungsformen.
-
2 ist
eine Querschnittsansicht eines mobilen Computers gemäß einigen
Ausführungsformen.
-
3 veranschaulicht
Ablaufdiagramme eines Weges für einen schnellen Ruhezustand
und eine Wiederaufnahme aus einem schnellen Ruhezustand gemäß einigen
Ausführungsformen.
-
4–7 sind
jeweils eine Blockschaubilddarstellung eines Computersystems gemäß einigen
Ausführungsformen.
-
GENAUE BESCHREIBUNG
-
Einige
Ausführungsformen der Erfindung umfassen Schaltung und
Techniken, um einen neuen schnellen Ruhezustandsprozess zu ermöglichen,
bei dem ein Systemkontext in einen nicht flüchtigen Speicher
(den kleineren nicht flüchtigen Speicher oder NVRAM) geschrieben
wird, der eine geringere Kapazität hat als ein weiterer
nicht flüchtiger Speicher (der größere
nicht flüchtige Speicher oder das Festplattenlaufwerk),
der verwendet wird, um wenigstens ein Betriebssystem, Programme
und Daten zu speichern. Bei einer Wiederaufnahme aus einem schnellen
Ruhezustand wird der Systemkontext aus dem kleineren nicht flüchtigen
Speicher gelesen und verwendet, um den Betrieb eines Computersystem
wiederherzustellen. Bei einigen Ausführungsformen wird der
Systemkontext vollständig von dem DRAM-Systemspeicher zu
dem kleineren nicht flüchtigen Speicher übertragen
und bei der Wiederaufnahme vollständig aus dem kleineren
nicht flüchtigen Speicher in den DRAM-Systemspeicher übertragen.
Bei weiteren Ausführungsformen kann der Systemkontext teilweise
aus einem anderen Speicher kommen, so wie aus Chipsatz-Registern,
und direkt in diese Register zurückgeschrieben werden,
anstatt dass indirekt durch den DRAM gegangen wird.
-
Bei
einigen Ausführungsformen geschieht bei dem schnellen Ruhezustandsprozess
die Übertragung von dem DRAM-Systemspeicher zu dem kleineren
nicht flüchtigen Speicher selbst nachdem Prozessorkerne
und andere Systemkomponenten, so wie eine Festplatte und ein Anzeigebildschirm,
heruntergefahren worden sind. Dies ermöglicht es, dass
der Benutzer des Computers die Wahrnehmung hat, dass das Computersystem
schnell abgeschaltet wird, selbst wenn die Übertragung
des Systemkontexts noch nicht beendet worden ist. Demgemäß verbessern
Ausführungsformen die Wahrnehmung des Benutzers bezüglich
der Ansprechbarkeit des Systems. Dies gibt dem Benutzer eine größere
Befriedigung. Dies steht im Gegensatz zu dem Übergang nach
S4 gemäß dem Stand der Technik, bei dem der Prozessor
den gesamten Kontext auf das Festplattenlaufwerk (HDD) kopiert,
bevor das Wirtsystem oder die Partition in den Ruhezustand eintritt
und sich abschaltet.
-
Bei
einigen Ausführungsformen kann der schnelle Ruhezustandsprozess
mit einem Betriebssystem (OS) erfolgen, das für die Zustände
S3 und S4 gestaltet ist, jedoch nicht speziell für den
schnellen Ruhezustandsprozess eingerichtet ist. Dies kann geschehen,
indem man das BIOS und/oder einen anderen Mechanismus auf einen
Befehl, den RAM auszusetzen (S3) antworten lässt, indem
der Prozessor in einen Systemverwaltungsmodus (SMM – System Management
Mode) gebracht wird und der Übergang von dem DRAM-Systemspeicher
zu dem kleineren nicht flüchtigen Speicher gesteuert wird
und dann ein Schlaftyp in einen Ruhezustand geändert wird.
Bei diesen Ausführungsformen kann der Prozess für
einige OSs „transparent” sein.
-
Mit
Bezug auf 1 umfasst ein System 12 einen
Prozessor 14, der mit einem Plattform-Controllerhub (PCH – Platform
Controller Hub) 16 und einem Systemspeicher (DRAM) 20 gekoppelt
ist. Der Prozessor 14 umfasst Kerne 22 einer zentralen
Verarbeitungseinheit (CPU – Central Processor Unit) und
einen Nicht-Kern 26. Der Ausdruck Nicht-Kern ist nicht so
gedacht, dass er eine eingeschränkte Definition hat, sondern
ist ein allgemeiner Ausdruck, der sich auf Teile des Prozessors
mit verschiedenen Schnittstellen- und Steuerschaltungen zu bezieht,
die nicht Teil des Kerns sind. Der Nicht-Kern 26 umfasst
einen integrierten Speichercontroller 28, um den Systemspeicher 20 zu
steuern. Der Systemspeicher 20 umfasst einen Bereich 30 zum
Halten von Befehlen für einen Systemverwaltungsmodus (SMM).
Der SMM kann SMM-Techniken des Standes der Technik oder neuen SMM-Techniken
oder einem ähnliche Typ eines Modus entsprechen. Ein nicht
flüchtiger Speicher (NVRAM) 38 ist durch einen
Controller 34 mit einem PCH 16 gekoppelt. Bei
einigen Ausführungsformen umfasst der NVRAM 38 einen
schnellen Flash und der Controller 34 ist ein NAND-Controller.
Bei einigen Ausführungsformen kann der Controller 34 ein
eingebetteter Prozessor sein, wie es hiernach beschrieben wird.
Ein Festplattenlaufwerk 42 ist mit dem PCH 16 gekoppelt
und hält ein Betriebssystem, Programme und Daten für
den Prozessor 14. Bei einigen Ausführungsformen
können einige der Inhalte der Festplatte 42 von
anderen Komponenten des Systems genutzt werden. Der NVRAM 38 hat
beträchtlich weniger Speicherkapazität als das
Festplattenlaufwerk 42, hat jedoch einen schnelleren Zugriff
als das Festplattenlaufwerk 42. Demgemäß kann
der NVRAM 38 als ein kleinerer nicht flüchtiger
Speicher bezeichnet werden und das Festplattenlaufwerk 42 kann
als ein größerer nicht flüchtiger Speicher
bezeichnet werden. Ein Basis-Eingabe/Ausgabesystem (BIOS – Basic
Input/Output System) 48 stellt dem System BIOS-Befehle
zur Verfügung. Eine Aufweckschaltung 50 kann während
des Ruhezustandes mit Energie versorgt werden, um die Wiederaufnahme
zu ermöglichen. Bei einigen Ausfüh rungsformen
werden die Komponenten des Systems der 1 in einem
Gehäuse gehalten, so wie bei einem mobilen Computer.
-
2 veranschaulicht
einen mobilen Computer 62 mit einem Basisteil 64 und
einem Deckel 66, der einen Anzeigebildschirm 68 enthält.
Das Basisteil 64 umfasst ein System, wie das der 1.
Das Basisteil 64 umfasst einen Schalter 70, um
zu erfassen, ob der Deckel geöffnet und geschlossen wird.
Der Basisabschnitt 64 umfasst außerdem Tasten 72 (so wie
für eine Tastatur oder weitere Tasten, so wie eine Ein-
und Ausschalttaste) und eine Steuervorrichtung 94 für
einen Cursor. Ein Befehl zum Ändern eines Leistungszustandes
(so wie einen „Bereitschaft”-Befehl, auch aussetzen
an RAM oder S3-Befehl genannt, oder bei anderen Ausführungsformen
ein Befehl für den schnellen Ruhezustand) kann in unterschiedlicher
Weise eingeleitet werden, abhängig von den Ausführungsformen
und den Ausgestaltungen der Ausführungsformen. Beispiele
für Wege, über die ein Befehl zum Ändern
eines Leistungszustandes eingeleitet werden kann, umfassen eines
oder mehreres der folgenden: Schließen eines Deckels, Drücken
einer Ein- und Ausschalttaste, Drücken einer weiteren Taste,
Durchführen von Steuerklicks mit dem Cursor bei einem Pulldown-Menü oder
auf eine Ikone oder andere Wege. Ein Aufweckereignis (Wiederaufnahmebefehl),
um zu bewirken, dass das System aus dem Ruhezustand seine Tätigkeit
wieder aufnimmt, kann in verschiedener Weise eingeleitet werden,
ebenso wie abhängig von den Ausführungsformen
und den Ausgestaltungen der Ausführungsformen. Beispiele
für Wege, über die ein Wiederaufnahmebefehl eingeleitet
werden kann, umfassen einens oder mehreres der folgenden: Öffnen
eines Deckels, Drücken einer Ein- und Ausschalttaste, Drücken
einer weiteren Taste, Durchführen von Steuerklicks mit
einem Cursor oder andere Wege. In der Praxis kann es weniger Wege
geben, die Tätigkeit aufzunehmen, da es wünschenswert
ist, dass das System im Wesentlichen vollständig abgeschaltet
ist. Bei einigen Ausführungsformen ist der einzige Weg, einen
Wiederaufnahmebefehl einzuleiten, das Drücken des Ein-
und Ausschaltknopfes.
-
Mit
Bezug auf 2 umfasst eine Energieverwaltungseinheit 44 Advanced
Configuration & Power
Interface(ACPI)-Blockregister, obwohl bei weiteren Ausführungsformen
ACPI-Register nicht verwendet werden. Verschiedene ACPI-Spezifikationen
sind veröffentlicht worden, einschließlich einer überarbeiteten
Version 3.0b vom 10. Oktober 2006, die bei www.acpi.info zum
Herunterladen zur Verfügung steht. Es gibt auch ACPI-Tabellen
in Software, die im DRAM gehalten werden. Wie es aus dem Stand der Technik
bekannt ist, beginnt das BIOS des Systems mit der Ausführung,
wenn das Computersystem eingeschaltet wird. Das BIOS des Systems
kann plattform- und chipsatzspezifische Firmware sein und plattform-
und chipsatzspezifische Information durch die APCI-Tabellen (im
DRAM) leiten.
-
Die
ACPI-Register umfassen ein Register, das Register für den
Schlaftyp (SLP_TYPE) genannt wird, und ein Register für
das Aktivieren des Schlafs (SLP_EN). Es sei angenommen, dass ein
01 in dem Register für den Schlaftyp das Aussetzen angibt
und ein 02 in dem Register für den Schlaftyp den Ruhezustand
angibt. Wenn ein Benutzer das Aussetzen wählt, durchsucht
das OS die ACPI-Tabelle und sieht, dass Aussetzen bedeutet, dass
Bits 01 in das Register für den Schlaftyp geschrieben werden.
Das OS programmiert diesen Wert in das Register für den Schlaftyp.
Wenn das OS bereit ist, in das Aussetzen zu gehen, setzt es das/die
Bits für das Aktivieren des Schlafs. Nachdem das OS das
Bit zum Aktivieren des Schlafs gesetzt hat, übernimmt die
Hardware, und der PCH 16 schaltet die Plattform ab, wie
es hiernach beschrieben ist.
-
Das
System kann so ausgestaltet sein, dass, wenn ein Benutzer das Aussetzen
für den RAM (S3) wählt, das System tatsächlich
den Übergang in einen schnellen Ruhezustand ausführt.
Als Alternative kann der Übergang in einen schnellen Ruhezustand für
den Benutzer eine Express-Option darstellen. Das Folgende beschreibt
Techniken, mit denen ein RAM Aussetzen (S3) und später
eine Wiederaufnahme ausgewählt werden können,
jedoch ein schneller Ruhezustand und ein späteres Wiederaufnehmen aus
dem schnellen Ruhezustand ausgeführt werden.
-
Ein
eingebetteter Prozessor (EP), so wie der eingebettete Prozessor 34,
könnte eine vorhandene Handhabungsmaschine (ME – Manageability
Engine) in dem Chipsatz oder irgendeine andere Verarbeitungsmaschine
(einschließlich Modi mit hohem Privileg der Host-CPU) in
der Plattform sein, die Zugriff auf den physikalischen DRAM und
einen Teil des nicht flüchtigen Speichers, so wie einen
Flash, hat. Der EP 34 kann seinen Code entweder aus dem Flash
oder dem physikalischen Speicher holen und seine Ausführung
ist unabhängig von den Prozessor kernen oder dem Zustand
der Wirtsplattform. Dies erlaubt es, dass der EP 34 Handhabungsfunktionen
für die Plattform extern durchführt, wenn die
Kerne des Host nicht ausführen. Lediglich das Vorhandensein eines
eingebetteten Prozessors in einem Chip eines Computersystems ist
nicht neu, jedoch wird vermutet, dass das Verwenden eines eingebetteten
Prozessors wie hierin beschrieben neu ist.
-
Der
NVRAM 38 kann seinen Kontext ohne jedwede externe Energie
halten. Die Flash-Technologie ist ein Beispiel für diesen
Typ eines Speichers und wird in fast allen Plattformen eingesetzt,
um den Bootstrap-Code der Plattform (BIOS) und Konfigurationsdaten
zu speichern. Die Größe dieses Speichers kann
von der Größe des Bootstrap-Codes der Plattform
und irgendwelcher anderer Information abhängen, die zu
speichern notwendig sein kann, während die Plattform nicht
mit Energie versorgt wird. Der EP 34 kann auch den NVRAM
benutzen, um seinen Code und Daten zu speichern. Der NVRAM 38 kann einen
Flash-Speicher umfassen, so wie einen „schnellen Flash” gemäß einer
gegenwärtig verfügbaren Technologie oder entsprechend
einem schnellen Flash, der in der Zukunft verfügbar ist.
Der NVRAM 38 kann verwendet werden, um Daten zusätzlich
zu dem Systemkontext zu speichern. Wenn alle anderen Dinge gleich
sind, ist ein NVRAM mit schnelleren Zugriffszeiten bevorzugt. Bei
einigen Ausführungsformen hat der NVRAM 38 eine
Kapazität, die wenigstens so groß wie die des
DRAM-Systemspeichers 20 und bei einigen Ausführungsformen
viel größer als die des DRAM-Systemspeichers 20 ist.
-
3 zeigt
einen Überblick von Beispielen für ein Ablaufdiagramm
eines Weges für einen schnellen Ruhezustandsweges und eines
Ablaufdiagramms für eine Wiederaufnahme aus einem schnellen
Ruhezustand. Die Einzelheiten können sich bei den verschiedenen
Ausführungsformen unterscheiden. Bei den Beispielen der 3 stellt
der Block 80 das OS des Wirts dar. Ruhezustandsdaten werden
in den Systemspeicher DRAM 20 geschrieben (wobei einige
vor dem Befehl für den schnellen Ruhezustand geschrieben
werden können und einige danach). Vor einem Befehl für
einen schnellen Ruhezustand (welcher derselbe sein kann wie ein
Befehl für S3) ist die Plattform (der Wirt) in einem Zustand
S0 und die Handhabungsmaschine (ME) (die der eingebettete Prozessor 34 sein
oder ihn umfassen kann) ist in einem Zustand M0. Das Register für
den Schlaftyp wird auf schnellen S4 gesetzt, welcher für
einige Systeme derselbe sein kann wie S3. Wenn das Register für das
Aktivieren des Schlafes auf 1 gesetzt ist, wird eine Hardware-Unterbrechung
erzeugt, welche bewirkt, dass der eingebettete Prozessor 34 die
Ruhezustandsdaten vom Systemspeicher DRAM 20 in den schnellen
Flash NVRAM 38 kopiert. Der Zustand des Plattformwirtes
ist dann S4 schnell, und die ME hat den Zustand M1.
-
Sobald
der Kopiervorgang abgeschlossen ist, hat die ME den Zustand M-aus,
und die Aufwecklogik 84 ist eingeschaltet. Die Aufwecklogik 84 kann die
Aufweckschaltung 50 sein oder sie umfassen. Es kann verschiedene
Typen einer Aufwecklogik geben. Die Aufweckschaltung 50 kann
eines oder mehreres aus einer physikalischen Ein- und Ausschalttaste,
einer besonderen Taste, einer Cursorsteuereinheit, einer universellen
seriellen Bus(USB)-Einheit, einen Detektor für das Öffnen
eines Deckels oder irgendetwas anderes umfassen.
-
Sobald
der ganze mit dem Ruhezustand des OS in Verbindung stehende Kontext
in die schnelle NVRAM-Einheit kopiert worden ist, bringt der EP
den DRAM des Systems in einen energielosen Zustand und schaltet
sich selbst ab. Zu diesem Zeitpunkt behält nur die minimale
Schaltung, die erforderlich ist, das System zu wecken, Energie,
und das System ist vollständig in den Ruhezustand eingetreten.
-
Bei
dem Beispiel eines Wiederaufnahmeweges, wenn die Aufwecklogik 84 aktiviert
wird, kopiert der eingebettete Prozessor 34 die Ruhezustandsdaten
auf dem schnellen Flash-MVRAM 38 in den Systemspeicher
DRAM 20. Das BIOS springt dann zu einem Aufweckvektor des
OS.
-
Bei
einigen Ausführungsformen, als Antwort auf einen Befehl
zum Ändern eines Leistungszustandes, schreibt das OS in
das Register für einen Schlaftyp und in das Register für
das Aktivieren des Schlafs. Es gibt eine getrennte Strategie in
dem BIOS. Das BIOS kann eine Einrichteoption haben, bei der ein
Benutzer das wählt, was Befehl S3 sein würde,
um den schnellen Übergang in den Ruhezustand zu beginnen – sodass,
wenn das OS an den RAM aussetzen möchte, die Plattform
in den schnellen Ruhezustand übergeht. Bei einigen Ausführungsformen
ist dem OS nicht bewusst, dass ein schneller Übergang in
den Ruhezustand geschieht und es erkennt, dass eine S3-Änderung
auftritt. Bei einigen Ausführungsformen vereinfacht das
BIOS den schnellen Übergang in den Ruhezustand wie folgt. Ein
Auslöser wird gesetzt, so dass, wenn das OS in das Bit
Schlaf aktivieren schreibt, die Steuerung an das BIOS übergeben
wird. (Bei einigen Ausführungsformen unterstützt
der PCH 16 einen hardwaremäßigen SMM-Auslöser.)
Ein Systemverwaltungsmodus (SMM – System Management Mode)
nimmt die Steuerung von dem OS weg, als Antwort darauf, dass der SMM-Pin
aktiviert wird. Der SMM kann ein SMM des Standes der Technik oder
ein modifizierter neuer SMM sein. Bei einigen Ausführungsformen
umfasst der Prozessor 14 einen SMM-Pin – der,
wenn er geltend gemacht wird, bewirkt, dass der Prozessorkern in
einen SMM-Modus kommt. Die Prozessorkerne pausieren und springen
in den SMRAM-Bereich 30 des DRAM 20. Der SMRAM-Bereich 30 gehört
dem BIOS, das die Inhalte beim Hinauffahren installieren kann. Wenn
der SMM geltend gemacht wird, nimmt die CPU ihre Befehle von dem
SMRAM 30. Am Ende der SMM-Befehle kann es einen Wiederaufnahmebefehl
geben, um zum OS zurückzukehren.
-
Bei
einigen Ausführungsformen wird das Register für
den Schlaftyp von aussetzen für den RAM S3, um in den Ruhezustand überzugehen,
in DISC S4 (z. B. 01 in 02) geändert, nachdem die Inhalte
des DRAM 20 an den NVRAM 38 übertragen
sind. Nach der Änderung im Register für den Schlaftyp
arbeitet das OS weiter, als ob das System im S3 wäre, und das
BIOS arbeitet weiter, als ob das System im Ruhezustandsmodus wäre,
was bewirkt, dass sich das System mit den geringeren Ausnahmen,
wie diskutiert, abschaltet. In diesem Sinne wird bei einigen Ausführungsformen
das OS „überlistet” und denkt, das System
ist in dem S3, wenn es tatsächlich in einem schnellen Ruhezustand
ist. Dies zwingt die Hardware-Plattform, in den tieferen Schlafzustand S4 überzugehen,
jedoch zwingt es das OS nicht, auf das Festplattenlaufwerk zu kopieren,
da das OS denkt, dass die Plattform in ausgesetztem Zustand ist.
Demgemäß ist der Abschaltprozess viel schneller als
im Falle des S4 nach dem Stand der Technik. Der Prozess ist sogar
schneller, wenn der Übergang von Kontext geschieht, während
sich viel vom Rest des Systems gerade abschaltet und danach.
-
Einige
Aspekte des Übergehens in den schnellen Ruhezustand für
einige Ausführungsformen werden wie folgt beschrieben,
jedoch sind in weiteren Ausführungsformen die Einzelheiten
unterschiedlich.
- 1. Das OS leitet einen Übergang
in den schnellen Ruhezustand ein, indem sein gegenwärtiger
Zustand in einem festen zusammenhängenden Bereich des DRAM
gesichert wird. Dieser Bereich für die Daten des Ruhezustandes
umfasst einen Aufweckvektor für das OS ebenso wie Hardware-
und Softwarekontext zum Wiederherstellen des Systems bei der Wiederaufnahme.
- 2. Das OS setzt die Bits SLP_TYPE und SLP_EN in dem Chipsatz
(PCH 16), um der Chipsatz-Hardware anzugeben, dass es in
den Ruhezustand übergehen möchte.
- 3. Das Setzen des SLP_EN bewirkt eine Hardware-Unterbrechung
bei dem EP 34. Der EP 34 bewertet die Unterbrechung
und stellt fest, dass das System in den Tiefschlafzustand gehen möchte.
Der EP 34 leitet ein teilweises Herunterfahren der Plattform
durch Abschalten der Prozessorkerne 22 und der gesamten
Plattformhardware, die für den Benutzer sichtbar ist, ein,
wobei nur der DRAM 20 mit Energie versorgt bleibt. Man bemerke,
dass dieses als Alternative nach einer gewissen Zeitverzögerung
(z. B. 15 Minuten) ausgelöst werden könnte, was
es somit dem System erlaubt, bei Schlafintervallen kurzer Dauer
das übliche S3 zu verwenden und die Ruhezustandsfunktion
erst nach einem verlängerten S3-Intervall (z. B. 15 Minuten)
auszulösen.
- 4. Der EP 34 kopiert den Bereich mit den Daten des
Ruhezustandes des OS aus dem System-DRAM 20 in den schnellen
NVRAM-Speicher 38 über seinen internen SRAM-Puffer 82 (in
der 2 gezeigt).
- 5. Der EP 34 macht die Aufwecklogik 84 bereit,
so dass aus dem Schlafzustand aufgeweckt werden kann.
- 6. Der EP 34 fährt den DRAM 20 herunter
und bringt sich selbst in den abgeschalteten Zustand.
- 7. Zu diesem Zeitpunkt ist das gesamte System heruntergefahren,
mit der Ausnahme minimaler Hardware, die benötigt wird,
um das System aufzuwecken.
-
Beim
Auftreten eines Weckereignisses (Einleiten eines Wiederaufnahmebefehls)
schaltet sich der EP 34 als erstes an und initialisiert
unmittelbar den Systemspeicher DRAM 20 und beginnt das
Wiederherstellen des DRAM-Kontextes des OS aus der schnellen NVRAM-Einheit 38.
Bei einigen Ausführungsformen geschieht dieses Wiederherstellen
des DRAM sogar bevor der Prozessor beginnt, den Systemcode des BIOS
auszuführen. Während das BIOS seinem regulären
Ruhezustand-Wiederaufnahmeweg folgt, stellt der EP 34 weiter
den OS-Kontext im DRAM 20 her, und wenn das BIOS 48 seine
Initialisierung des Prozessors, Chipsatzes und anderer Plattformkomponenten
abgeschlossen hat, hat der EP 34 bereits das Wiederherstellen
des gesamten Kontextes zum Wiederherstellen nach dem Ruhezustand
für das OS in dem DRAM beendet. Das BIOS 48 schließt
seine Ausführung ab und gibt die Steuerung an den Ruhezustand-Aufweckvektor
des OS, der ursprünglich innerhalb des Kontextes für
die Wiederherstellung des OS aus dem Ruhezustand in den DRAM eingebettet
war und von dem EP zusammen mit dem Rest der Ruhezustandsdaten wiederhergestellt
worden ist. Sobald es die Steuerung bekommt, beginnt der Aufweckcode
für das OS sofort die Ausführung aus dem DRAM 20 und
stellt die verbleibenden OS-Komponenten wieder her, wobei Ruhezustand-Wiederherstellungsdaten
in dem DRAM verwendet werden. Bei weiteren Ausführungsformen sind
die Einzelheiten unterschiedlich.
-
Bei
einigen Ausführungsformen beginnt bei der Wiederaufnahme
aus einem schnellen Ruhezustand das BIOS das Ausführen
und Initialisieren von Systemkomponenten, einschließlich
des DRAM 20, der initialisiert wird, da Energie abgeschaltet
worden war. Der NVRAM 38 wird ebenfalls initialisiert.
Sobald der Speicher initialisiert ist, werden wenigstens einige
der Inhalte des NVRAM 38 in den DRAM 20 kopiert.
Eine Softwareumschaltung in BIOS wird aus dem Ruhezustand(S4)-Fluss
zu einem Aussetz(S3)-Fluss durchgeführt. Das BIOS springt
dann zu einem S3_Aufweck_Vektor. Zu diesem Zeitpunkt hat das OS,
was es benötigt, um mit einem S3_Aufwecken des OS fortzufahren.
-
Bei
einigen Ausführungsformen gibt es zusätzliche
Verarbeitungsagenten, um den Wiederaufnahmefluss weiter zu beschleunigen,
indem Kompressionshardware hinzugefügt wird, oder um eine Sicherheitsfunktionalität
durch Hinzufügens von Verschlüsselungsmöglichkeiten
hinzuzufügen.
-
Einige
Aspekte der Wiederaufnahme aus dem schnellen Ruhezustand für
einige Ausführungsformen werden wie folgt beschrieben,
jedoch sind bei weiteren Ausführungsformen die Einzelheiten
unterschiedlich.
- 1. Eine Benutzertätigkeit
verursacht ein Aufweckereignis, was bewirkt, dass der EP 34 und
der Prozessor 14 aufwachen.
- 2. Der EP 34 erfasst, dass das System aus einem Ereignis
des schnellen Ruhezustand aufwacht, und daher initialisiert er den
Speicher und beginnt das Kopieren von Ruhezustand-Wiederherstellungskontext
des OS aus dem NVRAM 38 in den DRAM-Speicher 20 über
seinen internen SRAM-Puffer 82.
- 3. Die CPU kommt aus dem Rücksetzen und beginnt das
Ausführen des BIOS-Systemcodes. Das BIOS führt
seinen Ruhezustand-Wiederaufnahmeweg durch und gibt schließlich
die Steuerung an den Aufweckvektor für das OS in dem DRAM, der
nun von dem EP wiederhergestellt worden ist.
- 4. Zu diesem Zeitpunkt geht die Steuerung in den Aufweckvektor
des OS in dem DRAM, und das OS beginnt, seinen Zustand wiederherzustellen, indem
Ruhezustands-Wiederaufnahmedaten in dem Systemspeicher verwendet
werden.
-
Da
Lese- und Schreib-Zugriffszeiten auf den NVRAM 38 viel
schneller sind als die Lese- und Schreib-Zugriffszeiten auf das
Festplattenlaufwerk 42, sind die Aussetz- und Wiederaufnahmezeiten
bei Ausfühungsformen der Erfindung viel kürzer
als bei einer S4-Aussetzung an DISC und die Wiederaufnahme gemäß dem
Stand der Technik.
-
Ausführungsformen
können eine Kombination aus schnellerer Antwortzeit, um
auszusetzen und wiederaufzunehmen, und längerer Batterielebensdauer
ergeben, da fast das gesamte System zwischen dem Ruhezustand und
dem Wiederaufnehmen ausgeschaltet ist.
-
4 veranschaulicht
ein System, das ähnlich dem der 1 ist, indem
jedoch der NVRAM-Controller (z. B. der eingebettete Prozessor) 134 im
Nicht-Kern 126 des Prozessors 114 liegt, gekoppelt
mit dem PCH 132. Das BIOS 148 kann dasselbe oder
etwas unterschiedlich von dem BIOS 48 sein.
-
5 veranschaulicht
ein System, das dasselbe ist, wie das der 4, mit der
Ausnahme, dass eine PM-Einheit 244 in dem Nicht-Kern 220 des
Prozessors 214 anstatt in dem PCH 232 enthalten
ist. Es kann eine weitere PM-Einheit in dem PCH 232 geben.
Das BIOS 248 kann dasselbe oder etwas unterschiedlich von
dem BIOS 48 sein. Energieverwaltungslogik kann in einer
Kombination aus dem Prozessor und dem PCH oder lediglich in einem
oder dem anderen enthalten sein.
-
6 veranschaulicht
ein System, das ähnlich dem der 1 ist, indem
es jedoch zwei Prozessoren 314-1 und 314-2 gibt,
die Nicht-Kerne 326-1 und 326-2 mit IMCs 28-1 und 28-2 umfassen,
welche mit Speichern 20-1 und 20-2 (mit Bereichen 30-1 und 30-2)
jeweils wie gezeigt gekoppelt sind. Die Prozessoren 314-1 und 314-2 sind
mit dem PCH 316 gekoppelt. Die Prozessoren 314-1 und 314-2,
die Nicht-Kerne 326-1 und 326-2, der Controller 334,
die PM-Einheit 344, das BIOS 348 können
dieselben oder unterschiedlich von dem Prozessor 14, dem Nicht-Kern 20,
dem Controller 34, der PM-Einheit 44 und dem BIOS 48 sein.
-
7 veranschaulicht
ein System, das ähnlich dem der 1 ist, mit
der Ausnahme, dass sich der Speichercontroller 428 in einem
Controllerhub 416 anstatt in dem Nicht-Kern 426 des
Prozessors 414 befindet. Der Speichercontroller 428,
das BIOS 448 und die Energieverwaltungseinheit 444 können dieselben
oder unterschiedlich von dem Speichercontroller 28, dem
BIOS 48 und der Energieverwaltungseinheit 44 sein.
-
In
den Figuren kann das unterschiedliche Auftreten von CPU-Kernen 22,
Speichercontroller 28, Controller 34, Speicher 20 und
Bereich 30, NVRAM 38 und Festplattenlaufwerk 42 dasselbe
sein oder es kann sich unterscheiden.
-
Während
einiger normaler S4-Wiederaufnahmeprozesse gemäß dem
Stand der Technik braucht das BIOS möglicherweise bis zu
10–15 Sekunden, um das System zu initialisieren, bevor
die Steuerung an eine Ladeeinheit für das OS übergeben wird.
Bei einigen Ausfüh rungsformen, im schnellen Ruhezustand,
schaltet das BIOS von dem S4- zu dem S3-Weg, sobald der DRAM-Kontext
wiederhergestellt worden ist (über die CPU SMM oder den
EP). Dies ermöglicht es dem BIOS, den schnelleren (zum Beispiel
wenige hundert Millisekunden) S3-Wiederaufnahmeweg zu nehmen und
schnell zu einem Aufweckvektor für das OS zu springen.
Bei weiteren Ausführungsformen sind die Einzelheiten unterschiedlich.
-
Die
Erfindung ist nicht auf die Verwendung mit irgendeinem bestimmten
Betriebssystem beschränkt. Einige Ausführungsformen
können mit Microsoft Windows, Vista, Mac OSs verwendet
werden.
-
Das
Register für den Schlaftyp und das Register für
das Aktivieren des Schlafes können physikalisch getrennte
Register oder Teilbereiche eines größeren Registers
sein.
-
Der
NVRAM 38 kann insgesamt an einem physikalischen Ort sein
oder über physikalisch unterschiedliche Plätze
verteilt sein.
-
ZUSÄTZLICHE INFORMATION
UND AUSFÜHRUNGSFORMEN
-
Die „Logik”,
auf die hierin Bezug genommen wird, kann in Schaltungen, Software,
Mikrocode oder einer Kombination aus diesen implementiert werden.
-
Die
Formen und relativen Größen der Blöcke in
den Figuren sind nicht so gedacht, dass sie tatsächliche
Formen und relative Größen zeigen. Eine tatsächliche
Implementierung könnte zusätzliche Komponenten
und Verbindungen zwischen Komponenten umfassen, die in den Figuren
nicht veranschaulicht sind.
-
Eine
Ausführungsform ist eine Implementierung oder ein Beispiel
der Erfindungen. Der Bezug in der Beschreibung auf „eine
Ausführungsform”, „einige Ausführungsformen” oder „weitere
Ausführungsformen” bedeutet, dass ein bestimmtes
Merkmal, eine Struktur oder eine Eigenschaft, die in Verbindung
mit den Ausführungsformen beschrieben ist, in wenigstens
einigen Ausführungsformen, jedoch nicht notwendigerweise
in allen Ausführungsformen enthalten ist. Das verschiedene
Auftreten von „einer Ausführungsform” oder „einigen
Aus führungsformen” bezieht sich nicht notwendigerweise
immer auf dieselben Ausführungsformen.
-
Wenn
gesagt wird, dass das Element „A” mit dem Element „B” gekoppelt
ist, kann das Element A direkt mit dem Element B gekoppelt sein
oder indirekt gekoppelt sein, zum Beispiel über ein Element
C.
-
Wenn
die Beschreibung oder die Ansprüche angeben, dass eine
Komponente, ein Merkmal, eine Struktur, ein Prozess oder eine Eigenschaft
A eine Komponente, ein Merkmal, eine Struktur, einen Prozess oder
eine Eigenschaft B „hervorruft” bedeutet dies,
dass „A” wenigstens eine Teilursache für „B” ist, dass
es aber außerdem wenigstens eine weitere Komponente, ein
Merkmal, eine Struktur, einen Prozess oder eine Eigenschaft geben
kann, die beim Hervorrufen von „B” unterstützt. Ähnlich
bedeutet, dass A auf B anspricht, nicht, dass es nicht auch auf C
anspricht.
-
Wenn
die Beschreibung angibt, dass eine Komponente, ein Merkmal, eine
Struktur, ein Prozess oder eine Eigenschaft enthalten sein „kann”, „dürfte” oder „könnte”,
ist es nicht erforderlich, dass die bestimmte Komponente, das Merkmal,
die Struktur, der Prozess oder die Eigenschaft enthalten ist. Wenn sich
die Beschreibung oder ein Anspruch auf „ein” Element
bezieht, bedeutet dies nicht, dass es nur ein solches Element gibt.
-
Die
Erfindungen sind nicht auf die hierin beschriebenen genauen Einzelheiten
beschränkt. Tatsächlich können viele
weitere Abänderungen bei der vorgehenden Beschreibung und
den Zeichnungen innerhalb des Umfangs der vorliegenden Erfindungen vorgenommen
werden. Demgemäß sind es die folgenden Ansprüche,
einschließlich jedweder Änderungen an diesen,
die den Umfang der Erfindungen definieren.
-
Zusammenfassung
-
Bei
einigen Ausführungsformen umfasst eine Vorrichtung Prozessorkerne,
einen kleineren, nicht flüchtigen Speicher, einen größeren,
nicht flüchtigen Speicher, um ein Betriebssystem, Programme
und Daten zur Verwendung von den Prozessorkernen zu halten. Die
Vorrichtung umfasst außerdem flüchtigen Speicher,
der als Systemspeicher für die Prozessorkerne arbeitet,
und Energieverwaltungslogik, um wenigstens einige Aspekte der Energieverwaltung
zu steuern. Als Antwort auf einen Befehl, einen Leistungszustand
zu ändern, wird ein Systemkontext in dem kleineren nicht
flüchtigen Speicher gespeichert, anschließend
wird der flüchtige Speicher energielos, und als Antwort
auf einen Wiederaufnahmebefehl erhält der flüchtige
Speicher Energie und erhält wenigstens einen Teil des Systemkontexts
von dem kleineren nicht flüchtigen Speicher. Weitere Ausführungsformen
werden beschrieben.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-