-
HINTERGRUND
-
Technisches Gebiet
-
Einige
Ausführungsformen
der vorliegenden Erfindung beziehen sich im allgemeinen auf Energieverwaltungstechniken.
Insbesondere beziehen sich einige Ausführungsformen auf Energieverwaltung durch
dynamische Versorgungsspannungsreduzierung.
-
Diskussion
-
Indem
sich der Trend zu fortgeschrittenen Prozessoren mit mehr Transistoren
und höheren
Frequenzen fortsetzt, werden Computerdesigner und -hersteller oft
mit einhergehenden Steigerungen des Energieverbrauchs konfrontiert.
Ohne Energieverwaltung verbrauchen integrierte Schaltkreise (integrated
Circuits (ICs)), wie etwa Prozessoren mit mehreren Kernen, übermäßige Energie.
Dementsprechend werden neue Energieverwaltungsansätze benötigt.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Verschiedene
Vorteile von Ausführungsformen
der vorliegenden Erfindung werden Fachleuten beim Lesen der folgenden
Spezifikation und der beigefügten
Ansprüche
und unter Bezugnahme auf die folgenden Zeichnungen ersichtlich,
in denen:
-
1 ein
Blockdiagramm eines integrierten Schaltkreises mit Spannungsauswahllogik
(Voltage Selection Logic (VSL)) gemäß einigen Ausführungsformen
der Erfindung zeigt;
-
2 ein
Flussdiagramm einer Spannungsauswahlroutine zeigt, die durch die
VSL gemäß einigen
Ausführungsformen
der Erfindung durchgeführt werden
kann;
-
3 ein
Diagramm eines Mehrkernprozessors mit einer VSL gemäß einigen
Ausführungsformen
der Erfindung zeigt;
-
4 ein
Flussdiagramm einer Spannungsauswahlroutine für den Prozessor der 3 gemäß einigen
Ausführungsformen
der Erfindung zeigt;
-
5 ein
Flussdiagramm einer Routine zum Bestimmen von Lastleitungsbfallreduzierung
gemäß einigen
Ausführungsformen
der Erfindung zeigt;
-
6 ein
Blockdiagramm einer Spannungsauswahllogik gemäß einigen Ausführungsformen
der Erfindung zeigt;
-
7 ein
Blockdiagramm auf Systemebene eines Beispiel-Computersystems gemäß einigen Ausführungsformen
der Erfindung zeigt; und
-
8 ein
Diagramm eines Mehrkernprozessors mit mehreren Versorgungsspannungsdomänen gemäß einigen
Ausführungsformen
der Erfindung zeigt.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Gemäß einigen
Ausführungsformen
kann die angeforderte Versorgungsspannung von einem Spannungsregelmodul
(Voltage Regulator Module (VRM)) zu einer integrierten Schaltkreisvorrichtung (wie
etwa einem Prozessor) dynamisch reduziert werden, wenn in dem IC
Inaktivität
festgestellt wird, weil weniger Spannung durch das VRM-Energieversorgungsnetzwerk
(Lastleitung) abfallen wird. Das heißt, die gleiche oder höhere Versorgungsspannung kann
einem Chip durch eine geringere Spannung von dem VRM geliefert werden,
wenn es weniger Versorgungsstrom gibt, der von dem VRM benötigt wird, weil
er von einem geringeren Abfall gegenüber seiner Lastleitung herrührt. Dies
ist beispielsweise von Vorteil, weil geringere Spannungen typischerweise
zu geringerer Energie und erhöhter
Zuverlässigkeit
führen.
In einer beispielhaften Anwendung kann ein Prozessor mit mehreren
Kernen eine verringerte Versorgungsspannung von seinem VRM anfordern,
wenn er erkennt, dass einer oder mehrere seiner Kerne sich im Ruhezustand
befinden, weil weniger Strom von dem VRM bezogen werden wird.
-
1 zeigt
allgemein eine IC-Einrichtung 102, die mit einem VRM 104 gekoppelt
ist, um von diesem in Antwort auf eine angeforderte Regelspannung
VR eine Versorgungsspannung VC zu
empfangen. Der Wert der Regelspannung VR wird
von Spannungsauswahllogik (VSL) 108 bestimmt und dem VRM 104 durch
ein Steuersignal (VR CNTL) vermittelt. Der
IC 102 könnte
jede IC-Einrichtung sein, die beispielsweise ein System-on-a-Chip
(SOC), einen Prozessor, ein ASIC, eine Netzwerkkomponente, einen
Controller oder ähnliches
implementiert. Er weist einen oder mehrere funktionelle Blöcke, wie
etwa Kerne oder ähnliches
auf, die aktiv oder im Ruhezustand sein können (z. B. einen aktiven Takt
aufweisen, wenn sie aktiv oder ausgeschaltet sind, oder einen wesentlich
verringerten Takt aufweisen, wenn sie sich im Ruhezustand befinden).
Die VSL 108 hat die Fähigkeit,
einen Betrag eines reduzierten Lastleitungsabfalls und/oder eine
Versorgungsspannungsreduzierung (die einem Lastleitungsabfall entspricht) darauf
basierend, wieviele und/oder welche funktionellen Blöcke sich
im Ruhezustand befinden, zu bestimmen. (Es ist zu beachten, dass
die Begriffe „bestimmen” oder „bestimmend”, so wie
sie hierin benutzt werden, sich auf das Erhalten eines Ergebnisses
durch Messung, Schätzung,
Berechnung, Ableitung, Identifizierung und ähnliches beziehen und in seinem
weitesten Sinne benutzt werden sollen.) In vielen Anwendungen können, in
Abhängigkeit
von der gewünschten
Betriebsleistung, Spezifikationen erfordern, dass die Versorgungsspannung
VC auf oder oberhalb einer minimalen Pegels
liegt. Jedoch ist die Versorgungsspannung (VC),
die tatsächlich von
dem IC empfangen wird, wegen des Spannungsabfalls über das
Stromversorgungsnetzwerk, modelliert als Lastlinienwiderstand RLL, kleiner als die Regelspannung (VR). Der Lastleitungsspannungsabfall wird
betragen: RLL × IC.
Daher beträgt
VC: VR – (IC × RLL). Dies sollte daher betrachtet werden,
um eine akzeptable Versorgungsspannung VC an
dem IC zu erhalten.
-
Um
die VC-Anforderung zu erfüllen, wählen herkömmliche
Ansätze
zum Beispiel einen Regelspannungs(VR)-Wert
so, dass VC nicht unterhalb des spezifizierten
Wertes sinkt, auch wenn alle funktionellen Blöcke aktiv sind. Das heißt, ein
ungünstigerer Versorgungsstrom
(IC) wird angenommen (alle Blöcke sind
aktiv), und eine VR wird angefordert, um
eine VC zu liefern, die diese Bedingung
erfüllt.
Mit anderen bekannten Ansätzen
könnte
ein VSL die angeforderte VR um einen festen, „sicheren” Betrag
in Antwort darauf, dass funktionale Blöcke sich im Ruhezustand befinden,
absenken, ohne auf den gegenwärtigen Leistungszustand
zu achten. Jedoch berücksichtigt dies
nicht, wie sehr die Versorgung tatsächlich im Hinblick auf die
bestimmte Reduzierung in dem Abfall über die Lastleitung bei bestimmten
Betriebsbedingungen reduziert werden kann. Dementsprechend wird
bei einigen Ausführungsformen,
die hierin offenbart sind, die Reduzierung beim Lastleitungsabfall anhand
der Menge und/oder Qualität
von im Ruhezustand befindlichen Blöcken bestimmt (berechnet, abgeschätzt, gemessen,
abgeleitet und/oder identifiziert), um die angeforderte VR optimaler zu reduzieren und gleichzeitig
Versorgungsspannungsanforderungen zu erfüllen.
-
2 zeigt
allgemein eine Routine 200, die von VSL 108 ausgeführt werden
kann, um reduzierte Regelspannungen VR dynamisch
auszuwählen.
Bei 202 bestimmt sie eine empfangene Versorgungsspannungsspezifikation.
Bei 204 bestimmt sie einen oder mehrere im Ruhezustand
befindliche IC-Blöcke. Bei 206 bestimmt
sie einen angeforderten Versorgungsspannungswert anhand des spezifizierten empfangenen
Wertes und einer Reduzierung des Lastleitungsabfalls aufgrund des
einen oder der mehreren im Ruhezustand befindlichen identifizierten Blocks/Blöcke. Wie
weiter unten im Kontext eines beispielhaften Mehrkernprozessor-ICs
diskutiert wird, kann der reduzierte Betrag auf jede passende Weise
bestimmt werden. Zum Beispiel kann ein ΔVR-Wert
dadurch erhalten werden, dass er von einer Speicherstruktur anhand
von Betriebsbedingungen und Nummer/Typ von im Ruhezustand befindlichen
Blöcken
eingeholt wird. Alternativ könnte
er durch Interpolation von Grenzwerten (z. B. solchen, die in den
IC eingeschmolzen sind), wie etwa ΔVR-Werten
oder ΔIC-Werten anhand von Betriebsbedingungen und
Nummer/Typ von im Ruhezustand befindlichen Blöcken abgeleitet werden. Zum
Beispiel könnte
ein ΔVR als ΔV
anhand einer Abschätzung
von ΔIC (im Hinblick auf die im Ruhezustand befindlichen
Blöcke)
und eines bekannten Wertes für RLL berechnet werden. Verschiedene andere
Ansätze können verwendet
werden und liegen innerhalb des Schutzbereiches der Erfindung.
-
3 ist
ein Blockdiagramm eines Mehrkernprozessors 302 gemäß einiger
Ausführungsformen
mit einer VSL zum Anfordern einer reduzierten VR anhand
eines oder mehrerer seiner im Ruhezustand befindlichen Kerne. Prozessor 302 weist
N Kerne 306 (Kern 0 bis Kern N-1) und eine VSL 308 auf, um
eine Versorgungsspannung VR, die von einem VRM 104 angefordert
werden soll, zu bestimmen. In diesem Beispiel sind die n Kerne auf
der gleichen Energieebene, weisen jedoch unabhängige Taktverteilungen auf.
Ferner wird angenommen, dass die Kerne als gegenseitige Kopien vorliegen
und ähnliche Energiecharakteristiken
aufweisen.
-
Prozessor 302 kann
in verschiedenen Leistungszuständen
arbeiten, wie durch Anwendungen, die verarbeitet werden, bestimmt
wird. Der Begriff „Leistungszustand” bezieht
sich im allgemeinen auf eine Betriebsebenen-Spezifikation für einen
Prozessor oder Kerne innerhalb eines Prozessors. Zum Beispiel definiert
eine allgemeine Leistungszustandspezifikation, die Advanced/Configuration
and Power Interface(ACPI)-Spezifikation, verschiedene P- Zustände, um
Betriebskernspannung und -frequenz für die verschiedenen Leistungszustände innerhalb
der Spezifikation zu diktieren. Mit dieser Spezifikation ist P0
der höchste
Leistungszustand, während
Pn der niedrigste Leistungszustand ist.
-
Mit
solchen Plattformen baut das zugrundeliegende Eingabe-/Ausgabe-System
(basic input/output system (BIOS)) der Rechenplattform beim Starten
eine P-Zustandsdatenstruktur auf, um anhand von Daten, die von dem
Prozessor erhalten wurden (zum Beispiel von programmierten, z. B.
abgesicherten (fused) Grenzwerten), P-Zustandsinformation an den
Prozessor zu liefern. Für
jeden Leistungszustand liefert die Datenstruktur die spezifizierte
Betriebsversorgungsspannung und -frequenz. In einigen Ausführungsformen
können
für den
Prozess jedes Kerns verschiedene p-Zustände angefordert werden (z.
B. von verschiedenen Betriebssystemthreads), jedoch wird die Steuerlogik
den aktivsten Zustand auswählen
und ihn auf jeden Kern anwenden. Gleichzeitig bedeutet dies jedoch
nicht notwendigerweise, dass jeder Kern bei den spezifizierten p-Zustandsparametern
laufen wird. Es kann auch sogenannte zugrundeliegende C-Zustände geben,
die separat auf die verschiedenen Kerne angewendet werden können. Während also
ein relativ aktiver p-Zustand (z. B. P0 oder P1) dem gesamten Prozessor 302 zugeordnet werden
kann, wie von ihren C-Zuständen
vorgesehen, können
sich einige Kerne tatsächlich
im Ruhezustand befinden (z. B. indem sie abgeschaltet sind oder
im wesentlichen reduzierte Takte aufweisen).
-
Der
Chipversorgungsstrom (IC) hat eine dynamische
Komponente (ICDy) und eine statische Komponente
(ICS), so dass: IC =
ICDy + ICS. Die
dynamische Komponente (ICDy) stellt den
Schaltstrom dar, während
die statische Komponente (ICS) den Verluststrom darstellt.
Ein Kern verbraucht typischerweise statischen (Verlust-)Strom, egal
ob der Kern aktiv ist oder sich im Ruhezustand befindet oder nicht,
jedoch hängt
sein dynamischer Strom von seinem Takt ab. Falls der Takt eines
Kerns abgeschaltet oder wesentlich reduziert ist, kann begründetermassen
angenommen werden, dass: ICDy = 0. In einigen
Ausführungsformen
kann außerdem
begründetermassen angenommen
werden, dass die Kerne 306 die gleichen (oder hinreichend ähnlichen)
Energiecharakteristiken aufweisen, d. h. dynamischen Stromverbrauch
für einen
gegebenen Leistungszustand. Diese Tatsache kann verwendet werden,
um anhand der Zahl der Kerne, die sich im Ruhezustand befinden,
zu bestimmen, wie stark die dynamische Komponente (ICDy)
des Gesamtversorgungsstroms (IC) für einen gegebenen
P-Zustand abfällt.
-
Für einen
gegebenen P-Zustand kann ein dynamischer Stromwert je Kern (ICDyi) mit der Anzahl im Ruhezustand befindlicher
Kerne multipliziert werden, um die Gesamtreduzierung des dynamischen Stroms
(ΔICDy) und damit die Gesamtreduzierung des Versorgungsstroms
(IC) zu erhalten. (Die Reduzierung ist relativ
zu einem vorher angenommenen Wert, der verwendet wird, um den VR-Wert zu definieren, der die VC-Anforderung
erfüllt.)
Hiervon ausgehend beträgt
der Betrag ΔV,
um den die angeforderte VR abgesenkt werden kann: ΔICDy × RLL. Diese ΔVR kann von einer höheren VR reduziert
werden, die anderenfalls verwendet werden würde, um die spezifizierten
Anforderungen zu erfüllen.
-
(In
beispielhaften Ausführungsformen,
die hierin diskutiert werden, wird im allgemeinen angenommen, dass
jeder Kern für
einen gegebenen Leistungszustand die gleiche Menge dynamischen Stroms
verbraucht, wenn dieser Leistungszustand aktiv ist. Dies erlaubt
es, die Gesamtstromreduzierung durch Multiplizieren der Anzahl im
Ruhezustand befindlicher Kerne mit einem Stromwert je Kern für einen
gegebenen P-Zustand (Leistungszustand) abzuschätzen. Es sollte jedoch eingesehen
werden, dass diese Annahme nicht notwendig ist. Zum Beispiel könnten für verschiedene
Typen oder Klassen von Kernen oder für jeden Kern separate Stromwerte
je Kern verwendet werden, und die separaten Ströme könnten summiert werden, um zu
einer Gesamtversorgungsstromreduzierung zu gelangen.)
-
4 zeigt
eine Routine 400 zum Auswählen einer angeforderten Spannung
VR von VRM 104. Routine 400 kann
durch die VSL 308 ausgeführt werden. Bei 402 bestimmt
sie eine vordefinierte VR anhand eines spezifizierten
Leistungszustands. Zum Beispiel könnte sie diesen Wert von einer
P-Zustandsdatenstruktur entweder innerhalb des Prozessors 302 oder
außerhalb
des Chips, z. B. im Speicher, der für das BIOS oder das Betriebssystem
verwendet wird, erhalten. Er könnte
sogar in den Prozessorchip selbst programmiert (z. B. eingearbeitet (fused))
werden. Bei 404 wird die Anzahl im Ruhezustand befindlicher
Kerne 306 bestimmt.
-
(Man
beachte, dass Routineaktionen 402 und 404, ebenso
wie alle Routineaktionen, die hierin beschrieben sind, in jeder
Reihenfolge durchgeführt werden
können,
außer
wenn ausdrücklich
etwas Gegenteiliges angegeben ist oder auf andere Weise durch die
Eigenart der Aktionen erzwungen wird.)
-
Bei 406 wird
eine Reduzierung ΔVR in dem Abfall über dem Lastleitungswiderstand
bestimmt. Dies kann auf vielfältige
unterschiedliche Weise abhängig
von einer Prozessorkonfiguration und bestimmten Entwurfsbedingungen
geschehen. Hierzu wird weiter unten weiteres diskutiert werden.
Bei 408 wird eine VR anhand der bestimmten ΔVR an den VRM geliefert.
-
5 zeigt
gemäß einigen
Ausführungsformen
eine Routine 406 zum Bestimmen von ΔVR anhand
einer Anzahl im Ruhezustand befindlicher Kerne, i. Bei 502 bestimmt
sie die gesamte dynamische Kapazität für den Chip (CDyn),
Frequenz F und Versorgungsspannung VC für den anwendbaren
Leistungszustand. Bei 504 bestimmt sie die Menge des reduzierten
Versorgungsstroms (ΔIC) unter Verwendung der Formel: ΔIC = (CDyn·F·VC)(i/N), wobei i die Anzahl im Ruhezustand
befindlicher Kerne darstellt und N die Gesamtanzahl von Kernen angibt.
F und VC werden typischerweise in der Leistungszustandsspezifikation
definiert, und CDyn (für den Prozessorchip) kann durch
den Chiphersteller angegeben werden oder durch Parameterbestimmung
bestimmt werden. Er kann während
der Herstellung in den Chip programmiert werden oder von einer externen
Speicherquelle verfügbar
gemacht werden.
-
An 506 wird
ein Wert für ΔVR durch Multiplizieren des bestimmten ΔIC mit RLL bestimmt.
Wie bei den anderen Parametern könnte
auch RLL in den Chip programmiert (gebrannt,
als Maschinencode geladen) werden, oder er könnte ihm von einer externen
Speicherquelle verfügbar
gemacht werden.
-
Es
ist einzusehen, dass ΔVR auf verschiedene andere Weise bestimmt
werden könnte
und nicht auf die Routine der 5 beschränkt ist.
Zum Beispiel könnte
ein geeigneter ΔVR- Wert
anhand des P-Zustands und der Anzahl im Ruhezustand befindlicher
Kerne eingeholt (nachgeschlagen) werden. Dies könnte eine relativ große Menge
an Speicher verbrauchen, könnte
jedoch, abhängig
von Entwurfsbedingungen und davon, wie es implementiert ist, durchführbar sein.
Zum Beispiel könnten
maximale und minimale ΔVR-Werte in einen Prozessorchip gebrannt oder
geschmolzen werden, und eine Datenstruktur, die die unterschiedlichen
Werte enthält, könnte erzeugt
und im Speicher gespeichert werden, ähnlich wie das BIOS in einigen
Ausführungsformen P-Zustandsdaten
erzeugt. Alternativ könnten,
um größere Flexibilität zu erreichen, ΔIC-Werte (anstatt ΔVR-Werten)
in eine Tabelle programmiert oder für diese erzeugt werden, um
anhand bestimmter Betriebsparameter (z. B. P-Zustand) und der Anzahl
im Ruhezustand befindlicher Kerne eingeholt werden. Auf diese Weise
könnte
ein ΔVR-Wert für
jeden VRM und jedes Energieliefernetzwerk bestimmt werden. Der Wert
für RLL könnte
für eine
gegebene Implementation sodann von einer Quelle z. B. beim Starten
an die VSL 308 geliefert werden. Zum Beispiel könnte es in
einem BIOS-Register
gespeichert werden oder sogar in der Fabrik für eine bestimmte Energienetzwerklieferkonfiguration
in Firmware gebrannt werden. Wie einzusehen ist, können zahlreiche
andere Verfahren implementiert werden und liegen soll innerhalb
des Schutzbereiches der Ansprüche.
-
6 ist
ein Blockdiagramm für
eine Spannungsauswahllogik (VSL) 308 gemäß einigen
Ausführungsformen.
Es umfasst im allgemeinen Parameterregister 602 für die verschiedenen
Kerne (Kern 0 bis Kern n-1), P-Zustandsauflösungslogik (resolve logic) 604,
Addierlogik 606, Multiplexer 608, Multiplizierlogik 610,
V/F-Befehlsregister 612 und Substrationslogik 614,
sämtlich
wie gezeigt zusammengekoppelt. (Man beachte, dass bei dieser Ausführungsform Spannungsreduzierungslogik
in hergebrachte Spannungs-/Frequenzlogik eingegliedert wird, wobei
die VR-Ausgabe von dem V/F-Befehlsregister 612 angezapft
wird, um die reduzierte VR(VR – ΔVR)-Anforderung bereitzustellen. Dies wird
jedoch nicht benötigt. Zahlreiche
unterschiedliche Wege zum Modifizieren eines bestehenden Entwurfes
oder Erzeugen einer neuen und/oder separaten VSL können verwendet werden.
Im Sinne dieser Zeilen können
die VSL-Blöcke
mit jeder Kombination von Schaltkreiselementen, Logik und/oder Maschinencode
implementiert werden, je nachdem wie dies für einen bestimmten Entwurf
gewünscht
wird.)
-
Die
Parameterregister 602 empfangen jeweils einen P-Zustandsbezeichner
für dessen
assoziierten Kern, gemeinsam mit einem ΔVRi-Wert
(je im Ruhezustand befindlichem Kern) für den angeforderten P-Zustand.
Die Parameterregister 602 liefern ihre P-Zustände an die
P-Zustandsauflösungslogik 604, die
die P-Zustandsanforderungen für
die Kerne verarbeitet und einen P-Zustand zum Anwenden auf alle Kerne
auswählt.
Zum Beispiel wählt
sie in einigen Ausführungsformen
den aktivsten angeforderten P-Zustand der angeforderten P-Zustände. Darüber hinaus
liefern die Parameterregister 602 an Addierlogik 606 einen
digitalen Wert, der angibt, ob ihr assoziierter Kern sich im Ruhezustand
befindet oder nicht. Die Addierlogik 606 kombiniert (addiert)
diese Werte, um für
die Multiplizierlogik 610 ein Ergebnis zu produzieren,
das anzeigt, wie viele Kerne sich im Ruhezustand befinden. Schließlich liefern
die Parameterregister 602 an Multiplexer 608 ΔVRi-Informationen für ihre angeforderten P-Zustände. Das
ausgewählte P-Zustandssignal
von P-Zustandsauflösungslogik 604 wählt den
Spannungsreduzierungsfaktor (ΔVRi) aus, der mit dem gewählten P-Zustand assoziiert wird.
Dieser Wert wird dem Multiplizierer 610 geliefert und mit
der Anzahl im Ruhezustand befindlicher Kerne multipliziert, um einen
Nettospannungsreduzierungswert (ΔVR) zu erhalten. Dieses Produkt wird anschließend von
dem VR-Wert subtrahiert, der von dem V/F-Befehlsregister 612 geliefert
wird, und dem VRM 104 bereitgestellt. Zum Beispiel kann
er einem oder mehreren Spannungsauswahlpins oder einem außerhalb
des Chips befindlichen Interface, das an den VRM kommuniziert werden
soll, geliefert werden.
-
7 ist
ein Blockdiagramm eines Computersystems 700, das gemäß einigen
Ausführungsformen
der Erfindung Spannungsauswahllogik (VSL) 708 aufweist,
um eine dynamisch reduzierbare VR-Anforderung
an den VRM zu liefern, wenn der Versorgungsstrom abnimmt. Das Computersystem 700 kann
ein Personalcomputersystem oder Unternehmenscomputersystem, wie
beispielsweise ein Laptop-, Notebook- oder Desktop-Computersystem, sein.
Das Computersystem 700 kann einen oder mehrere Prozessoren 702 aufweisen,
die Unterblöcke,
wie etwa einen oder mehrere Kerne, ohne sich darauf zu beschränken, wie
durch Kerne 704 (Kern 1 bis Kern N) gezeigt ist, und Energieverwaltungslogik (Power
Management Logic (PML)) 706 aufweisen können, die VSL 708 aufweisen
kann, die in einigen Ausführungsformen
als ein Modul implementiert sein kann, das äquivalente Logik aufweist,
wie ein Fachmann der einschlägigen
Technik anhand wenigstens der hierin beschriebenen Lehren einsehen
wird.
-
Der
eine oder die mehreren Prozessor(en) 702 kann/können ein
Intel®-Architektur-Mikroprozessor sein.
In anderen Ausführungsformen
kann der/können
die Prozessor(en) einen anderen Prozessortyp aufweisen, wie zum
Beispiel einen Grafikprozessor, einen digitalen Signalprozessor,
einen eingebetteten Prozessor etc. und/oder können eine andere Architektur
implementieren.
-
Der
eine oder die mehreren Prozessor(en) 702 kann/können mit
einer oder mehreren Taktquellen 709 betrieben werden und
mit Energie von einem oder mehreren Spannungsregelmodulen (VRMs) 104 versorgt
werden. Der eine oder die mehreren Prozessor(en) 702 kann/können außerdem mit
anderen Speicherebenen kommunizieren, wie etwa Speicher 712.
Auf höhere
Speicherhierarchieebenen, wie etwa Systemspeicher (RAM) 718a und
Speicher 718b, wie etwa Massenspeichereinrichtungen, die
innerhalb des Systems befindlich oder von dem System aus zugänglich sind,
kann über
Rechnerbus 714 und Chipsatz 716 zugegriffen werden.
-
Zusätzlich können andere
funktionelle Einheiten, wie etwa ein Grafikinterface 720 und
ein Netzwerkinterface 722, um nur wenige zu nennen, mit
einem oder mehreren Prozessor(en) 702 über geeignete Busse oder Ports
kommunizieren. Andere Einrichtungen, wie etwa eine Antenne (nicht
gezeigt), könnten
mit dem Netzwerkinterface gekoppelt werden, um den einen oder die
mehreren Prozessor(en) an ein drahtloses Netzwerk anzuschließen.
-
Ferner
würde ein
Fachmann erkennen, dass einige oder alle gezeigten Komponenten unter
Verwendung eines anderen Partitionierungs- und/oder -intergrationsansatzes
als Abweichung von dem, was in 7 gezeigt
wurde, implementiert werden können,
ohne den Geist oder den Schutzbereich der beschriebenen Ausführungsform
zu verlassen.
-
In
einigen Ausführungsformen
der Erfindung kann der Speicher 718b Software, wie etwa
zum Beispiel ein Betriebssystem 724, speichern. In einer Ausführungsform
ist das Betriebssystem ein Windows®-Betriebssystem,
erhältlich
von dem Unternehmen Microsoft aus Redmond, Washington, das Merkmale
und Funktionalität
gemäß dem Advanced
Konfiguration and Power Interface(ACPI)-Standard aufweist, und/oder
das Operating System directed Power Management (OSPM) bereitstellt.
In einigen Ausführungsformen
kann das Betriebssystem ein anderer Typ von Betriebssystem sein,
wie etwa beispielsweise ein Linux-Betriebssystem.
-
Während das
System 700 ein Personal-Rechensystem sein kann, liegen
auch andere Typen von Systemen wie etwa zum Beispiel andere Typen von
Computer (z. B. Kleingeräte
(Handhelds), Server, Tablets, Web-Einrichtungen, Router, etc.),
drahtlose Kommunikationseinrichtungen (z. B. Handys, kabellose Telefone,
Pager, Personal-Digital-Assistants,
etc.), computerbezogene Peripheriegeräte (z. B. Drucker, Scanner,
Monitore etc.), Unterhaltungseinrichtungen (z. B. Fernsehgeräte, Radios,
Stereoanlagen, Band- und Kompaktdisc-Abspielgeräte, Videokassettenrecorder,
Camcorder, digitale Kameras, MP3(Motion-Picture-Experts-Group, Audio
Layer 3)-Abspielgeräte,
Videospiele, Armbanduhren etc.) und Ähnliches ebenfalls innerhalb
des Schutzbereiches verschiedener Ausführungsformen. Die Speicherschaltkreise,
die durch die verschiedenen vorhergehenden Figuren darstellt sind,
können
ebenfalls jeden Typs sein und können
in jedem der oben beschriebenen Systeme implementiert sein.
-
Die
VSL 708 kann gemeinsam mit anderen Merkmalen und Funktionen
des Prozessors/der Prozessoren 701, wie etwa dem Energieverwaltungsmodul 706,
betrieben werden. Insbesondere kann das Energieverwaltungsmodul
einer Ausführungsform die
Energieverwaltung des oder der Prozessor(en) 701 und/oder
des oder der einzelnen Kerne 704 einschließlich Übergängen zwischen
verschiedenen Energiezuständen
steuern. Wenn das Betriebssystem 724 zum Beispiel ACPI
unterstützt,
kann die VSL 708 die c-Zustände des oder der verschiedenen
Kerne und/oder der P-Zustände
steuern und verfolgen. Die Energieverwaltungslogik 706 kann
außerdem
andere Information, die beim Verwalten der dynamischen angeforderten
VRM-Spannung einer oder mehrerer Ausführungsformen zugreifen, oder
diese speichern, wie zum Beispiel die Größe aktiven Speichers und/oder
eines oder mehrerer Kerne, eine minimale Cache-Speichergröße, Zeitgeberinformation und/oder
andere Informationen, die in Registern oder anderen Dateneinrichtungen
gespeichert sind.
-
Ferner
kann die VSL 708 in einigen Ausführungsformen der Erfindung,
wie Fachleute auf den relevanten Gebieten einsehen würden, zusätzliche Zwischenzustände verwenden,
ebenso wie größere und/oder
kleinere Zustände.
-
Während oben
viele Angaben der einen oder mehreren Ausführungsform(en) beschrieben
wurden, versteht sich, dass in anderen Ausführungsformen andere Ansätze zum
dynamischen Reduzieren angeforderter Versorgungsspannung implementiert werden
können.
Zum Beispiel können
in anderen Ausführungsformen,
obwohl oben spezielle Energiezustände erwähnt werden, andere Energiezustände und/oder
andere Faktoren zum Bestimmen, dass eine effektive angeforderte
Versorgungsspannung erhöht
oder verringert werden soll, in Betracht gezogen werden.
-
Ferner
versteht es sich, dass, während
eine dynamische Versorgung anhand im Ruhezustand befindlicher Kerne
für Chips
mit einer einzelnen zur Verfügung
gestellten Spannung (z. B. von einem VRM) zu beispielhaften Zwecken
diskutiert wurde, ein Ansatz mit angeforderter Versorgungsspannung
gemäß einer
oder mehreren Ausführungsformen
auf andere Typen der Energielieferung und/oder einen integrierten
Rechnerschaltkreischip und/oder ein System angewendet werden kann.
-
Zum
Beispiel könnte
ein Prozessor mit mehreren Kernen in mehreren Versorgungsdomänen, wie etwa
in 8 gezeigt, Versorgungsreduzierung, wie hierin
lehrt, einsetzen. Prozessor 802 umfasst N verschiedene
Versorgungsdomänen 804i , von denen jede mit einem assoziierten
VRM 104i gekoppelt ist, um seine
Domäne
mit einer separat steuerbaren Versorgung VC in
Antwort auf eine angeforderte VR bereitzustellen.
Jede Domäne
umfasst einen oder mehrere Kerne 806i und
eine VSL 808i , um eine Versorgung
VRi anhand einer Anzahl im Ruhezustand befindlicher
Kerne innerhalb ihrer Domäne
anzufordern.
-
Jede
Bezugnahme in dieser Spezifikation auf „eine (1) Ausführungsform”, „eine Ausführungsform”, „Beispielausführungsform”, etc.
bedeutet, dass ein bestimmtes Merkmal, eine Struktur oder ein Charakteristikum,
das/die in Verbindung mit der Ausführungsform beschrieben ist,
in wenigstens einer Ausführungsform
der Erfindung enthalten ist. Die Vorkommen solcher Phrasen an verschiedenen
Orten in der Spezifikation beziehen sich nicht notwendigerweise
alle auf die gleiche Ausführungsform.
Ferner wird angemerkt, dass sobald ein bestimmtes Merkmal, eine
Struktur oder ein Charakteristikum in Verbindung mit irgendeiner
Ausführungsform
beschrieben ist, es innerhalb der Reichweite eines Fachmanns liegt,
ein solches Merkmal, eine Struktur oder ein Charakteristikum in
Verbindung mit anderen Ausführungsformen
nachzuahmen. Alternative Ausführungsformen
der Erfindung weisen außerdem
maschinenzugängliche
Medien auf, die Befehle zum Durchführen der Operationen der Erfindung
enthalten. Auf solche Ausführungsformen
kann auch als Programmerzeugnisse Bezug genommen werden. Solche
maschinenzugänglichen
Medien können ohne
Einschränkung
Speichermedien, wie etwa Floppy Disks, Festplatten, CD-ROMs, ROM und RAM
und andere greifbare Anordnungen von Partikeln oder Molekülen, die
hergestellt oder ausgebildet sind oder auf andere Weise durch eine
Maschine oder Einrichtung erkennbar sind, umfassen. Befehle können außerdem in
einer verteilten Umgebung verwendet werden, und können lokal
und/oder entfernt zum Zugriff durch einzelne oder Mehrprozessormaschinen
gespeichert werden.
-
Ferner
wurden zum einfachen Verständnis gewisse
Verfahrensprozeduren als separate Prozeduren abgegrenzt; jedoch
sollten diese separat abgegrenzten Prozeduren nicht als in ihrer
Leistung notwendigerweise Reihenfolge abhängig in ihrer Leistung ausgelegt
werden. Das heißt,
einige Prozeduren können
in der Lage sein, in einer alternativen Reihenfolge oder gleichzeitig
ausgeführt
zu werden, wie ein Fachmann anhand wenigstens der hierin gegebenen Lehren
erkennen würde.
-
Ausführungsformen
der vorliegenden Erfindung können
in hinreichendem Detail beschrieben werden, um Fachleute auf dem
Gebiet in die Lage zu versetzen, die Erfindung auszuführen. Andere
Ausführungsformen
können
verwendet werden, und strukturelle, logische und intellektuelle Änderungen können vorgenommen
werden, ohne den Schutzbereich der vorliegenden Erfindung zu verlassen.
Darüber
hinaus sollte eingesehen werden, dass verschiedene Ausführungsformen
der Erfindung, wenn auch verschieden, sich nicht notwendigerweise
gegenseitig ausschließen.
Zum Beispiel kann ein bestimmtes Merkmal, eine Struktur oder ein
Charakteristikum, das in einer Ausführungsform beschrieben ist,
in anderen Ausführungsformen
enthalten sein. Dementsprechend sollte die ausführliche Beschreibung nicht einschränkend interpretiert
werden.
-
Die
vorangehenden Ausführungsformen
und Vorteile sind lediglich beispielhaft und sollen nicht als die
vorliegende Erfindung einschränkend
ausgelegt werden. Zum Beispiel kann die vorliegende Lehre ohne weiteres
auf andere Typen von Speicher angewendet werden. Fachleute auf dem
Gebiet können der
vorangehenden Beschreibung entnehmen, dass die Techniken der Ausführungsformen
der Erfindung in einer Vielzahl von Ausbildungen implementiert werden
können.
Daher sollte, während
die Ausführungsformen
dieser Erfindung in Verbindung mit bestimmten Beispielen derselben
beschrieben wurden, der wahre Schutzbereich der Ausführungsformen nicht
derart eingeschränkt
werden, da andere Modifikationen dem erfahrenen Praktiker nach dem
Studium der Zeichnungen, Spezifikationen und beigefügten Ansprüche ersichtlich
werden.
-
Zusammenfassung
-
Einige
Ausführungsformen
der Erfindung umfassen Systeme, Vorrichtungen und Verfahren zum
dynamischen Reduzieren angeforderter Versorgungsspannung anhand
im Ruhezustand befindlicher funktioneller Blöcke.