-
TECHNISCHES GEBIET
-
Die vorliegende Offenbarung bezieht sich im allgemeinen auf Prozessortechniken und insbesondere auf die Verwaltung des Stromverbrauchs von Prozessoren.
-
HINTERGRUND
-
Solange es hier nicht anders erwähnt ist, sind die erläuterten Ansätze in diesem Abschnitt nicht Stand der Technik für die Ansprüche dieser Anmeldung und sind durch Einschließen in diesen Abschnitt nicht als Stand der Technik anzusehen.
-
Die Verwaltung des Stromverbrauchs eines Prozessors kann durch Umschalten unterschiedlicher Betriebsparameter des Prozessors erreicht werden. Beispielhafte Betriebsparameter können, ohne darauf beschränkt zu sein, die Kernspannung des Prozessors und die Taktfrequenz des Prozessors umfassen. Ein Satz vorbestimmter Betriebsvorgaben kann verwendet werden, um einen Schlimmstfall-Betriebszustand für den Prozessor zu charakterisieren, bei dem sich sämtliche Betriebsvorgaben innerhalb einer beabsichtigten Festlegung befinden, dies jedoch mit den schlechtest möglichen Werten. Ein Beispiel einer vorbestimmten Betriebsvorgabe kann die Schlimmstfall-Grenzschichttemperatur beinhalten, bei der der Prozessor auf der Basis des Aufbaus des Prozessors ordnungsgemäß arbeiten kann. Sobald der Schlimmstfall-Betriebszustand für den Prozessor charakterisiert ist, können die Betriebsparameter für den Prozessor geändert werden, um den Stromverbrauch des Prozessors zu begrenzen.
-
ÜBERSICHT
-
Einige Ausführungsformen der vorliegenden Offenbarung können sich im allgemeinen auf Verfahren für die Verwaltung des Stromverbrauchs eines Prozessor beziehen. Ein beispielhaftes Verfahren kann das Festlegen einer Betriebszielvorgabe und eines ersten Betriebsparameters, das Bestimmen eines zweiten Betriebsparameters auf der Basis der Betriebszielvorgabe und des ersten Betriebsparameters und das Bewerten einer tatsächlichen Betriebsvorgabe umfassen. Das beispielhafte Verfahren kann zudem das Vergleichen der Betriebszielvorgabe mit der tatsächlichen Betriebsvorgabe und das Einstellen des ersten Betriebsparameters sowie des zweiten Betriebsparameters des Prozessors auf der Basis eines Vergleiches zwischen der Betriebszielvorgabe und der tatsächlichen Betriebsvorgabe umfassen, wobei die Betriebszielvorgabe keine Schlimmstfall-Betriebsvorgabe ist.
-
Zusätzliche Ausführungsformen der vorliegenden Offenbarung können sich im allgemeinen auf eine Berechnungsvorrichtung beziehen, die dazu eingerichtet ist, den Stromverbrauch eines Prozessors zu verwalten. Eine beispielhafte Berechnungsvorrichtung kann einen Speicher und eine Verarbeitungseinheit enthalten, die dazu eingerichtet ist, mit dem Speicher zusammenzuarbeiten. Die Verarbeitungseinheit kann dazu eingerichtet sein, eine Betriebszielvorgabe und einen ersten Betriebsparameter festzulegen, einen zweiten Betriebsparameter auf der Basis der Betriebszielvorgabe und des ersten Betriebsparameters zu bestimmen und eine tatsächliche Betriebsvorgabe zu bewerten. Die Verarbeitungseinheit kann zudem dazu eingerichtet sein, die Betriebszielvorgabe mit der tatsächliche Botriebsvorgabe zu vergleichen und den ersten Betriebsparameter des Prozessors sowie den zweiten Betriebsparameter auf der Basis eines Vergleiches der Betriebszielvorgabe mit der tatsächlichen Betriebsvorgabe einzustellen, wobei die Betriebszielvorgabe keine Schlimmstfall-Betriebsvorgabe ist.
-
Einige Ausführungsformen der vorliegenden Erfindung können sich im allgemeinen auf ein computerlesbares Medium beziehen, das eine Abfolge von Anweisungen enthält, um den Stromverbrauch eines Prozessors zu verwalten. Wird die Abfolge von Anweisungen von einer Berechnungsvorrichtung ausgeführt, kann die Berechnungsvorrichtung dazu eingerichtet sein, eine Betriebszielvorgabe und einen ersten Betriebsparameter festzulegen, einen zweiten Betriebsparameter auf der Basis der Betriebszielvorgabe und des ersten Betriebsparameters zu bestimmen und eine tatsächliche Betriebsvorgabe zu bewerten. Die Berechnungsvorrichtung kann zudem dazu eingerichtet sein, die Betriebszielvorgabe mit der tatsächlichen Betriebsvorgabe zu vergleichen und den ersten Betriebsparameter sowie den zweiten Betriebsparameter des Prozessors auf der Basis eines Vergleiches der Betriebszielvorgabe mit der tatsächlichen Betriebsvorgabe einzustellen, wobei die Betriebszielvorgabe keine Schlimmstfall-Betriebsvorgabe ist.
-
Die vorangegangene Übersicht dient lediglich der Veranschaulichung und soll in keiner Weise einschränkend sein. Zusätzlich zu den beispielhaften Aspekten, Ausführungsformen und Merkmalen, die oben beschrieben wurden, werden weitere Aspekte, Ausführungsformen und Merkmale durch Bezugnahme auf die Zeichnungen und die folgende detaillierte Beschreibung deutlich.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die vorangegangenen und andere Merkmale der vorliegenden Offenbarung werden aus der folgenden Beschreibung und den beigefügten Ansprüchen in Verbindung mit den beiliegenden Zeichnungen umfassender verständlich. Diese Zeichnungen zeigen lediglich einige Ausführungsformen gemäß der Offenbarung und sollten somit als den Geltungsbereich nicht einschränkend angesehen werden. Die Offenbarung wird spezieller und detaillierter mit Hilfe der beiliegenden Zeichnungen erläutert. Gleiche Bezugszeichen, die in unterschiedlichen Zeichnungen verwendet werden, können dieselbe Ausführungsform der vorliegenden Offenbarung kennzeichnen.
-
1 ist ein Punktediagramm, das einen Satz von Betriebspunkten eines Prozessors zeigt;
-
2 ist ein Punktediagramm, das einen weiteren Satz von Betriebspunkten eines Prozessors zeigt;
-
3 ist ein Flussdiagramm, das eine Verfahren zum Verwalten des Stromverbrauchs eines Prozessors zeigt;
-
4 ist ein Blockschaltbild, das ein Computerprogrammerzeugnis darstellt, das dazu eingerichtet ist, den Stromverbrauch eines Prozessors zu verwalten; und
-
5 ist ein beispielhaftes Blockschaltbild, das eine beispielhafte Berechnungsvorrichtung darstellt, die dazu eingerichtet ist, den Stromverbrauch eines Prozessors zu verwalten, allesamt eingerichtet in Übereinstimmung mit wenigstens einigen Ausführungsformen der vorliegenden Offenbarung.
-
DETAILLIERTE BESCHREIBUNG
-
In der folgenden detaillierten Beschreibung wird auf die beiliegenden Zeichnungen Bezug genommen, die Teil derselben sind. In den Zeichnungen kennzeichnen ähnliche Symbole normalerweise ähnliche Bestandteile, solange es der Zusammenhang nicht anderweitig vorgibt. Die beispielhaften Ausführungsformen, die in der detaillierten Beschreibung, den Zeichnungen und den Ansprüchen beschrieben sind, verstehen sich als nicht einschränkend. Es können andere Ausführungsformen verwendet werden und andere Veränderungen vorgenommen werden, ohne vom Gedanken oder Geltungsbereich des hier vorgestellten Gegenstandes abzuweichen. Es versteht sich ohne weiteres, dass die Aspekte der vorliegenden Offenbarung, wie sie hier allgemein beschrieben und in den Zeichnungen dargestellt sind, in großer Vielfalt unterschiedlicher Konfigurationen angeordnet, ersetzt, kombiniert und gestaltet sein können, die allesamt ausdrücklich in Erwägung gezogen werden und Teil dieser Offenbarung sind.
-
Diese Offenbarung bezieht sich unter anderem auf Verfahren, Systeme und Computerprogramme, die sich auf die Verwaltung des Stromverbrauchs eines Prozessors beziehen.
-
In dieser Offenbarung kann sich der Begriff ”Betriebspunkt” für einen Prozessor im allgemeinen auf einen Punkt beziehen, an dem der Prozessor zuverlässig betrieben werden kann, und der Begriff ”Betriebsprofil” kann sich im allgemeinen auf einen Satz dieser Betriebspunkte beziehen. Der Begriff ”Betriebsparameter” kann sich im allgemeinen auf einen Parameter beziehen, der verwendet wird, um einen Aspekt eines Betriebsprofils zu charakterisieren. Der Begriff ”Betriebszielvorgabe” kann sich im allgemeinen auf eine vorab definierte Betriebsvorgabe beziehen. Der Begriff ”tatsächliche Betriebsvorgabe” kann sich im allgemeinen auf eine gemessene/berechnete Betriebsvorgabe beziehen, mit der der Prozessor arbeitet. Der Begriff ”Schlimmstfall-Betriebsvorgabe” kann sich im allgemeinen auf eine vorab definierte Betriebsvorgabe beziehen, die verwendet wird, um einen Schlimmstfall-Betriebszustand eines Prozessors zu charakterisieren. Der Begriff ”Kernsspannung” kann sich im allgemeinen auf eine Spannung beziehen, die dem Prozessor von einer Stromversorgung zugeführt wird.
-
Ein Betriebsprofil kann auf der Basis eines Satzes von Betriebsparametern und einer Betriebszielvorgabe definiert werden. Die Betriebsparameter können, ohne darauf beschränkt zu sein, die Kernspannung des Prozessors, die Taktfrequenz des Prozessors, den Taktmultiplikator für den Prozessor, die Leistungsdrosselung für den Prozessor, den Ruhezustandszyklus für den Prozessor und dergleichen enthalten. Die Betriebszielvorgabe kann, ohne darauf beschränkt zu sein, eine Grenzschichtsolltemperatur des Prozessors, ein Sollgrundrauschen, einen Solltaktjitter und dergleichen beinhalten. Um den Stromverbrauch eines Prozessors zu verwalten, kann der Prozessor dazu eingerichtet sein, in unterschiedlichen Betriebsprofilen in Abhängigkeit seiner Arbeitsauslastung zu arbeiten.
-
Einige Techniken zum Definieren eines Betriebspunktes auf der Basis einer Schlimmstfall-Betriebsvorgabe sind nach dem Stand der Technik bekannt. Wenngleich diese Techniken bekannt sein können, erkennt die vorliegende Offenbarung, dass das Definieren eines Betriebspunktes von einer Betriebszielvorgabe abhängen kann, die keine Schlimmstfall-Betriebsvorgabe ist. Beispielhafte Techniken können eine Simulation beinhalten, die auf einem Modell basiert. Die Simulation kann beispielsweise das Festlegen einer Betriebszielvorgabe und eines ersten Betriebsparameters und das Variieren eines zweiten Betriebsparameters beinhalten, bis es mit dem Modell nicht mehr möglich ist, einen Betriebspunkt zu bestimmen.
-
Nachdem die Betriebsparameter bestimmt worden sind, kann der Prozessor anschließend dazu eingerichtet sein, zwischen unterschiedlichen Betriebsprofilen auf der Basis einer tatsächlichen Betriebsvorgabe umzuschalten. Bei einigen Ausführungen kann die tatsächliche Betriebsvorgabe eine tatsächliche Betriebsgrenzschichttemperatur des Prozessors sein.
-
1 ist ein Punktediagramm, das einen Satz von Betriebspunkten eines Prozessors darstellt, der gemäß wenigstens einiger Ausführungsformen der vorliegenden Offenbarung eingerichtet ist. Die Kurven A, B, C bzw. D sind vier unterschiedlichen Betriebszielvorgaben zugeordnet. Die Betriebszielvorgabe kann beispielsweise eine Grenzschichtsolltemperatur sein, wobei die Kurve A einer ersten Grenzschichtsolltemperatur (wie etwa 125°C) zugeordnet sein kann. In ähnlicher Weise können die Kurven B, C und D einer zweiten Grenzschichtsolltemperatur (wie etwa 115°C), einer dritten Grenzschichtsolltemperatur (z. B. 105°C) bzw. einer vierten Grenzschichtsolltemperatur (wie etwa 95°C) zugeordnet sein. Mit der ersten Grenzschichtsolltemperatur kann ein Satz von Betriebspunkten auf der Basis der ersten Grenzschichtsolltemperatur und ein Satz von Betriebsparametern bestimmt werden. Bei einigen Ausführungen können die Betriebsparameter, ohne darauf beschränkt zu sein, eine Kernspannung des Prozessors und eine Taktfrequenz des Prozessors umfassen. Jeder der Betriebspunkte (z. B. der Punkt 101 und der Punkt 111) auf der Kurve A kann durch die erste Grenzschichtsolltemperatur, die Kernspannung des Prozessors und die Taktfrequenz des Prozessors definiert werden, in ähnlicher Weise kann jeder der Betriebspunkte auf den anderen Kurven (z. B. der Punkt 103 auf der Kurve B, die Punkte 105 und 107 auf der Kurve C und der Punkt 109 auf der Kure D) durch eine Kernspannung des Prozessors, eine Taktfrequenz des Prozessors und die Grenzschichtsolltemperaturen des Prozessors definiert sein, die den Kurven zugeordnet sind.
-
Zur Veranschaulichung wird angenommen, dass der Prozessor an einem ersten Betriebspunkt 101 arbeitet. An dem ersten Betriebspunkt 101 kann der Prozessor dazu eingerichtet sein, bei einer ersten Kernspannung und einer ersten Taktfrequenz zu arbeiten. Wenn die tatsächliche Grenzschichttemperatur des Prozessors als deutlich geringer als die erste Grenzschichtsolltemperatur bestimmt (z. B. gemessen) ist, kann die Fortführung des Prozessorbetriebs mit den Betriebsprofilen, die durch Kure A definiert sind, zu einem unnötigen Stromverbrauch durch den Prozessor führen. Die tatsächliche Grenzschichttemperatur kann mit einem Temperatursensor gemessen oder auf der Basis einiger bekannter Betriebsparameter und Modelle berechnet werden.
-
Um den Stromverbrauch zu verwalten, kann die tatsächliche Grenzschichttemperatur ein Faktor sein, der bei der adaptiven Umschaltung des Prozessors von dem Betrieb in einem Betriebsprofil zu einem weiteren berücksichtigt wird. Befindet sich die tatsächliche Grenzschichttemperatur zwischen der ersten Grenzschichtsolltemperatur und der zweiten Grenzschichtsolltemperatur, kann bei einigen Ausführungen der Prozessor dazu eingerichtet sein, an einem der Betriebspunkte entsprechend Kure A zu arbeiten. Befinden sich die tatsächliche Grenzschichttemperatur zwischen der zweiten Grenzschichtsolltemperatur und der dritten Grenzschichtsolltemperatur, kann der Prozessor dazu eingerichtet sein, an einem der Betriebspunkte entsprechend Kurve A und Kurve B zu arbeiten.
-
Wenn der Prozessor von dem ersten Betriebspunkt 101 zu einem zweiten Betriebspunkt 103 umgeschaltet wird, kann bei einigen Ausführungen der Prozessor dazu eingerichtet sein, bei einer zweiten Kernspannung und einer zweiten Taktfrequenz zu arbeiten. Die erste Taktfrequenz kann höher sein als die zweite Taktfrequenz, und die erste Kernspannung kann höher sein als die zweite Kernspannung. Mit anderen Worten kann durch Umschalten von dem ersten Betriebspunkt 101 zu dem zweiten Betriebspunkt 103 die erste Taktfrequenz auf die zweite Taktfrequenz verringert werden. Sobald sich die Taktfrequenz stabilisiert hat, kann die erste Kernspannung anschließend auf die zweite Kernspannung verringert werden. Um andererseits von dem zweiten Betriebspunkt 103 zurück zu dem ersten Betriebspunkt 101 zu schalten, kann die zweite Kernspannung wieder auf die erste Kernspannung erhöht werden. Sobald sich die Kernspannung stabilisiert hat, kann die zweite Taktfrequenz wieder auf die erste Taktfrequenz erhöht werden.
-
Bei einigen Ausführungen können die Betriebsparameter und die Betriebszielvorgaben, die jeden Betriebspunkt charakterisieren, in einem Speicher benachbart dem Prozessor gespeichert werden. Aus Gründen der Effizienz kann die Anzahl der gespeicherten Betriebsparameter für die Betriebsumgebungen reduziert werden.
-
2 ist ein Punktediagramm 200, das einen weiteren Satz von Betriebspunkten eines Prozessors darstellt, der gemäß wenigstens einiger Ausführungsformen der vorliegenden Offenbarung eingerichtet ist. Im Gegensatz zu den vier Kurven, die in dem Punktediagramm 100 dargestellt sind, können die Punkte auf der Kurve von 2 mehreren Betriebszielvorgaben entsprechen. Beispielsweise sind dieselben Betriebspunkte 103, 105, 107, 109 und 111 aus 1, die den Betriebsumgebungen entsprechen, die unterschiedlichen Grenzschichtsolltemperaturen zugeordnet sind, auf der Kurve dargestellt, die in 2 gezeigt ist. Wenngleich weiterhin mehrere Betriebszielvorgaben abgedeckt werden, kann mit anderen Worten eine verminderte Anzahl von Betriebsparametern und Betriebspunkten gespeichert werden.
-
3 ist ein Flussdiagramm eines Verfahrens 300 zum Verwalten des Stromverbrauches eines Prozessors gemäß wenigstens einiger Ausführungsformen der vorliegenden Offenbarung. Das Verfahren 300 kann wenigstens einen Vorgang, wenigstens eine Funktion oder wenigstens eine Aktion umfassen, wie es mit den Blöcken 301, 303, 305, 307 und/oder 309 gezeigt ist. Die unterschiedlichen Blöcke sollen die beschriebenen Ausführungsformen nicht einschränken. Die Vorgänge, die beispielsweise in wenigstens einem Block gekennzeichnet sind, können in zusätzliche Blöcke unterteilt werden, während bei anderen Beispielen unterschiedliche Vorgänge miteinander kombiniert werden können. Bei einigen anderen Beispielen kann auf wenigstens einen Vorgang in den unterschiedlichen Blöcken verzichtet werden.
-
Die Verarbeitung für das Verfahren 300 kann bei Block 301 beginnen (Festlegen der Betriebszielvorgabe und eines ersten Betriebsparameters), wobei das Verfahren 300 dazu eingerichtete sein kann, eine Betriebszielvorgabe und einen ersten Betriebsparameter festzulegen. Die Verarbeitung kann von Block 301 zu Block 303 fortschreiten. In Block 303 (Bestimmen eines zweiten Betriebsparameters) kann ein zweiter Betriebsparameter auf der Basis der festgelegten Betriebszielvorgabe und des festgelegten ersten Betriebsparameters bestimmt werden. Die Verarbeitung kann von Block 303 zu Block 305 (Definieren des Betriebspunktes) fortschreiten, wobei der Vorgang 300 dazu eingerichtet sein kann, einen Betriebspunkt des Prozessors auf der Basis der festgelegten Betriebszielvorgabe, des festgelegten ersten Betriebsparameters und des bestimmten zweiten Betriebsparameters zu definieren. Es wird von Block 305 zu Block 307 (Bewerten einer tatsächlichen Betriebsvorgabe) fortgefahren, bei dem eine tatsächliche Betriebsvorgabe durch eine Messung, eine Berechnung, eine Suchtabelle oder eine Kombination aus diesen bewertet werden kann. Die Verarbeitung kann von Block 307 zu Block 309 (Vergleichen der Betriebszielvorgabe mit der tatsächlichen Betriebsvorgabe) fortschreiten, bei dem die Betriebszielvorgabe und die tatsächliche Betriebsvorgabe miteinander verglichen werden. Es wird von Block 309 zu Block 311 (Einstellen von Betriebsparametern des Prozessors) fortgefahren, bei dem die Betriebsparameter des Prozessors auf der Basis des Vergleiches und des Betriebspunktes eingestellt werden.
-
Bei Block 301 können eine Betriebszielvorgabe und ein erster Betriebsparameter festgelegt werden. Die Betriebszielvorgabe kann möglicherweise nicht eine Schlimmstfall-Betriebsvorgabe sein. Eine Schlimmstfall-Betriebsvorgabe kann sich im allgemeinen auf eine vorbestimmte Betriebsvorgabe beziehen, die dazu verwendet wird, einen schlechtesten Betriebszustand eines Prozessors zu charakterisieren. Ein Schlimmstfall-Betriebszustand eines Prozessors kann sich auf einen Zustand beziehen, bei dem sämtliche Betriebsvorgaben innerhalb einer bestimmten Festlegung liegen, dies jedoch mit den schlechtest möglichen Werten. Ein Schlimmstfall-Betriebszustand kann beispielsweise durch die langsamste hinnehmbare Transistorgeschwindigkeit, die maximale Grenzschichttemperatur des Prozessors, die minimale tatsächliche Spannung, die an dem Prozessor anliegt, das maximale hinnehmbare Grundrauschen des Prozessors, den maximalen hinnehmbaren Taktjitter und dergleichen definiert sein. Bei einigen Ausführungen kann der erste Betriebsparameter die Kernspannung des Prozessors, die Taktfrequenz des Prozessors, der Taktmultiplikator des Prozessors, der Ruhezustandszyklus für den Prozessor, die Wiederholfrequenz des Taktimpulses, die Taktimpulsbreite, die Leistungsdrosselung für den Prozessor und dergleichen sein.
-
Bei Block 303 kann ein zweiter Betriebsparameter auf der Basis der Betriebszielvorgabe und des ersten Betriebparameters bestimmt werden, der in Block 301 festgelegt wurde. Bei einigen Ausführungen kann der zweite Betriebsparameter die Kernspannung des Prozessors, die Taktfrequenz des Prozessors, den Taktmultiplikator für den Prozessor, den Ruhezustandszyklus für den Prozessor, die Wiederholfrequenz des Taktimpulses, die Taktimpulsbreite, die Leistungsdrosselung für den Prozessor und dergleichen enthalten. In Block 305 können der erste Betriebsparameter, der zweite Betriebsparameter und die Betriebszielvorgabe verwendet werden, um einen Betriebspunkt zu definieren. Bei einigen Ausführungen werden die Blöcke 301, 303 und 305 wiederholt, um einen Satz von Betriebspunkten zu definieren.
-
Bei Block 307 wird eine tatsächliche Betriebsvorgabe durch Messung oder Berechnung bewertet. Die tatsächliche Betriebsvorgabe kann eine tatsächliche Grenzschichttemperatur eines Prozessors sein, bei der der Prozessor arbeitet. Bei Block 309 wird die tatsächliche Betriebsvorgabe mit der Betriebszielvorgabe verglichen. In Block 311 wählt das Verfahren 300 auf der Basis des Vergleiches ein geeignetes Betriebsprofil für den Prozessor. Wenn dies geeignet ist, kann der Prozessor, der in einem ersten Betriebsprofil arbeitet, zu einem Betrieb in einem zweiten Betriebsprofil umgeschaltet werden. Zur Veranschaulichung wird davon ausgegangen, dass einer der Betriebspunkte in dem ersten Betriebsprofil der Taktfrequenz 1 GHz, der Kernspannung 1 V, der gemessenen Grenzschichttemperatur von 40°C und der Umgebungstemperatur von 30°C entspricht. Der Prozessor kann bestimmen, dass die Taktfrequenz um 40% auf 1,4 GHz wegen der Bewältigung einer zu erwartenden ressourcenbeanspruchenden Aufgabe erhöht wird. In Erwiderung auf die erhöhte Taktfrequenz kann der Prozessor zudem bestimmen, dass die Kernspannung auf 1,1 V zu erhöhen ist. Bei einigen Ausführungen kann der Prozessor die Taktfrequenz durch einen Taktmultiplikator auf der Basis eines Taktsignals erhöhen, das von einem externen Taktgeber empfangen wird. Der Prozessor kann zudem die angelegte Kernspannung durch eine Stromsteuereinheit ändern, die eine externe Stromversorgung steuert. Der Unterschied zwischen der Umgebungstemperatur und der gemessenen Grenzschichttemperatur, die Kernsollspannung und die Taktsollfrequenz können dazu verwendet werden, eine Grenzschichtsolltemperatur um 47°C auf der Basis eines festgelegten Modells zu bewerten, das ein Betriebsprofil des Prozessor definiert. Sofern die Sollspannung, die Taktsollfrequenz und die Grenzschichtsolltemperatur mit einem Betriebspunkt in dem zweiten Betriebsprofil übereinstimmen, kann der Prozessor dazu eingerichtet sein, einen Befehl an eine Stromversorgung auszugeben, um die Betriebsspannung auf 1,1 V einzustellen. Wenn nicht, kann eine höhere Spannung erforderlich sein, um die Taktsollfrequenz von 1,4 GHz zu erreichen und beizubehalten.
-
4 ist ein Blockschaltbild, das ein Computerprogrammerzeugnis 400 zum Verwalten des Stromverbrauchs eines Prozessors gemäß wenigstens einiger Ausführungsformen der vorliegenden Offenbarung zeigt. Das Computerprogrammerzeugnis 400 kann wenigstens einen Satz ausführbarer Anweisungen 402 zum Ausführen des Verfahrens enthalten, das oben erläutert wurde und in 3 dargestellt ist. Das Computerprogrammerzeugnis 400 kann auf einem Signalträgermedium 404 oder einem anderen ähnlichen Kommunikationsmedium 406 gesendet werden. Das Computerprogrammerzeugnis 400 kann zudem auf einem computerlesbaren Medium 408 oder einem anderen ähnlichen beschreibbaren Medium 410 aufgezeichnet sein.
-
5 ist ein beispielhaftes Blockschaltbild, das eine beispielhafte Berechnungsvorrichtung darstellt, die dazu eingerichtet ist, den Stromverbrauch eines Prozessors gemäß wenigstens einiger Ausführungsformen der vorliegenden Offenbarung zu verwalten. 5 zeigt einen Computer 500, der einen Prozessor 510, einen Speicher 520 und wenigstens ein Laufwerk 530 enthält. Die Laufwerke und ihre zugehörigen Computerspeichermedien stellen einen Speicher für computerlesbare Anweisungen, Datenstrukturen, Programmmodule und andere Daten für den Computer 500 bereit. Die Laufwerke 530 können ein Betriebssystem 540, Applikationsprogramme 550, Programmmodule 560 und Datenbanken 570 enthalten.
-
Der Computer 500 kann zudem einen Temperatursensor 570 enthalten, der dazu eingerichtet ist, die tatsächliche Grenzschichttemperatur des Prozessors 510 zu erfassen. Der Computer 500 kann weiterhin einen Taktgenerator 581 enthalten, der ein Bezugstaktsignal 582 erzeugt. Das Bezugstaktsignal 582 kann zu einem Taktmultiplikator 580 gesendet werden. Der Taktmultiplikator 580 kann dazu eingerichtet sein, ein zweites Taktsignal 583 zu erzeugen, mit dem der Prozessor 510 zu betreiben ist. Der Taktmultiplikator 580 kann dazu eingerichtet sein, ein drittes Taktsignal 584 zu erzeugen. Der Prozessor 510, der Speicher 520 und die Laufwerke 530 können miteinander auf der Basis des dritten Taktsignals 584 kommunizieren. Darüber hinaus kann der Computer 500 eine Stromsteuereinheit 590 und eine Stromversorgung 591 enthalten. Die Stromversorgung 591 kann dazu eingerichtet sein, eine Systemspannung 592 für die Stromsteuereinheit 590 bereitzustellen. Die Stromsteuereinheit 590 kann dazu eingerichtet sein, die Systemspannung 592 zu regeln und einen Satz geregelter Spannungen 593 und 594 zu erzeugen, um dem Prozessor 510 bzw. anderen Komponenten (z. B. dem Speicher 520 und den Laufwerken 530) des Computers Strom zuzuführen. Bei einigen Ausführungen können der Taktmultiplikator 580 und die Stromsteuereinheit 590 physikalisch in dem Prozessor 510 angeordnet sein.
-
Bei einigen Ausführungen kann der Temperatursensor 570 dazu eingerichtet sein, fortwährend eine tatsächliche Grenzschichttemperatur des Prozessors 510 zu erfassen und ein Signal 571 einer erfassten Temperatur zu dem Prozessor 510 zu senden, so dass der Prozessor 510 eine tatsächliche Grenzschichttemperatur bestätigen kann, die von dem Temperatursensor 570 erfasst wird. Der Prozessor 501 bewirkt, dass die erfasste tatsächliche Grenzschichttemperatur in dem Speicher 530 gespeichert wird. Darüber hinaus setzt der Prozessor 510 ein Stromverbrauchsverwaltungs-Programmmodul 560 ein, das in dem Speicher 520 ausgeführt wird. Das Programm 560 führt Schritte aus, die, ohne darauf beschränkt zu sein, umfassen: Festlegen einer Betriebszielvorgabe und eines ersten Betriebsparameters; Bestimmen eines zweiten Betriebsparameters auf der Basis der Betriebszielvorgabe und des ersten Betriebsparameters; Bewerten einer tatsächlichen Betriebsvorgabe; Vergleichen der Betriebszielvorgabe mit der tatsächlichen Betriebsvorgabe; und Einstellen des ersten Betriebsparameters sowie des zweiten Betriebsparameters des Prozessors auf der Basis eines Vergleiches der Betriebszielvorgabe und der tatsächlichen Betriebsvorgabe, wobei die Betriebszielvorgabe keine Schlimmstfall-Betriebsvorgabe ist.
-
Die Berechnungsvorrichtung 500 kann als ein Teil eines tragbaren (oder mobilen) elektronischen Gerätes eines kleinen Formfaktors, wie etwa eines Mobiltelefons eines PDA (Personal Data Assistant), eines persönlichen Medienabspielgerätes, eines drahtlosen Internet-Betrachtungsgerätes, eines persönlichen Headset-Gerätes, eines anwendungsspezifischen Gerätes oder eines hybriden Gerätes ausgeführt sein, die eine beliebige der obigen Funktionen enthalten. Die Berechnungsvorrichtung 500 kann zudem als PC ausgeführt sein, der Konfigurationen sowohl eines Laptop-Computers als auch eines Nicht-Laptop-Computers umfasst.
-
Es bleibt noch eine geringfügige Unterscheidung zwischen Hardware- und Software-Ausführungen hinsichtlicht Aspekten von Systemen; die Verwendung von Hardware und Software ist im allgemeinen (jedoch nicht immer, da in bestimmten Zusammenhängen die Wahl zwischen Hardware und Software signifikant werden kann) eine Wahl der Bauweise, die für Kompromisse zwischen Kasten gegenüber Effizienz steht. Es gibt zahlreiche Vehikel, durch die Prozesse und/oder Systeme und/oder andere Techniken, die hier beschrieben sind, ausgeführt werden können (z. B. Hardware, Software, und/oder Firmware), wobei das bevorzugte Vehikel in dem Zusammenhang variiert, in dem die Prozesse und/oder Systeme und/oder Techniken eingesetzt werden. Wenn ein Anwender beispielsweise bestimmt, das Geschwindigkeit und Genauigkeit von größter Bedeutung sind, kann der Anwender eine Optimierung für ein Vehikel ausführen, das hauptsächlich Hardware und/oder Firmware betrifft; ist die Flexibilität von größter Bedeutung, kann der Anwender eine Optimierung für eine Ausführung durchführen, die hauptsächlich Software betrifft; oder der Anwender kann wiederum alternativ dazu eine Optimierung für eine bestimmte Kombination aus Hardware, Software und/oder Firmware durchführen.
-
Die vorangehende detaillierte Beschreibung hat unterschiedliche Ausführungsformen der Vorrichtungen und/oder Vorgänge anhand von Blockschaltbildern, Flussdiagrammen und/oder Beispielen erläutert. Soweit Blockdiagramme, Flussdiagramme und/oder Beispiele wenigstens eine Funktion und/oder wenigstens einen Vorgang enthalten, wird der Fachmann verstehen, dass jede Funktion und/oder jeder Vorgang innerhalb derartiger Blockdiagramme, Flussdiagramme oder Beispiele individuell und/oder zusammen durch einen großen Umfang von Hardware, Software, Firmware oder praktisch jede Kombination daraus ausgeführt werden kann. Bei einer Ausführungsform können zahlreiche Teile des Gegenstandes, der hier beschrieben ist, über anwendungsspezifische integrierte Schaltkreise (ASICs), FPGAs (Field Programmable Gate Arrays), digitale Signalprozessoren (DSPs) oder andere integrierte Formate ausgeführt werden. Der Fachmann wird jedoch erkennen, dass einige Aspekte der hier beschriebenen Ausführungsformen insgesamt oder als ganzes äquivalent in integrierten Schaltkreisen ausgeführt werden können, als wenigstens ein Computerprogramm, das auf wenigstens einem Computer läuft (z. B. wenigstens ein Programm, das auf wenigstens einem Computersystem läuft), als wenigstens ein Programm, das auf wenigstens einem Prozessor läuft (z. B. wenigstens ein Programm, das auf wenigstens einem Mikroprozessor läuft), als Firmware oder als praktisch jede Kombination daraus, und dass das Entwickeln der Schaltung und/oder das Schreiben des Codes für die Software und/oder Firmware angesichts dieser Beschreibung sehr stark im Bereich der Fähigkeiten eines Fachmanns liegt. Darüber hinaus wird der Fachmann verstehen, dass die Mechanismen des Gegenstandes, die hier beschrieben sind, als ein Programmerzeugnis in einer Vielfalt von Formen vertrieben werden können, und dass eine beispielhafte Ausführungsform des hier beschriebenen Gegenstandes unabhängig von dem speziellen Typ eines Signalträgermediums Anwendung findet, das verwendet wird, um den Vertrieb tatsächlich auszuführen. Beispiele eines Signalträgermediums umfassen, ohne darauf beschränkt zu sein, folgende: ein beschreibbares Medium, wie etwa eine Floppydiskette, ein Festplattenlaufwerk, eine Compact Disc (CD), eine DVD (Digital Video Disk), ein digitales Magnetband, einen Computerspeicher, etc.; sowie ein Sendemedium, wie etwa ein digitales und/oder ein analoges Kommunikationsmedium (z. B. ein Glasfaserkabel, einen Wellenleiter, eine drahtgebundene Kommunikationsverbindung und/oder einen drahtgebundenen Kommunikationskanal, eine drahtlose Kommunikationsverbindung und/oder einen drahtlosen Kommunikationskanal, etc.).
-
Der Fachmann wird verstehen, dass es innerhalb des Standes der Technik üblich ist, Vorrichtungen und/oder Vorgänge in der hier erfolgten Art und Weise zu erläutern und anschließend Ingenieurspraktiken anzuwenden, um derartige beschriebene Vorrichtungen und/oder Prozesse in Datenverarbeitungssysteme zu integrieren. Das heißt, wenigstens ein Teil der Vorrichtungen und/oder Prozesse, die hier beschrieben sind, können in Datenverarbeitungssysteme über einen vertretbaren Umfang von Versuchen integriert werden. Der Fachmann wird verstehen, dass ein typisches Datenverarbeitungssystem im allgemeinen wenigstens ein Systemeinheitsgehäuse, eine Videoanzeigevorrichtung, einen Speicher, wie etwa einen flüchtigen und einen nicht flüchtigen Speicher, Prozessoren, wie etwa Mikroprozessoren und digitale Signalprozessoren, Berechnungseinheiten, wie etwa Betriebssysteme, Treiber, grafische Benutzerschnittstellen, sowie Applikationsprogramme, wenigstens ein Interaktionsgerät, wie etwa ein Tastfeld oder einen Tastschirm, und/oder Steuersysteme enthält, die Rückmeldeschleifen und Steuermotoren (z. B. Rückmeldung für die Erfassung der Position und/oder der Geschwindigkeit; Steuermotoren zum Bewegen und/oder Einstellen von Komponenten und/oder Größen) beinhalten. Ein typisches Datenverarbeitungssystem kann ausgeführt werden, indem beliebige geeignete im Handel verfügbare Bauteile verwendet werden, wie etwa jene, die sich normalerweise in Systemen für Daten-Berechnung/-kommunikation und/oder Netzwerk-Berechnung/-kommunikation finden.
-
Der hier beschriebene Gegenstand weist bisweilen unterschiedliche Komponenten auf, die in unterschiedlichen anderen Komponenten enthalten oder mit diesen verbunden sind. Es versteht sich, das derartige dargestellte Architekturen lediglich beispielhaft sind, und dass tatsächlich zahlreiche andere Architekturen ausgeführt werden können, die dieselbe Funktionalität erzielen. Im konzeptionellen Sinn ist jede beliebige Anordnung von Komponenten zum Erreichen derselben Funktionalität derart wirkungsvoll ”zugeordnet”, dass die gewünschte Funktionalität erreicht wird. Somit können zwei beliebige Komponenten, die hier kombiniert sind, um eine spezielle Funktionalität zu erreichen, als zueinander ”zugeordnet” betrachtet werden, so dass die gewünschte Funktionalität erreicht wird, unabhängig von den Architekturen oder intermedialen Komponenten. In ähnlicher Weise können zwei beliebige derartig zugeordnete Komponenten ebenfalls als miteinander ”funktionsmäßig verbunden” oder ”funktionsmäßig gekoppelt” betrachtet werden, um die gewünschte Funktionalität zu erreichen, wobei zwei beliebige Komponenten, die in der Lage sind, einander derart zugeordnet zu werden, auch als miteinander ”funktionsmäßig koppelbar” angesehen werden können, um die gewünschte Funktonalität zu erreichen. Spezielle Beispiele von funktionsmäßig koppelbar beinhalten, ohne darauf beschränkt zu sein, physikalisch zueinander passende und/oder physikalisch interagierende Komponenten und/oder drahtlos interagierbare und/oder drahtlos interagierende Komponenten und/oder logisch interagierende und/oder logisch interagierbare Komponenten.
-
Im Bezug auf die Verwendung von Plural- und/oder Singularbegriffen, kann der Fachmann von Plural zu Singular und/oder von Singular zu Plural wechseln, wie es für den Zusammenhang und/oder die Anwendung geeignet ist. Auf die unterschiedlichen Singular-/Plural-Vertauschungen kann aus Gründen der Klarheit ausdrücklich hingewiesen werden.
-
Der Fachmann wird verstehen, dass im allgemeinen Begriffe, die hier und insbesondere in den beigefügten Ansprüchen (z. B. den Hauptteilen der beigefügten Ansprüche) verwendet werden, als ”offene” Begriffe zu verstehen sind (der Begriff ”enthaltend” sollte beispielsweise als ”enthaltend jedoch nicht beschränkt auf” verstanden werden, der Begriff ”hat” sollte als ”hat wenigstens” verstanden werden, der Begriff ”enthält” sollte als ”enthält, ist jedoch nicht darauf beschränkt” verstanden werden, etc.). Der Fachmann wird weiterhin verstehen, dass wenn eine Rezitation einer speziellen Zahl eines eingeführten Anspruches beabsichtigt ist, eine derartige Absicht in dem Anspruch explizit rezitiert ist und in Abwesenheit einer derartigen Rezitation eine derartige Absicht nicht vorhanden ist. Als Verständnishilfe können die folgenden beigefügten Ansprüche beispielsweise die Verwendung der einleitenden Phrase ”wenigstens ein” und ”ein oder mehrere” enthalten, um Anspruchsrezitierungen einzuführen. Wenn jedoch die Verwendung derartiger Phrasen nicht so ausgelegt werden sollte um zu implizieren, dass die Einführung einer Anspruchsrezitierung durch den unbestimmten Artikel ”ein” einen beliebigen speziellen Anspruch, der eine derartige Rezitierung eines eingeführten Anspruches enthält, auf Erfindungen beschränkt, die lediglich eine derartige Rezitierung enthalten, dann trifft, selbst wenn derselbe Anspruch die einleitenden Phrasen ”ein oder mehrere” oder ”wenigstens ein” und den unbestimmten Artikel ”ein” enthält (z. B. ”ein” sollte normalerweise als ”wenigstens ein” oder ”eine oder mehrere” verstanden werden), dies auch für die Verwendung bestimmter Artikel zu, die verwendet werden, um Anspruchsrezitierungen einzuführen. Selbst wenn darüber hinaus eine spezielle Zahl einer eingeführten Anspruchsrezitierung explizit rezitiert wird, wird der Fachmann erkennen, dass eine derartige Rezitierung normalerweise so verstanden werden sollte, dass sie wenigstens die rezitierte Zahl bedeutet (z. B. die reine Rezitation von ”zwei Rezitationen” ohne andere Modifikatoren beutet normalerweise wenigstens zwei Rezitationen, oder zwei oder mehr Rezitationen). In den Fällen, in denen ein Grundsatz analog zu ”wenigstens einen von A, B und C, etc.” verwendet wird, ist im allgemeinen eine derartige Konstruktion in dem Sinne beabsichtigt, dass ein Fachmann den Grundsatz (z. B. ”ein System, das wenigstens einen von A, B und C hat, würde ohne darauf beschränkt zu sein, Systeme enthalten, die A alleine, B alleine, C alleine, A und B zusammen, A und C zusammen, B und C zusammen und/oder A, B und C zusammen haben, etc.) verstehen würde. In den Fällen, in denen ein Grundsatz analog zu ”wenigstens einen von A, B oder C” verwendet wird, ist eine derartige Konstruktion in dem Sinne beabsichtigt, dass ein Fachmann den Grundsatz (z. B. ”ein System, das wenigstens einen von A, B oder C hat” würde ohne darauf beschränkt zu sein Systeme enthalten, die A alleine, B alleine, C alleine, A und B zusammen, A und C zusammen, B und C zusammen und/oder A, B und C zusammen haben, etc.) verstehen würde. Der Fachmann wird zudem verstehen, dass praktisch jedes beliebige trennende Wort und jede beliebige trennende Phrase, die wenigstens zwei alternative Begriffe, ob in der Beschreibung, den Ansprüchen oder den Zeichnungen, darstellen, so zu verstehen sind, dass sie die Möglichkeiten des Einschleißens eines der Begriffe, eines der beiden Begriffe oder beide Begriffe in Erwägung ziehen. Beispielsweise versteht sich die Phrase ”A oder B” so, dass sie die Möglichkeiten von ”A” oder ”B” oder ”A” und ”B” umfasst.
-
Wenngleich unterschiedliche Aspekte und Ausführungsformen hier offenbart wurden, werden dem Fachmann andere Aspekte und Ausführungsformen verständlich sein. Die unterschiedlichen Aspekte und Ausführungsformen, die hier offenbart sind, dienen der Veranschaulichung und sind nicht als Einschränkung beabsichtigt, wobei der wahre Geltungsbereich und Gedanke in den folgenden Ansprüchen definiert ist.