DE10297518B4 - Wärmemanagement von prozessorbasierten Systemen - Google Patents
Wärmemanagement von prozessorbasierten Systemen Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/20—Cooling means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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.
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 von1 und -
3 ist ein Flußdiagramm für ein anderes Modul in dem System von1 . - Ausführliche Beschreibung
- Unter Bezugnahme auf
1 enthält ein prozessorbasiertes System10 gemäß einer Ausführungsform der Erfindung einen oder mehrere Prozessoren12 . Das System10 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 Temperatursensoreinheit15 erzeugte Interruptereignis direkt zum Prozessor12 oder zu einer Hostbrücke18 geschickt werden, die zwischen dem Prozessor12 und einem Systembus22 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 Prozessor12 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 Taktgenerator50 , der einen Hosttakt BCLK zu dem Prozessor12 erzeugt, und einen Spannungsregler52 , der die Versorgungsspannung des Prozessors12 regelt. Bei einer Ausführungsform können der Taktgenerator50 , der Prozessor12 und der Spannungsregler52 gesteuert werden, um das System10 zwischen oder unter verschiedenen Leistungszuständen umzuschalten. - Ein Cache-Speicher
14 ist an den Prozessor14 gekoppelt, und ein Systemspeicher16 wird durch einen Speichercontroller in der Hostbrücke18 gesteuert. Der Systembus22 kann an andere Komponenten gekoppelt sein, einschließlich einen an ein Display26 gekoppelten Videocontroller24 und durch Steckplätze28 gekoppelte Peripheriegeräte. Ein Sekundär- oder Erweiterungsbus46 ist über eine Systembrücke34 an den Systembus22 gekoppelt. Die Systembrücke34 kann Schnittstellenschaltungen zu verschiedenen Ports enthalten, einschließlich einem USB-Port36 (universeller serieller Bus) (wie in der im Januar 1996 veröffentlichten Revision 1.0 der Universal Serial Bus Specification beschrieben) und Massenspeicherungsports38 , 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)-Schaltung40 zählen, die an einen parallelen Port, einen seriellen Port, ein Diskettenlaufwerk und an einen Infrarotport angeschlossen werden können. Ein nichtflüchtiger Speicher32 für BIOS-(Basic Input/Output System)-Routinen können sich am Bus46 befinden, wie auch eine Tastatureinrichtung42 und eine Audiosteuereinrichtung44 . Die Hauptstromversorgungsspannungen in dem System10 werden durch eine Stromversorgungsschaltung56 bereitgestellt, die an eine Batterie60 und an einen externen Stromquellenauslaß58 gekoppelt ist. Bezüge auf spezifische Komponenten in dem System10 dienen nur der Veranschaulichung – es versteht sich, daß andere Ausführungsformen des Systems10 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 Software70 für den periodischen Taktgeber können auf eine von vielen möglichen Weisen in das System10 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 System10 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 System10 weiterleiten. - Die Wärmeinterruptsoftware
50 bestimmt anfänglich, wie in der Raute52 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 Prozessor12 über den Auslösepunkt des chipintegrierten Sensors15 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 Raute52 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 Block54 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 Block58 angezeigt justiert. Danach kann die Bandbreitenzeiteinteilung wie im Block60 angegeben wiederaufgenommen werden. Eine Prüfung bei Raute62 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 Block64 angezeigt. - Die in
3 gezeigte Software70 für den periodischen Zeitgeber beginnt mit dem Inkrementieren der Zeit, wie im Block72 angegeben. Eine Prüfung bei Raute74 bestimmt, ob eine Zeitabschaltung eingetreten ist. Wenn dies der Fall ist, bestimmt eine Prüfung bei Raute76 , 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 Block78 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 Block82 angezeigt. Danach wird die Zeit wie im Block84 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)
- 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.
- Verfahren nach Anspruch 1, das ein Bereitstellen eines Interrupts zu einem Betriebssystem umfasst.
- Verfahren nach Anspruch 1, das ein Lesen des Leistungszustands des Prozessors als Reaktion auf den Interrupt umfasst.
- Verfahren nach Anspruch 3, das ein Bestimmen eines neuen Leistungszustands umfasst.
- Verfahren nach Anspruch 4, das eine Zeitplanung einer Bandbreitenzuordnung umfasst.
- Verfahren nach Anspruch 2, das ein Einrichten eines periodischen Zeitgebers umfasst.
- Verfahren nach Anspruch 6, das eine Überwachung der Prozessortemperatur in periodischen Intervallen umfasst.
- 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.
- Verfahren nach Anspruch 1, wobei das Detektieren einer Frequenzänderung das Detektieren eines Prozessorphasenregelkreisereignisses beinhaltet.
- Verfahren nach Anspruch 1, das ein Verwenden einer hardwaregesteuerten Drosselung umfasst.
- 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.
- 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.
- System nach Anspruch 12, das eine Speicherung umfasst, die ein Betriebssystem speichert, wobei der Interrupt an das Betriebssystem bereitgestellt wird.
- System nach Anspruch 12, wobei die Speicherung Anweisungen speichert, damit der Prozessor den Leistungszustand des Prozessors als Reaktion auf einen Interrupt lesen kann.
- System nach Anspruch 12, wobei der Prozessor einen neuen Leistungszustand bestimmt.
- System nach Anspruch 15, wobei die Speicherung Anweisungen speichert, durch die der Prozessor eine neue Bandbreitenzuordnung planen kann.
- System nach Anspruch 13, wobei die Speicherung Anweisungen speichert, damit der Prozessor einen periodischen Zeitgeber einrichten kann.
- System nach Anspruch 17, wobei die Speicherung Anweisungen speichert, damit der Prozessor die Prozessortemperatur in periodischen Intervallen überwachen kann.
- 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.
- System nach Anspruch 12, wobei die Speicherung Anweisungen speichert, damit der Prozessor ein Prozessorphasenregelkreisereignis detektieren kann.
- System nach Anspruch 12, das eine hardwaregesteuerte Drosselung umfasst.
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)
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)
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)
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 |
-
2001
- 2001-12-12 US US10/020,848 patent/US6823240B2/en not_active Expired - Lifetime
-
2002
- 2002-10-24 TW TW091124742A patent/TW571186B/zh not_active IP Right Cessation
- 2002-11-15 DE DE10297518T patent/DE10297518B4/de not_active Expired - Fee Related
- 2002-11-15 CN CNB028248589A patent/CN100458651C/zh not_active Expired - Fee Related
- 2002-11-15 GB GB0413109A patent/GB2400217B/en not_active Expired - Lifetime
- 2002-11-15 AU AU2002366510A patent/AU2002366510A1/en not_active Abandoned
- 2002-11-15 WO PCT/US2002/036708 patent/WO2003050663A2/en not_active Application Discontinuation
- 2002-11-15 KR KR1020047009110A patent/KR100647166B1/ko active IP Right Grant
-
2004
- 2004-07-28 US US10/900,917 patent/US7054720B2/en not_active Expired - Lifetime
Patent Citations (1)
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 |