DE112006003628B4 - System und Verfahren zum Betreiben von Komponenten einer integrierten Schaltung mit unabhängigen Frequenzen und/oder Spannungen - Google Patents

System und Verfahren zum Betreiben von Komponenten einer integrierten Schaltung mit unabhängigen Frequenzen und/oder Spannungen Download PDF

Info

Publication number
DE112006003628B4
DE112006003628B4 DE112006003628.9T DE112006003628T DE112006003628B4 DE 112006003628 B4 DE112006003628 B4 DE 112006003628B4 DE 112006003628 T DE112006003628 T DE 112006003628T DE 112006003628 B4 DE112006003628 B4 DE 112006003628B4
Authority
DE
Germany
Prior art keywords
logic
operating
voltage
frequency
cores
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE112006003628.9T
Other languages
English (en)
Other versions
DE112006003628T5 (de
Inventor
Scott A. White
William A. Hughes
Philip E. Madrid
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MediaTek Inc
Original Assignee
MediaTek Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MediaTek Inc filed Critical MediaTek Inc
Publication of DE112006003628T5 publication Critical patent/DE112006003628T5/de
Application granted granted Critical
Publication of DE112006003628B4 publication Critical patent/DE112006003628B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

Mehrere Logikkeme (120) integrierter Schaltungen und Prozessoren sind ausgebildet, bei Frequenzen und Spannungen unabhängig voneinander zu arbeiten. Des weiteren können andere Komponenten, etwa eine gemeinsame Schnittstelle (110), die als Schnittstelle für die Logikkeme ausgebildet ist, bei einer Spannung und Frequenz unabhängig von der Spannung und Frequenz arbeiten, bei denen die Logikkeme betrieben werden. Die Betriebsfrequenz und/oder die Spannung eines Logikkems kann unabhängig aus den diversen Gründen eingestellt werden, wozu die Energieverwaltung und die Temperatursteuerung gehören. Eine Logikschaltung an einer Schnittstelle zwischen der Steuerung und den Logikkemen kann die logischen Signale von einer Spannung und/oder Frequenz zu einer anderen umsetzen, um eine Kommunikation zwischen der Brücke und dem Logikkem zu ermöglichen, wenn die beiden bei unterschiedlichen Spannungen und/oder Frequenzen arbeiten.

Description

  • Hintergrund der Erfindung
  • Technisches Gebiet
  • Diese Erfindung betrifft das Gebiet integrierter Schaltungen und betrifft insbesondere den Betrieb von und die Kommunikation zwischen Elementen einer integrierten Schaltung, die mit unabhängigen Frequenzen und/oder Spannungen arbeitet.
  • Hintergrund
  • Typischerweise wird die Regelung der Betriebsspannung für integrierte Schaltungen, etwa für Mikroprozessoren, ausgeführt durch eine Schaltung, die auf der Hauptplatine außerhalb des IC's auf Grund von teilweise dem Erfordernis für große Kapazitätswerte angeordnet ist, die ansonsten eine übermäßige Fläche auf einem IC-Chip einnehmen würden. Die Energie wird der inneren Schaltung, die die Prozessorkerne des IC's enthält, über diverse Gehäusestifte gemäß dem Spannungsniveau des Ausgangs eines Spannungsreglers zugeführt. Dies wird teilweise deshalb gemacht, um die Strombelastbarkeit für einen gegebenen Stift und/oder Anschlussleitung zu verringern. Im Allgemeinen sind die Versorgungsleitungen intern verbunden, so dass die Kerne und andere Elemente mit einem gemeinsamen Spannungspegel betrieben werden. Typischerweise erzeugen komplexe Logikkeme eine große Menge an Wärme an gewissen Punkten des IC's, insbesondere bei hohen Taktfrequenzen. Das Gehäuse eines IC's bestimmt zusammen mit dem Bauteil- und Systemkühlmechanismus die maximale Frequenz, bei der das IC arbeitet, ohne dass ihre spezifizierte maximale Betriebstemperatur an den Punkten überschritten wird, in der die Wärmeerzeugung am ausgeprägtesten ist. Ein IC-Hersteller spezifiziert eine maximale Gehäusetemperatur für ein spezielles Bauelement, bei der es kontinuierlich und zuverlässig arbeiten kann.
  • Da komplexe IC's, etwa Mikroprozessoren, in der Regel teuer sind, ist es typischerweise wünschenswert, diese vor Schädigung durch Überhitzung zu schützen. Temperatursensoren sind daher häufig an diversen Stellen innerhalb der Systeme, die komplexe IC's enthalten, vorgesehen, um die Umgebungstemperatur an dieser Position zu messen. Auf Grund des Verfahrens, das allgemein eingesetzt wird, um komplexe IC's in Systeme einzubinden, etwa das Verlöten mit einer Hauptplatine oder einem Sockel an der Hauptplatine, und das direkte Anbringen von Wärmesenken und/oder anderen Kühlmechanismen an den Chips, werden die Temperatursensoren im Allgemeinen in Positionen eingesetzt, die nicht dem IC selbst entsprechen. Daher muss die Temperatur des IC-Gehäuses typischerweise aus einer tatsächlichen Temperaturmessung an einem gewissen von der Oberfläche des IC's entfernten Punkt abgeleitet werden. Die resultierende Gehäusetemperaturabschätzung kann deutlich oberhalb der tatsächlichen Temperatur des IC's sein, wenn konservative Algorithmen zum Ausführen der Abschätzung eingesetzt werden.
  • Ein typisches System kann die abgeschätzte Gehäusetemperatur des IC's verwenden, um die Leistung für das gesamte System oder zumindest das IC zu steuern. Beispielsweise wird die Ausgabe des Temperatursensors mit einem „Betriebspunk“-Wert verglichen, und wenn dieser Wert erreicht ist, wird ein Signal erzeugt, das bewirkt, dass die Betriebsleistungsversorgung abgeschaltet wird. Ein derartiges System kann das IC tatsächlich schützen, kann jedoch für den Anwender unbequem sein, der häufig keine vorausgehende Warnung erhält, dass ein Abschalten bald möglich ist, und der große Mengen an Daten eingespeist hat, ohne dass diese in einem permanenten Speicher gesichert sind. Wie ferner zuvor angemerkt ist, kann ein derartiges Abschalten unter Umständen gar nicht erforderlich sein, da der Mechanismus auf der Grundlage einer konservativen Abschätzung der tatsächlichen Temperatur des Chips aktiviert wird.
  • Um die Wahrscheinlichkeit für Anwenderdatenverluste zu verringern, wird in Systemen eine zweite Betriebspunktschaltung eingesetzt, die bei einer Temperatur ausgelöst wird, die etwas geringer ist als die Abschalttemperatur. In einem derartigen System wird die Schaltung mit der geringeren Temperatur verwendet, um eine Aktion in Gang zu setzen, die den Anwender informiert, dass ein Abschalten des Systems bevorsteht, und dass er geeignete Maßnahmen ergreifen soll, um ungeschützte Daten zu sichern. Obwohl dieses Schema dazu dienen kann, Anwenderdaten zu schützen, kann es aber auch zu großem Ärger führen, wenn Temperaturen im Bereich zwischen den Betriebspunkten schwanken, ohne dass tatsächlich der Abschaltpunkt erreicht wird. In jedem Falle wird, wenn die Abschaltgrenze erreicht ist, der Anwender der Möglichkeit beraubt, das System zu benutzen, bis dieses wieder ausreichend abgekühlt und erneut gestartet werden kann.
  • WO 2004 / 036 398 A2 offenbart eine Vorrichtung zum Bestimmen, ob eine Temperatur einer elektronischen Vorrichtung gleich oder größer als ein vorbestimmter Schwellenwert ist. Als Reaktion auf das Erfassen, dass die Temperatur des elektronischen Geräts zumindest den vorbestimmten Schwellenwert erreicht hat, erfolgt ein Bestimmen eines Zieldrosselungspunkts für einen Prozessor, wobei der Zieldrosselungspunkt eine Zielbetriebsfrequenz und eine Zielbetriebsspannung umfasst. Danach erfolgt ein dynamisches Ändern eines aktuellen Arbeitspunkts für das elektronische Gerät einschließlich einer aktuellen Betriebsfrequenz und einer aktuellen Betriebsspannung durch nicht gleichzeitiges Ändern der aktuellen Betriebsfrequenz auf die Soll-Betriebsfrequenz und der aktuellen Betriebsspannung auf die Soll-Betriebsspannung. Während der Änderung der aktuellen Betriebsspannung befindet sich das Gerät in einem aktiven Zustand.
  • WO 01/ 27 728 A1 offenbart, dass eine Steuerschaltung die einer integrierten Schaltung zugeführte Spannung in einem Schlafmodus reduziert, in dem der Kontext (z. B. der CPU-Zustand) aufrechterhalten wird. Da die zum Aufrechterhalten des Zustands der integrierten Schaltung erforderliche Spannung erheblich geringer sein kann als die Spannung, bei der die integrierte Schaltung bei einer vorbestimmten Frequenz funktionell arbeiten kann, können erhebliche Energieeinsparungen erzielt werden, indem die Spannung reduziert wird, während die Taktgeber gestoppt sind, wodurch der Leckstrom reduziert und Strom gespart wird.
  • US 6 714 891 B2 offenbart, dass die Temperatur einer Komponente einer Prozessorstromversorgung, die einen Chipkernstrom an einen in einem Computersystem arbeitenden Datenprozessor liefert, erfasst wird. Das System verfügt über eine separate Hauptstromversorgung, aus der die Prozessorstromversorgung den Chipkernstrom bezieht. Als Reaktion darauf, dass die Temperatur auf einen vorbestimmten Schwellenwert angestiegen ist, wird eine Verringerung und nicht ein vollständiger Stopp der Leistung des Datenprozessors angefordert.
  • WO 03 / 027 820 A2 offenbart ein Verfahren zum Einstellen von Spannung und Frequenz, um die Verlustleistung in einem Prozessor zu minimieren. Das Verfahren einer Ausführungsform umfasst das Bestimmen eines Stromverbrauchswertes. Der Stromverbrauchswert wird ausgewertet, um einen neuen Arbeitspunkt zu erhalten. Der neue Betriebspunkt wird mit einem aktuellen Betriebspunkt verglichen. Eine Frequenzeinstellung und eine Spannungseinstellung werden angepasst, um dem neuen Arbeitspunkt zu entsprechen, wenn der neue Arbeitspunkt sich von dem aktuellen Arbeitspunkt unterscheidet.
  • Überblick über die Erfindung
  • Ein Prozessor oder eine andere integrierte Schaltung enthält mehrere Logikkeme, wovon jeder ausgebildet ist, gemäß einer Ausführungsform der vorliegenden Erfindung bei Frequenzen und Spannungen unabhängig von den anderen Logikkemen zu arbeiten. Anders ausgedrückt, jeder Logikkem eines Prozessors ist ausgebildet, bei einer speziellen Spannung und Frequenz zu arbeiten, unabhängig davon, ob andere Logikkeme in dem Prozessor ebenfalls bei der gleichen Spannung und/oder Frequenz arbeiten. Die Betriebsspannung und die Frequenz der Logikkeme in einer derartigen integrierte Multikem-Schaltung kann im Hinblick auf diverse Faktoren eingestellt werden, wozu die Energieverwaltung und die Temperaturverwaltung gehören. Beispielsweise werden ein oder mehrere der Kerne eines Prozessors eingestellt, so dass sie bei einer geringeren Frequenz und/oder Spannung arbeiten, um damit in gewissen Situationen Energie einzusparen. Ferner kann, statt einfach einen Prozessor abzuschalten, der mit zu hoher Temperatur arbeitet (wie dies im Allgemeinen im Stand der Technik der Fall ist), ein oder mehrere der Logikkeme in dem Prozessor eingestellt werden, so dass diese bei einer geringeren Frequenz und/oder Spannung arbeiten, so dass der Prozessor weniger Wärme erzeugt, und dieser kann daher auf eine akzeptable Betriebstemperatur abkühlen. Beispielsweise besitzt der Prozessor oder I eine andere integrierte Schaltung eine vorbestimmte maximale Betriebstemperatur, über der das Leistungsverhalten des Prozessors fehlerhaft sein kann oder über welcher eine Schädigung des Prozessors möglicherweise auftreten kann. Wenn eine aktuelle Temperatur für den Prozessor als oberhalb, oder in der Nähe einer derartigen maximalen Betriebstemperatur erkannt wird, können ein oder mehrere Logikkeme des Prozessors oder einer anderen integrierten Schaltung so eingestellt werden, dass diese bei einer geringeren Frequenz und/oder Spannung arbeiten, um damit die Betriebstemperatur des Prozessor zu verringern.
  • Des weiteren enthält ein Prozessor oder eine andere integrierte Schaltung eine Brücke, eine Weiterleitungs- oder andere gemeinsame Logikschaltung, die mit dem Logikkemen des Prozessors kommunizieren kann oder als Schnittstelle dienen kann. Beispielsweise ist eine Nordbrücke eine übliche Komponente vieler Prozessoren und enthält separate Schnittstellen, um mit mehreren Logikkemen einer integrierten Schaltung zu kommunizieren und Kommunikationsereignisse zu anderen Untersystemen, Komponenten oder peripheren externen Einheiten der integrierten Schaltung zu übertragen. Wenn mehrere Kerne eines einzelnen Prozessors ausgebildet sind, bei unterschiedlichen Frequenzen oder Spannungen zu arbeiten, ist ggf. eine gemeinsame Brückenlogik ausgebildet, mit jedem Logikkem unter Anwendung eines unterschiedlichen Spannungspegels und/oder Taktfrequenz zu kommunizieren. Somit kann das Einstellen von Spannungen und Frequenzen, die von üblichen Brückenlogiken verwendet werden, als Teil der Änderung der Betriebseigenschaften (d. h. Spannung und Frequenz) der Logikkeme in einer integrierte Multikem-Schaltung enthalten sein. Des weiteren ist die gemeinsame Brückenlogik ausgebildet, bei Spannungen und Frequenzen unabhängig von den aktuellen Betriebsspannungen und Frequenzen der Logikkeme zu arbeiten. Anders ausgedrückt, die gemeinsame Brückenlogik ist ausgebildet, bei einer Frequenz und einer Spannung zu arbeiten, die sich von einer speziellen Spannung oder Frequenz unterscheidet, bei der die einzelnen Logikkeme aktuell arbeiten.
  • In einigen Ausführungsformen enthält eine integrierte Schaltung, etwa ein Mikroprozessor, Temperatursensoren, die ausgebildet sind, die aktuelle Betriebstemperatur für den Prozessor zu bestimmen und/oder bekannt zu geben. In einigen Ausführungsformen enthält eine integrierte Schaltung mehrere Temperatursensoren, etwa einen Sensor für jeden der Logikkeme, um individuelle oder lokale Betriebstemperaturen für diverse Gebiete des Prozessors bereitzustellen. Beispielsweise ist es in einer Ausführungsform möglich, die Betriebsspannung und/oder Frequenz eines speziellen der mehreren Logikkeme zu verringern, um damit die Temperatur an einem bestimmten „heißen Punkt“ auf dem Prozessor auf der Grundlage von Temperaturmessungen für diverse Gebiete zu verringern, etwa für jeden individuellen Logikkem des Prozessors. In anderen Ausführungsformen wird lediglich eine einzelne Betriebstemperatur für die integrierte Schaltung als Ganzes gemessen, oder alternativ werden individuelle Temperaturmessungen für unterschiedliche Gebiete des Prozessors gemittelt oder zusammengefasst, um eine einzelne Gesamtbetriebstemperatur für den Prozessor zu bestimmen.
  • In einigen Ausführungsformen wird die Betriebsspannung und/oder die Frequenz aller Logikkerne des Prozessors zusammen verringert, etwa zur Verringerung der Betriebstemperatur des Prozessors oder zur Reduzierung der gesamten Leistungsaufnahme des Prozessors. In anderen Ausführungsformen wird die Betriebsspannung und/oder die Frequenz für einen einzelnen Logikkem verringert. Wenn beispielsweise eine Betriebstemperatur erkannt wird für den Prozessor, die höher als die optimale Temperatur ist, wird lediglich einer der mehreren Logikkeme eingestellt, so dass der bei einer geringeren Spannung und/oder Frequenz arbeitet, um damit die Gesamtbetriebstemperatur des Prozessors abzusenken. Wenn in einem derartigen Beispiel das Absenken der Betriebstemperatur und/oder Frequenz eines einzelnen Logikkems die Gesamtbetriebstemperatur für den Prozessor nicht ausreichend verringert, wird die Betriebsspannung und/oder Frequenz für weitere Logikkerne reduziert, um damit die Betriebstemperatur für den Prozessor noch weiter abzusenken.
  • In einem weiteren Beispiel wird, wenn die Leistungsaufnahme der integrierten Schaltung höher als gewünscht ist, die Betriebsspannung oder die Frequenz eines einzelnen Logikkerns in dem Prozessor verringert, um damit die gesamte Leistungsaufnahme des Prozessors abzusenken. Bei Bedarf (oder falls gewünscht) wird auch die Betriebsspannung und/oder die Frequenz anderer Logikkeme ebenfalls reduziert, etwa gleichzeitig oder aufeinanderfolgend, um damit die Gesamtleistungsaufnahme noch weiter zu senken. In einigen Ausführungsformen wird die Wahl, welcher Logikkem einzustellen ist, oder die Reihenfolge, in der die Betriebsspannung und/oder Frequenz mehrerer Logikkeme abgesenkt wird, zufällig getroffen. In anderen Ausführungsformen wird jedoch die Auswahl, welcher Logikkem eingestellt wird, so dass er bei einer geringeren Spannung und/oder Frequenz arbeitet, auf der Grundlage anderer Faktoren durchgeführt, etwa dem beabsichtigten Zweck des Logikkems oder der Stelle des Logikkems innerhalb des Prozesses, etc.
  • Da die Betriebsfrequenz eines Logikkems mit der Betriebsspannung dieses Logikkems zusammenhängt, wird, wenn eine Betriebsspannung für einen Logikkem eingestellt wird, etwa um die Betriebstemperatur abzusenken, die Betriebsfrequenz für diesen Logikkem ebenfalls eingestellt. Wenn beispielsweise die Betriebsspannung eines Logikkems auf einem Pegel verringert wird, der nicht mit der aktuellen Betriebsfrequenz kompatibel ist, wird auch die Betriebsfrequenz des Logikkems entsprechend abgesenkt.
  • Wenn ferner die Betriebsspannung und/oder die Frequenz für einen oder mehrere Logikkerne in einer integrierten Schaltung eingestellt werden, werden auch die Betriebsfrequenz und/oder die Spannung einer gemeinsamen Brücke, Schnittstelle oder einer anderen Komponente, die eine Schnittstelle zu dem Logikkemen des Prozessors bildet, in einigen Ausführungsformen ebenfalls eingestellt ist. Wenn etwa eine gemeinsame Brücke eine Schnittstelle mit jedem der Logiksteuerungen bildet, wird eine Frequenz und/oder eine Spannung für die gemeinsame Brücke, oder lediglich einen Bereich der gemeinsamen Brücke eingestellt, wenn die Betriebsspannung und/oder die Frequenz eines oder Logikkeme geändert wird. In einigen Ausführungsformen ist eine einzelne gemeinsame Brücke, etwa eine Nordbrücke, ausgebildet, mit den mehreren Logikkemen eines Prozessors oder einer anderen integrierten Schaltung zu kommunizieren, und die Betriebsspannung und/oder Frequenz der gemeinsamen Brücke wird eingestellt, so dass Kompatibilität mit der Betriebsspannung und/oder Frequenz jedes der Elemente, für die es eine Schnittstelle bildet, hergestellt wird.
  • Z. B. enthält eine gemeinsame Brücke mehrere Anschlüsse oder Schnittstellen, wovon jede mit einem anderen der mehreren Logikkeme eines Prozessors kommuniziert, und es wird die Betriebsfrequenz und/oder die Spannung jedes Anschlusses so eingestellt, dass diese kompatibel mit der Betriebsfrequenz und/oder Frequenz eines entsprechenden Logikkems ist, der mit dem speziellen Anschluss in Kommunikation steht, wie dies für eine Ausführungsform der Fall ist. In anderen Ausführungsformen wird eine einzelne Gesamtbetriebsspannung und/oder Frequenz für eine gemeinsame Brücke so eingestellt, dass dies kompatibel mit den Betriebsspannungen und/der Frequenzen aller Logikkeme des Prozessors ist. Beispielsweise wird die Betriebsfrequenz einer Steuerung höher eingestellt als die aktuellen Betriebsfrequenzen aller Logikkeme in dem Prozessor. In einigen Ausführungsformen wird die Betriebsfrequenz der Steuerung so eingestellt, dass sie ein ganzzahliges Vielfaches der Betriebsfrequenz eines oder mehrerer der Logikkeme ist. In anderen Ausführungsformen wird die Betriebsfrequenz der Steuerung höher eingestellt als die Betriebsfrequenz der Logikkeme, ohne dass sie notwendigerweise ein Vielfaches davon ist.
  • In einigen Ausführungsformen enthält ein Multikemprozessor eine Schaltung, die ausgebildet ist, Daten und/oder Steuersignale, die zwischen einer gemeinsamen Brücke und einem oder mehreren der Logikkeme übermittelt werden, zu übersetzen bzw. anzupassen, wenn die gemeinsame Brücke und die Logikkeme bei unterschiedlichen Spannungen und/oder Frequenzen arbeiten. Beispielsweise enthält der Prozessor eine Spannungsübersetzungsschaltung, die ausgebildet ist, den Spannungspegel, der für ein oder mehrere Kommunikationssignale oder Leitungen zwischen der gemeinsamen Brücke und einem Logikkem des Prozessors verwendet wird, anzupassen. Des weiteren enthält in einigen Ausführungsformen der Prozessor eine Schaltung, die ausgebildet ist, Daten, die zwischen der gemeinsamen Brücke und einem Logikkem, die bei unterschiedlichen Frequenzen arbeiten, zu übersetzen. In noch anderen Ausführungsformen ist das logische Protokoll, das verwendet wird, wenn eine Kommunikation zwischen einer gemeinsamen Brückenschnittstelle und einem Logikkem stattfindet, gestaltet und/oder ausgebildet, eine unterschiedliche Frequenz zu berücksichtigen, und somit einen Unterschied im Zeitverhalten der Taktsignale für die Kommunikation zwischen der gemeinsamen Brückenschnittstelle und dem Logikkem.
  • In einigen Ausführungsformen enthält ein System mit einem Multikemprozessor oder einer anderen integrierte Multikem-Schaltung mehrere Logikkeme, wovon jeder ausgebildet ist, bei Spannungen unabhängig zu verarbeiten, und enthält ferner einen oder mehrere Spannungsregler, die ausgebildet sind, einen Bereich von Spannungen den Logikkemen des Prozessors zuzuführen. In einer Ausführungsform enthält ein derartiges System einzelne Spannungsregler für jeden Logikkem des Prozessors. In anderen Ausführungsformen enthält jedoch das System nur einen einzelnen Spannungsregler, der ausgebildet ist, einen Bereich an Spannungen dem Prozessor zuzuführen, wobei das System auch eine Schaltung enthalten kann, die ausgebildet ist, ein einzelnes Spannungssignal aus dem Spannungsregler aufzuteilen und/oder zu unterteilen, um einzelne Spannungssignale zu liefem, wovon jedes eine unterschiedliche Spannung repräsentiert, und diese zu unterschiedlichen Logikkemen des Prozessors geführt werden. In einigen Ausführungsformen ist der Spannungsregler oder eine das Spannungssignal unterteilende und die Spannung wandelnde Schaltung in dem Prozessor angeordnet oder ist ein Teil davon, während in andem Ausführungsformen der Spannungsregler und eine dazugehörige Signal untereilende oder wandelnde Schaltung außerhalb des Prozessors angeordnet. In noch anderen weiteren Ausführungsformen ist der Spannungsregler oder die Regler außerhalb des Prozessors angeordnet, während einige oder alle begleitenden Signalunterteilungs- oder Wandelschaltungen Teil des Prozessors sind.
  • In ähnlicher Weise enthält ein System mit einer integrierten Multikem-Schaltung, die mehrere Logikkeme enthält, die ausgebildet sind, bei Frequenzen unabhängig voneinander zu arbeiten, einen oder mehrere Taktsignalgeneratoren, die ausgebildet sind, einen Bereich von Taktsignalen oder Frequenzsignalen dem Prozessor zuzuführen, wobei dies als Teil des Prozessors oder extern dazu stattfinden kann. Wie die Spannungsregler und die begleitenden Signalunterteilungs- oder Einstellschaltungen, die zuvor erläutert sind, können auch die Taktgeneratoren und die dazugehörigen Signalunterteilungs- oder Wandelschaltungen teilweise oder außerhalb oder eine Kombination einer internen und externen Schaltung des Prozessors gemäß den diversen Ausführungsformen sein.
  • In einigen Ausführungsformen ist die Logikschaltung oder die Firmware, die ausgebildet ist, die Betriebsspannung und die Frequenz von Logikkemen und/oder Kommunikationssteuerungen zu steuern, in dem Prozessor selbst vorgesehen. In anderen Ausführungsformen ist jedoch die Schaltung oder die Firmware außerhalb des Prozessors vorgesehen, ist aber ausgebildet, mit diversen Elementen in dem Prozessor in Verbindung zu treten, etwa mit Logikkemen und/oder eine Kommunikationssteuerung.
  • Kurze Beschreibung der Zeichnungen
    • 1 ist eine Blockansicht, die eine integrierte Schaltung mit mehreren Logikkemen zeigt, die ausgebildet sind, bei unabhängigen Spannungen und/oder Frequenzen gemäß einer Ausführungsform zu arbeiten.
    • 2a ist eine Blockansicht, die eine Ausführungsform einer integrierte Multikem-Schaltung zeigt, in der Betriebsspannungen und/oder Frequenzen für jeden der mehreren Logikkeme durch eine Energieverwaltungslogik gesteuert werden.
    • 2b ist eine Blockansicht, die eine Temperatursteuerlogik zeigt, die ausgebildet ist, die Betriebsspannungen und/oder Frequenzen von Logikkemen einer integrierte Multikem-Schaltung gemäß einer Ausführungsform einzustellen.
    • 2c ist eine Blockansicht, die eine Temperatursteuerungssoftware darstellt, die ausgebildet ist, die Betriebsspannungen oder Frequenzen von Logikkemen einer integrierten Multikem-Schaltung gemäß einer Ausführungsform einzustellen.
    • 3 ist eine Blockansicht, die gemäß einer Ausführungsform eine integrierte Multikem-Schaltung mit einer Spannungs- und/oder Frequenzwandellogik zeigt.
    • 4 ist ein Flussdiagramm, das eine Ausführungsform eines Verfahrens zum unabhängigen Einstellen der Betriebsfrequenz für Logikkeme einer integrierten Multikem-Schaltung gemäß einer Ausführungsform zeigt.
    • 5 ist ein Flussdiagramm, das eine Ausführungsform eines Verfahrens zum unabhängigen Einstellen der Betriebsspannung für Logikkeme einer integrierten Multikem-Schaltung zeigt.
    • 6 ist ein Flussdiagramm, das eine Ausführungsform eines Verfahrens zum Verringern der Betriebstemperatur einer integrierten Multikem-Schaltung über das unabhängige Einstellen der Betriebsspannung und/oder Frequenz für die Logikkeme der integrierten Schaltung zeigt.
    • 7 ist ein Flussdiagramm, das eine Ausführungsform eines Verfahrens zum Erhöhen der Betriebstemperatur einer integrierten Multikem-Schaltung durch das unabhängige Einstellen der Betriebsspannung und/oder Frequenz für die Logikkeme der integrierten Schaltung zeigt.
    • 8 ist eine Blockansicht, die eine Ausführungsform eines Computersystems zeigt, der ausgebildet ist, die unabhängige Einstellung von Betriebseigenschaften von Logikkemen einer integrierte Multikem-Schaltung einzurichten.
  • Obwohl die Erfindung diversen Modifizierungen und alternativen Formen unterliegen kann, sind dennoch spezielle Ausführungsformen davon durch Beispiele in den Zeichnungen gezeigt und werden nachfolgend detaillierter beschrieben. Es sollte jedoch beachtet werden, dass die Zeichnungen und die detaillierte Beschreibung nicht beabsichtigen, die vorliegende Erfindung auf die spezielle offenbarte Form einzuschränken, sondern die Erfindung beabsichtigt vielmehr alle Modifizierungen, Äquivalente und Alternativen abzudecken, die innerhalb des Grundgedankens und des Schutzbereichs der vorliegenden Erfindung liegen, wie sie durch die angefügten Patentansprüche definiert ist. Zu beachten sind, dass die Überschriften lediglich zur Einteilung dienen und nicht die Beschreibung oder die Patentansprüche beschränken oder interpretieren sollen. Des weiteren ist zu beachten, dass der Betriff „kann“ in dieser Anmeldung in einem möglichen Sinne (d. h. besitzt die Möglichkeit zu, ist in der Lage zu) und nicht im Sinne von notwendig (d. h. muss) verwendet wird. Der Begriff „enthalten“ und Ableitungen davon bedeuten „einschließlich, aber ohne Beschränkung darauf“. Der Begriff „verbunden“ bedeutet „direkt oder indirekt verbunden“, und der Begriff „gekoppelt“ bedeutet „direkt oder indirekt gekoppelt“.
  • Art bzw. Arten zum Ausführen der Erfindung
  • Prozessoren oder andere integrierte Schaltungen können mehrere Logikkeme enthalten, die ausgebildet sind, bei unabhängigen Spannungspegeln und Frequenzen zu arbeiten. Des weiteren kann ein Prozessor oder eine integrierte Schaltung eine gemeinsame Brücke oder Schnittstelleneinheit aufweisen, die ausgebildet ist, mit diversen Elementen des Prozessors einschließlich dem einen oder den mehreren Logikkemen in Verbindung zu treten. Eine derartige gemeinsame Brückeneinheit, Schnittstelleneinheit oder eine andere Komponente, die ausgebildet ist, mit Logikkemen zu kommunizieren, die bei unabhängigen Spannungen und/oder Frequenzen betrieben werden, ist ebenfalls ausgebildet, mit externen Elementen des Prozessors zu kommunizieren, etwa einem Speicher, zusätzlichen Kommunikationsbussen und/oder anderen Periphereinheiten. Ein System mit einem oder mehreren Multikemprozessoren, wovon jeder mehrere unabhängig steuerbare (im Hinblick auf die Betriebsspannung und Frequenz) Logikkeme enthält, ist ausgebildet, automatisch die Betriebsspannung und/oder Frequenz eines oder mehrerer der Logikkeme für die Energieverwaltung oder zur Steuerung der Betriebstemperatur des Systems einzustellen.
  • Beispielsweise ist 1 eine Blockansicht, in der ein System dargestellt ist, das eine integrierte Multikem-Schaltung 100 gemäß einer Ausführungsform aufweist. Wie zuvor erläutert ist, kann eine integrierte Schaltung mehrerer Logikkeme, etwa Logikkeme 120a, 120b aufweisen, wovon jeder ausgebildet ist, bei einer unabhängigen Spannung und Frequenz zu arbeiten. Anders ausgedrückt, jeder Logikkem arbeitet bei einer Spannung und/oder Frequenz unabhängig von der Spannung und/oder Frequenz, bei der andere Logikkeme, etwa der Logikkem 120b, betrieben werden. Obwohl 1 die integrierte Schaltung 100 mit zwei Logikkemen zeigt, sind in anderen Ausführungsformen integrierte Schaltungen oder Multikemprozessoren verwendet, die weitere Logikkeme enthalten. In einigen Ausführungsformen repräsentiert die integrierte Schaltung 100 einen Multikemprozessor und die Logikkerne 120a, 120b repräsentieren Prozessorkeme, die Befehle abarbeiten, die der integrierten Schaltung 100 zugeführt werden. Im Allgemeinen werden die Systeme, Verfahren und Techniken, wie sie hierin beschrieben sind, für Systeme oder Bauelemente angewendet, die eine beliebige Anzahl an Logikkemen aufweisen, die für den Betrieb bei unabhängigen Spannungen und/oder Frequenzen ausgebildet sind. Beispielsweise enthält ein Prozessor mehrere Logikkeme oder Prozessorkeme, die ausgebildet sind, bei Frequenzen und Spannungen unabhängig voneinander gemäß einigen Ausführungsformen zu arbeiten. In anderen Ausführungsformen enthält eine integrierte Schaltung zwei oder mehr Logikkeme, die jeweils ausgebildet sind, bei Frequenzen und Spannungen unabhängig von den Frequenzen oder Spannungen zu arbeiten, bei der die anderen Logikkeme oder andere Komponenten betrieben werden.
  • Wie ferner in 1 gezeigt ist, enthält eine integrierte Multikem-Schaltung oder Prozessor eine gemeinsame Brücke oder Schnittstelleneinheit, etwa eine gemeinsame Brückenlogik 110, die ausgebildet ist, mit den Logikkemen sowie mit anderen Elementen oder peripheren Einheiten, die intern oder extern zur integrierten Schaltung 100 vorliegen können, etwa einem Bus 150, einem Peripheriegerät 160 und/oder einem Speichersubsystem 170 zu kommunizieren. In einigen Ausführungsformen ist die gemeinsame Brückenlogik 110 ausgebildet, bei einer Spannung oder Frequenz zu arbeiten, die unterschiedlich unabhängig zu der Spannung oder Frequenz ist, bei der die Logikkeme 120a, 120b betrieben werden. In einigen Ausführungsformen ist die Spannung und die Frequenz, bei der die gemeinsame Brückenlogik 110 arbeitet, von der Spannung und/oder Frequenz abhängig oder steht damit in Beziehung, wobei die Logikkeme 120a und 120b arbeiten. Beispielsweise arbeiten in einigen Ausführungsformen die gemeinsame Brückenlogik 110 immer bei einer Frequenz, die zumindest so hoch ist und möglicherweise höher ist als die höchste Frequenz, bei der die Logikkeme 120a und 120b aktuell betrieben werden. Da die Frequenz, bei der ein Logikkem arbeitet, im Allgemeinen mit dem Spannungspegel arbeitet, bei dem der Logikkem betrieben wird, hängen in einigen Ausführungsformen die Frequenzen, bei denen die Logikkeme 120a und 120 betrieben werden, von der Spannung ab, bei der diese betrieben werden.
  • Ferner weist in einigen Ausführungsformen ein System mit einer oder mehreren integrierteN Multikem-Schaltungen einen oder mehrere Spannungsregel auf, etwa einen Spannungsregel 130, der ausgebildet ist, einen Bereich von Spannungen der integrierten Schaltung zuzuführen, und der in einigen Ausführungsformen ausgebildet ist, unabhängige Spannungen jedem Logikem der integrierten Schaltung zuzuführen. Des weiteren führt in einigen Ausführungsformen der Spannungsregler 130 einen Bereich von Spannungen an eine gemeinsame Brückenlogik 110 zu. In ähnlicher Weise umfasst ein System mit einer oder mehreren integrierten Multikem-Schaltungen auch einen oder mehrere Frequenzregler, etwa einen Frequenzregler 140, der ausgebildet ist, Taktfrequenzsignale den Logikkernen, etwa den Logikkemen 120a und 120b zuzuführen. In einigen Ausführungsformen ist der Frequenzregler 140 ausgebildet, Taktfrequenzsignale der gemeinsamen Brückenlogik 110 zuzuführen. Der Frequenzregler 140 kann beliebige Arten von Taktsignalquellen enthalten, etwa einen Oszillator oder eine Phasenregelschaltung (PLL), um ein Referenztaktsignal zu erzeugen. Des weiteren umfasst in einigen Ausführungsformen der Frequenzregler 140 Taktsignalbäume oder Schaltungen, die ausgebildet sind, ein Taktsignal in mehrere einzelne Signale aufzuspalten oder zu unterteilen und kann mehrere Taktsignalquellen enthalten, um mehrere unabhängige Taktsignale mit unterschiedlicher Frequenz bereitzustellen.
  • In einigen Ausführungsformen wird eine gemeinsame Brücke, Schnittstelleneinheit oder eine andere gemeinsame Brückeneinheit, etwa eine Nordbrücke, durch eine separate Spannungsregelung und/oder Frequenzgenerator gesteuert. Gemäß einigen Ausführungsformen ermöglicht es eine gemeinsame Brücke, die als Schnittstelle für mehrere Logikkeme dient, bei einer Spannung und/oder Frequenz unabhängig von jedem der Logikkeme zu arbeiten, so dass die Kerne bei einer geringeren Spannung und Frequenz arbeiten können, während die gemeinsame Brücke bei einer höheren Spannung und/oder Frequenz als die Logikkeme funktioniert, wodurch die Möglichkeit einer Engstelle in Form der gemeinsamen Brücke minimiert wird. Durch die Möglichkeit, dass die gemeinsame Brücke bei einer höheren Frequenz als die Kerne arbeitet, ist es auch möglich, dass die gemeinsame Brücke mit jedem Kern mittels der entsprechenden Frequenz des Kerns kommuniziert, indem eine Frequenz zur Kommunikation verwendet wird, die ein Bruchteil der Hauptbetriebsfrequenz der gemeinsamen Brücke ist, wodurch die Notwendigkeit vermieden wird, mehrere Frequenzen der gemeinsamen Brücke zuzuführen.
  • Der Frequenzregler 140 ist ausgebildet, eine oder mehrere Spannungen zu der gemeinsamen Brückenlogik 110 gemäß einigen Ausführungsformen zuzuführen. Beispielsweise ist die gemeinsame Brückenlogik 110 ausgebildet, als Schnittstelle für jeden der Logikkeme 120 in der integrierten Schaltung 110 zu dienen und kann mit einer oder mehreren Spannungen versorgt werden, etwa von dem Spannungsregler 130. In ähnlicher Weise ist in einigen Ausführungsformen der Frequenzregler 140 ausgebildet, eine oder mehrere Frequenzen oder Taktsignale zu der gemeinsamen Brückenlogik 110 zuzuführen. Die gemeinsame Brückenlogik 110 ist ausgebildet, mit einem Logikkem unter Verwendung der gleichen Logikpegel und/oder Taktzeitabstimmung wie der Logikkem zu kommunizieren und kann somit mit mehreren Spannungen und/oder Frequenzen versorgt werden, um es der gemeinsamen Brückenlogik 110 zu ermöglichen, mit jedem Logikkem unter Anwendung individueller Spannungen und Taktsignalzeitabstimmungen für jeden entsprechenden Logikkem zu kommunizieren. Alternativ ist in einigen Ausführungsformen die gemeinsame Brückenlogik 110 ausgebildet, lediglich eine einzelne Spannung und/oder ein einzelnes Frequenzsignal zu erhalten. In derartigen Ausführungsformen ist die gemeinsame Brückenlogik 110 ausgebildet, mit einem individuellen Logikkem in Verbindung zu treten, obwohl der Logikkem bei einer anderen Spannung oder bei einer anderen Frequenz als die gemeinsame Brückenlogik 110 betrieben wird. Beispielsweise wird die gemeinsame Brückenlogik 110 mit einer Spannung versorgt, die zumindest so hoch ist wie die Spannung des Logikkems 120a und kann in ähnlicher Weise mit einer Frequenz oder einem Taktsignal versorgt werden, dass zumindest der aktuellen Betriebsfrequenz des Logikkems 120a entspricht und die Schnittstelle zwischen der gemeinsamen Brückenlogik 110 ist ausgebildet, die Kommunikation, etwa die Signale auf einer oder mehreren Steuerleitungen, zwischen den unterschiedlichen Logikpegeln und/oder zwischen den unterschiedlichen Frequenzen zwischen der gemeinsamen Brückenlogik 110 und den Logikkem 120a zu übersetzen.
  • In einer Ausführungsform empfängt jeder Logikkem 120 und die gemeinsame Brückenlogik 110 jeweils eine Versorgungsspannung und ein Taktsignal unabhängig voneinander. Beispielsweise werden eine Reihe unterschiedlicher Spannungen erzeugt und/oder geregelt und der integrierten Schaltung 100 über diverse Verbindungen eingespeist. Alternativ wird eine einzelne Spannung der integrierten Schaltung 100 eingespeist und intern modifiziert, um die erforderlichen Spannungen bereitzustellen. In ähnlicher Weise können mehrere Taktsignale mit unterschiedlichen Frequenzen außerhalb des Chips oder intern erzeugt werden und den einzelnen Logikkemen 120 und/oder der gemeinsamen Brückenlogik 110 zugeführt werden. In einer Ausführungsform wird ein Taktsignal mit einer einzelnen Frequenz den Logikkemen 120 zugeführt, und jeder Kern erzeugt eine spezielle interne Betriebsfrequenz, die von diesem Signal abgeleitet wird.
  • Obwohl die vorhergehende Erläuterung sich auf das unabhängige Steuern der Betriebsspannungen und/oder Frequenzen für mehrere Logikkeme in einem Multikemprozessor bezieht, werden gemäß einigen Ausführungsformen die Systeme, Verfahren und Techniken, wie sie hierin beschrieben sind, für das unabhängige Steuern von Betriebsspannungen und/oder Frequenzen auf eine beliebige integrierte Schaltung oder eine Komponente angewendet, die mehrere Bereiche oder Abschnitte an Schaltungen enthält, die ausgebildet sind, bei unabhängigen Betriebsspannungen und/oder Frequenzen zu arbeiten. Beispielsweise sind eine Steuerung, eine Brücke oder andere Komponenten ausgebildet, mit mehreren Komponenten verbunden zu sein oder zu kommunizieren, die ausgebildet sind, unabhängig die Frequenz oder Spannungen dieser Schnittstellen zu steuern. Des weiteren können die Verfahren, Techniken und das hierin beschriebene System auf das unabhängige Steuern der Betriebsspannungen und/oder Frequenzen angewendet werden, bei denen unterschiedliche Bereiche einer einzelnen Schaltung oder selbst eine Gruppe aus miteinander in Verbindung stehenden Komponenten in Reaktion auf eine Änderung der Betriebstemperatur für die Schaltung oder die Gruppe aus Komponenten betrieben werden.
  • 2a zeigt eine Blockansicht, die eine Ausführungsform eines Systems mit einer integrierten Multikem-Schaltung 100 zeigt. In der durch die 2a gezeigten Ausführungsform ist eine Energieverwaltungslogik 200 ausgebildet, die Betriebseigenschaften, etwa die Betriebsspannung und/oder die Betriebsfrequenz von jedem von mehreren Logikkemen 120 der integrierten Schaltung 100 zu steuern. Beispielsweise repräsentiert die 2a einen Teil der Schaltung für eine durch Batterie gespeiste Recheneinrichtung, etwa einen tragbaren Rechner, einen Handrechner oder PDA, die die Energieverwaltungslogik 200 enthält. In einem derartigen Beispiel ist die Energieverwaltungseinheit 200 ausgebildet, die Betriebseigenschaften, etwa die Betriebsspannung und/oder Frequenz für einen oder mehrere der mehreren Logikkeme 120 der integrierten Schaltungen 100 einzustellen, um damit den gesamten Leistungsverbrauch für die integrierte Schaltung 100 einzustellen. Beispielsweise ist in einer Ausführungsform die Energieverwaltungslogik 200 ausgebildet, die Betriebseigenschaften eines oder mehrerer der Logikkeme 120 abzusenken, wenn das System auf Batterieleistung betrieben wird und ist ferner ausgebildet, die Betriebseigenschaften eines oder mehrerer de Logikkeme 120 anzuheben, wenn das System nicht auf Batterieleistung betrieben wird. Anders ausgedrückt, wenn das System mit Batterie betrieben wird, ist die Energieverwaltungslogik 200 ausgebildet, die Betriebsfrequenz und/oder die Spannung für einen oder mehrere der Logikkeme der integrierten Schaltung 100 auf kleinere Pegel einzustellen, um damit die gesamte Leistungsaufnahme der integrierten Schaltung 100 zu reduzieren. In einer Ausführungsform ist die Energieverwaltungslogik 200 ausgebildet, die Betriebsfrequenz und/oder die Spannung der Logikkeme eines Multikemprozessors oder einer anderen integrierten Multikem-Schaltung als Teil anderer Energiesparverfahren und Techniken auf Systemebene einzustellen, etwa durch das Reduzieren der Helligkeit einer Anzeige eines tragbaren Rechners, das Abschalten einer drahtlosen Kommunikationsschnittstelle und von CD-ROM oder DVD-Laufwerken.
  • In einigen Ausführungsformen ist die Energieverwaltungslogik 200 ausgebildet, die Betriebseigenschaften für einen Logikkem auf einen geringeren Pegel abzusenken als die Betriebseigenschaften eines weiteren Logikkems, abhängig von der gesamten Leistungsaufnahme oder Abhängig von der speziellen Natur des Systems. Ferner ist in einigen Ausführungsformen die Energieverwaltungslogik 200 ausgebildet, die Spannungen und/oder Frequenzen, die der gemeinsamen Brückenlogik 110 zugeleitet sind, einzustellen. In einer Ausführungsform stellt die Energieverwaltungslogik 200 die Spannungen und/oder Frequenzen, die der gemeinsamen Brückenlogik 110 zugeführt werden, entsprechend den Betriebsspannungen und/oder Frequenzen der Logikkeme ein. In anderen Ausführungsformen ist jedoch die Energieverwaltungslogik 200 ausgebildet, höhere Spannungen und/oder Frequenzen der gemeinsamen Brückenlogik 110 im Vergleich zu den Logikkemen zuzuführen. Beispielsweise können in einer Ausführungsform die Logikkeme 120a und 120b deutlich mehr Leistung als die gemeinsame Brückenlogik 110 aufnehmen, wobei gleichzeitig die gemeinsame Brückenlogik 110 möglicherweise als Engstelle des Gesamtleistungsvermögens im Vergleich zu einzelnen Logikkemen fungieren kann (da die gemeinsame Brückenlogik 110 als Schnittstelle zu den mehreren Logikkemen und anderen Elementen, Schnittstellen und Komponenten dienen kann und mit diesen kommuniziert). In einem derartigen Beispiel ist die Energieverwaltungslogik 200 ausgebildet, eine höhere Spannung und Frequenz der gemeinsamen Brückenlogik 110 zuzuführen, um eine mögliche Engstelle durch die gemeinsame Brückenlogik 110 zu vermeiden und daher ein insgesamt hohes Leistungsvermögen beizubehalten, während kleinere Spannungen und Frequenzen den einzelnen Logikkemen 120 zur Verringerung der Gesamtleistungsaufnahme zugeführt werden.
  • In einer Ausführungsform ist ein Logikkem 120 ausgebildet, seine Betriebsfrequenz in Reaktion auf eine Anforderung von der Energieverwaltungslogik 200 zu ändern. Beispielsweise bestimmt die Energieverwaltungslogik 200, dass der Logikkem 120 übermäßig Leistung im Vergleich zur vorgesehenen Leistung für eine spezielle Art des Systembetriebs verbraucht. In Reaktion auf dieses Erkennen gibt die Energieverwaltungslogik 200 eine Anforderung an den Logikkem 120a aus, um seine Betriebsfrequenz zu ändern. In einer Ausführungsform erzeugt der Logikkem seinen eigenen internen Takt unter Anwendung einer Phasenregelschleife (PLL), die auf ein extern zugeführtes Taktsignal eingerastet ist, wie es etwa von dem Frequenzregler 140 bereitgestellt wird. Die interne Betriebsfrequenz des Logikkems kann ein Vielfaches des extern zugeführten Taktsignals sein, wie es durch die Konfigurationsparameter der PLL gegeben ist. Die PLL-Konfigurationsparameter können veränderbar sein, indem ein oder mehrere Steuerregister beschrieben werden, wodurch die interne Betriebsfrequenz des Logikkems eingestellt wird. Jeder Logikkem der integrierten Schaltung 100 enthält einen entsprechenden Satz aus Steuerregistern, durch die seine PLL-Konfigurationsparameter gemäß einigen Ausführungsformen eingestellt werden können. Somit kann in einigen Ausführungsformen die Energieverwaltungslogik 200 eines oder mehrere Steuerregister der integrierten Schaltung 100 beschreiben, um die Betriebsfrequenz eines oder mehrerer der Logikkeme 120 einzustellen.
  • Wie in 2a gezeigt ist, ist die Energieverwaltungslogik 200 so mit dem Spannungsregler 120 und dem Frequenzregler 140 verbunden oder steht mit diesen in anderweitiger Verbindung, dass damit die Betriebsspannungen und Frequenzen für die Logikkeme 120 und/oder für die gemeinsame Brückenlogik 110 eingestellt werden. Wenn die Betriebseigenschaften für den Logikkem 120a eingestellt werden, ist somit die Energieverwaltungslogik 200 ausgebildet, über ein oder mehrere Steuersignale mit dem Spannungsregler 130 in Verbindung zu treten, um den Spannungsregler 120 anzuweisen, eine spezielle Spannung dem Logikkern 120a zuzuführen. In ähnlicher Weise ist die Energieverwaltungslogik 200 ausgebildet, mit dem Frequenzregler 140 zu kommunizieren, um den Frequenzregler 140 anzuweisen, eine spezielle Frequenz oder ein Taktsignal den Logikkem 120a zuzuführen.
  • In einigen Ausführungsformen wird jedem Logikkem 120 und/oder der gemeinsamen Brückenlogik 110 Energie zugeführt durch eine Schaltung, die von jener getrennt ist, die Energie den anderen Logikkemen innerhalb der integrierten Schaltung 100 zuführt. In dieser Konfiguration kann jeder Logikkem 120 und/oder die gemeinsame Brückenlogik 110 bei einem unabhängigen Spannungspegel betrieben werden, der sich von den Spannungspegeln unterscheidet, bei denen andere Logikkeme betrieben werden. Ein oder mehrere Spannungsregler, etwa der Spannungsregler 130, sind ausgebildet, eine Spannung jedem Logikkem 120 und/oder der gemeinsamen Brückenlogik 110 bei einem unterschiedlichen Pegel zuzuführen. Jeder Spannungsregler, der Energie einem Teil des IC's 100 zuführt, ist ausgebildet, Anforderungen zu empfangen, um die Energie bei einem oder mehreren Spannungspegeln auszugeben und die Spannungspegel der Ausgangssignale in Reaktion auf eine derartige Anforderung einzustellen. In einer Ausführungsform sind die Logikkeme 120 ausgebildet, derartige Anforderungen auszugeben. Beispielsweise ist die Energieverwaltungslogik 200 ausgebildet, den Spannungsregler 130 anzuweisen, dem einen oder den mehreren Logikkemen 120 zugeführte Spannungspegel zu ändern. Die Energieverwaltungslogik 200 ist ausgebildet, die aktuellen Ausgangsspannungspegel für einen Logikkem 120 zu bestimmen, indem Daten verwertet werden, die in Konfigurationsregistem für den Spannungsregel 130 gespeichert sind. Alternativ kann in anderen Ausführungsformen ein Kern, der erkennt, dass er bei einer gewissen Temperatur betrieben wird, anfordern, dass der Spannungsregler, der seine Leistung liefert, den eingespeisten Spannungspegel ändert.
  • Wenn die Betriebseigenschaften für einen Logikkem 120 (oder für die gemeinsame Brückenlogik 110) eingestellt werden, ist die Energieverwaltungslogik 200 ausgebildet, einen neuen Spannungssollwert zu bestimmen. Beispielsweise bestimmt zur Verringerung der Gesamtleistungsaufnahme der integrierten Schaltung 100 die Energieverwaltungslogik 200 eine neue Betriebsspannung für den Logikkem 120a und/oder den Logikkem 120b. Da die Betriebsfrequenz für einen Logikkem abhängig von einer minimalen Betriebsspannung sein kann, wie dies zuvor erläutert ist, ist die Energieverwaltungslogik 200 ausgebildet zu bestimmen, ob die aktuelle Betriebsfrequenz für einen Logikkem möglich, wünschenswert oder kompatibel mit der neuen Betriebsspannung ist. Wenn die aktuelle Betriebsfrequenz für den Logikkem 120a nicht kompatibel oder möglich ist im Hinblick auf die neue Betriebsspannung für den Logikkem 120a, ist die Energieverwaltungslogik 200 ausgebildet, eine neue Betriebsfrequenz in Bezug auf die neue Spannung zu bestimmen. Beispielsweise ist die Energieverwaltungslogik ausgebildet, auf eine Tabelle aus kompatiblen oder wünschenswerten Spannungs-Frequenz-Paaren zuzugreifen, die zur Verwendung geeignet ist, wenn die Betriebseigenschaften für Logikkeme eingestellt werden.
  • In ähnlicher Weise ist die Energieverwaltungslogik 200 ausgebildet, zunächst eine neue Betriebsfrequenz für einen Logikkem zu bestimmen, wenn die Betriebseigenschaften für den Logikkem eingestellt werden. Somit ist in einigen Ausführungsformen die Energieverwaltungslogik 200 ausgebildet, eine neue gewünschte Betriebsfrequenz für den Logikkem 120a zu bestimmen und anschließend zu bestimmen, ob die gewünschte Frequenz kompatibel ist zu oder möglich ist für die aktuelle Betriebsspannung des Logikkems 120a. Beispielsweise kann die Energieverwaltungslogik 200 die Betriebsfrequenz für den Logikkem 120a erhöhen, so dass in Reaktion auf das Bestimmen, das ein System mit der integrierten Schaltung 100 nicht mehr auf Batterieleistung arbeitet. Wenn eine gewünschte Betriebsfrequenz für den Logikkem 120 nicht mit der aktuellen Betriebsspannung für den Logikkem 120a kompatibel ist, ist die Energieverwaltungslogik 200 ausgebildet, eine neue Betriebsspannung für den Logikkem 120a zu bestimmen, die mit der gewünschten Betriebsfrequenz kompatibel ist. Alternativ ist die Energieverwaltungslogik 200 ausgebildet, eine andere gewünschte Frequenz zu wählen, die mit der aktuellen Betriebsfrequenz des Logikkems 120a entsprechend einer Ausführungsform kompatibel ist.
  • Beim Einstellen der Betriebseigenschaften für die Logikkeme kann die Energieverwaltungslogik 200 ausgebildet sein sicherzustellen, dass neue Frequenzen und Spannungen zueinander kompatibel sind, wenn die Frequenzen und/oder Spannungen, die der gemeinsamen Brückenlogik 110 zugeführt werden, eingestellt werden. Wie oben angemerkt ist, kann die gemeinsame Brückenlogik 110 mit einer oder mehreren Spannungen und einer oder mehreren Frequenzen gemäß den diversen Ausführungsformen versorgt werden. Wie oben angemerkt ist, ist die gemeinsame Brückenlogik 110 ggf. ausgebildet, mit jedem Logikkem 120 unter Anwendung unterschiedlicher Spannungen und/oder Frequenzen für jeden Logikkem in Abhängigkeit von den individuellen Betriebseigenschaften jedes Logikkems zu kommunizieren oder als Schnittstelle für diesen zu dienen. Somit ist in einigen Ausführungsformen die Energieverwaltungslogik 200 ausgebildet, den Spannungsregler 130 anzuweisen, mehrere unabhängige Spannungspegel der gemeinsamen Brückenlogik 110 zuzuführen. Die Energieverwaltungslogik 200 kann ferner ausgebildet sein gemäß einigen Ausführungsformen, den Spannungspegel für jedes Spannungssignal auszuwählen, das der gemeinsamen Brückenlogik 110 zugeführt wird. In anderen Ausführungsformen ist jedoch die Energieverwaltungslogik 200 ausgebildet, die den einzelnen Logikkemen zugeführten Spannungen zu steuern und sich auf die gemeinsame Brückenlogik 110 zu stützen, um eine Koordination mit dem Spannungsregler 130 zu bewerkstelligen, um geeignete Spannungen zu empfangen, die zur Kommunikation mit jedem Logikkem erforderlich sind. In ähnlicher Weise ist in einigen Ausführungsformen die Energieverwaltungslogik 200 ausgebildet, die Frequenz einzelner Taktsignale, die von dem Frequenzregler 140 der gemeinsamen Brückenlogik zugeführt werden, zu steuern, während in anderen Ausführungsformen die gemeinsame Brückenlogik 110 ausgebildet ist, die speziellen Frequenzen zu bestimmen, die zur Kommunikation mit jedem Logikkem erforderlich sind, und eine Koordination mit dem Frequenzregler 140 zu bewerkstelligen, um eines oder mehrere Taktsignale, um eines oder mehrere Taktsignale bei geeigneten Frequenzen zu empfangen.
  • Die diversen Bereiche der Logik, die zur Steuerung der Spannungen und Frequenzen, die der gemeinsamen Brückenlogik 110 zugeführt werden, erforderlich sind, können in der Energieverwaltungslogik 200, dem Spannungsregler 130, dem Frequenzregler 140 und/oder der gemeinsamen Brückenlogik 110 gemäß den diversen Ausführungsformen vorhanden sein.
  • 2b zeigt eine Ausführungsform einer integrierten Multikem-Schaltung, für die die Betriebseigenschaften (d. h. die Betriebsspannung und Frequenz) für jeden von mehreren Logikkemen durch eine Temperatursteuerlogik gesteuert werden. In einigen Ausführungsformen enthält die integrierte Schaltung 100 einen oder mehrere Temperatursensoren, etwa einen Temperatursensor 220, der ausgebildet ist, die Betriebstemperatur der integrierten Schaltung 100 zu messen. Beispielsweise repräsentiert in einigen Ausführungsformen der Temperatursensor 220 eine thermische Diode. Der Temperatursensor 220 ist in einer Ausführungsform in dem Chip der integrierten Schaltung 100 in der Nähe eines Elements der integrierten Schaltung 100 eingebaut, das während des normalen Betriebs die meiste Wärme erzeugt. In einer weiteren Ausführungsform sind mehrere Temperatursensoren 220 in der integrierten Schaltung 100 in der Nähe entsprechender Logikkeme vorgesehen. Altemativ ist in anderen Ausführungsformen der Temperatursensor 220 nicht in der integrierten Schaltung 100 eingebaut, und ist in der Nähe dazu, benachbart dazu vorgesehen oder mit der integrierten Schaltung 100 so gekoppelt, dass eine Betriebstemperatur für die integrierte Schaltung 100 gemessen werden kann. Derartige Messwerte für Angaben der Betriebstemperatur können verwendet werden, um Einstellung für die Kembetriebsfrequenzen und Spannungen anzufordern, wie dies nachfolgend detailliert beschrieben ist.
  • In einer Ausführungsform ist der Temperatursensor 200 ausgebildet, eine Gesamtbetriebstemperatur der gesamten integrierten Schaltung 100 zu messen, während in andern Ausführungsformen der Temperatursensor 220 ausgebildet ist, eine lokale Betriebstemperatur eines Teils der integrierten Schaltung 100 zu messen, etwa eine lokale Betriebstemperatur für den Logikkem 120a oder den Logikkem 120b. Ein Temperatursensor 220 kann eine Angabe der Temperatur des heißesten Bereiches eine zugehörigen IC-Elements gemäß einigen Ausführungsformen bereitstellen, während in anderen Ausführungsformen der Sensor eine Angabe der mittleren Temperatur des Elements liefert. In noch anderen Ausführungsformen enthält die integrierte Schaltung 100 mehr als einen Temperatursensor 220, wovon jeder ausgebildet ist, eine lokale Betriebstemperatur für einen individuellen Bereich oder ein Gebiet der integrierten Schaltung 100 zu messen. Somit können gemäß einigen Ausführungsformen individuelle Temperaturmesswerte entsprechend jedem Kern der integrierten Schaltung 100 gewonnen werden. In anderen Ausführungsformen enthält jedoch die integrierte Schaltung 100 keinen Temperatursensor 220, sondern das System, von welchem das IC 100 ein Teil ist, enthält einen thermischen Sensor außerhalb der integrierten Schaltung 100, der ausgebildet ist, eine Betriebstemperatur der integrierten Schaltung 100 zu messen oder anderweitig zu bestimmen.
  • In einer Ausführungsform wird eine Anforderung zur Änderung der Betriebsspannung oder Frequenz einer IC-Komponente, etwa der Logikkeme 120, in Reaktion auf eine Änderung der Betriebstemperatur der Komponente erzeugt. Beispielsweise ist eine Temperatursteuerlogik 210 ausgebildet, eine aktuelle Betriebstemperatur für die integrierte Schaltung 100 einzulesen und eine Änderung für die aktuelle Betriebsspannung und/oder Frequenz eines oder mehrerer der Logikkeme 120 anzufordern. Die Logikkeme 120, die gemeinsame Brückenlogik 110 und/oder andere Komponenten, die in dem IC enthalten sind, können einen zugeordneten Temperatursensor 200 aufweisen. In einer Ausführungsform erzeugt der Temperatursensor 220 ein Steuersignal oder einen Interrupt in Reaktion auf das Erkennen einer spezifizierten Temperatur oder Temperaturen. In anderen Ausführungsformen liefert der Temperatursensor 220 eine Angabe der Temperatur der zugeordneten Komponente auf einer kontinuierlichen Basis. Im Hinblick auf Temperatursensoren und andere Bauelemente, die zur Messung der Betriebstemperatur oder Umgebungstemperatur ausgebildet sind, sowie im Hinblick auf Verfahren und Techniken zum Anschluss derartiger Geräte, zum Auslesen, Sammeln, Aufzeichnen oder zum Messen von Temperaturen, sei angemerkt, dass dies im Stand der Technik bekannt ist und im Folgenden nicht detailliert beschrieben ist.
  • In einigen Ausführungsformen ist die Betriebstemperatur der integrierten Schaltung 100 höher als eine maximale, bevorzugte oder anderweitig spezifizierte Betriebstemperatur der integrierten Schaltung 100, oberhalb derer ein nicht korrekter unvorhersagbarer oder unzuverlässiger Betrieb auftreten kann. Beispielsweise kann ein IC-Hersteller einen Temperaturbereich angegeben, in welchem das IC korrekt für eine unbegrenzte Zeitdauer funktioniert. Dieser Temperaturbereich kann eine maximale Temperatur beinhalten, oberhalb welcher eine korrekte Funktion nicht sichergestellt ist und eine Schädigung des Bauelements auftreten kann. Wie hierin beschrieben ist, wird in einem Verfahren zum Reduzieren der Betriebstemperatur eines IC's die Betriebsfrequenz und/oder die Spannung der in dem Bauelement enthaltenen Komponenten verringert. In einigen Ausführungsformen ist die Temperatursteuerlogik 210 ausgebildet, die Funktionsintegrität der integrierte Schaltung 100 zu schützen.
  • Somit sind in einigen Ausführungsformen die Logikschaltungen, die Firmware und/oder die Software innerhalb oder außerhalb der integrierten Schaltung 100, etwa die Temperatursteuerlogik 210, ausgebildet, die Betriebstemperatur der integrierten Schaltung 100 zu überwachen. In diversen Ausführungsformen ist die Temperatursteuerlogik 210 in Hardware, Software, Firmware oder einer Kombination davon eingerichtet. Die Temperatursteuerlogik 210 ist ausgebildet, automatisch die Betriebsfrequenz und/oder Spannung eines oder mehrerer der Logikkeme in der integrierten Schaltung 110 in Reaktion auf das Erkennen oder Bestimmen, dass die integrierte Schaltung 100 oder ein individueller Logikkem 120 der integrierten Schaltung 100 bei einer Temperatur arbeitet, die höher ist als eine maximale, sichere, bevorzugte oder anderweitig spezifizierte Betriebstemperatur ist, automatisch zu verringern. Die Temperatursteuerlogik 210 ist in einigen Ausführungsformen ausgebildet, auf den einen oder die mehreren Temperatursensoren 220 zuzugreifen, mit diesen Verbindung aufzunehmen oder anderweitig zu kommunizieren, um eine aktuelle Betriebstemperatur für die integrierte Schaltung 100 oder für einen oder mehrere Logikkeme in der integrierten Schaltung 100, etwa die Logikkeme 120a, 120b, zu bestimmen.
  • Wenn die Temperatursteuerlogik 210 bestimmt, dass die Betriebstemperatur der integrierten Schaltung 100 zu hoch ist, ist die Temperatursteuerlogik 210 ausgebildet, die Betriebsspannung und/oder die Frequenz eines oder mehrerer der Logikkeme der integrierten Schaltung 100, etwa von dem Logikkem 120a oder den Logikkem 120b oder von beiden gemäß weiterer Ausführungsformen automatisch einzustellen. Beispielsweise ist nach dem Erkennen, dass die integrierte Schaltung 100 bei einer höheren Temperatur als eine spezifizierte Betriebstemperatur arbeitet, die Temperatursteuerlogik 210 ausgebildet, den Logikkem 120 so zu konfigurieren, dass er bei einer geringeren Spannung und/oder Frequenz arbeitet, um damit die Betriebstemperatur der integrierten Schaltung 110 zu verringern. Wie bei der Energieverwaltungslogik 200, wie zuvor beschrieben ist, ist auch die Temperatursteuerlogik 210 in einigen Ausführungsformen ausgebildet, mit dem Spannungsregler 130 und dem Frequenzregler 140 in Verbindung zu treten, um die Spannungen und Frequenzen, die den Logikkemen 120a, 120b zugeführt werden, einzustellen.
  • In einigen Ausführungsformen verringert die Temperatursteuerlogik 210 die Betriebsfrequenz und/oder die Spannung aller Logikkeme in der integrierten Schaltung 100 gleichzeitig. In anderen Ausführungsformen verringert jedoch die Temperatursteuerlogik 210 die Betriebsspannung und/oder die Frequenz zunächst für einen einzelnen Logikkem, etwa dem Logikkem 120a, verringert die Betriebsspannung und/oder die Frequenz für weitere Logikkeme, etwa den Logikkem 120b, wenn die Betriebstemperatur der integrierten Schaltung 100 nicht ausreichend absinkt, nachdem die Betriebsspannung und/oder die Frequenz von lediglich einem einzelnen Logikkem abgesenkt wurde. Folglich ist die Temperatursteuerlogik 210 ausgebildet, um die Betriebstemperatur der integrierten Schaltung 100 kontinuierlich oder periodisch zu überwachen, um zu bestimmen, ob eine Verringerung der Betriebseigenschaften, etwa eine Absenkung der Betriebsspannung und/oder Frequenz eines oder mehrerer Logikkeme in der integrierten Schaltung 100 zu einer ausreichend tiefen Betriebstemperatur für die integrierte Schaltung 100 führt. Zu beachten ist, dass der Begriff „Betriebseigenschaften“ im hierin verwendeten Sinne eine Betriebsspannung oder eine Betriebsfrequenz oder beides betrifft.
  • Wenn nach dem Verringern der Betriebseigenschaften für einen oder mehrere mögliche Kerne 120 in der integrierten Schaltung 100 die Temperatursteuerlogik 210 bestimmt, dass die Betriebstemperatur für die integrierte Schaltung 100 weiterhin zu hoch ist, ist die Temperatursteuerlogik ausgebildet, eine weitere Verringerung der Betriebseigenschaften für einen oder mehrere Logikkeme innerhalb der integrierten Schaltung 100 gemäß einigen Ausführungsformen durchzuführen. Beispielsweise verringert die Temperatursteueriogik 210 zunächst die Betriebseigenschaften für den Logikkem 120a und nachfolgen verringert sie die Betriebseigenschaften des Logikkems 120b, nachdem bestimmt ist, dass die Reduzierung der Betriebseigenschaften für den Logikkem 120a nicht zu einer ausreichenden Absenkung der Betriebstemperatur für die integrierte Schaltung 100 führte. Wenn alternativ in einigen Ausführungsformen die Betriebstemperatur der integrierten Schaltung 100 nicht tief genug ist, nachdem die Betriebseigenschaften von beiden Logikkemen 120a und 120b abgesenkt wurden, kann die Temperatursteuerlogik 210 die Betriebseigenschaften für den Logikkem 120 a oder 120b oder für beide noch weiter absenken. Somit ist in einigen Ausführungsformen die Temperatursteuerlogik 210 ausgebildet, die Betriebseigenschaften für eine oder mehrere der Logikkeme in einem Multikemprozessor in Stufen oder Schritten abzusenken, bis eine gewünschte oder optimale Betriebstemperatur für die integrierte Schaltung 100 erreicht ist.
  • Gemäß 2c ist in einer Ausführungsform der Temperatursensor 220 ausgebildet, eine aktuelle Betriebstemperatur für den Prozessor 100 periodisch in einem Register innerhalb des Prozessors 100 zu speichern, und eine Temperatursteuersoftware 240 ist ausgebildet, auf das Register zuzugreifen, um die aktuelle Betriebstemperatur für einen Prozessor 100 zu bestimmen. In einigen Ausführungsformen sind der bzw. die Temperatursensoren 220 ausgebildet, mehrere Temperaturmesswerte zu speichern, wovon jeder einer Betriebstemperatur für einen unterschiedlichen der mehreren Logikkeme oder Prozessorkerne im IC 100 entspricht, wobei mehrere Register oder Datenspeicherstellen in oder außerhalb des IC's 100 verwendet werden. Zu beachten ist, dass in einigen Ausführungsformen die Temperatursteuersoftware 240, die Temperatursteuerlogik 210 und die Energieverwaltungslogik 200 Teil eines einzelnen Logikatzes sein können, die in Hardware, Firmware, Software oder einer Kombination eingerichtet ist, und der ausgebildet ist, die Betriebsfrequenz und/oder die Spannung diverser Bereiche der integrierten Schaltung 100, etwa der Logikkeme 120 und der gemeinsamen Brückenlogik 110 zu überwachen und einzustellen. Obwohl die vorhergehende Erläuterung das Reduzieren der Betriebseigenschaften für einen oder mehrere Logikkeme betrifft, um die Betriebstemperatur zu reduzieren oder im Hinblick auf Energieverwaltungsgründe, können die Betriebseigenschaften für einen oder mehrere Prozessorkerne individuell aus anderen Gründen eingestellt werden. Beispielsweise wird in einigen Ausführungsformen die Betriebsspannung und/oder Frequenz eines einzelnen Logikkems unabhängig von anderen Logikkemen in einem Multikemprozessor eingestellt, so dass dieser Logikkem mit einem speziellen Bauelement oder einer Schaltung bei einer speziellen Spannung oder Geschwindigkeit in Verbindung treten kann, wobei ein weiterer Logikkem des gleichen Prozessors in der Lage ist, bei einer unterschiedlichen Spannung und/oder Frequenz zu arbeiten. Im Allgemeinen werden die Bauelemente, Verfahren und Techniken, wie sie hierin beschrieben sind, für das Einstellen der Betriebseigenschaften von Logikkernen in einer Multikemumgebung unabhängig für eine Reihe von Gründen eingesetzt.
  • Wie zuvor angegeben ist, können die mehreren Logikkeme in einer integrierten Multikem-Schaltung, etwa die Logikkeme 120a und 120b der integrierten Schaltung 100 mit der gemeinsamen Brückenlogik 100 gemäß einigen Ausführungsformen in Verbindung treten oder als Schnittstelle dienen. 3 ist eine Blockansicht, die eine Ausführungsform einer integrierten Schaltung zeigt, in der die Logikkeme 120a und 120b mit der gemeinsamen Brückenlogik 110 unter Anwendung einer Übersetzungslogik und eine Kommunikationsprotokolllogik kommunizieren. Da, wie zuvor angegeben ist, jeder Logikkem einer integrierten Multikem-Schaltung ausgebildet ist, bei einer Spannung und/oder Frequenz zu arbeiten, die unabhängig von anderen Logikkemen ist, ist die gemeinsame Brückenlogik 110 ausgebildet, mit jedem Logikkem bei einer individuellen Spannung und/oder Frequenz zu kommunizieren. Somit kann die gemeinsame Brückenlogik 110 mehrere Sätze an Kommunikationsprotokolllogiken 320, etwa Kommunikationsprotokolllogiken 320a und 320b aufweisen, um mit unterschiedlichen Logikkemen bei unabhängigen Spannungen und Frequenzen zu kommunizieren. In anderen Ausführungsformen ist das spezielle Logikprotokoll, das durch die Kommunikationsprotokolllogik 320 eingerichtet ist, ausgebildet, den Unterschieden in dem Taktsignalzeitabläufen bei der Kommunikation mit einem Logikkem auf Grund der Unterschiede zwischen der Betriebsfrequenz des Logikkems und der Betriebsfrequenz der gemeinsamen Brückenlogik 110 und/oder der Betriebsfrequenz der Kommunikationsprotokolllogik 320a Rechnung zu tragen. Beispielsweise ist die Kommunikationsprotokolllogik 320a ausgebildet, eine längere Verzögerung anzunehmen, wenn Kommunikationssignale von dem Logikkem 120a erwartet werden, wenn der Logikkem 120a bei einer Frequenz arbeitet, die geringer ist als eine Frequenz, bei der die Kommunikationsprotokolllogik 320a und/oder die gemeinsame Brückenlogik 110 betrieben werden.
  • Des weiteren enthält in einigen Ausführungsformen die integrierte Schaltung 100 eine Übersetzungs- bzw. Umwandellogik 300 an der bzw. den Schnittstellen zwischen den Logikkernen 120 und der gemeinsamen Brückenlogik 110. In einigen Ausführungsformen ist eine derartige Übersetzungslogik ausgebildet, die Spannungslogikpegel zwischen den unterschiedlichen Spannungen der Logikkeme 120 und der gemeinsamen Brückenlogik 110 zu wandeln. Wenn beispielsweise der Logikkem 120a bei einer Spannung arbeitet, während die gemeinsame Brückenlogik 110 und/oder die Kommunikationsprotokolllogik 320 bei einer anderen Spannung arbeitet, ist die Übersetzungslogik 300a ausgebildet, die Schnittstellensignale zwischen den beiden Logikpegeln anzupassen. In ähnlicher Weise ist die Übersetzungslogik 300b ausgebildet, die Logikpegel von Signalen zwischen der Kommunikationsprotokolllogik 320b und den Logikkem 120b anzupassen, wenn der Logikkem 120b und I die Kommunikationsprotokolllogik 320b bei unterschiedlichen Spannungen arbeiten.
  • In einigen Ausführungsformen ist die Übersetzungslogik 300 ausgebildet, die Schnittstellensignale zwischen der gemeinsamen Brückenlogik 110 und den Logikkemen 120 anzupassen, einzustellen oder zu wandeln, um den Unterschieden zwischen den Betriebsfrequenzen der gemeinsamen Brückenlogik 110 und den Logikkemen 120 Rechnung zu tragen. In einigen Ausführungsformen ist die Kommunikationsprotokolllogik 320a ausgebildet, bei einer Frequenz unabhängig von einer Frequenz zu arbeiten, bei der der Rest der gemeinsamen Brückenlogik 110 arbeitet.
  • 4 ist ein Flussdiagramm, das eine Ausführungsform eines Verfahrens zur unabhängigen Energieverwaltung für einen oder mehrere Logikkemen gemäß einer Ausführungsform zeigt. Wie zuvor dargestellt ist, können die Betriebseigenschaften, etwa die Betriebsspannung und die Frequenz, für mehrere Logikkeme unabhängig aus den diversen Gründen gesteuert werden. Ein System mit den mehreren Logikkemen kann eine Notwendigkeit erkennen, die Betriebsfrequenz für einen Logikkem zu ändern, wie dies durch den Block 400 gezeigt ist Beispielsweise erkennt in einer Ausführungsformen die Energieverwaltungslogik 200 einen niedrigen Energiezustand und kann versuchen, die Betriebsfrequenz für einen oder mehrere Logikkeme eines Multikemprozessors zu reduzieren, um damit die Gesamtleistungsaufnahme des Systems zu verringern. In einer weiteren Ausführungsform arbeitet ein System mit einem Multikemprozessor auf Batteriebasis und die Energieverwaltungslogik 200 ist ausgebildet, um zu erkennen, wann das System auf Batterie arbeitet und um die Betriebsfrequenz eines oder mehrerer der Logikkeme einzustellen. Des weiteren ist die Energieverwaltungslogik 200 ausgebildet zu erkennen, wann das System von Batteriebetrieb auf Netzbetrieb übergeht und kann die Betriebsfrequenz eines oder mehrerer Logikkerne auf eine höhere Frequenz einstellen, um der Tatsache Rechnung zu tragen, dass das System nicht auf Batterie läuft.
  • Des weiteren enthält in einigen anschaulichen Ausführungsform ein System die Temperatursteuerlogik 210, die ausgebildet ist, die Betriebstemperatur eines oder mehrerer Logikkerne einzustellen Beispielsweise ist die Temperatursteuerlogik 210 ausgebildet, die Betriebstemperatur für einen Multikemprozessor und/oder für individuelle Logikkeme eines Multikemprozessors zu überwachen. Wie zuvor dargelegt ist, enthält eine integrierte Multikern-Schaltung einen Temperatursensor 220, über den die Temperatursteuerlogik 210 die Betriebstemperatur überwachen kann. Wenn die Betriebstemperatur für einen einzelnen Logikkem, oder für die gesamte kritische Schaltung über einer bevorzugten, maximalen und sicheren Betriebstemperatur liegt, ist die Temperatursteuerlogik 210 ausgebildet, die Betriebsfrequenz für einen oder mehrere der Logikkeme der integrierten Multikem-Schaltung abzusenken, um die Gesamtbetriebstemperatur des Systems zu verringern. Ferner ist in einigen Ausführungsformen die Temperatursteuerlogik 210 ausgebildet, die Betriebsfrequenz für einen oder mehrere Logikkeme in Reaktion darauf zu erhöhen, dass bestimmt wird, dass eine Betriebstemperatur unterhalb einer spezifizierten Betriebstemperatur liegt. Somit wird in einigen Ausführungsformen die Betriebsfrequenz für einen Logikkem auf eine geringere Frequenz eingestellt, während in anderen Ausführungsformen ein Logikkem eingestellt wird, um bei einer höheren Frequenz zu arbeiten.
  • In einigen Ausführungsformen ist die Temperatursteuerlogik 210 ausgebildet, eine Betriebsfrequenz für einen Logikkem nur dann zu erhöhen, wenn die Betriebsfrequenz für den Logikkem zuvor reduziert wurde. Beispielsweise kann die Betriebfrequenz für den Logikkem 120a beim Hochlauf des Systems anfänglich auf eine spezifizierte maximale Betriebsfrequenz gesetzt werden und die Temperatursteuerlogik 210 erhöht die Betriebsfrequenz für den Logikkem 120a nur, wenn die Betriebsfrequenz für den Logikkem 120a gegenüber der anfänglichen Frequenz verringert wurde. Wenn in ähnlicher Weise die Betriebsfrequenz für einen Logikkem angehoben wird, ist die Energieverwaltungslogik 200 und/oder die Temperatursteuerlogik 210 ausgebildet, lediglich die Betriebsfrequenz auf eine spezifizierte maximale Frequenz anzuheben, unabhängig davon, ob die aktuelle Leistungsaufnahme des Systems und/oder die Betriebstemperatur es zulassen würden, dass der Logikkem bei einer höheren Frequenz als die spezifizierte maximale Betriebsfrequenz arbeitet.
  • In anderen Ausführungsformen ist jedoch die Temperatursteuerlogik 210 ausgebildet, die Betriebsfrequenz für einen Logikkem zu erhöhen, unabhängig davon, ob die Betriebsfrequenz und/oder die Spannung für diesen Kern vorverlängert wurde. Somit ist in einer Ausführungsform die Temperatursteuerlogik 210 ausgebildet, die Betriebsfrequenz für einen Logikkem über eine spezifizierte maximale Frequenz hinaus anzuheben, wenn eine Betriebstemperatur für den Logikkem ausreichend gering ist, um anzuzeigen, dass selbst nach dem Erhöhen der Betriebsfrequenz für den Logikkem dieser bei oder unterhalb einer maximalen Betriebstemperatur arbeitet. Somit kann in einigen Ausführungsformen die Temperatursteuerlogik 210 die Betriebsfrequenz eines Betriebsfrequenz eines Prozessors über eine spezifizierte maximale Frequenz anheben, wenn der Prozessor einer ausreichend geringen Betriebstemperatur arbeitet. Wie zuvor angegeben ist, kann beim Erhöhen der Betriebsfrequenz für einen Logikkem die Temperatursteuerlogik 210 auch die Betriebsspannung für den Logikkem anheben, um die höhere Betriebsfrequenz zu ermöglichen.
  • Somit kann die Energieverwaltungslogik 200 eine neue Frequenz für einen Logikkem bestimmen, wie dies durch den Block 410 angegeben ist. Die Energieverwaltungslogik 200, die in Hardware, Firmware, Software oder eine Kombination davon eingerichtet sein kann, bestimmt eine neue Betriebsfrequenz für einen Logikkem, etwa auf Grundlage eines Standardalgorithmus oder aus einer Tabelle, die diverse Betriebsfrequenzen enthält. Nach dem Bestimmen einer neuen Betriebsfrequenz für einen Logikkem bestimmt die Energieverwaltungslogik 200, ob die neue Frequenz mit der aktuellen Betriebsspannung für den Logikkem kompatibel ist, wie dies durch den Entscheidungsblock 420 angegeben ist. Wenn beispielsweise die neue Frequenz höher ist als die aktuelle Betriebsfrequenz, ist die aktuelle Spannung des Logikkems nicht in der Lage, die neue Frequenz zu unterstützen. Wenn die neue Frequenz nicht mit der aktuellen Betriebsspannung kompatibel ist, bestimmt die Energieverwaltungslogik 200 eine neue Spannung, die mit der neuen Frequenz kompatibel ist, wie dies durch den Block 430 angegeben ist. Beim Bestimmen einer neuen Frequenz kann die Energieverwaltungslogik 200 eine neue Betriebsspannung unter Anwendung diverser Verfahren bestimmen, etwa durch einen Algorithmus oder durch eine Tabelle mit kompatiblen Paaren aus Spannungen und Frequenzen gemäß den diversen Ausführungsformen. Nach dem Bestimmen einer neuen Betriebsspannung, die mit der neuen Frequenz kompatibel ist, stellt die Energieverwaltungslogik 200 die neue Spannung als die Betriebsspannung für den Logikkem ein, wie dies durch den Block 440 angegeben ist.
  • Wenn die neue Frequenz mit der aktuellen Betriebsspannung für den Logikkem kompatibel ist, oder nach dem Einstellen der Betriebsspannung für den Logikkem auf eine Spannung, die mit der neuen Frequenz kompatibel ist, legt die Energieverwaltungslogik 200 die neue Frequenz als die Betriebsfrequenz für den Logikkem fest, wie dies durch den Block 450 angegeben ist. In einigen Ausführungsformen legt die Energieverwaltungslogik 200 eine neue Betriebsspannung bei Bedarf fest, bevor eine Betriebsfrequenz festgelegt wird. In anderen Ausführungsformen legt jedoch die Energieverwaltungslogik 200 eine neue Betriebsspannung und eine neue Betriebsfrequenz gleichzeitig fest oder legt in einigen Ausführungsformen eine neue Betriebsfrequenz vor dem Festlegen der neuen Betriebsspannung fest.
  • Wie zuvor beschrieben ist, ist ein Logikkem in einigen Ausführungsformen ausgebildet, mit der gemeinsamen Brückenlogik 110, etwa einer Nordbrücke, zu kommunizieren, die bei einer anderen Frequenz als der neuen Frequenz des Logikkems betrieben wird. Somit ist in einigen Ausführungsformen die Energieverwaltungslogik 200 ausgebildet, eine derartige gemeinsame Brückenlogik 110 für die neue Betriebsfrequenz des Logikkems einzustellen, um die Kommunikation zwischen dem Logikkem und der gemeinsamen Brückenlogik aufrecht zu erhalten. Beispielsweise ist in einer Ausführungsform die Energieverwaltungslogik 200 ausgebildet, die gemeinsame Brückenlogik 110 so einzustellen, dass diese bei der neuen Betriebsfrequenz für den Logikkem arbeitet. In anderen Ausführungsformen stellt jedoch die Energieverwaltungslogik 200 die gemeinsame Brückenlogik 110 ein, um bei einer Frequenz zu arbeiten, die mit der neuen Arbeitsfrequenz des Logikkems kompatibel ist.
  • Beispielsweise wird die gemeinsame Brückenlogik 110 eingestellt, so dass diese bei einer höheren Frequenz als die neue Betriebsfrequenz für den Logikkem arbeitet, und die gemeinsame Brückenlogik kann eine Kommunikationsprotokolllogik 320 enthalten, die ausgebildet ist, mit dem Logikkem unter Anwendung einer geteilten oder herabgesetzten Version der höheren Betriebsfrequenz der gemeinsamen Brückenlogik zu kommunizieren. In anderen Ausführungsformen ist die Kommunikationsprotokolllogik 320 ausgebildet, dass sichergestellt wird, dass die Zeitabläufe für jede Kommunikation oder jedes Signal zwischen dem Logikkem und der gemeinsamen Brückenlogik so sind, dass diese einen Unterschied der Betriebsfrequenz des Logikkems und der gemeinsamen Brückenlogik berücksichtigen. Somit ist die Energieverwaltungslogik 200 ausgebildet, die gemeinsame Brückenlogik 110 in Reaktion auf eine neue Betriebsfrequenz eines Logikkems auf eine entsprechende Weise einzustellen, etwa durch Einstellen der Gesamtbetriebsfrequenz für die gemeinsame Brückenlogik, durch Einstellen der Kommunikationsprotokolllogik, um den Unterschieden zwischen der Betriebsfrequenz der gemeinsamen Brückenlogik und der Betriebsfrequenz für den Logikkem Rechnung zu tragen, oder durch Ausführen einer Kombination von beiden, wobei dies in den diversen Ausführungsformen verwirklicht ist. Wenn die gemeinsame Brückenlogik 110 in Reaktion auf eine neue Betriebsfrequenz für eine neue Betriebsfrequenz für einen Logikkem eingestellt wird, kann die Energieverwaltungslogik 200 die Betriebsfrequenzen anderer Logikkeme berücksichtigen, mit denen die gemeinsamen Brücklogik 110 in Verbindung steht. Des weiteren kann die Energieverwaltungslogik 200 auch die Betriebsspannung für die gemeinsame Brückenlogik 110 so einstellen, dass diese mit der neuen Betriebsfrequenz für die gemeinsame Brückenlogik 110 kompatibel ist oder in Reaktion darauf, dass eine neue Betriebsspannung für einen Logikkem eingestellt wurde.
  • Zu beachten ist, dass obwohl 4 zuvor hauptsächlich im Hinblick auf die Energieverwaltungslogik beschrieben wurde, die die Betriebsfrequenz und die Spannung für einen Logikkern einstellt, in einigen Ausführungsformen die Temperatursteuerlogik ebenfalls die Betriebsfrequenz und die Spannung für einen Logikkem steuern kann. Des weiteren können in anderen Ausführungsformen die zuvor mit Bezug zu 4 beschriebenen Schritte auch in einer anderen Reihenfolge oder mit zusätzlichen oder weniger Schritten ausgeführt werden, als dies zuvor angegeben ist.
  • Während 4 ein Flussdiagramm für ein Verfahren zum Einstellen der Betriebsfrequenz eines Logikkems zeigt, ist 5 ein Flussdiagramm, das eine Ausführungsform eines Verfahrens zum Einstellen der Betriebsspannung eines Logikkems zeigt. Ein System kann eine Notwendigkeit zur Änderung der Betriebsspannung für einen oder mehrere Logikkeme erkennen, wie dies durch den Block 500 angegeben ist. Wie gemäß 4 angemerkt wurde, kann ein System die Energieverwaltungslogik 200 enthalten, die ausgebildet ist, die Leistungsaufnahme und die Auslastung des Systems zu überwachen und einzustellen. Somit bestimmt in einigen Ausführungsformen die Energieverwaltungslogik die Betriebsspannung für einen oder mehrere Logikkeme, etwa die Logikkeme 120 der integrierten Multikem-Schaltung 100. Beispielsweise bestimmt die Energieverwaltungslogik 200, dass das System auf Batteriebasis arbeitet und verringert die Betriebsspannung eines oder mehrerer der Logikkeme, um die Gesamtleistungsaufnahme des Systems zu verringern. Alternativ ist die Energieverwaltungslogik 200 ausgebildet, die Betriebsspannung für einen oder mehrere Logikkeme in Reaktion darauf zu erhöhen, da erkannt wird, dass das System nicht auf Batteriebasis arbeitet. Des weiteren ist in einigen Ausführungsformen die Energieverwaltungslogik 200 ausgebildet, die Betriebsspannung von einem oder mehreren Logikkemen in Schritten gemäß der Abschätzung, wie viel Batterieenergie noch verbleibt, zu reduzieren.
  • Alternativ kann die Temperatursteuerlogik 210 die Betriebsspannung eines oder mehrerer Logikkeme 120 auf der Grundlage einer Betriebstemperatur für das System, die integrierte Multikem-Schaltung oder einen individuellen Logikkem gemäß den diversen Ausführungsformen ändern. Wie beispielsweise oben angemerkt ist, kann die Temperatursteuerlogik 210 erkennen, etwa mittels eines Temperatursensors 220, dass eine Betriebstemperatur der integrierten Schaltung 100 höher ist als eine bevorzugte, maximale oder sichere Betriebstemperatur und kann die Betriebsspannung eines oder mehrerer Logikkeme 120 der integrierten Schaltung 110 daraufhin verringern. Des weiteren ist die Temperatursteueriogik 210 ausgebildet, die Betriebsspannung eines oder mehrerer Logikkeme 120 in Reaktion darauf anzuheben, dass erkannt wird, dass die Betriebstemperatur für die Logikkeme 120, die integrierte Schaltung 110 oder das System als Ganzes ausreichend kleiner ist als eine spezifizierte Betriebstemperatur. Anders ausgedrückt, wenn die Temperatursteueriogik 210 bestimmt, dass eine ausreichend große Differenz zwischen einer aktuellen Betriebstemperatur und einer spezifizierten maximalen Betriebstemperatur vorliegt, kann die Temperatursteuerlogik 210 die aktuelle Betriebsspannung für einen oder mehrere Logikkeme erhöhen. In einigen Ausführungsformen ist die Temperatursteuerlogik 210 ausgebildet, die Betriebsspannung für einen einzelnen Logikkem zu erhöhen, der der Logikkem ist, der die niedrigste Betriebstemperatur im Vergleich zu anderen Logikkemen besitzt.
  • In einigen Ausführungsformen ist die Temperatursteuerlogik 210 ausgebildet, eine Betriebsspannung für einen Logikkem nur dann zu erhöhen, wenn die Betriebsspannung für den Logikkem zuvor verringert wurde. Beispielsweise kann die Betriebsspannung für den Logikkem 120a beim Systemstart anfänglich auf eine maximale Betriebsspannung festgelegt sein, und die Temperatursteuerlogik 210 erhöht die Betriebsspannung für den Logikkem 120a nur dann, wenn die Betriebsspannung für den Logikkem 120a ausgehend von der anfänglichen maximalen Spannung abgesenkt wurde. Beim Erhöhen der Betriebsspannung für einen Logikkem kann in ähnlicher Weise die Energieverwaltungslogik 200 und/oder die Temperatursteuerlogik 210 ausgebildet sein, die Betriebsspannung lediglich auf eine spezifizierte maximale Spannung anzuheben, unabhängig davon, ob der aktuelle Leistungsverbrauch des Systems und/oder die Betriebstemperatur es zulassen würden, dass der Logikkem bei einer höheren Spannung als die spezifizierte maximale Betriebsspannung arbeitet.
  • In anderen Ausführungsformen ist jedoch die Temperatursteuerlogik 210 ausgebildet, die Betriebsspannung eines Logikkems zu erhöhen, unabhängig davon, ob die Betriebseigenschaften für diesen Logikkem zuvor abgesenkt wurden. In einigen Ausführungsformen ist die Temperatursteuerlogik 210 ausgebildet, die Betriebsspannung für einen Logikkem über eine spezifizierte maximale Betriebsspannung hinaus anzuheben. Wenn beispielsweise ein Logikkem einer integrierten Schaltung bei einer Betriebstemperatur unterhalb einer spezifizierten maximalen Betriebstemperatur arbeitet, während der bei einer spezifizierten maximalen Betriebsspannung arbeitet, ist die Temperatursteuerlogik 210 ausgebildet, die Betriebsspannung für den Logikkem über die spezifizierten maximale Betriebsspannung hinaus anzuheben.
  • Nach dem Erkennen einer Notwendigkeit zur Änderung der Betriebsspannung für einen oder mehrere Logikkeme sind die Energieverwaltungslogik 200 oder die Temperatursteuerlogik 210 ausgebildet, eine neue Betriebsspannung für den bzw. die Logikkeme zu bestimmen, wie dies durch die Block 510 angegeben ist. In einigen Ausführungsformen wird die neue Betriebsspannung mittels eines Spannungsbestimmungsalgorithmus festgelegt, der so gestaltet ist, dass eine neue Betriebsspannung auf der Grundlage aktueller Betriebsbedingungen für das System, etwa die aktuelle Betriebstemperatur, die aktuelle Leistung, die verfügbar ist, oder der aktuelle Leistungsverbrauch bestimmt. Alternative in einigen Ausführungsformen einer neuen Betriebsspannung für einen Logikkem auf der Grundlage einer festgelegten Tabelle aus Betriebsspannungen festgelegt. In einigen Ausführungsformen wird die neue Betriebsspannung ausgewählt, um eine aktuelle Betriebsfrequenz beizubehalten, während in anderen Ausführungsformen die neue Spannung ohne Bezug auf die aktuelle Betriebsfrequenz ausgewählt wird.
  • Nach dem Bestimmen einer neuen Betriebsspannung für einen oder mehrere Logikkeme legt die Energieverwaltungslogik 200 oder die Temperatursteuerlogik 210 die neue Spannung als die Betriebsspannung für den bzw. die Logikkeme fest, wie dies durch den Block 520 angegeben ist. Beim Festlegen neuer Betriebsspannungen für mehr als einen Logikkem bestimmt die Energieverwaltungslogik 200 (oder die Temperatursteuerlogik 210) die Betriebsspannung für jeden Logikkem separat und stellt diese ein. In anderen Ausführungsformen werden jedoch die Logikkeme als Ganzes festgelegt, um die gleiche Spannung anzuwenden.
  • In einigen Ausführungsformen bestimmt die Energieverwaltungslogik 200 oder die Temperatursteuerlogik 210, ob die aktuelle Betriebsfrequenz für den bzw. die Logikkeme kompatibel ist mit der neuen Betriebsspannung, wie dies durch den Entscheidungsblock 530 angegeben ist. Somit wird in einigen Ausführungsformen eine neue Betriebsfrequenz bestimmt und die Betriebsspannung wird auf der Grundlage der neuen Frequenz eingestellt, während in anderen Ausführungsformen eine neue Betriebsspannung bestimmt wird und die Betriebsfrequenz entsprechend eingestellt wird. Wenn daher eine aktuelle Betriebsfrequenz für einen Logikkem nicht kompatibel mit einer neuen Spannung ist, wird eine neue Frequenz bestimmt (oder ausgewählt), die mit der neuen Spannung kompatibel ist, wie dies durch den Block 540 angegeben ist. Beispielsweise verringert in einer Ausführungsform die Energieverwaltungslogik 200 die Betriebsspannung eines oder mehrerer Logikkeme, um die Leistungsaufnahme zu verringern, und reduziert auch die Betriebsfrequenz, so dass diese mit der neuen Betriebsspannung kompatibel ist.
  • In ähnlicher Weise reduziert in anderen Ausführungsformen die Temperatursteuerlogik 210 die Betriebsspannung für einen Logikkem oder mehrere Logikkeme, um die Betriebstemperatur zu reduzieren und verringert auch die Betriebsfrequenz in entsprechender Weise. Des weiteren ist die Energieverwaltungslogik 200 ausgebildet, die Betriebsspannung für einen Logikkem zu erhöhen, um einer Erhöhung der verfügbaren Leistung Rechnung zu tragen, etwa wenn ein System von Batterieleistung auf Netzleistung umgeschaltet wird, und es wird auch die Betriebsfrequenz auf eine höhere Frequenz eingestellt wird, die mit einer neuen höheren Betriebsspannung kompatibel ist. In ähnlicher Weise kann die Temperatursteuerlogik 210 eine neue Betriebsfrequenz für einen Logikkem festlegen, um eine neue höhere Betriebsspannung auszunutzen, etwa wenn die Betriebsspannung eines Logikkems in Reaktion darauf eingestellt wird, dass bestimmt wird, dass eine Betriebstemperatur geringer ist als eine spezifizierte maximale Betriebstemperatur. Nach dem Bestimmen einer neuen Frequenz, die mit der neuen Betriebsspannung kompatibel ist, legt die Energieverwaltungslogik 200 (oder die Temperatursteuerlogik 210) die neue Frequenz als die Betriebsfrequenz für den bzw. die Logikkeme fest, wie dies durch den Block 550 angegeben ist. Wie zuvor angegeben ist, wird gemäß 4 eine neue Betriebsspannung festgelegt, bevor eine neue Betriebsfrequenz in einigen Ausführungsformen festgelegt wird, während in anderen Ausführungsformen eine neue Betriebsspannung und eine neue Betriebsfrequenz gleichzeitig festgelegt werden. In noch anderen Ausführungsformen wird die neue Betriebsfrequenz vor dem Festlegen der neuen Betriebsspannung bestimmt. Wie zuvor angegeben ist, arbeitet beim Festlegen einer neuen Betriebsspannung und/oder Frequenz der Logikkem und/oder die gesamte integrierte Schaltung ggf. während einer Übergangsphase zwischen der alten und der neuen Betriebseinstellung nicht. Somit ist in einigen Ausführungsformen ein Logikkem ausgebildet, einen aktuellen Zustand für alle aktuellen Operationen zu sichern, bevor ein Übergang auf die neuen Betriebseigenschaften stattfindet. In anderen Ausführungsformen sichert der Logikkem den aktuellen Zustand nicht, und setzt einfach die Bearbeitung mit den neuen Betriebseigenschaften, eventuell nach einer kurzen Übergangsphase, fort.
  • Wie zuvor beschrieben ist, wird in einigen Ausführungsformen die gemeinsame Brückenlogik 110 ebenfalls eingestellt, so dass diese gemäß der neuen Betriebsspannung und/oder Frequenz des Logikkems arbeitet, wie dies durch den Block 560 angegeben ist. Z. B. wird die gemeinsame Brückenlogik 110 so eingestellt, dass diese bei einer neuen Spannung und/oder Frequenz arbeitet, die mit den neuen Betriebseigenschaften (Spannung und Frequenz) der Logikkeme kompatibel ist. Alternativ wir die Spannungsübersetzungslogik, die als Schnittstelle zwischen einem Logikkem 120 und der gemeinsamen Brückenlogik 110 angeordnet ist, so eingestellt, dass diese in geeigneter Weise die Spannungspegel der gemeinsamen Brückenlogik 110 an den Logikkem anpasst. In ähnlicher Weise wird in einigen anschaulichen Ausführungsformen die Protokolllogik, etwa die gemeinsame Protokolllogik 320a, der gemeinsamen Brückenlogik 110 eingestellt, um den neuen Betriebseigenschaften eines Logikkems Rechnung zu tragen, wenn eine Kommunikation mit diesem Logikkem stattfindet, etwa indem sichergestellt wird, dass die Zeitabläufe, die in einem Kommunikationsprotokoll zwischen der gemeinsamen Brückenlogik und den Logikkem angewendet wird, geeignet sind, um einen Unterschied zwischen den beiden Betriebsfrequenzen Rechnung zu tragen. Während die zuvor beschriebene 4 und 5 Verfahren zur Durchführung einzelner Einstellungen an den Betriebseigenschaften für einen oder mehrere Logikkeme einer integrierten Multikem-Schaltung zeigen, ist 6 ein Flussdiagramm, das eine Ausführungsform eines Verfahrens zum Reduzieren der Betriebseigenschaften für einen oder mehrere Logikkeme in Schritten oder Stufen darstellt. Beispielsweise ist in einer Ausführungsform die Temperatursteuerlogik, etwa die Temperatursteuerlogik 210 ausgebildet, die Betriebstemperatur der integrierten Schaltung 100 zu überwachen und zu bestimmen, dass die aktuelle Betriebstemperatur der integrierten Schaltung 100 höher ist als eine spezifizierte Betriebstemperatur, wie dies durch den Block 600 angegeben ist. Alternativ vergleicht in einigen Ausführungsformen die Temperatursteuerlogik 210 eine aktuelle Betriebstemperatur, wie sie etwa über einen Temperatursensor 220 erhalten wird, mit einer maximalen sicheren Betriebstemperatur, oberhalb derer die integrierte Schaltung 100 nicht zuverlässig arbeiten kann oder geschädigt wird. Wie zuvor angegeben ist, überwacht in einigen Ausführungsformen die Temperatursteuerlogik 210 eine einzelne Betriebstemperatur für die integrierte Schaltung 100, während in anderen Ausführungsformen die Temperatursteuerlogik 210 mehrere einzelne Betriebstemperaturen entsprechend den einzelnen Logikkemen oder Bereichen der integrierten Schaltung 100 überwacht.
  • Nach dem Erkennen, dass eine Betriebstemperatur (für die gesamte integrierte Schaltung oder einen oder mehrere individuelle Logikkeme) zu hoch ist, senkt die Temperatursteuerlogik 210 die Betriebsfrequenz und/oder die Spannung für einen oder mehrere Logikkeme 120 der integrierten Schaltung 100 ab, wie dies durch den Block 610 angegeben ist. Wie zuvor angegeben ist, bestimmt gemäß den 4 und 5 die Temperatursteuerlogik 210 zunächst eine neue Betriebsfrequenz und anschließend wird die Betriebsspannung entsprechend eingestellt oder alternativ bestimmt in anderen Ausführungsformen die Temperatursteuerlogik 210 zunächst eine neue Betriebsspannung und stellt dann entsprechend die Betriebsfrequenz ein. In einigen Ausführungsformen senkt die Temperatursteuerlogik 210 die Betriebsfrequenz für mehrere Logikkeme ab, um die Gesamtbetriebstemperatur für die integrierte Schaltung 100 zu verringern. In anderen Ausführungsformen ist jedoch die Temperatursteuerlogik 210 ausgebildet, die Betriebsfrequenz und/oder die Spannung für einen einzelnen Logikkem anfänglich zu verringern, wenn versucht wird, die Gesamtbetriebstemperatur für die integrierte Schaltung 100 zu reduzieren.
  • Nach dem Reduzieren der Betriebseigenschaften (d. h. Spannung und/oder Frequenz) für einen oder mehrere Logikkeme 120 der integrierten Schaltung 100 ist die Temperatursteuerlogik 210 ausgebildet, um zu verifizieren, dass die Betriebstemperatur in Reaktion auf die abgesenkten Betriebseigenschaften geringer wird. Somit überwacht die Temperatursteuerlogik 210 die Betriebstemperatur, etwa über den Temperatursensor 220, um zu bestimmen, ob die Betriebstemperatur für die integrierte Schaltung 100 oder für einen oder mehrere individuelle Logikkeme noch zu hoch ist, wie dies durch den Entscheidungsblock 620 angegeben ist. Anders ausgedrückt, nach dem anfänglichen Einstellen der Betriebseigenschaften eines oder mehrerer Logikkeme 120 verifiziert die Temperatursteueriogik 210, dass die Betriebstemperatur auf einen tieferen Pegel als eine maximale spezifizierte Betriebstemperatur abgesunken ist. In einigen Ausführungsformen ist die Temperatursteuerlogik 210 ausgebildet, eine gewisse Zeitdauer abzuwarten, um zu ermöglichen, dass die Betriebstemperatur stabil wird, nachdem die Betriebseigenschaften für einen oder mehrere Logikkeme eingestellt wurden, bevor bestimmt wird, ob die Betriebstemperatur ausreichend reduziert wurde.
  • Wenn nach dem Reduzieren der Betriebseigenschaften für einen oder mehrere Logikkeme einer integrierten Schaltung die Betriebstemperatur für die integrierte Schaltung oder für einen oder mehrere der Logikkeme nicht ausreichend absinkt, kann die Temperatursteuerlogik 210 die Betriebsfrequenz und/oder die Spannung für den bzw. die Logikkeme weiter absenken, wie dies durch den Block 630 angegeben ist. Beispielsweise kann die Temperatursteuerlogik anfänglich die Betriebseigenschaften (d. h. Frequenz und/oder Spannung) für mehrere Logikkeme 120 um einen gewissen Betrag absenken und nachfolgend die Betriebseigenschaften für die Logikkeme noch weiter absinken, wie dies durch die Block 640 angegeben ist Beispielsweise senkt in einer Ausführungsform die Temperatursteuerlogik 210 anfänglich die Betriebsfrequenz für mehrere Logikkeme 120 um die Hälfte ab, wobei, wenn danach die Betriebstemperatur für die integrierte Schaltung 100 höher bleibt als eine spezifizierte maximale Betriebstemperatur, die Betriebstemperatursteuerlogik 210 die Betriebsfrequenz noch weiter absenkt, etwa auf ein Viertel des ursprünglichen Wertes. In ähnlicher Weise kann die Temperatursteuerlogik 210 anfänglich die Betriebsspannung um die Hälfte absenken und nachfolgend diese noch weiter reduzieren. In einer weiteren Ausführungsform verringert die Temperatursteuerlogik 210 anfänglich die Betriebseigenschaften für einen einzelnen Logikkem, etwa den Logikkem 120a, um damit die Gesamtbetriebstemperatur der integrierten Schaltung 100 zu verringern. Wenn die Betriebstemperatur für die integrierte Schaltung 100 nicht ausreichend absinkt (beispielsweise auf einen Pegel, der kleiner als ein spezifizierter maximaler Wert ist), kann die Temperatursteuerlogik 210 die Betriebseigenschaften für einen oder mehrere weitere Logikkeme der integrierten Schaltung 100 absenken.
  • In einigen Ausführungsformen wird die Betriebsfrequenz und/oder die Spannung eines einzelnen Logikkems über diverse Stufen reduziert, bis ein gewisser minimaler Pegel erreicht ist, und danach werden die Betriebsfrequenz und/oder die Spannung eines oder mehrerer weiterer Logikkeme über die gleichen Stufen hinweg eingestellt, bis die Betriebstemperatur der integrierten Schaltung 100 auf oder unterhalb einer spezifizierten maximalen Betriebstemperatur verringert ist. Alternativ werden in anderen Ausführungsformen die Betriebsfrequenzen und Spannung für mehrere Logikkeme 120 zusammen verringert (d. h. parallel) über diverse Stufen oder Ebenen, bis die Betriebstemperatur für die integrierte Schaltung 100 ausreichend verringert ist.
  • In einigen Ausführungsformen ist die Temperatursteuerlogik 210 ausgebildet zu bestimmen, für wie viele Logikkeme die Betriebseigenschaften auf der Grundlage einzustellen sind, wie stark die Betriebstemperatur der integrierten Schaltung 100 gesenkt werden muss. Wenn daher die aktuelle Betriebstemperatur für die integrierte Schaltung 100 ausreichend nahe an oder höher ist als eine spezifizierte maximale Betriebstemperatur, stellt die Temperatursteuerlogik 210 die Betriebseigenschaften mehrerer (oder aller) Logikkeme in der integrierten Schaltung 100 ein. Wenn jedoch die aktuelle Betriebstemperatur der integrierten Schaltung 100 sich einer spezifizierten maximalen Betriebstemperatur annähert, stellt die Temperatursteuerlogik 210 die Betriebseigenschaften einer kleineren Anzahl an Logikkemen oder lediglich eines einzelnen Logikkems in der integrierten Schaltung 100 ein.
  • Somit kann die Temperatursteuerlogik 210 die Betriebseigenschaften für Logikkeme in Schritten oder Stufen gemäß den diversen Verfahren in unterschiedlichen Ausführungsformen verringern. In einigen Ausführungsformen reduziert die Temperatursteuerlogik 210 die Betriebseigenschaften für mehrere Logikkeme parallel auf diverse Frequenzen und/oder Spannungen, während in anderen Ausführungsformen die Temperatursteuerlogik 210 die Betriebseigenschaften einzelner Logikkeme unabhängig und gegenseitig verringert.
  • Obwohl das in 6 gezeigte Verfahren zuvor in Bezug auf das Reduzieren der Betriebseigenschaften eines oder mehrerer Logikkeme für Temperatursteuerungszwecke beschrieben ist, werden in anderen Ausführungsformen die Betriebseigenschaften für Logikkeme aus Gründen der Energieverwaltung eingestellt. Somit ist die Energieverwaltungslogik 200 ausgebildet, die Betriebseigenschaften eines oder mehrerer Logikkeme 120 in Stufen oder Schritten zu verringern, um damit die Gesamtleistungsaufnahme der integrierten Schaltung 100 gemäß einigen Ausführungsformen zu verringern. Ähnlich zu dem zuvor beschriebenen Verfahren im Hinblick auf die Temperatursteuerung kann die Energieverwaltungslogik 200 anfänglich die Betriebseigenschaften für einen einzelnen Logikkem reduzieren, und kann weiterhin fortfahren, die Leistungsaufnahme der integrierten Schaltung 100 zu überwachen, und nachfolgend die Betriebseigenschaften weiterer Logikkeme reduzieren, um damit die Leistungsaufnahme der integrierten Schaltung 100 noch weiter zu verringern. Des weiteren ist in einigen Ausführungsformen die Energiesteuerlogik 200 ausgebildet, die Betriebseigenschaften für die mehreren Logikkeme 120 zu sammeln, zu verringern und anschließend die Betriebseigenschaften für die gleichen Logikkeme weitere zu reduzieren, wenn dies erforderlich oder gewünscht ist.
  • 7 ist ein Flussdiagramm, das eine Ausführungsform eines Verfahrens zum Anheben der Frequenz und/oder Spannung eines oder mehrerer Logikkeme einer integrierten Multikem-Schaltung zeigt. Beispielsweise werden nach dem Reduzieren der Betriebseigenschaften eines oder mehrere Logikkeme 120 der integrierten Schaltung 100 etwa für die Energieverwaltung oder die Temperatursteuerung, die Betriebseigenschaften nachfolgend nach oben eingestellt, etwa in Reaktion auf eine höhere verfügbare Leistung, oder um einen Unterschied zwischen einer aktuellen Betriebstemperatur und einer spezifizierten maximalen Betriebstemperatur gemäß diversen Ausführungsformen Rechnung zu tragen. Somit kann in einigen Ausführungsformen die Temperatursteuerlogik 210 die Betriebsfrequenz und/oder die Spannung für einen oder mehrere Logikkeme 120 absenken, wie dies durch den Block 700 angegeben ist, in Reaktion darauf, dass erkannt wird, dass die Betriebstemperatur der integrierten Schaltung 100 größer ist als eine spezifizierte maximale Betriebstemperatur oder innerhalb eines gewissen Bereiches dieser maximalen Betriebstemperatur. Nachfolgend kann die Temperatursteuerlogik 210 als Teil des Fortsetzens der Überwachung einer Betriebstemperatur für die integrierte Schaltung 100 dann bestimmen, ob die Betriebstemperatur für die integrierte Schaltung 100 tiefer ist als eine spezifizierte maximale Temperatur, wie dies durch den Entscheidungsblock 710 angegeben ist.
  • Wenn nach dem Einstellen der Betriebseigenschaften eines oder mehrerer Logikkeme am Anfang oder zu diversen Zeiten die aktuelle Betriebstemperatur für die integrierte Schaltung 100 innerhalb eines Bereichs einer spezifizierten maximalen Betriebstemperatur liegt, wie dies durch den negativen Ausgang des Entscheidungsblocks 710 angegeben ist, setzt die Temperatursteuerlogik 210 die normale Verarbeitung fort, wie dies durch den Block 750 angegeben ist, der das Fortsetzen des Überwachens der Betriebstemperatur der integrierten Schaltung 100 beinhaltet. Wenn jedoch eine aktuelle Betriebstemperatur ausreichend tiefer ist als eine spezifizierte maximale Betriebstemperatur, kann die Temperatursteuerlogik 210 die Betriebsfrequenz und/oder die Spannung eines oder mehrerer der Logikkeme anheben (für die die Betriebseigenschaften zuvor abgesenkt wurden), wie dies durch den Block 720 angegeben ist. Des weiteren ist in einigen Ausführungsformen die Temperatursteuerlogik 210 ausgebildet, die Betriebstemperatur jedes Logikkems individuell zu überwachen und die Logik 210 ist auch ausgebildet, die Betriebseigenschaften für jeden Logikkem individuell auf der Grundlage der individuellen Betriebstemperaturmessungen einzustellen. Somit kann in einigen Ausführungsformen die Temperatursteuerlogik 210 die Betriebsspannung und/oder die Frequenz für einen Logikkem absenken, der bei zu hoher Temperatur betrieben wird, während die Betriebsspannung und/oder die Frequenz für einen weiteren Logikkem angehoben wird, der eine geringere Betriebstemperatur aufweist.
  • Nach dem Anheben der Betriebsfrequenz und/oder der Spannung eines oder mehrerer der Logikkeme kann die Temperatursteuerlogik 210 die gemeinsame Brückenlogik 110 ebenfalls im Hinblick auf die Kompatibilität mit den neuen Betriebseigenschaften der Logikkeme einstellen, wie dies durch den Block 730 angegeben ist. Beispielsweise wird die gemeinsame Brückenlogik 110 eingestellt, so dass diese bei einer Frequenz arbeitet, die zumindest so hoch ist oder höher ist als die neue Betriebsfrequenz für die Logikkeme. Des weiteren wird die Kommunikationsprotokolllogik der gemeinsamen Brückenlogik 110 so eingestellt, dass die neue Betriebsfrequenz der Logikkeme berücksichtigt ist. Ferner wird die Spannungswandellogik 300 zwischen einem Logikkem 120 und der gemeinsamen Brückenlogik 110 so eingestellt, dass diese in korrekter Weise den bzw. die Spannungspegel der gemeinsamen Brückenlogik 110 und der neuen Betriebsspannung der Logikkeme 120 anpasst.
  • Obwohl das in 7 gezeigte Flussdiagramm zuvor im Hinblick auf die Temperatursteuerung beschrieben ist, können ähnliche Verfahren auch für die Energieverwaltung in einigen Ausführungsformen eingesetzt werden. Beispielsweise senkt die Energieverwaltungslogik 200 die Betriebseigenschaften für einen oder mehrere Logikkeme ab, um die Gesamtleistungsaufnahme der integrierten Schaltung 100 zu reduzieren, etwa eine Reaktion auf das Umschalten des Systems auf Batterieleistung und/oder eines Teils allgemeiner Energiesparverfahren oder Techniken. Die Energieverwaltungslogik 200 kann nachfolgend weitermachen, den Leistungsverbrauch der integrierten Schaltung 100 zu überwachen und auch die für die integrierte Schaltung 100 verfügbare Energie zu überwachen, etwa im Hinblick darauf, ob das System weiterhin auf Batteriebasis arbeitet, um zu bestimmen, ob die Betriebseigenschaften der Logikkeme erhöht werden sollen, um der aktuellen Leistungsverfügbarkeit Rechnung zu tragen. Nach dem Verringern der Betriebsfrequenz und/oder der Spannung für einen oder mehrere Logikkeme in Reaktion darauf, dass das System auf Batteriebasis arbeitet, kann beispielsweise die Energieverwaltungslogik 200 erkennen, dass das System nicht mehr auf Batteriebasis arbeitet, sondern dass sie im Netzbetrieb ist, und in Reaktion darauf kann die Betriebsfrequenz und/oder die Spannung der Logikkeme erhöht werden, da eine reduzierte Leistungsaufnahme nicht mehr erforderlich ist.
  • 8 zeigt eine Blockansicht einer Ausführungsform eines Computersystems 1000, das einen Mikroprozessor 1100 aufweist, der mit einer Vielzahl von Systemkomponenten über eine Busbrücke 402 gekoppelt ist. Der Mikroprozessor 1100 enthält mehrere Logikkeme, wovon jeder ausgebildet ist, bei Spannungen und/oder Frequenzen unabhängig von den Spannungen und/oder Frequenzen zu arbeiten, bei denen andere Kerne arbeiten, wie dies zuvor gemäß den diversen Ausführungsformen beschrieben ist. In einigen Ausführungsformen umfasst der Prozessor 1100 die integrierte Schaltung 100, einen oder mehrere Logikkerne 120, die gemeinsame Brückenlogik 110 und/oder einen oder mehrere Temperatursensoren 220, wie dies zuvor beschrieben ist. Des weiteren umfasst das System 1000 die Energieverwaltungslogik 200, die Temperatursteuerlogik 210 und/oder die Temperatursteuersoftware 240, wovon jede ausgebildet ist, die Betriebsfrequenz und/oder die Spannung für den bzw. die Logikkeme 120 und möglicherweise die gemeinsame Brückenlogik 110 gemäß den diversen Ausführungsformen, wie dies hierin beschrieben ist, zu steuern oder einzustellen.
  • Des weiteren können andere Komponenten des Systems 1000 mehrere Logikkeme enthalten, die ausgebildet sind, bei unabhängigen Frequenzen und/oder Spannungen zu arbeiten. Beispielsweise enthält eine Graphiksteuerung 1108 eine oder mehrere integrierte Multikem-Schaltungen und jeder Logikkem innerhalb einer derartigen integrierten Schaltung ist ausgebildet, bei unabhängigen Frequenzen und/oder Spannungen zu arbeiten, wie dies hierin beschrieben ist Ein sekundärer Bus 1116 oder PCI-Geräte 1112 oder ISA-Geräte 1118 können ebenfalls Multikem integrierte Schaltungen oder andere Komponenten aufweisen, die ausgebildet sind, bei unabhängigen Frequenzen und/oder Spannungen zu arbeiten, wie dies hierin beschrieben ist.
  • Das Computersystem 1000 und/oder die integrierte Schaltung 1000, wie sie zuvor beschrieben ist, können Teile von diverse Arten von Bauelementen sein, wozu gehören, ohne einschränkend zu sein, ein Personalcomputersystem, ein Tischrechner, ein tragbarer Rechner oder Notebook, ein stationäres Computersystem, Handcomputer, Arbeitsplatzrechner, Netzwerkcomputer, Verbrauchergeräte, Anwendungsdienstleistungsrechner, Speichereinrichtungen, eine periphere Einrichtung, etwa eine Netzwerkschalteinrichtung, ein Modem, ein Router, etc. oder eine beliebige Art eines Computergeräts.
  • In dem dargestellten System ist ein Hauptspeicher 1104 mit der Busbrücke 1102 über einen Speicherbus 1106 gekoppelt, und eine Graphiksteuerung 1108 ist mit der Busbrücke 1102 über einen AGP-Busfeld 10 verbunden. Jedoch sind auch andere Ausführungsformen eines Computersystems möglich und hierin berücksichtigt. Diverse PCI-Geräte, etwa PCI-Geräte 1112a bis 1112b können mit der Busbrücke 1102 über einen PCI-Bus 1114 verbunden sein. Eine sekundäre Busbrücke 1116 ist ferner vorgesehen, um eine elektrische Schnittstelle zu einem oder mehreren EISA oder ISA-Geräten 1118 über einen EISA/ISA-Bus 1120 bereitzustellen. In dem in 8 gezeigten Beispiel ist der Mikroprozessor 1100 mit der Busbrücke 1102 über einen CPU-Bus 1124 gekoppelt und ist ferner mit einem optionalen L2-Cache-Speicher 1128 gemäß einer Ausführungsform verbunden. In einigen Ausführungsformen enthält der Mikroprozessor 1100 einen integrierten L1-Cache-Speicher (nicht gezeigt). Zu beachten ist, dass in einigen Ausführungsformen der Hauptspeicher 1104 Programmbefehle aufweist, die geeignet sind, um ein unabhängiges Steuern der Betriebsfrequenz und/oder der Spannung der Logikkeme 120 und/oder der gemeinsamen Brückenlogik 110 einzurichten, wie dies hierin beschrieben ist.
  • Die Busbrücke 1102 bietet eine Schnittstelle zwischen dem Mikroprozessor 1100, dem Hauptspeicher 1104, der Graphiksteuerung 1108 und den an den PCI-Bus 1114 angeschlossenen Geräten. Wenn eine Operation von einem der mit der Busbrücke 1102 verbundenen Geräte empfangen wird, erkennt die Busbrücke 1102 das Ziel der Operation (beispielsweise ein spezielles Gerät oder im Falle des PCI-Busses 1114, das das Ziel auf dem PCI-Bus 1114 liegt). Die Busbrücke 1102 leitet die Operation an das Zielgerät weiter. Die Busbrücke 1102 übersetzt im Allgemeinen eine Operation von dem von dem Ausgangsgerät verwendeten Protokoll in das von dem Zielgerät oder Ziel verwendete Protokoll. Zusätzlich zur Bereitstellung einer Schnittstelle zu einem ISA/EISA-Bus für den PCI-Bus 1114 kann die sekundäre Busbrücke 1116 weitere Funktionen enthalten. Eine Eingabe/Ausgabe-Steuerung (nicht gezeigt), die außerhalb der sekundären Busbrücke 1116 liegt oder in dieser integriert ist, ist ebenfalls in dem Computersystem 1100 vorgesehen, um eine Funktionsunterstützung für eine Tastatur und eine Maus 1122 und für diverse serielle und parallele Anschlüsse zu bieten. Eine externe Cache-Einheit (nicht gezeigt) kann ebenfalls mit dem CPU-Bus 1124 zwischen dem Mirkoprozessor 1100 und der Busbrücke 1102 in weiteren Ausführungsformen angeschlossen sein. Alternativ ist der externe Cache-Speicher mit der Busbrücke 1102 verbunden, und die Cache-Steuerlogik für den externen Cache-Speicher ist in der Busbrücke 1102 enthalten. Der L2-Cache-Speicher 1128 ist in einer Rückseitenkonfiguration im Hinblick auf den Mikroprozessor 1100 dargestellt. Zu beachten ist, dass der L2-Cache-Speicher 1128 separat zu dem Mikroprozessor 1100 vorgesehen sein kann, in einem Einschub (beispielsweise Schlitz 1 oder Schlitz A) in dem Mikroprozessor 1100 integriert sein kann, oder selbst auf einem Halbleitersubstrat zusammen mit dem Mikroprozessor 1100 integriert sein kann.
  • Der Hauptspeicher 1104 ist ein Speicher, in welchem Anwenderprogramme gespeichert sind und aus dem heraus der Mikroprozessor 1100 hauptsächlich arbeitet. Ein geeigneter Hauptspeicher 1104 kann einen DRAM (dynamischen Speicher mit wahlfreiem Zugriff) enthalten. Beispielsweise sind eine Vielzahl von Speicherbänken SDRAM (synchrone DRAM) oder RAMBUS DRAM (RDRAM) geeignet.
  • Die PCI-Geräte 1112A bis 1112B sind für eine Vielzahl peripher Geräte repräsentativ, etwa Netzwerkschnittstellenkarten, Videobeschleuniger, Audiokarten, Festplatten oder Diskettenlaufwerke oder Laufwerkssteuerungen, SCSI- (Kleincomputersystemschnittstellen-) Adapter und Telefonkarten. In ähnlicher Weise ist das ISA-Gerät 1118 für diverse Arten peripherer Geräte repräsentativ, etwa ein Modem, eine Klangkarte und eine Vielzahl von Datennahmenkarten, etwa GPIB oder Feldbusschnittstellenkarten. Die Graphiksteuerung 1108 ist vorgesehen, um das Erzeugen von Text und Bildern auf einer Anzeige 1126 zu steuern. Die Gaphiksteuerung 1108 kann eine typische Graphikbeschleunigeranwendung sein, die allgemein bekannt ist, um dreidimensionale Datenstrukturen zu erzeugen, die effizient in und auf dem Hauptspeicher 1104 heraus verschoben werden können. Die Graphiksteuerung 1108 kann daher ein übergeordnetes Gerät des AGP-Busses 1110 sein, dahingehend, dass es Zugriff auf eine Zielschnittstelle innerhalb der Busbrücke 1102 anfordern kann und erhält, um damit auf dem Hauptspeicher 1104 zuzugreifen. Ein spezieller Graphikbus beinhaltet das rasche Abrufen von Daten aus dem Hauptspeicher 1104. Für gewisse Operationen kann die Graphiksteuerung 1108 ferner ausgebildet sein, PCI-Protokolltransaktionen auf dem AGP-Bus 1110 zu erzeugen. Die AGP-Schnittstelle der Busbrücke 1102 kann somit Funktionen enthalten, um sowohl AGP-Protokolltransaktionen sowie PCI-Ziel- und Initiatortransaktionen zu unterstützen. Die Anzeige 1126 ist eine beliebige elektronische Anzeige, auf der Bild oder Texte dargestellt werden können. Zu geeigneten Anzeigen 1126 gehören eine Kathodenstrahlröhre („CRT“), eine Flüssigkristallanzeige („LCT“), etc.
  • Zu beachten ist, dass obwohl AGP-, PCI- und ISA- oder EISA-Busse als Beispiele in der obigen Beschreibung verwendet sind, beliebige Busarchitekturen nach Bedarf eingesetzt werden können. Des weiteren ist zu beachten, dass das Computersystem 1000 ein Mehrfachbitverarbeitungscomputersystem mit zusätzlichen Mikroprozessoren sein kann, etwa einem Mikroprozessor 1100a, der als eine optionale Komponente des Computersystems 1000 gezeigt ist). Der Mikroprozessor 1100a ist ähnlich zu dem Mikroprozessor 1100. Insbesondere kann der Mikroprozessor 1100a eine- identische Kopie des Mikroprozessors 1100 gemäß einer Ausführungsform sein. Der Mikroprozessor 1100a ist mit der Busbrücke 1102 über einen unabhängigen Bus verbunden oder kann den CPU-Bus 1124 zusammen mit dem Mikroprozess 1100 verwenden. Des weiteren kann der Mikroprozessor 1100a optional mit zwei Cache-Speicher 1128a, der ähnlich zu dem L2-Cache-Speicher 1128 ist, verbunden sein.
  • Im hierin verwendeten Sinne bezeichnen die Begriffe „Taktzyklus“ oder „Zyklus“ ein Zeitintervall, in welchem die diversen Stufen der Befehlsverarbeitungspipeline serielle Aufgaben vollenden. Befehle und berechnete Werte werden durch Speicherelemente (etwa Register oder Arrays) gemäß einem Taktsignal, das den Taktzyklus definiert, gespeichert. Beispielsweise kann ein Speicherelement einen Wert entsprechend der ansteigenden oder abfallenden Flanke des Taktsignals speichern.
  • Diverse Variationen und Modifizierungen werden für den Fachmann angesichts dieser Beschreibung offenkundig. Daher ist beabsichtigt, dass die folgenden Patentansprüche so interpretiert werden, dass alle derartigen Variationen und Modifizierungen mit eingeschlossen sind.
  • Industrielle Anwendbarkeit
  • Diese Erfindung ist auf Mikroprozessoren im Allgemeinen anwendbar.

Claims (6)

  1. Integrierte Schaltung (100) mit: mehreren Logikkernen (120), wobei mindestens einer der mehreren Logikkerne ausgebildet ist, bei einem Spannungspegel unabhängig von einem Spannungspegel zu arbeiten, bei dem ein weiterer der mehreren Logikkerne arbeitet, und wobei mindestens einer der Logikkerne ausgebildet ist, bei einer Frequenz unabhängig von einer Frequenz zu arbeiten, bei der ein weiterer der mehreren Logikkerne arbeitet; und einer gemeinsamen Schnittstelleneinheit (110), wobei die gemeinsame Schnittstelleneinheit ausgebildet ist, eine Schnittstelle zwischen den mehreren Logikkernen und einer oder mehreren Komponenten außerhalb der integrierten Schaltung bereitzustellen, wobei die gemeinsame Schnittstelleneinheit beim Betrieb ausgebildet ist, mit Logikkernen zu kommunizieren, die bei unterschiedlichen Spannungspegeln arbeiten, und mit Logikkernen zu kommunizieren, die bei unterschiedlichen Frequenzen arbeiten; und weiterhin umfassend eine Energieverwaltungslogik aufweist, die ausgebildet ist, einen aktuellen Betriebsspannungspegel und/oder eine Betriebsfrequenz für mindestens einen der mehreren Logikkerne in Reaktion darauf einzustellen, dass bestimmt wird, dass eine aktuelle Betriebstemperatur für die integrierte Schaltung höher ist als eine spezifizierte Temperatur; und wobei die Energieverwaltungslogik ferner ausgebildet ist, a) eine Betriebsfrequenz für die gemeinsame Schnittstelleneinheit auf eine eingestellte Frequenz einzustellen, wobei die eingestellte Frequenz größer als die eingestellte Betriebsfrequenz des mindestens einen der mehreren Logikkerne ist, und/oder b) eine Betriebsspannung für die gemeinsame Schnittstelleneinheit auf eine eingestellte Spannung einzustellen, wobei die eingestellte Spannung größer als die eingestellte Betriebsspannung des mindestens einen der mehreren Logikkerne ist.
  2. Integrierte Schaltung nach Anspruch 1, wobei ferner in Reaktion auf das Bestimmen, dass eine aktuelle Betriebstemperatur für die integrierte Schaltung höher ist als eine spezifizierte Temperatur, die Energieverwaltungslogik ausgebildet ist, eine Betriebsspannung für die gemeinsame Schnittstelleneinheit auf eine eingestellte Spannung einzustellen, wobei die eingestellte Spannung kleiner ist als eine aktuelle Betriebsspannung für die gemeinsame Schnittstelleneinheit.
  3. Integrierte Schaltung nach Anspruch 1, die ferner eine Frequenzsteuerlogik aufweist, die ausgebildet ist, eine Betriebsfrequenz mindestens eines der mehreren Logikkerne in Reaktion darauf einzustellen, dass bestimmt wird, dass eine aktuelle Betriebstemperatur für die integrierte Schaltung höher ist als eine spezifizierte Temperatur für die integrierte Schaltung.
  4. Integrierte Schaltung nach Anspruch 1, die ferner eine Spannungsübersetzungslogik aufweist, die an einer Schnittstelle zwischen dem mindestens einen der mehreren Logikkerne und der gemeinsamen Schnittstelleneinheit angeordnet ist, wobei die Spannungsübersetzungslogik ausgebildet ist, Kommunikationssignale von einem Spannungspegel, bei dem die gemeinsame Schnittstelleneinheit arbeitet, an einen Spannungspegel anzupassen, bei dem der mindestens eine der Logikkerne arbeitet.
  5. Integrierte Schaltung nach Anspruch 1, die ferner eine Frequenzsteuerlogik aufweist, die ausgebildet ist, eine Betriebsfrequenz des mindestens einen der mehreren Logikkerne in Reaktion darauf zu erhöhen, dass bestimmt wird, dass eine aktuelle Betriebstemperatur für die integrierte Schaltung geringer ist als eine spezifizierte Temperatur für die integrierte Schaltung.
  6. Computersystem mit: einem Prozessor; einem mit dem Prozessor verbundenen Speicher; und wobei der Prozessor umfasst: mehrere Prozessorkerne (120), die ausgebildet sind, Programmbefehle auszuführen, wobei jeder der mehreren Prozessorkerne ausgebildet ist, bei einer Spannung unabhängig von einer entsprechenden Spannung zu arbeiten, bei der ein weiterer der mehreren Prozessorkerne arbeitet, und wobei jeder der mehreren Prozessorkerne ausgebildet ist, bei einer Frequenz unabhängig von einer Frequenz zu arbeiten, bei der ein weiterer der mehreren Prozessorkerne arbeitet; eine gemeinsame Schnittstelleneinheit (110), die mit jedem der Prozessorkerne verbunden ist; wobei die gemeinsame Schnittstelleneinheit ausgebildet ist, eine Schnittstelle zu jedem der Prozessorkerne und zu einem oder mehreren Komponenten außerhalb des Prozessors zu bilden; wobei die gemeinsame Schnittstelleneinheit ausgebildet ist, bei einer Spannung größer als eine Spannung zu arbeiten, bei der die mehreren Prozessorkerne arbeiten; und wobei die gemeinsame Schnittstelleneinheit ausgebildet ist, bei einer Frequenz größer als eine Frequenz zu arbeiten, bei der die mehreren Logikkerne arbeiten.
DE112006003628.9T 2006-01-03 2006-12-08 System und Verfahren zum Betreiben von Komponenten einer integrierten Schaltung mit unabhängigen Frequenzen und/oder Spannungen Active DE112006003628B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/325,054 2006-01-03
US11/325,054 US7263457B2 (en) 2006-01-03 2006-01-03 System and method for operating components of an integrated circuit at independent frequencies and/or voltages
PCT/US2006/046814 WO2007081466A2 (en) 2006-01-03 2006-12-08 System and method for operating components of an integrated circuit at independent frequencies and/or voltages

Publications (2)

Publication Number Publication Date
DE112006003628T5 DE112006003628T5 (de) 2008-11-13
DE112006003628B4 true DE112006003628B4 (de) 2024-02-01

Family

ID=38137673

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112006003628.9T Active DE112006003628B4 (de) 2006-01-03 2006-12-08 System und Verfahren zum Betreiben von Komponenten einer integrierten Schaltung mit unabhängigen Frequenzen und/oder Spannungen

Country Status (8)

Country Link
US (1) US7263457B2 (de)
JP (1) JP2009522688A (de)
KR (1) KR20080097419A (de)
CN (1) CN101351759B (de)
DE (1) DE112006003628B4 (de)
GB (1) GB2447392B (de)
TW (1) TWI417740B (de)
WO (1) WO2007081466A2 (de)

Families Citing this family (139)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7180322B1 (en) * 2002-04-16 2007-02-20 Transmeta Corporation Closed loop feedback control of integrated circuits
US7949864B1 (en) 2002-12-31 2011-05-24 Vjekoslav Svilan Balanced adaptive body bias control
US7187053B2 (en) * 2003-06-26 2007-03-06 International Business Machines Corporation Thermal sensing method and system
US7649402B1 (en) 2003-12-23 2010-01-19 Tien-Min Chen Feedback-controlled body-bias voltage source
US7460932B2 (en) * 2005-11-29 2008-12-02 International Business Machines Corporation Support of deep power savings mode and partial good in a thermal management system
US7376532B2 (en) * 2005-11-29 2008-05-20 International Business Machines Corporation Maximal temperature logging
US7512530B2 (en) * 2005-11-29 2009-03-31 International Business Machines Corporation Generation of software thermal profiles for applications in a simulated environment
US7681053B2 (en) * 2005-11-29 2010-03-16 International Business Machines Corporation Thermal throttle control with minimal impact to interrupt latency
US20070124618A1 (en) * 2005-11-29 2007-05-31 Aguilar Maximino Jr Optimizing power and performance using software and hardware thermal profiles
US7848901B2 (en) * 2005-11-29 2010-12-07 International Business Machines Corporation Tracing thermal data via performance monitoring
US7698089B2 (en) * 2005-11-29 2010-04-13 International Business Machines Corporation Generation of software thermal profiles executed on a set of processors using processor activity
US7603576B2 (en) * 2005-11-29 2009-10-13 International Business Machines Corporation Hysteresis in thermal throttling
US7721128B2 (en) * 2005-11-29 2010-05-18 International Business Machines Corporation Implementation of thermal throttling logic
US7386414B2 (en) * 2005-11-29 2008-06-10 International Business Machines Corporation Generation of hardware thermal profiles for a set of processors
US7512513B2 (en) * 2005-11-29 2009-03-31 International Business Machines Corporation Thermal throttling control for testing of real-time software
US7397726B1 (en) * 2006-04-07 2008-07-08 Altera Corporation Flexible RAM clock enable
US8037893B2 (en) * 2006-05-03 2011-10-18 International Business Machines Corporation Optimizing thermal performance using thermal flow analysis
US7552346B2 (en) * 2006-05-03 2009-06-23 International Business Machines Corporation Dynamically adapting software for reducing a thermal state of a processor core based on its thermal index
US20070260894A1 (en) * 2006-05-03 2007-11-08 Aguilar Maximino Jr Optimizing thermal performance using feed-back directed optimization
US7596430B2 (en) * 2006-05-03 2009-09-29 International Business Machines Corporation Selection of processor cores for optimal thermal performance
US7685441B2 (en) * 2006-05-12 2010-03-23 Intel Corporation Power control unit with digitally supplied system parameters
US7669069B2 (en) * 2006-06-28 2010-02-23 Intel Corporation Control of link supply power based on link port mode
US7843157B2 (en) * 2006-06-30 2010-11-30 Regal Beloit Company Methods and apparatus for providing motor control signals
KR101441349B1 (ko) 2006-10-31 2014-09-18 가부시키가이샤 한도오따이 에네루기 켄큐쇼 반도체 장치
US7949887B2 (en) * 2006-11-01 2011-05-24 Intel Corporation Independent power control of processing cores
US7724078B2 (en) * 2007-03-22 2010-05-25 Intel Corporation Adjusting PLL/analog supply to track CPU core supply through a voltage regulator
US7917799B2 (en) * 2007-04-12 2011-03-29 International Business Machines Corporation Method and system for digital frequency clocking in processor cores
US8108708B2 (en) * 2007-05-03 2012-01-31 Microchip Technology Incorporated Power optimization when using external clock sources
JP5182792B2 (ja) * 2007-10-07 2013-04-17 アルパイン株式会社 マルチコアプロセッサ制御方法及び装置
US7945804B2 (en) * 2007-10-17 2011-05-17 International Business Machines Corporation Methods and systems for digitally controlled multi-frequency clocking of multi-core processors
US8027798B2 (en) * 2007-11-08 2011-09-27 International Business Machines Corporation Digital thermal sensor test implementation without using main core voltage supply
US8615647B2 (en) 2008-02-29 2013-12-24 Intel Corporation Migrating execution of thread between cores of different instruction set architecture in multi-core processor and transitioning each core to respective on / off power state
WO2009110290A1 (ja) * 2008-03-04 2009-09-11 日本電気株式会社 半導体デバイス
US20090235108A1 (en) * 2008-03-11 2009-09-17 Gold Spencer M Automatic processor overclocking
US20090276644A1 (en) * 2008-05-02 2009-11-05 Goodnow Kenneth J Structure for semiconductor power distribution and control
US20090273239A1 (en) * 2008-05-02 2009-11-05 Goodnow Kenneth J Semiconductor power distribution and control systems and methods
US7757233B2 (en) * 2008-07-10 2010-07-13 International Business Machines Corporation Controlling a computer system having a processor including a plurality of cores
CN101673232A (zh) * 2008-09-11 2010-03-17 鸿富锦精密工业(深圳)有限公司 电压调整系统及方法
JP5237739B2 (ja) * 2008-09-29 2013-07-17 株式会社日立製作所 情報処理装置
US8122270B2 (en) * 2008-09-29 2012-02-21 Intel Corporation Voltage stabilization for clock signal frequency locking
US8402290B2 (en) * 2008-10-31 2013-03-19 Intel Corporation Power management for multiple processor cores
US20100162256A1 (en) * 2008-12-18 2010-06-24 Alexander Branover Optimization of application power consumption and performance in an integrated system on a chip
US8495699B2 (en) 2008-12-23 2013-07-23 At&T Intellectual Property I, L.P. Distributed content analysis network
US20100223673A1 (en) * 2009-02-27 2010-09-02 At&T Intellectual Property I, L.P. Providing multimedia content with access restrictions
US20100223660A1 (en) * 2009-02-27 2010-09-02 At&T Intellectual Property I, L.P. Providing multimedia content with time limit restrictions
US8064197B2 (en) 2009-05-22 2011-11-22 Advanced Micro Devices, Inc. Heat management using power management information
US8904421B2 (en) 2009-06-30 2014-12-02 At&T Intellectual Property I, L.P. Shared multimedia experience including user input
US8738949B2 (en) 2009-08-31 2014-05-27 Empire Technology Development Llc Power management for processor
US8321705B2 (en) * 2009-10-13 2012-11-27 Advanced Micro Devices, Inc. Dynamic table look-up based voltage regulator control
US8689037B2 (en) * 2009-12-16 2014-04-01 Qualcomm Incorporated System and method for asynchronously and independently controlling core clocks in a multicore central processing unit
US20110145559A1 (en) * 2009-12-16 2011-06-16 Thomson Steven S System and method for controlling central processing unit power with guaranteed steady state deadlines
US9563250B2 (en) * 2009-12-16 2017-02-07 Qualcomm Incorporated System and method for controlling central processing unit power based on inferred workload parallelism
US8650426B2 (en) 2009-12-16 2014-02-11 Qualcomm Incorporated System and method for controlling central processing unit power in a virtualized system
US9104411B2 (en) 2009-12-16 2015-08-11 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
US8775830B2 (en) 2009-12-16 2014-07-08 Qualcomm Incorporated System and method for dynamically controlling a plurality of cores in a multicore central processing unit based on temperature
US8909962B2 (en) 2009-12-16 2014-12-09 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
US9176572B2 (en) 2009-12-16 2015-11-03 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
US9128705B2 (en) 2009-12-16 2015-09-08 Qualcomm Incorporated System and method for controlling central processing unit power with reduced frequency oscillations
US8549339B2 (en) * 2010-02-26 2013-10-01 Empire Technology Development Llc Processor core communication in multi-core processor
DE102010009736A1 (de) 2010-03-01 2011-09-01 Giesecke & Devrient Gmbh System mit elektronischem Schaltkreis
US8484495B2 (en) * 2010-03-25 2013-07-09 International Business Machines Corporation Power management in a multi-processor computer system
US8271812B2 (en) 2010-04-07 2012-09-18 Apple Inc. Hardware automatic performance state transitions in system on processor sleep and wake events
US8442786B2 (en) 2010-06-02 2013-05-14 Advanced Micro Devices, Inc. Flexible power reporting in a computing system
US8510582B2 (en) * 2010-07-21 2013-08-13 Advanced Micro Devices, Inc. Managing current and power in a computing system
US20130124890A1 (en) * 2010-07-27 2013-05-16 Michael Priel Multi-core processor and method of power management of a multi-core processor
US8943334B2 (en) * 2010-09-23 2015-01-27 Intel Corporation Providing per core voltage and frequency control
US9317082B2 (en) 2010-10-13 2016-04-19 Advanced Micro Devices, Inc. Controlling operation of temperature sensors
US8793512B2 (en) * 2010-10-29 2014-07-29 Advanced Micro Devices, Inc. Method and apparatus for thermal control of processing nodes
US8996330B2 (en) 2011-01-06 2015-03-31 Qualcomm Incorporated Method and system for managing thermal policies of a portable computing device
US8468373B2 (en) * 2011-01-14 2013-06-18 Apple Inc. Modifying performance parameters in multiple circuits according to a performance state table upon receiving a request to change a performance state
US8769316B2 (en) 2011-09-06 2014-07-01 Intel Corporation Dynamically allocating a power budget over multiple domains of a processor
EP2568354B1 (de) * 2011-09-06 2018-12-26 OCT Circuit Technologies International Limited Regulierung der Aktivität eines Kerns
US8954770B2 (en) 2011-09-28 2015-02-10 Intel Corporation Controlling temperature of multiple domains of a multi-domain processor using a cross domain margin
US9074947B2 (en) 2011-09-28 2015-07-07 Intel Corporation Estimating temperature of a processor core in a low power state without thermal sensor information
US20130086395A1 (en) * 2011-09-30 2013-04-04 Qualcomm Incorporated Multi-Core Microprocessor Reliability Optimization
US9026815B2 (en) 2011-10-27 2015-05-05 Intel Corporation Controlling operating frequency of a core domain via a non-core domain of a multi-domain processor
US8832478B2 (en) * 2011-10-27 2014-09-09 Intel Corporation Enabling a non-core domain to control memory bandwidth in a processor
US9158693B2 (en) 2011-10-31 2015-10-13 Intel Corporation Dynamically controlling cache size to maximize energy efficiency
US8943340B2 (en) 2011-10-31 2015-01-27 Intel Corporation Controlling a turbo mode frequency of a processor
US9347836B2 (en) 2011-11-15 2016-05-24 Ati Technologies Ulc Dynamic voltage reference for sampling delta based temperature sensor
US8862909B2 (en) 2011-12-02 2014-10-14 Advanced Micro Devices, Inc. System and method for determining a power estimate for an I/O controller based on monitored activity levels and adjusting power limit of processing units by comparing the power estimate with an assigned power limit for the I/O controller
US8924758B2 (en) 2011-12-13 2014-12-30 Advanced Micro Devices, Inc. Method for SOC performance and power optimization
US8799694B2 (en) * 2011-12-15 2014-08-05 International Business Machines Corporation Adaptive recovery for parallel reactive power throttling
US8954764B2 (en) * 2012-03-05 2015-02-10 Csr Technology Inc. Method and apparatus for dynamic power management
WO2013147770A1 (en) * 2012-03-28 2013-10-03 Intel Corporation Method and apparatus for atomic frequency and voltage changes
TWI470402B (zh) * 2012-04-25 2015-01-21 Academia Sinica 行動裝置cpu工作頻率控制方法
US8972759B2 (en) * 2012-06-29 2015-03-03 Qualcomm Incorporated Adaptive thermal management in a portable computing device including monitoring a temperature signal and holding a performance level during a penalty period
US9285818B2 (en) * 2012-07-26 2016-03-15 Qualcomm Incorporated Autonomous thermal controller for power management IC
US8996902B2 (en) 2012-10-23 2015-03-31 Qualcomm Incorporated Modal workload scheduling in a heterogeneous multi-processor system on a chip
US9405351B2 (en) * 2012-12-17 2016-08-02 Intel Corporation Performing frequency coordination in a multiprocessor system
US9292468B2 (en) * 2012-12-17 2016-03-22 Intel Corporation Performing frequency coordination in a multiprocessor system based on response timing optimization
US9395774B2 (en) * 2012-12-28 2016-07-19 Intel Corporation Total platform power control
US9690578B2 (en) * 2013-02-20 2017-06-27 Intel Corporation High dose radiation detector
US9367114B2 (en) * 2013-03-11 2016-06-14 Intel Corporation Controlling operating voltage of a processor
US9348407B2 (en) 2013-06-27 2016-05-24 Intel Corporation Method and apparatus for atomic frequency and voltage changes
TWI458993B (zh) * 2013-07-22 2014-11-01 Giga Byte Tech Co Ltd 量測電源之電壓及電流之治具及其量測方法
US9495001B2 (en) * 2013-08-21 2016-11-15 Intel Corporation Forcing core low power states in a processor
US20150148981A1 (en) * 2013-11-24 2015-05-28 Qualcomm Incorporated System and method for multi-correlative learning thermal management of a system on a chip in a portable computing device
US9625971B2 (en) 2014-01-10 2017-04-18 Taiwan Semiconductor Manufacturing Company, Ltd. System and method of adaptive voltage frequency scaling
US10082847B2 (en) * 2014-04-01 2018-09-25 Qualcomm Incorporated Method and system for optimizing performance of a PCD while mitigating thermal generation
US9582012B2 (en) 2014-04-08 2017-02-28 Qualcomm Incorporated Energy efficiency aware thermal management in a multi-processor system on a chip
US9671767B2 (en) 2014-05-14 2017-06-06 Advanced Micro Devices, Inc. Hybrid system and method for determining performance levels based on thermal conditions within a processor
US9652019B2 (en) 2014-06-02 2017-05-16 Advanced Micro Devices, Inc. System and method for adjusting processor performance based on platform and ambient thermal conditions
US9971609B2 (en) * 2014-06-05 2018-05-15 American Megatrends, Inc. Thermal watchdog process in host computer management and monitoring
US9575537B2 (en) * 2014-07-25 2017-02-21 Intel Corporation Adaptive algorithm for thermal throttling of multi-core processors with non-homogeneous performance states
US9791904B2 (en) * 2014-08-15 2017-10-17 Intel Corporation Balanced control of processor temperature
US9619289B2 (en) 2014-09-11 2017-04-11 Dell Products, L.P. Workload optimized server for intelligent algorithm trading platforms
EP3042263B1 (de) * 2014-09-17 2019-07-24 MediaTek Inc. Dynamische frequenzskalierung in mehrprozessorsystemen
US10928882B2 (en) 2014-10-16 2021-02-23 Futurewei Technologies, Inc. Low cost, low power high performance SMP/ASMP multiple-processor system
US9952650B2 (en) 2014-10-16 2018-04-24 Futurewei Technologies, Inc. Hardware apparatus and method for multiple processors dynamic asymmetric and symmetric mode switching
US10248180B2 (en) * 2014-10-16 2019-04-02 Futurewei Technologies, Inc. Fast SMP/ASMP mode-switching hardware apparatus for a low-cost low-power high performance multiple processor system
US9582052B2 (en) 2014-10-30 2017-02-28 Qualcomm Incorporated Thermal mitigation of multi-core processor
US9710043B2 (en) * 2014-11-26 2017-07-18 Intel Corporation Controlling a guaranteed frequency of a processor
US10048744B2 (en) * 2014-11-26 2018-08-14 Intel Corporation Apparatus and method for thermal management in a multi-chip package
TWI628942B (zh) * 2015-02-05 2018-07-01 絡達科技股份有限公司 可自我檢測操作狀態之通訊模組、通訊裝置及其檢測方法
US9946327B2 (en) 2015-02-19 2018-04-17 Qualcomm Incorporated Thermal mitigation with power duty cycle
US9658634B2 (en) 2015-03-30 2017-05-23 Apple Inc. Under voltage detection and performance throttling
US10031574B2 (en) * 2015-05-20 2018-07-24 Mediatek Inc. Apparatus and method for controlling multi-core processor of computing system
CN105068871B (zh) 2015-07-28 2018-12-21 深圳市万普拉斯科技有限公司 运算资源的控制方法和装置
KR102599653B1 (ko) * 2015-11-20 2023-11-08 삼성전자주식회사 냉각 알고리즘을 수행하는 집적 회로와 이를 포함하는 모바일 장치
US10013392B2 (en) 2016-01-26 2018-07-03 Intel Corporation Providing access from outside a multicore processor SoC to individually configure voltages
US10496141B2 (en) * 2016-03-17 2019-12-03 Qualcomm Incorporated System and method for intelligent thermal management in a system on a chip having a heterogeneous cluster architecture
US11399720B2 (en) 2016-04-05 2022-08-02 Qulacomm Incorporated Circuits and methods providing temperature mitigation for computing devices
US9848515B1 (en) 2016-05-27 2017-12-19 Advanced Micro Devices, Inc. Multi-compartment computing device with shared cooling device
US10359833B2 (en) * 2016-06-20 2019-07-23 Qualcomm Incorporated Active-core-based performance boost
US10659063B2 (en) * 2016-11-01 2020-05-19 Nvidia Corporation Adaptive voltage frequency scaling for optimal power efficiency
US10298456B1 (en) * 2016-11-28 2019-05-21 Barefoot Networks, Inc. Dynamically reconfiguring data plane of forwarding element to account for power consumption
US10064141B2 (en) * 2016-12-09 2018-08-28 Qualcomm Incorporated Core frequency/count decision-based thermal mitigation optimization for a multi-core integrated circuit
US11830200B2 (en) * 2017-05-18 2023-11-28 Advanced Micro Devices, Inc. Ambient temperature reporting through infrared facial recognition
KR102539044B1 (ko) 2017-10-30 2023-06-01 삼성전자주식회사 시스템 온 칩의 구동 방법, 이를 수행하는 시스템 온 칩 및 이를 포함하는 전자 시스템
TWI723332B (zh) * 2019-01-22 2021-04-01 華碩電腦股份有限公司 電腦系統管理方法與電腦系統
KR20210032213A (ko) * 2019-09-16 2021-03-24 삼성전자주식회사 전력 스텝에 기초한 동적 다이내믹 전압 주파주 스케일링(dvfs) 수행 방법
US11520628B2 (en) * 2020-05-20 2022-12-06 Qualcomm Incorporated Cooperative dynamic clock and voltage scaling (DCVS) between two processor systems
CN111722931A (zh) * 2020-06-24 2020-09-29 龙芯中科技术有限公司 处理器的控制方法、装置、设备及存储介质
WO2021262197A1 (en) * 2020-06-26 2021-12-30 Intel Corporation Performance level control in a data processing apparatus
TWI806141B (zh) * 2021-08-30 2023-06-21 瑞昱半導體股份有限公司 處理器電路以及電腦可讀媒體
US20240004444A1 (en) * 2022-06-30 2024-01-04 Advanced Micro Devices, Inc. Rest-of-chip power optimization through data fabric performance state management
TWI805447B (zh) * 2022-07-14 2023-06-11 新唐科技股份有限公司 控制裝置及其操作方法
WO2024019191A1 (ko) * 2022-07-20 2024-01-25 엘지전자 주식회사 디스플레이 장치 및 그 동작 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001027728A1 (en) 1999-10-14 2001-04-19 Advanced Micro Devices, Inc. Minimizing power consumption during sleep modes by using minimum core voltage necessary to maintain system state
WO2003027820A2 (en) 2001-09-28 2003-04-03 Intel Corporation Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system
US6714891B2 (en) 2001-12-14 2004-03-30 Intel Corporation Method and apparatus for thermal management of a power supply to a high performance processor in a computer system
WO2004036398A2 (en) 2002-10-14 2004-04-29 Intel Corporation Method and apparatus for performance effective power throttling

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5630110A (en) * 1996-03-01 1997-05-13 Samsung Electronics Co., Ltd. Method and apparatus for enhancing performance of a processor
US6901303B2 (en) * 2001-07-31 2005-05-31 Hewlett-Packard Development Company, L.P. Method and apparatus for controlling fans and power supplies to provide accelerated run-in testing
US6804632B2 (en) * 2001-12-06 2004-10-12 Intel Corporation Distribution of processing activity across processing hardware based on power consumption considerations
US6922783B2 (en) * 2002-01-16 2005-07-26 Hewlett-Packard Development Company, L.P. Method and apparatus for conserving power on a multiprocessor integrated circuit
US6908227B2 (en) * 2002-08-23 2005-06-21 Intel Corporation Apparatus for thermal management of multiple core microprocessors
US7112979B2 (en) * 2002-10-23 2006-09-26 Intel Corporation Testing arrangement to distribute integrated circuits
US7228242B2 (en) * 2002-12-31 2007-06-05 Transmeta Corporation Adaptive power control based on pre package characterization of integrated circuits
US7085945B2 (en) * 2003-01-24 2006-08-01 Intel Corporation Using multiple thermal points to enable component level power and thermal management
US7162652B2 (en) * 2003-06-20 2007-01-09 Texas Instruments Incorporated Integrated circuit dynamic parameter management in response to dynamic energy evaluation
US7134031B2 (en) * 2003-08-04 2006-11-07 Arm Limited Performance control within a multi-processor system
GB2408116B (en) * 2003-11-14 2006-09-20 Advanced Risc Mach Ltd Operating voltage determination for an integrated circuit
US20060161375A1 (en) * 2004-12-30 2006-07-20 Allen Duberstein Optimizing processing speed based on measured temperatures
US7490254B2 (en) * 2005-08-02 2009-02-10 Advanced Micro Devices, Inc. Increasing workload performance of one or more cores on multiple core processors
US7568115B2 (en) * 2005-09-28 2009-07-28 Intel Corporation Power delivery and power management of many-core processors

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001027728A1 (en) 1999-10-14 2001-04-19 Advanced Micro Devices, Inc. Minimizing power consumption during sleep modes by using minimum core voltage necessary to maintain system state
WO2003027820A2 (en) 2001-09-28 2003-04-03 Intel Corporation Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system
US6714891B2 (en) 2001-12-14 2004-03-30 Intel Corporation Method and apparatus for thermal management of a power supply to a high performance processor in a computer system
WO2004036398A2 (en) 2002-10-14 2004-04-29 Intel Corporation Method and apparatus for performance effective power throttling

Also Published As

Publication number Publication date
TWI417740B (zh) 2013-12-01
GB0812573D0 (en) 2008-08-13
GB2447392B (en) 2009-12-16
CN101351759B (zh) 2012-10-10
WO2007081466A2 (en) 2007-07-19
DE112006003628T5 (de) 2008-11-13
WO2007081466A3 (en) 2007-12-27
CN101351759A (zh) 2009-01-21
JP2009522688A (ja) 2009-06-11
US20070156370A1 (en) 2007-07-05
GB2447392A (en) 2008-09-10
TW200736935A (en) 2007-10-01
US7263457B2 (en) 2007-08-28
KR20080097419A (ko) 2008-11-05

Similar Documents

Publication Publication Date Title
DE112006003628B4 (de) System und Verfahren zum Betreiben von Komponenten einer integrierten Schaltung mit unabhängigen Frequenzen und/oder Spannungen
DE10392619B4 (de) Energieverwaltung für eine integrierte Grafikeinheit
US6714891B2 (en) Method and apparatus for thermal management of a power supply to a high performance processor in a computer system
US20090158061A1 (en) Method and apparatus for on-demand power management
US9223383B2 (en) Guardband reduction for multi-core data processor
DE112006003575B4 (de) Verfahren und Vorrichtung für einen Nullspannungs-Prozessorschlafzustand
DE102014001914B4 (de) Dynamische Steuerung einer maximalen Betriebsspannung für einen Prozessor
US7590876B2 (en) Method for adjusting a frequency working between a north bridge chip and a random access memory of a computer system
DE112006000792T5 (de) Variable Speicherfeld-Selbstauffrischungsraten in Suspend- und Standby-Modi
DE60016684T2 (de) Temperaturregelungsschaltung auf Software-Basis in einem elektronischen Gerät
DE112018000372B4 (de) Systeme und verfahren für eine kohärente energieverwaltung
US20090172434A1 (en) Latency based platform coordination
DE112007003113B4 (de) Reduzieren von Leerlauf-Verlustleistung in einem integrierten Schaltkreis
DE102009051387A1 (de) Power Management für Mehrprozessorkerne
DE102012212441A1 (de) System und Verfahren zum Betreten und Verlassen eines Schlafmodus in einem Graphikuntersystem
DE102009015495A1 (de) Energieverwaltung bei einer Plattform basierend auf der Lenkung über die Wartezeit
TW201339820A (zh) 使用串列介面之適應性電壓比例調整
JP2007148952A (ja) 半導体集積回路
DE102021126686A1 (de) Leistungsverwaltungseinrichtung und -verfahren für mehrebenenspeichersysteme
DE112017001805T5 (de) Bestimmen von thermischen obergrenzen in einem prozessor mit mehreren dies
US11762450B2 (en) USB Type-C subsystem power management
DE102015102689A1 (de) Steuern von Flankensteilheiten eines Prozessors auf der Basis eines Batterieladezustands
DE112007001433B4 (de) Verfahren, Vorrichtung und System zum Wärmemanagement unter Verwendung einer Leistungdichte-Rückmeldung
CN102110040A (zh) Bmc根据不同功率cpu来调整cpu报警温度的方法
DE102021128527A1 (de) Vorrichtung, verfahren und system zur programmierung einer leistungsversorgung zur erleichterung von dynamischer leistungsabstimmung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8181 Inventor (new situation)

Inventor name: MADRID, PHILIP E., ROUND ROCK, TEX., US

Inventor name: HUGHES, WILLIAM A., SAN JOSE, CALIF., US

Inventor name: WHITE, SCOTT A., AUSTIN, TEX., US

8127 New person/name/address of the applicant

Owner name: GLOBALFOUNDRIES INC., GRAND CAYMAN, KY

8128 New person/name/address of the agent

Representative=s name: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUSSER,

R016 Response to examination communication
R081 Change of applicant/patentee

Owner name: GLOBALFOUNDRIES U.S. INC., SANTA CLARA, US

Free format text: FORMER OWNER: GLOBALFOUNDRIES INC., GRAND CAYMAN, KY

Owner name: MEDIATEK INC., TW

Free format text: FORMER OWNER: GLOBALFOUNDRIES INC., GRAND CAYMAN, KY

R082 Change of representative

Representative=s name: GRUENECKER PATENT- UND RECHTSANWAELTE PARTG MB, DE

Representative=s name: HOEFER & PARTNER PATENTANWAELTE MBB, DE

R081 Change of applicant/patentee

Owner name: MEDIATEK INC., TW

Free format text: FORMER OWNER: GLOBALFOUNDRIES U.S. INC., SANTA CLARA, CA, US

R082 Change of representative

Representative=s name: HOEFER & PARTNER PATENTANWAELTE MBB, DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division