DE112013003290T5 - Verwendung der Geräteleerlaufzeit-Information zur Optimierung der Energieeffizienz - Google Patents

Verwendung der Geräteleerlaufzeit-Information zur Optimierung der Energieeffizienz Download PDF

Info

Publication number
DE112013003290T5
DE112013003290T5 DE112013003290.2T DE112013003290T DE112013003290T5 DE 112013003290 T5 DE112013003290 T5 DE 112013003290T5 DE 112013003290 T DE112013003290 T DE 112013003290T DE 112013003290 T5 DE112013003290 T5 DE 112013003290T5
Authority
DE
Germany
Prior art keywords
platform
idle
idle time
time
aggregator
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
DE112013003290.2T
Other languages
English (en)
Other versions
DE112013003290B4 (de
Inventor
Christian Maciocco
Ohad Falik
Ren Wang
Nadav Shulman
Paul Diefenbaugh
Tsung-Yuan Charles Tai
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.)
Tahoe Research Ltd
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 DE112013003290T5 publication Critical patent/DE112013003290T5/de
Application granted granted Critical
Publication of DE112013003290B4 publication Critical patent/DE112013003290B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Remote Monitoring And Control Of Power-Distribution Networks (AREA)
  • Power Sources (AREA)

Abstract

Systeme und Verfahren können die Aggregierung einer ersten Leerlaufzeit von einem ersten, mit der Plattform verbundenen Gerät und einer zweiten Leerlaufzeit von einem zweiten, mit der Plattform verbundenen Gerät bereitstellen. Darüber hinaus kann eine Leerlaufzeit für die Plattform basierend zumindest teilweise auf der ersten Leerlaufzeit und der zweiten Leerlaufzeit ausgewählt werden. In einem Beispiel sind die Leerlaufzeiten als deterministisch, geschätzt oder statistisch eingestuft.

Description

  • HINTERGRUND
  • Technisches Gebiet
  • Die Ausführungsformen beziehen sich generell auf das Strommanagement in Rechenplattformen. Im Spezielleren beziehen sich die Ausführungsformen auf die Verwendung von Geräteleerlaufzeiten zur Auswahl von Leerlaufzustanden für Rechenplattforme.
  • Erörterung
  • Bei konventionellen mobilen Rechenplattformen können Leerlaufzustande dazu dienen, den Stromverbrauch zu reduzieren und die Batterielebenszeit zu verlängern, wobei tiefere Leerlaufzustände generell mehr Strom sparen. Die Tiefe des Leerlaufzustandes kann jedoch begrenzt sein, um die Servicequalität (QoS) zu garantieren, die Plattformgeräte erfordern. Das unnötige Begrenzen des Leerlaufzustandes kann unter bestimmten Umständen eine negative Wirkung auf die Energieeffizienz und -leistung haben.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die verschiedenen Vorteile der erfindungsgemäßen Ausführungsformen sind für den Fachmann beim Durchlesen der folgenden Beschreibung und der anhängenden Ansprüche sowie unter Bezugnahme auf die folgenden Zeichnungen offensichtlich, in denen:
  • 1 gemäß einer Ausführungsform eine Aufzeichnung eines Beispiels von Entscheidungen über Leerlaufzustände während eines bestimmten Zeitraums ist;
  • 2 ein Blockdiagramm eines Beispiels einer Aggregatorarchitektur gemäß einer Ausführungsform ist;
  • 3 ein Blockdiagramm eines Beispiels einer Plattform ist, die gemäß einer Ausführungsform ein Berichterstattungsschema für Leerlaufzeit-Informationen ist;
  • 4 ein Ablaufdiagramm eines Beispiels einer Methode zur Bestimmung der Leerlaufzeit-Aktionen gemäß einer Ausführungsform ist;
  • 5 ein Ablaufdiagramm eines Beispiels einer Methode zur Verwaltung von Plattform-Leerlaufzeiten gemäß einer Ausführungsform ist;
  • 6 ein Ablaufdiagramm eines Beispiels einer Methode zur Verwaltung von Plattform-Leerlaufzeiten gegen Ende einer Leerlaufzeit gemäß einer Ausführungsform ist; und
  • 7 eine Aufzeichnung eines Beispiels eines Zeitversatz-Kompensierungsschemas gemäß einer Ausführungsform ist.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In 1 wird eine Leerlaufzeit-Auswahlaufzeichnung für eine Plattform wie etwa ein Rechengerät gezeigt. Die Plattform kann eine Plattformlatenz-Toleranzanforderung (LTR) 12 haben, die die maximal akzeptable Verzögerung bei der Erregung eines für die Plattform ausgewählten Leerlaufzustands anzeigen kann, um die Korrektheit zu garantieren. In dieser Hinsicht ist der Übergang aus einem bestimmten Leerlaufzustand typischerweise nicht unmittelbar, wobei die Plattform LTR 12 einen Mechanismus zur Steuerung des mit Leerlaufzustandsübergängen zusammenhängenden Latenz-Overhead bereitstellen kann, indem sie bestimmt, welcher niedrige Leerlaufzustand erreicht werden kann, um die Ausgangslatenz-Anforderungen zu errfüllen. Wie noch detaillierter erörtert wird, kann die Plattform LTR 12 von der erwarteten Aktivität der internen und externen Geräte abhängen, die mit der Plattform zusammenhängen. Im veranschaulichten Beispiel wird die Leerlaufzeit-Information von den zur Plattform gehörenden Geräten aggregiert, wobei die Leerlaufzeit-Information von einem bestimmten Gerät generell die Dauer der Zeit angibt, die das Gerät im Leerlauf bleiben soll.
  • Im Spezielleren kann die Leerlaufzeit-Information dazu dienen, die Plattform schneller in den tiefsten Leerlaufzustand zu versetzen, der die Plattform LTR 12 entlang eines Zustandsauswahlpfads 10 befriedigt. Tatsächlich wäre das veranschaulichte Leerlaufzeit-Schema auch für Plattforme von Vorteil, die keine LTR haben. Es ist speziell zu beachten, dass ein konventioneller Zustandsauswahlpfad 14, der keine Leerlaufzeit-Informationen von Plattformgeräten aggregiert, zu dem in einer Region 16 der Aufzeichnung gezeigten zusätzlichen Stromverbrauch führen könnte. In einem Beispiel sind die Leerlaufzustände ACPI („Advanced Configuration and Power Interface”, z. B. ACPI-Spezifikation, Rev. 4.0a, 5. April 2010)-Niedrigstromzustände, obwohl auch andere Leerlaufzustände benutzt werden können.
  • 2 zeigt eine Aggregatorarchitektur, in der ein untergeordneter Aggregator 18 Leerlaufzeit-Informationen von einem ersten Satz von Geräten 20 erfasst, und ein Root-Aggregator 22 Leerlaufzeit-Informationen von dem untergeordneten Aggregator 18 und einem zweiten Satz von Geräten 24 erfasst. Der erste und der zweite Satz von Geräten 20, 24 können eine breite Vielfalt von internen und/oder externen Plattformgeräten umfassen, wie z. B. Timer, Audiogeräte, Displays, Kameras, Mäuse, Tastaturen, Sensoren, Netzwerkgeräte, Kommunikationsgeräte usw. Die Leerlaufzeit-Information kann von den Geräten 20, 24 z. B. unter Verwendung von spezifischen Busprimitiven, wie z. B. PCIe(„Peripheral Components Interconnect Express”, z. B. die PCI Express ×16 Graphics 150W-ATX Spezifikation 1.0, PCI Special Interest Group)-VDM („Vendor Defined Message”), an die Aggregatoren 18, 22 übertragen oder an spezifische Speicheradressen geschrieben werden. Darüber hinaus können die Aggregatoren 18, 22 die Quelle der Leerlaufzeit-Information z. B. über die Identifikation des Downstream-Port zurückverfolgen, von dem Leerlaufzeit-Nachrichten stammen, oder durch die Verwendung von globalen Aufzählungsschemata, wie z. B. die Quellen BDF(„Bus, Device, Function”)-Information, die in PCIe-Nachrichten gemeldet wird.
  • In 3 wird eine Plattform gezeigt, wobei die Plattform Teil einer Plattform sein kann, die Computing-Funktionalität (z. B. Personal Digital Assistant/PDA, Laptop, Smart-Tablet), Kommunikationsfunktionalität (z. B. drahtloses Smartphone), Bildverarbeitungsfunktionalität, Medienabspielfunktionalität (z. B. Smart-TV/TV) oder jede Kombination davon (z. B. mobiles Internetgerät/MID) aufweist. Die gezeigte Plattform umfasst ein detaillierteres Beispiel eines Leerlaufzeit-Meldungsschemas, in dem der erste Satz von Geräten 20 (20a20k) die Leerlaufzeit-Information an den untergeordneten Aggregatoren 18 meldet und der zweite Satz von Geräten 24 (24a24e) die Leerlaufzeit-Information an den Root-Aggregator 22 meldet. In einem Beispiel führt der Root-Aggregator 22 dies auf einem Prozessor aus, wie z. B. der zentralen Recheneinheit (CPU), und der untergeordnete Aggregator 18 führt dies auf einem Input/Output(I/O)-Untersystem der Plattform aus, wobei die Leerlaufzeiten (z. B. die Leerlaufzeit-Information) von den Geräten 20, 24 durch die Aggregatoren 18, 22 als deterministisch, geschätzt oder statistisch eingestuft werden können.
  • Generell können deterministische Geräte sein, von denen nicht erwartet wird, dass sie Verkehr für einen spezifizierten Zeitraum generieren, und von denen bekannt ist, dass sie aufwachen und aktiv werden, wenn der spezifizierte Zeitraum endet. Ein solches Gerät kann vor dem Ende des spezifizierten Zeitraums Verkehr generieren, und in diesem Fall kann das betroffene Gerät erwarten, dass ein solcher Service gemäß der maximalen, vom Gerät geforderten Latenz (z. B. LTR) bedient wird. Die LTR kann daher einen QoS-”Boden” für jedes deterministische Gerät etablieren. Eine verspätete Bedienung kann jedoch unter manchen Bedingungen relativ selten sein (z. B. eine Ausnahme vom Normalbetrieb). Wie noch detaillierter erörtert wird, können die deterministischen Geräte auch Leerlaufzeiten melden, wobei die deterministischen Leerlaufzeiten in einem Beispiel als ein Zeitraum von der Zeit gemeldet wird, als zum letzten Mal eine Nachricht von diesem Gerät gesendet wurde.
  • Somit empfängt der untergeordnete Aggregator 18 deterministische Leerlaufzeiten und LTR-Informationen von internen Geräten wie z. B. einem Timer 20e (z. B. Hochleistungs-Timer/HPET) und einem Audiogerät 20i (z. B. Audio Direct Memory Access/DMA-Controller), und der gezeigte Root-Aggregator 22 empfängt deterministische Leerlaufzeiten von internen Geräten wie einem oder mehreren Timern 24e (z. B. Local Advanced Programmable Interrupt Controller/LAPIC-Timer). Deterministische Leerlaufzeit können auch von externen Geräten wie Displays, Kameras, usw. empfangen werden.
  • In einem Beispiel unterhält der untergeordnete Aggregator 18 einen deterministischen Zähler für jeden Timer 20e und das Audiogerät 20i, wobei die deterministischen Zähler von den gemeldeten Leerlaufzeiten dekrementieren (z. B. herunterzählen), und der untergeordnete Aggregator 18 den Mindestwert der deterministischen Zähler als deterministische Leerlaufzeit auswählt, die an den Root-Aggregator 22 zu melden ist, wenn er später vom Root-Aggregator 22 abgefragt wird oder sich entscheidet, die Information an den Root-Aggregator zu schicken. In ähnlicher Weise kann der Root-Aggregator 22 einen deterministischen Zähler für jeden der Timer 24e sowie die vom untergeordneten Aggregator 18 gemeldete deterministische Leerlaufzeit unterhalten und den Mindestwert der deterministischen Zähler als deterministische Leerlaufzeit für die Plattform auswählen.
  • 4 zeigt eine Methode 28 zur Bestimmung der Leerlaufzeit-Aktionen. Das Verfahren 28 kann als ein Satz von logischen Befehlen implementiert werden, die in einem maschinen- oder computerlesbaren Speichermedium wie Random Access Memory (RAM), Read Only Memory (ROM), programmierbarem ROM (PROM), Firmware, Flash-Speicher usw. in konfigurierbarer Logik gespeichert sind, wie z. B. programmierbare logische Anordnungen (PLAs), feldprogrammierbare Gate-Arrays (FPGAs), komplexe programmierbare Logikbaugruppen (CPLDs), in Logikhardware mit fester Funktionalität, die Schaltungstechnik verwendet, wie z. B. eine anwendungsspezifische integrierte Schaltung (ASIC), Complementary Metal Oxide Semiconductor-(CMOS) oder Transistor-Transistor-Logik-(TTL)-Technologie oder jede Kombination davon.
  • Der veranschaulichte Verarbeitungsblock 30 bestimmt eine Leerlaufzeit für das Gerät. Wie bereits erwähnt kann die Leerlaufzeit als zeitlich relativ zu einer vom Gerät gesendeten Nachricht betrachtet werden, wobei das Gerät planen könnte, in einen Schlaf-/Leerlaufzustand zu wechseln, bis eine Antwort auf die Nachricht verarbeitet werden muss. Bei Block 32 kann festgelegt werden, ob die Plattform konfiguriert wird, eine oder mehrere Pre-Wake-Aktivitäten durchzuführen, wobei Pre-Wake-Aktivitäten z. B. strom- und/oder uhrbezogene Aufgaben umfassen, die es der Plattform ermöglichen, den Leerlaufzustand in graduellen Schritten effizienter und schneller zu verlassen. Die Festlegung bei Block 32 könnte z. B. durch das Zugreifen auf ein passendes Register oder einen programmierbaren Speicherort gemacht werden. Falls die Plattform konfiguriert wird, Pre-Wake-Aktivitäten durchzuführen, erhöht (bzw. verlängert) der veranschaulichte Block 34 die LTR des deterministischen Gerätes. Die Erhöhung der LTR kann während des Verlassens von Leerlaufzuständen mehr Latenz erlauben und es der Plattform effektiv ermöglichen, in tiefere Leerlaufzustände zu wechseln.
  • Falls die Plattform jedoch nicht konfiguriert wird, Pre-Wake-Aktivitäten durchzuführen, bleibt die LTR im veranschaulichten Beispiel unverändert. Block 36 bietet die Möglichkeit, die Leerlaufzeit und die LTR an einen Aggregator auszugeben, z. B. den Root-Aggregator 22 (2 und 3) oder den untergeordneten Aggregator 18 (2 und 3), wie bereits besprochen. Wie noch detaillierter erörtert wird, kann das deterministische Gerät auch eine weitere, kürzere LTR zur Verwendung für „Pop-ups” gegen Ende der Leerlaufzeiträume melden.
  • Geschätzte Geräte können dagegen Geräte sein, bei denen eine relativ hohe Wahrscheinlichkeit besteht, dass das Gerät keinen Verkehr für einen spezifizierten Zeitraum generiert, wobei das Gerät keinen Verkehr haben kann, wenn der spezifizierte Zeitraum abläuft. Beispiele solcher Geräte umfassen z. B. Netzwerkgeräte (z. B. erweiterbare Hostcontroller-Schnittstelle/XHCI, Geräte mit/ohne Drahtverbindung) und andere Kommunikationsgeräte, die Puffer haben, die sich auf Basis von eintreffendem Verkehr oder geplanten Betriebsfenstern füllen, im Laufe derer Aktivität vorkommen kann. Diese Geräte können auch Leerlaufzeiten als einen Zeitraum melden, von dem eine Nachricht gesendet wurde.
  • Somit empfängt der in 3 veranschaulichte untergeordnete Aggregator 18 geschätzte Leerlaufzeiten von externen Geräten wie z. B. den Expansionsgeräten 20a, 20b, die mit einem externen Bus über einen Erweiterungsport („Erweiterungsport 1”) und einen externen Hub („Ex. Hub”) gekoppelt sind, und von einem Kartengerät 20c, das mit dem externen Bus über einen Erweiterungsport („Erweiterungsport 2”) gekoppelt ist. In einem Beispiel benutzen die Erweiterungsports und das externe Hub ein PCIe-Protokoll, um miteinander zu kommunizieren. Der untergeordnete Aggregator 18 kann auch geschätzte Leerlaufzeiten von internen Geräten wie z. B. einem LAN(„Local Area Network”)-Gerät 20d, einer Fernschnittstelle (I/F, z. B. Managementmotor/ME-Schnittstelle) 20f, einem IO-(„Input/Output”)-Port 20h (z. B. Universal Serial Bus/USB-Port), einem Speicher I/F 20j (z. B. Serial Advanced Technology Attachment/SATA-Schnittstelle), usw. empfangen.
  • Im veranschaulichten Beispiel umfasst die Plattform auch bestimmte Geräte 21 (21a21g), die keine Leerlaufzeit-Information melden (z. B. „No Hint”-Geräte). In einem solchen Fall können ein oder mehrere Schnittstellen benutzt werden, um Leerlaufzeiten auf Basis des Verkehrsmusters der Kommunikation mit den Geräten 21 zu schätzen. Zum Beispiel schätzt der gezeigte IO-Port 20h die Leerlaufzeit auf Basis des Verkehrsmusters von angeschlossenen Geräten, wie z. B. einem HID(„Human Interface Device”)-Gerät 21a (z. B. Maus, Tastatur, Sensor, etc.), einem isochronen Gerät 21b (z. B. Audio, Kamera), einem Bulk-Gerät 21c (z. B. Speicher, Drucker) und einer SSD („Solid State Disk) 21d. Im Spezielleren könnte das Verkehrsmuster des isochronen Gerätes 21b von seiner Art her eher deterministisch sein, z. B. wenn das Vorkommen des nächsten Slots genau bekannt wäre. Leerlaufzeiten für das Bulk-Gerät 21c können dagegen auf Basis der früheren Aktivität geschätzt werden. Der gezeigte Speicher I/F 20j ist auch mit der SSD 21d gekoppelt, die wiederum mit einem Hub 21e und einem oder mehreren Geräten 21f, 21g gekoppelt sein kann, wobei der Speicher I/F 21j Leerlaufzeiten schätzen kann.
  • Der Speicher I/F 20j kann z. B. wissen, ob es einige anhängige IO-Anforderungen gibt, in welchem Fall er die Leerlaufzeit auf „bald < 1 ms” schätzen würde. Wenn jedoch keine IO-Anforderungen anhängig sind, kann der Speicher die Leerlaufzeit auf „lang mindestens 5 ms” schätzen. Je nach den Umständen können auch andere Werte und Implementierungen benutzt werden. Darüber hinaus empfangt der gezeigte Root-Aggregator 22 geschätzte Leerlaufzeiten von einem externen Kommunikationsgerät 24a, einem externen Grafik-Controller 24b, einem integrierten Display 24c und einem internen Grafik-Controller 24d.
  • In einem Beispiel unterhält der untergeordnete Aggregator 18 je einen geschätzten Zähler für die Expansionsgeräte 20a, 20b, das Kartengerät 20c, das LAN-Gerät 20d, das Fern-I/F 20f, den IO-Port 20h und den Speicher I/F 20j, wobei die geschätzten Zähler von den geschätzten Leerlaufzeiten dekrementieren. Der untergeordnete Aggregator 18 kann daher den Mindestwert der geschätzten Zähler als eine geschätzte Leerlaufzeit identifizieren, die an den Root-Aggregator 22 zu melden ist. In ähnlicher Weise unterhält der gezeigte Aggregator 22 je einen geschätzten Zähler für das externe Kommunikationsgerät 24a, den externen Grafik-Controller 24b, das integrierte Display 24c und den internen Grafik-Controller 24d sowie für die vom untergeordneten Aggregator 18 gemeldete geschätzte Leerlaufzeit, und wählt den Mindestwert der geschätzten Zähler als eine geschätzte Leerlaufzeit für die Plattform aus.
  • Statistische Geräte können Geräte sein, die Verkehrsmuster haben, die nur im Sinne einer spezifischen Durchschnittsquote quantifizierbar sind. Beispiele solcher Geräte sind z. B. Mäuse, Tastaturen, Sensoren, usw. Diese Geräte können die Leerlaufzeit als einen erwarteten Zeitraum zwischen Ereignissen melden. Somit empfangt der gezeigte untergeordnete Aggregator 18 auch statistische Leerlaufzeiten von internen Geräten, wie z. B. einem HID-Gerät 20g und einem HID-Gerät 20k, über einen IO-Port („IO-Port 1”, z. B. USB-Port). In einem Beispiel unterhält der untergeordnete Aggregator 18 je einen statistischen Zähler für die HID-Geräte 20g, 20k, wobei die statistischen Zähler von den gemeldeten statistischen Leerlaufzeiten dekrementieren. Der untergeordnete Aggregator 18 kann daher den Mindestwert der statistischen Zähler als eine statistische Leerlaufzeit identifizieren, die an den Root-Aggregator 22 zu melden ist.
  • Falls es nahe des Mindestwertes der statistischen Zähler mehrere Werte gibt, kann ein Kompensationsansatz benutzt werden, bei dem eine kürzere Zeit angenommen wird, weil die Wahrscheinlichkeit, dass eines der Ereignisse vorkommen wird, ansteigt. Somit könnte der gezeigte untergeordnete Aggregator 18 die statistische Leerlaufzeit und/oder die Plattform-Leerlaufzeit reduzieren, falls sich die Leerlaufzeit des HID-Gerätes 20g und die Leerlaufzeit des HID-Gerätes 20k innerhalb eines vorbestimmten Abstands zueinander befinden. Die Plattform kann auch die Plattform-Managementlogik 26 umfassen, die Leerlaufzustände für die Plattform auf Basis der Leerlaufzeit-Information von den Aggregatoren 18, 22 auswählt.
  • Im Speziellen zeigt 5 ein Verfahren 38 zum Management von Plattform-Leerlaufzuständen. Das Verfahren 38 kann als ein Satz logischer Befehle implementiert werden, die in einem maschinen- oder computerlesbaren Speichermedium gespeichert sind, wie RAM, ROM, PROM, Firmware, Flash-Speicher usw. in konfigurierbarer Logik, wie z. B. PLAs, FPGAs, CPLDs, in Logikhardware mit fester Funktionalität, die Schaltungstechnik verwendet, wie z. B. eine ASIC-, CMOS oder TTL-Technologie oder jede Kombination davon. Der gezeigte Verarbeitungsblock 40 aggregiert Leerlaufzeiten von Plattformgeräten, wobei eine oder mehrere deterministische Leerlaufzeiten und Latenztoleranzen bei Block 42 identifiziert werden können. Der Block 44 kann dazu dienen, eine minimale deterministische Leerlaufzeit unter den deterministischen Leerlaufzeiten zu bestimmen. Zusätzlich können eine oder mehrere Leerlaufzeiten und Latenzanforderungen bei Block 46 identifiziert werden, wobei der gezeigte Block 48 eine minimale statistische Leerlaufzeit unter den statistischen Leerlaufzeiten bestimmt. Der Block 50 kann eine oder mehrere geschätzte Leerlaufzeiten und Latenztoleranzen identifizieren, und der Block 52 bestimmt eine minimale geschätzte Leerlaufzeit unter den geschätzten Leerlaufzeiten. Darüber hinaus kann eine Plattform-Leerlaufzeit bei Block 54 auf Basis der minimalen deterministischen Leerlaufzeit, der minimalen statistischen Leerlaufzeit und der minimalen geschätzten Leerlaufzeit bestimmt werden. In einem Beispiel wird der Minimalwert dieser Minimalwerte als Plattform-Leerlaufzeit benutzt. Ein Plattform-Leerlaufzustand kann bei Block 56 auf Basis der Plattform-Leerlaufzeit und der Latenztoleranzen ausgewählt werden.
  • Zum Beispiel könnte das Gerät, das dem für die Plattform-Leerlaufzeit benutzten Minimalwert entspricht, mittels Downstream-Port-Information, globalen Aufzählungsschemata, etc. identifiziert werden, wie bereits erwähnt. Dementsprechend kann auch die LTR dieses Gerätes identifiziert und als Plattform-LTR, wie z. B. Plattform-LTR 12 (1), benutzt werden, um einen Leerlaufzustand für die Plattform auszuwählen.
  • In 6 wird ein Verfahren 58 zum Management von Plattform-Leerlaufzeiten gegen Ende einer Leerlaufzeit gezeigt. Das Verfahren 58 kann als ein Satz logischer Befehle implementiert werden, die in einem maschinen- oder computerlesbaren Speichermedium gespeichert sind, wie RAM, ROM, PROM, Firmware, Flash-Speicher usw. in konfigurierbarer Logik, wie z. B. PLAs, FPGAs, CPLDs, in Logikhardware mit fester Funktionalität, die Schaltungstechnik verwendet, wie z. B. eine ASIC-, CMOS oder TTL-Technologie oder jede Kombination davon. Der gezeigte Verarbeitungsblock 60 bestimmt, ob eine Leerlauf-Plattform sich nahe dem Ende der Plattform-Leerlaufzeit befindet. Falls ja, dann kann bei Block 62 eine „Pop-up-Zeit” auf Basis einer relativ kurzen Latenztoleranz bestimmt werden. Diesbezüglich kann ein Prozess benutzt werden, um die Plattform für kurze Zeit aus dem Leerlaufzustand zu holen und zu bestimmen, ob der gleiche oder ein tieferer Leerlaufzustand erreichbar ist. Der Prozess könnte daher als ein „Pop-up-Prozess” betrachtet werden, der über einen Zeitraum hinweg stattfindet, der als „Pop-up-Zeit” oder Fenster (z. B. vorläufige „Wachzeit”) bezeichnet werden kann.
  • Wenn die Leerlaufzeit mit einem deterministischen Gerät zusammenhängt, bestimmt der veranschaulichte Ansatz die Länge der Pop-up-Zeit auf Basis einer relativ kurzen LTR im gezeigten Beispiel, um eine ordnungsgemäße Bedienung des deterministischen Geräteverkehrs sicherzustellen/zu garantieren (weil deterministische Geräte längere LTRs melden können, wenn die Plattform für Pre-Wake-Operationen konfiguriert ist). Die kürzere LTR kann daher in einem deterministisch garantierten LTR-Register gespeichert werden, das die Reaktionsfähigkeit der Plattform am Ende einer deterministischen Leerlaufzeit definiert, wobei die kürzere LTR für die Pop-up-Zeit garantiert werden kann.
  • Somit führt der Block 64 eine oder mehrere Pre-Wake-Aktivitäten durch, wobei bei Block 66 bestimmt werden kann, ob das deterministische Gerät (z. B. in Verbindung mit der Plattform-Leerlaufzeit) Verkehr generiert hat. Somit kann der Block 66 das mit der Plattform-Leerlaufzeit zusammenhängende Gerät über einen Zeitraum, der gleichlang ist wie die Pop-up-Zeit, auf Aktivität überwachen. Ist keine solche Aktivität vorgekommen, bestimmt der Block 68, ob die Pop-up-Zeit abgelaufen ist. Ist die Pop-up-Zeit nicht abgelaufen, überprüft der veranschaulichte Loop erneut, ob es eine Geräteaktivität gab. Wenn die Pop-up-Zeit abläuft, ohne dass eine Geräteaktivität erkannt wird, versetzt der veranschaulichte Block 70 die Plattform zurück in den gleichen oder einen tieferen Leerlaufzustand, um weiteren Strom zu sparen und die Batterielebenszeit zu verlängern. Falls bei Block 66 eine Geräteaktivität erkannt wird, sorgt der veranschaulichte Block 72 für die Verarbeitung der Daten/des Verkehrs, die mit dem betroffenen Gerät zusammenhängen.
  • In Fällen, wo das Gerät und die Aggregatoren keine gemeinsame Zeitbasis (z. B. Uhr) benutzen, kann eine Zeitversatz-Kompensierung verwendet werden. Diesbezüglich zeigt 7 ein Zeitversatz-Kompensierungsschema, in dem die Geräte-/Aggregatoraktion über Zeit aufgezeichnet wird. Im veranschaulichten Beispiel wird eine Leerlauf-Nachricht von einem ersten Gerät an einen Aggregator übertragen, wobei das erste Gerät eine Uhr benutzt, die etwas schneller ist als die Uhr, die vom Aggregator benutzt wird (z. B. negativer Zeitversatz). Ein Gerätezeilensegment 76 beginnt, wenn ein Leerlauf-Nachrichtenverbreitungsfenster 78 geöffnet wird, und ein Aggregatorzeilensegment 74 beginnt, wenn das Leerlauf-Nachrichtenverbreitungsfenster 78 geschlossen wird. Somit repräsentiert das Gerätezeilensegment 76 den Zeitraum, während dem das erste Gerät sich im Leerlaufzustand befindet, und das Aggregatorzeilensegment 74 repräsentiert den Zeitraum, während dem der Aggregator sich im Leerlaufzustand befindet, wie im Beispiel gezeigt. Bei Zeit T1 läuft die Leerlaufzeit ab. Weil das erste Gerät eine Uhr hat, die der vom Aggregator benutzten Uhr voraus ist, wacht das erste Gerät jedoch vor dem Aggregator auf. Um sicherzustellen, dass die Nachrichten vom ersten Gerät zum Aggregator nicht verlorengehen, erstellt das veranschaulichte Verfahren ein Geräte-Wartefenster 80, während dem das Gerät darauf wartet, dass der Aggregator den Leerlaufzustand verlässt.
  • In ähnlicher Weise könnte der Aggregator eine Uhr benutzen, die etwas schneller ist, als die von einem zweiten Gerät benutzte Uhr (z. B. positiver Zeitversatz). Zum Beispiel könnten ein Aggregatorzeilensegment 84 und ein Gerätezeilensegment 82 für das zweite Gerät einen Leerlaufzustand bei Zeit T2 verlassen, wobei der Zeitversatz (z. B. „Skew”) den Aggregator veranlasst, vor dem zweiten Gerät aufzuwachen. Dementsprechend implementiert das veranschaulichte Verfahren ein Aggregator-Wartefenster 86, um zu verhindern, dass der Aggregator fälschlicherweise annimmt, dass es für das zweite Gerät keine Daten/keinen Verkehr zu verarbeiten gibt. In einem Beispiel können das Geräte-Wartefenster 80 und das Aggregator-Wartefenster 86 durch die Kompensierung der Plattform-Leerlaufzeit und/oder der Pre-Wake-Aktivität für den Zeitversatz implementiert werden. Zum Beispiel kann für die Plattform-Leerlaufzeit eine Grenze festgelegt werden, damit der Zeitversatz während der Leerlaufzeit kürzer ist als die Pop-up-Zeit. Darüber hinaus können Pre-Wake-Aktivitäten so geplant werden, dass sie vorkommen, bevor das Gerät aufwacht, wobei der maximale negative Zeitversatz berücksichtigt wird. Zum Beispiel können die Pre-Wake-Aktivitäten so geplant werden, dass sie vor dem Ende des Gerätezeilensegments 76 vorkommen, wie im Beispiel gezeigt.
  • Ausführungsformen können daher ein deterministisches Gerät umfassen, das eine Logik hat, um eine Leerlaufzeit für das Gerät zu bestimmen und um eine Latenztoleranz auf Basis einer Pre-Wake-Konfiguration einer mit dem Gerät verbundenen Plattform zu bestimmen. Die Logik kann auch die Leerlaufzeit und die Latenztoleranz ausgeben. In einem Beispiel erhöht die Logik die Latenztoleranz, falls die Plattform konfiguriert ist, eine oder mehrere Pre-Wake-Aktivitäten durchzuführen.
  • Ausführungsformen können auch eine Vorrichtung umfassen, die eine erste Aggregatorlogik aufweist, die eine erste Leerlaufzeit von einem ersten Gerät und eine zweite Leerlaufzeit von einem zweiten Gerät aggregiert. Darüber hinaus kann die Vorrichtung eine Strommanagement-Logik aufweisen, um einen Leerlaufzustand für die Plattform basierend zumindest teilweise auf der ersten Leerlaufzeit und der zweiten Leerlaufzeit auszuwählen.
  • Ausführungsformen können auch eine Plattform umfassen, die ein erstes Gerät zur Ausgabe einer ersten Leerlaufzeit, ein zweites Gerät zur Ausgabe einer zweiten Leerlaufzeit und eine Root-Aggregator-Logik zur Aggregierung der ersten Leerlaufzeit und der zweiten Leerlaufzeit aufweist. Die Vorrichtung kann auch eine Strommanagement-Logik aufweisen, um einen Leerlaufzustand für die Plattform basierend zumindest teilweise auf der ersten Leerlaufzeit und der zweiten Leerlaufzeit auszuwählen.
  • Andere Ausführungsformen können mindestens ein maschinenlesbares Speichermedium umfassen, das einen Satz von Befehlen hat, die, falls sie von mindestens einem Prozessor ausgeführt werden, eine Plattform dazu veranlassen, eine erste Leerlaufzeit von einem ersten, mit der Plattform verbundenen Gerät und eine zweite Leerlaufzeit von einem zweiten, mit der Plattform verbundenen Gerät zu aggregieren. Falls die Befehle ausgeführt werden, können sie die Plattform ferner veranlassen, einen Leerlaufzustand für die Plattform basierend zumindest teilweise auf der ersten Leerlaufzeit und der zweiten Leerlaufzeit auszuwählen.
  • Darüber hinaus können Ausführungsformen ein Verfahren umfassen, in dem eine erste, mit einer Plattform verbundene Leerlaufzeit mit einer zweiten Leerlaufzeit von einem zweiten, mit der Plattform verbundenen Gerät aggregiert wird. Das Verfahren kann auch die Auswahl eines Leerlaufzustandes für die Plattform basierend zumindest teilweise auf einer ersten Leerlaufzeit und einer zweiten Leerlaufzeit bieten.
  • In diesem Dokument beschriebene Techniken können daher das Wissen über anstehende deterministische Zeiträume des Leerlaufs in Plattformgeräten wie Displaygeräten, Audiogeräten, Timer, Kamerapipelines, etc. benutzen, um es Verarbeitungskomponenten zu ermöglichen, vorher aufzuwachen, die Latenz zu reduzieren und die Weckenergie zu optimieren. Darüber hinaus kann das Wissen über anstehende deterministische Zeiträume des Leerlaufs in Plattformgeräten wie Kommunikationsgeräten, Netzwerkgeräten, etc. es Verarbeitungskomponenten ermöglichen, den passendsten Leerlaufzustand angesichts der Leerlaufzeit und der Energie-Break-even-Zeit des spezifizierten Zustands auszuwählen. Vereinfacht gesagt können die Leerlaufzeit-Meldung und -Aggregierung der Leerlaufzeit-Entscheidung einen Determinismus hinzufügen, welcher es wiederum ermöglichen kann, dass der optimale Energieeffizienzzustand so bald wie möglich erreicht wird, und dass die Residenz in diesem Zustand optimiert wird.
  • Darüber hinaus können die in diesem Dokument beschriebenen Techniken skalierbar sein, sowohl interne wie auch externe Geräte abdecken und dabei topologieunabhängig bleiben. Dementsprechend können Architekturen wie z. B. Laptops, Notebooks, Smartphones, etc. leicht von diesen Lösungen profitieren. Darüber hinaus können die in diesem Dokument beschriebenen Datenerfassungsschemata die Operation in der Gegenwart von Tiefschlafzuständen mit relativ langen Exit-Zeiten und Energie-Break-even-Zeiten besonders verbessern.
  • Ausführungsformen der vorliegenden Erfindung können bei allen Arten von Halbleiter-IC-(„Integrated Circuit”)-Chips angewendet werden. Beispiele dieser IC-Chips schließen ein, sind aber nicht beschränkt auf, Prozessoren, Controller, Chipsatz-Komponenten, programmierbare logische Anordnungen (PLAs), Speicherbausteine, Netzwerk-Chips, Systeme auf dem Chip (SoCs), SSD-Controller/NAND-Controller ASICs und dergleichen. Außerdem sind in einigen Zeichnungen Signalleiterleitungen mit Strichen dargestellt. Einige davon können unterschiedlich sein, um maßgeblichere Signalwege darzustellen, andere können eine Beschriftung enthalten, um eine Anzahl von dazugehörigen Signalwegen anzuzeigen, und/oder sie können Pfeile an einem oder an mehreren Enden enthalten, um die primäre Flussrichtung der Daten anzuzeigen. Dies soll jedoch in keiner Weise als eingrenzend ausgelegt werden. Solche zusätzlichen Details können in Verbindung mit einer oder mit mehreren beispielhaften Ausführungsformen verwendet werden, um ein besseres Verständnis einer Schaltung zu ermöglichen. Alle dargestellten Signalleitungen, ob mit oder ohne zusätzliche Informationen, können eines oder mehrere in mehrere Richtungen abgehende Signale umfassen und können mit jedem geeigneten Signalschema implementiert werden, z. B. können digitale oder analoge Leitungen mit Differenzialpaaren, Lichtwellenleitern und/oder referenzbezogenen Leitungen implementiert werden.
  • Größen/Modelle/Werte/Bereiche sind als Beispiele angegeben, obgleich Ausführungsformen der vorliegenden Erfindung nicht auf diese beschränkt sind. Mit der Ausreifung von Fertigungstechniken (z. B. Fotolithografie) im Laufe der Zeit ist zu erwarten, dass immer kleinere Geräte hergestellt werden können. Außerdem ist es möglich, dass wohlbekannte Strom-/Masseverbindungen mit den IC-Chips und anderen Komponenten in den Figuren gezeigt bzw. nicht gezeigt werden, was aus Gründen der Vereinfachung der Veranschaulichung und Erörterung geschieht, und um bestimmte Aspekte der erfindungsgemäßen Ausführungsformen nicht in den Hintergrund rücken zu lassen. Des Weiteren können Anordnungen im Blockdiagrammformat gezeigt werden, um Ausführungsformen der Erfindung nicht in den Hintergrund rücken zu lassen, und auch um aufzuzeigen, dass bestimmte Details in Bezug auf die Implementierung solcher Blockdiagrammanordnungen in hohem Maß von der Plattform abhängen, in die die Erfindung implementiert werden soll, d. h., dass der Fachmann mit solchen spezifischen Details vertraut sein sollte. Wo spezifische Details (z. B. Schaltungen) angeführt werden, um exemplarische Ausführungsformen der Erfindung zu beschreiben, sollte der Fachmann erkennen, dass erfindungsgemäße Ausführungsformen mit oder ohne Variationen dieser spezifischen Details realisiert werden können. Die Beschreibung soll somit als veranschaulichend anstatt einschränkend angesehen werden.
  • Der Begriff „gekoppelt” kann hierin verwendet sein, um auf jede Art von Beziehung, direkt oder indirekt, zwischen den betreffenden Komponenten zu verweisen, und kann sich auf elektrische, mechanische, fluidtechnische, optische, elektromagnetische, elektromechanische oder andere Verbindungen beziehen. Außerdem werden die Begriffe „erste/r/s”, „zweite/r/s”, etc. hierin nur verwendet, um die Erörterung zu vereinfachen, und tragen keine besondere temporäre oder chronologische Bedeutung, außer anderweitig angegeben. Außerdem beschränkt die Verwendung der Begriffe „erste/r/s”, „zweite/r/s”, etc. die erörterten Ausführungsformen nicht auf die Anzahl von aufgeführten Komponenten.
  • Für den Fachmann ist es anhand der vorhergegangenen Beschreibung selbstverständlich, dass die breit gefächerten Techniken der erfindungsgemäßen Ausführungsformen in einer Vielfalt von Formen implementiert werden können. Deshalb soll, während die erfindungsgemäßen Ausführungsformen in Verbindung mit besonderen Beispielen davon beschrieben worden sind, der wahre Umfang der erfindungsgemäßen Ausführungsformen nicht darauf beschränkt werden, da andere Modifikationen für den Fachmann auf diesem Gebiet bei Durchsicht der Zeichnungen, der Beschreibung und der folgenden Ansprüche offensichtlich sind.

Claims (33)

  1. Vorrichtung, umfassend: eine erste Aggregatorlogik zur Aggregierung einer ersten Leerlaufzeit von einem ersten Gerät und einer zweiten Leerlaufzeit von einem zweiten Gerät; und eine Strommanagementlogik zur Auswahl einer ersten Leerlaufzeit für die Plattform basierend zumindest teilweise auf der ersten Leerlaufzeit und der zweiten Leerlaufzeit.
  2. Vorrichtung nach Anspruch 1, wobei die erste Aggregatorlogik die erste Leerlaufzeit und die zweite Leerlaufzeit als deterministische Leerlaufzeiten identifizieren soll, und eine Plattform-Leerlaufzeit basierend zumindest teilweise auf den deterministischen Leerlaufzeiten bestimmen soll, wobei der Leerlaufzustand basierend zumindest teilweise auf der Plattform-Leerlaufzeit auszuwählen ist.
  3. Vorrichtung nach Anspruch 2, wobei die erste Aggregatorlogik eine erste, mit der Plattform-Leerlaufzeit verbundene Latenztoleranz bestimmen soll, und die Strommanagementlogik eine Pre-Wake-Aktivität vor dem Ablauf der Plattform-Leerlaufzeit durchführen soll.
  4. Vorrichtung nach Anspruch 3, ferner umfassend ein Register zum Speichern einer zweiten Latenztoleranz, wobei die erste Aggregatorlogik eine Wachzeit für die Plattform basierend zumindest teilweise auf der zweiten Latenztoleranz bestimmen soll, wobei die zweite Latenztoleranz geringer sein soll als die erste Latenztoleranz; und die Wachzeit benutzen soll, um ein mit der Plattform-Leerlaufzeit verbundenes Gerät auf Aktivität zu überwachen.
  5. Vorrichtung nach Anspruch 3, wobei die Strommanagementlogik eine oder mehrere der Plattform-Leerlaufzeiten und der Pre-Wake-Aktivitäten für den Zeitversatz kompensieren soll.
  6. Vorrichtung nach Anspruch 1, wobei die erste Aggregatorlogik die erste Leerlaufzeit und die zweite Leerlaufzeit als statistische Leerlaufzeiten identifizieren soll, und eine Plattform-Leerlaufzeit basierend zumindest teilweise auf den statistischen Leerlaufzeiten bestimmen soll, wobei der Leerlaufzustand basierend zumindest teilweise auf der Plattform-Leerlaufzeit auszuwählen ist.
  7. Vorrichtung nach Anspruch 6, wobei die erste Aggregatorlogik die Plattform-Leerlaufzeit reduzieren soll, falls sich die erste Leerlaufzeit und die zweite Leerlaufzeit innerhalb eines vorbestimmten Abstands zueinander befinden.
  8. Vorrichtung nach Anspruch 1, wobei die erste Aggregatorlogik die erste Leerlaufzeit und die zweite Leerlaufzeit als geschätzte Leerlaufzeiten identifizieren soll, und eine Plattform-Leerlaufzeit basierend zumindest teilweise auf den geschätzten Leerlaufzeiten bestimmen soll.
  9. Vorrichtung nach Anspruch 1, ferner umfassend eine zweite Aggregatorlogik zur Ausgabe einer Vielzahl von aggregierten Leerlaufzeiten, wobei die erste Aggregatorlogik eine Vielzahl von aggregierten Leerlaufzeiten empfangen soll, und wobei der Leerlaufzustand basierend auf der Vielzahl von aggregierten Leerlaufzeiten weiter ausgewählt werden soll.
  10. Plattform, umfassend: ein erstes Gerät zur Ausgabe einer ersten Leerlaufzeit; ein zweites Gerät zur Ausgabe einer zweiten Leerlaufzeit; eine erste Aggregatorlogik zur Aggregierung der ersten Leerlaufzeit und der zweiten Leerlaufzeit; und eine Strommanagementlogik zur Auswahl einer ersten Leerlaufzeit für die Plattform basierend zumindest teilweise auf der ersten Leerlaufzeit und der zweiten Leerlaufzeit.
  11. Plattform nach Anspruch 10, wobei die erste Aggregatorlogik die erste Leerlaufzeit und die zweite Leerlaufzeit als deterministische Leerlaufzeiten identifizieren soll, und eine Plattform-Leerlaufzeit basierend zumindest teilweise auf den deterministischen Leerlaufzeiten bestimmen soll, wobei der Leerlaufzustand basierend zumindest teilweise auf der Plattform-Leerlaufzeit auszuwählen ist.
  12. Vorrichtung nach Anspruch 11, wobei die erste Aggregatorlogik eine erste, mit der Plattform-Leerlaufzeit verbundene Latenztoleranz bestimmen soll, und die Strommanagementlogik eine Pre-Wake-Aktivität vor dem Ablauf der Plattform-Leerlaufzeit durchführen soll.
  13. Vorrichtung nach Anspruch 12, ferner umfassend ein Register zum Speichern einer zweiten Latenztoleranz, wobei die erste Aggregatorlogik eine Wachzeit für die Plattform basierend zumindest teilweise auf der zweiten Latenztoleranz bestimmen soll, wobei die zweite Latenztoleranz geringer sein soll als die erste Latenztoleranz; und die Wachzeit benutzen soll, um ein mit der Plattform-Leerlaufzeit verbundenes Gerät auf Aktivität zu überwachen.
  14. Plattform nach Anspruch 11, wobei das erste und das zweite Gerät einen oder mehr Timer, ein Audiogerät, ein Display und eine Kamera umfassen.
  15. Plattform nach Anspruch 10, wobei die erste Aggregatorlogik die erste Leerlaufzeit und die zweite Leerlaufzeit als statistische Leerlaufzeiten identifizieren soll, und eine Plattform-Leerlaufzeit basierend zumindest teilweise auf den statistischen Leerlaufzeiten bestimmen soll, wobei der Leerlaufzustand basierend zumindest teilweise auf der Plattform-Leerlaufzeit auszuwählen ist.
  16. Plattform nach Anspruch 15, wobei das erste und das zweite Gerät eine oder mehr Mäuse, eine Tastatur und einen Sensor umfassen.
  17. Plattform nach Anspruch 10, wobei die erste Aggregatorlogik die erste Leerlaufzeit und die zweite Leerlaufzeit als geschätzte Leerlaufzeiten identifizieren soll, und eine Plattform-Leerlaufzeit basierend zumindest teilweise auf den geschätzten Leerlaufzeiten bestimmen soll.
  18. Plattform nach Anspruch 17, wobei das erste und das zweite Gerät einen oder mehr Netzwerkgeräte und ein Kommunikationsgerät umfassen.
  19. Mindestens ein maschinenlesbares Speichermedium, das einen Satz von Befehlen enthält, der bei Ausführung durch mindestens einen Prozessor eine Plattform veranlasst: eine erste Leerlaufzeit von einem ersten, mit der Plattform verbundenen Gerät und eine zweite Leerlaufzeit von einem zweiten, mit der Plattform verbundenen Gerät zu aggregieren; und eine Leerlaufzeit für die Plattform basierend zumindest teilweise auf der ersten Leerlaufzeit und der zweiten Leerlaufzeit auszuwählen.
  20. Mindestens ein maschinenlesbares Medium nach Anspruch 19, wobei die Befehle bei Ausführung eine Plattform veranlassen: die erste Leerlaufzeit und die zweite Leerlaufzeit als deterministische Leerlaufzeiten zu identifizieren; und eine Plattform-Leerlaufzeit basierend zumindest teilweise auf den deterministischen Leerlaufzeiten bestimmen soll, wobei der Leerlaufzustand basierend zumindest teilweise auf der Plattform-Leerlaufzeit auszuwählen ist.
  21. Mindestens ein maschinenlesbares Medium nach Anspruch 20, wobei die Befehle bei Ausführung die Plattform veranlassen: eine erste, mit der Plattform-Leerlaufzeit verbundene Latenztoleranz zu bestimmen; und eine Pre-Wake-Aktivität vor dem Ablauf der Plattform-Leerlaufzeit durchzuführen.
  22. Mindestens ein maschinenlesbares Medium nach Anspruch 21, wobei die Befehle bei Ausführung eine Plattform veranlassen: eine Wachzeit für die Plattform basierend zumindest teilweise auf einer zweiten, mit der Plattform-Leerlaufzeit verbundenen Latenztoleranz zu bestimmen, wobei die zweite Latenztoleranz geringer sein soll als die erste Latenztoleranz; und die Wachzeit benutzen soll, um ein mit der Plattform-Leerlaufzeit verbundenes Gerät auf Aktivität zu überwachen.
  23. Mindestens ein maschinenlesbares Medium nach Anspruch 21, wobei die Befehle bei Ausführung eine Plattform veranlassen, eine oder mehrere der Plattform-Leerlaufzeiten und der Pre-Wake-Aktivitäten für den Zeitversatz zu kompensieren.
  24. Mindestens ein maschinenlesbares Medium nach Anspruch 19, wobei die Befehle eine Plattform veranlassen: die erste Leerlaufzeit und die zweite Leerlaufzeit als statistische Leerlaufzeiten zu identifizieren; und eine Plattform-Leerlaufzeit basierend zumindest teilweise auf den statistischen Leerlaufzeiten bestimmen soll, wobei der Leerlaufzustand basierend zumindest teilweise auf der Plattform-Leerlaufzeit auszuwählen ist.
  25. Mindestens ein maschinenlesbares Medium nach Anspruch 24, wobei die Befehle bei Ausführung eine Plattform veranlassen, die Plattform-Leerlaufzeit zu reduzieren, falls sich die erste Leerlaufzeit und die zweite Leerlaufzeit innerhalb eines vorbestimmten Abstands zueinander befinden.
  26. Mindestens ein maschinenlesbares Medium nach Anspruch 19, wobei die Befehle bei Ausführung eine Plattform veranlassen: die erste Leerlaufzeit und die zweite Leerlaufzeit als geschätzte Leerlaufzeiten zu identifizieren; und eine Plattform-Leerlaufzeit basierend zumindest teilweise auf den geschätzten Leerlaufzeiten bestimmen soll.
  27. Mindestens ein maschinenlesbares Medium nach Anspruch 19, wobei die Befehle bei Ausführung eine Plattform veranlassen, eine Vielzahl von aggregierten Leerlaufzeiten von einem mit der Plattform verbundenen Aggregator zu empfangen, wobei der Leerlaufzustand basierend auf der Vielzahl von aggregierten Leerlaufzeiten auszuwählen ist.
  28. Verfahren zum Management von Plattform-Leerlaufzuständen, umfassend: eine erste Leerlaufzeit von einem ersten, mit einer Plattform verbundenen Gerät und eine zweite Leerlaufzeit von einem zweiten, mit der Plattform verbundenen Gerät zu aggregieren; und eine Leerlaufzeit für die Plattform basierend zumindest teilweise auf der ersten Leerlaufzeit und der zweiten Leerlaufzeit auszuwählen.
  29. Verfahren nach Anspruch 28, ferner umfassend: die erste Leerlaufzeit und die zweite Leerlaufzeit als deterministische Leerlaufzeiten zu identifizieren; und eine Plattform-Leerlaufzeit basierend zumindest teilweise auf den deterministischen Leerlaufzeiten zu bestimmen, wobei der Leerlaufzustand basierend zumindest teilweise auf der Plattform-Leerlaufzeit auszuwählen ist.
  30. Verfahren nach Anspruch 29, ferner umfassend: eine erste, mit der Plattform-Leerlaufzeit verbundene Latenztoleranz zu bestimmen; und eine Pre-Wake-Aktivität vor dem Ablauf der Plattform-Leerlaufzeit durchzuführen.
  31. Gerät, umfassend: Logik, um: eine Leerlaufzeit für das Gerät zu bestimmen, eine Latenztoleranz basierend auf einer Pre-Wake-Konfiguration einer mit dem Gerät verbundenen Plattform zu bestimmen, und die Leerlaufzeit und die Latenztoleranz auszugeben.
  32. Gerät nach Anspruch 31, wobei die Logik die Latenztoleranz erhöht, falls die Plattform konfiguriert ist, eine oder mehrere Pre-Wake-Aktivitäten durchzuführen.
  33. Gerät nach Anspruch 31, wobei das Gerät einen oder mehr Timer, ein Audiogerät, ein Display und eine Kamera umfasst.
DE112013003290.2T 2012-06-29 2013-06-24 Verwendung der Geräteleerlaufzeit-Information zur Optimierung der Energieeffizienz Active DE112013003290B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/537,260 2012-06-29
US13/537,260 US9015510B2 (en) 2012-06-29 2012-06-29 Optimizing energy efficiency using device idle duration information and latency tolerance based on a pre-wake configuration of a platform associated to the device
PCT/US2013/047361 WO2014004388A1 (en) 2012-06-29 2013-06-24 Using device idle duration information to optimize energy efficiency

Publications (2)

Publication Number Publication Date
DE112013003290T5 true DE112013003290T5 (de) 2015-07-30
DE112013003290B4 DE112013003290B4 (de) 2023-02-09

Family

ID=49779517

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112013003290.2T Active DE112013003290B4 (de) 2012-06-29 2013-06-24 Verwendung der Geräteleerlaufzeit-Information zur Optimierung der Energieeffizienz

Country Status (4)

Country Link
US (1) US9015510B2 (de)
CN (1) CN104321716B (de)
DE (1) DE112013003290B4 (de)
WO (1) WO2014004388A1 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9015510B2 (en) 2012-06-29 2015-04-21 Intel Corporation Optimizing energy efficiency using device idle duration information and latency tolerance based on a pre-wake configuration of a platform associated to the device
JP2014102710A (ja) * 2012-11-20 2014-06-05 Toshiba Corp 通信装置、及びその方法
US9575543B2 (en) * 2012-11-27 2017-02-21 Intel Corporation Providing an inter-arrival access timer in a processor
US9104343B2 (en) 2013-03-13 2015-08-11 Silicon Graphics International Corp. Global synchronous clock circuit and method for blade processors
US20140281036A1 (en) * 2013-03-14 2014-09-18 Silicon Graphics International Corp. Synchronizing Scheduler Interrupts Across Multiple Computing Nodes
US20160162421A1 (en) * 2013-08-07 2016-06-09 Xuhong Xiong Ltr/obff design scheme for ethernet adapter application
US9552033B2 (en) 2014-04-22 2017-01-24 Qualcomm Incorporated Latency-based power mode units for controlling power modes of processor cores, and related methods and systems
CN105528250B (zh) * 2015-12-31 2019-03-12 沈阳航空航天大学 多核多线程计算机系统确定性评测及控制方法
US11086384B2 (en) * 2019-11-19 2021-08-10 Intel Corporation System, apparatus and method for latency monitoring and response
US11740679B2 (en) 2020-09-08 2023-08-29 Micron Technology, Inc. Adaptive sleep transition techniques

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7376851B2 (en) 2002-10-31 2008-05-20 Lg Electronics Inc. Apparatus and method for managing power in computer system
US7454632B2 (en) 2005-06-16 2008-11-18 Intel Corporation Reducing computing system power through idle synchronization
US20080098245A1 (en) 2006-03-22 2008-04-24 G2 Microsystems, Inc. Power management system and method
US7490256B2 (en) * 2006-04-04 2009-02-10 Microsoft Corporation Identifying a target processor idle state
US7930564B2 (en) * 2006-07-31 2011-04-19 Intel Corporation System and method for controlling processor low power states
US20090172434A1 (en) * 2007-12-31 2009-07-02 Kwa Seh W Latency based platform coordination
US8176341B2 (en) * 2008-03-31 2012-05-08 Intel Corporation Platform power management based on latency guidance
US8495403B2 (en) * 2008-12-31 2013-07-23 Intel Corporation Platform and processor power management
US8601296B2 (en) * 2008-12-31 2013-12-03 Intel Corporation Downstream device service latency reporting for power management
US8607075B2 (en) * 2008-12-31 2013-12-10 Intel Corporation Idle duration reporting for power management
US8635469B2 (en) * 2009-12-22 2014-01-21 Intel Corporation Method and apparatus for I/O devices assisted platform power management
KR20110108504A (ko) 2010-03-29 2011-10-06 삼성전자주식회사 휴대용 단말기에서 시스템 검사를 수행하기 위한 장치 및 방법
US8775838B2 (en) * 2012-02-01 2014-07-08 Texas Instruments Incorporated Limiting the number of unexpected wakeups in a computer system implementing a power-saving preemptive wakeup method from historical data
US9015510B2 (en) 2012-06-29 2015-04-21 Intel Corporation Optimizing energy efficiency using device idle duration information and latency tolerance based on a pre-wake configuration of a platform associated to the device

Also Published As

Publication number Publication date
US20140006824A1 (en) 2014-01-02
WO2014004388A1 (en) 2014-01-03
DE112013003290B4 (de) 2023-02-09
US9015510B2 (en) 2015-04-21
CN104321716A (zh) 2015-01-28
CN104321716B (zh) 2018-02-23

Similar Documents

Publication Publication Date Title
DE112013003290B4 (de) Verwendung der Geräteleerlaufzeit-Information zur Optimierung der Energieeffizienz
DE112012000749B4 (de) Techniken zum Verwalten des Stromverbrauchszustands eines Prozessors
DE112011103194B4 (de) Koordinieren von Gerät- und Anwendungsunterbrechungsereignissen zum Plattformenergiesparen
DE112010002778B4 (de) Rauschunterdrückung zur Begrenzung von falschem Wecken
DE102010045743B4 (de) Verfahren und Vorrichtung, um Turboleistung für das Event-Handling zu verbessern
DE102009060269B4 (de) Berichten der Dienstlatenzzeit eines Downstream-Gerätes für Power Management
DE102009030544B4 (de) Verfahren für ein koordiniertes Link-Power-Management auf einer Computerplattform, Computer und Rechensystem
DE112006001290T5 (de) Dynamisches Busparken
DE112011103225B4 (de) Schaltkreisvorrichtung, System und Verfahren mit Drosseln einer integrierten Verbindung
DE102007051841A1 (de) Unabhängige Energiesteuerung von Prozessorkernen
DE102019112776A1 (de) Thermisches selbstlernen mit durch bestärkung lernendem agenten
US20100241885A1 (en) Method, system and apparatus for controlling power consumption of embedded system
CN1732450A (zh) 在检测到的静态循环中对总线信号终端进行补偿的装置和方法
DE112017002351T5 (de) Definieren einer priorität eines speicherverkehrs basierend auf bildsensor-metadaten
US10133336B2 (en) Dynamically entering low power states during active workloads
DE102009060267A1 (de) Leerlaufzeit-Bericht für ein Power-Management
DE112013006241T5 (de) Techniken für Plattform-Arbeitszyklus-Wechsel
DE102007044891A1 (de) Kontrollerverknüpfung zur Bewältigbarkeit von Maschinenhintergrund
DE202010017916U1 (de) Verbindungsenergieeinsparmodus mit Beibehaltung des Zustands
DE102015202513A1 (de) Vorrichtung und Verfahren zur Datenspeicherung sowie Datenverarbeitungssystem damit
DE102016122763A1 (de) Zugreifen auf daten über verschiedene takte
DE102019121572A1 (de) Leistungsverwaltung in einer mehrprozessor-rechenvorrichtung
US9182797B2 (en) Decoupled power and performance allocation in a multiprocessing system
DE112012006163T5 (de) Steuerung des Energieverbrauchs in Mehrkernumgebungen
EP2936266B1 (de) Verwendung von plattformleerlaufdauerinformationen zur benachrichtigung von plattformvorrichtungen über bevorstehende aktive perioden

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R081 Change of applicant/patentee

Owner name: TAHOE RESEARCH, LTD., IE

Free format text: FORMER OWNER: INTEL CORPORATION, SANTA CLARA, CALIF., US

R082 Change of representative

Representative=s name: VOSSIUS & PARTNER PATENTANWAELTE RECHTSANWAELT, DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final