DE10393396B4 - Schnittstelle und Vorrichtungstreiber zum lokalen Leistungsmanagement sowie Verfahren und Software zu deren Steuerung - Google Patents

Schnittstelle und Vorrichtungstreiber zum lokalen Leistungsmanagement sowie Verfahren und Software zu deren Steuerung Download PDF

Info

Publication number
DE10393396B4
DE10393396B4 DE10393396T DE10393396T DE10393396B4 DE 10393396 B4 DE10393396 B4 DE 10393396B4 DE 10393396 T DE10393396 T DE 10393396T DE 10393396 T DE10393396 T DE 10393396T DE 10393396 B4 DE10393396 B4 DE 10393396B4
Authority
DE
Germany
Prior art keywords
condition
power state
state
performance
command
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
DE10393396T
Other languages
English (en)
Other versions
DE10393396T5 (de
Inventor
Guy Beaverton Therien
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 DE10393396T5 publication Critical patent/DE10393396T5/de
Application granted granted Critical
Publication of DE10393396B4 publication Critical patent/DE10393396B4/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/325Power saving in peripheral device
    • 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/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/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1632External expansion units, e.g. docking stations
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02HEMERGENCY PROTECTIVE CIRCUIT ARRANGEMENTS
    • H02H3/00Emergency protective circuit arrangements for automatic disconnection directly responsive to an undesired change from normal electric working condition with or without subsequent reconnection ; integrated protection
    • H02H3/02Details
    • H02H3/05Details with means for increasing reliability, e.g. redundancy arrangements
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Power Sources (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)
  • Selective Calling Equipment (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Schnittstelle, die Folgendes umfasst:
– einen Plattformtreiber, der ein Monitor für eine Umgebungsbedingung aufweist, um eine Umgebungsbedingung in Bezug auf eine Vorrichtung in einer Mehrzahl von Vorrichtungen, die jeweils in einem aktuellen Leistungszustand arbeiten, zu überwachen, und einen Befehlsgenerator, um einen Begrenzungsbefehl auf der Basis der Umgebungsbedingung für die Vorrichtungen zu erzeugen, und
– mehrere Vorrichtungstreiber zur Steuerung der mehreren Vorrichtungen, wobei jeder der Vorrichtungstreiber einen Zustandseinsteller aufweist, um den Begrenzungsbefehl in eine Begrenzungssteueraktion zu übersetzen, um den aktuellen Leistungszustand auf einen nächsten Leistungszustand entsprechend einer Vorrichtungszustandskenngröße einzustellen, wobei
jeder Vorrichtungstreiber eine Leistungstabelle umfasst, welche in eine entsprechende Vorrichtung zu ladende Steuerparameter enthält, um dem Zustandseinsteller zu ermöglichen, die entsprechende Vorrichtung anzuleiten, den aktuellen Leistungszustand einzustellen.

Description

  • TECHNISCHES GEBIET
  • Ausführungsformen der Erfindung betreffen das Gebiet der Mikroprozessoren und insbesondere Mikroprozessor-Leistungszustände.
  • STAND DER TECHNIK
  • Fortschritte in der Mikroprozessortechnologie haben Benutzern sehr viel Leistungsflexibilität gegeben. Zum Beispiel besitzen neue Prozessoren mehrere Leistungszustandseffizienzen. Leistungszustände von Vorrichtungen tauschen in der Regel Leistung der Vorrichtung gegen eine Verringerung eines oder mehrerer der folgenden Parameter der Vorrichtung ein: Stromverbrauch, thermisches Verhalten und akustische Eigenschaften. Leistungsrichtlinien folgen gewöhnlich mehreren Faktoren, wie zum Beispiel Aktivität der Vorrichtung oder Nachfrage, Stromquelle, Benutzerpräferenzen (z. B. Leistungsfähigkeit, Stromersparnis und Akustik) und ungünstige Bedingungen (z. B. thermische Bedingungen, niedriger Batteriestand).
  • Durch die ACPI-Spezifikation (Advanced Configuration and Power Interface) wurde ein neues Verfahren für Plattform-Leistungsmanagement und -aufzählung eingeführt. Die Architektur basiert auf Tabellen und hat die Fähigkeit zur Ausführung von Steuermethoden, die im Code der ACPI Source Language (ASL) geschrieben werden. ACPI gibt eine Standardspezifikation, aus der ein globales Leistungsmanagement entwickelt werden kann. Dieser globale Ansatz hat jedoch mehrere Nachteile. Erstens nimmt das Modell an, daß das OS die Fähigkeiten aller Vorrichtungen oder Prozessoren in der Plattform kennt und sie steuern kann. Dies ist nicht unbedingt der Fall, wenn neuere Vorrichtungen zu der Plattform hinzugefügt werden. Zweitens kann das Modell einzelne Vorrichtungen oder Prozesse nicht im Hinblick auf Energiemanagement unterscheiden. In der Praxis kann jede Vorrichtung oder jeder Prozessor un terschiedliche Leistungskenngrößen aufweisen. Drittens erzeugt das Modell die Last, verschiedene Vorrichtungstreiber bereitzustellen.
  • WO 02/25414 offenbart ein Verfahren und eine Vorrichtung zum Steuern von Prozessortaktraten aufgrund von Umgebungsbedingungen. Jeder Prozessor weist einen Sensor auf, der in Abhängigkeit von einem gemessenen Umgebungszustand, der einen bestimmten Schwellwert überschreitet, ein Ausgabesignal ausgibt. Ein Systemmodul sendet aufgrund dieses Signals ein Unterbrechungssignal an alle Prozessoren in dem System.
  • US 5 560 022 A offenbart ein System zur Koordination des Energiemanagements in einem Computersystem und eine entsprechende Schnittstelle. Nach einer Änderung in einer Systemeinstellung oder nach einer Änderung von registrierten Vorrichtungen, werden über einen Energierichtlinienmanager Befehle ausgegeben, welche die registrierten Vorrichtungen in einen ausgewählten Zustand versetzen. Der Energierichtlinienmanager führt das Energiemanagement global, d. h. über das gesamte System, durch und stellt dem Benutzer einen zentralen Ort zum Einstellen der Energiesteuerrichtlinien für das gesamte Computersystem zur Verfügung.
  • Es ist die Aufgabe der vorliegenden Erfindung, eine Schnittstelle, einen Treiber, ein Verfahren sowie seine Umsetzung auf einem maschinenlesbaren Medium bereitzustellen, um ein optimiertes Energiemanagement einzelner Vorrichtungen in einem System mehrerer Vorrichtungen zu ermöglichen, wobei für eine Leistungsoptimierung individuelle Umgebungsbedingungen einer einzelnen Vorrichtung bei einer Anpassung ihres Leistungszustandes berücksichtigt werden können.
  • Die Aufgabe wird gelöst durch eine Schnittstelle nach Anspruch 1, ein Verfahren nach Anspruch 6, einem Vorrichtungstreiber nach Anspruch 12, ein Verfahren nach Anspruch 17 oder durch Umsetzung auf einem maschinenlesbaren Medium nach Anspruch 11 oder 22.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die Erfindung wird am besten durch Bezugnahme auf die folgende Beschreibung und die beigefügten Zeichnungen, die zur Veranschaulichung von Ausführungsformen der Erfindung verwendet werden, verständlich. Es zeigen:
  • 1 ein Diagramm eines Systems, in dem eine Ausführungsform der Erfindung ausgeführt werden kann.
  • 2 ein Diagramm einer Grenzschnittstelle gemäß einer Ausführungsform der Erfindung.
  • 3 ein Flußdiagramm eines Prozesses zur Leistungsbegrenzung durch den Plattformtreiber gemäß einer Ausführungsform der Erfindung.
  • 4 ein Flußdiagramm eines Prozesses zur Leistungsbegrenzung durch einen Vorrichtungstreiber gemäß einer anderen Ausführungsform der Erfindung.
  • BESCHREIBUNG DER ERFINDUNG
  • Bei einer Ausführungsform der Erfindung wird eine Umgebungsbedingung überwacht, die eine erste Vorrichtung betrifft. Die erste Vorrichtung wird in einem ersten Leistungszustand betrieben. Auf der Basis der Umgebungsbedingung wird ein Begrenzungsbefehl erzeugt, der die erste Vorrichtung auffordert, den ersten Leistungszustand auf einen zweiten Leistungszustand einzustellen. Bei einer anderen Ausführungsform der Erfindung wird ein Begrenzungsbefehl auf der Basis einer Umgebungsbedingung für eine Vorrichtung empfangen. Die Vorrichtung übersetzt den Begrenzungsbefehl in eine Begrenzungssteuerung zur Einstellung des Leistungszustands. Die Vorrichtung wird in einem ersten Leistungszustand betrieben. Der erste Leistungszustand der Vorrichtung wird gemäß dem Begrenzungsbefehl auf einen zweiten Leistungszustand eingestellt.
  • In der folgenden Beschreibung werden zahlreiche spezifische Einzelheiten dargelegt. Es versteht sich jedoch, daß Ausführungsformen der Erfindung ohne diese spezifischen Einzelheiten ausgeübt werden können. In anderen Fällen wurden wohlbekannte Schaltungen, Strukturen und Techniken nicht gezeigt, um das Verständnis der vorliegenden Beschreibung nicht zu erschweren.
  • Elemente einer Ausführungsform der Erfindung können durch Hardware, Software, Firmware, Mikrocode oder eine beliebige Kombination davon implementiert werden. Bei Implementierung in Software, Firmware oder Mikrocode sind die Elemente der Ausführungsform der vorliegenden Erfindung der Programmcode oder Codesegmente zur Durchführung der notwendigen Aufgaben. Ein Codesegment kann eine Prozedur, eine Funktion, ein Unterprogramm, ein Programm, eine Routine, eine Subroutine, ein Modul, ein Softwarepaket, eine Klasse oder eine beliebige Kombination von Anweisungen, Datenstrukturen oder Programmanweisungen repräsentieren. Ein Codesegment kann an ein anderes Codesegment oder eine Hardwareschaltung angekoppelt werden, indem Informationen, Daten, Argumente, Parameter oder Speicherinhalt weitergeleitet und/oder empfangen werden. Informationen, Argumente, Parameter, Daten usw. können über jedes beliebige geeignete Mittel übergeben, weitergeleitet oder übertragen werden, darunter Speicher-Sharing, Nachrichtenweiterleitung, Token-Weiterleitung, Netzwerkübertragung usw. Das Programm oder die Codesegmente können in einem prozessorlesbarem Medium gespeichert oder durch ein Computerdatensignal übertragen werden, das in einer Trägerwelle oder in einem durch einen Träger modulierten Signal über ein Übertragungsmedium realisiert wird. Das ”prozessorlesbare oder -zugängliche Medium” oder das ”maschinenlesbare oder -zugängliche Medium” kann jedes beliebige Medium sein, das Informationen speichern, übertragen oder transferieren kann. Das maschinenzugängliche Medium kann zum Beispiel eine elektronische Schaltung, ein Halbleiterspeicherbaustein, ein ROM, ein Flash-Speicher, ein löschbarer ROM (EROM), eine Diskette, eine Kompaktdisk (CD-ROM), ein optischer Datenträger, eine Festplatte, ein faseroptisches Medium, eine Hochfrequenz-(HF-)Strecke usw. sein. Das Computerdatensignal kann jedes beliebige Signal sein, das sich über ein Übertragungsmedium, wie zum Beispiel elektronische Netzwerkkanäle, optische Fasern, Luft, elektromagnetisch, HF-Strecken usw. ausbreiten kann. Die Codesegmente können über Computernetzwerke, wie zum Beispiel das Internet, ein Intranet usw. heruntergeladen werden. Das maschinenzugängliche Medium kann in einem hergestellten Artikel realisiert sein. Das maschinenzugängliche Medium kann Daten enthalten, die, wenn eine Maschine auf sie zugreift, bewirken, daß die Maschine die im folgenden beschriebene Funktionsweise durchführt. Der Begriff ”Daten” bedeutet hier eine beliebige Art von Informationen, die für maschinenlesbare Zwecke codiert werden. Er umfaßt deshalb Programm, Code, Daten, Dateien usw.
  • Eine Ausführungsform der Erfindung kann vollständig oder teilweise durch Software implementiert werden. Die Software kann mehrere miteinander gekoppelte Module aufweisen. Ein Softwaremodul wird mit einem anderen Modul gekoppelt, um Variablen, Parameter, Argumente, Zeiger usw. zu empfangen und/oder um Ergebnisse, aktualisierte Variablen, Zeiger usw. zu erzeugen oder weiterzuleiten. Ein Softwaremodul kann auch ein Softwaretreiber oder eine Schnittstelle zur Wechselwirkung mit dem auf der Plattform ablaufenden Betriebssystem sein. Ein Softwaremodul kann auch ein Hardwaretreiber sein, der einen Hardwarebaustein konfiguriert, einrichtet, initialisiert und Daten zu und von diesem sendet und empfängt.
  • Es wird angemerkt, daß eine Ausführungsform der Erfindung als ein Prozeß beschrieben werden kann, der gewöhnlich als Ablaufplan, Flußdiagramm, Strukturdiagramm oder Blockdiagramm abgebildet wird. Obwohl ein Flußdiagramm die Operationen als sequenziellen Prozeß beschreiben kann, können viele der Operationen parallel oder gleichzeitig durchgeführt werden. Außerdem kann die Reihenfolge der Operationen umgeordnet werden. Ein Prozeß wird beendet, wenn seine Operationen abgeschlossen sind. Ein Prozeß kann einer Methode, einer Funktion, einer Prozedur, einer Subroutine, einem Subprogramm usw. entsprechen. Wenn ein Prozeß einer Funktion entspricht, entspricht seine Beendigung einer Rückkehr zu der Funktion der aufrufenden Funktion oder der Hauptfunktion.
  • 1 ist ein Diagramm eines Systems 100, in dem eine Ausführungsform der Erfindung ausgeübt werden kann. Das System 100 enthält einen Host-Prozessor 110, einen Host-Bus 120, einen Speichersteuerverteiler (MCH) 130, einen Graphikprozessor 135, einen Anzeigemonitor 137, einen Systemspeicher 140, einen Eingangs-/Ausgangssteuerverteiler (ICH) 150, einen Peripheriebus 155, ein Massenspeichergerät 170, einen Umgebungssensor 160 und Eingangs/Ausgangsgeräte 1801 bis 180K . Man beachte, daß das System 100 mehr oder weniger Elemente als diese Elemente enthalten kann.
  • Der Host-Prozessor 110 repräsentiert eine Zentralverarbeitungseinheit einer beliebigen Art von Architektur, wie zum Beispiel eingebettete Prozessoren, mobile Prozessoren, Mikrosteuerungen, digitale Signalprozessoren, Superscalar-Computer, Vektorprozessoren, SIMD-Computer (Single Instruction Multiple Data), Computer mit komplexem Anweisungssatz (CISC), Computer mit reduziertem Anweisungssatz (RISC) oder Architekturen mit sehr langen Anweisungswörtern (VLIW) oder hybride Architekturen.
  • Der Host-Bus 120 liefert Schnittstellensignale, um dem Prozessor 110 eine Kommunikation mit anderen Prozessoren oder Vorrichtungen, z. B. dem MCH 130, zu ermöglichen. Der Host-Bus 120 kann eine Einprozessor- oder eine Mehrprozessorkonfiguration unterstützen. Der Host-Bus 120 kann ein paralleler, ein sequenzieller, ein Pipeline-, ein asynchroner oder ein synchroner Bus sein oder eine beliebige Kombination davon.
  • Der MCH 130 ermöglicht Steuerung und Konfiguration von Speicher und Eingangs-/Ausgangsgeräten, wie zum Beispiel des Systemspeichers 140 und des ICH 150. Der MCH 130 kann in einem Chipsatz integriert werden, der mehrere Funktionalitäten integriert, wie zum Beispiel den isolierten Ausführungsmodus, Busschnittstelle von Host zu Peripheriegerät, Speichersteuerung. Der MCH 130 ist an den Peripheriebus 155 angeschaltet. Der Klarheit halber sind nicht alle Peripheriebusse gezeigt. Es wird in Betracht gezogen, daß das System auch Peripheriebusse wie etwa Busse des Typs PCI (Peripheral Component Interconnect), AGP (Accelerated Graphics Port), ISA (Industry Standard Architecture) und USB (Universal Serial Bus) usw. enthalten kann.
  • Der Graphikprozessor 135 ist ein beliebiger Prozessor, der Graphikfunktionalitäten bereitstellt. Der Graphikprozessor 135 kann auch in den MCH 130 integriert werden, um einen Graphik- und Speichersteuerungsverteiler (GMCH – Graphics and Memory Controller Hub) zu bilden. Der Graphikprozessor 135 kann eine Graphikkarte sein, wie zum Beispiel die AGP-Karte (Graphics Performance Accelerator), die über einen Graphikport, wie zum Beispiel die AGP-Steuerung (Accelerated Graphics Port) an den MCH 130 angeschaltet wird. Der Graphikprozessor 135 liefert eine Schnittstelle zu dem Anzeigemonitor 137, wie zum Beispiel einem Standard-Zeilenabtastmonitor, eine Fernsehausgangseinrichtung (TV-Out) und eine TMDS-Steuerung (Transition Minimized Differential Signaling). Der Anzeigemonitor 137 kann eine beliebige Art von Anzeigegerät sein, wie zum Beispiel ein Monitor mit Kathodenstrahlröhre (CRT), ein Fernseher, eine Flüssigkristallanzeige (LCD), eine Flachtafel und eine digitale CRT.
  • Der Systemspeicher 140 speichert Systemcode und Daten. Der Systemspeicher 140 wird in der Regel mit dynamischem Direktzugriffsspeicher (DRAM) oder statischem Direktzugriffsspeicher (SRAM) implementiert. Der Systemspeicher kann Programmcode oder Codesegmente enthalten, die eine Ausführungsform der Erfindung implementierten. Der Systemspei cher enthält ein Betriebssystem (OS) mit Energiesparmanagement 145, wozu separate Elemente und eine Begrenzungsschnittstelle 147 gehören können. Beliebige der Elemente der Begrenzungsschnittstelle 147 können durch Hardware, Software, Firmware, Mikrocode oder eine beliebige Kombination davon implementiert werden. Der Systemspeicher 140 kann außerdem andere Programme oder Daten enthalten, die nicht gezeigt sind, wie zum Beispiel ein Betriebssystem.
  • Der ICH 150 besitzt eine Anzahl von Funktionalitäten, die dafür ausgelegt sind, E/A-Funktionen zu unterstützen. Der ICH 150 kann auch zusammen oder getrennt von dem MCH 130 in einem Chipsatz integriert werden, um E/A-Funktionen auszuführen. Der ICH 150 kann eine Anzahl von Schnittstellen- und E/A-Funktionen umfassen, wie zum Beispiel eine PCI-Busschnittstelle zur Anschaltung an den Peripheriebus 155, eine Prozessorschnittstelle, eine Interrupt-Steuerung, eine DMA-Steuerung (Direct Memory Access), Logik für Energiemanagement, einen Timer, einen Systemverwaltungsbus (SMBus), eine USB-Schnittstelle (Universal Serial Bus), eine Massenspeicherungsschnittstelle, eine LPC-Schnittstelle (Low Pin Count) usw.
  • Der Umgebungssensor 160 liefert gemessene Informationen bezüglich der Umgebung der Plattform oder eines lokalen Subsystems. Zu den Umgebungsinformationen kann folgendes gehören: Temperatur, thermischer Zustand, akustische Daten, Audio, Lichtintensität, Feuchtigkeit, Luftdruck, Anzeigebedingungen (z. B. Helligkeit), Stromversorgungsbedingungen (z. B. Batterie, Wechselstrom) und Benutzerbedingungen (z. B. Benutzerpräferenzen).
  • Das Massenspeichergerät 170 speichert Archivinformationen, wie zum Beispiel Code, Programme, Dateien, Daten, Anwendungen und Betriebssysteme. Das Massenspeichergerät 170 kann eine CD-ROM (Compact Disc ROM) 172, eine DVD (Digital Video/Versatile Disc) 173, ein Diskettenlaufwerk 174 und eine Festplatte 176 und beliebige andere magnetische oder optische Speichergeräte umfassen. Das Massenspeichergerät 170 liefert einen Mechanismus zum Lesen von maschinenlesbaren Medien. Die maschinenlesbaren Medien können computerlesbaren Programmcode zur Durchführung der im folgenden beschriebenen Aufgaben enthalten. Diese Aufgaben sind zum Beispiel Empfangen einer Umgebungsbedingung, Erzeugen eines Begrenzungsbefehls, Erfassen der Umgebungsbedingung und Einstellen des ersten Leistungszustands einer Vorrichtung.
  • Die E/A-Vorrichtungen 1801 bis 180K sind zum Beispiel beliebige E/A-Vorrichtungen zur Durchführung von E/A-Funktionen. Beispiele für E/A-Einrichtungen 1801 bis 180K sind etwa eine Steuerung für Eingabegeräte (z. B. eine Tastatur, eine Maus, einen Trackball, ein Zeigegerät), eine Media-Karte (z. B. Audio, Video, Graphik), eine Netzwerkkarte und beliebige andere Peripheriesteuerungen.
  • Das Wesen einer Ausführungsform der Erfindung ist ein Mechanismus auf Systemebene zur Steuerung verschiedener unabhängiger Vorrichtungssubsysteme, die eine lokalisierte Steuerrichtlinie für Leistungszustände der Vorrichtung implementieren, insbesondere wenn die lokale Steuerrichtlinie eine auf Bedarf basierende Steuerrichtlinie ist. Ein Benutzer beeinflußt das System-Energiemanagement durch Eingabe von Präferenzen bezüglich Energie, Leistungsfähigkeit und Software für thermische Richtlinien, die als vom OS angeleitetes Energiemanagement (OSPM – OS-Directed Power Management) bekannt sind. Diese Eingaben umfassen eine Präferenz für Leistungsfähigkeit oder Energieersparnis und vorrangige Umgebungseingaben, die Notwendigkeiten des Betriebs, die durch Umgebungsbedingungen gefordert oder angesagt werden, wie zum Beispiel eine Menge an Umgebungslicht, ein gewünschter Akustikpegel, und thermische Steueranforderungen des Systems einschließen. Der Benutzer kann eine Präferenz für Leistungsfähigkeit oder Energieersparnis auf lineare Weise zwischen zwei Extremen spezifizieren. Die vorrangigen Eingaben können sich spezifisch auf die Steuerung unabhängiger Subsysteme oder einer Gruppe von Vorrichtungen auswirken, während die Gesamtsystem-Energiemanagementrichtlinie intakt gelassen wird.
  • Die Benutzerpräferenz wird durch eine Begrenzungssteuerung gesteuert, die durch die Begrenzungsschnittstelle 147 implementiert wird. Wenn die Begrenzung angewandt wird, wird die lokale Richtlinie darauf beschränkt, eine kleinere Anzahl oder eine höhere Anzahl von Zuständen zu verwenden, und dadurch wird die mögliche Leistungsfähigkeit und Stromaufnahme der Vorrichtung in dem Subsystem entweder begrenzt oder erweitert. Durch Delegieren der Aufgaben des Managements der Energie und/oder der Leistungsfähigkeit zu den einzelnen Vorrichtungen unter einer globalen Anforderung kann große Flexibilität und Effizienz erzielt werden.
  • 2 ist ein Diagramm der in 1 gezeigten Begrenzungsschnittstelle 147 gemäß einer Ausführungsform der Erfindung. Die Begrenzungsschnittstelle 147 enthält einen Plattformtreiber 210 und N Vorrichtungstreiber 2201 bis 220N .
  • Der Plattformtreiber 210 ist ein Treiber, der vom Standpunkt der Plattform aus bezüglich der Leistungs- und/oder Energiezustände der Vorrichtungen oder Prozessoren in dem System betrieben wird. Die Vorrichtungen können eine Anzahl von Leistungszuständen aufweisen, darunter ein höchstes Niveau, ein niedrigstes Niveau und ein automatisches oder auf Bedarf basierendes Niveau. Im allgemeinen entspricht ein Zustand mit hoher Leistungsfähigkeit einem Zustand niedriger Energie. Der Plattformtreiber 210 kann Teil des ACPI OS oder des OSPM-Moduls sein. Der Plattformtreiber 210 enthält eine Überwachungsvorrichtung 212 für die Umgebungsbedingung und einen Befehlsgenerator 214.
  • Die Überwachungsvorrichtung 212 für die Umgebungsbedingung überwacht eine Umgebungsbedingung, die eine Vorrichtung oder einen Prozessor betrifft. Die Vorrichtung kann eine Media-Vorrichtung sein (z. B. Audio, Abbildung), ein Graphikprozessor oder ein Subsystem (z. B. eine Zusatz-Berechnungskarte, eine Videoeditiereinheit). Die Umgebungsbedingung kann eine einzige Vorrichtung, ein Subsystem oder eine Gruppe von Vorrichtungen betreffen. Jede Vorrichtung wird in einem aktuellen Leistungszustand betrieben. Die Überwachungsvorrichtung 212 für die Umgebungsbedingung erfaßt die Umgebungsbedingung durch Verwendung eines Sensors (z. B. des Umgebungssensors 160 in 1) oder einer Eingabe vom Benutzer. Die Umgebungsbedingung kann zum Beispiel eine thermische Bedingung, eine Leistungsfähigkeitsbedingung (z. B. Betriebsfrequenz) eine Audiobedingung (z. B. ein Akustikpegel), eine Anzeigebedingung (z. B. ein Helligkeitspegel), eine Umgebungslichtbedingung oder eine Stromversorgungsbedingung (z. B. Batterie) sein. Die Benutzereingabe kann zum Beispiel eine über das OSPM oder eine beliebige andere Benutzerschnittstelle eingegebene Benutzerpräferenz sein.
  • Der Befehlsgenerator 214 erzeugt einen Begrenzungsbefehl auf der Basis der Umgebungsbedingung, um die Vorrichtung bzw. die Vorrichtungen in dem überwachten Subsystem dazu aufzufordern, den aktuellen Leistungszustand auf einen nächsten Leistungszustand zu verstellen bzw. einzustellen. Die Umgebungsbedingung kann mit einer Schwelle oder einem Schwellenband verglichen werden. Die Schwelle bzw. ein Schwellenband können vom Benutzer oder durch bestimmte Vorgabewerte gemäß einer Energiemanagementrichtlinie bestimmt werden. Wenn die Umgebungsbedingung eine Obergrenze überschreitet, gibt der Befehlsgenerator 214 einen Begrenzungsbefehl aus, um die Vorrichtung aufzufordern, ihren Leistungszustand auf einen niedrigeren Zustand einzustellen. Wenn zum Beispiel die thermi sche Bedingung des lokalen Subsystems eine obere Schwelle übersteigt, wodurch angezeigt wird, daß eine hohe Temperatur erreicht wird, fordert der Begrenzungsbefehl die Vorrichtung bzw. die Vorrichtungen in dem Subsystem auf, ihren Leistungszustand zu begrenzen oder den aktuellen Leistungszustand auf einen niedrigeren Leistungszustand einzustellen, der einem niedrigeren Energiezustand entspricht. Ähnlich gibt der Befehlsgenerator 214, wenn die Umgebungsbedingung eine untere Grenze überschreitet, einen Begrenzungsbefehl aus, um die Vorrichtung bzw. die Vorrichtungen aufzufordern, ihren Leistungszustand auf einen höheren Zustand einzustellen. Die Umgebungsbedingung kann zum Beispiel eine Umfeldbedingung (z. B. thermisch, akustisch), eine Leistungsbedingung (z. B. Betriebsfrequenz, Stromverbrauch) oder eine Benutzereingabe sein.
  • Der Befehlsgenerator 214 sendet den Begrenzungsbefehl zu allen Vorrichtungen in dem überwachten Subsystem rund. Die einzelnen Vorrichtungen stellen dann ihre Leistungszustände gemäß ihren einzelnen Zustandskenngrößen ein.
  • Die Steuerung jeder Vorrichtung wird durch den entsprechenden Vorrichtungstreiber 220k durchgeführt. Der Klarheit halber werden in der folgenden Beschreibung die Indizes weggelassen. Der Vorrichtungstreiber 220 ist ein für die überwachte Vorrichtung spezifischer Treiber. Der Vorrichtungstreiber 220 kann Teil der Begrenzungsschnittstelle 147 (1) sein oder sich lokal in der Vorrichtung befinden. Der Vorrichtungstreiber 220 wird in der Regel in dem System installiert, wenn die Vorrichtung als in dem System vorliegend erkannt wird. Der Vorrichtungstreiber 220 enthält einen Befehlsempfänger 222, eine Zustandseinstellvorrichtung 224 und eine Leistungstabelle 226.
  • Der Befehlsempfänger 222 ist eine Schnittstelle zum Empfangen des durch den Plattformtreiber 210 ausgegebenen oder erzeugten Begrenzungsbefehls. Der Befehlsempfänger 222 kann als ein Register, ein Steuerbit oder eine Steuereingabe implementiert werden. Der Empfang des Begrenzungsbefehls kann als ein Hardware-Interrupt, ein Trap, eine Programmausnahme oder eine Statusabfrage implementiert werden.
  • Die Zustandseinstellvorrichtung 224 übersetzt den Begrenzungsbefehl in eine Begrenzungssteueraktion zum Ändern oder Einstellen des aktuellen Leistungszustands auf einen nächsten Leistungszustand gemäß dem Begrenzungsbefehl. Wenn zum Beispiel der Begrenzungsbefehl die Leistungsgrenze vergrößern soll, stellt die Zustandseinstellvorrichtung 224 den aktuellen Leistungszustand auf einen höheren Leistungszustand ein. Die Leistungstabelle 226 enthält durch die Zustandseinstellvorrichtung 224 in die Vorrichtung zu ladende Einträge oder Steuerparameter, die die Vorrichtung anleiten, ihren Leistungs-/Energiezustand entsprechend einzustellen. Die Leistungstabelle 226 kann einer Prozedur oder einem Algorithmus entsprechen, die bzw. der das Energiemanagement implementiert. Wenn sich die Vorrichtung in dem niedrigsten Leistungszustand befindet und der Begrenzungsbefehl anfordert, den aktuellen Leistungszustand auf einen niedrigeren Zustand einzustellen, kann die Vorrichtung unverändert bleiben. Wenn sich die Vorrichtung in dem höchsten Leistungszustand befindet und der Begrenzungsbefehl anfordert, den aktuellen Leistungszustand auf einen höheren Zustand einzustellen, kann die Vorrichtung in ähnlicher Weise unverändert bleiben.
  • 3 ist ein Flußdiagramm eines Prozesses 300 zur Begrenzung der Leistungsfähigkeit durch den Plattformtreiber gemäß einer Ausführungsform der Erfindung.
  • Nach START überwacht der Prozeß 300 die Umgebungsbedingung über Sensor oder Benutzereingabe (Block 310). Dazu kann das Empfangen von Informationen über folgendes gehören: eine thermische Bedingung, eine Leistungsbedingung, eine Audiobedingung, eine Anzeigebedingung, eine Stromversorgungsbedingung, eine Benutzerpräferenz oder -eingabe oder eine beliebige Kombination davon. Als nächstes führt der Prozeß 300 eine entsprechende Zeitverzögerung ein, um eine Stabilisierung des Überwachungsbereichs zu ermöglichen (Block 320). Danach bestimmt der Prozeß 300, ob die Umgebungsbedingung eine Obergrenze übersteigt (Block 330). Die Obergrenze kann durch Benutzerpräferenz oder durch Vorgabewert gesetzt werden. Wenn dies der Fall ist, erzeugt der Prozessor 300 einen Begrenzungsbefehl für die Vorrichtungen, um die Vorrichtungen aufzufordern, zu einer Untergrenze überzugehen (Block 340). In der Regel können dabei die Vorrichtungen aufgefordert werden, ihren aktuellen Leistungszustand auf einen niedrigeren Leistungszustand zu ändern oder einzustellen oder gleich zu bleiben, wenn ihre unterste Grenze erreicht wurde. Dann geht der Prozeß 300 zum Block 370 über. Wenn die Umgebungsbedingung die Obergrenze nicht übersteigt, bestimmt der Prozeß 300, ob die Umgebungsbedingung jenseits einer Untergrenze liegt (Block 350). Die Untergrenze kann durch Benutzerpräferenz oder durch Vorgabewert gesetzt werden. Wenn dies der Fall ist, erzeugt der Prozeß 300 einen Begrenzungsbefehl für die Vorrichtungen, um die Vorrichtungen aufzufordern, zu einer höheren Grenze überzugehen (Block 360). In der Regel können dabei die Vorrichtungen aufgefordert werden, ihren aktuellen Leistungszustand auf einen höheren Leistungszustand zu ändern oder einzustellen, oder gleich zu bleiben, wenn ihre höchste Grenze erreicht wurde. Dann geht der Prozeß 300 zum Block 370 über. Wenn die Umgebungsbedingung weder jenseits der Obergrenze noch jenseits der Untergrenze liegt, schreitet der Prozeß 300 zum Block 370 voran.
  • Im Block 370 bestimmt der Prozeß 300, ob es notwendig ist, die Überwachung fortzusetzen. Wenn dies der Fall ist, erzeugt der Prozeß 300 eine Verzögerung, damit die Reaktion der Vorrichtung wirksam werden kann (Block 380). Diese Verzögerung kann gemäß der Beschaffenheit der Umgebungsbedingung bestimmt werden. Zum Beispiel kann eine thermische Bedingung länger als eine Benutzerpräferenz dauern. Dann kehrt der Prozessor 300 zum Block 310 zurück. Andernfalls wird der Prozeß 300 beendet.
  • 4 ist ein Flußdiagramm eines Prozesses 400 zur Begrenzung der Leistungsfähigkeit durch einen Vorrichtungstreiber gemäß einer weiteren Ausführungsform der Erfindung.
  • Nach START empfängt der Prozeß 400 einen Begrenzungsbefehl von dem Plattformtreiber (Block 410). Dies läßt sich durch Speichern des Begrenzungsbefehls in einem Register oder durch Reagieren auf einen Interrupt oder ein Trap erreichen. Dann bestimmt der Prozeß 400, ob der Begrenzungsbefehl eine niedrigere Grenze oder einen niedrigeren Leistungszustand anfordert (Block 420). Wenn dies der Fall ist, bestimmt der Prozeß 400, ob sich die Vorrichtung bereits an der untersten Grenze befindet (Block 430). Wenn dies der Fall ist, wird der Prozeß 400 beendet. Andernfalls übersetzt der Prozeß 400 den Begrenzungsbefehl in eine Begrenzungssteueraktion zum Herabsetzen der Vorrichtungsgrenze gemäß ihrer spezifischen Managementrichtlinie (Block 440). Zu der Steueraktion können dann die spezifischen Operationen der Vorrichtung zum Herabsetzen des Vorrichtungsleistungszustands gemäß der unteren Grenze gehören. Zum Beispiel können die Steueroperationen einen Zeiger zu einer Parametertabelle setzen, die die Steuerparameter enthält, die einem niedrigeren Leistungszustand entsprechen. Dann geht der Prozeß 400 zum Block 480 über. Wenn der Begrenzungsbefehl keine niedrigere Grenze anfordert, bestimmt der Prozeß 400, ob er eine höhere Grenze anfordert (Block 450). Wenn nicht, wird der Prozeß 400 beendet. Andernfalls bestimmt der Prozeß 400, ob sich die Vorrichtung bereits an der höchsten Grenze befindet (Block 460). Wenn dies der Fall ist, wird der Prozeß 400 beendet. Andernfalls übersetzt der Prozeß 400 den Begrenzungsbefehl in eine Begrenzungssteueraktion zum Übergehen zu einer höheren Grenze (Block 470). Die Steueraktion für eine höhere Grenze kann spezifische Operationen der Vorrichtung zum Erhöhen des Vorrichtungsleistungszustands gemäß der höheren Grenze umfassen, wie zum Beispiel das Setzen eines Zeigers auf Steuerparameter entsprechend einem höheren Leistungszustand. Dann geht der Prozeß 400 zum Block 480 über.
  • Im Block 480 lädt der Prozeß 400 die Steuerparameter in die Vorrichtung, um die Steuerfunktion zum Erniedrigen oder Erhöhen des Leistungszustands entsprechend zu aktivieren (Block 480). Die Steuerparameter können aus einer Leistungstabelle abgerufen oder von einer Prozedur abgeleitet werden. Die Steuerparameter können direkt in ein Register in der Vorrichtung oder in eine Energiemanagement-Schnittstellendatenstruktur geladen werden. Dadurch wird der aktuelle Leistungszustand auf einen nächsten Leistungszustand geändert oder eingestellt. Der Prozeß 400 wird dann beendet.

Claims (22)

  1. Schnittstelle, die Folgendes umfasst: – einen Plattformtreiber, der ein Monitor für eine Umgebungsbedingung aufweist, um eine Umgebungsbedingung in Bezug auf eine Vorrichtung in einer Mehrzahl von Vorrichtungen, die jeweils in einem aktuellen Leistungszustand arbeiten, zu überwachen, und einen Befehlsgenerator, um einen Begrenzungsbefehl auf der Basis der Umgebungsbedingung für die Vorrichtungen zu erzeugen, und – mehrere Vorrichtungstreiber zur Steuerung der mehreren Vorrichtungen, wobei jeder der Vorrichtungstreiber einen Zustandseinsteller aufweist, um den Begrenzungsbefehl in eine Begrenzungssteueraktion zu übersetzen, um den aktuellen Leistungszustand auf einen nächsten Leistungszustand entsprechend einer Vorrichtungszustandskenngröße einzustellen, wobei jeder Vorrichtungstreiber eine Leistungstabelle umfasst, welche in eine entsprechende Vorrichtung zu ladende Steuerparameter enthält, um dem Zustandseinsteller zu ermöglichen, die entsprechende Vorrichtung anzuleiten, den aktuellen Leistungszustand einzustellen.
  2. Schnittstelle nach Anspruch 1, bei welcher der Monitor für die Umgebungsbedingung die Umgebungsbedingung unter Verwendung eines Sensors oder eines Eingabegeräts erfasst.
  3. Schnittstelle nach Anspruch 1, bei welcher die Umgebungsbedingung eine von den Folgenden ist: eine thermische Bedingung, eine Leistungsbedingung, eine Audiobedingung, eine Anzeigebedingung, eine Stromversorgungsbedingung und eine Benutzerpräferenz.
  4. Schnittstelle nach Anspruch 1, bei welcher die Vorrichtungszustandskenngröße ein Leistungszustand oder ein Stromversorgungszustand ist.
  5. Schnittstelle nach Anspruch 1, bei welcher die Leistungstabelle einer Prozedur entspricht, die das Energiemanagement implementiert.
  6. Ein Verfahren umfassend: Überwachen einer Umgebungsbedienung in Bezug auf eine Vorrichtung aus einer Vielzahl von Vorrichtungen, wobei jede in einem aktuellen Leistungszustand arbeitet; Erzeugen eines Begrenzungsbefehls auf der Basis der Umgebungsbedienung zu den Vorrichtungen; und Überwachen der Vielzahl von Vorrichtungen, das Folgendes umfasst: Übersetzen des Begrenzungsbefehl in eine Begrenzungssteueraktion, um den aktuellen Leistungszustand auf einem nächsten Leistungszustand gemäß einer Vorrichtungszustandskenngröße einzustellen, und Laden einer Leistungstabelle, die Steuerparameter beinhaltet, in eine entsprechende Vorrichtung, um zu ermöglichen, dass die entsprechende Vorrichtung angeleitet wird, den aktuellen Leistungszustand einzustellen.
  7. Verfahren nach Anspruch 6, wobei das Überwachen der Umgebungsbedingung beinhaltet: Erfassen der Umgebungsbedingung unter Verwendung eines Sensors oder eines Eingabegeräts.
  8. Verfahren nach Anspruch 7, wobei das Erfassen der Umgebungsbedingung Folgendes umfasst: Empfangen von Information bezüglich mindestens einer thermischen Bedingung, einer Leistungsbedingung, einer Audiobedingung, einer Anzeigebedingung, einer Stromversorgungsbedingung und einer Benutzerpräferenz.
  9. Verfahren nach Anspruch 6, wobei die Vorrichtungszustandskenngröße ein Leistungszustand oder ein Stromversorgungszustand ist.
  10. Verfahren nach Anspruch 6, wobei die Leistungstabelle einer Prozedur entspricht, die ein Energiemanagement implementiert.
  11. Hergestellter Artikel, umfassend: Ein Medium, auf welches von einer Maschine zugegriffen werden kann und das Daten enthält, die, wenn durch eine Maschine auf sie zugegriffen wird, bewirken, dass die Maschine das Verfahren nach einer der Ansprüche 6–10 durchführt.
  12. Vorrichtungstreiber, umfassend: einen Befehlsempfänger zum Empfangen eines Begrenzungsbefehls von einem Plattformtreiber zu einer Vorrichtung, die in einem aktuellen Leistungszustand arbeitet, wobei der Begrenzungsbefehl auf einer Umgebungsbedingung basiert; ein Zustandseinsteller gekoppelt mit dem Befehlsempfänger, um den Begrenzungsbefehl in eine Begrenzungssteueraktion zu übersetzen, um den aktuellen Leistungszustand entsprechend einer Vorrichtungszustandskenngröße auf einen nächsten Leistungszustand einzustellen; eine Leistungstabelle gekoppelt mit dem Zustandseinsteller, die Steuerparameter enthält, um dem Zustandseinsteller zu ermöglichen, die Vorrichtung anzuleiten, den aktuellen Leistungszustand einzustellen.
  13. Vorrichtungstreiber nach Anspruch 12, wobei der Befehlsempfänger ein von den Folgenden ist: ein Register, ein Steuerbit, eine Steuereingabe, ein Hardware-Interrupt, ein Trap, eine Programmausnahme und eine Statusabfrage.
  14. Vorrichtungstreiber nach Anspruch 12, wobei die Umgebungsbedingung eine von den Folgenden ist: eine thermische Bedingung, eine Leistungsbedingung, eine Audiobedingung, eine Anzeigebedingung, eine Stromversorgungsbedingung und eine Benutzerpräferenz.
  15. Vorrichtungstreiber nach Anspruch 12 wobei die Vorrichtungszustandskenngröße ein Leistungszustand oder Stromversorgungszustand ist.
  16. Vorrichtungstreiber nach Anspruch 12, worin die Leistungstabelle einer Prozedur entspricht, die das Energiemanagement implementiert.
  17. Verfahren, das Folgendes umfasst: Empfangen eines Begrenzungsbefehls von einem Plattformtreiber für eine Vorrichtung, die in einem aktuellen Leistungszustand arbeitet, wobei der Begrenzungsbefehl auf einer Umgebungsbedingung basiert; Übersetzen des Begrenzungsbefehl in eine Begrenzungssteueraktion, um den aktuellen Leistungszustand auf einem nächsten Leistungszustand gemäß eines Vorrichtungszustandskenngröße einzustellen; und Laden einer Leistungstabelle, die Steuerparameter beinhaltet, um es zu ermöglichen, die Vorrichtung anzuleiten, den aktuellen Leistungszustand einzustellen.
  18. Verfahren nach Anspruch 17, wobei das Empfangen des Begrenzungsbefehls Folgendes beinhaltet: Empfangen des Begrenzungsbefehls über ein Register, ein Steuerbit, eine Steuereingabe, ein Hardware-Interrupt, ein Trap, eine Programmausnahme oder eine Statusabfrage.
  19. Verfahren nach Anspruch 17, wobei die Umgebungsbedingung eine von den Folgenden ist: eine thermische Bedingung, eine Leistungsbedingung, eine Audiobedingung, eine Anzeigebedingung, eine Stromversorgungsbedingung und eine Benutzerpräferenz.
  20. Verfahren nach Anspruch 17, wobei die Vorrichtungszustandskenngröße ein Leistungszustand oder ein Stromversorgungszustand ist.
  21. Verfahren nach Anspruch 11, wobei das Laden der Leistungstabelle das Laden einer Prozedur, die das Energiemanagement implementiert, umfasst.
  22. Hergestellter Artikel, umfassend: ein Medium, auf welches von einer Maschine zugegriffen werden kann und das Daten enthält, die, wenn durch eine Maschine auf sie zugegriffen wird, bewirken, dass die Maschine das Verfahren nach einem der Ansprüche 17 bis 21 durchführt.
DE10393396T 2002-09-30 2003-09-19 Schnittstelle und Vorrichtungstreiber zum lokalen Leistungsmanagement sowie Verfahren und Software zu deren Steuerung Expired - Fee Related DE10393396B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/261,310 2002-09-30
US10/261,310 US7089459B2 (en) 2002-09-30 2002-09-30 Limit interface for performance management
PCT/US2003/029501 WO2004031924A2 (en) 2002-09-30 2003-09-19 Limit interface for performance management

Publications (2)

Publication Number Publication Date
DE10393396T5 DE10393396T5 (de) 2005-09-01
DE10393396B4 true DE10393396B4 (de) 2010-04-22

Family

ID=32029948

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10393396T Expired - Fee Related DE10393396B4 (de) 2002-09-30 2003-09-19 Schnittstelle und Vorrichtungstreiber zum lokalen Leistungsmanagement sowie Verfahren und Software zu deren Steuerung

Country Status (8)

Country Link
US (1) US7089459B2 (de)
KR (1) KR100681976B1 (de)
CN (1) CN1497444A (de)
AU (1) AU2003272565A1 (de)
DE (1) DE10393396B4 (de)
GB (1) GB2408820B (de)
TW (1) TWI244043B (de)
WO (1) WO2004031924A2 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7254750B1 (en) * 2004-03-30 2007-08-07 Unisys Corporation Health trend analysis method on utilization of network resources
WO2006030368A2 (en) * 2004-09-17 2006-03-23 Koninklijke Philips Electronics N.V. Updating prioritizing related to data retention using volatile memories
US7624349B2 (en) * 2006-03-21 2009-11-24 Microsoft Corporation Declarative definition enabling graphical designer reuse
US7747881B2 (en) * 2006-08-14 2010-06-29 Globalfoundries Inc. System and method for limiting processor performance
US7895421B2 (en) * 2007-07-12 2011-02-22 Globalfoundries Inc. Mechanism for using performance counters to identify reasons and delay times for instructions that are stalled during retirement
EP2245518A4 (de) * 2008-02-15 2013-04-17 Hewlett Packard Development Co Änderung von leistungszuständen von datenhandhabungseinrichtungen zur erfüllung eines redundanzkriteriums
GB0816033D0 (en) * 2008-09-03 2008-10-08 Goodrich Control Sys Ltd Electrical equipment device
US8458498B2 (en) * 2008-12-23 2013-06-04 Intel Corporation Method and apparatus of power management of processor
CN101576829B (zh) * 2009-06-12 2011-08-24 宋志飞 嵌入式Linux系统中应用进程的托管方法及系统
US8826048B2 (en) * 2009-09-01 2014-09-02 Nvidia Corporation Regulating power within a shared budget
US8700925B2 (en) * 2009-09-01 2014-04-15 Nvidia Corporation Regulating power using a fuzzy logic control system
TWI582572B (zh) 2009-12-17 2017-05-11 東芝股份有限公司 半導體系統、半導體裝置及電子裝置初始化方法
US8595522B2 (en) 2010-09-30 2013-11-26 Intel Corporation Monitoring transaction requests using a policy engine within a storage drive driver to change power capability and latency settings for a storage drive
US9372524B2 (en) * 2011-12-15 2016-06-21 Intel Corporation Dynamically modifying a power/performance tradeoff based on processor utilization
CN104063034B (zh) * 2013-03-22 2017-06-16 技嘉科技股份有限公司 计算机装置及其显卡效能优化方法
TWI602147B (zh) * 2013-03-22 2017-10-11 技嘉科技股份有限公司 電腦裝置及其顯示卡效能優化方法
US10775876B2 (en) * 2017-12-29 2020-09-15 Advanced Micro Devices, Inc. Method and apparatus for controlling power consumption of an integrated circuit
US20240241560A1 (en) * 2023-01-16 2024-07-18 Toshiba Global Commerce Solutions, Inc. Power Control in a Computing Device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5560022A (en) * 1994-07-19 1996-09-24 Intel Corporation Power management coordinator system and interface
WO2002025414A2 (en) * 2000-09-21 2002-03-28 Stratus Technologies International, S.A.R.L. Methods and apparatus for clock management based on environmental conditions

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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
JPH05297993A (ja) * 1992-04-16 1993-11-12 Dia Semikon Syst Kk マイクロプロセッサの駆動制御装置
US5278404A (en) * 1992-07-20 1994-01-11 At&T Bell Laboratories Optical sub-system utilizing an embedded micro-controller
FR2715744B1 (fr) * 1994-01-31 1996-04-12 Bruno Eynaud Procédé et dispositif destiné à réduire le niveau sonore d'un micro-ordinateur.
US5500940A (en) * 1994-04-25 1996-03-19 Hewlett-Packard Company Method for evaluating failure in an electronic data storage system and preemptive notification thereof, and system with component failure evaluation
US5590061A (en) * 1994-05-12 1996-12-31 Apple Computer, Inc. Method and apparatus for thermal management in a computer system
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
US5513361A (en) * 1994-07-25 1996-04-30 Intel Corporation Method and apparatus for reducing power consumption of a fan in a computer system
US5752050A (en) * 1994-10-04 1998-05-12 Intel Corporation Method and apparatus for managing power consumption of external devices for personal computers using a power management coordinator
US5734585A (en) * 1994-11-07 1998-03-31 Norand Corporation Method and apparatus for sequencing power delivery in mixed supply computer systems
US5997167A (en) * 1997-05-01 1999-12-07 Control Technology Corporation Programmable controller including diagnostic and simulation facilities
US6189109B1 (en) * 1997-05-13 2001-02-13 Micron Electronics, Inc. Method of remote access and control of environmental conditions
US6112164A (en) * 1998-03-31 2000-08-29 Compaq Computer Corporation Computer system thermal management
US6148418A (en) * 1998-06-22 2000-11-14 Holtek Semiconductor Inc. Computer environment monitor device
JP3297389B2 (ja) * 1998-12-07 2002-07-02 インターナショナル・ビジネス・マシーンズ・コーポレーション 消費電力制御方法および電気機器
US6480809B1 (en) * 1999-09-23 2002-11-12 Intel Corporation Computer system monitoring
DE10141626B4 (de) * 2000-09-06 2007-08-09 International Business Machines Corp. Dynamische Angleichung von Leistungsvermögen und Strombedarf
KR100370368B1 (ko) * 2001-01-31 2003-02-05 삼성전자 주식회사 내부 온도가 기준 온도를 초과할 때 슬립 모드로 진입하는 에이씨피아이를 채용한 컴퓨터 시스템 및 그 방법
US20020138159A1 (en) * 2001-03-26 2002-09-26 Atkinson Lee W. Temperature responsive power supply to minimize power consumption of digital logic without reducing system performance
US6934864B2 (en) * 2002-01-11 2005-08-23 International Business Machines Corporation System and method for co-operative thermal management of electronic devices within a common housing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5560022A (en) * 1994-07-19 1996-09-24 Intel Corporation Power management coordinator system and interface
WO2002025414A2 (en) * 2000-09-21 2002-03-28 Stratus Technologies International, S.A.R.L. Methods and apparatus for clock management based on environmental conditions

Also Published As

Publication number Publication date
TW200416606A (en) 2004-09-01
KR20050048639A (ko) 2005-05-24
KR100681976B1 (ko) 2007-02-15
CN1497444A (zh) 2004-05-19
DE10393396T5 (de) 2005-09-01
WO2004031924A3 (en) 2004-12-02
GB2408820A (en) 2005-06-08
US7089459B2 (en) 2006-08-08
AU2003272565A8 (en) 2004-04-23
WO2004031924A2 (en) 2004-04-15
GB0503221D0 (en) 2005-03-23
GB2408820B (en) 2006-08-23
AU2003272565A1 (en) 2004-04-23
US20040064755A1 (en) 2004-04-01
TWI244043B (en) 2005-11-21

Similar Documents

Publication Publication Date Title
DE10393396B4 (de) Schnittstelle und Vorrichtungstreiber zum lokalen Leistungsmanagement sowie Verfahren und Software zu deren Steuerung
DE112005001801B4 (de) Verfahren und Vorrichtung zum dynamischen DLL-Herunterfahren und Speicher-Selbstauffrischen
DE69907512T2 (de) Gerät und verfahren zur automatischen frequenzregelung einer zentralen verarbeitungseinheit
DE69802836T2 (de) Anwendungsprogramierungsschnittstelle zum ermöglichen der zuordnung eines physikalischen speichers in einem virtuellen speicher zur steuerung von anwendungsprogrammen
DE19882704C2 (de) Verfahren und Einrichtung für ein Stromversorgungsmanagement
DE19728726B4 (de) Robotercontroller und dessen Steuerverfahren
DE69517712T2 (de) Verfahren und Vorrichtung zur Reduzierung der Leistungsaufnahme in einem Rechnersystem
DE69524873T2 (de) Dynamische prozessorleistung und leitstungsverwaltung in einem rechnersystem
DE60031404T2 (de) Verfahren und vorrichtung zur dynamischen änderung der grössen von pools, die die leistungsaufnahme von speichern steuern
DE69224007T2 (de) Wiederherstellungsprozessfunktion für das OS/2-Betriebssystem
DE60009218T2 (de) Verwaltung der Energieaufnahme für ein Multimediasystem in einem Kraftfahrzeug
DE112012002664B4 (de) Erhöhen der Energieeffizienz des Turbo-Modus-Betriebs in einem Prozessor
DE69623222T2 (de) Ereignisverwaltungssystem
DE69327794T2 (de) Verfahren zur autonomen reduktion des leistungsverbrauchs in einem rechensystem
DE102010045743B4 (de) Verfahren und Vorrichtung, um Turboleistung für das Event-Handling zu verbessern
DE102007006190B4 (de) Techniken zur Verwendung von Speicher-Attributen
DE102008016181A1 (de) Prioritätsbasiertes Drosseln für Leistungsaufnahme-Verarbeitungsleistung-Dienstgüte
DE10393969T5 (de) Mechanismus zur Verteilung von Unterbrechungen niedrigster Priorität unter Berücksichtigung des Prozessorleistungszustands
DE112006001135B4 (de) Adaptive temperaturbasierte Steuerung der Frequenzschranken
DE112008004030B4 (de) Leistungsverwaltung in einem System mit einem Prozessor und einem Spannungswandler, der eine Leistungsspannung zu dem Prozessor liefert
DE102014001914B4 (de) Dynamische Steuerung einer maximalen Betriebsspannung für einen Prozessor
DE112007001922B4 (de) System und Verfahren zur Begrenzung der Prozessorleistung
DE102008064866B3 (de) Elektronische Steuerungsvorrichtung und Verfahren zur elektronischen Steuerung und zur Betätigung einer elektronischen Steuerungsvorrichtung
DE112013005278T5 (de) Dynamisches Abgleichen von Leistung über eine Mehrzahl von Prozessordomänen gemäß Leistungsabgleichsteuerungs-BIAS
DE102006048115A1 (de) System und Verfahren zum Aufzeichnen von behebbaren Fehlern

Legal Events

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

Ref document number: 10393396

Country of ref document: DE

Date of ref document: 20050901

Kind code of ref document: P

8125 Change of the main classification

Ipc: G06F 132

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