-
GEBIET DER ERFINDUNG
-
Das Gebiet der Erfindung bezieht sich allgemein auf Computersysteme und insbesondere auf einen Prozessor, welcher maximale Temperaturdaten für einen garantierten Betrieb aufweist.
-
HINTERGRUND
-
Da der Energieverbrauch von Computersystemen ein Problem geworden ist, umfassen die meisten heutigen Systeme hoch entwickelte Energieverwaltungsfunktionen. Ein üblicher Rahmen ist es, sowohl „Leistungs“-Zustände als auch „Energie“-Zustände für einen Prozessor eines Computersystems zu definieren (welcher mehrere Prozessorkerne umfassen kann). Die Leistung eines Prozessors ist seine Fähigkeit, während einer gegebenen Zeitperiode Arbeit zu verrichten. Je höher die Leistung eines Prozessors ist, desto mehr Arbeit kann er während der gegebenen Zeitperiode verrichten. Daher steigt der Energieverbrauch eines Prozessors, wenn sich seine Leistung erhöht.
-
Die Leistung eines Prozessors kann während der Laufzeit eingestellt werden, indem seine internen Taktgeschwindigkeiten und Spannungsniveaus verändert werden. Somit entsprechen die verschiedenen Leistungszustände eines Prozessors verschiedenen Takteinstellungen und internen Spannungseinstellungen, um verschiedene Kompromisse zwischen der Leistung und der Energie zu bewirken. Gemäß dem Advanced-Configuration-and-Power-Interface(ACPI)-Standard sind die verschiedenen Leistungszustände mit verschiedenen „P-Werten“ gekennzeichnet: P0, P1, P2,..., P_R, wobei P0 für den Zustand höchster Leistung und höchsten Energieverbrauchs steht und P_R für das niedrigste Energieverbrauchsniveau steht, bei welchem ein Prozessor Arbeit verrichten kann. Der Term „R“ in „P_R“ repräsentiert die Tatsache, dass verschiedene Prozessoren so konfiguriert sein können, dass sie verschiedene Anzahlen von Leistungszuständen aufweisen.
-
Im Gegensatz zu den Leistungszuständen sind die Energiezustände im Großen und Ganzen darauf gerichtet, dass sie verschiedene „Ruhemodi“ eines Prozessors definieren. Gemäß dem ACPI-Standard ist der C0-Zustand der einzige Energiezustand, bei welchem der Prozessor Arbeit verrichten kann. Daher muss sich der Prozessor, damit er in einen der Leistungszustände (P0 bis P_R) eintreten kann, im Energiezustand C0 befinden. Wenn keine Arbeit zu verrichten ist und der Prozessor in den Ruhezustand gebracht wird, kann der Prozessor in einen beliebigen einer Anzahl von verschiedenen Energiezuständen C1, C2, ... , C_S gebracht werden, wobei jeder Energiezustand für ein anderes Ruheniveau und entsprechend eine andere Zeitdauer steht, die benötigt wird, um in den C0-Energiezustand zurückzukehren. Hier bedeutet ein anderes Ruheniveau andere Energieeinsparungen, während sich der Prozessor im Ruhezustand befindet.
-
Ein tieferes Ruheniveau entspricht daher langsameren internen Taktfrequenzen und/oder niedrigeren internen Versorgungsspannungen und/oder mehr Logikblöcken, welche eine langsamere Taktfrequenz und/oder eine niedrigere Versorgungsspannung empfangen. Ein steigender C-Wert entspricht einem tieferen Ruheniveau. Deswegen könnte zum Beispiel ein Prozessor im C2-Energiezustand niedrigere interne Versorgungsspannungen und mehr Logikblöcke aufweisen, die ausgeschaltet sind, als ein Prozessor im C1-Zustand. Da tiefere Energiezustände höheren Frequenz- und/oder Spannungshüben und/oder höheren Anzahlen an Logikblöcken entsprechen, die eingeschaltet werden müssen, um in den C0-Zustand zurückzukehren, werden für tiefere Energiezustände auch längere Zeiten benötigt, um in den C0-Zustand zurückzukehren.
-
US 2007/0255972 A1 offenbart ein Verfahren zum Erhöhen der Betriebsfrequenz eines Mikroprozessors, wobei der Mikroprozessor in der Lage ist, seine Leistung basierend auf seiner variierenden Betriebstemperatur dynamisch zu steigern. Der Mikroprozessor umfasst einen Temperatursensor, um eine Betriebstemperatur des Mikroprozessors zu überwachen. Ferner enthält der Mikroprozessor Arbeitspunktdaten, die eine erste Temperatur enthalten, bei der es sich um die maximale Temperatur handelt, bei der Mikroprozessor zuverlässig bei einer ersten Frequenz und einer ersten Spannung arbeitet.
-
US 2007/0118774 A1 offenbart ein Verfahren zum Bereitstellen eines Wärme- und Leistungsmanagements für eine Rechenvorrichtung. Dabei wird in Abhängigkeit einer oder mehrerer Temperaturanzeigen der Rechenvorrichtung ein Lüfter auf eine erste Geschwindigkeit aktiviert, wenn eine oder mehrere Temperaturanzeigen angeben, dass ein primäres Wärmemanagement erforderlich ist. Es erfolgt anschließend ein Erhöhen der Lüftergeschwindigkeit auf eine zweite Geschwindigkeit, wenn eine oder mehrere der Temperaturanzeigen dies anzeigen, wobei die zweite Geschwindigkeit größer als die erste Geschwindigkeit ist. Reicht diese Maßnahme nicht aus, erfolgt ein Reduzieren der Prozessorleistung, wenn eine oder mehrere Temperaturanzeigen dies anzeigen, dass ein zusätzliches Wärmemanagement erforderlich ist, auch nachdem der Lüfter aktiviert wurde.
-
Figurenliste
-
Die Erfindung ist durch einen Prozessor, ein Verfahren und ein maschinenlesbares Speichermedium gemäß den unabhängigen Patentansprüchen definiert. Bevorzugte Ausführungsformen sind in den abhängigen Patentansprüchen definiert.
-
Die vorliegende Erfindung wird beispielhaft, und ohne beschränkend zu sein, in den Figuren der begleitenden Zeichnungen veranschaulicht, in welchen gleiche Bezugszahlen ähnliche Elemente anzeigen und in welchen:
- 1 ein Verfahren zeigt, welches einen Prozessor charakterisiert;
- 2 ein Verfahren zum Halten des Betriebs eines Prozessors in einem garantierten Zustand zeigt;
- 3 eine Tabelle zeigt, welche einen maximalen Prozessorleistungszustand, um den Betrieb eines Prozessors zu garantieren, als Funktion der Umgebungstemperatur und eines Kühlsystemzustands angibt;
- 4 ein Verfahren zeigt, bei welchem Tabellendaten wie die Tabellendaten der 3 verwendet werden;
- 5 einen Prozessor zeigt, welcher darin eingebettete Charakterisierungsdaten aufweist.
-
DETAILLIERTE BESCHREIBUNG
-
Systementwickler haben derzeit Probleme, einen Kompromiss zwischen einer „garantierten“ Prozessorleistung und den thermischen Systemkosten zu finden. Speziell können im Verlauf der Lebensdauer eines Computersystems dem Prozessor (den Prozessoren) eines Systems unwahrscheinliche, aber dennoch mögliche Extremereignisse der Umgebungstemperatur widerfahren. Zum Beispiel kann an einem ungewöhnlich warmen Tag ein Kühlgebläse ausfallen oder das System kann ohne Klimaanlage in einer Wüste betrieben werden. Systementwickler stehen derzeit dem Problem gegenüber, ein Kühlsystem für solche Möglichkeiten zu entwickeln. Ein Kühlsystem, welches den Prozessor unter solchen Umständen „kühl genug“ halten kann, wird zu teuer, wenn man bedenkt, dass die Anzahl der Systeme, die solchen Umständen ausgesetzt werden, gering ist und/oder solche Perioden extremer Temperatur kurz sind, wenn sie auftreten.
-
Das Problem wird durch den Begriff des garantierten Prozessorbetriebs kompliziert, insbesondere unter extremen thermischen Bedingungen (wie z.B. dem plötzlichen Ausfall eines Gebläses). Derzeit stellen Prozessorhersteller Spezifikationen maximaler Versorgungsspannung, Betriebsfrequenz und Temperatur bereit. Hier bedeutet „garantierter Betrieb“, dass nicht erwartet wird, dass dem Prozessor inakzeptable Betriebsfehler unterlaufen. Diese Nenndaten weisen jedoch einen gewissen Spielraum auf und/oder sind in gewisser Weise konservativ. Daher können zumindest einige gelieferte Teile in der Lage sein, jenseits solcher Nenndaten gut zu arbeiten. Die „echten“ maximalen Nenndaten für einen speziellen Prozessor, bei denen der Betrieb dieses Prozessors garantiert ist, sind dem Systementwickler einfach unbekannt.
-
Dementsprechend wünschen möglicherweise zumindest einige Systementwickler, die Idee zu verfolgen, nur ein nominelles Kühlsystem zu bauen (um die Kühlsystemkosten niedrig zu halten), aber die Energieverwaltungssteuerung des Prozessors so zu verbessern, dass der Leistungszustand des Prozessors in Reaktion auf ein extremes thermisches Ereignis heruntergefahren wird, wobei der Betrieb des Prozessors in dem reduzierten Zustand garantiert bleibt. Hier kann es in dem Maße, wie ein gewisser Spielraum dazwischen existieren mag, wie das Teil formell spezifiziert ist und welche Betriebsbedingungen das Teil tatsächlich zumindest für eine begrenzte Zeit aushalten kann, z.B. im Fall eines plötzlichen thermischen Ereignisses, zulässig sein, das Teil jenseits seiner formellen Nenndaten zu betreiben, aber dennoch immer noch für den garantierten Betrieb zu sorgen.
-
Physikalisch kann der Betrieb eines Prozessors als eine Funktion der Temperatur seines Halbleiterplättchens garantiert werden. Hier versteht es sich, dass Betriebsfehlermechanismen zum großen Teil auf Veränderungen innerhalb der physikalischen Zusammensetzung des Halbleiterchips bezogen sind, die entstehen, wenn der Chip zu heiß wird. Die Temperatur des Prozessor-Halbleiterplättchens ist eine Funktion des Energieverbrauchs des Halbleiterplättchens, der Kapselung des Halbleiterplättchens, des Kühlsystems, das für die Kapselung angewendet wird, und der Umgebungstemperatur. Der Energieverbrauch des Prozessor-Halbleiterplättchens (welcher zum großen Teil der „Leistung“ des Halbleiterplättchens entspricht) ist die von dem Halbleiterplättchen aufgenommene Stromstärke, multipliziert mit seiner Versorgungspannung. Die von dem Halbleiterplättchen aufgenommene Stromstärke bei einer speziellen Versorgungsspannung ist eine Funktion der Taktfrequenz und der Arbeitslast des Prozessor-Halbleiterplättchens.
-
Somit steigt, wenn auf das Halbleiterplättchen eine spezielle Versorgungsspannung, Taktfrequenz und Arbeitslast angewendet werden, die Temperatur des Halbleiterplättchens bis zu einem gewissen Niveau, welches verringert wird, wenn das Kühlsystem besser wird und die Umgebungstemperatur sinkt. In dem anderen Fall, wenn auf das Halbleiterplättchen eine spezielle Versorgungsspannung, Taktfrequenz und Arbeitslast angewendet werden und keinerlei Kühlung auf die Verkapselung des Halbleiterplättchens angewendet wird, steigt die Temperatur des Halbleiterplättchens bis zu einem gewissen Niveau, welches durch die Physik des Halbleiterplättchens, seine Kapselung ohne Kühlung und die Umgebungstemperatur diktiert wird. Wenn auf die Kapselung des Halbleiterplättchens eine stärkere/bessere Kühlung angewendet wird und/oder wenn die Umgebungstemperatur sinkt, erreicht die Temperatur des Halbleiterplättchens nur niedrigere und niedrigere Niveaus für dieselbe angewendete Versorgungsspannung, Taktfrequenz und Arbeitslast.
-
Es wäre daher für einen Prozessorhersteller vorteilhaft, mit jedem Prozessor eine oder mehrere Betriebsfrequenzen bereitzustellen, die unter extremen thermischen Bedingungen auf den Prozessor angewendet werden können, wobei die Leistung des Prozessors garantiert bleibt. Denkbar ist, dass solche Betriebsfrequenzen bewirken können, dass der Prozessor seine formellen maximalen Nenndaten überschreitet. In einer Ausführungsform versteht es sich, dass diese speziellen Betriebsfrequenzen nur vorübergehend angewendet werden (z.B. wenige Stunden oder Tage), wenn sie einem Betrieb jenseits der maximalen Nenndaten des Prozessors entsprechen. In der Praxis entwickeln die Systementwickler dann ihre Energieverwaltungsfunktionen so, dass in Reaktion auf ein extremes thermisches Ereignis die Betriebsfrequenz des Prozessors mit einer dieser Frequenzen gedeckelt wird. In einer weiteren Ausführungsform werden verschiedene Frequenzen als eine Funktion verschiedener Umgebungstemperaturen bereitgestellt, so dass für verschiedene Abweichungen der thermischen Umgebung eine geeignete Betriebsfrequenz spezifiziert ist.
-
In einer Ausführungsform bestimmt der Prozessorhersteller, um solche Betriebsfrequenzen bereitzustellen, für jeden Prozessor eine Temperatur des Halbleiterplättchens, bei welcher der Betrieb des speziellen Prozessors garantiert würde, und bestimmt den maximalen zulässigen Energieverbrauch für den speziellen Prozessor, wenn er bei dieser maximalen zulässigen Temperatur betrieben wird. Eine nominale Versorgungsspannung und ein Kühlsystem werden dann von dem Prozessorhersteller angenommen, um diese Parameter als in spezielle Prozessorbetriebsfrequenzen eine Funktion spezieller Umgebungstemperaturen zu übersetzen. Systementwickler können diese Betriebsfrequenzen und/oder -temperaturen auf der Grundlage ihrer eigenen Versorgungsspannungen und Kühlsystemtechnologie anpassen. Zum Beispiel kann ein Systementwickler, der ein Kühlsystem wählt, welches höher entwickelt ist als das angenommene, eine höhere Betriebsfrequenz anwenden als die von dem Prozessorhersteller für eine bestimmte Umgebungstemperatur bereitgestellte oder er kann eine höhere Umgebungstemperatur identifizieren. Mit diesen Daten können Systementwickler ein Energieverwaltungsschema realisieren, welches automatisch die Betriebsfrequenz eines Prozessors senkt, z.B. in Reaktion auf ein extremes thermisches Ereignis, um zu bewirken, dass das Halbleiterplättchen bei seiner maximalen zulässigen Temperatur und seinem maximalen zulässigen Energieverbrauch arbeitet, um das Halbleiterplättchen innerhalb eines garantierten Betriebsbereichs zu halten.
-
1 zeigt ein von einem Prozessorhersteller durchzuführendes Verfahren, welches jeden gelieferten Prozessor mit Daten einer maximalen Betriebsfrequenz als Funktion von Umgebungstemperaturdaten charakterisiert 101, wobei der Betrieb des Prozessors immer noch garantiert ist. In verschiedenen Ausführungsformen sind solche charakteristischen Daten für jeden einzelnen Prozessor spezifisch.
-
Solche charakteristischen Informationen können zum Beispiel durch die Durchführung von Charakterisierungstests an jedem hergestellten Prozessor erhalten werden. Hier kann ein einzelnes Halbleiterplättchen vor dem Verkapseln getestet werden und/oder ein verkapseltes Halbleiterplättchen, welches den fertigen Prozessor bildet, kann charakterisiert werden. Die Temperatur des Halbleiterplättchens kann direkt gemessen werden (z.B. im Fall eines unverkapselten Halbleiterplättchens oder durch Ablesungen eines seiner ein oder mehreren eingebetteten Wärmesensoren, die durch das (verkapselte oder unverkapselte) Halbleiterplättchen bereitgestellt werden) oder berechnet werden (z.B. durch Messen von Gehäuse- und Umgebungstemperaturen eines verkapselten Halbleiterplättchens und Bestimmen der Temperatur des Halbleiterplättchens auf der Grundlage der theoretischen Wärmeeigenschaften der Verkapselung des Halbleiterplättchens).
-
Es kann auch eine zweite Gruppe von Charakterisierungsdaten gesammelt werden, welche die Temperatur des Halbleiterplättchens mit seinem Energieverbrauch korreliert. Hier kann zum Beispiel eine Anzahl von Datenpunkten gesammelt werden, welche z.B. bei der maximalen zulässigen Temperatur des Halbleiterplättchens und dem maximalen zulässigen Energieverbrauch für einen garantierten Betrieb beginnen und im Energieverbrauch und in der Temperatur des Halbleiterplättchens allmählich fallen. Alternativ kann eine Formel bestimmt und bereitgestellt werden, welche den Abfall der Temperatur des Halbleiterplättchens mit abnehmendem Energieverbrauch ausdrückt.
-
Es kann eine dritte Gruppe von Charakterisierungsdaten bereitgestellt werden, welche den Energieverbrauch des Halbleiterplättchens mit seiner Taktfrequenz über einen Bereich von Taktfrequenzen und entsprechenden Energieverbrauchsniveaus des Halbleiterplättchens korrelieren (z.B. bei maximaler Versorgungsspannung und wenn alle Logikblöcke innerhalb des Prozessor-Halbleiterplättchens aktiviert sind). Hier kann zum Beispiel eine Anzahl von Datenpunkten gesammelt werden, welche z.B. bei der maximalen Versorgungsspannung und unter einer Arbeitslast, welche alle Logikblöcke innerhalb des Prozessors aktiviert, bei dem maximalen zulässigen Energieverbrauch und der maximalen zulässigen Taktfrequenz beginnen und in der Taktfrequenz und im zugehörigen Energieverbrauch allmählich fallen. Alternativ kann eine zweite Formel bestimmt und bereitgestellt werden, welche die Abnahme des Energieverbrauchs des Halbleiterplättchens mit abnehmender Taktfrequenz ausdrückt.
-
Die Charakterisierungsdaten werden dann in Verbindung mit einer angenommenen Systemversorgungsspannung und einem angenommenen Kühlsystem extern der Kapselung des Halbleiterplättchens analysiert, um spezielle Betriebsfrequenzen für den Prozessor als eine Funktion der Umgebungstemperatur der Verkapselung des Halbleiterplättchens zu bestimmen. Als Alternative können die Betriebsfrequenzen in Form von Zuständen maximaler Leistung bereitgestellt werden.
-
Die Daten werden dann mit dem speziellen Prozessor 102 korreliert. In einer Ausführungsform werden die Frequenz- und Umgebungstemperatur-Daten in das Prozessor-Halbleiterplättchen eingebettet. Zum Beispiel können die Daten in nichtflüchtige Speicherschaltungen des Halbleiterplättchens geschrieben werden (z.B. in Sicherungsspeicherschaltungen, die in das Halbleiterplättchen eingebettet sind, wobei Sicherungen durchgebrannt werden, um die Charakterisierungsdaten digital zu speichern). Alternativ können die Frequenz- und Umgebungstemperatur-Daten mit dem Halbleiterplättchen korreliert werden, anstatt in dieses eingebettet zu werden. Zum Beispiel kann der Käufer eines Volumens von Prozessoren die Daten für jedes der Halbleiterplättchen, das durch seine entsprechende Seriennummer identifiziert wird, herunterladen oder auf andere Weise empfangen.
-
Der Kunde/Systemdesigner, der das tatsächliche Kühlsystem des Systems und den theoretischen Betrieb desselben kennt, kann bestimmen, wie gut sein Kühlsystem das Prozessor-Halbleiterplättchen bei Vorliegen extremer Umgebungstemperaturen relativ zu dem angenommenen Kühlsystem des Prozessorherstellers kühlen kann. Wenn die beiden im Wesentlichen ähnlich sind, kann der Systemhersteller in der Lage sein, für jede spezielle extreme Umgebungstemperatur direkt die gelieferten Betriebsfrequenzen des Prozessorherstellers zu verwenden. In dem anderen Fall, wenn der Hersteller Daten geliefert hat, welche die maximale Betriebsfrequenz des Prozessors als Funktion der Umgebungstemperatur beschreiben, wobei der Betrieb garantiert bleibt, kann der Systementwickler 103 die vom Hersteller bereitgestellten Betriebsfrequenzen direkt in Reaktion auf eine bestimmte extreme Umgebungstemperatur verwenden (wenn die angenommene Kühlung und die angenommenen Versorgungsspannungen vergleichbar sind) oder diese „zurechtbiegen“ (wenn das tatsächliche System von dem angenommenen abweicht).
-
Der Systementwickler/Hersteller konfiguriert die Energieverwaltungsfunktion 104 des Systems, auf der Grundlage der vom Hersteller gelieferten Daten die Taktfrequenz des Prozessors als Funktion der Umgebungstemperatur zu verringern, wobei bei der verringerten Taktfrequenz der Betrieb des Prozessors in dem garantierten Betriebsbereich gehalten wird.
-
Daher wird zum Beispiel, Bezug nehmend auf 2, wenn ein extremes thermisches Ereignis erfasst wird 201, die Taktfrequenz des Prozessors in Reaktion auf eine Betriebsfrequenz auf der Grundlage der von dem Prozessorhersteller gelieferten verringert 202, um die Temperatur des Halbleiterplättchens zu verringern, um den Prozessor in einem garantierten Betriebszustand zu halten. Wenn der Prozessorhersteller eine Zeitgrenze für die Betriebsfrequenz bei dieser speziellen Umgebungstemperatur spezifiziert hat, kann der Systementwickler wiederum die Prozessorfrequenz verringern, wenn eine Annäherung an die Zeitgrenze erfolgt.
-
Gemäß einer möglichen Realisierung gibt der Systementwickler ferner die Daten direkt in die Energiezustand-Verwaltungstabellen des Prozessors ein. Die Energiezustand-Verwaltungstabellen können ferner analysiert werden, um einen speziellen Energiezustand für den Prozessor für ein spezielles Ausfallereignis (oder ein Fehlen eines solchen) und eine Umgebungstemperatur zu identifizieren.
-
3 zeigt ein Beispiel. Wie in 3 zu sehen, sind für bestimmte Zustände des Kühlsystems 301 und bestimmte Umgebungstemperaturen 302 spezielle maximale zulässige Prozessorleistungszustände zum Bewahren des garantierten Betriebs angeführt. Gemäß dieser beispielhaften Veranschaulichung hat der Systementwickler bestimmt, dass, auch wenn der Prozessor im Leistungszustand P1 arbeitet (und seine maximale Anzahl an Logikblöcken aktiviert ist und er mit der maximalen Taktfrequenz des Zustands P1 arbeitet), der Prozessorbetrieb immer noch garantiert ist, wenn die Umgebungstemperatur weniger als höchstens 35 ° beträgt und mindestens ein Gebläse funktioniert. Wenn jedoch ein zweites Gebläse ausfällt, muss der maximale zulässige Leistungszustand des Prozessors auf den Zustand P3 heruntergebracht werden.
-
In ähnlicher Weise wird der maximale zulässige Leistungszustand des Prozessors weiter verringert, wenn die Umgebungstemperatur ansteigt, und dann wiederum, wenn ein oder mehrere Gebläse ausfallen.
-
4 zeigt ein Verfahren zum Konstruieren und Verwenden einer Tabelle wie der in 3 dargestellten Tabelle. Wie in 4 dargestellt, werden Einträge für eine Tabelle, welche einen maximalen zulässigen Prozessorleistungszustand umreißen, wobei der Prozessorbetrieb garantiert ist, als eine Funktion des Kühlsystemzustands und der Umgebungstemperatur bestimmt 401. Hier werden die vom Prozessorhersteller gelieferten Daten mit dem Wissen des Entwicklers über die Ausgestaltung des Kühlsystems und individuellen Definitionen des Prozessorleistungszustands kombiniert, um die verschiedenen Prozessorleistungszustände für die verschiedenen Bedingungen auszudrücken. So werden die Tabellendaten Halbleiterplättchen für Halbleiterplättchen für das spezielle System bestimmt, in welches ein Halbleiterplättchen integriert ist. Somit können Systeme mit gleichen Modellnummern, welche Prozessoren mit gleichen Modellnummern aufweisen, aufgrund der vom Prozessorhersteller bereitgestellten Halbleiterplättchen-spezifischen Daten dennoch verschiedene Tabelleneinträge aufweisen.
-
Sobald die Einträge für die Tabelle bestimmt sind, werden sie gespeichert, zum Beispiel in einem nichtflüchtigen Speicher, wo die BIOS-System-Firmware des Systems aufbewahrt wird. Nach jedem Hochfahren des Systems werden die Tabellendaten in die Energieverwaltungsintelligenz des Systems geladen 402, welche in Software, Hardware oder einer Kombination daraus realisiert sein kann. Somit können die Tabelleneinträge in Registerraum des Prozessors oder eine Region eines Systemspeichers des Systems geladen werden (oder sogar in Firmware verbleiben).
-
Während der Laufzeit des Systems nehmen Sensoren verschiedene Daten auf, welche die Umgebungstemperatur und den Zustand des Kühlsystems anzeigen 403. Auf der Grundlage des aktuellen Zustands des Kühlsystems und der Umgebungstemperatur zeigen die Tabellendaten den maximalen Leistungszustand des Prozessors an, wobei der Betrieb des Prozessors garantiert ist 404. Der Energieverwaltungslogik wird der maximale Leistungszustand unter den aktuellen Bedingungen gemeldet und diese lehnt es ab, den Leistungszustand des Prozessors über das Maximum hinaus zu erhöhen, welches durch die Tabellendaten spezifiziert wird (kann es jedoch in Abhängigkeit von anderen Energieverwaltungsprotokollen absenken).
-
Das Aufnehmen von Daten durch die Sensoren 403 erfolgt durchgängig und jede Veränderung des Zustands des Kühlsystems oder der Umgebungstemperatur, welche einer Veränderung in der anwendbaren Tabellenposition entspricht, wird identifiziert und jede resultierende Veränderung des maximalen zulässigen Prozessorleistungszustands wird an die Energieverwaltungslogik-Intelligenz kommuniziert. Wenn der Leistungszustand des Prozessors sofort geändert werden muss (z.B. vom aktuellen Leistungszustand auf einen niedrigeren Leistungszustand verringert werden muss), kann die Energieverwaltungslogik-Intelligenz dies zum Beispiel durch Schreiben in den Registerraum (z.B. modellspezifischen Registerraum) des Prozessors tun, um die Änderung des Leistungszustands zu bewirken. Die in den Registerraum geschriebenen Daten können den Leistungszustand direkt oder entsprechend einer oder mehreren Einstellungen (z.B. Taktfrequenzeinstellungen, Logikblock-Aktivierungs/Deaktivierungs-Einstellungen) spezifizieren, welche dem neuen Prozessorleistungszustand entsprechen.
-
Wenn die vom Prozessorhersteller gelieferte maximale Betriebsfrequenz auch eine zugehörige Zeitgrenze aufweist (z.B. Tage, Stunden), wird die Betriebsfrequenz des Prozessors durch die Methodik der 4 automatisch verringert (z.B. durch Verringern auf einen noch niedrigeren Leistungszustand), wenn sich das extreme Umgebungstemperaturereignis der Zeitgrenze nähert.
-
5 zeigt die Architektur eines beispielhaften Mehrkernprozessors 500. Wie in 5 dargestellt, umfasst der Prozessor: 1) mehrere Prozessorkerne 501_1 bis 501_N; 2) ein Verbindungsnetzwerk 502; 3) ein Caching-System letzter Ebene 503; 4) eine Speichersteuerung 504 und einen I/O-Knoten 505. Jeder der Prozessorkerne enthält eine oder mehrere Befehlsausführungs-Pipelines zum Ausführen von Programmcode-Befehlen. Das Verbindungsnetzwerk 502 dient dazu, jeden der Kerne 501_1 bis 501_N miteinander sowie mit den anderen Komponenten 503, 504, 505 zu verbinden. Das Caching-System letzter Ebene 503 dient als eine letzte Cache-Schicht in dem Prozessor, bevor Befehle und/oder Daten in den Systemspeicher 506 abgegeben werden. Die einzelnen Kerne umfassen typischerweise ihre eigenen ein oder mehreren Caching-Ebenen.
-
Die Speichersteuerung 504 liest/schreibt Daten und Befehle aus dem Systemspeicher 506 aus/in diesen hinein. Der I/O-Knoten 505 verwaltet die Kommunikation zwischen dem Prozessor und „I/O“-Einheiten (z.B. nichtflüchtigen Speichereinheiten und/oder Netzwerk-Schnittstellen). Der Port 507 stammt aus dem Verbindungsnetzwerk 502, um mehrere Prozessoren zu verbinden, so dass Systeme realisiert werden können, welche mehr als N Kerne aufweisen. Der Graphikprozessor 508 führt Graphikberechnungen durch. Die Energieverwaltungsschaltung 509 verwaltet die Leistungs- und Energiezustände des Prozessors als ganzem („Kapselungsebene“) sowie Aspekte der Leistungs- und Energiezustände der einzelnen Einheiten innerhalb des Prozessors, z.B. der einzelnen Kerne 501_1 bis 501_N, des Graphikprozessors 508 usw. Andere bedeutende funktionelle Blöcke (z.B. eine Phasenregelkreis(Phase-Locked-Loop, PLL)-Schaltung) sind in 5 aus Gründen der Vereinfachung nicht dargestellt.
-
Es sei angemerkt, dass der Prozessor der 5 auch eine eingebettete Speicherschaltung 550 aufweist, wo Daten gespeichert werden, welche die maximale Betriebstemperatur des Prozessors für eine bestimmte extreme Umgebungstemperatur betreffen, bei der der Betrieb des Prozessors garantiert ist.
-
Da jedes der Verfahren, die in der obigen Beschreibung gelehrt werden, mit Software realisiert werden kann, können solche Verfahren mit Programmcode wie z.B. maschinenlesbaren Befehlen realisiert werden, welche bewirken, dass eine Maschine, die diese Befehle ausführt, bestimmte Funktionen durchführt. Verfahren, die in der obigen Beschreibung gelehrt werden, können (alternativ zur Ausführung von Programmcode oder in Kombination mit der Ausführung von Programmcode) auch durch elektronische Schaltungen durchgeführt werden, die dafür vorgesehen sind, die Verfahren (oder einen Teil davon) durchzuführen.
-
Es wird angenommen, dass Verfahren, die in der obigen Beschreibung gelehrt werden, in verschiedenen objektorientierten oder nicht objektorientierten Computerprogrammiersprachen auch in Programmcode der Quellebene beschrieben werden können. Ein Herstellungsgegenstand kann verwendet werden, um Programmcode zu speichern. Ein Herstellungsgegenstand, welcher Programmcode speichert, kann, ohne darauf beschränkt zu sein, als ein oder mehrere Speicher (z.B. ein oder mehrere Flash-Speicher, Direktzugriffsspeicher (statische, dynamische oder andere)), optische Platten, CD-ROMs, DVD-ROMs, EPROMs, EEPROMs, magnetische oder optische Karten oder ein anderer Typ eines maschinenlesbaren Mediums verkörpert sein, welches zum Speichern elektronischer Befehle geeignet ist. Programmcode kann auch mittels Datensignalen, die in einem Ausbreitungsmedium verkörpert sind (z.B. über eine Kommunikationsverbindung (z.B. eine Netzwerkverbindung)), von einem entfernten Computer (z.B. einem Server) zu einem anfordernden Computer (z.B. einem Client) heruntergeladen werden.
-
In der vorstehenden Beschreibung ist die Erfindung unter Bezugnahme auf spezielle beispielhafte Ausführungsformen dieser beschrieben worden. Es ist jedoch offensichtlich, dass verschiedene Modifikationen und Änderungen daran vorgenommen werden können, ohne von der weiteren Idee und vom Umfang der Erfindung abzuweichen, wie er in den anhängenden Patentansprüchen ausgeführt ist. Die Beschreibung und die Zeichnungen sind dementsprechend in einem veranschaulichenden statt in einem beschränkenden Sinn zu betrachten.