DE10297518B4 - Wärmemanagement von prozessorbasierten Systemen - Google Patents

Wärmemanagement von prozessorbasierten Systemen Download PDF

Info

Publication number
DE10297518B4
DE10297518B4 DE10297518T DE10297518T DE10297518B4 DE 10297518 B4 DE10297518 B4 DE 10297518B4 DE 10297518 T DE10297518 T DE 10297518T DE 10297518 T DE10297518 T DE 10297518T DE 10297518 B4 DE10297518 B4 DE 10297518B4
Authority
DE
Germany
Prior art keywords
processor
temperature
interrupt
response
power state
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.)
Expired - Fee Related
Application number
DE10297518T
Other languages
English (en)
Other versions
DE10297518T5 (de
Inventor
Barnes Beaverton COOPER
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of DE10297518T5 publication Critical patent/DE10297518T5/de
Application granted granted Critical
Publication of DE10297518B4 publication Critical patent/DE10297518B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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
    • 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/16Constructional details or arrangements
    • G06F1/20Cooling means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • 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
    • 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/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)
  • Control Of Temperature (AREA)

Abstract

Verfahren für ein Wärmemanagement eines prozessorbasierten Systems, das folgendes umfaßt:
Detektieren, daß sich eine Prozessorfrequenz als Reaktion auf eine Prozessorabkühlung geändert hat,
Erzeugen eines Interrupts als Reaktion auf die Detektion der Frequenzänderung, Bestimmen, ob der Leistungszustand des Prozessors einen geringeren Leistungszustand einnimmt, und
Ändern der Prozessorfrequenz und zeitlich nachfolgend der Prozessorspannung, wenn der Prozessor einen geringeren Leistungszustand einnimmt.

Description

  • Allgemeiner Stand der Technik
  • Die Erfindung betrifft das Wärmemanagement von prozessorbasierten Systemen.
  • Für das Leistungs- und Wärmemanagement von prozessorbasierten Systemen gibt es sowohl hardware- als auch softwaregesteuerte Techniken. Softwarebasierte Lösungen werden in erster Linie in Verbindung mit mobilen Plattformen verwendet.
  • Die softwaregesteuerten Techniken beinhalten einen Interrupt, der erzeugt wird, wenn eine Prozessortemperatureinstellung überschritten wird. Der Prozessor kann gedrosselt werden, nachdem durch Abfrage der Prozessortemperatur ein Übertemperaturzustand detektiert worden ist. Die softwaregesteuerten Lösungen weisen im allgemeinen eine langsamere Reaktionszeit als die hardwaregesteuerten Lösungen auf. Außerdem gibt es im allgemeinen mit softwaregesteuerten Lösungen Überschreitungs- und Unterschreitungsprobleme. Die bei softwaregesteuerten Lösungen verwendeten Sensoren sind relativ langsam und unpräzise. Der chipintegrierte Sensor (der normalerweise eine Diode ist) ist nicht auf dem heißesten Teil des Prozessorchips angeordnet.
  • Die hardwaregesteuerte Lösung, die bei anderen Systemen als mobilen Systemen verwendet wird, beinhaltet einen Prozessor, der automatisch die Prozessordrosselung einschaltet, wodurch die effektive Taktrate reduziert wird, wenn ein Temperaturzustand überschritten wird, und die Drosselung deaktiviert, wenn der Prozessor ausreichend kühl ist. Die hardwaregesteuerte Lösung basiert auf einem chipintegriertem binärem Sensor, der anzeigt, ob der Prozessor entweder heiß oder nicht heiß ist. Eine Interruptfähigkeit kann zur Verfügung stehen, wird aber im allgemeinen nicht von dem Betriebssystem verwendet, weil bei Desktop-Systemen, die die Primäranwendungen für hardwaregesteuerte Lösungen sind, die Drosselung nicht häufig auftritt. Infolgedessen sind Betriebssysteme sich möglicherweise der hardwaregesteuerten Drosselung nicht bewußt.
  • Die softwaregesteuerte Lösung basiert auf der Prämisse, daß die Plattform eine Vielzahl von Auslösepunkten zu dem Betriebssystem aufweist. Ein Auslösepunkt ist eine Temperatur für einen bestimmten Wärmebereich, bei dem eine gewisse Handlung vorgenommen werden sollte. Wenn die Temperatur über oder unter einen beliebigen Auslösepunkt geht, ist die Plattform dafür verantwortlich, das Betriebssystem über dieses Ereignis zu benachrichtigen, und das Betriebssystem nimmt dann eine entsprechende Handlung vor.
  • Wenn eine Temperatur einen passiven Auslösepunkt überquert, ist das Betriebssystem dafür verantwortlich, einen Algorithmus zum Reduzieren der Prozessortemperatur zu implementieren. Es kann dies bewirken, indem es ein periodisches Ereignis mit einer veränderlichen Frequenz erzeugt. Das Betriebssystem überwacht dann die aktuelle Temperatur sowie die letzte Temperatur und wendet einen Algorithmus an, um Leistungsänderungen durchzuführen, damit der Prozessor auf der Zieltemperatur gehalten wird.
  • Wenngleich aktuelle Versionen von hardwaregesteuerter Drosselung die Frequenz des Prozessors reduzieren, indem sie den Prozessor schnell anhalten und starten, können zukünftige Versionen der hardwaregesteuerten Drosselung den Leistungszustand des Prozessors reduzieren, indem sie sowohl die Frequenz als auch die Spannung reduzieren. Da die hardwaregesteuerte Drosselung direkt aktiviert wird und eine extrem schnelle Reaktionszeit aufweist, kann der Auslösepunkt zum Auslösen des passiven Wärmemanagements in der Nähe der Hochtemperaturspezifikation des Prozessors (als die Sperrschichttemperatur bekannt) gesetzt werden, wodurch man für die meisten Systemdesigns eine hohe Leistung erhält.
  • Die softwaregesteuerte Drosselung ist zu dem Betriebssystem offen, wodurch das Betriebssystem jederzeit die Prozessorleistung kennen kann. Dies wird insbesondere bei zukünftigen Betriebssystemen wichtig, die den ausführenden Anwendungen auf der Basis der Prozessorleistung eine bestimmte Dienstqualität garantieren. Dieses Konzept ist als garantierte Bandbreitenzuordnung bekannt und basiert auf dem aktuellen Leistungsniveau des Prozessors.
  • Hardwaregesteuerte Drosselung ist vorteilhaft, da man mit ihr bei jeder gegebenen Wärmelösung die bestmögliche Leistung erhält, sie eine extrem schnelle Reaktionszeit aufweist und nicht vorzeitig drosselt. Bei der hardwaregesteuerten Drosselung besteht ein Nachteil darin, daß dem Betriebssystem absolut unbewußt ist, daß sich die Prozessorleistung geändert hat. Es ist deshalb zu erwarten, daß die hardwaregesteuerte Drosselung bei zukünftigen Betriebssystemen, die eine garantierte Bandbreitenzeitplanung implementieren, zu Problemen führen kann.
  • US 5 723 998 A offenbart eine elektronische Schaltung, wie insbesondere einen Prozessor, mit einer sich selbst steuernden Temperaturfunktion. Ein Temperatursensor mißt die Betriebstemperatur und vergleicht diese mit einem oberen und unteren Schwellenwert. Bei Überschreiten des oberen Schwellenwerts wird die Taktfrequenz des Prozessors heruntergesetzt. Alternativ kann auch die Betriebsspannung des Prozessors durch einen Spannungssensor detektiert werden, um die Bearbeitungskapazität in einer ähnlichen Weise zu steuern.
  • Es besteht somit ein Bedarf an Wärmemanagementlösungen, mit denen man die Vorteile sowohl der hardware- als auch softwaregesteuerten Techniken erzielt. Es ist die Aufgabe der vorliegenden Erfindung, das Temperaturmanagement des Prozessors zu verbessern, insbesondere soll dabei das Temperaturmanagement dem Betriebssystem ermöglichen, die aktuelle Prozessorleistung jederzeit zu erkennen.
  • Die vorliegende Erfindung löst die Aufgabe durch ein Verfahren nach Anspruch 1, ein Softwareprodukt nach Anspruch 11 sowie ein Computersystem nach Anspruch 12.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Blockschaltbild eines Systems gemäß einer Ausführungsform der Erfindung;
  • 2 ist ein Flußdiagramm eines Leistungsmanagementmoduls in dem System von 1 und
  • 3 ist ein Flußdiagramm für ein anderes Modul in dem System von 1.
  • Ausführliche Beschreibung
  • Unter Bezugnahme auf 1 enthält ein prozessorbasiertes System 10 gemäß einer Ausführungsform der Erfindung einen oder mehrere Prozessoren 12. Das System 10 kann einen Allzweck- oder Spezialcomputer, ein mikroprozessor- oder mikrocontrollerbasiertes System, eine handgehaltene Recheneinrichtung, eine Set-top-Box, ein Gerät, ein Spielesystem oder eine beliebige controllerbasierte Einrichtung enthalten, bei der der Controller programmiert werden kann.
  • Eine oder mehrere Temperatursensoreinheiten 5 überwachen die Systemtemperatur in einer oder mehreren entsprechenden Wärmezonen, die jeweils in der Lage sind, einen Interrupt auszugeben, z. B. einen Systemmanagementinterrupt (SMI), einen Systemcontrollerinterrupt (SCI) oder eine beliebige andere Benachrichtigung, wenn eine erfaßte Temperatur über eine voreingestellte Zieltemperatur Tt ansteigt oder unter die Zieltemperatur Tt abfällt.
  • Bei einer Ausführungsform wird, wenn die überwachte Temperatur über Tt ist, ein Wärmeeinkuppel-SMI erzeugt. Wenn die überwachte Temperatur andererseits unter Tt liegt, wird ein Wärmeauskuppel-SMI erzeugt. Wenn die überwachte Temperatur über oder unter Tt bleibt, kann in periodischen Intervallen der Wärmeeinkuppel- oder -auskuppel-SMI erzeugt werden, damit die Software oder Firmware das Leistungsniveau des Prozessors verwalten kann.
  • Bei alternativen Ausführungsformen können andere Komponenten (z. B. Brückencontrollerchips, periphere Controller) in dem System zwischen oder unter den verschiedenen Leistungszuständen umgewandelt sowie für das Systemwärmemanagement gedrosselt werden. Außerdem kann das Wärmemanagement im System 10 für mehrere Wärmezonen unabhängig ausgeführt werden.
  • In 1 kann das von der Temperatursensoreinheit 15 erzeugte Interruptereignis direkt zum Prozessor 12 oder zu einer Hostbrücke 18 geschickt werden, die zwischen dem Prozessor 12 und einem Systembus 22 gekoppelt ist und bei der es sich bei einer Ausführungsform um einen PCI-Bus (Peripheral Component Interconnect – periphere Komponentenverbindung) handeln kann, wie in der am 1. Juni 1995 veröffentlichten Revision 2.1, der PCI Local Bus Specification, Production Version, definiert. Alternativ kann das Interruptereignis als ein speicher- oder E/A-abgebildetes Registerbit gespeichert werden, das von einem Software- oder Firmwaremodul abgefragt wird.
  • Zur Durchführung einer Drosselung wird ein Taktsteuereingang (wie etwa der in 1 als G_STPCLK# dargestellte Taktstoppeingang zu einem Prozessor der 80 × 86 – oder Pentium® Familie von Intel Corporation), gemäß einem voreingestellten Tastverhältnis aktiviert und deaktiviert. Das Signal G_STPCLK# wird durch eine Wärmemanagementsteuerlogik erzeugt und zu den STPCLK#-Eingangspin von beispielsweise von Intel hergestellten Prozessoren geleitet. Der STPCLK# läßt Takte intern zum Kern dieser Prozessoren durch. Eine Aktivierung des Taktsteuereingangs (beispielsweise durch Ansteuern von G_STPCLK# auf L) bewirkt, daß der Prozessor 12 in einen erheblich reduzierten Leistungsmodus eintritt, in dem ein interner Takt des Prozessors gestoppt und die meisten Funktionen blockiert werden. Die Drosselung wird somit bewirkt, indem der Taktsteuereingang für einen bestimmten Prozentsatz der Zeit aktiviert wird, um Prozessoraktivität zu blockieren, während gleichzeitig während des Rests der Zeit Prozessoraktivität gestattet wird.
  • Zu weiteren Komponenten des Systems 10 zählen ein Taktgenerator 50, der einen Hosttakt BCLK zu dem Prozessor 12 erzeugt, und einen Spannungsregler 52, der die Versorgungsspannung des Prozessors 12 regelt. Bei einer Ausführungsform können der Taktgenerator 50, der Prozessor 12 und der Spannungsregler 52 gesteuert werden, um das System 10 zwischen oder unter verschiedenen Leistungszuständen umzuschalten.
  • Ein Cache-Speicher 14 ist an den Prozessor 14 gekoppelt, und ein Systemspeicher 16 wird durch einen Speichercontroller in der Hostbrücke 18 gesteuert. Der Systembus 22 kann an andere Komponenten gekoppelt sein, einschließlich einen an ein Display 26 gekoppelten Videocontroller 24 und durch Steckplätze 28 gekoppelte Peripheriegeräte. Ein Sekundär- oder Erweiterungsbus 46 ist über eine Systembrücke 34 an den Systembus 22 gekoppelt. Die Systembrücke 34 kann Schnittstellenschaltungen zu verschiedenen Ports enthalten, einschließlich einem USB-Port 36 (universeller serieller Bus) (wie in der im Januar 1996 veröffentlichten Revision 1.0 der Universal Serial Bus Specification beschrieben) und Massenspeicherungsports 38, die an Massenspeicherungseinrichtungen wie etwa Festplattenlaufwerke, CD-(compact disc)- oder DVD-(digital video disc)-Laufwerke und dergleichen gekoppelt sein können.
  • Zu anderen an den Sekundärbus 46 gekoppelten Komponenten können eine Eingangs-/Ausgangs-(E/A)-Schaltung 40 zählen, die an einen parallelen Port, einen seriellen Port, ein Diskettenlaufwerk und an einen Infrarotport angeschlossen werden können. Ein nichtflüchtiger Speicher 32 für BIOS-(Basic Input/Output System)-Routinen können sich am Bus 46 befinden, wie auch eine Tastatureinrichtung 42 und eine Audiosteuereinrichtung 44. Die Hauptstromversorgungsspannungen in dem System 10 werden durch eine Stromversorgungsschaltung 56 bereitgestellt, die an eine Batterie 60 und an einen externen Stromquellenauslaß 58 gekoppelt ist. Bezüge auf spezifische Komponenten in dem System 10 dienen nur der Veranschaulichung – es versteht sich, daß andere Ausführungsformen des Systems 10 möglich sind.
  • Verschiedene Software- oder Firmwareschichten (beispielsweise aus Modulen oder Routinen gebildet), einschließlich Anwendungen, Betriebssystemmodule, Gerätetreiber, BIOS-Module und Interruptsteuerungsprogramme können in einem oder mehreren Speichermedien in dem System gespeichert werden. Zu den Speichermedien zählen das Festplattenlaufwerk, das CD- oder DVD-Laufwerk, das Diskettenlaufwerk, der nichtflüchtige Speicher und der Systemspeicher. Die Module, Routinen und anderen Schichten, die in den Speichermedien gespeichert sind, enthalten Anweisungen, die bei Ausführung bewirken, daß das System 10 programmierte Handlungen vornimmt.
  • Die Software- oder Firmwareschichten, wie etwa die Wärmeinterruptsoftware 50 und die Software 70 für den periodischen Taktgeber können auf eine von vielen möglichen Weisen in das System 10 geladen werden. Beispielsweise können Codesegmente, die auf Disketten, CD- oder DVD-Medien, der Festplatte gespeichert sind oder durch eine Netzschnittstellenkarte, ein Modem oder einen anderen Schnittstellenmechanismus transportiert werden, in das System 10 geladen und als entsprechende Software- oder Firmwareschicht ausgeführt werden. Bei dem Lade- oder Transportprozeß können Datensignale, die als Trägerwellen verkörpert sind (über Telefonleitungen, Netzleitungen, drahtlose Strecken, Kabel und dergleichen) übertragen werden, die Codesegmente an das System 10 weiterleiten.
  • Die Wärmeinterruptsoftware 50 bestimmt anfänglich, wie in der Raute 52 dargestellt, ob ein Frequenzänderungs-, Hochtemperatur- oder ein Tieftemperaturinterrupt empfangen worden ist. Hochtemperatur- und Tieftemperaturinterrupts sind konventionell softwaregesteuerte Interrupts. Das Frequenzänderungsinterrupt ist hardwaregesteuert, unterscheidet sich aber von konventionellen hardwaregesteuerten Interrupts dadurch, daß das Betriebssystem zu einem entsprechenden Zeitpunkt benachrichtigt wird, beispielsweise um eine garantierte Bandbreitenzuweisung zu ermöglichen.
  • Bei einigen Systemen kann der Leistungszustand des Prozessors 12 direkt gesteuert werden, anstatt daß der Prozessor einfach gedrosselt wird. Der Leistungszustand beinhaltet sowohl die Frequenz als auch die Spannung. In einem solchen Fall kann die Drosselung den Leistungszustand direkt reduzieren oder anheben, wenn der Prozessor 12 über den Auslösepunkt des chipintegrierten Sensors 15 ansteigt oder darunter abfällt.
  • Bei Übergängen zu einem niedrigeren Leistungszustand (weil der Prozessor heißer wird), wird die Prozessorfrequenz reduziert, bevor die Prozessorspannung reduziert wird. Die Prozessorleistung wird, wie es das Betriebssystem sieht, sofort reduziert. Das heißt, die Leistung sinkt, sobald die Frequenz abfällt.
  • Bei Übergangen zu einem höheren Leistungszustand (weil sich der Prozessor abkühlt) wird die Prozessorfrequenz erst dann erhöht, wenn die Spannung auf einen höheren Pegel verändert worden ist. Diese Spannungsänderung hängt von vielen Faktoren ab. Allgemein benötigt es etwas Zeit, die Spannungsänderung zu bewirken. Dadurch könnte die Leistungsänderung dem Interruptereignis selbst dann hinterherhinken, wenn das Interruptereignis bei der Spannungsänderung erzeugt würde.
  • Statt dessen kann das Interruptereignis jedes Mal dann erzeugt werden, wenn sich der Phasenregelkreis (PLL) des Prozessors auf einer neuen Frequenzhöhe neu synchronisiert. Somit kann das Betriebssystem, wenn der Interrupt zündet, den Leistungszustand des Prozessors lesen, den neuen Leistungspegel des Prozessors bestimmen, garantierte Bandbreitenzuordnungen wie erforderlich umplanen und dann den normalen Betrieb wieder aufnehmen.
  • Falls unter Bezugnahme auf 2 in der Raute 52 ein Ereignis detektiert wird, wird der Leistungszustand des Prozessors gelesen. Geschehen kann dies durch Zugriff auf Prozessorregister, um die Ursache des Ereignisses zu bestimmen und auch eine weitere Aktion zu ergreifen. Der Umfang an Code ist gering, begrenzt und kann bei einigen Ausführungsformen im physischen Speicher seitenweise verriegelt werden.
  • Wenn das Betriebssystem eine beliebige der drei Quellen von Wärmemanagementinterruptvektoren empfängt, wie in der Raute 52 bestimmt, kann der Prozessor prüfen, ob der Prozessor heiß oder kalt ist und den aktuellen Leistungszustand nachsehen, wie im Block 54 angezeigt, und zwar auf der Basis bereits definierter Register, und eine entsprechende Handlung vornehmen. Zu typischen Registern können eine chipintegrierte Drosselungssteuerung und das Leistungszustandsstatusregister zählen.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung kann der neue Interrupt zu existierenden Interruptmodellen für die Heiß- und Kaltinterrupterzeugung hinzugefügt werden. Das Frequenzänderungsinterrupt kann ein Freigabebit aufweisen, damit das Betriebssystem das Ereignis freigeben oder blockieren kann, doch wird bei einigen Ausführungsformen möglicherweise kein Statusregister benötigt.
  • Als nächstes wird durch eine Prüfung bei Raute 56 bestimmt, ob die Bandbreitenverträge angesichts des aktuellen Prozessorleistungszustands justiert werden müssen. Wenn dies der Fall ist, werden die Verträge wie im Block 58 angezeigt justiert. Danach kann die Bandbreitenzeiteinteilung wie im Block 60 angegeben wiederaufgenommen werden. Eine Prüfung bei Raute 62 bestimmt, ob ein periodischer Zeitgeber implementiert werden sollte. Das Betriebssystem kann ein periodisches Zeitgeberereignis freigeben, damit mit der Überwachung der Prozessortemperatur begonnen wird, wenn der Interrupt ein Prozessorwärmeereignis anzeigt, wie bei Block 64 angezeigt.
  • Die in 3 gezeigte Software 70 für den periodischen Zeitgeber beginnt mit dem Inkrementieren der Zeit, wie im Block 72 angegeben. Eine Prüfung bei Raute 74 bestimmt, ob eine Zeitabschaltung eingetreten ist. Wenn dies der Fall ist, bestimmt eine Prüfung bei Raute 76, ob der Prozessor immer noch heiß ist. Wenn dem so ist, kann das Betriebssystem entscheiden, den Prozessorleistungszustand zu reduzieren und/oder die chipintegrierte Drosselung freizugeben und/oder die interne effektive Frequenz der chipinternen Drosselung zu erhöhen, wie im Block 78 angegeben.
  • Eine Prüfung bei Raute 80 bestimmt, ob sich der Prozessor bereits abgekühlt hat. Wenn dem so ist, kann das Betriebssystem entscheiden, den Prozessorleistungszustand zu erhöhen und/oder die chipintegrierte Drosselung zu blockieren und/oder die interne effektive Frequenz der chipintegrierten Drosselung zu erhöhen, wie im Block 82 angezeigt. Danach wird die Zeit wie im Block 84 angegeben zurückgesetzt und der Fluß kann wieder von vorne beginnen.
  • Insbesondere bei mobilen Plattformen kann eine vergrößerte Leistung durch Ausnutzen der oben beschriebenen software- und hardwaregesteuerten Lösungen realisiert werden. Indem gestattet wird, daß eine hardwaregesteuerte Drosselung gemeinsam mit Betriebssystemabfertigungsalgorithmen existiert, kann man bei einigen Ausführungsformen ein schnelles effizientes Wärmemanagement erzielen und gleichzeitig garantierte Bandbreitenzuordnungsverfahren ermöglichen.
  • Wenngleich die vorliegende Erfindung im Hinblick auf eine begrenzte Anzahl von Ausführungsformen beschrieben worden ist, erkennt der Fachmann zahlreiche Modifikationen und Abweichungen davon, die im Rahmen der beigefügten Ansprüche liegen, welche die Erfindung definieren.

Claims (21)

  1. Verfahren für ein Wärmemanagement eines prozessorbasierten Systems, das folgendes umfaßt: Detektieren, daß sich eine Prozessorfrequenz als Reaktion auf eine Prozessorabkühlung geändert hat, Erzeugen eines Interrupts als Reaktion auf die Detektion der Frequenzänderung, Bestimmen, ob der Leistungszustand des Prozessors einen geringeren Leistungszustand einnimmt, und Ändern der Prozessorfrequenz und zeitlich nachfolgend der Prozessorspannung, wenn der Prozessor einen geringeren Leistungszustand einnimmt.
  2. Verfahren nach Anspruch 1, das ein Bereitstellen eines Interrupts zu einem Betriebssystem umfasst.
  3. Verfahren nach Anspruch 1, das ein Lesen des Leistungszustands des Prozessors als Reaktion auf den Interrupt umfasst.
  4. Verfahren nach Anspruch 3, das ein Bestimmen eines neuen Leistungszustands umfasst.
  5. Verfahren nach Anspruch 4, das eine Zeitplanung einer Bandbreitenzuordnung umfasst.
  6. Verfahren nach Anspruch 2, das ein Einrichten eines periodischen Zeitgebers umfasst.
  7. Verfahren nach Anspruch 6, das eine Überwachung der Prozessortemperatur in periodischen Intervallen umfasst.
  8. Verfahren nach Anspruch 1, das ein Detektieren eines Hochtemperatur- oder eines Tieftemperaturinterrupts und Lesen des Prozessorleistungszustands als Reaktion auf die Detektion eines Hochtemperatur- oder eines Tieftemperaturinterrupts umfasst.
  9. Verfahren nach Anspruch 1, wobei das Detektieren einer Frequenzänderung das Detektieren eines Prozessorphasenregelkreisereignisses beinhaltet.
  10. Verfahren nach Anspruch 1, das ein Verwenden einer hardwaregesteuerten Drosselung umfasst.
  11. Computerprogrammprodukt, das Anweisungen speichert, die, wenn sie auf einem prozessorbasierten System ausgeführt werden, das Verfahren nach einem der Ansprüche 1 bis 10 ausführen.
  12. System, das auf einem Prozessor basiert und ein Wärmemanagement aufweist, wobei das System folgendes umfaßt: einen Prozessor, einen an den Prozessor gekoppelten Temperatursensor und eine Speicherung, die Anweisungen speichert, damit der Prozessor detektieren kann, daß sich die Prozessorfrequenz als Reaktion auf die Prozessorabkühlung geändert hat, und als Reaktion auf das Detektieren der Frequenzänderung einen Interrupt erzeugen kann, ferner zum Bestimmen, ob der Leistungszustand des Prozessors einen geringeren Leistungszustand einnimmt, und zum Ändern der Prozessorfrequenz und zeitlich nachfolgend der Prozessorspannung, wenn der Prozessor einen geringeren Leistungszustand einnimmt.
  13. System nach Anspruch 12, das eine Speicherung umfasst, die ein Betriebssystem speichert, wobei der Interrupt an das Betriebssystem bereitgestellt wird.
  14. System nach Anspruch 12, wobei die Speicherung Anweisungen speichert, damit der Prozessor den Leistungszustand des Prozessors als Reaktion auf einen Interrupt lesen kann.
  15. System nach Anspruch 12, wobei der Prozessor einen neuen Leistungszustand bestimmt.
  16. System nach Anspruch 15, wobei die Speicherung Anweisungen speichert, durch die der Prozessor eine neue Bandbreitenzuordnung planen kann.
  17. System nach Anspruch 13, wobei die Speicherung Anweisungen speichert, damit der Prozessor einen periodischen Zeitgeber einrichten kann.
  18. System nach Anspruch 17, wobei die Speicherung Anweisungen speichert, damit der Prozessor die Prozessortemperatur in periodischen Intervallen überwachen kann.
  19. System nach Anspruch 12, wobei die Speicherung Anweisungen speichert, damit der Prozessor einen Hochtemperatur- oder einen Tieftemperaturinterrupt detektieren und als Reaktion auf das Detektieren eines Hochtemperatur- oder eines Tieftemperaturinterrupts den Prozessorleistungszustands lesen kann.
  20. System nach Anspruch 12, wobei die Speicherung Anweisungen speichert, damit der Prozessor ein Prozessorphasenregelkreisereignis detektieren kann.
  21. System nach Anspruch 12, das eine hardwaregesteuerte Drosselung umfasst.
DE10297518T 2001-12-12 2002-11-15 Wärmemanagement von prozessorbasierten Systemen Expired - Fee Related DE10297518B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/020,848 US6823240B2 (en) 2001-12-12 2001-12-12 Operating system coordinated thermal management
US10/020848 2001-12-12
PCT/US2002/036708 WO2003050663A2 (en) 2001-12-12 2002-11-15 Operating system coordinated thermal management

Publications (2)

Publication Number Publication Date
DE10297518T5 DE10297518T5 (de) 2004-10-07
DE10297518B4 true DE10297518B4 (de) 2008-12-04

Family

ID=21800914

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10297518T Expired - Fee Related DE10297518B4 (de) 2001-12-12 2002-11-15 Wärmemanagement von prozessorbasierten Systemen

Country Status (8)

Country Link
US (2) US6823240B2 (de)
KR (1) KR100647166B1 (de)
CN (1) CN100458651C (de)
AU (1) AU2002366510A1 (de)
DE (1) DE10297518B4 (de)
GB (1) GB2400217B (de)
TW (1) TW571186B (de)
WO (1) WO2003050663A2 (de)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7275012B2 (en) * 2002-12-30 2007-09-25 Intel Corporation Automated method and apparatus for processor thermal validation
US7141953B2 (en) 2003-09-04 2006-11-28 Intel Corporation Methods and apparatus for optimal voltage and frequency control of thermally limited systems
US7269005B2 (en) * 2003-11-21 2007-09-11 Intel Corporation Pumped loop cooling with remote heat exchanger and display cooling
KR101136036B1 (ko) * 2003-12-24 2012-04-18 삼성전자주식회사 유휴 모드에서의 전력 소모가 감소된 프로세서 시스템 및그 방법
US7467059B2 (en) * 2004-06-28 2008-12-16 Intel Corporation Extended thermal management
US7363523B2 (en) * 2004-08-31 2008-04-22 Intel Corporation Method and apparatus for controlling power management state transitions
US7664970B2 (en) 2005-12-30 2010-02-16 Intel Corporation Method and apparatus for a zero voltage processor sleep state
US7596464B2 (en) * 2004-09-29 2009-09-29 Intel Corporation Determining the thermal influence of components within a system and usage of a matrix for power and thermal management
US7386737B2 (en) 2004-11-02 2008-06-10 Intel Corporation Method and apparatus to control temperature of processor
US7379718B2 (en) * 2004-12-20 2008-05-27 Marvell World Trade Ltd. Method and apparatus to manage power consumption of a semiconductor device
CN100435070C (zh) * 2005-04-05 2008-11-19 深圳市顶星数码网络技术有限公司 用于笔记本电脑的主被动切换式散热系统
US7590509B2 (en) 2005-06-23 2009-09-15 Hewlett-Packard Development Company, L.P. System and method for testing a processor
US7464278B2 (en) 2005-09-12 2008-12-09 Intel Corporation Combining power prediction and optimal control approaches for performance optimization in thermally limited designs
US7386414B2 (en) * 2005-11-29 2008-06-10 International Business Machines Corporation Generation of hardware thermal profiles for a set of processors
US20080011467A1 (en) * 2006-06-23 2008-01-17 Intel Corporation Method, apparatus and system for thermal management using power density feedback
EP2122742A4 (de) * 2006-10-23 2016-01-06 Texas Instr Northern Virginia Inc Auf zellen basierende temperaturüberwachung
US8423832B2 (en) * 2006-11-07 2013-04-16 Hewlett-Packard Development Company, L.P. System and method for preventing processor errors
US7992151B2 (en) * 2006-11-30 2011-08-02 Intel Corporation Methods and apparatuses for core allocations
WO2008078131A1 (en) * 2006-12-27 2008-07-03 Nokia Corporation Power control
US20090235108A1 (en) * 2008-03-11 2009-09-17 Gold Spencer M Automatic processor overclocking
US8498729B2 (en) 2008-08-29 2013-07-30 Smp Logic Systems Llc Manufacturing execution system for use in manufacturing baby formula
US8122270B2 (en) * 2008-09-29 2012-02-21 Intel Corporation Voltage stabilization for clock signal frequency locking
US8612998B2 (en) * 2010-09-23 2013-12-17 Intel Corporation Coordinating device and application break events for platform power saving
US8311683B2 (en) 2009-04-29 2012-11-13 International Business Machines Corporation Processor cooling management
US8831904B2 (en) 2009-08-05 2014-09-09 Texas Instruments Incorporated Cell based temperature monitoring
US8738949B2 (en) * 2009-08-31 2014-05-27 Empire Technology Development Llc Power management for processor
TWI486763B (zh) * 2011-07-18 2015-06-01 Wistron Corp 電腦系統之過熱保護方法及相關裝置
EP2788834A4 (de) 2011-12-09 2015-07-22 Intel Corp Strom- und leistungsverwaltung für ein adaptives graphisches subsystem
US9946327B2 (en) * 2015-02-19 2018-04-17 Qualcomm Incorporated Thermal mitigation with power duty cycle
US10275001B2 (en) * 2015-06-26 2019-04-30 Intel Corporation Thermal throttling of electronic devices
CN105045668A (zh) 2015-07-28 2015-11-11 深圳市万普拉斯科技有限公司 运算资源的散热控制方法和运算控制系统
CN105446438A (zh) * 2015-11-18 2016-03-30 浪潮集团有限公司 一种防止基于Intel Atom处理器无风冷便携式设备过热的方法
CN107357385B (zh) * 2017-06-09 2020-04-28 努比亚技术有限公司 基于频率控制温度的方法、终端及计算机可读存储介质
US10386899B2 (en) 2017-08-08 2019-08-20 GM Global Technology Operations LLC Methods and systems for configurable temperature control of controller processors
DE112017008123T5 (de) * 2017-09-29 2020-07-02 Intel Corporation Methoden zum Steuern von Prozessorleistungszuständen
US20240085971A1 (en) * 2022-09-09 2024-03-14 Qualcomm Incorporated Limits management for a processor power distribution network

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5723998A (en) * 1994-08-10 1998-03-03 Yamaha Corporation Electronic circuit with operation self-control function

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5153535A (en) 1989-06-30 1992-10-06 Poget Computer Corporation Power supply and oscillator for a computer system providing automatic selection of supply voltage and frequency
US5021679A (en) 1989-06-30 1991-06-04 Poqet Computer Corporation Power supply and oscillator for a computer system providing automatic selection of supply voltage and frequency
US6158012A (en) * 1989-10-30 2000-12-05 Texas Instruments Incorporated Real-time power conservation and thermal management for computers
US7216064B1 (en) 1993-09-21 2007-05-08 Intel Corporation Method and apparatus for programmable thermal sensor for an integrated circuit
US5752011A (en) 1994-06-20 1998-05-12 Thomas; C. Douglas Method and system for controlling a processor's clock frequency in accordance with the processor's temperature
US5734585A (en) 1994-11-07 1998-03-31 Norand Corporation Method and apparatus for sequencing power delivery in mixed supply computer systems
JP3075957B2 (ja) 1995-05-30 2000-08-14 株式会社東芝 コンピュータシステム
US6029119A (en) * 1996-01-16 2000-02-22 Compaq Computer Corporation Thermal management of computers
US5940785A (en) * 1996-04-29 1999-08-17 International Business Machines Corporation Performance-temperature optimization by cooperatively varying the voltage and frequency of a circuit
US5760636A (en) * 1996-06-28 1998-06-02 Intel Corporation Adjusting clock frequency and voltage supplied to a processor in a computer system
US5978864A (en) 1997-06-25 1999-11-02 Sun Microsystems, Inc. Method for thermal overload detection and prevention for an intergrated circuit processor
US6140860A (en) * 1997-12-31 2000-10-31 Intel Corporation Thermal sensing circuit
US6112164A (en) * 1998-03-31 2000-08-29 Compaq Computer Corporation Computer system thermal management
US6172611B1 (en) * 1998-10-19 2001-01-09 Telcom Semiconductor, Inc. Independent hardware thermal sensing and monitoring
US6182232B1 (en) 1999-01-29 2001-01-30 Micron Electronics, Inc. Power and thermal management based on a power supply output
US6363490B1 (en) * 1999-03-30 2002-03-26 Intel Corporation Method and apparatus for monitoring the temperature of a processor
JP3049051B1 (ja) * 1999-03-31 2000-06-05 新潟日本電気株式会社 中央処理装置の温度制御回路
JP2001056724A (ja) * 1999-08-18 2001-02-27 Nec Niigata Ltd パーソナルコンピュータの冷却方式
KR100601617B1 (ko) 1999-08-20 2006-07-14 삼성전자주식회사 Cpu 열제어 기능을 갖는 개인용 컴퓨터 및 그 cpu 열제어방법
JP3715475B2 (ja) 1999-09-13 2005-11-09 富士通株式会社 電子機器用温度制御回路および電子機器の温度制御方法
KR20020050270A (ko) * 1999-11-09 2002-06-26 토토라노 제이. 빈센트 환경에 따른 프로세서의 작동 파라미터의 동적 조절방법
US7263567B1 (en) * 2000-09-25 2007-08-28 Intel Corporation Method and apparatus for lowering the die temperature of a microprocessor and maintaining the temperature below the die burn out
TW538330B (en) * 2001-06-15 2003-06-21 Compal Electronics Inc Peripheral device equipped with a thermal control circuit for a portable computer
US6889332B2 (en) * 2001-12-11 2005-05-03 Advanced Micro Devices, Inc. Variable maximum die temperature based on performance state

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5723998A (en) * 1994-08-10 1998-03-03 Yamaha Corporation Electronic circuit with operation self-control function

Also Published As

Publication number Publication date
US7054720B2 (en) 2006-05-30
DE10297518T5 (de) 2004-10-07
US20040268174A1 (en) 2004-12-30
GB2400217A (en) 2004-10-06
AU2002366510A1 (en) 2003-06-23
CN1602460A (zh) 2005-03-30
WO2003050663A2 (en) 2003-06-19
US6823240B2 (en) 2004-11-23
KR100647166B1 (ko) 2006-11-23
GB0413109D0 (en) 2004-07-14
WO2003050663A3 (en) 2004-01-15
TW571186B (en) 2004-01-11
AU2002366510A8 (en) 2003-06-23
CN100458651C (zh) 2009-02-04
GB2400217B (en) 2006-01-18
KR20040068938A (ko) 2004-08-02
US20030109967A1 (en) 2003-06-12

Similar Documents

Publication Publication Date Title
DE10297518B4 (de) Wärmemanagement von prozessorbasierten Systemen
DE10392619B4 (de) Energieverwaltung für eine integrierte Grafikeinheit
US9952636B2 (en) Systems and methods for user modification of cooling device response in information handling systems
DE112006003575B4 (de) Verfahren und Vorrichtung für einen Nullspannungs-Prozessorschlafzustand
US7730334B2 (en) Method and apparatus for on-demand power management
US8020015B2 (en) Method and apparatus for on-demand power management
US9189045B2 (en) Power management system
DE112007001987B4 (de) Überführen einer Rechenplattform in einen Systemzustand niedriger Leistung
US8458499B2 (en) Method for reducing power state in a computer system out-of-band when a request for reducing the power state is not immediately serviceable in band according to a priority of the request
DE112015004438B4 (de) Niedrigenergie-Prozessor zum Steuern von Betriebszuständen eines Computersystems
DE112006003444B4 (de) Verfahren und Vorrichtung zum Erfassen von Prozessorzustands-Übergängen
DE4307226A1 (de)
DE112006000386B4 (de) Vorrichtung und Verfahren zur Steuerung der Sequenz der Taktverteilung an Taktverteilungsbereiche
DE112017004917T5 (de) Speichermonitor
DE112018005673T5 (de) Konfigurierbares leeren von daten aus einem flüchtigen speicher in einen nicht flüchtigen speicher
TW201830197A (zh) 在等待事件期間之處理器節電
US11729940B2 (en) Unified control of cooling in computers
DE102021130628A1 (de) Sicherheitsverriegelungseinrichtung und verfahren für geistiges eigentum
DE102020132082A1 (de) Verfahren und vorrichtung zur genauen messung einer plattformleistung
DE102020131586A1 (de) Vorrichtung und verfahren für eine intelligente vorhersage der prozessorleerlaufzeit
CN107390670A (zh) Android系统资源控制方法、存储介质及智能终端
JP2015015011A (ja) 電源制御システム及び電源制御方法
DE202005010374U1 (de) Abschalt-Verzögerungs-Vorrichtung für die Hauptspannung der Spannungsversorgung eines Computersystems

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law

Ref document number: 10297518

Country of ref document: DE

Date of ref document: 20041007

Kind code of ref document: P

8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee