DE112013006241T5 - Techniken für Plattform-Arbeitszyklus-Wechsel - Google Patents

Techniken für Plattform-Arbeitszyklus-Wechsel Download PDF

Info

Publication number
DE112013006241T5
DE112013006241T5 DE112013006241.0T DE112013006241T DE112013006241T5 DE 112013006241 T5 DE112013006241 T5 DE 112013006241T5 DE 112013006241 T DE112013006241 T DE 112013006241T DE 112013006241 T5 DE112013006241 T5 DE 112013006241T5
Authority
DE
Germany
Prior art keywords
platform
processing device
activity
period
active
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.)
Withdrawn
Application number
DE112013006241.0T
Other languages
English (en)
Inventor
Eugene Gorbatov
Paul Diefenbaugh
Andrew D. Henroid
Guy M. Therien
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE112013006241T5 publication Critical patent/DE112013006241T5/de
Withdrawn legal-status Critical Current

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/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • 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/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Power Sources (AREA)

Abstract

Verschiedene Ausführungsformen betreffen allgemein ein Gerät, ein Verfahren und andere Techniken zum Detektieren aktiver und halbaktiver Arbeitsbelastung während der Ausführung einer Plattform-Verarbeitungsvorrichtung und Ermöglichen eines Arbeitszyklus-Prozesses zum Reduzieren von Wärmeabgabe und Leistungsaufnahme und Abgleichen nicht abgeglichener Aktivität. In verschiedenen Ausführungsformen kann die Arbeitszyklus-Verarbeitung während einer aktiven Arbeitsbelastung aktiviert werden, wenn Wärmeabgabe oder Leistungsaufnahme über einem Wärme-Schwellenwert oder Leistungsaufnahme-Schwellenwert ist, der unter einem wirksamen Betriebspunkt für die Plattform-Verarbeitungsvorrichtung ist. Die Arbeitszyklus-Verarbeitung kann auch während halbaktiver Arbeitsbelastungen aktiviert werden, wenn die Arbeitsbelastung bewirkt, dass die Plattform-Verarbeitungsvorrichtung mindergenutzt und nicht abgeglichen ist. Die Arbeitszyklus-Verarbeitung kann umfassen, eine erzwungene Ruhezustand für die Plattform-Verarbeitungsvorrichtung zu ermöglichen. Andere Ausführungsformen werden beschrieben und beansprucht.

Description

  • HINTERGRUND
  • Viele Plattform-Verarbeitungsvorrichtungen einschließlich von System-auf-Chip- bzw. SoC-Vorrichtungen erfordern hohe Performance-Kapazität während aktiver Arbeitsbelastungen wie Verarbeitung dreidimensionaler bzw. 3D-Spielanwendungen. Während aktiver Arbeitsbelastungen können diese Plattform-Verarbeitungsvorrichtungen eine beträchtliche Menge Wärmeenergie abgeben und eine beträchtliche Menge Leistung aufnehmen. Während die höhere Abgabe von Wärmeenergie und Leistungsaufnahme unter einigen Umständen annehmbar sein können, arbeiten viele dieser Plattform-Verarbeitungsvorrichtungen in einer Umgebung, in der sie hinsichtlich der Leistung und Wärme beschränkt sein können. Zum Beispiel können diese Plattform-Verarbeitungsvorrichtungen in einer mobilen Vorrichtung wie in einem Mobiltelefon, einem Tablett oder tragbaren Computer arbeiten, in der hohe Wärmeabgabe und Leistungsaufnahme unerwünscht sind.
  • Außerdem sind diese Plattform-Verarbeitungsvorrichtungen benachteiligt und zahlen eine disproportional hohe Performance-Beanspruchung, während sie halbaktive Arbeitsbelastungen fahren, wie Verarbeitung gelegentlicher Spielanwendungen und Internet-Anwendungen. Viele halbaktive Arbeitsbelastungen ziehen keinen Nutzen hinsichtlich verbesserter Qualität oder Reaktion aus dieser höheren Performance-Kapazität. Als ein Ergebnis kann die höhere Performance-Kapazität dieser Plattform-Verarbeitungsvorrichtungen bei halbaktiven Arbeitsbelastungen zu einer beträchtlichen Beeinträchtigung werden. Infolgedessen besteht ein beträchtlicher Bedarf nach Techniken zur Reduzierung von Leistungsaufnahme und Wärmeabgabe während aktiver und halbaktiver Arbeitsbelastungen ohne Beeinträchtigung der Leistungskapazität der Verarbeitungsvorrichtung, wenn sie voll aktiv ist. Die hierin beschriebenen Ausführungsformen werden in Bezug auf diese und andere Erwägungen benötigt.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 stellt eine Ausführungsform eines ersten Systems dar.
  • 2A stellt eine Ausführungsform eines ersten logischen Ablaufs dar.
  • 2B stellt eine Fortsetzung der Ausführungsform eines ersten logischen Ablaufs dar.
  • 3 stellt eine Ausführungsform eines ersten Aktivitätspegel-Diagramms dar.
  • 4 stellt eine Ausführungsform eines zweiten Aktivitätspegel-Diagramms dar.
  • 5 stellt eine Ausführungsform eines dritten Aktivitätspegel-Diagramms dar.
  • 6A stellt eine Ausführungsform eines zweiten logischen Ablaufs dar.
  • 6B stellt eine Ausführungsform eines dritten logischen Ablaufs dar.
  • 7 stellt eine Ausführungsform einer Berechnungsarchitektur dar.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Verschiedene Ausführungsformen betreffen allgemein ein Gerät, ein Verfahren und andere Techniken zum Verwalten von Arbeitsbelastungen auf einer elektronischen Vorrichtung. Einige Ausführungsformen betreffen insbesondere Detektieren aktiver und halbaktiver Arbeitsbelastungen während der Ausführung einer Plattform-Verarbeitungsvorrichtung und Ermöglichen eines Arbeitszyklus-Prozesses zum Reduzieren von Wärmeabgabe und Leistungsaufnahme und Abgleichen nicht abgeglichener Aktivität. In verschiedenen Ausführungsformen kann der Arbeitszyklus-Prozess gleichzeitig auf der Plattformebene einer Plattform-Verarbeitungsvorrichtung implementiert werden. Erzwingen, dass die gesamte Plattform-Verarbeitungsvorrichtung auf der Plattformebene in die Ruheperiode eintritt, kann gegenüber einem komponentenweisen Ansatz früherer Systeme vorteilhaft sein, indem Leistungsaufnahme und Wärmeabgabe für die Plattform-Verarbeitungsvorrichtung weiter reduziert werden. Außerdem kann der Ansatz auf Plattformebene gegenüber dem komponentenweisen Ansatz vorteilhaft sein, indem das Erfordernis eliminiert wird, Ruheperioden für individuelle Komponenten oder Untersysteme in einer stückweisen Weise zu aktivieren/deaktivieren.
  • In verschiedenen Ausführungsformen kann die Arbeitszyklus-Verarbeitung während einer aktiven Arbeitsbelastung aktiviert werden, wenn Wärmeabgabe oder Leistungsaufnahme über einem Wärme-Schwellenwert oder Leistungsaufnahme-Schwellenwert ist, der anderenfalls bewirken würde, dass Verarbeitung unter einem wirksamen Betriebspunkt für die Plattform-Verarbeitungsvorrichtung erfolgt. Die Arbeitszyklus-Verarbeitung kann auch während halbaktiver Arbeitsbelastungen ermöglicht werden, wenn die Arbeitsbelastung bewirkt, dass Aktivität auf der Plattform-Verarbeitungsvorrichtung mindergenutzt und nicht abgeglichen ist. Die Arbeitszyklus-Verarbeitung kann umfassen, eine erzwungene Ruheperiode für die Plattform-Verarbeitungsvorrichtung zu aktivieren, und im Fall von halbaktiver Verarbeitung kann die nicht abgeglichene Aktivität durch die Verwendung der erzwungenen aktiven und Ruheperioden für Ausführung auf der Plattform-Verarbeitungsvorrichtung zwangsweise abgeglichen werden. Während aktiver Arbeitsbelastungen kann, wenn die Plattform-Verarbeitungsvorrichtung bei oder über einem wirksamen Betriebspunkt arbeitet, eine erzwungene Ruheperiode aktiviert werden, um eine angestrebte durchschnittliche Leistungsaufnahme-Abgabe zu erreichen. Andere Ausführungsformen werden beschrieben und beansprucht.
  • Die hierin beschrieben Arbeitszyklus-Verarbeitungstechniken sind auf die Nachteile vorheriger Plattform-Verarbeitungsvorrichtungen gerichtet. Zum Beispiel können verbesserte Arbeitszyklus-Verarbeitungstechniken ein feinkörniges Vorrichtungs- und Softwaretransparentes Modell nutzen, bei dem Verarbeitungsaktivität auf der Plattformebene für sehr kurze Zeitperioden in Ruheperioden erzwungen werden kann. Diese kurzen Zeitperioden können in der Größenordnung von hundertstel oder sogar zehntel Mikrosekunden sein. In einigen Ausführungsformen skaliert Aktivierung von Arbeitszyklus-Verarbeitung während aktiver Arbeitsbelastungen Leistung und Performance wirksamer gegenüber Alternativen wie Häufigkeitsskalierung durch Aufrechterhaltung eines angestrebten durchschnittlichen Leistungspegels unter Beibehaltung von Leistungsaufnahme und Wärmeabgabe unterhalb von akzeptablen Grenzen. Dieser angestrebte durchschnittliche Leistungspegel kann mit Arbeitszyklus-Verarbeitung basierend auf Leistung, die während aktiver Perioden und während Ruheperioden aufgenommen wird, aufrechterhalten werden.
  • Wie vorher angeführt, sind Plattform-Verarbeitungsvorrichtungen benachteiligt und zahlen eine disproportional hohe Performance-Beanspruchung, während sie halbaktive Arbeitsbelastungen fahren, wie Verarbeitung gelegentlicher Spielanwendungen und Internet-Anwendungen. Die größere Performance-Kapazität für diese Plattform-Verarbeitungsvorrichtungen kommt teilweise von zum Beispiel einem größeren und mehr Leistung aufnehmenden Uncore, Weg zum Speicher und Verschaltungen. Wenn eine Plattform-Verarbeitungsvorrichtung auch nur geringfügig aktiv wird, wie Verarbeitung von Direktspeicherzugriff (DMA) und/oder Interrupts, nimmt die Plattform-Verarbeitungsvorrichtung eine große Leistungsmenge auf und gibt eine große Menge Wärmeenergie ab, wenn gegenwärtige Plattform-Verarbeitungsvorrichtung-Lösungen verwendet werden.
  • In verschiedenen Ausführungsformen gleicht Arbeitszyklus-Verarbeitung während halbaktiver Arbeitsbelastungen nicht abgeglichene Aktivität zwangsweise ab, indem Aktivität über eine Plattform während mindergenutzter Verarbeitungsperioden in Ruheperioden gezwungen wird. Nicht abgeglichene Aktivität erfolgt natürlich und häufig bei der Verarbeitung der meisten Arbeitsbelastungen. Zum Beispiel kann nicht abgeglichene Aktivität vorkommen, wenn nicht abgeglichene unabhängige Threads über mehrere Verarbeitungskerne verarbeitet werden. In einem anderen Beispiel kann nicht abgeglichene Aktivität vorkommen, wenn Eingabe/Ausgabe- bzw. I/O-Aktivität zu Zeiten ungeachtet rechnerischer Verarbeitung erzeugt wird. Nicht abgeglichene Aktivität kann auch vorkommen, wenn allgemeine Verarbeitungskerne und Kerne für grafische Verarbeitung Aktivität zu nicht überlappenden Zeiten verarbeiten.
  • Aktivierung von Arbeitszyklus-Verarbeitung während halbaktiver Arbeitsbelastungen und während Mindernutzung der Plattform-Verarbeitungsvorrichtung erzwingt Abgleichung von vorher nicht abgeglichener Aktivität. Außerdem kann die zwangsweise Abgleichung von Aktivität über die Plattform-Verarbeitungsvorrichtung, um in einen Plattform-Ruhezustand einzutreten, bewirken, dass das Computersystem bei einem niedrigeren Leistungspegel, Wärmepegel und bei einer höheren Betriebseffizienz arbeitet.
  • Unter allgemeiner Bezugnahme auf hierin verwendete Schreibweisen und Bezeichnungsweisen kann die folgende ausführliche Beschreibung in der Form von Programmprozeduren präsentiert werden, die auf einem Computer oder Netz von Computer ausgeführt werden. Diese prozeduralen Beschreibungen und Repräsentationen werden von Fachleuten im Fachgebiet verwendet, um die Substanz ihrer Arbeit am wirksamsten an andere Fachleute im Fachgebiet zu übermitteln.
  • Eine Prozedur wird hier und allgemein als eine selbstkonsistente Abfolge von Operationen aufgefasst, die zu einem erwünschten Ergebnis führen. Diese Operationen sind diejenigen, die physikalische Manipulationen physikalischer Quantitäten erfordern. Gewöhnlich, aber nicht notwendigerweise, nehmen diese Quantitäten die Form elektrischer, magnetischer oder optischer Signale an, die gespeichert, übertragen, kombiniert, verglichen oder in anderer Weise manipuliert werden können. Es erweist sich zuzeiten als praktisch, hauptsächlich aus Gründen der gemeinsamen Nutzung, diese Signale als Bits, Werte, Elemente, Symbole, Zeichen, Terme, Ziffern oder dergleichen zu bezeichnen. Es ist jedoch zu beachten, dass sämtliche dieser und ähnlicher Terme mit den entsprechenden physikalischen Quantitäten zu assoziieren sind und lediglich praktische Kennzeichnungen sind, die auf diese Quantitäten angewandt werden.
  • Ferner werden die durchgeführten Manipulationen häufig mit Begriffen bezeichnet, wie Addieren oder Vergleichen, die gewöhnlich mit gedanklichen Operationen, die von einem menschlichen Wirkenden durchgeführt werden, assoziiert werden. Eine derartige Fähigkeit eines menschlichen Wirkenden ist in keinem der hierin beschriebenen Operationen, die einen Teil einer oder mehrerer Ausführungsformen bilden, erforderlich oder in den meisten Fällen wünschenswert. Vielmehr sind die Operationen Maschinenoperationen. Nützliche Maschinen zum Durchführen von Operationen verschiedener Ausführungsformen beinhalten Allzweck-Digitalcomputer oder ähnliche Vorrichtungen.
  • Verschiedene Ausführungsformen betreffen auch ein Gerät oder Systeme zum Durchführen dieser Operationen. Dieses Gerät kann für den erforderlichen Zweck speziell konstruiert sein oder es kann einen Allzweck-Computer umfassen, der durch ein im Computer gespeichertes Computerprogramm selektiv aktiviert oder umkonfiguriert wird. Die hierin präsentierten Prozeduren sind nicht von Natur aus mit einem bestimmten Computer oder anderem Gerät verbunden. Verschiedene Allzweck-Maschinen können mit Programmen verwendet werden, die gemäß den Lehren hierin geschrieben sind, oder es kann sich als praktisch erweisen, stärker spezialisierte Geräte zu konstruieren, um die Verfahrensschritte auszuführen. Die erforderliche Struktur für eine Vielfalt dieser Maschinen wird sich aus der gegebenen Beschreibung ergeben.
  • Jetzt wird Bezug auf die Zeichnungen genommen, in denen durchgehend gleiche Bezugszeichen für Bezugnahme auf gleiche Elemente verwendet werden. In der folgenden Beschreibung werden zu Erklärungszwecken zahlreiche spezifische Einzelheiten angeführt, um ein gründliches Verständnis davon zu vermitteln. Es kann jedoch offensichtlich sein, dass die neuen Ausführungsformen ohne diese spezifischen Einzelheiten praktiziert werden können. In anderen Fällen werden gut bekannte Strukturen und Vorrichtungen in der Form von Blockdiagrammen dargestellt, um eine Beschreibung davon zu erleichtern. Die Absicht ist, alle Modifikationen, Äquivalente und Alternativen abzudecken, die dem beanspruchten Gegenstand entsprechen.
  • 1 zeigt eine Ausführungsform eines beispielhaften Computersystems 105, das zur Implementierung verschiedener hierin beschriebener Ausführungsformen geeignet ist. In verschiedenen Ausführungsformen umfasst das Computersystem 105 eine Plattform-Verarbeitungsvorrichtung 110, eine Steuerung 120, eine Speichervorrichtung 130 und eine Eingabe/Ausgabe- bzw. I/O-Vorrichtung 140. Die Plattform-Verarbeitungsvorrichtung 110 kann ein beliebiger Typ eines Berechnungselements sein, wie, aber nicht darauf beschränkt, ein Mikroprozessor, ein Prozessor, eine Zentraleinheit, eine Digitalsignalverarbeitungseinheit, ein Doppelkern-Prozessor, ein Mobilvorrichtungsprozessor, ein Desktop-Prozessor, ein Einzelkern-Prozessor, eine System-auf-Chip- bzw. SoC-Vorrichtung, ein Mikroprozessor zur Berechnung eines komplexen Anweisungssatzes (CISC), ein Mikroprozessor für einen reduzierten Anweisungssatz (RISC), ein Mikroprozessor für ein sehr langes Anweisungswort (VLIW) oder ein beliebiger anderer Typ von Prozessor oder Verarbeitungsschaltung auf einem einzelnen Chip oder einer integrierten Schaltung. Die Plattform-Verarbeitungsvorrichtung 110 kann mit der Steuerung 120, der Speichervorrichtung 130 und der I/O-Vorrichtung 140 über Verschaltungen 122, 132 bzw. 142 verbunden sein und damit kommunizieren. Überdies können die Steuerung 120, die Speichervorrichtung 130 und die I/O-Vorrichtung 140 mit sämtlichen der Komponenten der Plattform-Verarbeitungsvorrichtung 110 kommunizieren.
  • Während sie in dieser Hinsicht nicht eingeschränkt ist, kann die Plattform-Verarbeitungsvorrichtung 110 eine Leistungsverwaltungsvorrichtung 115, einen oder mehrere Verarbeitungskerne 112, eine Grafikverarbeitungseinheit 114, eine Plattform-I/O-Vorrichtung 116, eine Plattform-Speichervorrichtung 118 und beliebige andere Uncore-(Nicht-Kern-)Komponenten (nicht dargestellt) umfassen. Uncore-Komponenten können andere Speicher, Zwischenspeicher, Pipelines, I/O-Vorrichtungen und Steuerungen enthalten. In einigen Ausführungsformen kann die Plattform-Verarbeitungsvorrichtung 110 zum Beispiel mehr als zwei Verarbeitungskerne aufweisen. Der eine oder die mehreren Verarbeitungskerne 112 können mehr als eine Verarbeitungseinheit aufweisen. Der eine oder die mehreren Verarbeitungskerne 112 enthalten, sind aber nicht darauf beschränkt, Pre-Fetch-Logik zum Laden von Anweisungen, Decodierungslogik zum Decodieren von Anweisungen, Ausführungslogik zum Ausführen von Anweisungen und dergleichen.
  • In einigen Ausführungsformen umfasst die Plattform-Verarbeitungsvorrichtung 110 eine Grafikverarbeitungseinheit 114. Die Grafikverarbeitungseinheit 114 kann als ein beigeordneter Prozessor fungieren, der Grafik- und/oder Video-Operationen und/oder -Verarbeitung verwaltet.
  • Die Plattform-Verarbeitungsvorrichtung 110 umfasst eine Plattform-I/O-Vorrichtung 116 und Plattform-Speichervorrichtung 118 in einigen Ausführungsformen. Die Plattform-I/O-Vorrichtung 116 stellt eine externe Schnittstelle für die Plattform-Verarbeitungsvorrichtung 110 zu anderen Vorrichtungen innerhalb des Computersystems 105 bereit. Außerdem speichert die Plattform-Speichervorrichtung 118 Anweisungen und/oder Daten der Plattform-Verarbeitungsvorrichtung 110 und insbesondere des einen oder der mehreren Verarbeitungskerne 112. Die Plattform-Speichervorrichtung 118 kann außerdem temporare Variable oder andere Zwischeninformationen speichern, während die Plattform-Verarbeitungsvorrichtung 110 und der eine oder die mehreren Verarbeitungskerne 112 Anweisungen ausführen. In einer anderen Ausführungsform enthält die Plattform-Speichervorrichtung 118, ist aber nicht darauf beschränkt, Cache-Speicher der Ebene eins (L1), Ebene zwei (L2) und Ebene drei (L3) oder eine andere Konfiguration des Cache-Speichers in der Plattform-Verarbeitungsvorrichtung 110. Die Verarbeitungskerne 112, die Grafikverarbeitungseinheit 114, die Plattform-I/O-Vorrichtung 116 und die Plattform-Speichervorrichtung 118 können über Verschaltungen (nicht dargestellt) miteinander kommunizieren.
  • Die Leistungsverwaltungsvorrichtung 115 kann betriebsfähig sein, die Arbeitszyklus-Verarbeitung zu steuern, umfassend erzwungene Ruheperioden, aktive Perioden, durchschnittliche Leistungsaufnahme und Abgleichung von Software- und Hardware-Aktivität einschließlich von, aber nicht darauf beschränkt, I/O-Aktivität in verschiedenen Ausführungsformen. Zum Beispiel kann die Leistungsverwaltungsvorrichtung 115 in einer Ausführungsform den Arbeitszyklus-Prozess aktivieren und Software- und Hardware-Aktivität über die Plattform-Verarbeitungsvorrichtung 110 zwangsweise abgleichen, indem die Plattform-Verarbeitungsvorrichtung 110 gezwungen wird, in eine erzwungene Ruheperiode an einem Drosselung-Schwellenwert einzutreten. Die Leistungsverwaltungsvorrichtung 115 kann Aktivität zwangsweise abgleichen, wenn die Leistungsverwaltungsvorrichtung 115 detektiert, dass Hardware- und/oder Software-Aktivität nicht abgeglichen ist und Hardware-Komponenten der Plattform-Verarbeitungsvorrichtung 110 mindergenutzt sind. In einigen Ausführungsformen wird die Plattform-Verarbeitungsvorrichtung 110 während einer erzwungenen Ruheperiode in eine Ruheperiode versetzt und verarbeitet Hardware- und Software-Aktivität nicht aktiv. Die Plattform-Verarbeitungsvorrichtung 110 kann über die gesamte Plattform der Vorrichtung einschließlich der Komponenten wie der eine oder die mehreren Verarbeitungskerne 112, die Grafikverarbeitungseinheit 114, die Plattform-I/O-Vorrichtung 116, die Plattform-Speichervorrichtung 118 und beliebige andere Uncore-Komponenten in die Ruheperiode versetzt werden. In einer anderen Ausführungsform kann die Plattform-Verarbeitungsvorrichtung 110 Aktivität verarbeiten, die für die Operation der Computervorrichtung 105 unverzichtbar ist. In anderen Ausführungsformen kann die Plattform-Verarbeitungsvorrichtung 110 einige, aber nicht sämtliche Software- und Hardware-Aktivität basierend auf dem Drosselung-Schwellenwert verarbeiten.
  • In verschiedenen Ausführungsformen kann die Leistungsverwaltungsvorrichtung 115 den Arbeitszyklus-Prozess aktivieren, wenn Leistungsaufnahme und/oder Wärmeabgabe über jeweiligen im Voraus bestimmten Schwellenwerten sind. In einer Ausführungsform kann die Leistungsverwaltungsvorrichtung 115 eine angestrebte durchschnittliche Leistung für die Plattform-Verarbeitungsvorrichtung 110 durch Aktivieren erzwungener Ruheperioden und aktiver Perioden während der Arbeitszyklus-Verarbeitung erreichen. Diese Ausführungsformen werden nachstehend detaillierter in Bezug auf 2 beschrieben.
  • In einigen Ausführungsformen kann die Leistungsverwaltungsvorrichtung 115 die Plattform-Verarbeitungsvorrichtung 110 zwingen, auf der Komponenten- und/oder Untersystem-Ebene in die Ruheperiode einzutreten. In verschiedenen Ausführungsformen kann die Leistungsverwaltungsvorrichtung 115 die gesamte Plattform-Verarbeitungsvorrichtung 110 zwingen, einschließlich sämtlicher der Komponenten und Untersysteme der Plattform-Verarbeitungsvorrichtung 110 auf der Plattformebene in die Ruheperiode einzutreten. Erzwingen, dass die gesamte Plattform-Verarbeitungsvorrichtung 110 auf der Plattformebene in die Ruheperiode eintritt, kann gegenüber einem komponentenweisen Ansatz früherer Systeme vorteilhaft sein, indem Leistungsaufnahme und Wärmeabgabe für die Plattform-Verarbeitungsvorrichtung 110 und das Computersystem 105 weiter reduziert werden, während Hardware- und Software-Verarbeitungserwartungen, zum Beispiel Latenztoleranzen, aufrechterhalten werden. Außerdem kann der Ansatz auf Plattformebene gegenüber dem komponentenweisen Ansatz vorteilhaft sein, indem das Erfordernis eliminiert wird, Ruheperioden für individuelle Komponenten in einer stückweisen Weise zu aktivieren/deaktivieren. In einigen Ausführungsformen kann die Leistungsverwaltungsvorrichtung von der Plattform-Verarbeitungsvorrichtung 110 extern sein. Die Leistungsverwaltungsvorrichtung 115 und der Arbeitszyklus-Prozess werden nachstehend detaillierter beschrieben.
  • Die Steuerung 120 kann eine Mikrosteuerung oder einen anderen Typ von Verarbeitungsschaltung, Speicher und Schnittstellenlogik enthalten. In einigen Ausführungsformen kann die Steuerung 120 die Operation des Computersystems 105 überwachen und steuern, einschließlich von, aber nicht darauf beschränkt, Überwachung und Steuerung der Operation der Speichervorrichtung 130 und der I/O-Vorrichtung 140. Die Steuerung 120 kann außerdem verschiedene Aspekte der Plattform-Verarbeitungsvorrichtung 110 überwachen und steuern, einschließlich von, aber nicht darauf beschränkt, Kommunikation zwischen verschiedenen Komponenten des Computersystems 105 und der Plattform-Verarbeitungsvorrichtung 110. In verschiedenen Ausführungsformen kann die Steuerung über die Verschaltung 122 an die Plattform-Verarbeitungsvorrichtung 110 gekoppelt sein.
  • Die Speichervorrichtung 130 speichert Anweisungen und/oder Daten des Computersystems 105. Die Speichervorrichtung 130 kann außerdem temporäre Variable oder andere Zwischeninformationen speichern, während das Computersystem 105 Anweisungen ausführt. Die I/O-Vorrichtung 140 ist die Schnittstelle zwischen dem Computersystem 105 und einem externen System oder einer externen Vorrichtung. Die I/O-Vorrichtung 140 kann mit dem externen System oder der externen Vorrichtung über eine Verbindung 144 kommunizieren. Die Verbindung 144 kann verdrahtet oder drahtlos oder ein anderes Mittel sein, das einem Fachmann im Fachgebiet bekannt ist. In einer Ausführungsform kann die I/O-Vorrichtung 140 mit der Plattform-Verarbeitungsvorrichtung 110 über die Verschaltung 142 durch die Plattform-I/O-Vorrichtung 116 kommunizieren. Die Leistungsverwaltungsvorrichtung 115, die Speichervorrichtung 130 und die I/O-Vorrichtung 140 können außerdem miteinander über Verschaltungen (nicht dargestellt) kommunizieren.
  • Die im Computersystem 105 dargestellten Komponenten sollen nicht einschränkend sein und werden zum Zweck der Veranschaulichung präsentiert. In anderen Ausführungsformen enthält die Konfiguration des Computersystems 105 andere (mehr oder weniger) Komponenten, als in 1 dargestellt. Ein Durchschnittsfachmann im relevanten Fachgebiet wird anerkennen, dass andere Konfigurationen des Computersystems 105 verwendet werden können, ohne das Funktionieren der hierin beschriebenen Ausführungsformen zu beeinträchtigen.
  • Die 2A/2B umfassen ein Diagramm des logischen Ablaufs, das ein Beispiel eines Arbeitszyklus-Prozesses und Steuerung davon gemäß einigen Ausführungsformen darstellt. Der Klarheit halber wird der logische Ablauf unter Bezugnahme auf das Computersystem 105 von 1 diskutiert. Bei Block 201 wird eine Arbeitsbelastung der Plattform-Verarbeitungsvorrichtung bestimmt. Die Arbeitsbelastung kann basierend auf einem oder mehreren Kriterien bestimmt werden, enthaltend, aber nicht darauf beschränkt, einen Verarbeitungs-Prozentanteil eines oder mehrerer Kerne 112, einen Grafikverarbeitungs-Prozentanteil einer Grafikverarbeitungseinheit 114, I/O-Aktivität einer Plattform, die I/O verarbeitet 116, und Lese/Schreib-Aktivität eines Plattformspeichers 118. Am Entscheidungsblock 203 wird bestimmt, ob eine aktive Arbeitsbelastung für die Plattform-Verarbeitungsvorrichtung 110 detektiert wird. Die aktive Arbeitsbelastung kann basierend darauf detektiert werden, dass eines oder mehrere der vorstehend angeführten Kriterien über einem jeweiligen Schwellenwert sind. Zum Beispiel kann die Leistungsverwaltungsvorrichtung 115 bestimmen, dass der Verarbeitungs-Prozentanteil des einen oder der mehreren Kerne 112 über einem Verarbeitungs-Schwellenwert ist.
  • Wenn am Entscheidungsblock 203 bestimmt wird, dass eine aktive Arbeitsbelastung detektiert wird, können Leistungsaufnahme und Wärmeabgabe am Entscheidungsblock 205 bestimmt werden. Wenn die Leistungsaufnahme oder die Wärmeabgabe über einem Leistungsschwellenwert bzw. Wärmeschwellenwert ist, aktiviert die Leistungsverwaltungsvorrichtung 115 Arbeitszyklus-Verarbeitung. Die Leistungsverwaltungsvorrichtung 115 kann Arbeitszyklus-Verarbeitung auf der Plattform- oder Unterkomponentenebene für die Plattform-Verarbeitungsvorrichtung 110 aktivieren. Wenn die Leistungsaufnahme und Wärmeabgabe unter einem Leistungsschwellenwert bzw. Wärmeschwellenwert sind, fährt die Leistungsverwaltungsvorrichtung 115 fort, die Arbeitsbelastung der Plattform-Verarbeitungsvorrichtung 115 zu detektieren.
  • Am Entscheidungsblock 203 bestimmt die Leistungsverwaltungsvorrichtung 110, wenn bestimmt wird, dass eine aktive Arbeitsbelastung nicht detektiert wird, ob eine halbaktive Arbeitsbelastung am Entscheidungsblock 207 detektiert wird. Die halbaktive Arbeitsbelastung kann basierend darauf detektiert werden, dass eines oder mehrere der vorstehend angeführten Kriterien unter einem Schwellenwert sind. Zum Beispiel kann die Leistungsverwaltungsvorrichtung 115 bestimmen, dass der Verarbeitungs-Prozentanteil des einen oder der mehreren Kerne 112 unter einem Verarbeitungs-Schwellenwert ist. In einigen Ausführungsformen können das eine oder die mehreren Kriterien höher als ein oder über einem ersten Schwellenwert sein, um eine aktive Arbeitsbelastung zu bestimmen. Das eine oder die mehreren Kriterien können niedriger als ein oder unter einem zweiten Schwellenwert sein, um eine halbaktive Arbeitsbelastung zu bestimmen. In verschiedenen Ausführungsformen kann der erste Schwellenwert höher als der oder über dem zweiten Schwellenwert sein oder der erste Schwellenwert und der zweite Schwellenwert können der gleiche Schwellenwert sein.
  • Wenn eine halbaktive Arbeitsbelastung für eine Plattform-Verarbeitungsvorrichtung 110 detektiert wird, kann die Leistungsverwaltungsvorrichtung 115 am Entscheidungsblock 209 bestimmen, ob die Plattform-Verarbeitungsvorrichtung 110 mindergenutzt und nicht abgeglichen ist. Die Plattform-Verarbeitungsvorrichtung 110 kann mindergenutzt sein, wenn die Plattform-Verarbeitungsvorrichtung 110 unter einem Schwellenwert operiert. In einigen Ausführungsformen kann die Bestimmung der Mindernutzung der Plattform-Verarbeitung auf der Bestimmung der halbaktiven Arbeitsbelastung basiert sein. Zum Beispiel kann Mindernutzung auf einem Verarbeitungs-Prozentanteil eines oder mehrerer Kerne, einem Verarbeitungs-Prozentanteil einer Grafikverarbeitungseinheit, I/O-Aktivität einer Plattform, die I/O verarbeitet, und Lese/Schreib-Aktivität eines Plattformspeichers basiert sein. In einigen Ausführungsformen erfordert Mindernutzung, dass sämtliche der Komponenten der Plattform-Verarbeitungsvorrichtung 110 mindergenutzt sind. Zum Beispiel können der eine oder die mehreren Kerne 112, die Grafikverarbeitungseinheit 114, die Plattform, die I/O verarbeitet, und der Plattformspeicher 118 mindergenutzt sein. Mindernutzung der Plattform-Verarbeitungsvorrichtung 110 kann auf der aktivsten Komponente der Plattform-Verarbeitungsvorrichtung 110 basiert sein. Wenn zum Beispiel der eine oder die mehreren Kerne 112 bei 30% arbeiten, die Grafikverarbeitungseinheit 114 bei 25% arbeitet, die Plattform-I/O-Vorrichtung 116 bei 20% arbeitet und die Plattformspeichervorrichtung 118 bei 25% arbeitet, basiert die Bestimmung der Mindernutzung auf dem einen oder den mehreren Kernen 112, die bei 30% arbeiten, der aktivsten Komponente.
  • In verschiedenen Ausführungsformen bestimmt die Leistungsverwaltungsvorrichtung 115, wann die Plattform-Verarbeitungsvorrichtung 110 nicht abgeglichen ist. Die Plattform-Verarbeitungsvorrichtung 110 kann nicht abgeglichen sein, wenn eine oder mehrere der Komponenten der Plattform-Verarbeitungsvorrichtung keine Daten, Hardware-Aktivität, Software-Aktivität und/oder Hardware- und Software-Aktivität gleichzeitig, aber während verschiedenen Zeitperioden verarbeiten. Zum Beispiel können in verschiedenen Ausführungsformen der eine oder die mehreren Kerne 112 und die Grafikverarbeitungseinheit 114 oder beliebige der anderen Komponenten Hardware- und Software-Aktivität in verschiedenen Zeitperioden verarbeiten. Demgemäß ist, wenn die verschiedenen Komponenten der Plattform-Verarbeitungsvorrichtung 110 während verschiedenen Zeitperioden verarbeiten, die Plattform-Verarbeitungsvorrichtung 110 typischerweise aktiv und verarbeitet Hardware- und Software-Aktivität.
  • Hardware- und Software-Aktivität kann auch nicht abgeglichen sein, wenn Hardware-Komplexe des Computersystems unabhängig von Software-Verarbeitung oder Berechnungen verarbeiten oder Berechnungen durchführen. Wie vorstehend beschrieben, kann nicht abgeglichene Aktivität vorkommen, wenn nicht abgeglichene unabhängige Threads über mehrere Verarbeitungskerne verarbeitet werden. In einem anderen Beispiel kann nicht abgeglichene Aktivität vorkommen, wenn Eingabe/Ausgabe-Aktivität zu Zeiten ungeachtet rechnerischer Verarbeitung erzeugt wird. Nicht abgeglichene Aktivität kann auch vorkommen, wenn allgemeine Verarbeitungskerne und Kerne für grafische Verarbeitung Aktivität in einer nicht aufeinanderfolgenden oder aufeinanderfolgenden Weise verarbeiten. In einigen Ausführungsformen ist Arbeitszyklus-Verarbeitung nicht erforderlich und nicht aktiviert, wenn die Hardware- und Software-Aktivität abgeglichen ist. In einer Ausführungsform kann die Arbeitszyklus-Verarbeitung nur aktiviert sein, wenn Software- und Hardware-Aktivität nicht abgeglichen ist.
  • Wenn bestimmt wird, dass eine aktive und halbaktive Arbeitsbelastung nicht detektiert werden, fährt die Leistungsverwaltungsvorrichtung 115 fort, dynamisch zu überwachen und zu bestimmen, wann eine aktive Arbeitsbelastung oder halbaktive Arbeitsbelastung detektiert wird. Zum Beispiel fährt die Leistungsverwaltungsvorrichtung 115 fort, die Arbeitsbelastung der Plattform-Verarbeitungsvorrichtung 110 zu überwachen. Am Block 211 wird Arbeitszyklus-Verarbeitung aktiviert, um eine Reduktion der Leistungsaufnahme und Wärmeabgabe zu erreichen, während die Plattform-Verarbeitungsvorrichtung 110 bei einer aktiven Arbeitsbelastung oder halbaktiven Arbeitsbelastung verarbeitet. In verschiedenen Ausführungsformen kann Abgleichung von Hardware- und Software-Aktivität auch bei der halbaktiven Arbeitsbelastung erreicht werden. Arbeitszyklus-Verarbeitung während halbaktiver Arbeitsbelastungen wird, während sie aktiviert ist, Software- und Hardware-transparent sein und für einen Benutzer des Computersystems 105 nicht wahrnehmbar sein.
  • Am Block 213 wird ein Drosselung-Schwellenwert, umfassend einen optimalen Ruhezustand auf Plattformebene für eine erzwungene Ruheperiode, für die Plattform-Verarbeitungsvorrichtung 110 basierend auf einem oder mehreren der vorher beschriebenen Bestimmung der Arbeitsbelastung, Plattform- und Komponenten-Latenztoleranzanforderungen, Ein- und Austrittszeiten des Plattform-Ruhezustands, einem Betrag der Hardware- und Software-Aktivität und einem durchschnittlichen Leistungsaufnahme-Ziel bestimmt. In einigen Ausführungsformen kann der optimale Ruhezustand auf Plattformebene verschieden sein und auf verschiedenen Anforderungen für aktive und halbaktive Arbeitsbelastungen basieren. Zum Beispiel wird ein durchschnittliches Leistungsaufnahme-Ziel zum Bestimmen des optimalen Ruhezustands auf Plattformebene während aktiver Arbeitsbelastungen und nicht halbaktiver Arbeitsbelastungen verwendet.
  • Der optimale Plattform-Ruhezustand kann einer eines leichten Plattform-Ruhezustands, eines tiefen Plattform-Ruhezustands oder eines tiefsten Plattform-Ruhezustands sein. Der Ruhezustand auf Plattformebene beschreibt die Leistungsmenge, die der Plattform-Verarbeitungsvorrichtung einschließlich der Verarbeitungskerne zugeführt oder davon aufgenommen wird, und die Informationsmenge, die in Speicher, Cache-Speichern und Registern gespeichert ist. Wenn zum Beispiel der Drosselung-Schwellenwert auf den leichten Plattform-Ruhezustand eingestellt ist, halten sämtliche Hardware und Verarbeitungskerne Leistung aufrecht und werden Kontext oder Informationen aufrechterhalten, aber die Plattform-Verarbeitungsvorrichtung 110 verbraucht weniger Leistung, als wenn sie in einem voll aktiven Zustand ist. Wenn in einem anderen Beispiel der Drosselung-Schwellenwert auf den tiefen Plattform-Ruhezustand eingestellt ist, verlieren die Verarbeitungskerne 112 Leistung und werden Prozessorkern-, Hardware-, Cache-Speicher- und Chipset-Kontext oder -Informationen unter Verwendung von Speicher erhalten. Überdies wird der Systemspeicher erhalten. Wenn der Drosselung-Schwellenwert auf den tiefsten Plattform-Ruhezustand eingestellt ist, nimmt das System im Vergleich mit allen anderen Ruhezuständen am wenigsten Leistung auf. In der obigen Ausführungsform werden drei Ruhezustände beschrieben, das System ist jedoch nicht auf drei Ruhezustände beschränkt, wie ein Fachmann im Fachgebiet leicht verstehen wird.
  • In verschiedenen Ausführungsformen kann ein Plattform- und Komponenten-Latenztoleranz-Erfordernis verwendet werden, um den optimalen Plattform-Ruhezustand unter sowohl aktiven als auch halbaktiven Arbeitsbelastungen zu bestimmen. In verschiedenen Ausführungsformen kann die Plattform-Latenztoleranz mindestens teilweise auf der maximalen Latenz basieren, die die Plattform-Verarbeitungsvorrichtung 110 tolerieren kann, ohne dass sie ihre Performance beeinträchtigt. Die Plattform-Latenztoleranz kann sich auf die gegenwärtige maximale Latenztoleranz sämtlicher Komponenten oder Untersysteme/Vorrichtungen in der Plattform beziehen. In anderen Ausführungsformen kann die Latenztoleranz auf individuellen Latenztoleranzen für Komponenten basieren. Die Latenztoleranz einer Komponente kann mindestens teilweise auf der Verzögerung basieren, die die Komponente tolerieren kann, ohne dass ihre Performance beeinträchtigt wird, wenn die Komponente und/oder andere Komponenten des Systems aus einem Plattform-Ruhemodus in einen Normal-/Ausführungszustand übergehen. Die Plattform-Latenztoleranz kann außerdem mindestens teilweise auf internen und externen Komponenten einschließlich von Zwischenspeicherungseinschränkungen der internen und externen Komponenten und Koordination von Zwischenspeicherung auf Komponentenebene basieren.
  • In einigen Ausführungsforme kann in einen tieferen Plattform-Ruhezustand eingetreten werden, wenn Latenztoleranz-Anforderungen eine längere Zeitanforderung aufweisen und gutmütiger sind. Tiefere Plattform-Ruhezustände erfordern aufgrund des Zustands, in dem sich die verschiedenen Komponenten in diesem tieferen Ruhezustand befinden, im Allgemeinen mehr Zeit zum Eintreten und Verlassen. Die Plattform-Verarbeitungsvorrichtung 110 kann in den tieferen Plattform-Ruhezustand eintreten, wenn die Latenztoleranz-Anforderungen der Komponenten der Plattform-Verarbeitungsvorrichtung 110 länger sind, weil der Plattform-Verarbeitungsvorrichtung 110 mehr Zeit gestattet wird, den tieferen Plattform-Ruhezustand aufrechtzuerhalten, darin einzutreten und ihn zu verlassen.
  • Gleichermaßen können in einigen Ausführungsformen auch die Zeitanforderungen zum Eintreten in den und Verlassen des Plattform-Ruhezustands verwendet werden, um den Drosselung-Schwellenwert am optimalen Plattform-Ruhezustand zu bestimmen. Verschiedene Komponenten des Computersystems 105 und der Plattform-Verarbeitungsvorrichtung 110 können schnellere Ein- und Austrittszeiten erfordern oder alternativ langsamere zulassen. Wie vorher angeführt, sind die Ein- und Austrittszeiten typischerweise länger, wenn die Plattform-Ruhezustände tiefer werden. Demgemäß sind Komponenten des Systems und der Plattform-Verarbeitung, die schnellere Ein- und Austrittszeiten benötigen, unter Umständen nicht in der Lage, in tiefere Plattform-Ruhezustände einzutreten. Umgekehrt kann, wenn die Anforderungen an die Ein- und Austrittszeit des Plattform-Ruhezustands langsamer sind, der optimale Plattform-Ruhezustand auf einen tieferen Ruhezustand eingestellt werden.
  • In einigen Ausführungsformen kann ein Betrag der Hardware- und Software-Aktivität verwendet werden, um den optimalen Plattform-Ruhezustand zu bestimmen. Zum Beispiel wird in einer Ausführungsform in den leichten Plattform-Ruhezustand eingetreten, wenn Software-Aktivität detektiert wird. In derselben Ausführungsform wird in einen tiefen Plattform-Ruhezustand eingetreten, wenn während einer Detektion des Aktivitätsniveaus keine Software-Aktivität detektiert wird oder die Software-Aktivität während der erzwungenen Ruheperiode nachlässt. In den tiefsten Plattform-Ruhezustand wird eingetreten, wenn während der Detektion des Aktivitätsniveaus keine Hardware- oder Software-Aktivität detektiert wird. Die Detektion des Aktivitätsniveaus erfolgt, während die Arbeitszyklus-Verarbeitung aktiviert ist, und kann während einer aktiven Periode oder einer erzwungenen Ruheperiode erfolgen. Das während einer aktiven Periode detektierte Aktivitätsniveau kann den optimalen Ruhezustand für die nächste erzwungene Ruheperiode bestimmen. Das während einer erzwungenen Ruheperiode detektierte Aktivitätsniveau kann den optimalen Ruhezustand verändern oder der optimale Ruhezustand kann aufrechterhalten werden. Wenn zum Beispiel die Software-Aktivität in einer erzwungenen Ruheperiode nachlässt, kann der optimale Ruhezustand von einem leichten Ruhezustand zu einem tiefen Ruhezustand wechseln, wenn die Software-Aktivität während der erzwungenen Ruheperiode nachlässt.
  • In einigen Ausführungsformen kann während Arbeitszyklus-Verarbeitung aktiver Arbeitsbelastung ein durchschnittliches Leistungsaufnahme-Ziel verwendet werden, um den Drosselung-Schwellenwert im optimalen Plattform-Leerlaufzustand für die Plattform-Verarbeitungsvorrichtung 110 zu bestimmen. In verschiedenen Ausführungsformen kann die Leistungsverwaltungsvorrichtung 115 eine laufende durchschnittliche Leistungsgrenze (RAPL) zum Steuern von Leistungsaufnahme und Wärmeabgabe durch die Plattform-Verarbeitungsvorrichtung 110 in einer koordinierten Weise nutzen. RAPL kann verwendet werden, um einen optimalen verfügbaren Plattform-Ruhezustand und Drosselung-Schwellenwert für die Plattform-Verarbeitungsvorrichtung 110 zu bestimmen. Für ein gegebenes Zeitfenster kann die RAPL berechnet werden, um die verfügbare Leistung innerhalb eines durchschnittlichen Leistungsaufnahme-Ziels basierend auf einer empfangenen Leistungsnutzung zu halten. Zum Beispiel kann ein angestrebtes durchschnittliches Leistungsniveau von 1,5 W durch Verarbeitung während des aktiven Zustands bei 2,5 W und Ruhen bei 0,5 W während der Ruheperiode 50% der Zeit erreicht werden. Der geeignete optimale Plattform-Ruhezustand basiert auf dieser Bestimmung, um die verfügbare Leistung innerhalb eines durchschnittlichen Leistungsaufnahme-Ziels zu halten.
  • In einigen Ausführungsformen wird eine Zeitlänge der erzwungenen Ruheperiode des optimalen Plattform-Ruhezustands während der Bestimmung des Drosselung-Schwellenwerts bestimmt. Zum Beispiel kann in einigen Ausführungsformen die Zeitlänge der erzwungenen Ruheperiode für tiefere Plattform-Ruhezustände länger sein als für leichte Plattform-Ruhezustände. In einer Ausführungsform kann die erzwungene Ruheperiode eine kürzere Zeitlänge aufweisen, wenn der Drosselung-Schwellenwert auf den leichten Plattform-Ruhezustand eingestellt ist, verglichen mit dem tiefen oder dem tiefsten Plattform-Ruhezustand. In einer anderen Ausführungsform kann die erzwungene Ruheperiode eine längere Zeitlänge aufweisen, wenn der Drosselung-Schwellenwert auf den tiefen Plattform-Ruhezustand eingestellt ist, verglichen mit dem leichten Plattform-Ruhezustand, aber eine kürzere Zeitlänge, verglichen mit dem tiefsten Plattform-Ruhezustand. Die erzwungene Ruheperiode kann die längste Zeitlänge aufweisen, wenn der Drosselung-Schwellenwert auf den tiefsten Plattform-Ruhezustand eingestellt ist.
  • In einigen Ausführungsformen basiert die Zeitlänge der erzwungenen Ruheperiode unter Umständen nicht auf dem Drosselung-Schwellenwert, sondern auf anderen Systemparametern. Zum Beispiel kann die Zeitlänge bestimmt werden, um Software-Transparenz zu gewährleisten, wie vorstehend beschrieben. In einer Ausführungsform, zum Beispiel während halbaktiver Arbeitsbelastungen, kann die Zeitlänge der erzwungenen Ruheperiode auf der Latenztoleranz-Einstellung oder -Anforderung und ausstehender Aktivität basiert sein. Zum Beispiel können in einigen Ausführungsformen die Latenztoleranz-Anforderungen derart eingestellt sein, dass das Computersystem 105, die Plattform-Verarbeitungsvorrichtung 110 und Komponenten durch die erzwungene Ruheperiode und den optimalen Ruhezustand auf Plattformebene nicht beeinträchtigt werden. Einige Komponenten wie das Computersystem 105 und die Plattform-Verarbeitungsvorrichtung 110 erfordern unter Umständen einen größeren Betrag von Reaktionszeit, um aus dem Plattform-Ruhezustand zu kommen, wie vorher diskutiert. Folglich kann in diesen Fällen eine kürzere Zeitlänge der erzwungenen Ruheperiode erforderlich sein. In einigen Ausführungsformen kann die Zeitlänge der erzwungenen Ruheperiode von sowohl dem Drosselung-Schwellenwert als auch dem optimalen Plattform-Ruhezustand und den anderen Systemparametern abhängig sein.
  • Die Zeitlänge der erzwungenen Ruheperiode kann auch auf kritischen Ereignissen wie Software-Timer und Vertikalaustastlücken basiert sein. Die kritischen Ereignisse können Verarbeitung innerhalb einer bestimmten Zeitperiode erfordern. Die kritischen Ereignisse können vor dem Eintreten in die erzwungene Ruheperiode analysiert werden, während Software und Hardware aktiv verarbeiten, und die Zeitlänge oder der Ablauf der erzwungenen Ruheperiode kann auf diese Analyse basiert werden. Die auf dieser Analyse basierte Zeitlänge kann auch verwendet werden, um den optimalen Plattform-Ruhezustand zu bestimmen. Zum Beispiel kann der optimale Plattform-Ruhezustand eines eines leichten Ruhezustands, wenn die kritischen Ereignisse eines kürzere erzwungene Ruheperiode erfordern, oder eines tiefen oder tieferen Ruhezustands, wenn die kritischen Ereignisse eine längere erzwungene Ruhezustand gestatten, sein.
  • In verschiedenen Ausführungsformen kann die Zeitlänge der erzwungenen Ruheperiode während halbaktiver Arbeitsbelastungen auf I/O-Zwischenspeicherungsfähigkeiten des Computersystems 105, der Plattform-Verarbeitungsvorrichtung 110 und Komponenten basieren.
  • Die I/O-Zwischenspeicherungsfähigkeiten angefügter Vorrichtungen können auch verwendet werden, um eine Latenztoleranz der Vorrichtung und die Zeitlänge erzwungener Ruheperioden in einigen Ausführungsformen zu bestimmen. Zum Beispiel können bestimmte Komponenten des Computersystems oder der Plattform-Verarbeitungsvorrichtung begrenzte und statische I/O-Zwischenspeicherungsfähigkeiten aufweisen und häufiges Lesen oder Schreiben der I/O-Zwischenspeicherung erfordern, um Überlaufen oder Unterlaufen des I/O-Zwischenspeichers zu vermeiden. Diese begrenzten I/O-Zwischenspeicherungsfähigkeiten können die Zeitlänge der erzwungenen Ruheperiode bestimmen oder verwendet werden, um sie darauf zu basieren.
  • In einigen Ausführungsformen können die Zeitlänge der aktiven Periode und erzwungenen Ruheperiode auf einer Race-to-Halt-Richtlinie basieren, die in der Plattform-Verarbeitungsvorrichtung 110 implementiert ist. Zum Beispiel kann es sein, dass der eine oder die mehreren Verarbeitungskerne 112 während eines aktiven oder komprimierten aktiven Zustands schneller laufen. Betreiben des einen oder der mehreren Verarbeitungskerne 112 bei einer höheren Rate gestattet den Verarbeitungskernen 112, über eine kürzere Zeitperiode während des aktiven Zustands mehr Aufgaben auszuführen und mehr Arbeit zu verarbeiten. Wenn die Race-to-Halt-Richtlinie implementiert ist und die Verarbeitungskerne 112 bei einer schnelleren Rate betrieben werden, kann die Zeitlänge der erzwungenen Ruheperiode länger sein, als wenn keine Race-to-Halt-Richtlinie implementiert ist. In einigen Ausführungsformen kann die Race-to-Halt-Richtlinie gestatten, dass der Drosselung-Schwellenwert an einem tieferen optimalen Plattform-Ruhezustand eingestellt wird.
  • In einigen Ausführungsformen kann die Zeitlänge der erzwungenen Ruheperiode während halbaktiver Arbeitsbelastungen verwendet werden, um ein optimales Verhältnis der Zeit der erzwungenen Ruheperiode zur Zeit der aktiven Periode zu erreichen, basierend auf dem beobachteten Performance-Kapazitätsbedarf der halbaktiven Arbeitsbelastung und möglicherweise durch I/O-Zwischenspeicherungsfähigkeiten und Latenztoleranz-Anforderungen dynamisch begrenzt. Zum Beispiel kann die Leistungsverwaltungsvorrichtung 110 bestimmen, dass die Komponente, die die maximale Verarbeitungsaktivitätszeit erfordert, 30% der Zeit aktiv ist. Folglich kann die mögliche maximale erzwungene Ruheperiode 70% der Zeit in Ruhe sein. Die Zeitlänge der erzwungenen Ruhezeit kann dann bestimmt werden, um dieses Verhältnis von 70% Ruhe zu 30% Aktivität zu erreichen. Wie vorher diskutiert, können die Latenztoleranz-Anforderungen und I/O-Zwischenspeicherungsfähigkeiten die mögliche maximale erzwungene Ruhezeit jedoch auf einen Prozentanteil von weniger als 70% Ruhe begrenzen.
  • Am Block 215 wird eine erzwungene Ruheperiode für die Plattform-Verarbeitungsvorrichtung 110 aktiviert. Während der erzwungenen Ruheperiode werden Software- und Hardware-Aktivität bis zur nächsten aktiven Periode zurückgestellt. In verschiedenen Ausführungsformen werden die Hardware- und Software-Aktivität, die von dem einen oder den mehreren Kernen 112 verarbeitet wird, bis zu nächsten aktiven Periode zurückgestellt. Die Hardware- und Software-Aktivität kann Grafik- und Nichtgrafikverarbeitung enthalten. In verschiedenen Ausführungsformen kann die gesamte Plattform-Verarbeitungsvorrichtung 110 einschließlich des einen oder der mehreren Kerne 112, die Grafikverarbeitungseinheit 114, die Plattform-I/O-Vorrichtung 116 und der Plattformspeicher 118 sowie etwaige Uncore- bzw. Nichtkern-Komponenten (nicht dargestellt) während der erzwungenen Ruheperiode in einen optimalen Plattform-Ruhezustand eintreten. Uncore-Komponenten können andere Speicher, Zwischenspeicher, Pipelines, I/O-Vorrichtungen und Steuerungen enthalten. Die Komponenten und die Plattform-Verarbeitungsvorrichtung 110 würden anderenfalls während des normalen Betriebs nicht in den optimalen Ruhezustand eintreten. Die erzwungene Ruheperiode kann auch auf einer feinkörnigen Ebene vorkommen, um Software-Transparenz beizubehalten. In einigen Ausführungsformen wird Software-Transparenz aufrechterhalten, wenn Software-Verarbeitung durch die erzwungene Ruheperiode nicht beeinflusst wird und für einen Nutzer des Systems nicht wahrnehmbar ist.
  • In verschiedenen Ausführungsformen können Latenztoleranz-Berichterstattung (LTR), Uncore-Frequenzskalierung (UFS) und Kernausschaltung (CPD) implementiert sein, um die erzwungene Ruheperiode zu aktivieren. LTR kann verwendet werden, um die erzwungene Ruheperiode auf der Plattform-Verarbeitungsvorrichtung 110 durch Abgleichen von dynamischer Speicheradresse (DMA) der Vorrichtung und Interrupts zu aktivieren. UFS stellt einen Mechanismus zum Entleeren und Anhalten von Uncore-I/O-Aktivität bereit, wodurch Aktivität zwischen dem einen oder den mehreren Kernen 112 abgehalten wird. CPD stellt einen ähnlichen Mechanismus für den einen oder die mehreren Verarbeitungskerne 112 zum Entleeren und Anhalten von Aktivität auf Kernebene bereit. Die Plattform-Verarbeitungsvorrichtung 110 kann in einen der Plattform-Ruhezustände, wie vorstehend beschrieben, während einer erzwungenen Ruheperiode durch Verwendung mindestens eines von LTR, UFS und CPD und Anhalten von Aktivität eintreten.
  • Am Block 217 bestimmt das System, ob neue Aktivität während der erzwungenen Ruheperiode erzeugt wird. Wenn während der erzwungenen Ruheperiode Aktivität erzeugt wird, wird die Aktivität ebenfalls bis zur nächsten aktiven Periode am Block 219 zurückgestellt. Neue Aktivität kann eine beliebige Hardware- oder Software-Aktivität sein, die während der erzwungenen Ruheperiode erzeugt wurde. Diese Aktivität kann Interrupts, Timer, Vertikalaustastlücken, Takteingänge usw. enthalten; das System ist jedoch nicht auf diese Beispiele begrenzt, wie ein Fachmann im Fachgebiet leicht verstehen wird.
  • Am Block 221 wird die Zeitlänge der erzwungenen Ruheperiode bewertet und wird eine Bestimmung vorgenommen, ob die Zeitlänge basierend auf mindestens einem einer Latenztoleranz-Einstellung, Eintreffen von Nichtzurückstellung-Ereignissen und ausstehender Aktivität dynamisch anzupassen ist. Die Zeitlänge der erzwungenen Ruheperiode kann basierend auf der vorgenommenen Bestimmung auf eine längere oder kürzere Zeit eingestellt werden. Wenn zum Beispiel die Latenztoleranz des Systems oder der Komponente kürzer ist als die Zeitlänge der erzwungenen Ruheperiode, kann die erzwungene Ruheperiode verkürzt werden. In einem anderen Beispiel kann das Eintreffen von Nichtzurückstellung-Ereignissen die Zeitlänge der erzwungenen Ruheperiode bestimmen. In einigen Ausführungsformen können einige Ereignisse Verarbeitung erfordern, während die Plattform-Verarbeitungsvorrichtung 110 und das Computersystem 105 sich in der erzwungenen Ruheperiode befinden. Demgemäß kann die Zeitlänge der erzwungenen Ruheperiode verkürzt werden, um die Anforderungen dieser Nichtzurückstellung-Ereignisse unterzubringen. In einem anderen Beispiel wird ausstehende Aktivität unter Umständen nicht verarbeitet, bevor die Plattform-Verarbeitungsvorrichtung 110 in die erzwungene Ruheperiode eintritt. Diese nicht verarbeitete Aktivität kann früher Verarbeitung erfordern, als ursprünglich erwartet, wodurch eine Anpassung der Zeitlänge der erzwungenen Ruheperiode notwendig werden kann. Am Block 223 wird die Zeitlänge der erzwungenen Ruheperiode angepasst, wenn die Bestimmung gemacht wurde, die Zeitlänge dynamisch anzupassen. In einigen Ausführungsformen kann die Zeitlänge der erzwungenen Ruheperiode bis zur Plattform-Latenztoleranz verlängert werden.
  • Am Block 225 kann die Verarbeitung bestimmter Software- und Hardware-Aktivität während der erzwungenen Ruheperiode erforderlich sein. Zum Beispiel kann es erforderlich sein, bestimmte Ereignisse wie Software-Timer und Vertikalaustastlücken vor der nächsten aktiven Periode und während der erzwungenen Ruheperiode zu verarbeiten. Diese Aktivität kann neu erzeugte Aktivität sein, bestimmt am Block 217, oder ursprünglich zurückgestellte Aktivität. Die hierin beschriebenen Ausführungsformen sind nicht darauf beschränkt, nur Software-Timer und Vertikalaustastlücken während der erzwungenen Ruheperiode zu verarbeiten. Das System kann beliebige Software- und Hardware-Aktivität verarbeiten, die erforderlich ist, um das System, während es sich in der erzwungenen Ruheperiode befindet, in einem einwandfreien Zustand zu erhalten und Daten einwandfrei zu verarbeiten.
  • Am Block 227 wird eine Bestimmung vorgenommen, basierend auf der Zeitlänge der erzwungenen Ruheperiode oder einem Grund zum vorzeitigen Abbrechen der erzwungenen Ruheperiode, ob die erzwungene Ruheperiode abgelaufen ist. Wenn die erzwungene Ruheperiode nicht abgelaufen ist, verbleibt das System in der erzwungenen Ruheperiode und fährt fort, zu bestimmen, ob neue Aktivität erzeugt wird, die Zeitlänge der erzwungenen Ruheperiode eine Anpassung erfordert und die Verarbeitung Software- und Hardware-Aktivität erfordert. Die erzwungene Ruheperiode kann aufgrund des Auftretens eines Abbruchereignisses vorzeitig beendet werden, d. h. vor dem Ablauf der normalen Zeitlänge. Zum Beispiel kann ein Abbruchereignis eine Vorrichtungsspeicherzugriff (DMA), der Verarbeitung erfordert, ein oder mehrere Vorrichtungs-Interrupts, die Verarbeitung erfordern, oder das Vorkommen eines kritischen Ereignisses wird ein Software-Timer oder eine Vertikalaustastlücke sein. Die Ausführungsformen sind jedoch nicht in dieser Weise beschränkt, andere Abbruchereignisse können ebenfalls vorkommen.
  • Am Block 229 wird eine aktive Periode aktiviert, um die zurückgestellte Aktivität zu bedienen. In einer Ausführungsform aktiviert die Leistungsverwaltungsvorrichtung 115 eine aktive Periode für die Plattform-Verarbeitungsvorrichtung 110. Zum Beispiel verarbeitet die Plattform-Verarbeitungsvorrichtung 110 in einigen Ausführungsformen eine Aktivität, die während der erzwungenen Ruheperiode zurückgestellt wurde, und neu erzeugte Aktivität während der aktiven Periode. Diese Aktivität kann Hardware- und Software-Aktivität sein.
  • 3 stellt eine Ausführungsform eines ersten Aktivitätspegel-Diagramms 300 für die Plattform-Verarbeitungsvorrichtung 110 dar. Das Aktivitätspegel-Diagramm stellt verschiedene Hardware- und Software-Aktivitätspegel während verschiedener Operationsperioden dar. Das Aktivitätspegel-Diagramm umfasst normale Betriebsperioden 301, aktive Betriebsperioden 303 und erzwungene Ruheperioden 305. Eine normale Betriebsperiode 301 erfolgt, wenn Arbeitszyklus-Verarbeitung nicht aktiviert ist, und kann Zeitperioden aufweisen, in denen Hardware- und/oder Software-Aktivität aktiver ist als in anderen Zeitperioden, wie in 3 dargestellt. Aktive Betriebsperioden 303 und erzwungene Ruheperioden 305 kommen vor, wenn Arbeitszyklus-Verarbeitung aktiviert ist. Wie vorstehend beschrieben, kann Arbeitszyklus-Verarbeitung aktiviert werden, wenn aktive und halbaktive Arbeitsbelastungen detektiert werden.
  • Das Aktivitätspegel-Diagramm 300 stellt Eintrittsperioden 307 und Austrittsperioden 309 dar. Eine Eintrittsperiode 307 ist eine Zeitperiode, in der ein Übergang zu einer erzwungenen Ruheperiode stattfindet, und eine Austrittsperiode ist eine Zeitperiode, in der ein Übergang aus einer Ruheperiode stattfindet. In einigen Ausführungsformen weisen sowohl eine Eintritts- 307 als auch eine Austrittsperiode 309 eine Zeitlänge auf, die variieren kann und kürzer als zehn Mikrosekunden sein kann. In anderen Ausführungsformen können sowohl die Eintritts- 307 als auch die Austrittsperiode 309 eine Zeitlänge aufweisen, die variiert und länger als zehn Mikrosekunden ist. In einigen Ausführungsformen können diese Eintritts- und Austrittsperioden verwendet werden, um den optimalen Plattform-Ruhezustand während einer erzwungenen Ruheperiode zu bestimmen, wie vorstehend beschrieben.
  • Das Aktivitätspegel-Diagramm 300 definiert drei Aktivitätspegel: vollständig aktiver Pegel 311, Uncore-aktiv-Pegel 313 und natürlicher Plattform-Ruhepegel 315. Wenn die Aktivität auf dem vollständig aktiven Pegel 311 ist, werden sämtliche Hardware- und Software-Aktivität von den Verarbeitungskernen, der Grafikverarbeitungsvorrichtung, der Plattform-I/O, dem Plattformspeicher und den Uncore-Komponenten, die für die Verarbeitungskerne unverzichtbar sind, aber kein Bestandteil der Verarbeitungskerne sind, verarbeitet. Wenn die Aktivität auf dem Uncore-aktiv-Pegel 313 ist, werden nur die Uncore-Komponenten verarbeitet. Die Verarbeitungskerne 112 und die Grafikverarbeitungseinheit 114 verarbeiten keine Aktivität. Wenn die Aktivität auf dem natürlichen Plattform-Ruhepegel 315 ist, wird von den Verarbeitungskernen 112, der Grafikverarbeitungseinheit 114 und den Uncore-Komponenten keine Aktivität verarbeitet. Der Aktivitätspegel der Plattform-Verarbeitungsvorrichtung 110 verarbeitet nicht notwendigerweise auf einem der drei Pegel, sondern kann Aktivität auf jedem Pegel zwischen einem der drei Pegel oder auf einem der drei Pegel verarbeiten, wie in 3 dargestellt.
  • 3 stellt Hardware- und Software-Aktivität dar, die während einer normalen Betriebsperiode 301 verarbeitet wird. Die Hardware- und Software-Aktivität, die während der normalen Betriebsperiode verarbeitet wird, ist auf verschiedenen Aktivitätspegeln einschließlich des Alle-aktiv-Pegels 311 und Uncore-aktiv-Pegels 313 und ist unter einer halbaktiven Arbeitsbelastung. 3 stellt die mindergenutzten und nicht abgeglichenen Hardware-Vorrichtungen dar. Arbeitszyklus-Verarbeitung kann aktiviert werden, wie als Arbeitszyklus-Verarbeitungsperiode 317 dargestellt. Während der Arbeitszyklus-Verarbeitungsperiode 317 können Hardware- und Software-Aktivität auf verschiedenen Aktivitätspegeln einschließlich der vorstehend unter Bezugnahme auf die 2A/2B beschriebenen Drosselungsebenen verarbeitet werden. Die Arbeitszyklus-Verarbeitungsperiode 317 kann aktive Perioden 303 und erzwungene Ruheperioden 305 umfassen. Die Arbeitszyklus-Verarbeitung kann beliebig oft aktiviert und deaktiviert werden, basierend darauf, ob eine halbaktive Arbeitsbelastung detektiert wird und die Hardware-Vorrichtungen mindergenutzt sind und Aktivität nicht abgeglichen ist.
  • Unter Bezugnahme auf 3, lässt die Arbeitszyklus-Verarbeitung nach, und eine zweite normale Betriebsperiode 301 ist dargestellt. Während der zweiten normalen Betriebsperiode 301 ist die Hardware- und Software-Aktivität auf dem natürlichen Plattform-Ruhepegel 315. In verschiedenen Ausführungsformen kann die Arbeitszyklus-Verarbeitung nachlassen, wenn mindestens eines der folgenden Ereignisse eintritt: die Hardware- und Software-Aktivität wird abgeglichen, die Hardware-Vorrichtungen sind nicht mindergenutzt und eine halbaktive Arbeitsbelastung wird nicht detektiert. Die Arbeitszyklus-Verarbeitung kann jedoch auch aus anderen Gründen, die einem Fachmann im Fachgebiet bekannt sind, nachlassen.
  • 4 stellt eine Ausführungsform eines zweiten Aktivitätspegel-Diagramms 400 für die Plattform-Verarbeitungsvorrichtung 110 dar. Das Hardware- und Software-Aktivitätspegel-Diagramm 400 stellt Arbeitszyklus-Verarbeitung für die Plattform-Verarbeitungsvorrichtung 110 dar. Ähnlich zu 3, stellt das Hardware- und Software-Aktivitätspegel-Diagramm 400 erzwungene Ruheperioden und aktive Perioden zur Verarbeitung von Aktivität dar. Das Diagramm 400 stellt außerdem drei Aktivitätspegel einschließlich eines vollständig aktiven Pegels, eines Uncor-aktiv-Pegels und eines natürlichen SoC-Ruhepegels dar. Das Hardware- und Software-Aktivitätspegel-Diagramm 400 stellt ferner Aktivitätspegel bei verschiedenen Plattform-Ruhezuständen einschließlich eines leichten Plattform-Ruhezustands 401, eines tiefen Plattform-Ruhezustands 403 und eines tiefsten Plattform-Ruhezustands 405 dar. Diese drei Plattform-Ruhezustände sind ähnlich denen, die vorstehend unter Bezugnahme auf die 2A/2B diskutiert wurden.
  • Während des leichten Plattform-Ruhezustands 401 behalten sämtliche Hardware und Verarbeitungskerne Leistung bei und werden Kontext oder Informationen erhalten, aber das System nimmt weniger Leistung auf, als wenn es in einem vollständig aktiven Zustand ist. Während des tiefen Plattform-Ruhezustands 403 verlieren die Verarbeitungskerne Leistung und gehen Kontext oder Informationen der Verarbeitungskerne, der Hardware, des Cache-Speichers und des Chipsets verloren. Der Systemspeicher wird jedoch erhalten. Ferner nimmt das System während des tiefsten Plattform-Ruhezustands 405 im Vergleich mit allen anderen Ruhezuständen die geringste Leistungsmenge auf. Die Kontextdaten oder Informationen können auf ein Festplattenlaufwerk (Platte) geschrieben werden und es wird kein Kontext erhalten.
  • In verschiedenen Ausführungsformen kann jede der erzwungenen Ruheperioden verschiedene Zeitlängen aufweisen. Wie vorstehend beschrieben, können die Zeitlängen der Plattform-Ruhezustände von verschiedenen Faktoren abhängen, einschließlich von, aber nicht darauf beschränkt, in welchem optimalen Plattform-Ruhezustand die erzwungene Ruheperiode während der erzwungenen Ruheperiode ist. Wie unter Bezugnahme auf die 2A/2B beschrieben, kann der leichte Plattform-Ruhezustand die kürzeste erzwungene Ruheperiode aufweisen, kann der tiefe Plattform-Ruhezustand eine längere erzwungene Ruheperiode aufweisen und kann der tiefste Plattform-Ruhezustand die längste erzwungene Ruheperiode aufweisen. In einer Ausführungsform kann eine erzwungene Verzögerung 407 inkorporiert werden, um die Zeitlänge der erzwungenen Ruheperiode zu verlängern. Die erzwungene Verzögerung 407 kann eine beliebige Zeitlänge sein, um die erzwungene Ruheperiode bis zu den Plattform-Latenztoleranz-Anforderungen zu verlängern. 4 stellt dar, wie die erzwungene Verzögerung 407 auf eine erzwungene Ruheperiode angewandt wird, während der Drosselung-Schwellenwert auf einen tiefen Plattform-Ruhezustand eingestellt ist. Die Ausführungsformen sind jedoch nicht in dieser Weise beschränkt, und die erzwungene Verzögerung 407 kann auf beliebige der erzwungenen Ruheperioden in beliebigen der Ruhezustände angewandt werden.
  • 5 stellt eine Ausführungsform eines dritten Aktivitätspegel-Diagramms 500 und die Verwendung von Arbeitszyklus-Verarbeitung während einer aktiven Arbeitsbelastung dar. In verschiedenen Ausführungsformen kann die Leistungsverwaltungsvorrichtung 115 eine laufende durchschnittliche Leistungsgrenze (RAPL) zum Steuern von Leistungsaufnahme und Wärmeabgabe durch die Plattform-Verarbeitungsvorrichtung 110 in einer koordinierten Weise nutzen. RAPL kann verwendet werden, um einen optimalen verfügbaren Plattform-Ruhezustand und Drosselung-Schwellenwert für die Plattform-Verarbeitungsvorrichtung 110 zu bestimmen. Für ein gegebenes Zeitfenster kann die RAPL berechnet werden, um die verfügbare Leistung innerhalb einer durchschnittlichen Leistungsnutzung basierend auf einer empfangenen Leistungsnutzung zu halten. Der geeignete optimale Plattform-Ruhezustand basiert auf dieser Bestimmung, um die verfügbare Leistung innerhalb einer durchschnittlichen Leistungsnutzung zu halten.
  • Unter Bezugnahme auf 5, hält die RAPL 501 die verfügbare Leistung innerhalb einer durchschnittlichen Leistungsnutzung von 50%, und der Drosselung-Schwellenwert ist während der erzwungenen Ruheperiode 503 auf einen leichten Plattform-Ruhezustand eingestellt. Wie oben beschrieben, kann die RAPL 501 jedoch konfiguriert werden, die verfügbare Leistung innerhalb einer durchschnittlichen Leistungsnutzung zu halten, um eine gewünschte Reduktion von Leistungsaufnahme und Wärmeabgabe zu erreichen. Im obigen Beispiel wird eine Leistungsreduktion der SoC-Vorrichtung 110 von 30% erreicht.
  • 6A stellt eine Ausführungsform eines zweiten logischen Ablaufs 600 dar. Der logische Ablauf 600 kann für eine oder sämtliche der Operationen, die von einer oder mehreren hierin beschriebenen Ausführungsformen ausgeführt werden, repräsentativ sein. Zum Beispiel kann der logische Ablauf 600 Operationen darstellen, die von dem System 100 und insbesondere dem Computersystem 105 des Systems 100 durchgeführt werden.
  • In der in 6A gezeigten veranschaulichten Ausführungsform kann der logische Ablauf 600 enthalten, eine aktive Arbeitsbelastung oder halbaktive Arbeitsbelastung zur Ausführung auf einer Plattform-Verarbeitungsvorrichtung zu detektieren, wobei die detektierte Arbeitsbelastung auf einem oder mehreren Kriterien am Block 602 basiert. Das eine oder die mehreren Kriterien können einen Verarbeitungs-Prozentanteil eines oder mehrerer Kerne, einen Grafikverarbeitungs-Prozentanteil einer Grafikverarbeitungseinheit, I/O-Aktivität einer Plattform, die I/O verarbeitet, und Lese/Schreib-Aktivität eines Plattformspeichers umfassen. Die aktive Arbeitsbelastung kann basierend darauf detektiert werden, dass eines oder mehrere der vorstehend angeführten Kriterien über einem jeweiligen Schwellenwert für jedes der Kriterien sind. Zum Beispiel kann die Leistungsverwaltungsvorrichtung 115 bestimmen, dass der Verarbeitungs-Prozentanteil des einen oder der mehreren Kerne 112 über einem Verarbeitungs-Schwellenwert ist.
  • Die halbaktive Arbeitsbelastung kann basierend darauf detektiert werden, dass eines oder mehrere der vorstehend angeführten Kriterien unter einem jeweiligen Schwellenwert für jedes des einen oder der mehreren Kriterien sind. Zum Beispiel kann die Leistungsverwaltungsvorrichtung 115 bestimmen, dass der Verarbeitungs-Prozentanteil des einen oder der mehreren Kerne 112 unter einem Verarbeitungs-Schwellenwert ist. In einigen Ausführungsformen können das eine oder die mehreren Kriterien höher als ein oder über einem ersten Schwellenwert sein, um eine aktive Arbeitsbelastung zu bestimmen. Das eine oder die mehreren Kriterien können niedriger als ein oder unter einem zweiten Schwellenwert sein, um eine halbaktive Arbeitsbelastung zu bestimmen. In verschiedenen Ausführungsformen kann der erste Schwellenwert höher als der oder über dem zweiten Schwellenwert sein oder der erste Schwellenwert und der zweite Schwellenwert können der gleiche Schwellenwert sein.
  • Bei 604 kann in einigen Ausführungsformen die Leistungsverwaltungsvorrichtung 115 Arbeitszyklus-Verarbeitung für die Plattform-Verarbeitungsvorrichtung basierend auf einer aktiven oder halbaktiven Arbeitsbelastung aktivieren. Zum Beispiel kann Arbeitszyklus-Verarbeitung während einer halbaktiven Arbeitsbelastung basierend darauf aktiviert werden, ob Aktivität nicht abgeglichen ist und die Plattform-Verarbeitungsvorrichtung mindergenutzt ist. In einem anderen Beispiel kann Arbeitszyklus-Verarbeitung während einer aktiven Arbeitsbelastung aktiviert werden, wenn Leistungsaufnahme oder Wärmeabgabe über einem Schwellenwert ist. In einigen Ausführungsformen gleicht Aktivierung von Arbeitszyklus-Verarbeitung während einer halbaktiven Arbeitsbelastung Aktivität zwangsweise in feinkörnige erzwungene Ruhe- und aktive Perioden auf der Ebene der Plattform-Verarbeitungsvorrichtung ab. In einer anderen Ausführungsform aktiviert Aktivierung von Arbeitszyklus-Verarbeitung während einer aktiven Arbeitsbelastung das Computersystem, um Leistungsaufnahme- und Wärmeabgabe-Effizienzgewinne durch Erhaltung einer RAPL bei einem durchschnittlichen Leistungsziel zu erreichen.
  • 6B stellt eine Ausführungsform eines dritten logischen Ablaufs 650 dar. Der logische Ablauf 650 kann für eine oder sämtliche der Operationen, die von einer oder mehreren hierin beschriebenen Ausführungsformen ausgeführt werden, repräsentativ sein. Zum Beispiel kann der logische Ablauf 650 Operationen darstellen, die von dem System 100 und insbesondere dem Computersystem 105 des Systems 100 durchgeführt werden.
  • In der in 6B gezeigten veranschaulichten Ausführungsform kann der logische Ablauf 650 Arbeitszyklus-Verarbeitung enthalten, um am Block 652 einen Drosselung-Schwellenwert zu bestimmen, umfassend einen optimalen Ruhezustand auf Plattformebene für eine erzwungene Ruheperiode. Am Block 654 wird eine erzwungene Ruheperiode für die Plattform-Verarbeitungsvorrichtung 110 aktiviert. Während der erzwungenen Ruheperiode werden Software- und Hardware-Aktivität bis zur nächsten aktiven Periode zurückgestellt. Zum Beispiel werden die Hardware- und Software-Aktivität, die von dem einen oder den mehreren Kernen 112 verarbeitet wird, bis zur nächsten aktiven Periode zurückgestellt. In verschiedenen Ausführungsformen kann die gesamte Plattform-Verarbeitungsvorrichtung 110 während der erzwungenen Ruheperiode in einen leistungsverwalteten Vorrichtungs-Ruhezustand eintreten. Die erzwungene Ruheperiode kann auf einer feinkörnigen Ebene vorkommen, um Software-Transparenz beizubehalten.
  • Am Block 656 wird in verschiedenen Ausführungsformen eine aktive Periode zum Bedienen der zurückgestellten Aktivität nach der erzwungenen Ruheperiode aktiviert. Zum Beispiel kann die Leistungsverwaltungsvorrichtung 115 eine aktive Periode aktivieren, um Hardware- und Software-Aktivität zu verarbeiten, die während der erzwungenen Ruheperiode zurückgestellt wurde. Die Leistungsverwaltungsvorrichtung 115 kann eine aktive Periode aktivieren, nachdem die Zeitperiode der erzwungenen Ruheperiode abgelaufen ist, oder durch ein anderes Ereignis initiiert.
  • 7 zeigt eine Ausführungsform einer beispielhaften Berechnungsarchitektur 700, die zur Implementierung verschiedener vorstehend beschriebener Ausführungsformen geeignet ist. In einer Ausführungsform kann die Berechnungsarchitektur 700 ein Armband 110 und/oder eine Berechnungsvorrichtung 115 umfassen oder als Teil davon implementiert sein.
  • Die Begriffe „System” und „Komponente”, wie sie in dieser Anmeldung verwendet werden, sollen sich auf eine computerähnliche Entität beziehen, entweder Hardware, eine Kombination von Hardware und Software, Software oder Software in Ausführung, von denen Beispiele durch die beispielhafte Berechnungsarchitektur 700 bereitgestellt werden. Zum Beispiel kann eine Komponente ein Prozess, der auf einem Prozessor ausgeführt wird, ein Prozessor, ein Festplattenlaufwerk, mehrere Speicherlaufwerke (eines optischen und/oder magnetischen Speichermediums), ein Objekt, ein Ausführbares, ein Thread einer Ausführung, ein Programm und/oder ein Computer sein, ist aber nicht darauf beschränkt. Zur Veranschaulichung können sowohl eine Anwendung, die auf einem Server ausgeführt wird, als auch der Server eine Komponente sein. Eine oder mehrere Komponenten können sich innerhalb eines Prozesses und/oder Threads einer Ausführung befinden und eine Komponente kann sich in einem Computer befinden und/oder zwischen zwei oder mehreren Computer verteilt sein. Ferner können Komponenten durch verschiedene Typen von Kommunikationsmedien kommunikativ aneinander gekoppelt sein, um Operationen zu koordinieren. Die Koordination kann den eindirektionalen oder zweidirektionalen Austausch von Informationen beinhalten. Zum Beispiel können die Komponenten Informationen in der Form von Signalen, die über das Kommunikationsmedium kommuniziert werden, kommunizieren. Die Informationen können als Signale implementiert werden, die verschiedenen Signalleitungen zugeordnet sind. Bei derartigen Zuordnungen ist jede Nachricht ein Signal. Weitere Ausführungsformen können jedoch alternativ Datennachrichten nutzen. Derartige Datennachrichten können über verschiedene Verbindungen gesandt werden. Beispielhafte Verbindungen enthalten parallele Schnittstellen, serielle Schnittstellen und Bus-Schnittstellen.
  • Die Berechnungsarchitektur 700 enthält verschiedene gewöhnliche Berechnungselemente wie einen oder mehrere Prozessoren, Mehrkern-Prozessoren, Ko-Prozessoren, Speichereinheiten, Chipsets, Steuerungen, Peripheriegeräte, Schnittstellen, Oszillatoren, Taktungsvorrichtungen, Videokarten, Audiokarten, Multimedia-Eingabe/Ausgabe-(I/O)-Komponenten, Leistungsversorgungen und so weiter. Die Ausführungsformen sind jedoch nicht auf Implementierung durch die Berechnungsarchitektur 700 beschränkt.
  • Wie in 7 gezeigt, umfasst die Berechnungsarchitektur 700 eine Verarbeitungseinheit 704, einen Systemspeicher 706 und einen Systembus 708. Die Verarbeitungseinheit 704 kann eine beliebige von verschiedenen gewerblich erhältlichen Prozessoren sein, wie diejenigen, die unter Bezugnahme auf den in 1 dargestellten Prozessor 130 beschrieben wurden.
  • Der Systembus 708 stellt eine Schnittstelle für Systemkomponenten bereit, enthaltend, aber nicht darauf beschränkt, den Systemspeicher 706 zur Verarbeitungseinheit 704. Der Systembus 708 kann ein beliebiger mehrerer Typen von Busstruktur sein, die ferner mit einem Speicherbus (mit oder ohne Speichersteuerung), einem peripheren Bus und einem lokalen Bus unter Verwendung beliebiger einer Vielfalt von gewerblich erhältlichen Busarchitekturen verschaltet sein kann. Schnittstellenadapter können über eine Steckplatzarchitektur mit dem Systembus 708 verbunden werden. Beispielhafte Steckplatzarchitekturen können, ohne Einschränkung, Accelerated Graphics Port (AGP), Card Bus, (Extended) Industry Standard Architecture ((E)ISA), Micro Channel Architecture (MCA), NuBus, Peripheral Component Interconnect (Extended) (PCI(X)), PCI Express, Personal Computer Memory Card International Association (PCMCIA) und dergleichen enthalten.
  • Die Berechnungsarchitektur 700 kann verschiedene Fertigungsartikel umfassen oder implementieren. Ein Fertigungsartikel kann ein computerlesbares Speichermedium zum Speichern von Logik umfassen. Beispiele eines computerlesbaren Speichermediums können jedes materielle Medium enthalten, das imstande ist, elektronische Daten zu speichern, einschließlich von flüchtigem oder nichtflüchtigem Speicher, entfernbarem oder nicht entfernbarem Speicher, löschbarem oder nicht löschbarem Speicher, beschreibbarem oder neu beschreibbarem Speicher und so weiter. Beispiele von Logik können ausführbare Computerprogramm-Anweisungen enthalten, die unter Verwendung eines geeigneten Codetyps implementiert wurden, wie Source-Code, kompilierter Code, interpretierter Code, ausführbarer Code, statischer Code, dynamischer Code, objektorientierter Code, visueller Code und dergleichen. Ausführungsformen können außerdem mindestens teilweise als Anweisungen implementiert werden, die in oder auf einem nicht vergänglichen computerlesbaren Medium enthalten sind, die von einem oder mehreren Prozessoren gelesen und ausgeführt werden können, um Ausführung der hierin beschriebenen Operationen zu ermöglichen.
  • Der Systemspeicher 706 kann verschiedene Typen von computerlesbaren Speichermedien in der Form einer oder mehrerer Speichereinheiten höherer Geschwindigkeit wie Nur-Lese-Speicher (ROM), Direktzugriffsspeicher (RAM), dynamscher RAM (DRAM), Doppel-Datenraten-DRAM (DDRAM), synchroner DRAM (SDRAM), statischer RAM (SRAM), programmierbarer ROM (PROM), löschbarer programmierbarer ROM (EPROM), elektrisch löschbarer programmierbarer ROM (EEPROM), Flashspeicher, Polymerspeicher wie ferroelektrischer Polymerspeicher, Ovonic-Speicher, Phasenwechsel- oder ferroelektrischer Speicher, Siliciumoxid-Nitridoxid-Silicium- bzw. SONOS-Speicher, magnetische oder optische Karten, eine Anordnung von Vorrichtungen wie Redundant-Array-of-Independent-Disks- bzw. RAID-Laufwerke, Festkörper-Speichervorrichtungen (z. B. USB-Speicher, Solid-State-Laufwerke (SSD) und beliebige andere Typen von Speichermedien, die zum Speichern von Informationen geeignet sind, enthalten. In der in 7 gezeigten veranschaulichten Ausführungsform kann der Systemspeicher 706 nichtflüchtigen Speicher 710 und/oder flüchtigen Speicher 712 enthalten. Ein grundlegendes Eingabe/Ausgabe-System (BIOS) kann in dem nichtflüchtigen Speicher 710 gespeichert sein.
  • Der Computer 702 kann verschiedene Typen von computerlesbaren Speichermedien in der Form einer oder mehrerer Speichereinheiten niedriger Geschwindigkeit enthalten, enthaltend ein internes (oder externes) Festplattenlaufwerk (HDD) 714, ein Magnetdiskettenlaufwerk (FDD) 716 zum Lesen von einer oder Schreiben auf eine entfernbare magnetische Platte 718 und ein Optikplattenlaufwerk 720 zum Lesen von einer und Schreiben auf eine optische Platte 722 (z. B. eine CD-ROM oder DVD). Das HDD 714, FDD 716 und optische Plattenlaufwerk 720 können über eine HDD-Schnittstelle 724, eine FDD-Schnittstelle 726 bzw. eine Optikplatten-Schnittstelle 728 mit dem Systembus 708 verbunden werden. Die HDD-Schnittstelle 724 für Implementierungen externer Laufwerke kann mindestens eine der Schnittstellen-Technologien Universal Serial Bus (USB) und IEEE 1394 oder beide enthalten.
  • Die Laufwerke und assoziierten computerlesbaren Medien stellen flüchtige und/oder nichtflüchtige Speicherung von Daten, Datenstrukturen, computerausführbaren Anweisungen und so weiter bereit. Zum Beispiel können eine Anzahl vom Programmmodulen in den Laufwerken und Speichereinheiten 710, 712 gespeichert werden, enthaltend ein Betriebssystem 730, ein oder mehrere Anwendungsprogramme 732, andere Programmmodule 734 und Programmdaten 736. In einer Ausführungsform können das eine oder die mehreren Anwendungsprogramme 732, die anderen Programme 734 und die Programmdaten 736 zum Beispiel die verschiedenen Anwendungen und/oder Komponenten des Systems 100 enthalten.
  • Ein Benutzer kann Befehle und Informationen durch eine oder mehrere verdrahtete/drahtlose Eingabevorrichtungen, zum Beispiel eine Tastatur 738 und eine Zeigevorrichtung wie eine Maus 740, in den Computer 702 eingeben. Andere Eingabevorrichtungen können Mikrofone, Infrarot- bzw. IR-Fernbedienungen, Hochfrequenz- bzw. RF-Fernbedienungen, Spiel-Taster, Tablettstifte, Kartenleser, Dongle, Fingerabdruckleser, Handschuhe, Grafiktabletts, Joysticks, Tastaturen, Retinaleser, Berührungsbildschirme (z. B. kapazitiv, widerstandsbehaftet usw.), Rollkugeln, Trackpads, Sensoren, Eingabestifte und dergleichen enthalten. Diese und andere Eingabevorrichtungen werden oft über eine Eingabevorrichtungsschnittstelle 742, die an den Systembus 708 gekoppelt ist, mit der Verarbeitungseinheit 704 verbunden, können aber über andere Schnittstellen wie ein paralleler Anschluss, ein serieller IEEE-1394-Anschluss, ein Spielanschluss, ein USB-Anschluss, eine IR-Schnittstelle und so weiter verbunden werden.
  • Ein Monitor 744 oder ein anderer Typ von Anzeigevorrichtung ist über eine Schnittstelle wie ein Videoadapter 746 ebenfalls mit dem Systembus 708 verbunden. Der Monitor 744 kann dem Computer 702 intern oder extern sein. Zusätzlich zum Monitor 744 enthält ein Computer typischerweise andere periphere Ausgabegeräte wie Lautsprecher, Drucker und so weiter.
  • Der Computer 702 kann in einer vernetzten Umgebung unter Verwendung logischer Verbindungen über verdrahtete und/oder drahtlose Kommunikation mit einem oder mehreren entfernten Computern wie ein entfernter Computer 748 arbeiten. Der entfernte Computer 748 kann eine Arbeitsstation, ein Server-Computer, ein Router, ein persönlicher Computer, ein tragbarer Computer, ein Mikroprozessor-basiertes Unterhaltungsgerät, eine Peer-Vorrichtung oder ein anderer gewöhnlicher Netzwerkknoten sein und enthält typischerweise viele oder sämtliche der relativ zum Computer 702 beschriebenen Elemente, obwohl der Kürze halber nur ein Speicher/eine Speichervorrichtung 750 dargestellt ist. Die dargestellten logischen Verbindungen enthalten verdrahtete/drahtlose Konnektivität mit einem Lokalbereichsnetz (LAN) 752 und/oder größeren Netzwerken, zum Beispiel ein Weitverkehrsnetz (WAN) 754. Derartige LAN- und WAN-Vernetzungsumgebungen sind in Büros und Unternehmen alltäglich und erleichtern unternehmensweite Computernetzwerke wie Intranetze, die alle mit einem globalen Kommunikationsnetzwerk, zum Beispiel dem Internet, verbunden sein können.
  • Bei Verwendung in einer LAN-Vernetzungsumgebung ist der Computer 702 über eine Schnittstelle oder einem Adapter 756 eines verdrahteten und/oder drahtlosen Kommunikationsnetzwerks mit dem LAN 752 verbunden. Der Adapter 756 kann verdrahtete und/oder drahtlose Kommunikation mit dem LAN 752 erleichtern, das außerdem einen drahtlosen Zugangspunkt enthalten kann, der darin für Kommunikation mit der drahtlosen Funktionalität des Adapters 756 angeordnet ist.
  • Bei Verwendung in einer WAN-Vernetzungsumgebung kann der Computer 702 ein Modem 758 enthalten oder ist mit einem Kommunikationsserver in dem WAN 754 verbunden oder verfügt über andere Mittel zur Herstellung von Kommunikation über das WAN 754 wie über das Internet. Das Modem 758, das intern oder extern und eine verdrahtete und/oder drahtlose Vorrichtung sein kann, ist über die Eingabevorrichtung-Schnittstelle 742 mit dem Systembus 708 verbunden. In einer vernetzten Umgebung können Programmmodule, die relativ zum Computer 702 dargestellt sind, oder Teile davon in dem entfernten Speicher/Speichervorrichtung 750 gespeichert werden. Es wird anerkannt werden, dass die dargestellten Netzwerkverbindungen beispielhaft sind und andere Mittel zur Herstellung einer Kommunikationsverknüpfung zwischen den Computern verwendet werden können.
  • Der Computer 702 ist betriebsfähig, mit verdrahteten oder drahtlosen Entitäten unter Verwendung von Standards der Familie IEEE 802 zu kommunizieren, wie drahtlose Vorrichtungen, die betriebsfähig in drahtloser Kommunikation angeordnet sind (z. B. IEEE 802.11 Durch-die-Luft-Modulationstechniken). Diese enthalten unter anderem mindestens die drahtlosen Technologien WiFi (oder Wireless Fidelity), WiMax und BluetoothTM. Demgemäß kann die Kommunikation eine im Voraus definierte Struktur wie mit einem konventionellen Netzwerk oder einfach eine Ad-hoc-Kommunikation zwischen mindestens zwei Vorrichtungen sein. WiFi-Netzwerke verwenden als IEEE 802.11x (a, b, g, n usw.) bezeichnete Funktechnologien, um sichere, zuverlässige, schnelle drahtlose Konnektivität bereitzustellen. Ein WiFi-Netzwerk kann verwendet werden, um Computer miteinander, mit dem Internet und mit verdrahteten Netzwerken (die IEEE 802.3-verwandte Medien und Funktionen verwenden) zu verbinden.
  • Die verschiedenen Elemente des Berührungsgesten-Erkennungssystems 100, wie vorstehend unter Bezugnahme auf die 17 beschrieben, kann verschiedene Hardware-Elemente, Software-Elemente oder eine Kombination beider umfassen. Beispiele von Hardware-Elementen können Vorrichtungen, Logikvorrichtungen, Komponenten, Prozessoren, Mikroprozessoren, Schaltungen, Prozessoren, Schaltungselemente (z. B. Transistoren, Widerstände, Kondensatoren, Induktoren und so weiter), integrierte Schaltungen, anwendungsspezifische integrierte Schaltungen (ASIC), programmierbare Logikvorrichtungen (PLD), Digitalsignalprozessoren (DSP), feldprogrammierbare Gatteranordnungen (FPGA), Speichereinheiten, Logikgatter, Register, Halbleitervorrichtungen, Chips, Mikrochips, Chipsets und so weiter enthalten. Beispiele von Software-Elementen können Software-Komponenten, Programme, Anwendungen, Computerprogramme, Anwendungsprogramme, Systemprogramme, Programme zur Software-Entwicklung, Maschinenprogramme, Betriebssystem-Software, Middleware, Firmware, Software-Module, Routinen, Subroutinen, Funktionen, Methoden, Prozeduren, Software-Schnittstellen, Anwendungsprogramm-Schnittstellen (API), Anweisungssätze, Berechnungscode, Codesegmente, Computercodesegmente, Wörter, Werte, Symbole oder beliebige Kombinationen davon enthalten. Zu bestimmen, ob eine Ausführungsform unter Verwendung von Hardware-Elementen und/oder Software-Elementen implementiert ist, kann jedoch gemäß einer beliebigen Anzahl von Faktoren variieren, wie gewünschte Berechnungsrate, Leistungspegel, Wärmetoleranzen, Verarbeitungszyklus-Budget, Eingabedatenraten, Ausgabedatenraten, Speicherbetriebsmittel, Datenbus-Geschwindigkeiten und andere Konstruktions- oder Performance-Beschränkungen, wie für eine gegebene Implementierung erwünscht.
  • Die ausführliche Offenbarung wendet sich jetzt der Bereitstellung von Beispielen zu, die weitere Ausführungsformen betreffen. Die nachstehend bereitgestellten Beispiele eins bis dreißig (1–30) sollen beispielhaft und nicht einschränkend sein.
  • In einem ersten Beispiel kann eine Plattform-Verarbeitungsvorrichtung Logik umfassen, von der mindestens ein Teil in Hardware ist, die Logik zum Aktivieren von Arbeitszyklus-Verarbeitung für die Plattform-Verarbeitungsvorrichtung, Bestimmen eines Ruhezustands auf Plattformebene für eine erzwungene Ruheperiode und Aktivieren der erzwungenen Ruheperiode für die Plattform-Verarbeitungsvorrichtung, die erzwungene Ruheperiode zum Zurückstellen von Aktivität und Bewirken, dass eine oder mehrere Komponenten der Plattform-Verarbeitungsvorrichtung in den Ruhezustand auf Plattformebene eintreten.
  • In einem zweiten Beispiel kann die Plattform-Verarbeitungsvorrichtung Logik für Arbeitszyklus-Verarbeitung als Reaktion auf die Detektion von aktiven oder halbaktiven Arbeitsbelastungen umfassen.
  • In einem dritten Beispiel kann die Plattform-Verarbeitung Logik zum Zurückstellen neuer Aktivität, die während der Ruheperiode erzeugt wurde, bis zum Aktivieren der aktiven Periode umfassen.
  • In einem vierten Beispiel kann die Plattform-Verarbeitung Logik zum Erzwingen, dass alle Komponenten der Plattform-Verarbeitungsvorrichtung in einen Ruhezustand oder einen Zustand niedriger Leistung eintreten, umfassen.
  • In einem fünften Beispiel kann die Plattform-Verarbeitung Logik zum dynamischen Einstellen einer Zeitlänge der erzwungenen Ruheperiode basierend auf mindestens eines einer Latenz-Toleranzeinstellung, Eintreffen von Nichtzurückstellungsereignissen und ausstehender Aktivität umfassen.
  • In einem sechsten Beispiel kann die Plattform-Verarbeitung Logik zum Verarbeiten von Aktivität mit einer schnelleren Rate während einer aktiven Periode zum Verlängern einer Zeitlänge der erzwungenen Ruheperiode umfassen.
  • In einem siebten Beispiel kann die Plattform-Verarbeitung Logik zum Verarbeiten von Software-Timern und Vertikalaustastlücken (VBIs) während der erzwungenen Ruheperiode umfassen.
  • In einem achten Beispiel kann die Plattform-Verarbeitung Logik zum Bestimmen von Mindernutzung der Plattform-Verarbeitungsvorrichtung und nicht abgeglichener Aktivität als Reaktion auf die Detektion der halbaktiven Arbeitsbelastung und Aktivieren von Arbeitszyklus-Verarbeitung basierend mindestens teilweise auf der Bestimmung von Mindernutzung und nicht abgeglichener Aktivität umfassen.
  • In einem neunten Beispiel kann die Plattform-Verarbeitungsvorrichtung Logik zum Bestimmen von Leistungsaufnahme für die Plattform-Verarbeitungsvorrichtung über einem Leistungsschwellenwert und Wärmeabgabe für die Plattform-Verarbeitungsvorrichtung über einem Wärmeschwellenwert als Reaktion auf die Detektion der aktiven Arbeitsbelastung und Aktivieren der Arbeitszyklus-Verarbeitung basierend mindestens teilweise auf der Bestimmung von Leistungsaufnahme und Wärmeabgabe umfassen.
  • In einem zehnten Beispiel kann die Plattform-Verarbeitungsvorrichtung Logik zum Aktivieren einer aktiven Periode zum Bedienen der zurückgestellten Aktivität nach der erzwungenen Ruheperiode umfassen.
  • In einem elften Beispiel kann ein Artikel ein computerlesbares Speichermedium umfassen, das eine Vielzahl von Anweisungen enthält, die, wenn sie ausgeführt werden, ermöglichen, dass eine Plattform-Verarbeitungsvorrichtung Arbeitszyklus-Verarbeitung für die Plattform-Verarbeitungsvorrichtung aktiviert. Der Artikel kann Anweisungen enthalten, die, wenn sie ausgeführt werden, ermöglichen, dass eine Plattform-Verarbeitungsvorrichtung einen Ruhezustand auf Plattformebene bestimmt und die erzwungene Ruheperiode für die Plattform-Verarbeitungsvorrichtung aktiviert, wobei die Ruheperiode Aktivität zurückstellt und bewirkt, dass eine oder mehrere Komponenten der Plattform-Verarbeitungsvorrichtung in den Ruhezustand auf Plattformebene eintreten.
  • In einem zwölften Beispiel kann der Artikel Anweisungen umfassen, die, wenn sie ausgeführt werden, ermöglichen, dass eine Plattform-Verarbeitungsvorrichtung Arbeitszyklus-Verarbeitung als Reaktion auf eine Detektion aktiver oder halbaktiver Arbeitsbelastungen aktiviert.
  • In einem dreizehnten Beispiel kann der Artikel Anweisungen umfassen, die, wenn sie ausgeführt werden, ermöglichen, dass eine Plattform-Verarbeitungsvorrichtung neue Aktivität, die während der Ruheperiode erzeugt wurde, zurückstellt, bis die aktive Periode aktiviert wird.
  • In einem vierzehnten Beispiel kann der Artikel Anweisungen umfassen, die, wenn sie ausgeführt werden, ermöglichen, dass eine Plattform-Verarbeitungsvorrichtung erzwingt, dass alle Komponenten der Plattform-Verarbeitungsvorrichtung in einen Ruhezustand oder einen Zustand niedriger Leistung eintreten.
  • In einem fünfzehnten Beispiel kann der Artikel Anweisungen umfassen, die, wenn sie ausgeführt werden, ermöglichen, dass eine Plattform-Verarbeitungsvorrichtung eine Zeitlänge der erzwungenen Ruheperiode basierend auf mindestens eines einer Latenz-Toleranzeinstellung, Eintreffen von Nichtzurückstellungsereignissen und ausstehender Aktivität dynamisch einstellt.
  • In einem sechzehnten Beispiel kann der Artikel Anweisungen umfassen, die, wenn sie ausgeführt werden, ermöglichen, dass eine Plattform-Verarbeitungsvorrichtung Aktivität bei einer schnelleren Rate während einer aktiven Periode verarbeitet, um eine Zeitlänge der erzwungenen Ruheperiode zu verlängern.
  • In einem siebzehnten Beispiel kann der Artikel Anweisungen umfassen, die, wenn die ausgeführt werden, ermöglichen, dass eine Plattform-Verarbeitungsvorrichtung Software-Timer und vertikale Austastlücken (VBIs) während der erzwungenen Ruheperiode verarbeitet.
  • In einem achtzehnten Beispiel kann der Artikel Anweisungen umfassen, die, wenn sie ausgeführt werden, ermöglichen, dass eine Plattform-Verarbeitungsvorrichtung Mindernutzung der Plattform-Verarbeitungsvorrichtung und nicht abgeglichene Aktivität als Reaktion auf die Detektion der halbaktiven Arbeitsbelastung bestimmt und Arbeitszyklus-Verarbeitung basierend mindestens teilweise auf der Bestimmung von Mindernutzung und nicht abgeglichener Aktivität aktiviert.
  • In einem neunzehnten Beispiel kann der Artikel Anweisungen umfassen, die, wenn sie ausgeführt werden, ermöglichen, dass eine Plattform-Verarbeitungsvorrichtung Leistungsaufnahme für die Plattform-Verarbeitungsvorrichtung über einem Leistungsschwellenwert und Wärmeabgabe für die Plattform-Verarbeitungsvorrichtung über einem Wärmeschwellenwert als Reaktion auf die Detektion einer aktiven Arbeitsbelastung bestimmt und die Arbeitszyklus-Verarbeitung basierend mindestens teilweise auf der Bestimmung von Leistungsaufnahme und Wärmeabgabe aktiviert.
  • In einem zwanzigsten Beispiel kann der Artikel Anweisungen umfassen, die, wenn sie ausgeführt werden, ermöglichen, dass eine Plattform-Verarbeitungsvorrichtung eine aktive Periode zum Bedienen der zurückgestellten Aktivität nach der erzwungenen Ruheperiode aktiviert.
  • In einem einundzwanzigsten Beispiel kann ein System eine Anzeigevorrichtung, eine drahtlose Vorrichtung, einen Speicher und eine Plattform-Verarbeitungsvorrichtung umfassen. Die Plattform-Verarbeitungsvorrichtung zum Aktivieren von Arbeitszyklus-Verarbeitung für die Plattform-Verarbeitungsvorrichtung, Bestimmen eines Ruhezustands auf Plattformebene für eine erzwungene Ruheperiode und Aktivieren der erzwungenen Ruheperiode für die Plattform-Verarbeitungsvorrichtung, die erzwungene Ruheperiode zum Zurückstellen von Aktivität und Bewirken, dass eine oder mehrere Komponenten der Plattform-Verarbeitungsvorrichtung in den Ruhezustand auf Plattformebene eintreten.
  • In einem zweiundzwanzigsten Beispiel die Plattform-Verarbeitungsvorrichtung zum Detektieren einer aktiven Arbeitsbelastung oder halbaktiven Arbeitsbelastung zur Ausführung auf einer Plattform-Verarbeitungsvorrichtung, wobei die Arbeitsbelastung basierend auf einem oder mehreren Kriterien detektiert wird.
  • In einem dreiundzwanzigsten Beispiel umfassen das eine oder die mehreren Kriterien einen Verarbeitungs-Prozentanteil eines oder mehrerer Kerne, einen Grafikverarbeitungs-Prozentanteil einer Grafikverarbeitungseinheit, Eingabe/Ausgabe- bzw. I/O-Aktivität einer Plattform, die I/O verarbeitet, und Lese/Schreib-Aktivität eines Plattformspeichers.
  • In einem vierundzwanzigsten Beispiel die Plattform-Verarbeitungsvorrichtung zum Zurückstellen neuer Aktivität, die während der Ruheperiode erzeugt wurde, bis die aktive Periode aktiviert wird.
  • In einem fünfundzwanzigsten Beispiel die Plattform-Verarbeitungsvorrichtung zum Erzwingen, dass alle Komponenten der Plattform-Verarbeitungsvorrichtung in einen Ruhezustand oder einen Zustand niedriger Leistung eintreten.
  • In einem sechsundzwanzigsten Beispiel die Plattform-Verarbeitungsvorrichtung zum dynamischen Einstellen einer Zeitlänge der erzwungenen Ruheperiode basierend auf mindestens eines einer Latenz-Toleranzeinstellung, Eintreffen von Nichtzurückstellungsereignissen und ausstehender Aktivität.
  • In einem siebenundzwanzigsten Beispiel die Plattform-Verarbeitungsvorrichtung zum Verarbeiten von Aktivität mit einer schnelleren Rate während einer aktiven Periode zum Verlängern einer Zeitlänge der erzwungenen Ruheperiode.
  • In einem achtundzwanzigsten Beispiel die Plattform-Verarbeitung zum Verarbeiten von Software-Timern und Vertikalaustastlücken (VBIs) während der erzwungenen Ruheperiode.
  • In einem neunundzwanzigsten Beispiel die Plattform-Verarbeitungsvorrichtung zum Bestimmen von Mindernutzung der Plattform-Verarbeitungsvorrichtung und nicht abgeglichener Aktivität als Reaktion auf die Detektion der halbaktiven Arbeitsbelastung und Aktivieren von Arbeitszyklus-Verarbeitung basierend mindestens teilweise auf der Bestimmung von Mindernutzung und nicht abgeglichener Aktivität.
  • In einem dreißigsten Beispiel die Plattform-Verarbeitungsvorrichtung zum Bestimmen von Leistungsaufnahme für die Plattform-Verarbeitungsvorrichtung über einem Leistungsschwellenwert und Wärmeabgabe für die Plattform-Verarbeitungsvorrichtung über einem Wärmeschwellenwert als Reaktion auf die Detektion einer aktiven Arbeitsbelastung und Aktivieren der Arbeitszyklus-Verarbeitung basierend mindestens teilweise auf der Bestimmung von Leistungsaufnahme und Wärmeabgabe.
  • In einem einunddreißigsten Beispiel die Plattform-Verarbeitungsvorrichtung zum Aktivieren einer aktiven Periode zum Bedienen der zurückgestellten Aktivität nach der erzwungenen Ruheperiode.
  • Einige Ausführungsformen können unter Verwendung des Ausdrucks „eine Ausführungsform” zusammen mit seinen Ableitungen beschrieben sein. Diese Ausdrücke bedeuten, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder ein bestimmtes Charakteristikum, das/die in Verbindung mit der Ausführungsform beschrieben wird, in mindestens einer Ausführungsform enthalten ist. Die Vorkommen der Phrase „in einer Ausführungsform” an verschiedenen Stellen der Patentschrift beziehen sich nicht notwendigerweise alle auf dieselbe Ausführungsform. Ferner können einige Ausführungsformen unter Verwendung des Ausdrucks „gekoppelt” und „verbunden” zusammen mit ihren Ableitungen beschrieben sein. Diese Begriffe sind nicht notwendigerweise als Synonyme füreinander vorgesehen. Zum Beispiel können einige Ausführungsformen unter Verwendung der Ausdrücke „verbunden” und/oder „gekoppelt” beschrieben sein, um anzugeben, dass zwei oder mehrere Elemente in direktem physikalischen oder elektrischen Kontakt miteinander stehen. Der Begriff „gekoppelt” kann jedoch auch bedeuten, dass zwei oder mehrere Elemente nicht in direktem Kontakt miteinander stehen, aber trotzdem miteinander kooperieren oder zusammenwirken.
  • Es wird hervorgehoben, dass die Zusammenfassung der Offenbarung bereitgestellt wird, um einem Leser zu gestatten, schnell die Natur der technischen Offenbarung zu erfassen. Sie wird mit dem Verständnis eingereicht, dass sie nicht zum Interpretieren oder Begrenzen des Rahmens oder der Bedeutung der Patentansprüche verwendet werden wird. Außerdem ist in der vorstehenden „Ausführlichen Beschreibung” ersichtlich, dass verschiedene Merkmale in einer einzelnen Ausführungsform zum Zweck der Vereinfachung der Offenbarung zusammengefasst werden. Dieses Verfahren der Offenbarung ist nicht so zu interpretieren, dass es eine Absicht widerspiegelt, dass die beanspruchten Ausführungsformen mehr Merkmale erfordern, als ausdrücklich in jedem Anspruch angeführt werden. Vielmehr liegt, wie die folgenden Ansprüche reflektieren, der erfinderische Gegenstand in weniger als allen Merkmalen einer einzelnen vorstehend offenbarten Ausführungsform. Folglich sind die nachstehenden Ansprüche hierdurch in die „Ausführliche Beschreibung” inkorporiert, wobei jeder Anspruch für sich als ein separates Beispiel bestehen kann. In den beigefügten Ansprüchen werden die Begriffe „enthaltend” und „worin” als die Äquivalente in einfachem Deutsch der jeweiligen Begriffe „umfassend” bzw. „wobei” verwendet. Überdies werden die Begriffe „erste”, „zweite”, „dritte” und so weiter lediglich als Kennzeichnungen verwendet und sollen ihren Objekten keine numerischen Anforderungen auferlegen.
  • Das vorstehend Beschriebene enthält Beispiele der offenbarten Architektur. Es ist natürlich nicht möglich, jede vorstellbare Kombination von Komponenten und/oder Methodiken zu beschreiben, aber ein Durchschnittsfachmann im Fachgebiet wird anerkennen, dass viele weitere Kombinationen und Permutationen möglich sind. Dementsprechend soll die neue Architektur sämtliche derartige Abwandlungen, Modifikationen und Variationen umschließen, die in das Wesen und den Schutzumfang der beigefügten Ansprüche fallen.

Claims (25)

  1. Plattform-Verarbeitungsvorrichtung, umfassend: Logik, von der mindestens ein Teil in Hardware ist, die Logik zum: Ermöglichen von Arbeitszyklus-Verarbeitung für die Plattform-Verarbeitungsvorrichtung; Bestimmen eines Ruhezustands auf Plattformebene für eine erzwungene Ruheperiode; und Ermöglichen der erzwungenen Ruheperiode für die Plattform-Verarbeitungsvorrichtung, die erzwungene Ruheperiode zum Zurückstellen von Aktivität und Bewirken, dass eine oder mehrere Komponenten der Plattform-Verarbeitungsvorrichtung in den Ruhezustand auf Plattformebene eintreten.
  2. Plattform-Verarbeitungsvorrichtung nach Anspruch 1, wobei die Logik zum Ermöglichen von Arbeitszyklus-Verarbeitung als Reaktion auf eine Detektion aktiver oder halbaktiver Arbeitsbelastungen ist.
  3. Plattform-Verarbeitungsvorrichtung nach Anspruch 1 oder 2, die Logik zum Verweisen auf Logik zum Zurückstellen neuer Aktivität, die während der Ruheperiode erzeugt wurde, bis eine aktive Periode aktiviert wird.
  4. Plattform-Verarbeitungsvorrichtung nach Anspruch 1 oder 2, die Logik zum Erzwingen, dass alle Komponenten der Plattform-Verarbeitungsvorrichtung in den Ruhezustand auf Plattformebene eintreten.
  5. Plattform-Verarbeitungsvorrichtung nach Anspruch 1 oder 2, die Logik zum dynamischen Einstellen einer Zeitdauer der erzwungenen Ruheperiode basierend auf mindestens eines einer Latenz-Toleranzeinstellung, Eintreffen von Nichtzurückstellungsereignissen und ausstehender Aktivität.
  6. Plattform-Verarbeitungsvorrichtung nach Anspruch 1 oder 2, die Logik zum Verarbeiten von Aktivität bei einer schnelleren Rate während einer aktiven Periode, um eine Zeitdauer der erzwungenen Ruheperiode zu verlängern.
  7. Plattform-Verarbeitungsvorrichtung nach Anspruch 1 oder 2, die Logik zum Verarbeiten von Software-Timern und vertikalen Austastlücken (VBIs) während der erzwungenen Ruheperiode.
  8. Plattform-Verarbeitungsvorrichtung nach Anspruch 2, die Logik zum: Bestimmen von Mindernutzung der Plattform-Verarbeitungsvorrichtung und nicht abgeglichener Aktivität als Reaktion auf Detektion der halbaktiven Arbeitsbelastung; und Ermöglichen von Arbeitszyklus-Verarbeitung basierend mindestens teilweise auf der Bestimmung von Mindernutzung und nicht abgeglichener Aktivität.
  9. Plattform-Verarbeitungsvorrichtung nach Anspruch 2, die Logik zum: Bestimmen von Leistungsaufnahme für die Plattform-Verarbeitungsvorrichtung über einem Leistungs-Schwellenwert und Wärmeabgabe für die Plattform-Verarbeitungsvorrichtung über einem Wärme-Schwellenwert als Reaktion auf die Detektion der aktiven Arbeitsbelastung; und Ermöglichen der Arbeitszyklus-Verarbeitung basierend mindestens teilweise auf der Bestimmung von Leistungsaufnahme und Wärmeabgabe.
  10. Plattform-Verarbeitungsvorrichtung nach Anspruch 1 oder 2, die Logik zum Ermöglichen einer aktiven Periode zum Bedienen der zurückgestellten Aktivität nach der erzwungenen Ruheperiode.
  11. Artikel, umfassend ein computerlesbares Speichermedium, enthaltend eine Vielzahl von Anweisungen, die, wenn sie ausgeführt werden, ermöglichen, dass eine Plattform-Verarbeitungsvorrichtung: Arbeitszyklus-Verarbeitung für die Plattform-Verarbeitungsvorrichtung aktiviert; einen Ruhezustand auf Plattformebene für eine erzwungene Ruheperiode bestimmt; und die erzwungene Ruheperiode für die Plattform-Verarbeitungsvorrichtung aktiviert, wobei die erzwungene Ruheperiode Aktivität zurückstellt und bewirkt, dass eine oder mehrere Komponenten der Plattform-Verarbeitungsvorrichtung in den Ruhezustand auf Plattformebene eintreten.
  12. Artikel nach Anspruch 11, umfassend Anweisungen, die, wenn sie ausgeführt werden, ermöglichen, dass die Plattform-Verarbeitungsvorrichtung Arbeitszyklus-Verarbeitung als Reaktion auf eine Detektion aktiver oder halbaktiver Arbeitsbelastungen aktiviert.
  13. Artikel nach Anspruch 11 oder 12, umfassend Anweisungen, die, wenn sie ausgeführt werden, ermöglichen, dass die Plattform-Verarbeitungsvorrichtung neue Aktivität, die während der Ruheperiode erzeugt wurde, zurückstellt, bis die aktive Periode aktiviert wird.
  14. Artikel nach Anspruch 11 oder 12, umfassend Anweisungen, die, wenn sie ausgeführt werden, ermöglichen, dass die Plattform-Verarbeitungsvorrichtung alle Komponenten der Plattform-Verarbeitungsvorrichtung zwingt, in den Ruhezustand auf Plattformebene einzutreten.
  15. Artikel nach Anspruch 11 oder 12, umfassend Anweisungen, die, wenn sie ausgeführt werden, ermöglichen, dass die Plattform-Verarbeitungsvorrichtung eine Zeitdauer der erzwungenen Ruheperiode basierend auf mindestens eines einer Latenz-Toleranzeinstellung, Eintreffen von Nichtzurückstellungsereignissen und ausstehender Aktivität dynamisch einstellt.
  16. Artikel nach Anspruch 11 oder 12, umfassend Anweisungen, die, wenn sie ausgeführt werden, ermöglichen, dass die Plattform-Verarbeitungsvorrichtung Aktivität bei einer schnelleren Rate während einer aktiven Periode verarbeitet, um eine Zeitdauer der erzwungenen Ruheperiode zu verlängern.
  17. Artikel nach Anspruch 11 oder 12, umfassend Anweisungen, die, wenn sie ausgeführt werden, ermöglichen, dass die Plattform-Verarbeitungsvorrichtung Software-Timer und Vertikalaustastlücken (VBIs) während der erzwungenen Ruheperiode verarbeitet.
  18. Artikel nach Anspruch 12, umfassend Anweisungen, die, wenn sie ausgeführt werden, ermöglichen, dass die Plattform-Verarbeitungsvorrichtung: Mindernutzung der Plattform-Verarbeitungsvorrichtung und nicht abgeglichener Aktivität als Reaktion auf Detektion der halbaktiven Arbeitsbelastung bestimmt; und Arbeitszyklus-Verarbeitung basierend mindestens teilweise auf der Bestimmung von Mindernutzung und nicht abgeglichenen Aktivität aktiviert.
  19. Artikel nach Anspruch 12, umfassend Anweisungen, die, wenn sie ausgeführt werden, ermöglichen, dass die Plattform-Verarbeitungsvorrichtung: Leistungsaufnahme für die Plattform-Verarbeitungsvorrichtung über einem Leistungs-Schwellenwert und Wärmeabgabe für die Plattform-Verarbeitungsvorrichtung über einem Wärme-Schwellenwert als Reaktion auf die Detektion einer aktiven Arbeitsbelastung bestimmt; und Arbeitszyklus-Verarbeitung basierend mindestens teilweise auf der Bestimmung von Leistungsaufnahme und Wärmeabgabe aktiviert.
  20. Artikel nach Anspruch 11, umfassend Anweisungen, die, wenn sie ausgeführt werden, ermöglichen, dass die Plattform-Verarbeitungsvorrichtung eine aktive Periode aktiviert, um die zurückgestellte Aktivität nach der erzwungenen Ruheperiode zu bedienen.
  21. System, umfassend: eine Anzeigevorrichtung; eine drahtlose Vorrichtung; einen Speicher; und eine Plattform-Verarbeitungsvorrichtung, die Plattform-Verarbeitungsvorrichtung zum: Ermöglichen von Arbeitszyklus-Verarbeitung für die Plattform-Verarbeitungsvorrichtung; Bestimmen eines Ruhezustands auf Plattformebene für eine erzwungene Ruheperiode; und Ermöglichen der erzwungenen Ruheperiode für die Plattform-Verarbeitungsvorrichtung, die erzwungene Ruheperiode zum Zurückstellen von Aktivität und Bewirken, dass eine oder mehrere Komponenten der Plattform-Verarbeitungsvorrichtung in den Ruhezustand auf Plattformebene eintreten.
  22. System nach Anspruch 21, umfassend die Plattform-Verarbeitungsvorrichtung zum Detektieren einer aktiven Arbeitsbelastung oder halbaktiven Arbeitsbelastung zur Ausführung auf einer Plattform-Verarbeitungsvorrichtung, wobei die Arbeitsbelastung basierend auf einem oder mehreren Kriterien detektiert wird.
  23. System nach Anspruch 22, das eine oder die mehreren Kriterien einen Verarbeitungs-Prozentanteil eines oder mehrerer Kerne, einen Grafikverarbeitungs-Prozentanteil einer Grafikverarbeitungseinheit, Eingabe/Ausgabe- bzw. I/O-Aktivität einer Plattform, die I/O verarbeitet, und Lese/Schreib-Aktivität eines Plattformspeichers umfassend.
  24. System nach einem der Ansprüche 21 bis 23, umfassend die Plattform-Verarbeitungsvorrichtung zum Ermöglichen, dass der erzwungene Ruhezustand umfasst, neue Aktivität zurückzustellen, die während der Ruheperiode erzeugt wurde, bis die aktive Periode aktiviert wird.
  25. System nach Anspruch 22 oder 23, umfassend die Plattform-Verarbeitungsvorrichtung zum: Bestimmen von Mindernutzung der Plattform-Verarbeitungsvorrichtung und nicht abgeglichener Aktivität als Reaktion auf Detektion der halbaktiven Arbeitsbelastung; und Ermöglichen von Arbeitszyklus-Verarbeitung basierend mindestens teilweise auf der Bestimmung von Mindernutzung und nicht abgeglichener Aktivität.
DE112013006241.0T 2012-12-27 2013-06-28 Techniken für Plattform-Arbeitszyklus-Wechsel Withdrawn DE112013006241T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/728,335 US9195285B2 (en) 2012-12-27 2012-12-27 Techniques for platform duty cycling
US13/728,335 2012-12-27
PCT/US2013/048427 WO2014105203A1 (en) 2012-12-27 2013-06-28 Techniques for platform duty cycling

Publications (1)

Publication Number Publication Date
DE112013006241T5 true DE112013006241T5 (de) 2015-10-22

Family

ID=51018743

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112013006241.0T Withdrawn DE112013006241T5 (de) 2012-12-27 2013-06-28 Techniken für Plattform-Arbeitszyklus-Wechsel

Country Status (6)

Country Link
US (1) US9195285B2 (de)
CN (1) CN104798039B (de)
DE (1) DE112013006241T5 (de)
GB (1) GB2525768B (de)
TW (1) TWI557557B (de)
WO (1) WO2014105203A1 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9213390B2 (en) * 2012-12-28 2015-12-15 Intel Corporation Periodic activity alignment
US9354694B2 (en) 2013-03-14 2016-05-31 Intel Corporation Controlling processor consumption using on-off keying having a maximum off time
US9766685B2 (en) * 2013-05-15 2017-09-19 Intel Corporation Controlling power consumption of a processor using interrupt-mediated on-off keying
US9256274B2 (en) 2013-08-01 2016-02-09 Texas Instruments Incorporated Dynamic low power states characterization
WO2015038478A1 (en) * 2013-09-13 2015-03-19 Marvell World Trade Ltd. Dynamic clock regulation
US10620687B2 (en) 2014-12-22 2020-04-14 Intel Corporation Hybrid power management approach
US10101786B2 (en) 2014-12-22 2018-10-16 Intel Corporation Holistic global performance and power management
US9829902B2 (en) 2014-12-23 2017-11-28 Intel Corporation Systems and methods for dynamic temporal power steering
US9753526B2 (en) 2014-12-23 2017-09-05 Intel Corporation Systems and methods for synergistic software-hardware power budget management
US9811143B2 (en) 2014-12-23 2017-11-07 Intel Corporation Systems and methods for dynamic spatial power steering
US9904349B2 (en) 2015-03-27 2018-02-27 Intel Corporation Technologies for managing power of an embedded controller during a low-power state
CN105353863B (zh) * 2015-09-25 2018-03-27 联想(北京)有限公司 控制方法、系统及电子设备
US11137815B2 (en) 2018-03-15 2021-10-05 Nvidia Corporation Metering GPU workload with real time feedback to maintain power consumption below a predetermined power budget
US20210036915A1 (en) * 2018-04-25 2021-02-04 Telefonaktiebolaget Lm Ericsson (Publ) Systems and Methods of Deploying a Program to a Distributed Network

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5926640A (en) * 1996-11-01 1999-07-20 Digital Equipment Corporation Skipping clock interrupts during system inactivity to reduce power consumption
CN1126013C (zh) * 1997-09-29 2003-10-29 英特尔公司 控制集成电路功耗的方法和器件
US7028200B2 (en) * 2002-05-15 2006-04-11 Broadcom Corporation Method and apparatus for adaptive power management of memory subsystem
US7093141B2 (en) * 2002-12-18 2006-08-15 International Business Machines Corporation Power aware adaptive polling
US7739527B2 (en) 2004-08-11 2010-06-15 Intel Corporation System and method to enable processor management policy in a multi-processor environment
US7437581B2 (en) * 2004-09-28 2008-10-14 Intel Corporation Method and apparatus for varying energy per instruction according to the amount of available parallelism
WO2006062270A1 (en) 2004-12-08 2006-06-15 Electronics And Telecommunications Research Institute Power management method for platform and that platform
CN1952846A (zh) * 2005-10-17 2007-04-25 鸿富锦精密工业(深圳)有限公司 中央处理器被动式降温控制系统及方法
US7774626B2 (en) * 2007-03-29 2010-08-10 Intel Corporation Method to control core duty cycles using low power modes
US8984304B2 (en) * 2007-11-12 2015-03-17 Marvell International Ltd. Active idle communication system
US8176341B2 (en) 2008-03-31 2012-05-08 Intel Corporation Platform power management based on latency guidance
US8199158B2 (en) * 2008-06-11 2012-06-12 Intel Corporation Performance allocation method and apparatus
US8856564B2 (en) * 2009-12-18 2014-10-07 Intel Corporation Method and apparatus for power profile shaping using time-interleaved voltage modulation
US8489745B2 (en) 2010-02-26 2013-07-16 International Business Machines Corporation Optimizing power consumption by dynamic workload adjustment
US8418187B2 (en) * 2010-03-01 2013-04-09 Arm Limited Virtualization software migrating workload between processing circuitries while making architectural states available transparent to operating system
US8856566B1 (en) * 2011-12-15 2014-10-07 Apple Inc. Power management scheme that accumulates additional off time for device when no work is available and permits additional power consumption by device when awakened
US9122464B2 (en) * 2011-12-22 2015-09-01 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including energy efficient processor thermal throttling using deep power down mode

Also Published As

Publication number Publication date
TWI557557B (zh) 2016-11-11
US20140189398A1 (en) 2014-07-03
WO2014105203A1 (en) 2014-07-03
GB2525768A (en) 2015-11-04
US9195285B2 (en) 2015-11-24
CN104798039B (zh) 2018-03-06
GB201508779D0 (en) 2015-07-01
CN104798039A (zh) 2015-07-22
GB2525768B (en) 2021-04-21
TW201432445A (zh) 2014-08-16

Similar Documents

Publication Publication Date Title
DE112013006241T5 (de) Techniken für Plattform-Arbeitszyklus-Wechsel
DE102013104328B4 (de) Aufgabenzuteilung in großen und kleinen Kernen
DE102020120019A1 (de) Proaktive di/dt-spannungs-dachabfall-abschwächung
DE112007001987B4 (de) Überführen einer Rechenplattform in einen Systemzustand niedriger Leistung
DE102010054337B4 (de) Mechanismen, um ineffizientes Core-Hopping zu vermeiden und Hardware-unterstützte Auswahl eines Niedrigleitungszustands bereitzustellen
DE112012000749B4 (de) Techniken zum Verwalten des Stromverbrauchszustands eines Prozessors
DE112006003575B4 (de) Verfahren und Vorrichtung für einen Nullspannungs-Prozessorschlafzustand
DE112012006377B4 (de) Energieverbrauch und Leistung von Computersystemen steuern
DE112004001320B3 (de) Verfahren, System und Vorrichtung zur Verbesserung der Leistung von Mehrkernprozessoren
DE112011105867B4 (de) Kollaboratives Prozessor- und Systemleistungs- und Energiemanagement
DE112005002672B4 (de) Dynamische Neukonfiguration eines Cache-Speichers
DE102014003704B4 (de) Plattform-agnostisches Powermanagement
DE112012002664B4 (de) Erhöhen der Energieeffizienz des Turbo-Modus-Betriebs in einem Prozessor
DE102013214907B4 (de) Training, power-gating und dynamische Frequenzänderung eines Speichercontrollers
DE102010045743A1 (de) Verfahren und Vorrichtung um Turboleistung für das Event-Handling zu verbessern
DE102016118210A1 (de) Granulare Dienstqualität für Computer-Ressourcen
DE112011103194B4 (de) Koordinieren von Gerät- und Anwendungsunterbrechungsereignissen zum Plattformenergiesparen
DE112006000545T5 (de) System und Verfahren zum kohärenten Datentransfer während Leerlaufzuständen von Prozessoren
DE112017000721T5 (de) Verfahren, einrichtung und befehle für thread-aussetzung auf benutzerebene
DE112004001887B4 (de) Optimierung der SMI-Behandlung und -Initialisierung
DE112011102822T5 (de) Leistungsoptimierte Interrupt-Abgabe
DE10393969T5 (de) Mechanismus zur Verteilung von Unterbrechungen niedrigster Priorität unter Berücksichtigung des Prozessorleistungszustands
DE112007001713T5 (de) System und Verfahren zum Steuern von Zuständen niedriger Energie bei Prozessoren
DE102013104329A1 (de) Aufgabenzuteilung in großen und kleinen Kernen
DE102010034555A1 (de) Bereitstellen von Zustandsspeicher in einem Prozessor für Systemmanagement-Modus

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee