DE10393396T5 - Begrenzungsschnittstelle zum Leistungsmanagement - Google Patents

Begrenzungsschnittstelle zum Leistungsmanagement Download PDF

Info

Publication number
DE10393396T5
DE10393396T5 DE10393396T DE10393396T DE10393396T5 DE 10393396 T5 DE10393396 T5 DE 10393396T5 DE 10393396 T DE10393396 T DE 10393396T DE 10393396 T DE10393396 T DE 10393396T DE 10393396 T5 DE10393396 T5 DE 10393396T5
Authority
DE
Germany
Prior art keywords
power state
condition
causes
machine
limit 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.)
Granted
Application number
DE10393396T
Other languages
English (en)
Other versions
DE10393396B4 (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/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1632External expansion units, e.g. docking stations
    • 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
    • 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

Abstract

Verfahren mit den folgenden Schritten:
Überwachen einer Umgebungsbedingung in Bezug auf eine erste Vorrichtung, wobei die erste Vorrichtung in einem ersten Leistungszustand arbeitet; und
Erzeugen eines Begrenzungsbefehls auf der Basis der Umgebungsbedingung, der die erste Vorrichtung auffordert, den ersten Leistungszustand auf einen zweiten 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 unterschiedliche Leistungskenngrößen aufweisen. Drittens erzeugt das Modell die Last, verschiedene Vorrichtungstreiber bereitzustellen.
  • 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 180 l bis 180 k. 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 180l bis 180K sind zum Beispiel beliebige E/A-Vorrichtungen zur Durchführung von E/A-Funktionen. Beispiele für E/A-Einrichtungen 180l 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 220l 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 220 k 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.
  • Obwohl die Erfindung im Hinblick auf verschiedene Ausführungsformen beschrieben wurde, ist für Durchschnittsfachleute erkennbar, daß die Erfindung nicht auf die beschriebenen Ausführungsformen beschränkt ist, sondern mit Modifikationen und Abänderungen innerhalb des Gedankens und Umfangs der beigefügten Ansprüche ausgeübt werden kann. Die Beschreibung soll also nicht als einschränkend, sondern als veranschaulichend betrachtet werden.
  • Zusammenfassung
  • In einer Ausführungsform der Erfindung wird eine eine erste Vorrichtung betreffende Umgebungsbedingung überwacht. 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.

Claims (30)

  1. Verfahren mit den folgenden Schritten: Überwachen einer Umgebungsbedingung in Bezug auf eine erste Vorrichtung, wobei die erste Vorrichtung in einem ersten Leistungszustand arbeitet; und Erzeugen eines Begrenzungsbefehls auf der Basis der Umgebungsbedingung, der die erste Vorrichtung auffordert, den ersten Leistungszustand auf einen zweiten Leistungszustand einzustellen.
  2. Verfahren nach Anspruch 1, wobei das Überwachen der Umgebungsbedingung folgendes umfaßt: Überwachen der Umgebungsbedingung einer Gruppe von Vorrichtungen, wobei jede der Vorrichtungen mehrere Leistungszustände aufweist, darunter einen aktuellen Leistungszustand und einen nächsten Leistungszustand, wobei jede der Vorrichtungen in dem aktuellen Leistungszustand arbeitet.
  3. Verfahren nach Anspruch 1, wobei das Überwachen der Umgebungsbedingung folgendes umfaßt: Erfassen der Umgebungsbedingung unter Verwendung eines Sensors oder eines Eingabegeräts.
  4. Verfahren nach Anspruch 2, wobei das Erzeugen des Begrenzungsbefehls folgendes umfaßt: Erzeugen des Begrenzungsbefehls, der jede der Vorrichtungen auffordert, den aktuellen Leistungszustand auf den nächsten Leistungszustand einzustellen.
  5. Verfahren nach Anspruch 3, wobei das Erfassen der Umgebungsbedingung folgendes umfaßt: Empfangen von Informationen bezüglich einer thermischen Bedingung, einer Leistungsbedingung, einer Audiobedingung, einer Anzeigebedingung, einer Stromversorgungsbedingung und/oder einer Benutzerpräferenz.
  6. Verfahren mit den folgenden Schritten: Empfangen eines Begrenzungsbefehls für eine in einem ersten Leistungszustand arbeitende Vorrichtung auf der Basis einer Umgebungsbedingung; und Einstellen des ersten Leistungszustands der Vorrichtung auf einen zweiten Leistungszustand gemäß dem Begrenzungsbefehl.
  7. Verfahren nach Anspruch 6, wobei das Empfangen des Begrenzungsbefehls folgendes umfaßt: Empfangen des Begrenzungsbefehls auf der Basis einer thermischen Bedingung, einer Leistungsbedingung, einer Audiobedingung, einer Anzeigebedingung, einer Stromversorgungsbedingung und/oder einer Benutzerpräferenz.
  8. Verfahren nach Anspruch 6, wobei das Einstellen des ersten Leistungszustands folgendes umfaßt: Einstellen des ersten Leistungszustands auf den zweiten Leistungszustand, wobei der zweite Leistungszustand einem niedrigeren Energiezustand oder einem höheren Energiezustand entspricht.
  9. Verfahren nach Anspruch 8, wobei das Einstellen des ersten Leistungszustands folgendes umfaßt: Laden von Steuerparametern in die erste Vorrichtung, wobei die Steuerparameter die Leistung der Vorrichtung steuern.
  10. Verfahren nach Anspruch 6, wobei das Einstellen des ersten Leistungszustands folgendes umfaßt: Einstellen des ersten Leistungszustands auf ein höchstes Niveau, ein niedrigstes Niveau oder ein auf Bedarf basierendes Niveau.
  11. Hergestellter Artikel, umfassend: ein Medium, auf das von einer Maschine zugegriffen werden kann und das Daten enthält, die, wenn durch eine Maschine auf sie zugegriffen wird, bewirken, daß die Maschine Operationen ausführt, die folgendes umfassen: Überwachen einer Umgebungsbedingung in bezug auf eine erste Vorrichtung, wobei die erste Vorrichtung in einem ersten Leistungszustand arbeitet; und Erzeugen eines Begrenzungsbefehls auf der Basis der Umgebungsbedingung, der die erste Vorrichtung auffordert, den ersten Leistungszustand auf einen zweiten Leistungszustand einzustellen.
  12. Hergestellter Artikel nach Anspruch 11, wobei die Daten, die bewirken, daß die Maschine eine Überwachung durchführt, Daten umfassen, die, wenn durch die Maschine auf sie zugegriffen wird, bewirken, daß die Maschine Operationen durchführt, die folgendes umfassen: Überwachen der Umgebungsbedingung einer Gruppe von Vorrichtungen, wobei jede der Vorrichtungen mehrere Leistungszustände aufweist, darunter einen aktuellen Leistungszustand und einen nächsten Leistungszustand, wobei jede der Vorrichtungen in dem aktuellen Leistungszustand arbeitet.
  13. Hergestellter Artikel nach Anspruch 11, wobei die Daten, die bewirken, daß die Maschine eine Überwachung durchführt, Daten umfassen, die, wenn durch die Maschine auf sie zugegriffen wird, bewirken, daß die Maschine Operationen durchführt, die folgendes umfassen: Erfassen der Umgebungsbedingung unter Verwendung eines Sensors oder eines Eingabegeräts.
  14. Hergestellter Artikel nach Anspruch 12, wobei die Daten, die bewirken, daß die Maschine eine Erzeugung des Begrenzungsbefehls durchführt, Daten umfassen, die, wenn durch die Maschine auf sie zugegriffen wird, bewirken, daß die Maschine Operationen durchführt, die folgendes umfassen: Erzeugen des Begrenzungsbefehls, der jede der Vorrichtungen auffordert, den aktuellen Leistungszustand auf den nächsten Leistungszustand einzustellen.
  15. Hergestellter Artikel nach Anspruch 13, wobei die Daten, die bewirken, daß die Maschine eine Messung der Umgebungsbedingung durchführt, Daten umfassen, die, wenn durch die Maschine auf sie zugegriffen wird, bewirken, daß die Maschine Operationen durchführt, die folgendes umfassen: Empfangen von Informationen bezüglich einer thermischen Bedingung, einer Leistungsbedingung, einer Audiobedingung, einer Anzeigebedingung, einer Stromversorgungsbedingung und/oder einer Benutzerpräferenz.
  16. 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, daß die Maschine Operationen durchführt, die folgendes umfassen: Empfangen eines Begrenzungsbefehls für eine in einem ersten Leistungszustand arbeitende Vorrichtung auf der Basis einer Umgebungsbedingung; und Einstellen des ersten Leistungszustands der Vorrichtung auf einen zweiten Leistungszustand gemäß dem Begrenzungsbefehl.
  17. Hergestellter Artikel nach Anspruch 16, wobei die Daten, die, bewirken, daß die Maschine ein Empfangen des Begrenzungsbefehls durchführt, Daten umfassen, die, wenn durch die Maschine auf sie zugegriffen wird, bewirken, daß die Maschine Operationen durchführt, die folgendes umfassen: Empfangen des Begrenzungsbefehls auf der Basis einer thermischen Bedingung, einer Leistungsbedingung, einer Audiobedingung, einer Anzeigebedingung, einer Stromversorgungsbedingung und/oder einer Benutzerpräferenz.
  18. Hergestellter Artikel nach Anspruch 16, wobei die Daten, die bewirken, daß die Maschine ein Einstellen des ersten Leistungszustands durchführt, Daten umfassen, die, wenn durch die Maschine auf sie zugegriffen wird, bewirken, daß die Maschine Operationen durchführt, die folgendes umfassen: Einstellen des ersten Leistungszustands auf den zweiten Leistungszustand, wobei der zweite Leistungszustand einem niedrigeren Energiezustand oder einem höheren Energiezustand entspricht.
  19. Hergestellter Artikel nach Anspruch 18, wobei die Daten, die bewirken, daß die Maschine ein Einstellen des ersten Leistungszustands durchführt, Daten umfassen, die, wenn durch die Maschine auf sie zugegriffen wird, bewirken, daß die Maschine Operationen durchführt, die folgendes umfassen: Laden von Steuerparametern in die erste Vorrichtung, wobei die Steuerparameter die Leistung der Vorrichtung steuern.
  20. Hergestellter Artikel nach Anspruch 16, wobei die Daten, die bewirken, daß die Maschine ein Einstellen des ersten Leistungszustands durchführt, Daten umfassen, die, wenn durch die Maschine auf sie zugegriffen wird, bewirken, daß die Maschine Operationen durchführt, die folgendes umfassen: Einstellen des ersten Leistungszustands auf ein höchstes Niveau, ein niedrigstes Niveau oder ein auf Bedarf basierendes Niveau.
  21. System, umfassend: einen Prozessor; und einen mit dem Host gekoppelten Speicher zum Speichern einer Begrenzungsschnittstelle, wobei die Begrenzungsschnittstelle, wenn sie ausgeführt wird, bewirkt, daß der Prozessor folgendes ausführt: Überwachen einer Umgebungsbedingung in bezug auf eine erste Vorrichtung, wobei die erste Vorrichtung in einem ersten Leistungszustand arbeitet; und Erzeugen eines Begrenzungsbefehls auf der Basis der Umgebungsbedingung, der die erste Vorrichtung auffordert, den ersten Leistungszustand auf einen zweiten Leistungszustand einzustellen.
  22. System nach Anspruch 21, wobei die Begrenzungsschnittstelle, die bewirkt, daß der Prozessor die Umgebungsbedingung überwacht, bewirkt, daß der Prozessor folgendes ausführt: Überwachen der Umgebungsbedingung einer Gruppe von Vorrichtungen, wobei jede der Vorrichtungen mehrere Leistungszustände aufweist, darunter einen aktuellen Leistungszustand und einen nächsten Leistungszustand, wobei jede der Vorrichtungen in dem aktuellen Leistungszustand arbeitet.
  23. System nach Anspruch 21, wobei die Begrenzungsschnittstelle, die bewirkt, daß der Prozessor die Umgebungsbedingung überwacht, bewirkt, daß der Prozessor folgendes ausführt: Erfassen der Umgebungsbedingung unter Verwendung eines Sensors oder eines Eingabegeräts.
  24. System nach Anspruch 22, wobei die Begrenzungsschnittstelle, die bewirkt, daß der Prozessor den Begrenzungsbefehl erzeugt, bewirkt, daß der Prozessor folgendes ausführt: Erzeugen des Begrenzungsbefehls, der jede der Vorrichtungen auffordert, den aktuellen Leistungszustand auf den nächsten Leistungszustand einzustellen.
  25. System nach Anspruch 23, wobei die Begrenzungsschnittstelle, die bewirkt, daß der Prozessor die Umgebungsbedingung erfaßt, bewirkt, daß der Prozessor folgendes ausführt: Empfangen von Informationen bezüglich einer thermischen Bedingung, einer Leistungsbedingung, einer Audiobedingung, einer Anzeigebedingung, einer Stromversorgungsbedingung und/oder einer Benutzerpräferenz.
  26. System, umfassend: einen Prozessor; und einen mit dem Host gekoppelten Speicher zum Speichern eines Vorrichtungstreibers, wobei der Vorrichtungstreiber, wenn er ausgeführt wird, bewirkt, daß der Prozessor folgendes ausführt: Empfangen eines Begrenzungsbefehls für eine in einem ersten Leistungszustand arbeitende Vorrichtung auf der Basis einer Umgebungsbedingung; und Einstellen des ersten Leistungszustands der Vorrichtung auf einen zweiten Leistungszustand gemäß dem Begrenzungsbefehl.
  27. System nach Anspruch 26, wobei der Vorrichtungstreiber, der bewirkt, daß der Prozessor den Begrenzungsbefehl empfängt, bewirkt, daß der Prozessor folgendes ausführt: Empfangen des Begrenzungsbefehls auf der Basis einer thermischen Bedingung, einer Leistungsbedingung, einer Audiobedingung, einer Anzeigebedingung, einer Stromversorgungsbedingung und/oder einer Benutzerpräferenz.
  28. System nach Anspruch 26, wobei der Vorrichtungstreiber, der bewirkt, daß der Prozessor den ersten Leistungszustand einstellt, bewirkt, daß der Prozessor folgendes ausführt: Einstellen des ersten Leistungszustands auf den zweiten Leistungszustand, wobei der zweite Leistungszustand einem niedrigeren Energiezustand oder einem höheren Energiezustand entspricht.
  29. System nach Anspruch 28, wobei der Vorrichtungstreiber, der bewirkt, daß der Prozessor den ersten Leistungszustand einstellt, bewirkt, daß der Prozessor folgendes ausführt: Laden von Steuerparametern in die erste Vorrichtung, wobei die Steuerparameter die Leistung der Vorrichtung steuern.
  30. System nach Anspruch 26, wobei der Vorrichtungstreiber, der bewirkt, daß der Prozessor den ersten Leistungszustand einstellt, bewirkt, daß der Prozessor folgendes ausführt: Einstellen des ersten Leistungszustands auf ein höchstes Niveau, ein niedrigstes Niveau oder ein auf Bedarf basierendes Niveau.
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 true DE10393396T5 (de) 2005-09-01
DE10393396B4 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 (17)

* 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
WO2009102337A1 (en) * 2008-02-15 2009-08-20 Hewlett-Packard Development Company, L.P. Changing power states of data handling devices to meet redundancy criterion
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
EP2513743B1 (de) 2009-12-17 2017-11-15 Toshiba Memory Corporation Halbleitersystem, halbleitervorrichtung und verfahren zur initialisierung einer elektronischen vorrichtung
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

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5153535A (en) 1989-06-30 1992-10-06 Poget Computer Corporation Power supply and oscillator for a computer system providing automatic selection of supply voltage and frequency
US5021679A (en) 1989-06-30 1991-06-04 Poqet Computer Corporation Power supply and oscillator for a computer system providing automatic selection of supply voltage and frequency
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
US5560022A (en) 1994-07-19 1996-09-24 Intel Corporation Power management coordinator system and interface
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
US6266721B1 (en) * 1997-05-13 2001-07-24 Micron Electronics, Inc. System architecture for remote access and control of environmental management
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
US6718474B1 (en) 2000-09-21 2004-04-06 Stratus Technologies Bermuda Ltd. Methods and apparatus for clock management based on environmental conditions
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

Also Published As

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

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
DE60009218T2 (de) Verwaltung der Energieaufnahme für ein Multimediasystem in einem Kraftfahrzeug
DE112012001358B4 (de) Verwalten von Energieverbrauch in einem Mehrfachkernprozessor
DE19882704C2 (de) Verfahren und Einrichtung für ein Stromversorgungsmanagement
DE102010045743B4 (de) Verfahren und Vorrichtung, um Turboleistung für das Event-Handling zu verbessern
DE69535187T2 (de) Speichersteuergerät und Bussteuerungsverfahren dafür
DE102008016181A1 (de) Prioritätsbasiertes Drosseln für Leistungsaufnahme-Verarbeitungsleistung-Dienstgüte
DE102007006190B4 (de) Techniken zur Verwendung von Speicher-Attributen
DE112008004030B4 (de) Leistungsverwaltung in einem System mit einem Prozessor und einem Spannungswandler, der eine Leistungsspannung zu dem Prozessor liefert
DE10393969T5 (de) Mechanismus zur Verteilung von Unterbrechungen niedrigster Priorität unter Berücksichtigung des Prozessorleistungszustands
DE112013005278T5 (de) Dynamisches Abgleichen von Leistung über eine Mehrzahl von Prozessordomänen gemäß Leistungsabgleichsteuerungs-BIAS
DE112011103411B4 (de) Einheitenemulation in einer virtualisierten Datenverarbeitungsumgebung
DE10211889B4 (de) Verarbeitungseinheit zur Ausführung von Ereignisprozessen in Echtzeit ohne Verursachung einer Prozessstörung
DE112006001135T5 (de) Adaptive temperaturbasierte Steuerung der Frequenzschranken
DE112011103194B4 (de) Koordinieren von Gerät- und Anwendungsunterbrechungsereignissen zum Plattformenergiesparen
DE102008064866B3 (de) Elektronische Steuerungsvorrichtung und Verfahren zur elektronischen Steuerung und zur Betätigung einer elektronischen Steuerungsvorrichtung
DE112007001713T5 (de) System und Verfahren zum Steuern von Zuständen niedriger Energie bei Prozessoren
DE112004001887B4 (de) Optimierung der SMI-Behandlung und -Initialisierung
DE3607889A1 (de) Verfahren zum steuern von unterbrechungen in einem virtuellen maschinensystem und virtuelles maschinensystem zur durchfuehrung des verfahrens
DE102012017780A1 (de) Standby-Betrieb mit zusätzlichem Mikrocontroller
DE102011014681A1 (de) Power-Management basierend auf automatischer Arbeitslasterkennung
DE112007001922T5 (de) System und Verfahren zur Begrenzung der Prozessorleistung
DE112007001433B4 (de) Verfahren, Vorrichtung und System zum Wärmemanagement unter Verwendung einer Leistungdichte-Rückmeldung
DE102020118005A1 (de) Verfahren und einrichtung zum dynamischen drosseln von rechenengines

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