DE112011103194T5 - Koordinieren von Gerät- und Anwendungsunterbrechungsereignissen zum Plattformenergiesparen - Google Patents

Koordinieren von Gerät- und Anwendungsunterbrechungsereignissen zum Plattformenergiesparen Download PDF

Info

Publication number
DE112011103194T5
DE112011103194T5 DE201111103194 DE112011103194T DE112011103194T5 DE 112011103194 T5 DE112011103194 T5 DE 112011103194T5 DE 201111103194 DE201111103194 DE 201111103194 DE 112011103194 T DE112011103194 T DE 112011103194T DE 112011103194 T5 DE112011103194 T5 DE 112011103194T5
Authority
DE
Germany
Prior art keywords
event
runtime information
interrupt
platform
events
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
DE201111103194
Other languages
English (en)
Other versions
DE112011103194B4 (de
Inventor
Ren Wang
Jr-Shian Tsai
Prakash N. Iyer
Mesut A. Ergin
Bruce L. Fleming
Tsung-Yuan C. Tal
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 DE112011103194T5 publication Critical patent/DE112011103194T5/de
Application granted granted Critical
Publication of DE112011103194B4 publication Critical patent/DE112011103194B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications

Abstract

Systeme und Verfahren zum Verwalten von Unterbrechungsereignissen können das Ermitteln eines ersten Unterbrechungsereignisses von einer ersten Ereignisquelle und das Ermitteln eines zweiten Unterbrechungsereignisses von einer zweiten Ereignisquelle bereitstellen. In einem Beispiel können die Ereignisquellen sowohl Geräte, die an eine Plattform gekoppelt sind, als auch aktive Anwendungen auf der Plattform umfassen. Die Ausgabe des ersten und des zweiten Unterbrechungsereignisses an die Plattform kann zumindest teilweise auf der Grundlage von der Plattform zugehörigen Laufzeitinformationen koordiniert werden.

Description

  • STAND DER TECHNIK
  • Technisches Gebiet
  • Ausführungsformen betreffen allgemein die Verwaltung von Plattformunterbrechungsereignissen. Insbesondere betreffen Ausführungsformen das Koordinieren der Ausgabe von Unterbrechungsereignissen von verschiedenen Quellen zum Verbessern von Plattformenergieeinsparungen.
  • Erörterung
  • In gebräuchlichen Mobile-Computing-Plattformen können mehrere Eingabe/Ausgabe-Geräte (E/A) (z. B. Kommunikationsschnittstellen) und Software-Anwendungen dazu tendieren, unkoordinierte Unterbrechungsereignisse zu erzeugen, was einen schnellen Eintritt der Plattform und ihrer Komponenten in niedrigere Energiezustände und ihr Verbleiben in diesen Zuständen während längerer Zeiträume verhindern kann. Tatsächlich kann die Tatsache, dass die Plattform häufiger als notwendig in hohen Energiezuständen verbleibt, eine kürzere und suboptimale Batteriebetriebszeit zur Folge haben.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die verschiedenen Vorteile der Ausführungsformen der vorliegenden Erfindung sind für den Fachmann aus der Lektüre der folgenden Beschreibung und der beigefügten Ansprüche und unter Bezugnahme auf die folgenden Zeichnungen ersichtlich; es zeigen:
  • 1 ein Blockdiagramm eines Beispiels mehrerer koordinierter Unterbrechungsereignisse gemäß einer Ausführungsform;
  • 2 ein Blockdiagramm eines Beispiels einer Unterbrechungsereignis-Verwaltungseinheit gemäß einer Ausführungsform;
  • 3 ein Ablaufdiagramm eines Beispiels eines Verfahrens zum Koordinieren der Ausgabe von Unterbrechungsereignissen gemäß einer Ausführungsform;
  • 4 ein Blockdiagramm einer Unterbrechungsereignis-Verwaltungseinheit und mehrerer Vereinigungseinheiten gemäß einer Ausführungsform; und
  • 5 ein Blockdiagramm eines Beispiels einer Plattform gemäß einer Ausführungsform.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Ausführungsformen können ein Verfahren bereitstellen, in dem ein erstes Unterbrechungsereignis von einer ersten Ereignisquelle ermittelt wird und ein zweites Unterbrechungsereignis von einer zweiten Ereignisquelle ermittelt wird. Das Verfahren kann auch das Koordinieren der Ausgabe des ersten und des zweiten Unterbrechungsereignisses an eine Plattform zumindest teilweise auf der Grundlage von der Plattform zugehörigen Laufzeitinformationen bereitstellen.
  • Andere Ausführungsformen können einen maschinenlesbaren Datenträger umfassen, der eine Menge von Befehlen aufweist, die, wenn sie durch einen Prozessor ausgeführt werden, bewirken, dass ein Computer ein erstes Unterbrechungsereignis von einer ersten Ereignisquelle ermittelt und ein zweites Unterbrechungsereignis von einer zweiten Ereignisquelle ermittelt. Die Befehle können auch bewirken, dass ein Computer die Ausgabe des ersten und des zweiten Unterbrechungsereignisses an eine Plattform zumindest teilweise auf der Grundlage von der Plattform zugehörigen Laufzeitinformationen bewirkt.
  • Zusätzlich können Ausführungsformen eine Vorrichtung umfassen, die ein Eingabe/Ausgabe Modul (E/A) mit Logik zum Ermitteln eines ersten Unterbrechungsereignisses von einer ersten Ereignisquelle und zum Ermitteln eines zweiten Unterbrechungsereignisses von einer zweiten Ereignisquelle aufweist. Die Logik kann auch die Ausgabe des ersten und des zweiten Unterbrechungsereignisses an eine Plattform zumindest teilweise auf der Grundlage von der Plattform zugehörigen Laufzeitinformationen koordinieren.
  • Ausführungsformen können auch ein System umfassen, das eine erste Ereignisquelle, eine zweite Ereignisquelle, einen Prozessor und ein an den Prozessor gekoppeltes Eingabe/Ausgabe-Modul (E/A) aufweist. Das E/A-Modul kann Logik zum Ermitteln eines ersten Unterbrechungsereignisses von der ersten Ereignisquelle und zum Ermitteln eines zweiten Unterbrechungsereignisses von einer zweiten Ereignisquelle aufweisen. Zusätzlich kann die Logik die Ausgabe des ersten und des zweiten Unterbrechungsereignisses an das System zumindest teilweise auf der Grundlage von dem System zugehörigen Laufzeitinformationen koordinieren.
  • Mit Bezug auf 1 sind mehrere Unterbrechungsereignisse 10 (10a bis 10f) von verschiedenen Quellen (z. B. Energieverwaltungseinheiten) vor und nach dem Koordinieren der Ausgabe der Unterbrechungsereignisse 10 an eine Plattform gezeigt. Im veranschaulichten Beispiel wird für eine Zeitinstanz t1 ein Eingabe/Ausgabeereignis (E/A) (z. B. Unterbrechung) von einem Gerät, wie beispielsweise einer Maus, angefordert und ein Zeitgeberereignis 10b von einer aktiven Anwendung, die auf der Plattform ausgeführt wird, für die Zeitinstanz t2 angefordert. Zusätzlich können eine Reihe von E/A-Ereignissen 10c von einem anderen Gerät, wie beispielsweise einer Netzwerkkarte (Network Interface Card – NIC) für die Zeitinstanz t3 angefordert werden. Wie später ausführlicher erörtert wird, können die E/A-Ereignisse 10c selbst durch eine Vereinigungseinheit, die entweder auf der NIC oder an einem zentralen Ort angeordnet ist, zusammen gruppiert werden. Ein E/A-Ereignis 10d von einem Audiogerät kann auch für die Zeitinstanz t4 angefordert werden. Zusätzlich zeigt das veranschaulichte Beispiel die Ermittlung von Zeitgeberereignissen 10e und 10f von aktiven Anwendungen für die Zeitinstanzen t5 beziehungsweise t6 auf. In ihrem nativen Zustand könnten die Unterbrechungsereignisse 10 ein Zeitprofil aufweisen, das verhindern würde, dass die Plattform während langer Zeiträume in bestimmte Energiesparzustände eintritt.
  • Dementsprechend kann die Ausgabe der Unterbrechungsereignisse 10 an die Plattform koordiniert werden, um es der Plattform zu ermöglichen, den Stromverbrauch zu senken. Zum Beispiel wird das veranschaulichte E/A-Ereignis 10a von der Maus derart bis zu einer verzögerten Zeitinstanz t1d verzögert, dass es mit der Ausgabe des Anwendungszeitgeberereignisses 10b abgestimmt ist, das an einer verzögerten Zeitinstanz t2d ausgegeben werden kann. In einem anderen Beispiel kann das Zeitgeberereignis 10b ein nicht verzögerbares Ereignis sein. In einem solchen Fall kann das E/A-Ereignis 10a verzögert werden, während das Zeitgeberereignis 10b ausgegeben werden könnte, wie geplant. In beiden Fällen kann ein längerer Ruhezustandszeitraum 12 erzeugt werden, während die Plattform aufgrund des längeren Zeitraums 12 schneller und während längerer Zeiträume in tiefere Stromsparzustände eintreten kann (z. B. ACPI/Advanced Configuration and Power Interface Specification, ACPI Specification, Rev. 4.0, June 16, 2009, low power states). Zusätzlich können die E/A-Ereignisse 10c von der NIC mit dem E/A-Ereignis 10d vom Audiogerät an verzögerten Zeitinstanzen t3d beziehungsweise t4d abgestimmt werden, um einen weiteren längeren Zeitraum 14 zu erzeugen. Auf ähnliche Weise können die Anwendungszeitgeberereignisse 10e und 10f auf Zeitinstanzen t5d beziehungsweise t6d verzögert werden, was einen längeren Zeitraum 16 ergeben kann. Einfach ausgedrückt, können die längeren Zeiträume 12, 14 und 16 verbesserte Plattformenergieeinsparungen und eine längere Batteriebetriebszeit ermöglichen.
  • 2 zeigt eine Unterbrechungsereignis-Verwaltungseinheit (BMU) 18, die Unterbrechungsereignisse 20 ermitteln kann und sie zumindest teilweise auf der Grundlage von Laufzeitinformationen 24, die einer/einem Plattform/Betriebssystem (OS) 26 zugehörig sind, als koordinierte Unterbrechungsereignisse 22 abstimmen kann. Die BMU 18 kann in einem Modul der Plattform 26, wie beispielsweise einer Systemsteuereinheit (System Control Unit – SCU) einer Plattform für ein mobiles Internetgerät (Mobile Internet Device – MID) oder einem Platform Controller Hub (PCH) einer Laptop-Platform ausgeführt sein. Tatsächlich kann die BMU 18 sich im Kernraum des Betriebssystems (OS) mit leicht unterschiedlichen Schnittstellen- und Ausführungstechniken oder im Benutzerraum befinden. Im veranschaulichten Beispiel können die Laufzeitinformationen 24 von den Quellen 28 der Unterbrechungsereignisse 20 wie auch von der Plattform 26 selbst erhalten werden. Zum Beispiel können Laufzeitinformationen 24, die von einem Gerät erhalten werden, das an die Plattform gekoppelt ist, Angaben zur Dienstgüte (Quality of Service – QoS) umfassen, die eine maximale Verzögerungszeit für eines oder mehrere E/A-Ereignisse bestimmen. Zusätzlich könnten Laufzeitinformationen 24, die von einer Anwendung erhalten werden, eine Verzögerungsfähigkeitseigenschaft von einem oder mehreren Zeitgeberereignissen bestimmen. Wenn zum Beispiel ein Zeitgeberereignis nicht verzögert werden kann, kann die BMU 18 versuchen, andere Unterbrechungsereignisse mit dem nicht verzögerbaren Unterbrechungsereignis abzustimmen. Anderenfalls könnte die BMU 18 die Zeitgeberereignisse für eine optimale Plattformenergieersparnis und -leistung verwalten.
  • Als Beispiel kann die BMU 18, wenn eine Anwendung anfordert, dass ein Zeitgeberereignis alle 50 ms eintritt, das auf eine maximale Häufigkeit von alle 100 ms verzögert werden kann, das Zeitgeberereignis alle 100 ms auslösen, während die Plattform 26 relativ inaktiv ist. Wenn die Plattform 26 indes aufgrund von durch andere Quellen erzeugten Unterbrechungsereignissen aktiver wird, könnte die BMU 18 die Ausgabe der Zeitgeberereignisse in Richtung der 50 ms anpassen, um ohne negative Auswirkungen auf den Energieverbrauch eine bessere Leistung der Anwendung zu erzielen.
  • Zusätzlich kann die Plattform 26 Laufzeitinformationen 24 in der Form einer Break-Even-Zeit eines niedrigen Energiezustands, programmierbaren Leistungsanforderungen und so weiter bereitstellen. Die Break-Even-Zeit des niedrigen Energiezustands kann den Betrag der Zeit angeben, während der die Plattform 26 in einem bestimmten niedrigen Energiezustand bleiben sollte, um den Mehrverbrauch an Energie auszugleichen/zu amortisieren, der mit dem Eintritt in den und dem Austritt aus dem niedrigen Energiezustand verbunden ist. Wie später ausführlicher erörtert wird, kann die BMU 18 die Break-Even-Zeit für den niedrigen Energiezustand verwenden, um eine Haltezeit für jedes verzögerte Unterbrechungsereignis zu bestimmen. In dieser Hinsicht können die Vorteile des Energiesparens rasch abnehmen, wenn die Haltezeit viel länger wird als die Break-Even-Zeit, während die Leistung beträchtlich nachlassen kann. Daher kann die BMU 18 auf der Grundlage der Break-Even-Zeit und der gewünschten Leistung eine vernünftige Haltezeit bestimmen.
  • Die programmierbaren Leistungsanforderungen könnten durch einen Benutzer der Plattform 26 definiert werden. So kann die Haltezeit, wenn der Benutzer eine höhere Leistung bevorzugt, niedriger eingestellt werden, um eine schnellere Reaktion und eine verbesserte Leistung (bei möglichem Verlust einiger Gelegenheiten zum Energiesparen) bereitzustellen. Wenn der Benutzer andererseits eine längere Batteriebetriebszeit fordert, kann die Haltezeit auf einen relativ längeren Wert eingestellt werden, um für die Plattform 26 mehr Gelegenheiten zum Verbleiben in niedrigeren Energiezuständen bereitzustellen.
  • Nun wird mit Bezug auf 3 ein Beispiel für ein Verfahren 30 zum Koordinieren der Ausgabe von Unterbrechungsereignissen gezeigt. Das Verfahren 30 kann in Hardware mit fester Funktion unter Verwendung von Schaltungstechnologien, wie beispielsweise ASIC, komplementärer Metalloxid-Halbleiter-(Complementary Metal Oxide Semiconductor – CMOS), oder Transistor-Transistor-Logik-(TTL)Technologie, in ausführbarer Software, wie beispielsweise einer Menge von Firmware- und/oder logischen Befehlen, die in einem maschinen- oder computerlesbaren Datenträger von einem Speicher, wie beispielsweise einem Schreib-Lesespeicher mit wahlfreiem Zugriff (Random Access Memory – RAM), einem Nur-Lese-Speicher (Read-Only Memory – ROM), einem programmierbaren ROM (PROM) einem Flash-Speicher, usw. oder einer Kombination davon gespeichert sind, ausgeführt werden. Der Verarbeitungsblock 32 sorgt für das Erfassen von Laufzeitinformationen von Geräten, Anwendungen und der Plattform und das Bestimmen einer Haltezeit auf der Grundlage der Laufzeitinformationen. Wie bereits erwähnt, kann die Bestimmung der Haltezeit Break-Even-Zeiten für niedrige Energie und programmierbare Leistungsanforderungen sowie maximale Verzögerungszeiten für E/A-Ereignisse und Verzögerungsfähigkeitseigenschaften von Zeitgeberereignissen berücksichtigen.
  • Wenn in Block 34 ein Unterbrechungsereignis ermittelt wird, kann im Block 36 eine Bestimmung vorgenommen werden, ob die Haltezeit abgelaufen ist. Wenn nicht, kann das Unterbrechungsereignis im Block 38 verzögert werden. Die Verzögerung des Unterbrechungsereignisses könnte in Abhängigkeit von den Umständen auf eine Anzahl von verschiedenen Arten bewerkstelligt werden. Zum Beispiel könnte das Unterbrechungsereignis in einer Warteschlange untergebracht werden, wobei die Warteschlange in der BMU 18 (2), in dem Gerät, das das Unterbrechungsereignis ausgibt, in einer dem Gerät zugehörigen Vereinigungseinheit und so weiter angeordnet sein könnte. Tatsächlich könnte das Unterbrechungsereignis, wenn das Unterbrechungsereignis einer Bus-Master-Transaktion (z. B. DMA/direkter Speicherzugriff) zugehörig ist, durch Deaktivieren eines PCIe (Peripheral Components Interconnext Express) OBFF (Opportunistic Buffer Flush/Fill) Signals verzögert werden, um das Quellgerät darüber zu informieren, dass der PCIe-Bus nicht verfügbar ist.
  • Wenn entweder in Block 40 ein nicht verzögerbares Unterbrechungsereignis ermittelt oder in Block 36 bestimmt wird, dass die Haltezeit abgelaufen ist, können in Block 42 alle verzögerten Unterbrechungsereignisse freigegeben/ausgegeben werden. Der veranschaulichte Block 44 stellt die Planung der nächsten Haltezeit auf der Grundlage der erfassten Laufzeitinformationen bereit. Wie bereits erwähnt, kann die Haltezeit dynamisch angepasst werden. Die Plattform-Energieverwaltungseinheit kann in Block 46 über die nächste Haltezeit informiert werden.
  • 4 zeigt ein System 48, in dem eine BMU 50 an einen Prozessor/eine Plattform 52 gekoppelt ist, die verschiedene Unterbrechungsereignisse von Anwendungszeitgebern 54 und Geräten 56 (56a bis 56c) empfängt, wobei die Unterbrechungsereignisse bewirken können, dass der Prozessor/die Plattform 52 aus einem oder mehreren niedrigen Energiezuständen austritt (oder den Eintritt in diese/n verhindert). Im veranschaulichten Beispiel können die Vereinigungseinheiten 58 verwendet werden um die Anzahl der Unterbrechungsereignisse zu vermindern, indem sie zum Beispiel mehrere Pakete, die anderenfalls mehrere Unterbrechungsereignisse bewirken würden, zu einem einzigen Unterbrechungsereignis verbinden. Die Vereinigungseinheiten 58 können daher für Kommunikationsgeräte, wie beispielsweise Netzsteuerungen, besonders nützlich sein, obgleich auch andere Geräte und Anwendungen einen Nutzen aus dem Vereinigungsverfahren ziehen können.
  • Beginnend von der Initialisierungsphase an einem Boot-Zeitpunkt können die Vereinigungseinheiten 58 Systemparameter, wie beispielsweise Richtlinien für Programmeingriffe, Gerätepuffergrößen, Gerätelatenzzeit-Toleranzanforderungen, usw. erhalten oder bereits kennen. Diese Parameter können durch die Vereinigungseinheiten 58 verwendet werden, um eine anfängliche geräte/anwendungsbasierte Haltezeit zu bestimmen, die später auf der Grundlage des Laufzeitverhaltens nach Bedarf angepasst werden kann. Während der Laufzeit können die Vereinigungseinheiten 58 jedes unterbrechungsereignisfähige Gerät verfolgen, um zu bestimmen, ob das Gerät während eines vorhergehend bestimmten Zeitraums ruhig gewesen ist (d. h. während mindestens α ms keine Unterbrechungen erzeugt hat). Bei einer solchen Inaktivität kann die betreffende Vereinigungseinheit 58 (z. B. während β ms) in ein Halteintervall eintreten, in dem keine Unterbrechungen von dieser bestimmten Quelle bis zur BMU 50 und/oder dem/der Prozessor/Plattform 52 weitergeleitet werden. Dieser Ansatz kann auf der Grundlage jedes Geräts oder jeder Anwendung und mit verschiedenen Parametern für jedes Gerät/jede Anwendung ausgeführt werden. Zusätzlich können bestimmte Strategien verwendet werden, um die Vereinigungseinheit 58 zu umgehen, wie zum Beispiel Hochleistungs-/Benchmarking-Betriebsmodi, usw.
  • Während die Vereinigungseinheiten 58 in den Geräten 56 und dem Anwendungszeitgeber 54 ausgeführt werden könnten, könnte ihre Unterbringung in der BMU 50 skalierbarer sein, indem für die Gerätehersteller die Notwendigkeit der Unterstützung der Abstimmung der Unterbrechungsereignisse beseitigt würde. Das Ausführen der Vereinigungseinheit 58 in der BMU 50 kann das Sicherstellen umfassen, dass die Obergrenze des Haltezeitgebers β mit der Größe des internen Puffers des Geräts kompatibel ist, um Pufferüberläufe zu verhindern. Zusätzlich kann der Inaktivitätszeitgeber α auf einen Wert eingestellt werden, der ausreichend groß ist, um einen vorzeitigen Ablauf und ggf. negative Auswirkungen auf die maximale Systemleistung zu verhindern.
  • Zur Anpassung des Vereinigungszeitgebers kann eine Anzahl verschiedener Strategien verwendet werden. Zum Beispiel kann eine „statische Richtlinie” das Verbinden des Vereinigungsverhaltens mit durch den Benutzer eingestellten (oder auf dem Profil des Betriebssystems basierenden) Systemeinstellungen beinhalten. So kann das Verbinden, wenn der Benutzer ein hohes Leistungsprofil bevorzugt, mit β = 0 umgangen werden. Für ein ausgeglichenes Leistungs/Energieprofil könnte ein typischer Wert von β = 5 ms ausgewählt werden. Für einen Betriebsmodus mit niedrigem Energieverbrauch und maximalen Energieeinsparungen kann ein typischer Wert von β = 10 ms ausgewählt werden. Alternativ könnte eine „dynamische Richtlinie” verwendet werden, in der β basierend auf einer geschlossenen Schleife auf der Grundlage der über einen bestimmten Zählzeitraum beobachteten Zählung der durchschnittlichen Anzahl der Unterbrechungsereignisse gesteuert wird. Der Ansatz kann daher das Verbinden so unaufdringlich wie möglich machen, derart, dass sich das Unterbrechungsereignisverhalten (im Durchschnitt) nicht wesentlich ändert. Ausgehend von einem typischerweise kleinen Wert für β kann die Anzahl von Unterbrechungsereignissen von einzelnen Geräten über relativ längere Zeiträume (d. h. in der Größenordnung von Sekunden) beobachtet werden, und β kann additiv erhöht werden, bis sich die durchschnittliche Anzahl an Ereignissen wesentlich ändert. Abhängig von der Änderung könnte β entweder zurückgesetzt, um von vorne angepasst oder multiplikativ vermindert zu werden.
  • Mit Bezug auf 5 wird ein System 60 gezeigt. Das System 60 kann Teil einer mobilen Plattform sein, die Rechenfunktionalität (z. B. persönlicher digitaler Assistent/PDA, Laptop), Kommunikationsfunktionalität (z. B. drahtloses Smartphone), Bildgebungsfunktionalität, Medienspielerfunktionalität oder eine Kombination davon aufweist (z. B. ein mobiles Internetgerät/MID). Im veranschaulichten Beispiel umfasst das System 60 einen Prozessor 62, einen integrierten Speichercontroller (Integrated Memory Controller – IMC) 74, ein E/A-Modul 64, einen Systemspeicher 66, eine Netzsteuerung (z. B. Netzwerkkarte) 68, ein Audio-E/A-Gerät 72, eine Festkörperplatte (Solid State Disk – SSD) 70 und eine oder mehrere andere Steuereinheiten 80. Der Prozessor 62, der einen Kernbereich mit einem oder mehreren Prozessorkernen 76 umfassen kann, kann eine Energieverwaltungseinheit (Power Management Unit – PMU) 78 verwenden, um seine Kerne 76 und anderen Systemkomponenten auf der Grundlage von Leistungs- und/oder Energieverwaltungsgesichtspunkten, wie bereits erwähnt, in einen oder mehrere aktive und/oder Ruhezustände zu versetzen.
  • Das veranschaulichte E/A-Modul 64, das manchmal auch als Southbridge oder South Complex eines Chipsatzes bezeichnet wird, wirkt als ein Host-Gerät und kommuniziert mit der Netzsteuerung 68, was Kommunikationsfunktionalität außerhalb der Plattform für eine breite Palette von Zwecken, wie beispielsweise Mobiltelefon (z. B. W-CDMA (UMTS), CDMA2000 (IS-865/IS-2000), usw.), WiFi (z. B. IEEE 802.11, 1999 Edition, LAN/MAN Wireless LANS), Bluetooth (z. B. IEEE 802.15.1-2005, Wireless Personal Area Networks), WiMax (z. B. IEEE 802.16-2004, LAN/MAN Broadband Wireless LANS), Global Positioning System (GPS), Spreizspektrum (z. B. 900 MHz) und andere Hochfrequenz-Telefoniezwecke (HF) bereitstellen könnte. Das E/A-Modul 64 kann auch einen oder mehrere drahtlose Hardware-Schaltungsblöcke umfassen, um solche Funktionalität zu unterstützen.
  • Die SSD 70 kann einen oder mehrere NAND-Chips umfassen und könnte verwendet werden, um eine Datenspeicherung mit hoher Kapazität und/oder einem beträchtlichen Betrag an Parallelität bereitzustellen. Es können auch Lösungen vorhanden sein, die NAND-Steuerungen umfassen, die als getrennte Steuerungen für anwendungsspezifische integrierte Schaltungen (Application Specific Integrated Circuit – ASIC) ausgeführt werden, die auf Standard-Bussen, wie beispielsweise einem Serial ATA (SATA, z. B. SATA Rev. 3.0. Specification, May 27, 2009, SATA International Organization/SATA-IO) Bus oder PCI Express Graphics (PEG, z. B. Peripheral Components Interconnect/PCI Express x16 Graphics 150W-ATX Specification 1.0, PCI Special Interest Group) Bus mit dem E/A-Modul 64 verbunden sind. Die SSD 70 könnte auch als ein USB-Flash-Speicher (Universal Serial Bus, z. B. USB Specification 2.0, USB Implementers Forum) verwendet werden.
  • Das veranschaulichte E/A-Modul 64 umfasst eine BMU 82, die konfiguriert ist, um Unterbrechungsereignisse von mehreren verschiedenen Quellen, wie beispielsweise einer Netzsteuerung 68, einem Audio-E/A-Gerät 72, einer SSD 70, aktiven Anwendungen, die auf dem Prozessor 62 ausgeführt werden, usw., und die Ausgabe von Unterbrechungsereignissen an den Prozessor 62 basierend auf Laufzeitinformationen koordinieren, die dem System 60 zugehörig sind. In einem Beispiel umfasst das Koordinieren der Ausgabe von Unterbrechungsereignissen das Bestimmen einer Haltezeit auf der Grundlage der Laufzeitinformationen und das Verzögern von mindestens einem der Unterbrechungsereignisse auf der Grundlage der Haltezeit. Zum Beispiel könnte das System 60 eine VoIP (Voice Over Internet Protocol) Anwendung ausführen, in der die Netzsteuerung 68 und das Audio-E/A-Gerät 72 jeweils aktiv E/A-Ereignissen ohne oder bei geringer Berücksichtigung der durch das andere Gerät erzeugten E/A-Ereignisse erzeugen. Durch die Verwendung der BMU 82 zum Koordinieren der Unterbrechungsereignisse von der Netzsteuerung 68 und dem Audio-E/A-Gerät 72 kann das veranschaulichte E/A-Modul 64 es den Komponenten des Systems 60 ermöglichen, während längerer Zeiträume in niedrigere Energiezustände einzutreten und daher die durch das System 60 erzielten Energieeinsparungen erheblich verbessern.
  • So können die vorhergehenden Techniken einen holistischen Ansatz zum Definieren von Rechnersystemarchitekturen und Schnittstellen bereitstellen, derart, dass sie die Tätigkeiten von mehreren E/A-Geräten und Anwendungen koordinieren und abstimmen. Folglich kann der Ruhezustand der Plattform für ein optimales Energiesparen der Plattform maximiert werden. Zusätzlich könnte eine solche Koordinierung und Abstimmung eine nähere Annäherung der Plattform an einen idealen Energieverbrauch mit robuster Leistung ermöglichen, der „proportional zur Auslastung” ist.
  • Die Ausführungsformen der vorliegenden Erfindung sind anwendbar zur Verwendung mit allen Typen von Chips mit integrierten Halbleiterschaltungen („IC”). Beispiele dieser integrierten Schaltungschips umfassen Prozessoren, Steuereinheiten, Chipsatz-Bauelemente, programmierbare logische Anordnungen (Programmable Logic Array – PLA), Speicherchips, Netzchips, System-on-Chips (SoC), SSD/NAND-Steuerungs-ASICs und dergleichen, sind aber nicht darauf beschränkt. Zusätzlich sind in einigen der Zeichnungen Signalleiterleitungen durch Linien dargestellt. Einige davon können dicker sein, um mehrere einzelne Signalwege darzustellen, eine Nummernbezeichnung aufweisen, um eine Anzahl der einzelnen Signalwege anzugeben, und/oder an einem oder mehreren Enden Pfeile aufweisen, um die Hauptrichtung des Informationsflusses anzugeben. Dies sollte indes nicht als einschränkend ausgelegt werden. Stattdessen können solche zusätzlichen Details in Verbindung mit einem oder mehreren Ausführungsbeispielen verwendet werden, um ein einfacheres Verständnis einer Schaltung zu erleichtern. Die dargestellten Signalleitungen können, unabhängig davon, ob sie zusätzliche Informationen aufweisen oder nicht, tatsächlich eines oder mehrere Signale umfassen, das/die sich in mehrere Richtungen bewegen und mit irgendeinem geeigneten Typ von Signalschema ausgeführt werden kann/können, z. B. digitale oder analoge Leitungen, die mit Differentialpaaren, Glasfaserleitungen und/oder Leitungen mit einseitigem Abschluss ausgeführt sind.
  • Es kann sein, dass Beispiele für Größen/Modelle/Werte/Bereiche angegeben wurden, obgleich die Ausführungsformen der vorliegenden Erfindung nicht darauf beschränkt sind. Da die Herstellungstechniken (z. B. Fotolithografie) mit der Zeit immer ausgereifter werden, wird erwartet, dass Geräte mit geringerer Größe hergestellt werden könnten. Darüber hinaus kann es sein, dass bekannte Strom/Erdungsverbindungen mit den IC-Chips und anderen Bauelementen der Einfachheit der Veranschaulichung und Erörterung halber und, um bestimmte Gesichtspunkte der Ausführungsformen der Erfindung nicht unklar zu machen, nicht innerhalb der Figuren gezeigt sind. Darüber hinaus können Anordnungen in der Form von Blockdiagrammen gezeigt sein, um zu vermeiden, dass Ausführungsformen der Erfindung unklar gemacht werden, und auch im Hinblick auf die Tatsache, dass die spezifischen Angaben in Bezug auf die Ausführung solcher Blockdiagrammanordnungen in hohem Maße von der Plattform abhängig sind, in der die Ausführungsform ausgeführt werden soll, d. h. solche spezifischen Angaben sollten sich in der Reichweite des Fachmanns befinden. Wo spezifische Einzelheiten (z. B. Schaltungen) dargelegt werden, um Ausführungsbeispiele der Erfindung zu beschreiben, wird der Fachmann verstehen, dass Ausführungsformen der Erfindung ohne oder mit Änderungen dieser spezifischen Einzelheiten in die Praxis umgesetzt werden können. Daher ist die Beschreibung als veranschaulichend und nicht als einschränkend anzusehen.
  • Der Begriff „gekoppelt” kann hier verwendet werden, um jede Art von direkter oder indirekter Beziehung zwischen den betreffenden Bauelementen zu bezeichnen und kann sich auf elektrische, mechanische, fluidische, optische, elektromechanische oder andere Verbindungen beziehen. Darüber hinaus werden die Begriffe „erste/r”, „zweite/r” usw. hier lediglich zur Vereinfachung der Erörterung verwendet und haben keine besondere zeitliche oder chronologische Bedeutung, es sei denn, dies wird anderweitig angegeben.
  • Der Fachmann wird aufgrund der vorhergehenden Beschreibung verstehen, dass die breiten Techniken der Ausführungsformen der vorliegenden Erfindung in einer Vielzahl von Formen ausgeführt werden können. Daher ist, obgleich die Ausführungsformen dieser Erfindung in Verbindung mit bestimmten Beispielen davon beschrieben wurden, der tatsächliche Schutzbereich der Ausführungsformen der Erfindung nicht derart beschränkt, da bei der Untersuchung der Zeichnungen, der Beschreibung und der folgenden Ansprüche andere Änderungen für den fachkundigen Praktiker ersichtlich werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • ACPI/Advanced Configuration and Power Interface Specification, ACPI Specification, Rev. 4.0, June 16, 2009, low power states [0014]
    • W-CDMA (UMTS), CDMA2000 (IS-865/IS-2000) [0027]
    • IEEE 802.11, 1999 Edition, LAN/MAN Wireless LANS [0027]
    • IEEE 802.15.1-2005, Wireless Personal Area Networks [0027]
    • IEEE 802.16-2004, LAN/MAN Broadband Wireless LANS [0027]
    • SATA, z. B. SATA Rev. 3.0. Specification, May 27, 2009, SATA International Organization/SATA-IO [0028]
    • Peripheral Components Interconnect/PCI Express x16 Graphics 150W-ATX Specification 1.0, PCI Special Interest Group [0028]
    • USB Specification 2.0 [0028]
    • USB Implementers Forum [0028]

Claims (20)

  1. Verfahren zum Ausgeben von einem oder mehreren Unterbrechungsereignissen, das Folgendes umfasst: Ermitteln eines ersten Unterbrechungsereignisses von einer ersten Ereignisquelle; Ermitteln eines zweiten Unterbrechungsereignisses von einer zweiten Ereignisquelle; und Koordinieren der Ausgabe des ersten und des zweiten Unterbrechungsereignisses an eine Plattform zumindest teilweise auf der Grundlage von der Plattform zugehörigen Laufzeitinformationen.
  2. Verfahren nach Anspruch 1, wobei das Koordinieren der Ausgabe des ersten und des zweiten Unterbrechungsereignisses das Bestimmen einer Haltezeit zumindest teilweise auf der Grundlage der Laufzeitinformationen und das Verzögern von mindestens einem von dem ersten und dem zweiten Unterbrechungsereignis zumindest teilweise auf der Grundlage der Haltezeit umfasst.
  3. Verfahren nach Anspruch 1, das ferner das Erhalten der Laufzeitinformationen von mindestens einer von der ersten und der zweiten Ereignisquelle umfasst.
  4. Verfahren nach Anspruch 3, wobei die Laufzeitinformationen von einem Gerät erhalten werden, das an die Plattform gekoppelt ist, wobei mindestens eines von dem ersten und dem zweiten Unterbrechungsereignis ein Eingabe/Ausgabeereignis umfasst, und die Laufzeitinformationen eine Verzögerungszeit für das Eingabe/Ausgabeereignis bestimmen.
  5. Verfahren nach Anspruch 3, wobei die Laufzeitinformationen von einer aktiven Anwendung auf der Plattform erhalten werden, wobei mindestens eines von dem ersten und dem zweiten Unterbrechungsereignis ein Zeitgeberereignis umfasst und die Laufzeitinformationen eine Verzögerungsfähigkeitseigenschaft des Zeitgeberereignisses bestimmen.
  6. Verfahren nach Anspruch 1, das ferner das Erhalten der Laufzeitinformationen von der Plattform umfasst.
  7. Verfahren nach Anspruch 6, wobei die Laufzeitinformationen eine Break-Even-Zeit für einen niedrigen Energiezustand bestimmen.
  8. Verfahren nach Anspruch 6, wobei die Laufzeitinformationen eine programmierbare Leistungsanforderung bestimmen.
  9. Vorrichtung zum Ausgeben von einem oder mehreren Unterbrechungsereignissen, die Folgendes umfasst: ein Eingabe/Ausgabemodul, das Folgendes aufweist: Mittel zum Ermitteln eines ersten Unterbrechungsereignisses von einer ersten Ereignisquelle, Mittel zum Ermitteln eines zweiten Unterbrechungsereignisses von einer zweiten Ereignisquelle, und Mittel zum Koordinieren der Ausgabe des ersten und zweiten Unterbrechungsereignisses an eine Plattform zumindest teilweise auf der Grundlage von der Plattform zugehörigen Laufzeitinformationen.
  10. Vorrichtung nach Anspruch 9, wobei die Koordinierung der Ausgabe des ersten und zweiten Unterbrechungsereignisses eine Bestimmung einer Haltezeit zumindest teilweise auf der Grundlage der Laufzeitinformationen und eine Verzögerung von mindestens einem von dem ersten und dem zweiten Unterbrechungsereignis zumindest teilweise auf der Grundlage der Haltezeit umfasst.
  11. Vorrichtung nach Anspruch 9, wobei das Eingabe/Ausgabemodul ferner Mittel zum Erhalten der Laufzeitinformationen von mindestens einer von der ersten und der zweiten Ereignisquelle umfasst.
  12. Vorrichtung nach Anspruch 11, wobei die Laufzeitinformationen von einem Gerät erhalten werden, das an die Plattform gekoppelt ist, wobei mindestens eines von dem ersten und dem zweiten Unterbrechungsereignis ein Eingabe/Ausgabeereignis umfasst, und die Laufzeitinformationen eine Verzögerungszeit für das Eingabe/Ausgabeereignis bestimmen.
  13. Vorrichtung nach Anspruch 11, wobei die Laufzeitinformationen von einer aktiven Anwendung auf der Plattform erhalten werden und mindestens eines von dem ersten und dem zweiten Unterbrechungsereignis ein Zeitgeberereignis umfasst, und die Laufzeitinformationen eine Verzögerungsfähigkeitseigenschaft des Zeitgeberereignisses bestimmen.
  14. Vorrichtung nach Anspruch 9, wobei das Eingabe/Ausgabemodul ferner Logik zum Erhalten der Laufzeitinformationen von der Plattform umfasst und die Laufzeitinformationen mindestens eines von einer Break-Even-Zeit eines niedrigen Energiezustands und einer programmierbaren Leistungsanforderung bestimmen.
  15. System zur Ausgabe von einem oder mehreren Unterbrechungsereignissen, das Folgendes umfasst: eine erste Ereignisquelle; eine zweite Ereignisquelle; einen Prozessor; und ein Eingabe/Ausgabemodul, das an den Prozessor gekoppelt ist, wobei das Eingabe/Ausgabemodul Folgendes aufweist: Mittel zum Ermitteln eines ersten Unterbrechungsereignisses von der ersten Ereignisquelle, Mittel zum Ermitteln eines zweiten Unterbrechungsereignisses von der zweiten Ereignisquelle, und Mittel zum Koordinieren der Ausgabe des ersten und zweiten Unterbrechungsereignisses an das System zumindest teilweise auf der Grundlage von dem System zugehörigen Laufzeitinformationen.
  16. System nach Anspruch 15, wobei die Koordinierung der Ausgabe des ersten und zweiten Unterbrechungsereignisses eine Bestimmung einer Haltezeit zumindest teilweise auf der Grundlage der Laufzeitinformationen und eine Verzögerung von mindestens einem von dem ersten und dem zweiten Unterbrechungsereignis zumindest teilweise auf der Grundlage der Haltezeit umfasst.
  17. System nach Anspruch 15, wobei das Eingangs/Ausgangsmodul ferner Mittel zum Erhalten der Laufzeitinformationen von mindestens einer von der ersten und der zweiten Ereignisquelle umfasst.
  18. System nach Anspruch 17, wobei mindestens eine von der ersten und zweiten Ereignisquelle ein an das System gekoppeltes Gerät umfasst, wobei mindestens eines von dem ersten und dem zweiten Unterbrechungsereignis ein Eingabe/Ausgabeereignis umfasst und die Laufzeitinformationen eine Verzögerungszeit für das Eingabe/Ausgabeereignis bestimmen.
  19. System nach Anspruch 17, wobei mindestens eine von der ersten und der zweiten Ereignisquelle eine Komponente des Systems umfasst, um eine aktive Anwendung auszuführen, wobei mindestens eines von dem ersten und dem zweiten Unterbrechungsereignis ein Zeitgeberereignis umfasst, und die Laufzeitinformationen eine Verzögerungsfähigkeitseigenschaft des Zeitgeberereignisses bestimmen.
  20. System nach Anspruch 15, wobei das Eingabe/Ausgabemodul ferner Mittel zum Erhalten der Laufzeitinformationen von dem System umfasst und die Laufzeitinformationen mindestens eines von einer Break-Even-Zeit eines niedrigen Energiezustands und einer programmierbaren Leistungsanforderung bestimmen.
DE112011103194.7T 2010-09-23 2011-09-16 Koordinieren von Gerät- und Anwendungsunterbrechungsereignissen zum Plattformenergiesparen Active DE112011103194B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/888,855 2010-09-23
US12/888,855 US8612998B2 (en) 2010-09-23 2010-09-23 Coordinating device and application break events for platform power saving
PCT/US2011/052045 WO2012040068A1 (en) 2010-09-23 2011-09-16 Coordinating device and application break events for platform power saving

Publications (2)

Publication Number Publication Date
DE112011103194T5 true DE112011103194T5 (de) 2013-06-27
DE112011103194B4 DE112011103194B4 (de) 2017-02-09

Family

ID=45872025

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112011103194.7T Active DE112011103194B4 (de) 2010-09-23 2011-09-16 Koordinieren von Gerät- und Anwendungsunterbrechungsereignissen zum Plattformenergiesparen

Country Status (8)

Country Link
US (3) US8612998B2 (de)
JP (1) JP5628431B2 (de)
KR (1) KR101506857B1 (de)
CN (1) CN102597912B (de)
DE (1) DE112011103194B4 (de)
GB (1) GB2497025B (de)
TW (3) TWI559150B (de)
WO (1) WO2012040068A1 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8612998B2 (en) 2010-09-23 2013-12-17 Intel Corporation Coordinating device and application break events for platform power saving
CN103218032B (zh) 2011-11-29 2017-07-14 英特尔公司 利用相对能量损益平衡时间的功率管理
US9311145B2 (en) * 2012-06-29 2016-04-12 Intel Corporation Using platform idle duration information to notify platform devices of upcoming active periods
US9213390B2 (en) * 2012-12-28 2015-12-15 Intel Corporation Periodic activity alignment
US9195292B2 (en) * 2013-06-26 2015-11-24 Intel Corporation Controlling reduced power states using platform latency tolerance
EP3014460A4 (de) * 2013-06-28 2016-11-30 Intel Corp Adaptive unterbrechungsmoderation für energieeffiziente mobile plattformen
US9891686B2 (en) * 2013-09-26 2018-02-13 Intel Corporation Throttling device power
KR20160110509A (ko) * 2014-03-24 2016-09-21 인텔 코포레이션 전력 소비를 감소시키기 위한 인터럽트 처리의 동기화
KR101941761B1 (ko) * 2014-05-12 2019-01-23 후아웨이 테크놀러지 컴퍼니 리미티드 소비 전력을 감소하기 위한 방법, 장치 및 모바일 단말기
US9860189B2 (en) * 2015-04-30 2018-01-02 Dell Products Lp Systems and methods to enable network communications for management controllers
US10067847B1 (en) * 2015-09-08 2018-09-04 Amazon Technologies, Inc. Time-based on-chip hardware performance monitor
US9965220B2 (en) 2016-02-05 2018-05-08 Qualcomm Incorporated Forced idling of memory subsystems

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832286A (en) * 1991-12-04 1998-11-03 Sharp Kabushiki Kaisha Power control apparatus for digital electronic device
US5613129A (en) * 1994-05-02 1997-03-18 Digital Equipment Corporation Adaptive mechanism for efficient interrupt processing
FR2776460A1 (fr) * 1998-03-20 1999-09-24 Philips Electronics Nv Procede et dispositif d'economie d'energie, et equipement electronique embarque
US6065089A (en) * 1998-06-25 2000-05-16 Lsi Logic Corporation Method and apparatus for coalescing I/O interrupts that efficiently balances performance and latency
SG65097A1 (en) * 1998-12-28 2001-08-21 Compaq Computer Corp Break event generation during transitions between modes of operation in a computer system
US6711644B1 (en) 2000-07-27 2004-03-23 International Business Machines Corporation Apparatus and method for communicating the completion of asynchronous input/output
US6823240B2 (en) 2001-12-12 2004-11-23 Intel Corporation Operating system coordinated thermal management
EP1471431B1 (de) * 2002-01-24 2007-10-24 Fujitsu Limited Computer zur dynamischen bestimmung der unterbrechungsverzögerung
US7093141B2 (en) 2002-12-18 2006-08-15 International Business Machines Corporation Power aware adaptive polling
US7313708B2 (en) * 2004-04-28 2007-12-25 Microsoft Corporation Interlocked plug and play with power management for operating systems
US7451333B2 (en) * 2004-09-03 2008-11-11 Intel Corporation Coordinating idle state transitions in multi-core processors
JP2006072698A (ja) * 2004-09-02 2006-03-16 Matsushita Electric Ind Co Ltd 省電力対応装置
US20060075347A1 (en) 2004-10-05 2006-04-06 Rehm Peter H Computerized notetaking system and method
US7853960B1 (en) * 2005-02-25 2010-12-14 Vmware, Inc. Efficient virtualization of input/output completions for a virtual device
US7454632B2 (en) * 2005-06-16 2008-11-18 Intel Corporation Reducing computing system power through idle synchronization
US7640412B2 (en) 2007-01-04 2009-12-29 Hitachi Global Storage Technologies Netherlands, B.V. Techniques for improving the reliability of file systems
US8892780B2 (en) 2007-03-08 2014-11-18 Oracle International Corporation Management of shared storage I/O resources
US8661167B2 (en) 2007-09-17 2014-02-25 Intel Corporation DMA (direct memory access) coalescing
US20090150696A1 (en) * 2007-12-10 2009-06-11 Justin Song Transitioning a processor package to a low power state
US8024590B2 (en) * 2007-12-10 2011-09-20 Intel Corporation Predicting future power level states for processor cores
US8255713B2 (en) 2008-06-26 2012-08-28 Intel Corporation Management of link states using plateform and device latencies
EP2350875A1 (de) 2008-09-19 2011-08-03 Oracle International Corporation Speicherseitige speicheranforderungsverwaltung
US8195750B1 (en) 2008-10-22 2012-06-05 Kaspersky Lab, Zao Method and system for tracking botnets
US8468601B1 (en) 2008-10-22 2013-06-18 Kaspersky Lab, Zao Method and system for statistical analysis of botnets
US8495403B2 (en) 2008-12-31 2013-07-23 Intel Corporation Platform and processor power management
US8612998B2 (en) 2010-09-23 2013-12-17 Intel Corporation Coordinating device and application break events for platform power saving
US8601296B2 (en) * 2008-12-31 2013-12-03 Intel Corporation Downstream device service latency reporting for power management
US8599729B2 (en) 2009-09-22 2013-12-03 Intel Corporation Adaptive power control in a wireless device
US9081621B2 (en) * 2009-11-25 2015-07-14 Microsoft Technology Licensing, Llc Efficient input/output-aware multi-processor virtual machine scheduling
US8635469B2 (en) 2009-12-22 2014-01-21 Intel Corporation Method and apparatus for I/O devices assisted platform power management
US8279790B2 (en) 2010-03-11 2012-10-02 Intel Corporation Packet buffering based at least in part upon packet receipt time interval weighted moving average
JP2012003691A (ja) * 2010-06-21 2012-01-05 Panasonic Corp 情報処理装置、情報処理方法、情報処理プログラム、情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体及び集積回路
US9026829B2 (en) * 2010-09-25 2015-05-05 Intel Corporation Package level power state optimization

Non-Patent Citations (9)

* Cited by examiner, † Cited by third party
Title
ACPI/Advanced Configuration and Power Interface Specification, ACPI Specification, Rev. 4.0, June 16, 2009, low power states
IEEE 802.11, 1999 Edition, LAN/MAN Wireless LANS
IEEE 802.15.1-2005, Wireless Personal Area Networks
IEEE 802.16-2004, LAN/MAN Broadband Wireless LANS
Peripheral Components Interconnect/PCI Express x16 Graphics 150W-ATX Specification 1.0, PCI Special Interest Group
SATA, z. B. SATA Rev. 3.0. Specification, May 27, 2009, SATA International Organization/SATA-IO
USB Implementers Forum
USB Specification 2.0
W-CDMA (UMTS), CDMA2000 (IS-865/IS-2000)

Also Published As

Publication number Publication date
US8612998B2 (en) 2013-12-17
TWI559150B (zh) 2016-11-21
KR20130048786A (ko) 2013-05-10
US9513964B2 (en) 2016-12-06
KR101506857B1 (ko) 2015-03-30
US8959531B2 (en) 2015-02-17
WO2012040068A1 (en) 2012-03-29
US20140101674A1 (en) 2014-04-10
GB2497025B (en) 2018-06-06
TW201719432A (zh) 2017-06-01
JP5628431B2 (ja) 2014-11-19
JP2013543613A (ja) 2013-12-05
DE112011103194B4 (de) 2017-02-09
CN102597912B (zh) 2015-03-25
TWI611297B (zh) 2018-01-11
TW201812601A (zh) 2018-04-01
US20120079482A1 (en) 2012-03-29
GB201303674D0 (en) 2013-04-17
US20150113543A1 (en) 2015-04-23
GB2497025A (en) 2013-05-29
CN102597912A (zh) 2012-07-18
TWI637271B (zh) 2018-10-01
TW201217973A (en) 2012-05-01

Similar Documents

Publication Publication Date Title
DE112011103194B4 (de) Koordinieren von Gerät- und Anwendungsunterbrechungsereignissen zum Plattformenergiesparen
DE112012000749B4 (de) Techniken zum Verwalten des Stromverbrauchszustands eines Prozessors
DE102010045743B4 (de) Verfahren und Vorrichtung, um Turboleistung für das Event-Handling zu verbessern
DE112012006377B4 (de) Energieverbrauch und Leistung von Computersystemen steuern
DE102013104328B4 (de) Aufgabenzuteilung in großen und kleinen Kernen
DE102010054337B4 (de) Mechanismen, um ineffizientes Core-Hopping zu vermeiden und Hardware-unterstützte Auswahl eines Niedrigleitungszustands bereitzustellen
DE112004001320B3 (de) Verfahren, System und Vorrichtung zur Verbesserung der Leistung von Mehrkernprozessoren
DE112006003444B4 (de) Verfahren und Vorrichtung zum Erfassen von Prozessorzustands-Übergängen
DE112013003290B4 (de) Verwendung der Geräteleerlaufzeit-Information zur Optimierung der Energieeffizienz
DE102013104329B4 (de) Aufgabenzuteilung in großen und kleinen Kernen
DE112008000603B4 (de) Verfahren zum Steuern von Kernarbeitsakten unter Verwendung von Niedrigleistungsmodi
DE102011102238A1 (de) Speicherenergiemanagement über dynamische Speicherbetriebszustände
DE10393969T5 (de) Mechanismus zur Verteilung von Unterbrechungen niedrigster Priorität unter Berücksichtigung des Prozessorleistungszustands
DE102019112776A1 (de) Thermisches selbstlernen mit durch bestärkung lernendem agenten
DE112007001713T5 (de) System und Verfahren zum Steuern von Zuständen niedriger Energie bei Prozessoren
DE112005003133T5 (de) Verminderung hörbarer Geräusche bei Leitungszustandsübergängen
DE112013006241T5 (de) Techniken für Plattform-Arbeitszyklus-Wechsel
DE112015004438T5 (de) Niedrigenergie-Prozessor zum Steuern von Betriebszuständen eines Computersystems
DE112019000662T5 (de) System, Vorrichtung und Verfahren für ein Handschlag-Protokoll für Niedrigleistungszustandsübergänge
DE112014006501T5 (de) Synchronisierung der Unterbrechungsverarbeitung zur Verringerung des Stromverbrauchs
DE112017008158T5 (de) Dateienvorababrufeinplanung für cachespeicher zur verringerung von latenzen
DE112012006163T5 (de) Steuerung des Energieverbrauchs in Mehrkernumgebungen
DE102018130166A1 (de) Latenzmessungstechnologie
DE112012006164B4 (de) Steuern von Power-Management in Mikroservern
DE112020004451T5 (de) Koordinieren von operationen mehrerer kommunikationschips über lokale hub-vorrichtung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final