-
Diese Anmeldung bezieht sich auf
die mitanhängige
und gemeinsam zugewiesene US-Patentanmeldung, Seriennummer 09/811,255
mit dem Titel „SYSTEM
AND METHOD UTILIZING ON-CHIP
VOLTAGE CONTROLLED FREQUNCY MODULATION TO MANAGE POWER CONSUMPTION", die am 16. März 2001 eingereicht
wurde, deren Offenbarung hierin durch Bezugnahme aufgenommen worden
ist.
-
Diese Erfindung bezieht sich allgemein
auf eine Verwaltung eines Leistungsverbrauchs durch eine integrierte
Schaltung und spezieller auf ein System und ein Verfahren zum Implementieren
einer integrierten Schaltung mit einer dynamisch variablen Leistungsgrenze.
-
Integrierte Schaltungen (die allgemein
als Chipelemente bezeichnet werden), wie z. B. Mikroprozessoren,
werden in steigender Anzahl bei verschiedenen Anwendungen verwendet.
Solche Chipelemente sind beispielsweise normalerweise nicht nur
in Personalcomputern und Laptops implementiert, sondern sind typischerweise
in kleineren (und eher tragbaren) Geräten, wie z.B. PDAs, Mobiltelefonen,
Pagern und verschiedenen anderen Typen von Geräten, implementiert. Angesichts
der Anzahl von Aufgaben, die solche Chipelemente ausführen sollen
können,
dem Wunsch nach schnellen Verarbeitungsgeschwindigkeiten (um zu
ermöglichen,
daß die
Aufgaben schnell ausgeführt
werden) und dem Wunsch nach einem begrenzten Leistungsverbrauch
durch solche Chipelemente, sehen sich Chipelemententwickler mit
der schwierigen Aufgabe des Entwerfens von Chipelementen konfrontiert,
die das gewünschte
Verhalten (z. B. schnelle Verarbeitungsgeschwindigkeit) erreichen,
während
der Leistungsverbrauch der Chipelemente verwaltet werden kann. Angesichts
der zunehmend gemachten Fortschritte, die beim Verhalten von Chipelementen
gemacht werden, wie z. B. Mikroprozessoren, wird der Leistungsverbrauch
zu einem ernst zu nehmenden Thema. Der Leistungsverbrauch wird beispielsweise
für Hochgeschwindigkeitsprozessoren
zu einem ernst zu nehmenden Verhaltensbegrenzer. Ein wesentliches
Ziel beim Entwerfen von Mikroprozessorsystemen ist beispielsweise
das Ermöglichen
eines möglichst
höchsten
Spitzenverhaltens für
einen rechenintensiven Code bei gleichzeitiger Verringerung des
Leistungsverbrauchs des Mikroprozessors. Speziell wenn solche Mikroprozessorsysteme
innerhalb von tragbaren elektronischen Geräten implementiert werden sollen,
ist eine Verringerung des Leistungsverbrauchs (zumindest während Niedrigverhaltensperioden)
wünschenswert,
um die Batterielebensdauer des Geräts zu maximieren.
-
Wie hinreichend bekannt ist, kann
der Schaltleistungsverbrauch eines Chipelements allgemein unter Verwendung
der folgenden Gleichung: P = C·VZ·F
berechnet werden, wobei P den Leistungsverbrauch darstellt, C die
Schaltkapazität
darstellt, V die Betriebsspannung darstellt und F die Taktfrequenz
des Chipelements darstellt. Angesichts einer solchen Gleichung wird
darauf hingewiesen, daß die
Schaltkapazität
C, die Spannung V und die Frequenz F allesamt Faktoren beim Bestimmen
des Leistungsverbrauchs P eines Chipelements sind. In vielen Fällen ist
es notwendig, die Prozessorfrequenz F zu beschränken, um den Leistungsverbrauch
eines Chipelements unter einem bestimmten Pegel zu halten, der für eine Verwendung
in einem gegebenen System akzeptabel ist (z. B. innerhalb eines
Desktops oder tragbaren Gerätes).
-
Mikroprozessorchipelemente des Stands
der Technik sind bisher typischerweise mit einer feststehenden Spannung
und Frequenz implementiert worden, die bestimmt wurde, um zu verhindern,
daß das
Chipelement mehr als eine spezielle Leistungsmenge verbraucht. Typischerweise
testet ein Entwickler beim Entwickeln von bekannten Mikroprozessorchipelementen
das Chipelement mit einem Softwarecode zum Erzeu gen einer schweren
Rechenlast auf das Chipelement, um die geeignete Spannung und Frequenz
zu bestimmen, die für
das Chipelement implementiert werden können, so daß sein Leistungsverbrauch einen
speziellen Betrag nicht überschreitet,
wenn das Chipelement schwere Rechenlasten erfährt. Sobald solche schweren
Rechenlasten jedoch einmal implementiert worden sind, sind sie relativ
selten anzutreffen, wobei die meiste Zeit geringe (oder gar keine)
Rechenlasten auf den Mikroprozessor einwirken. Dementsprechend geben
die Worst-Case-Rechenlasten
die Spannung und Frequenz des Chipelements vor, wodurch ein Verhalten
des Chipelements verhindert wird (z. B. aufgrund der verringerten
Frequenz, die für
den Worst-Case erforderlich ist).
-
Eine weitere bekannte übliche Leistungseinspartechnik
versucht, ausschließlich
die Taktfrequenz F während
nichtrechenintensiver Aktivität
zu verringern. Dies verringert die Leistung, wirkt sich jedoch nicht
auf die Gesamtenergie aus, die pro Prozeß verbraucht wird. Das heißt, daß eine Verringerung
der Frequenz F zu einer linearen Verringerung der verbrauchten Leistung
führt,
jedoch zu einem linearen Anstieg in einer Aufgabenlaufzeit, die
bewirkt, daß die
Energie-pro-Aufgabe konstant bleibt. Andererseits verbessert das
Verringern von ausschließlich
der Spannung V des Prozessors seine Energieeffizienz, gefährdet jedoch
sein Spitzenverhalten. Es ist im Stand der Technik festgestellt
worden, daß,
wenn die Taktfrequenz F und die Versorgungsspannung V ansprechend
auf Rechenlastansprüche
dynamisch variiert werden, die Energie, die pro Prozeß verbraucht
wird, für
Niedrigrechenperioden verringert werden kann, während ein Spitzenverhalten
beibehalten wird, wenn dies erforderlich ist (z. B. schwere Rechenperioden).
Entwicklungsstrategien, die versuchen, eine solche dynamische Variation
der Taktfrequenz F und der Versorgungsspannung V basierend auf Rechenlasten zu
nutzen, werden allgemein als DVS (DVS = dynamic voltage scaling
= dynamische Spannungsskalierung) bezeichnet.
-
Eine Implementierung, die im Stand
der Technik vorgeschlagen wird, nutzt die DVS auf einem Mikroprozessor
unter einer direkten Betriebssystemsteuerung. Bei einer solchen
Implementierung sind ein oder mehrere Spannungsplaneralgorithmen
im OS eines DVS-Systems erforderlich, die verwendet werden, um die Prozessorgeschwindigkeit
und Spannung bei Laufzeit eines Mikroprozessors dynamisch einzustellen.
Die Spannungsplaner steuern die Taktfrequenz F und die Versorgungsspannung
V eines Mikroprozessors durch Schreiben einer gewünschten
Frequenz (in Megahertz) auf ein Coprozessorregister. Die Spannungsplaner analysieren
den Strom und den Vergangenheitszustand des Systems, um die zukünftigen
Arbeitslasten des Prozessors zu prognostizieren. Individuelle Anwendungen
liefern beispielsweise eine Fertigstellungsfrist, und der Spannungsplaner
verwendet die bisherige Ausführungshistorie
der Anwendungen, um die Anzahl von Prozessorzyklen zu bestimmen,
die erforderlich sind, und setzt die Taktfrequenz F dementsprechend
ein. Im Stand der Technik sind intervallbasierte Spannungsplaner
vorgeschlagen worden, die die Systemausnutzung periodisch analysieren,
um die Frequenz und die Spannung zu steuern. Wenn der Spannungsplaner
beispielsweise bestimmt, daß das
vorhergehende Zeitintervall um mehr als 50 % aktiv war, kann er
die Frequenz und Spannung für
das nächste
Zeitintervall erhöhen.
Somit versucht das System, die Menge der Leistung, die durch einen
Prozessor verbraucht wird, zu erhalten, indem es das OS die Taktfrequenz
F auf einen minimalen Pegel, der durch die stromaktiven Prozesse
benötigt
wird, dynamisch einstellen läßt. Eine
solche Implementierung, die Spannungsplaneralgorithmen (d. h. eine
Software) in dem OS nutzt, um die Spannung und die Frequenz eines
Mikroprozessors dynamisch zu steuern, ist in A Dynamic Voltage Scaled
Microprocessor System von Thomas Burd, Trevor Pering, Anthony Sratakos
und Robert Brodersen, veröffentlicht
im Journal of Solid State Circuits, Bd. 35, Nr. 11, November 2000,
und in The Technology Behind CrusoeTM Processors
von Alexander Klaiber (Transmeta Corporation), die (ab Einreichung
dieser Anmeldung) unter http://www.transmeta.com/pdf/white_papers/paper_aklaiber_19
jan00.pdf verfügbar
sind, deren Offenbarungen hierin durch Bezugnahme aufgenommen worden
sind, ausführlicher
beschrieben worden.
-
Ein solcher Lösungsansatz, der das OS nutzt,
um die Spannung und die Frequenz eines Mikroprozessors dynamisch
zu steuern, ist jedoch häufig
problematisch/unerwünscht.
Zunächst
ist ein Verändern
eines OS eines Systems zum Implementieren eines Lösungsansatzes
typischerweise sehr zeitaufwendig und/oder kostspielig. Systemadministratoren
haben allgemein eine Abneigung gegen ein Aktualisieren ihres OS,
um ihre Hardware zu verbessern. Zusätzlich ist ein OS-Lösungsansatz
nicht zur Gänze
zuverlässig,
weil er unzulängliche
Informationen darüber
liefert, wieviel Leistung das Chipelement tatsächlich verbraucht und welche
Rechenanforderungen es hat. Vielmehr kann das OS nur versuchen,
zu erraten/zu schätzen,
welche Rechenanforderungen auf Chipelementebene vorliegen. Ferner
sind die Daten, die für
das OS notwendig sind, um den Leistungsverbrauch und/oder die Rechenanforderungen
eines Chipelements intelligent zu schätzen, typischerweise chipelementspezifisch,
was zu größeren Schwierigkeiten
beim Implementieren/Aktualisieren eines solchen OS-Lösungsansatzes
führt (weil
die OS-Implementierung auf eine spezifische implementierte Chipelementtechnologie
zugeschnitten werden muß).
-
Bei einer weiteren Leistungseinspartechnik,
die im Stand der Technik von Mikroprozessorchipelementen implementiert
ist, ist ein Regulieren der Spannung der Auf-Chipelement-Leistungsversorgung
zum Reduzieren von Spannungsabfällen
involviert, wodurch eine höhere
Taktfrequenz ermöglicht
wird. Spezieller versucht diese Technik, die Integrität der Auf-Chipelement-Leistungsversorgung
durch sorgfältiges
Regulieren derselben so zu verbessern, daß die Durchschnittsspannung
bezüglich
des Chipelements verringert werden kann (d. h. weil plötzliche
Veränderungen
des Leistungsverbrauchs tendenziell bewirken, daß die Spannung unter den Durchschnitt
abfällt).
Durch Verringern der Abfälle
durch Spannungsregulierung kann die Durchschnittsspannung auf dem
Chipelement durch den Betrag einer solchen Spannungsabfallverringerung
bei fehlender Frequenzverringerung reduziert werden, und eine solche
Verringerung bei Durchschnittsspannung führt zu einem verringerten Leistungsverbrauch
durch das Chipelement. Eine solche Implementierung, die die Integrität einer
Auf-Chipelement-Leistungsversorgung
verbessert, um die Spannungsabfälle
eines Mikroprozessors zu verringern, ist in An On-chip Voltage Regulator
using Switched Decoupling Capacitors von Michael Ang, Raoul Salem
und Alexander Taylor, veröffentlicht
im ISSCC 2000 Paper 26.7, ausführlicher
beschrieben, dessen Offenbarung hiermit durch Bezugnahme aufgenommen
worden ist.
-
Solche bekannten Techniken unterstützen allgemein
das Verbessern einer Leistungsintegrität. Solche bekannten Techniken
zum Verbessern einer Leistungsintegrität versuchen jedoch während Hochaktivperioden,
einem Chipelement zusätzlichen
Strom zuzuführen,
wodurch versäumt
wird, den Leistungsverbrauch tatsächlich zu verringern. Ferner
ist der zusätzliche
Strom, der während
solcher Perioden zugeführt
wird, in seiner Versorgung notwendigerweise durch die Quantität der Kapazität begrenzt.
-
Herkömmlicherweise weisen Chipelemente
eine feststehende Leistungsgrenze auf. Ein Chipelement wird (in
seiner Spezifikation) beispielsweise allgemein als ein Chipelement
angeführt,
das ein „X"-Verhalten (z. B.
eine 100-MHz-Taktfrequenz)
mit einer „Y"-Leistungsgrenze
(z. B. 100 Watt) unter bestimmten Betriebsbedingungen (z. B. bei
Unterschreitung einer „nicht
zu überschreitenden
Temperatur" etc.)
liefert. Herkömmlicherweise
ist die Leistungsgrenze eines Chipelements nicht dynamisch variierbar.
Während
der Laufzeit von herkömmlichen
Chipelementen ist ihre Leistungsgrenze beispielsweise nicht veränderbar.
-
Es ist eine Aufgabe der vorliegenden
Erfindung, ein System und ein Verfahren zum Implementieren einer
integrierten Schaltung mit einem reduzierten Leistungsverbrauch
zu schaffen.
-
Diese Aufgabe wird durch eine integrierte
Schaltung gemäß Anspruch
1, ein System gemäß Anspruch 13,
eine integrierte Schaltung gemäß Anspruch
22 sowie ein Verfahren gemäß den Ansprüchen 29
und 34 gelöst.
-
Gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung wird eine integrierte Schaltung mit einer
dynamisch variierbaren Leistungsgrenze geschaffen. Die integrierte
Schaltung weist eine Leistungsverwaltungslogik auf, die betreibbar
ist, um eine Nachricht über
einen dynamisch eingestellten Leistungsgrenzwert zu empfangen und
um den Leistungsverbrauch der integrierten Schaltung dynamisch zu
regulieren, um einen dynamisch eingestellten Leistungsgrenzwert
einzuhalten.
-
Gemäß einem weiteren Ausführungsbeispiel
der vorliegenden Erfindung weist ein System eine Einrichtung zum
Verarbeiten eines Signals synchron zu einem Taktsignal auf. Das
System weist ferner eine Einrichtung zum dynamischen Einstellen
der Leistungsgrenze der Verarbeitungseinrichtung auf einen gewünschten
Wert auf, wobei die Verarbeitungseinrichtung eine Einrichtung zum
Selbstregulieren ihres Leistungsverbrauchs aufweist, um eine dynamisch
eingestellte Leistungsgrenze einzuhalten.
-
Gemäß einem weiteren Ausführungsbeispiel
der vorliegenden Erfindung wird eine integrierte Schaltung mit einer
dynamisch variierbaren Leistungsgrenze geschaffen. Die integrierte
Schaltung weist einen Kernschaltungsaufbau zur Verarbeitung auf,
wobei eine solche Verarbeitung mit einem Taktsignal synchron ist.
Die integrierte Schaltung weist ferner eine Abbildungsstruktur auf,
die unterschiedliche Leistungsgrenzwerte auf entsprechende Frequenzwerte
des Taktsignals abbildet. Die integrierte Schaltung weist auch eine
Leistungsverwaltungslogik auf, die betreibbar ist, um eine Nachricht über einen
dynamisch eingestellten Leistungsgrenzwert für die integrierte Schaltung
zu empfangen, um basierend auf zumindest einem Teil der Abbildungsstruktur einen
Frequenzwert des Taktsignals zu bestimmen, um den dynamisch eingestellten
Leistungsgrenzwert einzuhalten, und um das Taktsignal auf einen
bestimmten Frequenzwert zum Verwalten eines Leistungsverbrauchs
der integrierten Schaltung dynamisch einzustellen, um den dynamisch
eingestellten Leistungsgrenzwert einzuhalten.
-
Gemäß einem weiteren Ausführungsbeispiel
der vorliegenden Erfindung wird ein Verfahren zum Bereitstellen
einer integrierten Schaltung mit einer dynamisch variierbaren Leistungsgrenze
und einem prognostizierbaren Verhalten geschaffen. Das Verfahren
weist ein Charakterisieren einer Mehrzahl von integrierten Schaltungseinheiten
eines speziellen Entwurfs auf, der einen Kernschaltungsaufbau zur
Verarbeitung aufweisen kann, wobei eine solche Verarbeitung mit
einem Taktsignal synchron ist und wobei das Charakterisieren für jeden
von einer Mehrzahl von unterschiedlichen Leistungsgrenzwerten der
integrierten Schaltungseinheiten eine prognostizierbare Taktsignalfrequenz
bestimmt, die innerhalb einer Toleranz durch alle von der Mehrzahl
von integrierten Schaltungseinheiten des speziellen Entwurfs erreichbar
ist, ohne daß ihr
Leistungsverbrauch den entsprechenden Leistungsgrenzwert überschreitet.
Das Verfahren weist ferner ein Konstruieren einer Abbildungsstruktur
auf, die die bestimmten prognostizierbaren Taktsignalfrequenzen
auf entsprechende Leistungsgrenzwerte abbildet, und ein Implementieren
der Abbildungsstruktur in einem System, das eine integrierte Schaltung
des speziellen Entwurfs zur Verwendung beim dynamischen Variieren
der Leistungsgrenze der integrierten Schaltung umfaßt.
-
Gemäß einem weiteren Ausführungsbeispiel
der vorliegenden Erfindung wird ein Verfahren zum dynamischen Variieren einer
Leistungsgrenze einer integrierten Schaltung geschaffen. Das Verfahren
weist an einer integrierten Schaltung ein Empfangen von einer Nachricht
auf, daß ihre
Leistungsgrenzeneinstellung auf einen anderen Wert geändert worden
ist, und ein Selbstregulieren des Leistungsverbrauchs der integrierten Schaltung,
um den anderen Wert ihrer Leistungsgrenzeinstellung einzuhalten.
-
Bevorzugte Ausführungsbeispiele der vorliegenden
Erfindung werden nachstehend Bezug nehmend auf die beiliegenden
Zeichnungen näher
erläutert.
Es zeigen:
-
1 ein
Ausführungsbeispiel
zum Verwalten eines Leistungsverbrauch eines Chipelements, das einen
Auf-Chipelement-Spannungssteuerungsoszillator verwendet, um die
Frequenz des Takts des Chipelements dynamisch einzustellen, um die
Spannung zu verfolgen, die variiert wird, um den Leistungsverbrauch des
Chipelements zu verwalten,
-
2 ein
alternatives Ausführungsbeispiel
zum Verwalten eines Leistungsverbrauch eines Chipelements, das einen
Schaltungsaufbau zum Steuern der Spannungseingabe an dem spannungsgesteuerten Auf-Chipelement-Oszillator
umfaßt,
damit die Frequenz der Taktausgabe des Chipelements durch einen
solchen Oszillator in einer gewünschten
Weise gesteuert werden kann,
-
3 exemplarische
Signalverläufe,
die den Betrieb eines Ausführungsbeispiels
zum Verwalten eines Leistungsverbrauchs eines Chipelements darstellen,
-
4 ein
Ausführungsbeispiel
der vorliegenden Erfindung, bei der eine Leistungsgrenze eines Chipelements
dynamisch variierbar ist,
-
5 einen
beispielhaften Graphen zum Abbilden von prognostizierbaren Verhaltenswerten
von einem Chipelement auf entsprechende Leistungsgrenzwerte des
Chipelements gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung,
-
6 ein
Ausführungsbeispiel
der vorliegenden Erfindung, bei dem eine Abbildungsstruktur, wie
z. B. eine Tabelle, zur Verwendung durch ein Chipelement beim Ermöglichen
eines prognostizierbaren Verhaltens bei einer dynamisch ausgewählten Leistungsgrenze
implementiert ist,
-
7 exemplarische
Signalverläufe,
die einen Betrieb eines Ausführungsbeispiels
der vorliegenden Erfindung darstellen, bei dem die Leistungsgrenze
eines Chipelements dynamisch verändert
wird,
-
8 eine
beispielhafte Implementierung eines Frequenzeinstellungsschaltungsaufbaus
innerhalb der Leistungsverwaltungslogik, der einen widerstandsbehafteten
Divisor in Verbindung mit einem analogen Spannungsmultiplexer aufweist,
die ermöglichen,
daß eine
maximale Taktsignalfrequenz eines Chipelements ansprechend auf eine
dynamisch veränderte
Leistungsgrenze für
das Chipelement dynamisch verändert
werden kann, und
-
9 ein
beispielhaftes Betriebsflußdiagramm
zum Implementieren eines Chipelements mit einer dynamisch variierbaren
Leistungsgrenze und eines Betriebs eines solchen Chipelements gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung.
-
Angesichts des Stands der Technik
besteht ein Bedarf an einem Verfahren und einem System für eine bessere
Verwaltung eines Leistungsverbrauchs eines Chipelements. Ferner
besteht ein Bedarf an einer Technik, die ermöglicht, daß die Leistungsgrenze eines
Chipelements dynamisch variiert werden kann. Das heißt, es besteht
ein Bedarf an einer Technik, die ermöglicht, daß die Leistungsgrenze eines
Chipelements dynamisch variiert werden kann (z. B. auf einen Wert
unter seiner maximalen Leistungsgrenze), und ein Bedarf zum dynamischen
Verwalten des Leistungsverbrauchs des Chipelements, um eine dynamisch
eingestellte Leistungsgrenze einzuhalten.
-
Ausführungsbeispiele der vorliegenden
Erfindung sehen eine integrierte Schaltung (oder ein Chipelement)
vor, die eine variable Leistungsgrenze aufweist. Das heißt, daß eine integrierte
Schaltung, wie z. B. ein Mikroprozessor, geschaffen wird, die ihre
Leistungsgrenze auf einen bestimmten von einer Mehrzahl von unterschiedlichen
Werten dynamisch variieren lassen kann. Vorzugsweise ist das Chipelement
in einer Weise implementiert, die es ermöglicht, daß eine beliebige von einer
Mehrzahl von unterschiedlich gemessenen Leistungsgrenzen für das Chipelement
dynamisch eingestellt werden kann. Das heißt, daß die Leistung des Chipelements
auf einen beliebigen von einer Mehrzahl von spezifischen Leistungsgrenzwerten
dynamisch eingestellt werden kann. Dementsprechend kann der Leistungsgrenzwert
des Chipelements bei bestimmten Ausführungsbeispielen von einer
Mehrzahl von unterschiedlichen Werten (z. B. einem Bereich von Leistungsgrenzwerten)
dynamisch auswählbar
sein.
-
Im Stand der Technik existieren bestimmte
Techniken zum Verändern
des Spannungspegels (oder des Betriebspunkts) des Chipelements.
Zum Beispiel ist im Stand der Technik die Speed StepTM-Technologie
der Intel® Corporation
verfügbar.
Bei der Speed Step-Technologie weist ein Chipelement zwei Betriebspunkte
auf: einen bei einer hohen Spannung, maximales Verhalten, und einen
anderen bei einer niedrigen Spannung, niedrigeres Verhalten. Dementsprechend
kann das Chipelement unter bestimmten Bedingungen bei dem höheren Betriebspunkt
operieren und kann seinen Betrieb unter anderen Bedingungen auf
den niedrigeren Betriebspunkt dynamisch verändern. Das Chipelement kann
beispielsweise in einem Notebook-Computer implementiert sein, und
das Chipelement kann bei seinem höheren Betriebspunkt operieren,
solange der Notebook-Computer mit einer Wechselstromquelle verbunden
ist, und kann seine Operation auf einen geringeren Betriebspunkt
variieren, wenn der Notebook-Computer von der Wechselstromleistungsquelle
entfernt worden ist (z. B. um die Batterie des Notebook-Computers
zu schonen). Durch Reduzieren des Betriebspunkts des Chipelements
auf eine niedrigere Spannung und eine niedrigere Frequenz wird der
Leistungsverbrauch des Chipelements auf einen gewissen Grad unter
der Leistung, die bei dem höheren
Betriebspunkt verbraucht wird (zur Erinnerung: P = C·VZ·F),
verringert. Somit kann die Leistung des Chipelements indirekt variiert
werden, wenn sie von dem höheren
Betriebspunkt auf einen niedrigeren Betriebspunkt geändert wird.
-
Bei der Speed StepTM-Technologie
ist die Leistungsgrenze des Chipelements nicht auf einen gemessenen
Wert dynamisch eingestellt. Das heißt, obgleich während Wechselns
von einem höheren
Betriebspunkt zu einem niedrigeren Betriebspunkt der Leistungsverbrauch
des Chipelements reduziert wird, wird die resultierende Leistungsgrenze
nicht bezüglich
eines gemessenen Werts verwaltet, sondern kann stattdessen zwischen
einem Bereich von Werten variieren (d. h. die resultierende Leistungsgrenze
beim Ändern
auf einen unteren Betriebspunkt kann zwischen 10 und 50 Watt variieren).
Die Menge, um die die resultierende Leistungsgrenze für den geringeren
Betriebspunkt reduziert wird, kann von Chipelement zu Chipelement
variieren. Dementsprechend wird die gemessene Leistungsgrenze für Chipelemente,
die die Speed StepTM-Technologie implementieren,
nicht dynamisch eingestellt, sondern stattdessen wird ihre Leistungsgrenze
indirekt durch einen gewissen nichtverwalteten Betrag infolge einer
verringerten Spannung und Frequenz bei dem niedrigeren Betriebspunkt
variiert. Wie nachstehend ausführlicher
beschrieben wird, ermöglichen
die Ausführungs beispiele der
vorliegenden Erfindung eine gemessene Leistungsgrenze, die für ein Chipelement
dynamisch eingestellt werden kann. Eine Leistungsgrenze eines Chipelements
kann beispielsweise von einem Bereich von Leistungsgrenzwerten dynamisch
ausgewählt
werden.
-
Es gibt verschiedene Situationen,
in denen es wünschenswert
sein kann, die Leistungsgrenze eines Chipelements dynamisch zu variieren.
Ein Mikroprozessorchipelement kann beispielsweise in einem Multiprozessor-Serversystem
implementiert sein, wie z. B. einem Utility Data Center, und während Perioden
von niedrigen Rechenlasten muß ein
solches Mikroprozessorchipelement eventuell nicht genutzt werden,
und es kann daher wünschenswert
sein, seine Leistungsgrenze während
dieser Perioden zu verringern. Die Leistungsverwaltungssoftware
kann in dem Utility Data Center zum Überwachen der Arbeitslasten
der verschiedenen Prozessoren implementiert sein und die Leistungsgrenzen
für diese
Prozessoren verwalten (z. B. um die Leistungsgrenzen während hoher
Rechenlasten für
ein erhöhtes
Verhalten anzuheben und um die Leistungsgrenzen während geringerer
Rechenlasten für
eine Leistungseinsparung zu senken). Als weiteres Beispiel kann ein
Chipelement in einem tragbaren Gerät, wie z. B. einem Mobiltelefon,
einem PDA, einem Laptop- (oder Notebook-) Computer etc., implementiert
sein, und seine Leistungsgrenze kann dynamisch variiert werden,
um die Batterielebensdauer von solchen Geräten zu verlängern (wenn diese nicht an
eine AC-Quelle gekoppelt sind). Fachleute werden auf verschiedene
Anwendungen hingewiesen, bei denen es wünschenswert sein kann, eine
Leistungsgrenze eines Chipelements zu haben, die dynamisch variiert
werden kann.
-
Ausführungsbeispiele der vorliegenden
Erfindung sehen eine integrierte Schaltung vor, die ihren Leistungsverbrauch
dynamisch variieren kann, um eine dynamisch eingestellte Leistungsgrenze
einzuhalten. Das heißt,
daß ein
Chipelement vorgesehen ist, das seine Leistungsgrenze dynamisch
variieren lassen kann, und das Chipelement variiert seinen Leis tungsverbrauch
in dynamischer Weise, um eine beliebige von einer Mehrzahl von unterschiedlichen
Leistungsgrenzen, die für
das Chipelement spezifiziert sein können, einzuhalten.
-
Ferner sieht ein Ausführungsbeispiel
der vorliegenden Erfindung ein Chipelement vor, das implementiert
ist, um ein optimales Verhalten innerhalb einer spezifizierten Leistungsgrenze
zu liefern. Das heißt,
daß die
Leistungsgrenze des Chipelements dynamisch variiert werden kann,
und nachdem eine spezifische Leistungsgrenze für das Chipelement eingestellt
worden ist, das Chipelement seinen Leistungsverbrauch in einer Weise
variiert, um die eingestellte Leistungsgrenze einzuhalten, jedoch
seinen Leistungsverbrauch in einer Weise variiert, um ein optimales
Verhalten innerhalb der eingestellten Leistungsgrenze zu liefern.
Spannung und Frequenz des Chipelements werden vorzugsweise dynamisch
variiert, um ein optimales Verhalten innerhalb einer eingestellten
Leistungsgrenze zu liefern, wie es in der U.S.-Patentanmeldung,
Seriennummer 09/811,255, mit dem Titel „SYSTEM AND METHOD UTILIZING
ON-CHIP VOLTAGE CONTROLLED FREQUENCY MODULATION TO MANAGE POWER
CONSUMPTION" offenbart
ist, die am 16. März
2001 eingereicht worden ist, deren Offenbarung hiermit durch Bezugnahme
aufgenommen worden ist.
-
Ferner ermöglichen bestimmte Ausführungsbeispiele
der vorliegenden Erfindung ein prognostizierbares Verhalten unter
einer beliebigen von einer Mehrzahl von unterschiedlichen Leistungsgrenzen,
die für
das Chipelement dynamisch eingestellt werden können. Steht einem ein prognostizierbares
Verhalten unter jeder Leistungsgrenze, die für ein Chipelement dynamisch
eingestellt werden kann, zur Verfügung, ist dies allgemein wünschenswert.
Fachleute werden darauf hingewiesen, daß die tatsächliche Leistung, die durch
ein Halbleiterbauelement verbraucht wird, wie z. B. einen Mikroprozessor,
basierend auf seinen Betriebsbedingungen, wie Temperatur und Fertigungsschwankungen
in unterschiedlichen Bauelementen, beträchtlich schwanken kann.
-
Wenn die Leistungsgrenze von einer
maximalen Leistungsgrenze eines Chipelements auf eine geringere
Menge dynamisch reduziert wird, kann das Verhalten, das unter der
neu eingestellten Leistungsgrenze erreichbar ist, zwischen den verschiedenen
unterschiedlichen Chipelementen des gleichen Entwurfs beträchtlich
variieren. Das heißt,
daß das
Verhalten bei einem gegebenen Entwurf eines Mikroprozessorchipelements zwischen
solchen Chipelementen beträchtlich
variieren kann, wenn ihre Leistungsgrenze dynamisch reduziert wird.
Wie nachstehend ausführlicher
beschrieben ist, liefert ein Ausführungsbeispiel der vorliegenden
Erfindung eine Technik zum Liefern eines prognostizierbaren Verhaltens
innerhalb einer akzeptabeln Toleranz (z. B. 5% oder weniger), die
für einen
Chipelemententwurf bei verschiedenen unterschiedlichen Leistungsgrenzwerten
erreichbar ist.
-
Obgleich ein beliebiges geeignetes
Verfahren, das nun bekannt ist oder später entdeckt wird, für ein Chipelement,
das seinen Leistungsverbrauch selbst reguliert, in Verbindung mit
Ausführungsbeispielen
der vorliegenden Erfindung verwendet werden kann, wird ein bevorzugtes
Verfahren für
ein Chipelement, das seinen Leistungsverbrauch selbst reguliert,
um einen solchen Leistungsverbrauch innerhalb einer eingestellten Leistungsgrenze
beizubehalten, in der U.S.-Patentanmeldung, Seriennummer 09/811,255,
mit dem Titel „SYSTEM
AND METHOD UTILIZING ON-CHIP VOLTAGE CONTROLLED FREQUENCY MODULATION
TO MANAGE POWER CONSUMPTION" offenbart.
Vorzugsweise ermöglicht
das verwendete Verfahren, daß das Verhalten
des Chipelements in einer solchen Weise variiert werden kann, so
daß es
ein optimales Verhalten unter der eingestellten Leistungsgrenze
ermöglicht.
Die Technik, die in der U.S.-Patentanmeldung, Seriennummer 09/811,255,
mit dem Titel „SYSTEM
AND METHOD UTILIZING ON-CHIP
VOLTALE CONTROLLED FREQUENCY MODULATION TO MANAGE POWER CONSUMPTION" zum Verwalten eines
Leistungsverbrauchs eines Chipelements offenbart ist, wird nachstehend
in Verbindung mit 1 – 3 beschrieben. Wie nachstehend beschrieben
ist, ermöglicht
ein solches Verfahren, daß das Chipelement
ein optimales Verhalten unter einer gegebenen Leistungsgrenze liefert.
Ferner ist bei einem Ausführungsbeispiel
die Leistungsverwaltungslogik implementiert, um den Leistungsverbrauch
des Chipelements in einer Weise zu verwalten, die ein optimales, prognostizierbares
Verhalten ermöglicht.
Das heißt,
daß das
optimale Verhalten, das für
das Chipelement an der eingestellten Leistungsgrenze prognostizierbar
erreichbar ist (z. B. für
Chipelemente dieses speziellen Entwurfs in konsistenter Weise erreichbar
ist) vorgesehen ist. In dieser Weise kann ein Entwickler und/oder
eine Leistungsverwaltungsanwendung intelligente Entscheidungen bezüglich der
Leistungsgrenze, die für
das Chipelement eingestellt werden soll, oder für ein gegebenes Produkt, in
dem das Chipelement implementiert ist, zu einem beliebigen Zeitpunkt
treffen, weil das Verhalten des Chipelements bei verschiedenen Leistungsgrenzwerten
prognostizierbar ist.
-
Unter Bezugnahme auf 1 ist ein Abschnitt eines Systems 100 gezeigt,
das ein Ausführungsbeispiel
zum Verwalten eines Leistungsverbrauchs eines Chipelements implementiert,
das mit bestimmten Ausführungsbeispielen
der vorliegenden Erfindung verwendet werden kann. Wie gezeigt ist,
liefert eine Leistungsversorgung 102 Leistung an ein Chipelement 106.
Spezieller werden ein Spannungssignal und ein Massesignal, die dem
Chipelement 106 typischerweise durch einen gewissen Gehäuseparasitäreffekt 104 zugeführt werden,
durch die Leistungsversorgung 102 geliefert. Solche Gehäuseparasitäreffekte 104 sind
Fachleuten in der Computertechnik hinreichend bekannt und werden
daher hierin nicht ausführlicher
beschrieben. Somit werden das resultierende Spannungssignal V1 und das Massesignal G1 durch
das Chipelement 106 empfangen. Das Chipelement 106 weist
einen spannungsgesteuerten Frequenzoszillator 108 auf,
der einen Chiptakt CLK1 erzeugt, der als
das Taktsignal für
den Kernchipelementschaltungsaufbau 112 genutzt wird. Es
wird darauf hingewiesen, daß das
Chipelement 106 ein beliebiger Typ einer integrierten Schaltung
sein kann, die ohne Einschrän kung
einen Mikroprozessor umfaßt.
Der Kernchipelementschaltungsaufbau 112 kann beliebige
getaktete Schaltungsaufbaukomponenten des Chipelements 106 umfassen,
wie z. B. eine Logik zum Ausführen von
Anweisungen in einem Mikroprozessor, Speicherelemente für Informationen,
die das Chipelement zum Ausführen
von Operationen verwenden kann, eine arithmetische Verarbeitungslogik
etc.
-
Wie in 1 gezeigt
ist, werden bei einem Ausführungsbeispiel
das empfangene Spannungssignal V1 und das
Massesignal G1 beide dem Kernchipelementschaltungsaufbau 112 und
dem Oszillator 108 zugeführt. Bei einem solchen Ausführungsbeispiel
stellt der Oszillator 108 die Frequenz des Takts CLK1 ein, der durch denselben basierend auf
dem Wert der Spannung V1 erzeugt wird. Spezieller
ist der Oszillator 108 vorzugsweise ein Ringoszillator
(der eine Schleife mit einer ungeraden Zahl von Inversionen umfaßt), und
solche Ringoszillatoren sind in der Technik hinreichend bekannt.
Vorzugsweise ist ein Schaltungsaufbau 110, der Fachleuten
hinreichend bekannt ist, im Oszillator 108 umfaßt, um die
Frequenz des CLK1 basierend auf dem Wert der
Spannung V1 einzustellen. Ein solcher Schaltungsaufbau 110 kann
geschaltete kapazitive oder resistive Elemente umfassen, die die
Schleifenverzögerung
des Ringsoszillators 108 bewirken, und weil solche Elemente
in der Technik hinreichend bekannt sind, werden sie hierin nicht
ausführlicher
beschrieben.
-
Während
z. B. ein Spannung V1 abnimmt, nimmt die
Frequenz von CLK1, die durch den Oszillator 108 ausgegeben
wird, ab. Infolgedessen ermöglicht
der spannungsgesteuerte Oszillator 108 dieses Ausführungsbeispiels
dem Chipelement 106, seinen Leistungsverbrauch selbst zu
regulieren. Wir weisen erneut darauf hin, daß der Leistungsverbrauch des
Chipelements 106 unter Verwendung der Gleichung P = C·VZ·F
genähert
werden kann, wobei P den Leistungsverbrauch darstellt, C die Schaltkapazität darstellt,
V die Betriebsspannung darstellt (z. B. Spannung V1)
und F die Taktfrequenz des Chipelements 106 (z. B. Frequenz
des CLK1) darstellt. Somit kann das Chipelement
seinen Leistungsverbrauch selbst regulieren, während die maximale Frequenz, die
bei der Spannung V1 möglich ist, geliefert wird,
indem der Oszillator 108 die Taktfrequenz des Chipelements 106 (d.
h. die Frequenz von CLK1) dynamisch einstellt.
-
Unter Bezugnahme auf 2 ist ein alternatives Ausführungsbeispiel
zum Verwalten eines Leistungsverbrauchs eines Chipelements, das
dem vorstehenden Ausführungsbeispiel
von 1 ähnlich ist,
gezeigt, bei dem identische Bezugszeichen verwendet werden, um identische
Komponenten zu bezeichnen. Spezieller ist ein Abschnitt eines Systems 200,
das ein solches alternatives Ausführungsbeispiel der vorliegenden
Erfindung implementiert, gezeigt. Wie bei dem beispielhaften Ausführungsbeispiel
von 1 liefert die Leistungsversorgung 102 Leistung
an ein Chipelement 106. Spezieller werden ein Spannungssignal
und ein Massesignal durch die Leistungsversorgung 102 geliefert,
die typischerweise durch Gehäuseparasitäreffekte 104 dem Chipelement 106 zugeführt werden.
Wie vorstehend unter Bezugnahme auf 1 beschrieben
wurde, werden das resultierende Spannungssignal V1 und
das Massesignal G1 durch das Chipelement 106 empfangen.
-
Das Chipelement 106 weist
einen spannungsgesteuerten Frequenzoszillator 108 auf,
der einen Chipelementtakt CLK1 erzeugt,
der als das Taktsignal für
den Kernchipelementschaltungsaufbau 112 verwendet wird.
Der Kernchipelementschaltungsaufbau 112 kann getaktete
Schaltungsaufbaukomponenten des Chipelements 106 umfassen,
wie vorstehend unter Bezugnahme auf 1 beschrieben
wurde. Das empfangene Spannungssignal V1 und
Massesignal G1 werden beide dem Kernchipelementschaltungsaufbau 112 und
dem Oszillator 108 zugeführt. Wie in 2 gezeigt ist, ist ein Kondensator 201 umfaßt, der
als ein Ladungsreservoir dient, in dem eine Ladung, die durch den
Chipelementschaltungsaufbau während
Niedrigleistungsperioden nicht verbraucht wird, entfernt gespeichert
werden kann, um während
Hochleistungsaktivi tätsstößen an das Chipelement
geliefert zu werden. Dies ermöglicht,
daß Stöße einer
Hochleistungs- (und einer Hochverhaltens-) Aktivität für einen
bestimmten vorbestimmten Zeitraum vor den Spannungsabfällen (d.
h. wenn der Kondensator 201 keine Ladung mehr hat) beibehalten
werden kann, und das Chipelement seinen Leistungsverbrauch selbst
drosselt und somit langsamer wird. Natürlich wird darauf hingewiesen,
daß ein
solcher Kondensator 201 in dem Ausführungsbeispiel von 1 in ähnlicher Weise implementiert
sein kann, selbst wenn er nicht gezeigt oder beschrieben ist.
-
Zusätzlich ist bei diesem alternativen
Ausführungsbeispiel
auf dem Chipelement 106 ein Steuerungsschaltungsaufbau 202 umfaßt. Ein
solcher Steuerungsschaltungsaufbau 202 kann die Spannung
steuern, die an den Oszillator 106 geliefert wird, wodurch
die Frequenz des Ausgabetaktsignals CLK1 gesteuert
wird. Sensoren, wie z. B. ein Spannungssensor und/oder ein thermischer
Sensor, können
beispielsweise verwendet werden, um den Spannungspegel, der durch
den Kernschaltungsaufbau 112 gezogen wird, zu überwachen, und
können
einen solchen Spannungspegel an einen Steuerungsschaltungsaufbau 202 kommunizieren.
Der Steuerungsschaltungsaufbau 202 kann wiederum die Spannungseingabe
in den Oszillator 108 steuern, wodurch die Ausgabefrequenz
des Oszillators 108 (d. h. die Frequenz von CLK1) dynamisch gesteuert wird, um den Leistungsverbrauch
des Chipelements zu verwalten. Es wird darauf hingewiesen, daß der Steuerungsschaltungsaufbau 202 auf
dem Chipelement 106 mit einer Software implementiert sein
kann (z. B. als Hardware implementiert sein kann), die auf demselben
zum Verwalten des Leistungsverbrauchs des Chipelements ausgeführt wird.
-
Somit ermöglicht der Steuerungsschaltungsaufbau 202,
daß der
spannungsgesteuerte Oszillator 108 verwendet werden kann,
um den Leistungsverbrauch des Chipelements 106 zu verwalten,
ohne notwendigerweise eine identischen Spannung V1 zu
erfordern, die an den Kernchipelementschaltungsaufbau
112 geliefert wird,
die immer in den Oszillator 108 eingegeben werden muß. Der Schaltungsaufbau
(z. B. Sensoren) kann z. B. zum Überwachen
des Werts der Spannung V1 umfaßt sein,
und ein solcher Schaltungsaufbau kann bewirken, daß der Steuerungsschaltungsaufbau 202 die
Spannung einstellt, die an den Oszillator 108 geliefert wird,
erst nachdem der Wert der Spannung V1 einen
speziellen Schwellenpegel erreicht hat. Ein Steuerungsschaltungsaufbau 202 kann
beispielsweise die Spannungseingabe in den Oszillator 108 bei
einem ersten Wert X beibehalten, bis durch den Schaltungsaufbau
(nicht gezeigt), der den Wert der Spannung V1 überwacht,
die in das Chipelement 106 eingegeben wurde, bestimmt worden
ist, daß solche
Werte einen Schwellenwert „T" erreichen, und nachdem
die Spannung V1 einen solchen Schwellenwert „T" erreicht hat, kann
der Steuerungsschaltungsaufbau 202 den Wert der Spannung,
die in den Oszillator 108 eingegeben wurde, auf einen zweiten Wert „Y" einstellen, der
der Wert der Spannung V1 sein kann. Somit
kann das Chipelement 106 seinen Leistungsverbrauch selbst
regulieren, indem der Oszillator 108 die Taktfrequenz des
Chipelements 106 (d. h. die Frequenz von CLK1)
ansprechend auf den Spannungswert dynamisch einstellt, der an den
Oszillator 108, der durch den Steuerungsschaltungsaufbau 202 gesteuert
wird, geliefert wird.
-
Unter Bezugnahme auf 3 sind exemplarische Signalverläufe gezeigt,
die den Betrieb eines Ausführungsbeispiels
einer Leistungsverwaltungslogik zum Verwalten eines Leistungsverbrauchs
eines Chipelements darstellen. Spezieller ist ein exemplarischer
Signalverlauf für
die Spannung V1, die in das Chipelement 106 eingegeben
wird, für
den Takt CLK1, der durch den Oszillator 108 erzeugt
wird, die externe Leistung, die an das Chipelement 106 verteilt
wird, und ein unmittelbarer Chipelementleistungsverbrauch gezeigt.
Wie gezeigt ist, ist zum Zeitpunkt t0 die
Spannung V1 5V und die Frequenz des Takts
CLK1 ist 100 MHz, was zu einem gewünschten
Wert von „X" Watt einer externen
Leistung führt,
die an das Chipelement 106 verteilt werden soll. Wie das
Beispiel von 3 darstellt,
bleibt die externe Leistung, die an das Chipelement 106 verteilt
wird, bei einem Ausführungsbeispiel
einer Leistungsverwaltungslogik relativ konstant, während der
unmittelbare Chipleistungsverbrauch im Laufe der Zeit erheblich
variieren kann. Zum Beispiel befindet sich der Chipelementleistungsverbrauch
zum Zeitpunkt t0 bei seinem Durchschnittswert.
Einige Zeit später,
zwischen dem Zeitpunkt t0 und dem Zeitpunkt
t1, geht der unmittelbare Chipelementleistungsverbrauch über einen
Durchschnitt (z. B. kann eine rechnerintensive Operation durch den
Kernschaltungsaufbau ausgeführt
werden, wodurch bewirkt wird, daß der unmittelbare Chipelementleistungsverbrauch über den
Durchschnitt ansteigt). Wenn die Chipelementleistung über die
Durchschnittsleistung geht, beginnt der Kondensator 201 bei
einem Ausführungsbeispiel,
die Ladung abzuleiten, um das Chipelement zu versorgen. Somit bleiben,
wie das Beispiel von 3 zeigt,
die Spannung V1, die Frequenz von CLK1 und die externe Leistung, die an das Chipelement 106 verteilt wird,
ab dem Zeitpunkt, ab dem die Chipelementleistung über einen
Durchschnittswert bis zu dem Zeitpunkt t1 ansteigt
(weil der Kondensator 201 seine Ladung ableitet, um das
Chipelement mit der zusätzlichen
notwendigen Leistung zu versorgen), relativ konstant.
-
Im Laufe der Zeit, wenn der Chipelementleistungsverbrauch über Durchschnitt
bleibt, wird die Ladung vom Kondensator 201 abgeleitet,
und die Spannung V1 fällt ab, was dazu führt, daß die Chipelementleistung auf
den Durchschnittswert reduziert wird. Zum Zeitpunkt t1 liefert
der Kondensator 201 beispielsweise immer noch die notwendige
Leistung, um der Spannung V1 zu ermöglichen,
auf 5 V zu verbleiben. Ferner verbleibt die Frequenz des Takts CLK1, der durch den Oszillator 108 ausgegeben
wird, bei 100 MHz, wobei die externe Leistung, die an das Chipelement 106 verteilt
wird, bei einem gewünschten
Wert von „X" Watt verbleibt.
Vom Zeitpunkt t1 bis zum Zeitpunkt t2 fällt
die Spannung V1 von 5 Volt auf 4 Volt ab
(z. B. während
die Ladung vom Konden sator 201 abgeleitet wird), und ansprechend
darauf nimmt die Frequenz des Takts CLK1,
der durch den Oszillator 108 ausgegeben wird, schrittweise
von 100 MHz auf 50 MHz ab, um die externe Leistung, die an das Chipelement 106 verteilt
wird, im wesentlichen bei den gewünschten „X" Watt beizubehalten. Wie ferner in dem Beispiel
von 3 gezeigt ist, führt die
Abnahme der Spannung V1 und der Frequenz
von CLK1 zu einer Abnahme des unmittelbaren
Chipelementleistungsverbrauchs (zurück zu seinem Durchschnitt).
Vom Zeitpunkt t2 zum Zeitpunkt t3 bleibt die Spannung V1 bei
4 Volt, und ansprechend darauf bleibt die Frequenz des Takts CLK1, der durch den Oszillator 108 ausgegeben
wird, bei 50 MHz, wodurch der unmittelbare Chipleistungsverbrauch
des Chipelements 106 im wesentlichen bei seinem Durchschnitt
beibehalten wird, während
die externe Leistung, die durch das Chipelement 106 erforderlich
ist, bei den gewünschten „X" Watt bleibt.
-
Kurze Zeit nach dem Zeitpunkt t2 sinkt der unmittelbare Leistungschipelementverbrauch
unter seinen Durchschnitt (z.B. während die rechenintensive Operation
beendet wird). Somit steigt ansprechend darauf die Spannung V1 vom Zeitpunkt t3 zum
Zeitpunkt t4 langsam von 4 Volt wieder auf
5 Volt an, und ansprechend darauf steigt die Frequenz des Takts
CLK1, der durch den Oszillator 108 ausgegeben
wird, langsam von 50 MHz auf 60 MHz. Dementsprechend nimmt die Frequenz
des Takts CLK1, der durch den Oszillator 108 ausgegeben wird,
zu, da der Wert der Spannung V1 zunimmt,
wodurch ein schnellerer Betrieb des Kernschaltungsaufbaus 112 des
Chipelements 106 ermöglicht
wird, ohne einen Anstieg der externen Leistung zu erfordern, die
an das Chipelement 106 verteilt wird. Es wird darauf hingewiesen,
daß bei
einem Ausführungsbeispiel
die externe Leistung, die an das Chipelement 106 verteilt
wird, relativ konstant bleibt (d. h. bei den gewünschten „X" Watt), während der Chipelementleistungsverbrauch
unter dem Durchschnitt ist, um zu ermöglichen, daß die Leistung in der Form
einer Ladung auf dem Kondensator 201 entfernt gespeichert
werden kann (z. B. um die Ladung des Kondensators 201 nachzufüllen). Da
die Spannung V1 und die Frequenz von CLK1 ansteigen, kehrt der unmittelbare Chipelementleistungsverbrauch
zu seinem Durchschnitt zurück.
Nach dem Zeitpunkt t9 bleibt der Chipelementleistungsverbrauch
im wesentlichen bei seinem Durchschnitt, und die Spannung V1 bleibt somit bei 5 Volt. Ansprechend auf
die Spannung V1, die bei 5 Volt bleibt,
bleibt die Frequenz des Takts CLK1, der durch
den Oszillator 108 ausgegeben wird, bei 100 MHz, wodurch
die externe Leistung, die an das Chipelement 106 verteilt
werden soll, bei den gewünschten „X" Watt beibehalten
wird.
-
Wie in dem Beispiel von 3 gezeigt ist, verwendet
ein Ausführungsbeispiel
der Leistungsverwaltungslogik zum Selbstregulieren eines Leistungsverbrauchs
eines Chipelements einen Auf-Chipelement-Oszillator 108,
um die Taktfrequenz CLK1 für den Kernschaltungsaufbau 112 des
Chipelements 106 ansprechend auf die Spannung V1 dynamisch zu erzeugen, um den Leistungsverbrauch
des Chipelements 106 zu verwalten. Dementsprechend sollte
erkannt werden, daß ein
Ausführungsbeispiel
einen nahtlosen und feinkörnigen Lösungsansatz
liefert, um das beste Verhalten pro Watt zu erreichen. Ein Ausführungsbeispiel
ermöglicht
beispielsweise einen Betrieb bei der höchsten Verarbeitungsgeschwindigkeit
(oder schnellsten Taktfrequenz), die möglich ist, während sie
innerhalb eines gewünschten
Leistungsverbrauchs bleibt. Die Taktfrequenz des Chipelements, die
durch einen Auf-Chipelement-Oszillator 108 geliefert wird,
kann sich dynamisch so einstellen, daß sie bei der schnellstmöglichen
Frequenz konsistent bleibt, um innerhalb des gewünschten Leistungsverbrauchs
zu bleiben.
-
Es wird darauf hingewiesen, daß bei einem
Ausführungsbeispiel
der Leistungsverwaltungslogik, nachdem ein Chipelement auf eine
verringerte Spannung gestoßen
ist, die durch eine anhaltende Hochleistungsaktivität auf dem
Chipelement (oder spezifische Spannungsverwaltungsverfahren, die
durch eine Stromquelle 202 eingebracht wurden), bewirkt
werden kann, ein Ausführungsbeispiel
beispielsweise die Chipelementfrequenz (z. B. CLK1)
gerade um so viel dynamisch reduziert, daß das Chipelement bei einer
solchen reduzierten Spannung funktionsfähig bleibt (was in der Verantwortung
des Oszillators 108 liegt). Spezieller, da der Kernschaltungsaufbau 112 des
Chipelements mehr Strom zieht, wodurch die Spannungseingabe in den
Oszillator 108 verringert wird, nimmt die Frequenz des
CLK1, die durch den Oszillator 108 ausgegeben
wird, ab. Andererseits, da der Kernschaltungsaufbau 112 des
Chipelements weniger Strom zieht, wodurch die Spannung erhöht wird,
die dem Oszillator zur Verfügung
steht, nimmt die Frequenz des CLK1, die
durch einen solchen Oszillator 108 ausgegeben wird, zu.
-
Es wird darauf hingewiesen, daß ein Ausführungsbeispiel
einer Leistungsverwaltungslogik eine einfache Einrichtung zum Verbinden
eines Verhaltens mit einer Leistung liefert. Das heißt, daß ein Ausführungsbeispiel
eine relativ einfache Möglichkeit
zum Verknüpfen
der Taktfrequenz eines Chipelements mit seinem Leistungsverbrauch
in dynamischer Weise vorsieht. Man nehme z. B. eine erhöhte Anzahl
von leistungshungrigen Einheiten (oder Komponenten) an, die auf
dem Chip 106 plötzlich
aktiviert werden. Ein Ausführungsbeispiel einer
Leistungsverwaltungslogik ermöglicht
dem Chipelement 106, auf eine solche erhöhte Anzahl
von aktivierten Einheiten dynamisch anzusprechen, indem die Spannung
und somit die Taktfrequenz gesenkt wird, die durch den Oszillator 108 erzeugt
wird, um den Leistungsverbrauch des Chipelements zu verwalten. Ferner
ist aufgrund einer (kubischen) Verringerung dritten Grades der Leistung,
die bei einer simultanen Frequenz- und Spannungsverringerung (P
= C ·VZ·F)
erreicht wird, ein Leistungs-/Verhaltenskompromiß viel besser als grobe funktionelle
Verfahren, wie z. B. ein Drosseln von Einheiten oder Sperren von
Ports,.
-
Es wird darauf hingewiesen, daß ein Ausführungsbeispiel
der Leistungsverwaltungslogik einen Verzicht auf die PLL (PLL =
phase locked loop = Phasenregelschleife) als die Quelle der variierenden
Frequenz ermöglicht,
die üblicherweise
bei bekannten Mikroprozessorentwürfen
erforderlich ist, was typischerweise sehr schwierig zu konzipieren
ist. Das heißt,
bei einer Implementierung eines Auf-Chipelement-Oszillators 101 zum Erzeugen
des Takts für
den Kernschaltungsaufbau des Chipelements muß eine PLL-Neuverriegelung
(ein zeitaufwendiger Prozeß zum Ändern der
Frequenz) bei einem Ausführungsbeispiel
nicht implementiert sein, was bei der Vereinfachung des Entwurfs
eines Chipelements hilfreich sein kann.
-
Ferner wird darauf hingewiesen, daß die vorstehend
beschriebenen Ausführungsbeispiele
der Leistungsverwaltungslogik zum Verwalten eines Leistungsverbrauchs
innerhalb eines Chipelements bei einem beliebigen Typ einer integrierten
Schaltung implementiert sein können
und daß eine
solche Implementierung innerhalb des Schutzbereichs der vorliegenden
Erfindung liegen soll. Solche Ausführungsbeispiele können beispielsweise
in integrierten Schaltungen als Mikroprozessoren, eingebettete Steuerungen,
Netzrouter, Graphikprozessoren und andere ASICs (ASIC = application
specific integrated circuit = anwendungsspezifische integrierte
Schaltung) implementiert sein. Obwohl eine Implementierung am bevorzugtesten
innerhalb eines Mikroprozessorchipelements verwendet wird.
-
Ausführungsbeispiele der vorliegenden
Erfindung ermöglichen,
daß die
Leistungsgrenze eines Chipelements, z. B. als Chipelement 106 in
den vorstehenden Beispielen, dynamisch variiert werden kann. Unter Bezugnahme
auf 4 ist ein Abschnitt
eines Systems 400, das ein Ausführungsbeispiel der vorliegenden
Erfindung implementiert, gezeigt. Wie gezeigt ist, führt die
Leistungsversorgung 102 die Leistung dem Chipelement 401 zu.
Spezieller werden ein Spannungssignal und ein Massesignal, die typischerweise
durch bestimmte Gehäuseparasitäreffekte 104 dem
Chipelement 401 zugeführt
werden, durch die Leistungsversorgung 102 zugeführt, wie
vorstehend in Verbindung mit 1 und 2 beschrieben wurde. Somit
werden das resultierende Spannungssignal V1 und
Massesignal G1 durch das Chipelement 401 empfangen.
Es wird darauf hingewiesen, daß bei
dem Chipelement 106, das vorstehend beschrieben wurde,
das Chipelement 401 ein beliebiger Typ einer integrierten
Schaltung sein kann, die einschränkungslos
einen Mikroprozessor umfaßt.
Das Chipelement 401 weist einen Kernchipelementschaltungsaufbau 403 auf,
der beliebige getaktete Schaltungsaufbaukomponenten des Chipelements 401,
wie z. B. eine Logik zum Ausführen
von Anweisungen in einem Mikroprozessor, Speicherelemente für Informationen,
die das Chipelement für
ein Ausführen
von Operationen verwenden kann, eine arithmetische Verarbeitungslogik
etc., umfassen kann.
-
Das Chipelement 401 weist
ferner eine Leistungsverwaltungslogik 402 zum Selbstregulieren seines Leistungsverbrauchs
auf. Vorzugsweise kann eine solche Leistungsverwaltungslogik 402 in
einer Weise, die in 1 oder 2 vorstehend beschrieben
wurde, implementiert sein. Eine solche Leistungsverwaltungslogik 402 kann
beispielsweise einen spannungsgesteuerten Frequenzoszillator (z.
B. Oszillator 108 von 1 oder 2 oben) aufweisen, der ein
Taktsignal aufweist (z. B. CLK1 in den vorstehenden
Beispielen von 1 und 2), das als das Taktsignal
für den
Kernchipelementschaltungsaufbau 403 verwendet wird. Wie
vorstehend beschrieben, kann die Frequenz eines solchen Taktsignals
durch eine Leistungsverwaltungslogik 402 dynamisch variiert
werden, um den Leistungsverbrauch des Chipelements zu regulieren,
um einen solchen Leistungsverbrauch innerhalb einer gegebenen Leistungsgrenze
beizubehalten. Zusätzlich,
wie vorstehend beschrieben ist, ist die Leistungsverwaltungslogik 402 vorzugsweise
betreibbar, um eine Leistungsversorgung 102 zu steuern,
um die Versorgungsspannung („VDD") dynamisch zu verändern, die
an das Chipelement 401 geliefert wird.
-
Ferner ist in dem System 400 eine
Leistungsgrenzsteuerung 404 umfaßt. Die Leistungsgrenzsteuerung 404 ist
betreibbar, um die Leistungsgrenze des Chipelements 401 auf
einen beliebigen von einer Mehrzahl von unterschiedlichen Werten
einzustellen. Das heißt,
daß die
Leistungsgrenzsteuerung 404 die Leistungsgrenze des Chipelements 401 auf
eine beliebige von einer Mehrzahl von unterschiedlichen gemessenen Leistungsgrenzen
(oder spezifischen Leistungsgrenzwerten) dynamisch einstellen kann.
Die Leistungsverwaltungslogik 402 ist betreibbar, um das
Verhalten des Chipelements dynamisch zu variieren (z. B. um die
Taktfrequenz zu variieren, die an den Kernschaltungsaufbau 403 geliefert
wird) und die Spannung V1 zu steuern, die
durch die Leistungsversorgung 102 geliefert wird, um eine
dynamisch eingestellte Leistungsgrenze einzuhalten. Das heißt, daß die Leistungsverwaltungslogik 402 betreibbar
ist, um den Leistungsverbrauch des Chipelements 401 selbst
zu regulieren, um eine dynamisch eingestellte Leistungsgrenze einzuhalten.
-
Die Leistungsgrenzsteuerung 404 kann
eine beliebige Logik im System 400 zum Einstellen der Leistungsgrenze
des Chipelements 401 aufweisen. Die Leistungsgrenzsteuerung 404 kann
beispielsweise bei einigen Systemen eine Leistungsverwaltungssoftware
aufweisen, die die Leistungsgrenze steuert, um für das Chipelement 401 zu
einem gegebenen Zeitraum wirksam zu sein. Als weiteres Beispiel
kann die Leistungsgrenzsteuerung 404 bei bestimmten Systemen
eine Hardware zum Überwachen
des Chipelements 401 aufweisen (z. B. seine Aktivität, Temperatur
etc.) und die Leistungsgrenze für
ein solches Chipelement 401 dynamisch variieren. Dementsprechend,
obwohl sich die Leistungsgrenzsteuerung 404, laut Darstellung
in dem Beispiel von 1,
außerhalb
des Chipelements 401 befindet, kann sie bei bestimmten
Implementierungen einen Schaltungsaufbau aufweisen, der auf dem
Chipelement 401 zum Einstellen der Leistungsgrenze des Chipelements
implementiert ist. Somit kann das Chipelement 401 bei bestimmten
Ausführungsbeispielen
an sich eine Leistungsgrenzsteuerung 404 aufweisen, so
daß es
die ordnungsgemäße Leistungsgrenze
für sich selbst
dynamisch bestimmen und die Leistungsverwaltungslogik 402 zum
Regu lieren seines Leistungsverbrauchs verwenden kann, um die bestimmte
Leistungsgrenze einzuhalten.
-
Das Chipelement 401 kann
seinen Leistungsverbrauch dynamisch variieren, um eine dynamisch
eingestellte Leistungsgrenze einzuhalten, die durch eine Leistungsgrenzsteuerung 404 spezifiziert
ist. Spezieller steuert die Leistungsverwaltungslogik 402 den
Betrieb des Chipelements 401, um sicherzustellen, daß das Chipelement 401 seinen
Leistungsverbrauch innerhalb einer dynamisch eingestellten Leistungsgrenze
beibehält.
Bei einem Beispiel wird angenommen, daß zu einem ersten Zeitpunkt
t1 die Leistungsgrenzsteuerung 404 die
Leistungsgrenze für
das Chipelement 401 auf einen ersten Wert (z. B. 100 Watt)
setzt, die Leistungsverwaltungslogik 402 den Betrieb des
Chipelements 401 (z. B. durch Einstellen der Spannung,
die an das Chipelement 401 geliefert wird, und/oder der
Taktfrequenz, die an den Kern 403 geliefert wird) steuert,
um den Leistungsverbrauch des Chipelements innerhalb des ersten
Werts beizubehalten. Ferner wird davon ausgegangen, daß zu einem
späteren
Zeitpunkt t2 die Leistungsgrenzsteuerung 404 die
Leistungsgrenze für
das Chipelement 402 auf einen zweiten Wert (z. B. 80 Watt)
dynamisch ändert.
Ansprechend darauf steuert die Leistungsverwaltungslogik 402 den
Betrieb des Chipelements 401 (z. B. durch Einstellen der
Spannung, die an das Chipelement 401 geliefert wird, und/oder
der Taktfrequenz, die an den Kern 403 geliefert wird),
um den Leistungsverbrauch des Chipelements innerhalb des neu eingestellten
zweiten Werts beizubehalten.
-
Wie vorstehend erwähnt wurde,
existieren verschiedene Situationen, in. denen es wünschenswert sein
kann, die Leistungsgrenze des Chipelements 401 dynamisch
zu variieren. Zum Beispiel kann das Chipelement 401 in
einem Multiprozessorservosystem, wie z. B. einem Utility Data Center,
implementiert sein, und während
Perioden geringer rechnerischer Lasten muß ein solcher Prozessor 402 nicht
verwendet werden, und daher kann es wünschenswert sein, seine Leistungsgrenze
während
dieser Perioden zu reduzieren. Die Leistungsverwaltungssoftware
kann in dem Utility Data Center zum Überwachen der Arbeitslasten
der verschiedenen Prozessoren implementiert sein und die Leistungsgrenzen
dieser Prozessoren verwalten (z. B. um die Leistungsgrenzen während hoher
rechnerischer Lasten für
ein erhöhtes
Verhalten anzuheben und die Leistungsgrenzen während geringerer rechnerischer
Lasten für
eine Leistungseinsparung zu senken). Als weiteres Beispiel kann
das Chipelement 401 in einem tragbaren Gerät, wie z.
B. einem Mobiltelefon (z. B. einem Zellulartelefon), einem persönlichen
Datenassistenten, einem Laptop- oder Notebook-Computer etc., implementiert sein,
und seine Leistungsgrenze kann dynamisch variiert werden, um die
Batterielebensdauer von solchen Geräten (wenn sie nicht mit einer
Wechselstromquelle gekoppelt sind) zu verlängern.
-
Bei einem Ausführungsbeispiel der vorliegenden
Erfindung ist das Chipelement 401 implementiert, um ein
optimales Verhalten innerhalb einer spezifizierten Leistungsgrenze
zu liefern. Das heißt,
daß die
Leistungsgrenze des Chipelements dynamisch variiert werden kann
(z. B. durch die Leistungsgrenzsteuerung 404), und, nachdem
eine spezifische Leistungsgrenze für das Chipelement 401 eingestellt
worden ist, steuert die Leistungsverwaltungslogik 402 den
Betrieb des Chipelements (z. B. durch Einstellen der Taktfrequenz,
die dem Kern 403 zugeführt
wird), um die eingestellte Leistungsgrenze in einer Weise einzuhalten,
die ein optimales Verhalten innerhalb der eingestellten Leistungsgrenze
liefert. Vorzugsweise implementiert die Leistungsverwaltungslogik 402 ein
Verfahren, wie jenes, das vorstehend in Verbindung mit 1 – 3 beschrieben
wurde, um die schnellstmögliche
Taktfrequenz an den Kern 403 in konsistenter Weise zu liefern,
was ermöglicht,
daß das
Chipelement innerhalb der dynamisch eingestellten Leistungsgrenze
bleibt. Wie vorstehend angemerkt, liefern die beispielhaften Selbstregulierungstechniken,
die in Verbindung mit 1 – 3 beschrieben wurden, einen
nahtlosen und feinkörnigen Lösungsansatz
zum Erreichen des besten Verhaltens pro Watt. Die Techniken, die
vorstehend beschrieben wurden, ermöglichen beispielsweise den
Betrieb bei der höchsten
Verarbeitungsgeschwindigkeit (oder schnellsten Taktfrequenz), die
möglich
ist, während
innerhalb eines gewünschten Leistungsverbrauchs
verblieben wird (z. B. innerhalb einer dynamisch eingestellten Leistungsgrenze
verblieben wird). Somit implementiert ein Ausführungsbeispiel eine Leistungsverwaltungstechnik
(in der Logik 402), die die Frequenz eines Taktsignals,
die an den Kern 403 geliefert wird, in einer Weise dynamisch
variieren kann, die die höchstmögliche Taktfrequenz
ermöglicht,
während
innerhalb einer gegebenen Leistungsgrenze verblieben wird, wobei
eine solche Leistungsgrenze durch die Leistungsgrenzsteuerung 404 dynamisch
eingestellt werden kann.
-
Ferner ermöglichen bestimmte Ausführungsbeispiele
der vorliegenden Erfindung ein prognostizierbares Verhalten des
Chipelements 401 unter einer beliebigen von einer Mehrzahl
von unterschiedlichen Leistungsgrenzen, die für das Chipelement dynamisch
eingestellt werden können.
Das heißt,
daß das
Verhalten des Chipelements 401 unter jeder von einer Mehrzahl
von unterschiedlichen Leistungsgrenzen, die für das Chipelement dynamisch
eingestellt werden können,
bei bestimmten Ausführungsbeispielen
exakt prognostizierbar ist. Speziell, wenn das optimale Verhalten
an jedem Leistungsgrenzpegel vorgesehen ist, variiert das Verhalten
des Chipelements allgemein unter den unterschiedlichen Leistungsgrenzen.
Fachleute werden beispielsweise darauf hingewiesen, daß sich die
maximale Taktfrequenz, die an den Kern 403 unter einer
ersten Leistungsgrenze geliefert wird, die für das Chipelement 401 eingestellt
ist (z. B. 100 Watt), allgemein von der maximalen Taktfrequenz unterscheidet,
die an den Kern 403 unter einer anderen Leistungsgrenze,
die für
das Chipelement 401 eingestellt ist (z. B. 30 Watt), geliefert
werden kann.
-
Somit wird von einer maximalen Leistungsgrenze
des Chipelements ausgegangen, die 100 Watt beträgt, und von einer maximalen
Frequenz unter einer 100-Watt-Leistungsgrenze, die 2,5 GHz ist.
Die maximale Taktfrequenz, die durch ein Chipelement für seine
maximale Leistungsgrenze erreichbar ist, ist für das Chipelement allgemein
gut definiert (und ist z. B. ein Wert, der in den Spezifikationen
des Chipelements durch den Chipanbieter angegeben werden kann).
Wenn die Leistungsgrenze des Chipelements jedoch von 100 Watt auf beispielsweise
30 Watt dynamisch reduziert wird, verändert sich die maximale Frequenz
des Chipelements unter dieser neuen Leistungsgrenze wahrscheinlich
auf einen Wert von weniger als 2,5 GHz, der bei seiner maximalen
Leistungsgrenze erreichbar ist. Obgleich das Verhalten des Chipelements
(z. B. Taktfrequenz) ansprechend auf eine verringerte Leistungsgrenze
verringert werden kann, ist eine solche Verringerung des Verhaltens
unter den meisten Umständen
akzeptabel, um die reduzierte Leistungsgrenze zu erreichen. Der
Wert, auf den sich das Verhalten des Chipelements unter der reduzierten
Leistungsgrenze reduziert, ist wünschenswerter
Weise allgemein prognostizierbar. Das heißt, daß, obgleich ein Verhalten,
das geringer ist als das, das bei einer maximalen Leistungsgrenze
erreichbar ist, im Gegenzug zu einer verringerten Leistungsgrenze
akzeptabel sein kann, es allgemein wünschenswert ist, das Verhalten
(zumindest zu einem gewissen Grad der Genauigkeit, wie z. B. 5%
oder weniger) zu kennen, das unter der reduzierten Leistungsgrenze
erwartet werden kann. Wenn z.B. zumindest die „X" Taktfrequenz für das Chipelement notwendig
ist, um eine gegebene Aufgabe innerhalb eines gewünschten
Zeitraums auszuführen,
dann kann es beispielsweise wünschenswert
sein, zu prognostizieren, ob und/oder zu welchem Grad die Leistungsgrenze
des Chipelements reduziert werden kann, und dem Chipelements immer
noch ermöglichen,
die notwendige „X" Taktfrequenz zu
liefern.
-
Wie vorstehend oben kurz beschrieben
wurde, ist es für
ein Chipelement allgemein wünschenswert, ein
prognostizierbares Verhalten aufzuweisen. Liegt ein prognostizierbares
Verhaltensniveau vor, ist dies speziell für Mikroprozessoren wichtig,
wo Benutzer damit rechnen, daß Anwendungen,
wie z.B. ein Streaming-Video, numerische Simulationen etc., auf
einem spezifischen Niveau ausgeführt
werden. Ein Sicherstellen einer prognostizierbaren Frequenz des
Betriebs für
reduzierte Leistungspegel (d. h. weniger als die maximale Leistungsgrenze
eines Chipelements) ist viel schwieriger als die herkömmliche
feststehende Leistung/Frequenz/Spannung, die auf den meisten Chipelementen
verwendet wird (z. B. auf den meisten VLSI-Chipelementen (VLSI =
very large scale integration chip = höchstintegrierter Schaltkreis)).
Für diese
Schwierigkeiten gibt mehrere Gründe,
von denen zwei nachstehend beschrieben sind.
-
Zunächst variieren der Leistungsverbrauch
und die Frequenz des Betriebs (Schaltungsgeschwindigkeit) mit der
Temperatur. Für
traditionelle Chipelemente liegt lediglich ein Maximum vor, die
Temperatur nicht zu überschreiten,
und es ist garantiert, daß die
spezifizierte Frequenz des Betriebs des Chipelements erfüllt wird,
solange diese Temperatur nicht überschritten
wird. Desgleichen ist garantiert, daß die maximale Leistung für das Chipelement
nicht bei der maximalen Temperatur überschritten wird. Wenn jedoch
für ein
spannungs- und frequenzmoduliertes Chipelement (z. B. Chipelemente,
die die Leistungsverwaltungstechniken, die vorstehend in Verbindung
mit 1 – 3 beschrieben wurden, implementieren)
die Leistungsgrenze von einem Maximum reduziert worden ist, ist
die Auswirkung, die dies auf die Geschwindigkeit des Chipelements
hat, nicht prognostizierbar, weil die Temperatur typischerweise
nicht gut gesteuert ist (außer,
um sicherzustellen, daß sie die
maximale Temperatur nicht überschreitet).
-
Zweitens bewirken Fertigungsschwankungen
zwischen den Chipelementen, daß sie
für die
gleiche Betriebsfrequenz unterschiedliche Leistungsmengen verbrauchen.
Selbst wenn zwei Chipelemente bei 100 Watt und einem 2,5-GHz-Verhalten
spezifiziert sein können,
könnte
somit das erste Chipelement 90 Watt und das zweite Chipelement 99
Watt verbrauchen, um das 2,5-GHz-Verhalten zu liefern. In beiden
Fällen
wird in dem vorstehenden Beispiel die 100-Watt-Grenze erfüllt, wenn
jedoch die Leistungsgrenze auf 90 Watt reduziert wird, muß das zweite
Chipelement seine Frequenz (und Spannung) reduzieren, um seinen
Leistungsverbrauch von 99 Watt auf 90 Watt zu senken; das erste
Chipelement wird dies jedoch nicht tun (da es bereits bei einem
Leistungsverbrauch von 90 Watt war).
-
Angesichts des vorstehenden ist das
spezifische maximale Verhalten, das durch ein Chipelement geliefert
wird, wenn seine Leistungsgrenze unter seine maximale Leistungsgrenze
reduziert worden ist, unbekannt und schwierig zu prognostizieren
sein. Ferner muß sich
das Verhalten nicht notwendigerweise mit dem gleichen Prozentsatz
reduzieren, mit dem die Leistungsgrenze für das Chipelement reduziert
wird. Wenn z. B. eine Leistungsgrenze eines Chipelements um 10%
seiner maximalen Leistungsgrenze reduziert wird, folgt daraus nicht
notwendigerweise, daß das
Verhalten des Chipelements um 10% seines maximalen Verhaltens reduziert
wird. Somit besteht ein Bedarf an einem Verfahren zum Liefern eines
konsistenten Verhaltens (z. B. einer Betriebsfrequenz) für Chipelemente,
die bei Leistungsgrenzen operieren, die geringer als ihre maximale Leistungsgrenze
sind.
-
Für
ein Chipelement mit einem Leistungsverwaltungssystem, das demselben
ermöglicht,
die Betriebsfrequenz auf einen einigermaßen feinen Genauigkeitspegel
zu steuern (z. B. näherungsweise
eine Toleranz von 5% oder weniger), kann dieses Verfahren eine einfache
Nachschlagtabelle sein, die einen Frequenzverringerungswert für einen
gegebenen Leistungsreduktionswert liefert. Dementsprechend sind
die Chipelemente bei einem Ausführungsbeispiel
der vorliegenden Erfindung gekennzeichnet, um eine Abbildung von
Verhaltens werten für
entsprechende Leistungsgrenzwerte zu bestimmen. Spezieller sind
eine Mehrzahl von ähnlichen
Chipelementen (d. h. Chipelemente des gleichen Entwurfs) charakterisiert,
um für
jede von einer Mehrzahl von unterschiedlichen Leistungsgrenzen den
maximalen Verhaltenswert zu bestimmen, der allen Chipelementen ermöglicht,
eine eingestellte Leistungsgrenze einzuhalten.
-
Bei einem Beispiel wird davon ausgegangen,
daß ein
gegebener Chipelementsatz eine maximale Leistungsgrenze von 100
Watt aufweist und ein 100-MHz-Verhalten an seiner maximalen Leistungsgrenze
liefert. Eine Anzahl (z. B. 100) solcher Chipelemente ist bei verschiedenen
reduzierten Leistungsgrenzen charakterisiert. Die Chipelemente können beispielsweise
charakterisiert sein, um die maximale Taktfrequenz von jedem Chipelement
zu bestimmen, die dem Chipelement ermöglicht, seinen Leistungsverbrauch
bei oder unter 80 Watt beizubehalten. Der unterste Taktfrequenzwert,
der für
die Chipelemente bestimmt ist, kann dann als ein prognostizierbarer
Verhaltenswert festgelegt sein, der innerhalb einer 80-Watt-Leistungsgrenze
für den Chipelementsatz
erreichbar ist. In einem Beispiel wird angenommen, daß 100 der
Chipelemente charakterisiert sind, um ihre maximalen Taktfrequenzen
zu bestimmen, während
sie der 80-Watt-Leistungsgrenze
entsprechen, und 90 MHz werden als die maximale Taktfrequenz bei
80 Watt für
20 der Chipelemente bestimmt, 88 MHz werden als die maximale Taktfrequenz
bei 80 Watt für
20 der Chipelemente bestimmt, 87 MHz werden als die maximale Taktfrequenz
bei 80 Watt für
20 der Chipelemente bestimmt, 85 MHz werden als die maximale Taktfrequenz
bei 80 Watt für
20 der Chipelemente bestimmt und 83 MHz werden als die maximale
Taktfrequenz bei 80 Watt für
20 der Chipelemente bestimmt. Bei diesem Beispiel können 83
MHz als ein prognostizierbarer Verhaltenswert für Chipelemente dieses Typs
bei einer 80-Watt-Leistungsgrenze festgelegt werden. Das heißt, weil
alle der Chipelemente der 80-Watt-Leistungsgrenze entsprechen können, wenn
eine maximale Frequenz von 83 MHz geliefert wird, daß der 83-MHz-Wert
als die Maximalfrequenz festgelegt werden kann, der für die Chipelemente
bei einer 80-Watt-Leistungsgrenze verfügbar ist.
-
In der Technik sind Verfahren zum
Charakterisieren des Verhaltens eines gegebenen Chipelemententwurfs
unter einer spezifizierten Leistungsgrenze hinreichend bekannt und
daher werden solche Verfahren hierin nicht ausführlich beschrieben. Bei bestimmten
Techniken können
die Chipelemente unter einer Mehrzahl von unterschiedlichen Bedingungen,
z. B. Temperaturen, Rechenlasten, denen sie unterliegen, etc., charakterisiert
sein, und ihr Verhalten kann unter den Bedingungen überwacht
werden, um das prognostizierbare Verhalten zu bestimmen, das für den Chipelemententwurf
bei verschiedenen unterschiedlichen Leistungsgrenzen angegeben werden
kann.
-
Dementsprechend wird bei einem Ausführungsbeispiel
das prognostizierbare Verhalten eines speziellen Chipelemententwurfs,
das unter einer gegebenen Leistungsgrenze (innerhalb einer akzeptablen
Toleranz) erreicht wird durch Charakterisierung der Chipelemente
bestimmt. Anschließend
kann eine Tabelle konstruiert werden, die verschiedene Leistungsgrenzwerte
abbildet, die für
das Chipelement auf die entsprechenden prognostizierbaren Verhaltenswerte
des Chipelements dynamisch eingestellt werden können. Bei dem vorstehenden
Beispiel kann die Abbildungsstruktur beispielsweise eine 80-Watt-Leistungsgrenze
auf eine 83-MHz-Taktfrequenz
für das
Chipelementkonzept abbilden. Eine solche Tabelle (oder ein anderer
Typ einer Abbildungsstruktur, wie z. B. eine Datenstruktur etc.)
kann dann verwendet werden, um die maximale Taktfrequenz eines Chipelements
ansprechend auf seine Leistungsgrenze einzustellen, die auf einen
Wert unter seiner maximalen Leistungsgrenze dynamisch eingestellt
wird. Eine beispielhafte Implementierung einer solchen Tabelle ist
weiter unten in Verbindung mit 5 beschrieben.
-
Eine Tabelle zum Abbilden der prognostizierbaren
Verhaltenswerte auf entsprechende Leistungsgrenzwerte eines Chipelements
kann als Graph dargestellt werden, wie jener, der in 5 gezeigt ist. Bei dem Beispiel
von 5 wird die maximale
Leistungsgrenze (und die entsprechende maximale Frequenz) des Chipelements
auf einen Punkt abgebildet (1,0, 1,0) des Graphen abgebildet. Verschiedene
Prozentsätze
der maximalen Leistungsgrenze des Chipelements werden entlang der
Horizontalachse des Graphen geliefert, und verschiedene Prozentsätze der
maximalen Taktfrequenz des Chipelements sind entlang der Vertikalachse
des Graphen vorgesehen. Wenn daher die maximale Leistungsgrenze
des Chipelements 100 Watt ist, würde
ein Einstellen derselben auf 80 Watt (0,8 in dem Graphen von 5) zu einer Frequenz führen, die
auf 0,9 mal der maximalen Frequenz eingestellt ist. Die exakte Beziehung
zwischen der Leistung und der Frequenz wird vorzugsweise durch Charakterisierung
eines typischen Siliziums bestimmt, so daß bei allen Fertigungsschwankungen
und Temperaturen garantiert werden kann, daß das Chipelement innerhalb
einer gewissen Toleranz (z. B. näherungsweise
5% oder weniger) der spezifizierten Frequenzen für eine gegebene Leistungsgrenze
liegt. Somit kann beim Angeben des Verhaltens eines Mikroprozessors
ein wiederholbarer, prognostizierbarer Wert selbst dann für weniger
als die maximale Leistungsgrenzen gegeben sein, die für das Chipelement
dynamisch eingestellt sein können.
-
Ein Beispielalgorithmus zum Bestimmen
der Frequenz, die für
ein Chipelement ansprechend auf eine gegebene Leistungsgrenze einzustellen
ist, ist:
wobei f_of_ power[] eine
Matrix von Werten ist, die im Graphen von
5 dargestellt ist.
-
Somit ist anzunehmen, da die maximale
Leistungsgrenze für
ein Chipelement („max_power") 100 Watt ist und
ihre maximale Frequenz („max_frequency") 2,5 GHz ist, und
ferner ist anzunehmen, daß die
Leistungsgrenze, die für
das Chipelement eingestellt ist („set_power_limit"), 80 Watt ist. Gemäß dem vorstehenden
Beispielsalgorithmus, weil set_power_limit kleiner als max_power
(d. h. 80 Watt < 100
Watt) ist, ist frequency_multiplier auf f_of_power[80/100] eingestellt.
Das heißt,
daß frequency_multiplier
durch Nachschlagen des entsprechenden Frequenzwerts für 0,8 der
maximalen Leistung des Chipelements (oder 80/100) in der Tabelle,
die durch den Graphen von 5 dargestellt
ist, bestimmt wird. Bei dem Beispiel von 5 ist frequency_multiplier entsprechend
dem Leistungswert 0,8 der maximalen Leistung 0,9. Das heißt, daß die maximale
Frequenz für
das Chipelement, wenn seine Leistungsgrenze auf 0,8 seiner maximalen
Leistung eingestellt ist, in dem Beispielsgraphen von 5 auf 0,9 der maximalen
Frequenz aufgetragen ist. Ferner ist die Taktfrequenz des Chipelements
bei dem vorstehenden Beispielsalgorithmus auf frequency_multiplier·max_frequency
eingestellt, was bei diesem Beispiel 0,9·2,5 GHz ist.
-
Unter Bezugnahme auf 6 ist eine beispielhafte Implementierung
eines Abschnitts eines Systems 600 gezeigt. Wie in 4 weist das System 600 eine
Leistungsversorgung 102 auf, die eine Leistung an das Chipelement 401 durch
Gehäuseparasitäreffekte 104 liefert,
was somit zu einem Spannungssignal V1 und
einem Massesignal G1 führt, die durch das Chipelement 401 empfangen
werden. Das Chipelement 401 weist einen Kernchipelementschaltungsaufbau 403 und
eine Leistungsverwaltungslogik 402 auf, wie vorstehend
in 4 beschrieben ist.
Ferner ist im System 600 eine Leistungsgrenzsteuerung 404 wie
in 4 umfaßt. Wie bei
dieser Beispielsimplementierung ferner gezeigt ist, kann das Chipelement 401 eine
Nachschlagtabelle (oder eine andere geeignete Abbildungsstruktur) 601 aufweisen,
die eine Abbildung von prognostizierbaren Verhaltenswerten für das Chipelement
auf entsprechende Leistungsgrenzwerte liefert, wie in Verbindung
mit 5 vorstehend beschrieben
wurde. Somit kann das Chipelement 401 während des Betriebs eine Mitteilung von
einer Leistungsgrenzsteuerung 404 empfangen, das sein Leistungsgrenzwert
um einen X Betrag (z. B. X-Prozent)
unter seine maximale Leistungsgrenze reduziert wird, und ansprechend
darauf kann die Leistungsverwaltungslogik 402 auf die Nachschlagtabelle 601 zugreifen,
um die maximale Taktfrequenz zu bestimmen, die an den Kern 403 unter
der verringerten Leistungsgrenze geliefert werden kann. Das heißt, daß diese
Leistungsverwaltungslogik 402 auf eine Nachschlagtabelle 601 zugreifen
kann, um für
den verringerten Leistungsgrenzwert die maximale Taktfrequenz zu
bestimmen, die sie an den Kern 403 liefern kann, ohne daß ihr Leistungsverbrauch
die verringerte Leistungsgrenze überschreitet.
Ein Beispielsbetrieb von einem Ausführungsbeispiel der vorliegenden
Erfindung ist nachstehend in Verbindung mit dem Beispielsignalverlauf
von 7 beschrieben.
-
Wie in dem Beispiel von 6 ferner gezeigt ist, kann
bei bestimmten Implementierungen die Nachschlagtabelle 602 (die
mit der Nachschlagtabelle 601 identisch sein kann) im System 600 entfernt
vom Chipelement 401 anstelle oder neben einer Nachschlagtabelle 601,
die auf einem Chipelement 401 umfaßt ist, vorgesehen sein. Die
Nachschlagtabelle (oder eine andere geeignete Abbildungsstruktur) 602 stellt
eine Abbildung von prognostizierbaren Verhaltenswerten für das Chipelement 401 auf
entsprechende Leistungsgrenzwerte bereit, wie vorstehend in Verbindung
mit 5 beschrieben wurde.
Somit kann während
des Betriebs von bestimmten Ausführungsbeispielen
die Leistungsgrenzsteuerung 404 (oder eine weitere Leistungsverwaltungslogik,
die für
das Bestimmen der ordnungsgemäßen Leistungsgrenze
verantwortlich ist, um für
das Chipelement 401 dynamisch eingestellt zu werden) auf
die Nachschlagtabelle 602 zugreifen, um die ordnungsgemäße Leistungsgrenze
zu bestimmen, die für
das Chipelement 401 eingestellt werden soll. Wird beispielsweise
angenommen, daß eine
Leistungsgrenzsteuerung 404 die Leistungsgrenze des Chipelements 401 möglichst
weitgehend reduzieren möchte,
aber sicherstellen möchte,
daß es
eine Taktfrequenz von zumindest X-Betrag (z. B. 100 MHz) beibehält, so kann
die Leistungsgrenzsteuerung 401 auf die Nachschlagtabelle 602 zugreifen,
um den untersten Leistungsgrenzwert zu bestimmen, der für das Chipelement 401 eingestellt
werden kann, was ermöglicht,
daß das
Chipelement 401 zumindest die gewünschte X-Taktfrequenz in prognostizierbarer
Weise liefern kann. Die Leistungsgrenzsteuerung kann dann die Leistungsgrenze
des Chipelements 401 auf den bestimmten untersten Leistungsgrenzwert
einstellen, der dem Chipelement 401 ermöglicht, die gewünschte X-Taktfrequenz
zu liefern.
-
Bei bestimmten Ausführungsbeispielen
kann die Leistungsgrenzsteuerung 401 in der Lage sein,
ein Chipelement 401 nach Informationen von der Nachschlagtabelle 601 abzufragen,
die auf derselben in einer Weise ähnlich derjenigen, die vorstehend
bei der Nachschlagtabelle 602 beschrieben wurde, umfaßt sind.
Somit kann die Leistungsgrenzsteuerung 404 bei bestimmten
Ausführungsbeispielen
beispielsweise das Chipelement 401 nach seinem untersten
Leistungsgrenzwert abfragen, der demselben ermöglicht, eine zumindest X-Taktfrequenz zu liefern.
Das heißt,
daß auf
die Informationen von der Nachschlagtabelle 601 durch die
Leistungsgrenzsteuerung 404 bei bestimmten Ausführungsbeispielen
zugegriffen werden kann, um der Leistungsgrenzsteuerung 404 zu
ermöglichen,
intelligente Entscheidungen bezüglich
des richtigen Leistungsgrenzwerts, der für das Chipelement 401 eingestellt
werden soll, zu treffen.
-
Unter Bezugnahme auf 7 sind exemplarische Signalverläufe gezeigt,
die einen Betrieb eines Ausführungsbeispiels darstellen,
bei dem die Leistungsgrenze eines Chipelements dynamisch verändert wird. Spezieller
ist ein exemplarischer Signalverlauf für die Spannung V1,
die in das Chipelement 401 eingegeben wurde, den Takt CLK1, der durch die Leistungsverwaltungslogik 402 (z.
B. den Oszillator 108 von 1 und 2) erzeugt wurde, die Leistungsgrenze,
die für
das Chipelement 401 eingestellt wurde, und einen unmittelbaren Chipelementleistungsverbrauch
gezeigt. Wie zum Zeitpunkt t0 gezeigt ist,
ist die Spannung V1 5 Volt, und die Frequenz
des Takts CLK1 ist 100 MHz, was zu nicht
mehr als der eingestellten Leistungsgrenze von 100 Watt von einer
externen Leistung, die an das Chipelement 401 verteilt
werden muß,
führt.
-
Wie vorstehend bei 3 erörtert
wurde, bleibt die externe Leistung, die an das Chipelement 401 verteilt
wurde, bei einem Ausführungsbeispiel
relativ konstant, während
der unmittelbare Chipleistungsverbrauch im Laufe der Zeit beträchtlich
variieren kann. Zum Zeitpunkt t0 befindet
sich der Chipelementleistungsverbrauch beispielsweise bei seinem
Durchschnittswert. Kurze Zeit später,
zwischen Zeitpunkt t0 und Zeitpunkt t1, geht der unmittelbare Chipelementleistungsverbrauch über seinen
Durchschnitt (z. B. kann eine rechenintensive Operation durch den
Kernschaltungsaufbau ausgeführt
werden, wodurch bewirkt wird, daß der unmittelbare Chipelementleistungsverbrauch über den
Durchschnitt ansteigt). Wenn die Chipelementleistung ihre Durchschnittsleistung überschreitet,
beginnt der Kondensator 201 (z. B. von 2), die Ladung zu entleeren, um bei einem
Ausführungsbeispiel
das Chipelement zu versorgen. Somit, wie das Beispiel von 7 zeigt, bleiben die Spannung
V1, die Frequenz von CLK1 und
die externe Leistung, die an das Chipelement 401 verteilt wird,
ab dem Zeitpunkt, an dem die Chipelementleistung über ihren
Durchschnitt ansteigt, bis zum Zeitpunkt t1 relativ
konstant (weil der Kondensator 201 seine Ladung entleert,
um das Chipelement mit der zusätzlichen notwendigen
Leistung zu versorgen). Beispielhafte Techniken zum Messen des Leistungsverbrauchs
des Chipele ments einschließlich
eines unmittelbaren Leistungsverbrauchs und eines beibehaltenen
Leistungsverbrauch sind im U.S.-Patent Nr. 6,489,834 mit dem Titel „SYSTEM
AND METHOD UTILIZING ON-CHIP VOLTALE MONITORING TO MANAGE POWER
CONSUMPTION" offenbart,
dessen Offenbarung hierin durch Bezugnahme aufgenommen worden ist.
-
Im Laufe der Zeit, wenn der Chipleistungsverbrauch über dem
Durchschnitt bleibt, entleert sich die Ladung vom Kondensator 201,
und die Spannung V1 fällt ab, was dazu führt, daß die Chipleistung
auf den Durchschnittswert verringert wird. Zum Zeitpunkt t1 liefert der Kondensator 201 immer
noch die notwendige Leistung, um der Spannung V1 zu
ermöglichen,
bei 5 Volt zu bleiben. Ferner bleibt die Frequenz des Takts CLK1, die durch die Leistungsverwaltungslogik 402 ausgegeben
wird, bei 100 MHz, wobei die externe Leistung, die an das Chipelement 401 verteilt
wird, bei 100 Volt bleibt. Vom Zeitpunkt t1 bis
zum Zeitpunkt t2 fällt die Spannung V1 von
5 Volt auf 4 Volt ab, (z. B. während
die Ladung vom Kondensator 201 entleert wird), und ansprechend darauf
nimmt die Frequenz des Takts CLK1, die durch
die Leistungsverwaltungslogik 402 ausgegeben wird, allmählich von
100 MHz auf 50 MHz ab, um die externe Leistung, die an das Chipelement 401 verteilt
wird, im wesentlichen bei 100 Watt Leistungsgrenze beizubehalten.
Wie in dem Beispiel von 7 ferner
gezeigt ist, führt
die Abnahme der Spannung V1 und der Frequenz
von CLK1 zu einer Abnahme des unmittelbaren
Chipelementleistungsverbrauchs (zurück zum Durchschnitt). Vom Zeitpunkt
t2 bis zum Zeitpunkt t3 bleibt
die Spannung V1 bei 4 Volt, und ansprechend
darauf bleibt die Frequenz des Takts CLK1,
die durch die Leistungsverwaltungslogik 402 ausgegeben
wird, bei 50 MHz, wodurch der unmittelbare Chipelementleistungsverbrauch des
Chipelements 401 im wesentlichen bei seinem Durchschnitt
beibehalten wird, während
die externe Leistung, die durch das Chipelement 401 benötigt wird,
bei der 100-Watt-Leistungsgrenze bleibt.
-
Kurze Zeit nach dem Zeitpunkt t2 sinkt der unmittelbare Chipelementleistungsverbrauch
unter seinen Durchschnitt (da z. B. die rechenintensive Operation
beendet ist). Somit nimmt vom Zeitpunkt t3 bis
zum Zeitpunkt t4 die Spannung V1 ansprechend
darauf allmählich
von 4 Volt auf 5 Volt ab, und ansprechend darauf nimmt die Frequenz
des Takts CLK1, die durch die Leistungsverwaltungslogik 402 ausgegeben
wird , allmählich
von 50 MHz auf 100 MHz zu. Dementsprechend, da der Wert der Spannung
V1 ansteigt, nimmt die Frequenz des Takts
CLK1, die durch die Leistungsverwaltungslogik 402 ausgegeben
wird, zu, wodurch eine schnellerer Betrieb des Kernschaltungsaufbaus 403 des
Chipelements 401 ermöglicht
wird, ohne einen Anstieg einer externen Leistung zu erfordern, die
an das Chipelement 401 verteilt wird.
-
Zum Zeitpunkt t5 verändert die
Leistungsgrenzsteuerung 404 die Leistungsgrenze des Chipelements 401 dynamisch
von 100 Watt auf 80 Watt. Ansprechend darauf wird die Leistungsgrenze
des Chipelements vom Zeitpunkt t5 zum Zeitpunkt
t6 auf eine neu eingestellte Grenze von
80 Watt reduziert. Ansprechend auf eine Mitteilung von der Leistungsgrenzsteuerung 404,
daß ihre
Leistungsgrenze auf 80 Watt eingestellt ist, sendet die Leistungsverwaltungslogik 402 ein
Steuerungssignal an die Leistungsversorgung 102, um die
Versorgungsspannung (VDD), die an das Chipelement 401 geliefert
wird, zu ändern.
Die Leistungsversorgungen, wie z. B. die Leistungsversorgung 102,
weisen üblicherweise
Steuerungsbits auf (z. B. sechs Steuerungsbits), die verwendet werden
können,
um die Spannung, die sie liefern sollen, zu spezifizieren. Die Leistungsverwaltungslogik 402 ist
vorzugsweise kommunikativ mit der Leistungsversorgung 102 gekoppelt,
so daß sie
solche Steuerungsbits eingeben kann, um die Spannung dynamisch zu ändern, die
an das Chipelement 401 durch die Leistungsversorgung 102 geliefert
wird. Nach einem Empfangen einer Mitteilung von der Leistungsgrenzsteuerung 404,
daß die
Leistungsgrenze des Chipelements auf 80 Watt eingestellt ist, sendet
die Leistungsverwaltungslogik 402 somit die Inkrementalspannungsverringerungsbefehle an
die Leistungsversorgung 102, bis die gemessene Leistung,
die durch das Chipelement 401 verbraucht wird, bestimmt
worden ist, um die 80-Watt-Grenze einzuhalten. Dementsprechend ist
vorzugsweise ein Leistungsmeßschema
innerhalb der Leistungsverwaltungslogik 402 implementiert,
um zu bestimmen, wann die gemessene Leistung, die durch das Chipelement 401 verbraucht
wird, die 80-Watt-Grenze einhält.
Ein Leistungsmeßschema,
wie z. B. jenes, das im U.S.-Patent Nr. 6,489,834 mit dem Titel „SYSTEM
AND METHOD, UTILIZING ON-CHIP
VOLTAGE MONITORING TO MANAGE POWER CONSUMPTION" offenbart ist, dessen Offenbarung hierin
durch Bezugnahme aufgenommen worden ist. In dem Beispiel von 7 wird die Versorgungsspannung
V1 (oder VDD) des Chipelements durch die
Leistungsverwaltungslogik 402 von 5 Volt auf 4,7 Volt verringert.
-
Ferner greift das Chipelement 401 auf
die Nachschlagtabelle 601 zu, die bei diesem Beispiel die
abgebildeten Werte, die in 5 gezeigt
sind, liefert. Weil die Leistungsgrenze auf 0,8 ihrer maximalen
Leistungsgrenze (d. h. 80/100) reduziert worden ist, bestimmt die
Leistungsverwaltungslogik 402 somit von der Nachschlagtabelle 601,
daß die
maximale Taktfrequenz von CLK1 auf 0,1 ihres
maximalen Werts (d. h. 0,9·100 MHz)
reduziert werden soll, da der Leistungsgrenzwert 0,8 auf
den Frequenzwert 0,9 in dem Beispiel von 5 abgebildet wird. Ansprechend
auf die empfangende Mitteilung über
den reduzierten Leistungsgrenzwert zum Zeitpunkt t5 bestimmt
die Leistungsverwaltungslogik 402, daß die neue maximale Frequenz
des Takts CLK1 auf 90 MHz eingestellt werden
soll (d. h. 0,9·100
MHz). Vom Zeitpunkt t5 zum Zeitpunkt t6 wird die Frequenz des Takts CLK1 somit von 100 MHz auf 90 MHz reduziert.
Wie vorstehend beschrieben, können
die unterschiedlichen Chipelemente dieses Entwurfs gemäß der neu
eingestellten Versorgungsspannung von 4,7 Volt ein anderes Verhalten
liefern. Unter Verwendung einer Abbildungsstruktur, wie z. B. der
Tabelle 601, können
bestimmte Ausführungsbeispiele
der vorliegenden Erfindung jedoch ein konsistentes, prognostizierbares Verhalten
bei unterschiedlichen Chipelementen dieses Entwurfs sicherstellen.
-
Dementsprechend befindet sich die
Spannung V1 zum Zeitpunkt t6 bei
4,7 Volt, und die Frequenz des Takts CLK1 befindet
sich bei 90 MHz, was zu nicht mehr als der verringerten Leistungsgrenze
von 80 Watt einer externen Leistung führt, die erforderlich ist,
um an das Chipelement 401 verteilt zu werden. Wie weiter
gezeigt ist, fällt
der Durchschnittsleistungsverbrauch für das Chipelement auf einen
neuen Durchschnittswert ab, der als AVERAGE2 (Durchschnitt)
gezeigt ist.
-
Angesichts des vorstehenden ermöglichen
die Ausführungsbeispiele
der vorliegenden Erfindung, daß die
Leistungsgrenze eines Chipelements dynamisch variiert werden kann
(bei dem vorstehenden Beispiel von 7,
z. B. von 100 Watt auf 80 Watt). Bei einem Ausführungsbeispiel wird die maximale
Taktsignalfrequenz durch die Leistungsverwaltungslogik 402 (in
dem vorstehenden Beispiel von 7,
z. B. von 100 MHz auf 90 MHz) dynamisch geändert, damit der Leistungsverbrauch
des Chipelements der dynamisch eingestellten Leistungsgrenze entsprechen
kann. Mehrere hinreichend bekannte Techniken existieren zum Synthetisieren
einer gewünschten
Taktsignalfrequenz, und eine beliebige geeignete Technik kann bei
den Ausführungsbeispielen der
vorliegenden Erfindung zum dynamischen Verändern der Taktsignalfrequenz
des Chipelements in dieser Weise zum Verwalten des Leistungsverbrauchs
des Chipelements verwendet werden, um eine dynamisch eingestellte
Leistungsgrenze einzuhalten.
-
Bei einem Ausführungsbeispiel weist die Leistungsverwaltungslogik 402 einen
VCO (VCO = voltage controlled oscillator = spannungsgesteuerter
Oszillator), wie vorstehend bei 1 – 2 beschrieben ist, zum Erzeugen
eines Taktsignals CLK1 auf, mit dem ein
Verarbeiten durch den Kernschaltungsaufbau 403 des Chipelements 401 synchron
ist. Wenn ein solcher VCO zum Erzeugen eines Taktsignals CLK1 verwendet wird, umfaßt eine beispielhafte Technik
zum Synthetisieren der Frequenz des Taktsignals ein künstliches
Reduzieren der Steuerungsspannung mit einem resistiven Teiler. Wenn
die normale Steuerungsspannung „VDD" ist (wobei die Versorgung an das Chipelement 401 geliefert
wird), kann ein resistiver Teiler in Verbindung mit einem analogen
Spannungsmultiplexer verwendet werden, um diese Spannung um ein
feststehendes Verhältnis
konditional zu verringern. Das Ergebnis ist, daß die Frequenz von CLK1 um einen vorhersehbaren Betrag von dem reduziert
wird, was von einer rohen VDD resultieren würde. Eine beispielhafte Implementierung
unter Verwendung eines solchen resistiven Teilers in Verbindung
mit einem analogen Spannungsmultiplexer (MUX) ist in 8 gezeigt. Unter kurzer
Bezugnahme auf das Beispiel von 8 weist
der beispielhafte resistive Teiler 805, der gezeigt ist, 14 Widerstände in Reihe
auf, wobei speziell die Widerstände 14R, 13R, 12R und 11R gezeigt
sind. Unterschiedliche Spannungswerte werden selektiv von den Punkten
entlang dem resistiven Teiler 805 gekoppelt und als Eingaben
an den MUX 801 geliefert. Bei diesem Ausführungsbeispiel
entsprechen die Eingänge 802, 803 und 804 an
den MUX 801 den Spannungswerten (1·VDD), (13/14·VDD) bzw.
(12/14·VDD). Obgleich
bei diesem Beispiel nur drei Eingänge gezeigt sind, wird darauf
hingewiesen, daß bei
alternativen Implementierungen eine beliebige Anzahl von Spannungseingaben
an den MUX 801 in einer ähnlichen Weise geliefert werden
kann. Die Auswahlsignaleingabe an den MUX 801 wählt aus,
welche der Eingaben 802, 803 und 804 der
MUX 801 als die Steuerungsspannung, die wiederum an den
VCO 108 geliefert wird, ausgeben soll. Abhängig von
dem Auswahlsignal kann der MUX 801 somit die VDD (d. h.
wenn die Eingabe 802 ausgewählt worden ist), (13/14·VDD) (d.
h. wenn die Eingabe 803 ausgewählt worden ist) oder (12/14·VDD) (d.
h. wenn die Eingabe 804 ausgewählt worden ist) als die Steuerungsspannung
ausgeben. Die Auswahlsignaleingabe in den MUX 801 kann
basierend auf zumindest teilweise einer Abbildungsstruktur (z. B.
der Abbildungsstruktur 601 und/oder 602, die vorstehend
beschrieben sind) bestimmt werden. Während 8 eine Beispielstechnik zum dynamischen
Variieren des maximalen Taktsignals vom Chipelement 401 zeigt,
wird darauf hingewiesen, daß eine
beliebige andere geeignete Technik zum dynamischen Synthetisieren
eines solchen maximalen Taktsignals gemäß den Ausführungsbeispielen der vorliegenden
Erfindung bei alternativen Ausführungsbeispielen
verwendet werden kann.
-
In Anbetracht des vorstehenden kann
die Versorgungsspannung und/oder die maximale Taktfrequenz ansprechend
auf den Leistungsgrenzwert des Chipelements dynamisch verändert werden,
der dynamisch verändert
wird, um den Leistungsverbrauch des Chipelements zu verwalten, um
innerhalb der dynamisch eingestellten Leistungsgrenze beibehalten
zu werden. Wie vorstehend beschrieben, kann eine Abbildungsstruktur (z.
B. die Abbildungsstruktur 601 und/oder 602) verwendet
werden, um die maximale Taktfrequenz zu bestimmen, die für einen
gegebenen Leistungsgrenzwert, der für das Chipelement dynamisch
eingestellt ist, eingestellt werden soll. Wie nachstehend in Verbindung
mit 7 weiter beschrieben
ist, verändert
die Leistungsverwaltungslogik 402 bei einem Ausführungsbeispiel
die maximale Taktfrequenz ansprechend auf die Leistungsgrenze des
Chipelements, die dynamisch verändert
wird, nicht nur dynamisch, sondern variiert das Taktsignal auch
dynamisch (z. B. auf Werte, die die eingestellte maximale Taktfrequenz
nicht überschreiten)
ansprechend auf Veränderungen
in der Spannung, die durch das Chipelement verbraucht werden, um
die Taktfrequenz des Chipelements bei einer optimalen Frequenz während des
Betriebs des Chipelements beizubehalten, ohne eine dynamisch eingestellte
Leistungsgrenze des Chipelements zu überschreiten.
-
Unter Bezugnahme auf 7, wie vorstehend unter 3 beschrieben ist, bleibt die externe
Leistung, die an das Chipelement 401 verteilt wird, bei
einem Ausführungsbeispiel
relativ konstant, während
der unmittelbare Chipelementleistungsverbrauch im Laufe der Zeit
erheblich variie ren kann. Zum Zeitpunkt t6 befindet sich
der Leistungsverbrauch des Chipelements beispielsweise bei seinem
AVERA-GE2-Wert. Kurze Zeit später, zwischen dem Zeitpunkt
t6 und dem Zeitpunkt t7,
geht der unmittelbare Chipelementleistungsverbrauch über AVERAGE2 (z. B. kann durch den Kernschaltungsaufbau
eine rechenintensive Operation ausgeführt werden, wodurch bewirkt
wird, daß der
unmittelbare Chipelementleistungsverbrauch über den Durchschnitt auf einen
Wert ansteigt, der als ABOVE AVERAGE2 gezeigt
ist). Wenn die Chipelementleistung über die AVERAGE2-Leistung
geht, beginnt der Kondensator 201 (z. B. von 2), die Ladung zu entleeren,
um bei einem Ausführungsbeispiel
das Chipelement zu versorgen. Somit bleiben die Spannung V1, die Frequenz von CLK1 und
die externe Leistung, die an das Chipelement 401 verteilt
wird, wie das Beispiel von 7 zeigt,
ab dem Zeitpunkt, ab dem die Chipelementleistung über den
Durchschnitt bis zum Zeitpunkt t7 ansteigt,
relativ konstant (weil der Kondensator 201 seine Ladung
entleert, um das Chipelement mit der zusätzlichen notwendigen Leistung
zu versorgen).
-
Im Laufe der Zeit, wenn der Chipelementleistungsverbrauch über AVERAGE2 bleibt, wird die Ladung vom Kondensator 201 entleert,
und die Spannung V1 fällt ab, was dazu führt, daß die Chipelementleistung
auf den AVERAGE2-Wert reduziert wird. Zum
Zeitpunkt t7 liefert der Kondensator 201 beispielsweise
immer noch die notwendige Leistung, um zu ermöglichen, daß die Spannung V1 bei
4,7 Volt bleibt. Ferner bleibt die Frequenz des Takts CLK1, die durch die Leistungsverwaltungslogik 402 ausgegeben
wird, bei 90 MHz, wobei die externe Leistung, die an das Chipelement 401 verteilt
wird, bei 80 Watt bleibt. Vom Zeitpunkt t7 zum
Zeitpunkt t8 fällt die Spannung V1 von
4,7 Volt auf einen Wert etwas unter 4 Volt ab (z. B. während die
Ladung vom Kondensator 201 entleert wird), und ansprechend
darauf nimmt die Frequenz des Takts CLK1,
der durch die Leistungsverwaltungslogik 402 ausgegeben
wird, allmählich
von 90 MHz auf einen niedrigeren Wert (z. B. 40 MHz) ab, um die
exter ne Leistung, die an das Chipelement 401 verteilt wird,
im wesentlichen bei der 80-Watt-Leistungsgrenze beizubehalten. Wie
in dem Beispiel von 7 weiter
gezeigt ist, führt
die Abnahme der Spannung V1 und der Frequenz
CLK1 zu einer Abnahme des unmittelbaren
Chipelementleistungsverbrauchs (zurück zu AVERAGE2).
Vom Zeitpunkt t8 bis zum Zeitpunkt t9 bleibt die Spannung V1 bei
etwas unter 4 Volt, und ansprechend darauf bleibt die Frequenz des
Takts CLK1, der durch die Leistungsverwaltungslogik 402 ausgegeben wird,
bei der gesenkten Frequenz (z. B. 40 MHz), wodurch der unmittelbare
Chipelementleistungsverbrauch des Chipelements 401 im wesentlichen
bei seinem AVERAGE2 beibehalten wird, während die
externe Leistung, die durch das Chipelement 401 benötigt wird,
bei der 80-Watt-Leistungsgrenze bestehen bleibt.
-
Kurze Zeit nach dem Zeitpunkt t8 sinkt der unmittelbare Chipelementleistungsverbrauch
auf unter AVERAGE2 ab (z. B. während die
rechenintensive Operation beendet wird). Ansprechend darauf steigt
somit die Spannung V1 vom Zeitpunkt t9 zum Zeitpunkt t10 allmählich wieder
auf 4,7 Volt an, und ansprechend darauf steigt die Frequenz des
Takts CLK1, der durch die Leistungsverwaltungslogik 402 ausgegeben
wird, allmählich wieder
auf 90 MHz an. Dementsprechend steigt die Frequenz des Takts CLK1, der durch die Leistungsverwaltungslogik 402 ausgegeben
wird, während
der Wert der Spannung V1 ansteigt, wieder
an, wodurch ein schnellerer Betrieb des Kernschaltungsaufbaus 403 des
Chipelements 401 ermöglicht
wird, ohne einen Anstieg der externen Leistung zu erfordern, die
an das Chipelement 401 verteilt wird.
-
Wie in dem Beispiel von 7 gezeigt ist, ermöglicht ein
Ausführungsbeispiel,
daß die
Leistungsgrenze eines Chipelements dynamisch eingestellt werden
kann, und es liefert das optimale Verhalten unter der dynamisch
eingestellten Leistungsgrenze bereit. Das heißt, daß darauf hingewiesen wird,
daß eine
Leistungsgrenze eines Chipelements auf einen gemessenen Wert dynamisch
eingestellt werden kann und daß der
Leistungsverbrauch des Chipelements in einer Weise selbstreguliert
wird, die den eingestellten Leistungsgrenzwert einhält, während ein
optimales, prognostizierbares Verhalten unter einem solchen eingestellten
Leistungsgrenzwert geliefert.
-
Unter Bezugnahme auf 9 ist ein beispielhaftes Betriebsflußdiagramm
zum Implementieren eines Chipelements mit einer dynamisch variierbaren
Leistungsgrenze und ein Betrieb eines solchen Chipelements gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung gezeigt. Im Betriebsblock 901 ist
eine Mehrzahl von Chipelementen eines speziellen Entwurfs charakterisiert,
um Verhaltensverringerungsprozentsätze für entsprechende Leistungsverringerungsprozentsätze zu bestimmen.
-
Bei Block 902 ist eine Nachschlagtabelle
(oder eine andere geeignete Abbildungsstruktur), wie z. B. die Nachschlagtabelle 601 von 6, für die Chipelemente konstruiert,
die Leistungsgrenzverringerungswerte auf entsprechende maximale
Verhaltenswerte abbildet, die innerhalb einer Toleranz durch alle
gefertigten Chipelemente dieses Entwurfs erreicht werden können, wie
z. B. in Verbindung mit 5 beschrieben
ist. Die Chipelemente können
beispielsweise charakterisiert sein, um die maximale Taktfrequenz
von jedem Chipelement zu bestimmen, die ermöglicht, daß das Chipelement seinen Leistungsverbrauch
bei oder unter 80 Watt beibehält.
Der unterste Taktfrequenzwert, der für die Chipelemente bestimmt
wurde, kann dann als ein prognostizierbarer Verhaltenswert festgelegt
werden, der innerhalb einer 80-Watt-Leistungsgrenze für das eingestellte Chipelement
erreichbar ist. Nimmt man beispielsweise an, daß 100 der Chipelemente
charakterisiert sind, um ihre maximale Taktfrequenzen zu bestimmen,
während
sie der 80-Watt-Leistungsgrenze
entsprechen, und 90 MHz als die maximale Taktfrequenz bei 80 Watt
für 20
der Chipelemente bestimmt werden, 88 MHz als die maximale Taktfrequenz
bei 80 Watt für
20 der Chipelemente bestimmt werden, 87 MHz als die maximale Taktfrequenz
bei 80 Watt für
20 der Chipelemente bestimmt werden, 85 MHz als die maximale Taktfrequenz
bei 80 Watt für
20 der Chipelemente bestimmt werden und 83 MHz als die maximale
Taktfrequenz bei 80 Watt für
20 der Chipelemente bestimmt werden. Bei diesem Beispiel können 83
MHz als ein prognostizierbarer Verhaltenswert für die Chipelemente dieses Typs
bei einer 80-Watt-Leistungsgrenze festgelegt werden. Das heißt, weil
alle Chipelemente der 80-Watt-Leistungsgrenze entsprechen können, wenn
eine maximale Frequenz von 83 MHz geliefert wird, daß der 83-MHz-Wert als die
maximale Frequenz festgelegt werden kann, die für die Chipelemente bei einer
80-Watt-Leistungsgrenze verfügbar
ist. Somit kann die Abbildungsstruktur 601, die eine 80-Watt-Leistungsgrenze
auf 83 MHz als die maximale prognostizierbare erreichbare Frequenz
(innerhalb einer Toleranz von etwa 5% oder weniger) abbildet, konstruiert
werden, und die Abbildungsstruktur 601 kann ferner verschiedene
andere Leistungsgrenzwerte auf die entsprechende prognostizierbare
maximale Frequenz abbilden.
-
Während
des Betriebs der Chipelemente wird bei einem Operationsblock 903 bestimmt,
ob die Leistungsgrenzsteuerung 404 die Leistungsgrenze
der Chipelemente auf einen gewissen Wert dynamisch setzt. Das heißt, es wird
bestimmt, ob das Chipelement 401 eine Mitteilung von der
Leistungsgrenzsteuerung 404 empfängt, daß sein Leistungsgrenzwert verändert worden
ist. Ist dies nicht der Fall, wird der Betrieb für das Chipelement 401 wie
gehabt fortgesetzt, und der Block 901 überwacht weiterhin, ob die
Mitteilung über
eine Leistungsgrenzänderung
von der Leistungsgrenzsteuerung 404 empfangen wird. Wenn
die Leistungsgrenzsteuerung 404 die Leistungsgrenze des
Chipelements 401 nicht ändert,
rückt die
Operation zu Block 904 vor, wo das Chipelement die Mitteilung über seine
Leistungsgrenzeinstellung von der Leistungsgrenzsteuerung 404 empfängt. Anschließend bestimmt
das Chipelement 401 bei Block 905, ob der eingestellte
Leistungsgrenzwert weniger als der maximale Leistungsgrenzwert des
Chipelements 401 ist. Bei einem Ausführungsbeispiel bestimmt die
Leistungsverwaltungslogik 402, ob der eingestellte Leistungsgrenzwert
weniger als die maximale Leistungsgrenze des Chipelements ist. Wenn
bestimmt wird, daß die
eingestellte Leistungsgrenze nicht weniger als die maximale Leistungsgrenze
des Chipelements ist, rückt
die Operation zum Block 906 vor, woraufhin die Chipelementverwaltungslogik 402 die
Frequenz ihres Takts auf die maximale Frequenz des Chipelements
setzt. Anschließend
kehrt die Operation zu Block 903 zurück, um zu überwachen, ob die Leistungsgrenzsteuerung 404 den
Leistungsgrenzwert des Chipelements verändert.
-
Wenn bei Block 905 bestimmt
worden ist, daß die
eingestellte Leistungsgrenze weniger als die maximale Leistungsgrenze
des Chipelements ist, rückt
die Operation zu Block 907 vor. Bei Block 907 greift
die Leistungsverwaltungslogik 402 auf die Nachschlagtabelle
(z. B. Tabelle 601) zu, um den Frequenzverringerungsprozentsatz
für die
eingestellte Leistungsgrenze zu bestimmen. Anschließend verringert
die Leistungsverwaltungslogik 402 beim Operationsblock 908 die
maximale Frequenz des Chipelements 401 um die bestimmte Frequenzverringerung
für die
eingestellte Leistungsgrenze. Bei dem Beispiel von 7 reduziert die Leistungsgrenzsteuerung 404 beispielsweise
die Leistungsgrenze des Chipelements 401 von 100 Watt auf
80 Watt zum Zeitpunkt t5. Dementsprechend
wird eine solche Verringerung seines Leistungsgrenzwerts bestimmt,
um unter de·m
maximalen Leistungsgrenzwert (von 100 Watt) im Operationsblock 905 zu
sein, und somit rückt
die Operation zu Block 907 vor. Im Operationsblock 907 greift
die Leistungsverwaltungslogik 402 auf die Nachschlagtabelle 601 zu,
um den Frequenzverringerungsprozentsatz für die eingestellte Leistungsgrenze
zu bestimmen. Spezieller wird der entsprechende Frequenzverringerungsprozentsatz
(0,9 in dem Beispiel von 5) für
die eingestellte Leistungsverringerung (0,8 der
maximalen Leistungsgrenze bei diesem Beispiel) bestimmt. Anschließend verringert
die Leistungsverwaltungslogik 402 im Operationsblock 908 die
maximale Frequenz des Chipelements 401 um die bestimmte
Frequenzverringerung, z.B. berechnet sie 0,9 100 MHz, um die Frequenz
des Chipelements bei diesem Beispiel auf 90 MHz einzustellen. Dann
kehrt die Operation zu Block 903 zurück, um zu überwachen, ob die Leistungsgrenzsteuerung 404 den
Leistungsgrenzwert des Chipelements verändert.
-
In Anbetracht des vorstehenden wird
darauf hingewiesen, daß die
Ausführungsbeispiele
der vorliegenden Erfindung in vorteilhafter Weise eine integrierte
Schaltung liefern, die eine dynamisch variierbare Leistungsgrenze
aufweist. Spezieller kann bei bestimmten Ausführungsbeispielen der vorliegenden
Erfindung ein gemessener Leistungsgrenzwert für ein Chipelement dynamisch
spezifiziert werden, und ansprechend darauf nimmt das Chipelement
eine dynamische Selbstregulierung seines Leistungsverbrauchs vor,
um den dynamisch eingestellten Leistungsgrenzwert nicht zu überschreiten.
Des weiteren liefern bestimmte Ausführungsbeispiele der vorliegenden
Erfindung eine integrierte Schaltung, die betreibbar ist, um eine
Selbstregulierung ihres Leistungsverbrauchs vorzunehmen, um eine
optimale Taktsignalfrequenz zu liefern, während ihr Leistungsverbrauch
innerhalb eines dynamisch eingestellten Leistungsgrenzwerts beibehalten
wird. Bei bestimmten Ausführungsbeispielen
weist eine integrierte Schaltung eine Leistungsverwaltungslogik
zum dynamischen Variieren eines Taktsignals auf, mit dem die Verarbeitung
durch den Kernschaltungsaufbau synchron ist. Die Leistungsverwaltungslogik
variiert das Taktsignal dynamisch ansprechend auf die Spannung,
die durch das Chipelement verbraucht wird. Weiter liefert ein Ausführungsbeispiel
der vorliegenden Erfindung eine integrierte Schaltung mit einem
prognostizierbaren Verhalten für
eine Mehrzahl von unterschiedlichen Leistungsgrenzwerten, die für die integrierte
Schaltung dynamisch eingestellt sein können.