DE112008001895T5 - Technik zum Bewahren zwischengespeicherter Information während eines Modus niedriger Leistung - Google Patents

Technik zum Bewahren zwischengespeicherter Information während eines Modus niedriger Leistung Download PDF

Info

Publication number
DE112008001895T5
DE112008001895T5 DE112008001895T DE112008001895T DE112008001895T5 DE 112008001895 T5 DE112008001895 T5 DE 112008001895T5 DE 112008001895 T DE112008001895 T DE 112008001895T DE 112008001895 T DE112008001895 T DE 112008001895T DE 112008001895 T5 DE112008001895 T5 DE 112008001895T5
Authority
DE
Germany
Prior art keywords
processor
cache
processor core
low power
core
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE112008001895T
Other languages
English (en)
Other versions
DE112008001895B4 (de
Inventor
Sanjeev Folsom Jahagirdar
Varghese Folsom George
Jose Rancho Cordova Allarey
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 DE112008001895T5 publication Critical patent/DE112008001895T5/de
Application granted granted Critical
Publication of DE112008001895B4 publication Critical patent/DE112008001895B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1048Scalability
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Power Sources (AREA)

Abstract

Vorrichtung, die aufweist:
einen ersten Prozessorkern, der in einen Modus niedriger Leistung gebracht werden soll, wobei wenigstens abgeänderte Information, die in dem lokalen Cache des ersten Prozessorkerns gespeichert ist, in einem gemeinsam genutzten Cache gespeichert werden soll;
einen zweiten Prozessorkern, der auf den gemeinsam genutzten Cache bezüglich Information zugreifen kann, auf die in dem ersten lokalen Cache zugegriffen werden kann, bevor der ersten Prozessorkern in den Modus niedriger Leistung eintritt, wobei der zweite Prozessorkern auf den gemeinsam genutzten Cache anstatt auf den lokalen Cache als Antwort darauf, dass der erste Prozessorkern in den Modus niedriger Leistung gebracht worden ist, zugreift.

Description

  • Gebiet der Erfindung
  • Ausführungsformen der Erfindung betreffen im Allgemeinen das Gebiet der Informationsverarbeitung und genauer das Gebiet der Energieverwaltung in Verarbeitungssystemen und Mikroprozessoren.
  • Hintergrund
  • Einige Mikroprozessoren und/oder Prozessorkerne (allgemein hierin als ”Prozessoren” bezeichnet) können einen primären Cache-Speicher umfassen oder ansonsten darauf Zugriff haben, so wie einen Cache der Ebene 1 (”L1” – level one) oder eine andere Speicherstruktur, von der der Prozessor häufig zugegriffene Information, so wie Daten oder Befehle, relativ schnell im Vergleich zu anderen Speicherstrukturen in dem Prozessor oder in dem Verarbeitungssystem wiedergewinnen kann. Zusätzlich können einige Prozessoren einen sekundären Caches-Speicher umfassen oder ansonsten darauf Zugriff haben, so wie einen Cache-Speicher der Ebene 2 (”L2” – level two) oder eine andere Speicherstruktur, von der er weniger häufig zugegriffene Information, so wie Daten oder Befehle, weniger schnell als aus einem primären Cache-Speicher wiedergewinnen kann, jedoch schneller als aus einem Systemspeicher, so wie einem dynamischer Speicher mit wahlfreiem Zugriff (DRAM – Dynamic Random Access Memory), einem Festplattenspeicher usw..
  • Einige Verarbeitungssysteme können Prozessoren umfassen, die jeder einen lokalen Cache-Speicher umfassen oder ansonsten darauf Zugriff haben, so wie einen Cache L1, um Information zu speichern, die hauptsächlich von dem Prozessor verwendet wird, zu dem er gehört. Weiterhin können einige Verarbeitungssysteme einen gemeinsam genutzten Cache-Speicher umfassen, so wie einen Cache L2, der von mehr als einem Prozessor benutzt werden kann. Bei Verarbeitungssystemen mit gemeinsam genutztem Cache-Speicher kann der gemeinsam genutzte Cache-Speicher die gesamte oder einen Teil der Information speichern, die in jedem der lokalen Cache-Speicher gespeichert ist, so dass mehrere lokale Cache-Speicher eine Untermenge häufig genutzter Information speichern, die in dem gemeinsam genutzten Cache-Speicher abgelegt ist. Information, die in lokalen Cache-Speichern abgelegt ist, kann häufiger aktualisiert werden als die entsprechende Information in dem gemeinsam genutzten Cache-Speicher, und daher kann das Verarbeitungssystem ein Cache-Kohärenzschema implementieren, um dieselbe Information in dem gemeinsam genutzten Cache-Speicher zu halten, wie sie in einem oder mehreren lokalen Cache-Speichern gespeichert ist.
  • Einige Verarbeitungssysteme können Energieverwaltungstechniken verwenden, um Prozessoren in dem System über das Verringern der Taktfrequenz und/oder Spannung bei einem oder mehreren Prozessoren in dem System in Modi niedriger Leistung zu bringen, wenn ein bestimmter Prozessor gerade nicht verwendet wird oder als Antwort auf andere Algorithmen, so wie diejenigen, bei denen die Temperatur des Prozessors oder des Verarbeitungssystems überwacht und verhindert wird, dass sie eine Schwellentemperatur übersteigt. Prozessoren, die in Modi niedriger Leistung gebracht werden, können während des Modus niedriger Leistung Information halten, die in ihrem entsprechenden lokalen Cache-Speicher abgelegt ist, indem beispielsweise die Leistung an den lokalen Cache aufrechterhalten wird, so dass die Information verfügbar sein wird, wenn der Prozessor aus dem Modus niedriger Leistung zurückkehrt.
  • Ein Nachteil der Techniken des Standes der Technik zum Bewahren zwischengespeicherter Information während eines Modus niedriger Leistung besteht darin, dass Prozessoren, die auf einen Cache eines Prozessors in einem Modus niedriger Leistung zugreifen möchten, zum Beispiel über einen ”Snoop”-Zyklus, warten müssen, bis der Prozessor in dem Modus niedriger Leistung aus dem Modus niedriger Leistung zurückkehrt und auf den Zugriff von dem anderen Prozessor antworten kann. Die Verzögerungszeit zwischen dem Zugriff auf den Cache des Prozessors im Modus niedriger Leistung und dem Zeitpunkt, zu dem die angefragten Daten entweder wiedergewonnen werden oder es festgestellt wurde, dass sie in dem Cache des Prozessors im Modus niedriger Leistung nicht vorhanden sind, kann das Leistungsverhalten des entsprechenden Verarbeitungssystems wesentlich verschlechtern. Das Problem kann verstärkt werden, wenn die Anzahl der Prozessoren erhöht wird, da sich die Anzahl der Prozessoren, die in einem Modus niedriger Leistung sein können, und die Anzahl der Zugriffe auf diese Prozessoren erhöhen kann. Weiterhin kann das Verarbeitungssystem unnötig Leistung ziehen, insbesondere wenn festgestellt wird, dass die nachgefragte Information in dem lokalen Cache des Prozessors, der sich in einem Modus niedriger Leistung befindet, nicht vorhanden ist.
  • Kurzbeschreibung der Zeichnungen
  • Ausführungsformen der Erfindung werden beispielhaft und nicht beschränkend in den Figuren der beigefügten Zeichnungen veranschaulicht, wobei gleiche Bezugsziffern sich auf ähnliche Elemente beziehen und wobei:
  • 1 ein Blockschaubild eines Mehrkernprozessors veranschaulicht, bei dem wenigstens eine Ausführungsform der Erfindung verwendet werden kann;
  • 2 ein Blockschaubild eines Verarbeitungssystems mit gemeinsam genutztem Bus veranschaulicht, bei dem wenigstens eine Ausführungsform der Erfindung verwendet werden kann;
  • 3 ein Blockschaubild eines Computersystems mit Punkt-zu-Punkt-Kopplungsstruktur veranschaulicht, bei dem wenigstens eine Ausführungsform der Erfindung verwendet werden kann;
  • 4 ein Blockschaubild eines ringbasierten Mehrkernprozessors veranschaulicht, bei dem wenigstens eine Ausführungsform der Erfindung verwendet werden kann;
  • 5 ein Ablaufdiagramm von Arbeitsschritten ist, die gemäß einer Ausführungsform der Erfindung zum Bewahren zwischengespeicherter Information während eines Modus niedriger Leistung verwendet werden können.
  • Genaue Beschreibung
  • Wenigstens eine Technik zum Bewahren zwischengespeicherter Information während eines Modus niedriger Leistung innerhalb eines Verarbeitungssystems wird offenbart. In der folgenden Beschreibung sind zu Zwecken der Erläuterung zahlreiche bestimmte Einzelheiten aufgeführt, um für ein gründliches Verständnis von Ausführungsformen der vorliegenden Erfindung zu sorgen. Es wird einem Fachmann jedoch deutlich, dass Ausführungsformen der vorliegenden Erfindung ohne diese bestimmten Einzelheiten in die Praxis umgesetzt werden können.
  • Im Allgemeinen können hierin beschrieben Ausführungsformen bei irgendeiner Anzahl von Mehrprozessorsystemen angewendet werden, die mehrere Mikroprozessoren umfassen, bei einem einzigen Mikroprozessor mit mehreren Prozessorkernen oder bei mehreren Prozessoren, die jeder mehrere Prozessorkerne haben. Aus Gründen der Einfachheit werden Mikroprozessoren und Mikroprozessorkerne hierin allgemein als ”Prozessoren” bezeichnet. Weiterhin werden primär Caches (d. h. diejenigen, die verwendet werden, um von einem Prozessor am häufigsten genutzte Information zu speichern) hierin allgemein als ”lokale Caches” bezeichnet werden, während sekundäre Caches (d. h. diejenigen, die weniger häufig benutzte Information speichern, als ein lokaler Cache, so wie Caches L2, Caches L3 usw.), die verwendet werden, um wenigstens einen Teil der Information zu speichern, die in den primären Caches von zwei oder mehr Prozessoren gespeichert ist, hierin allgemein als ”gemeinsam genutzte Caches” bezeichnet werden. Schließlich können Spannungs- und/oder Frequenzzustände, in denen ein Prozessor arbeiten kann, einschließlich denjenigen, bei denen ein oder mehrere Prozessortakte ruhen, angehalten sind, pausieren oder unter eine maximale Betriebsfrequenz verringert sind, und/oder eine oder mehrere Prozessorspannungen unter eine maximale Betriebsspannung verringert sind, allgemein hierin als ”Leistungsmodi” bezeichnet werden.
  • Bei einigen Ausführungsformen kann ein Prozessor Information, die in seinem lokalen Cache gespeichert ist, an entsprechenden Orten innerhalb eines gemeinsam genutzten Caches sichern, bevor er in einen Modus niedriger Leistung gebracht wird, so dass andere Prozessoren, die ansonsten versuchen würden, auf die Information aus dem lokalen Cache des Prozessors im niedrigen Leistungsmodus zuzugreifen, stattdessen die erforderliche Information aus dem gemeinsam genutzten Cache wiedergewinnen, und der Prozessor im Modus niedriger Leistungs kann in einem Modus niedriger Leistung verbleiben, bis er anderweitig benötigt wird.
  • Vorteilhaft kann wenigstens eine Ausführungsform das Leistungsverhalten bei einem Verarbeitungssystem verbessern, da, anstatt dass das System auf einen Prozessor in einem Zustand niedriger Leistung wartet, bis er aus dem Zustand niedriger Leistung zurückkehrt, um einen Zugriff auf seinen lokalen Cache durch einen anderen Prozessor zu bedienen, die Information stattdessen aus dem gemeinsam genutzten Cache wiedergewonnen werden kann, in dem der Prozessor im Modus niedriger Leistung die Information gesichert hat, bevor er in den Zustand niedriger Leistung eingetreten ist. Bei einigen Ausführungsformen kann ein Zugriff auf den gemeinsam genutzten Cache schneller bedient werden als ein Zugriff auf einen lokalen Cache eines Prozessors in einem Modus niedriger Leistung. Weiterhin, da ein Prozessor in einem Modus niedriger Leistung nicht aus dem Modus niedriger Leistung zurückkehren muss, um einen Zugriff auf seinen lokalen Cache zu bedienen, kann wenigstens eine Ausführungsform dabei helfen, Energie in einem System zu sparen, bei dem die wenigstens eine Ausführungsform verwendet wird.
  • Bei einer Ausführungsform kann ein Prozessor, der in einen Modus niedriger Leistung gebracht werden soll, zunächst einen Arbeitsgang zum Leeren des Cache, einen Arbeitsgang zum Ungültigmachen des Cache, einen Zurückschreibe-Arbeitsgang oder einen anderen Arbeitsgang durchführen, der bewirkt, dass die Information, die in dem lokalen Cache des Prozessors gespeichert ist, in einem gemeinsam genutzten Cache gesichert wird. Bei einer Ausführungsform kann der Modus niedriger Leistung das Abschalten einer oder mehrere Takte für den Prozessor, der in den Modus niedriger Leistung gebracht werden soll, umfassen. Bei anderen Ausführungsformen kann der Modus niedriger Leistung das Verringern oder Entfernen einer oder mehrerer Betriebsspannungen, die verwendet werden, um den Prozessor, den lokalen Cache oder beide zu versorgen, umfassen. Bei noch weiteren Ausführungsformen kann ein Modus niedriger Leistung sowohl die Frequenz als auch die Spannung für einen Prozessor verringern oder vollständig deaktivieren.
  • 1 veranschaulicht einen Mehrkern-Mikroprozessor, bei dem wenigstens eine Ausführungsform der Erfindung verwendet werden kann. Insbesondere veranschaulicht die 1 einen Mikroprozessor 100 mit wenigstens zwei Prozessorkernen 105 und 110, wobei jedem ein lokaler Cache 107 bzw. 113 zugeordnet ist. Auch in der 1 veranschaulicht ist ein gemeinsam genutzter Cache-Speicher 115, der Versionen wenigstens eines Teils der Information speichern kann, die in jedem der lokalen Caches 107 und 113 abgelegt ist. Bei einigen Ausführungsformen kann der Mikroprozessor 100 außerdem weitere Logik umfassen, die in der 1 nicht gezeigt ist, so wie einen integrierten Speichercontroller, einen integrierten Grafikcontroller, ebenso wie weitere Logik, um andere Funktionen innerhalb eines Computersystems durchzuführen, so wie eine I/O-Steuerung. Bei einer Ausführungsform wird jeder Mikroprozessor in einem Mehrprozessorsystem oder jeder Prozessorkern in einem Mehrkernprozessor Logik 119 umfassen oder auf andere Weise damit verknüpft sein, um einen Zugriff auf entweder einen lokalen Cache oder einen gemeinsam genutzten Cache zu richten, abhängig von dem Leistungszustand des Prozessors/Kerns zu irgendeinem gegebenen Zeitpunkt. Die Logik kann einen Speicher umfassen oder damit verknüpft sein, so wie einen nicht flüchtigen, programmierbaren Speicher, um den Leistungszustand des Kerns oder des Prozessors zu jedem Zeitpunkt während des Betriebs des Verarbeitungssystems zu speichern. Bei einer derartigen Ausführungsform werden Zugriffe auf einen Prozessor oder Kern ungeachtet des Leistungszustandes des ins Ziel gefassten Prozessors oder Kerns gemacht, so dass derselbe Zugriffstyp, so wie ein Snoop, an jeden Prozessor oder Kern geschickt werden kann und der ins Ziel gefasste Prozessor oder Kern entweder den Snoop an seinem lokalen Cache bedienen kann oder den Snoop in einen Zugriff (Snoop oder anderen Arbeitsgang) zu dem gemeinsam genutzten Cache umleiten kann, abhängig von dem Leistungszustand des Prozessors oder des Kerns.
  • Bei einer Ausführungsform kann einer der Prozessorkerne, die in der 1 veranschaulicht sind, eine jüngste Version der Information, die in seinem lokalen Cache gespeichert ist, in dem gemeinsam genutzten Cache ablegen, bevor er in einen Modus niedriger Leistung eintritt. Wenn einer der Kerne in einem Modus niedriger Leistung ist (”der Kern im Modus niedriger Leistung”), kann der andere Kern (oder die Kerne) die jüngste Version der Information, die in dem lokalen Cache des Kerns im Modus niedriger Leistung gespeichert ist erhalten, indem auf den gemeinsam genutzten Cache zugegriffen wird, da der Kern im Modus niedriger Leistung die jüngste Information aus seinem lokalen Cache in dem gemeinsam genutzten Cache gesichert hatte, bevor er in den Modus niedriger Leistung gegangen ist. Bei einer Ausführungsform kann der Kern im Modus niedriger Leistung einen Arbeitsgang zum Leeren des Cache durchgeführt haben, bei dem ein Teil der oder die gesamte Information, die in dem lokalen Cache des Kerns im Modus niedriger Leistung gespeichert ist, in dem gemeinsam genutzten Cache gesichert wird, bevor ein Teil oder die gesamte lokal gespeicherte Information ungültig gemacht wird oder der Kern im Modus niedriger Leistung in den Modus niedriger Leistung eintritt. Bei anderen Ausführungsformen können andere Arbeitsgänge durchgeführt werden, um einen Teil der oder die gesamte Information aus dem lokalen Cache des Kerns im Modus niedriger Leistung in dem gemeinsam genutzten Cache zu sichern, abhängig von der Architektur des Befehlssatzes des Kerns.
  • Bei einer Ausführungsform kann ein Prozessor zu jedem Zeitpunkt in einem aus einer Anzahl unterschiedlicher Leistungszustände sein, einschließlich einem oder mehrerer Modi niedriger Leistung. Zum Beispiel kann ein Prozessor in einem Zustand voll versorgter Komponenten (”C0”) sein, bei der eine maximal erlaubte Energiemenge verbraucht wird, in einem Zustand mit verringerter Leistung für die Komponenten (”C1”), der durch einen niedrigeren erlaubten Energieverbrauch als der Zustand C0 definiert ist, oder in anderen Zuständen niedriger Leistung (z. B. C3, C6 usw.), wobei jeder durch einen nach und nach niedrigeren erlaubten Energieverbrauch definiert ist. Darüber hinaus können eine oder mehrere Takte eines Prozessors oder Energieversorgungen angepasst werden, um den erlaubten Energieverbrauch zu erreichen, der mit jedem Zustand verknüpft ist.
  • Zum Beispiel kann bei einer Ausführungsform ein voll versorgter Zustand C0 erreicht werden, indem ein oder mehrere Prozessortakte innerhalb eines Bereiches von Frequenzen betrieben wird und indem eine oder mehrere Energieversorgungen für den Prozessor innerhalb eines Bereiches von Spannungen betrieben wird, um so das Leistungsverhalten des Prozessors zu maximieren. Ein derartiger Leistungszustand kann zum Beispiel zweckmäßig sein, wenn durch ein Programm, das auf dem Prozessor läuft, eine große Leistungsnachfrage an den Pro zessor gestellt wird. Ein Zustand mit verringerter Versorgung, C1, kann bewirkt werden, indem der Prozessor in einen Ruhe-, Pause-, oder anderen Zustand mit niedrigem Leistungsverhalten gebracht wird, indem ein oder mehrere Prozessortakte angehalten oder reduziert werden, während eine oder mehrere Energieversorgungen für den Prozessor innerhalb eines Bereiches von Spannungen gehalten werden. In einem solchen Zustand mit verringerter Leistung kann der Prozessor in der Lage sein, weniger Leistung zu ziehen als in dem Zustand C0, bedient jedoch weiterhin Zugriffe auf seinen lokalen Cache von anderen Prozessoren, zum Beispiel über eine Snoop-Operation.
  • Bei einer Ausführungsform kann der Prozessor, so wie einer der Kerne, die in der 1 veranschaulicht sind, in einen anderen Zustand niedriger Leistung gebracht werden, als C0 oder C1, indem eine oder mehrere Takte für den Prozessor angehalten oder reduziert werden und indem die Spannung einer oder mehrerer Energieversorgungen, die den Prozessor versorgen, abgeschaltet oder verringert wird, so dass Information, die in dem lokalen Cache des Prozessors gespeichert wird, nicht bewahrt werden würde. In 1 kann zum Beispiel einer der Kerne in einen Zustand mit Kernkomponenten bei niedriger Leistung (Zustand ”CC3”) gebracht werden, bei dem alle Takte an den Kern angehalten und alle Energieversorgungsspannungen abgeschaltet oder auf andere Weise auf einen nicht aktiven Wert abgesenkt sind. In einem Zustand CC3 kann gemäß einer Ausführungsform ein Kern eine minimale Energiemenge ziehen und möglicherweise überhaupt keine. Daher kann, bevor ein Prozessor oder ein Kern, wie in 1 veranschaulicht, in einen Zustand CC3 gebracht werden kann, wenigstens jedwede abgeänderte Information, die in dem lokalen Cache des Kerns gespeichert ist, an dem entsprechenden Ort in dem gemeinsam genutzten Cache gespeichert werden. Bei einer Ausführungsform wird nur abgeänderte Information (d. h. Versionen der Information in dem lokalen Cache, die jünger sind als Versionen derselben Information, die in dem gemeinsam genutzten Cache gespeichert ist) in dem gemeinsam genutzte Cache gespeichert, bevor der Kern in den Zustand CC3 eintritt. Bei anderen Ausführungsformen wird der gesamte Inhalt des lokalen Cache in dem gemeinsam genutzten Cache gespeichert, bevor der Kern in den Zustand CC3 eintritt, ohne Anbetracht, ob er gegenüber den Versionen, die in dem gemeinsam genutzten Cache verfügbar sind, abgeändert worden ist.
  • Vorteilhaft, da der gemeinsam genutzte Cache wenigstens die abgeänderte Information enthält, die in dem lokalen Cache des Kerns, der in einen Zustand CC3 gebracht werden soll, gespeichert ist, können bei einer Ausführungsform irgendwelche anderen Prozessoren oder Kerne, wie in 1 veranschaulicht, die ansonsten versuchen können, auf den Cache des Kerns in CC3 zuzugreifen, beispielsweise wenn der Kern, auf den zugegriffen wird, in einem Zustand mit reduzierten Kernkomponenten (z. B. ”CC1”) ist, stattdessen auf die angeforderte Information direkt vom gemeinsam genutzten Cache zugreifen, wobei der Kern im CC3 in einem Modus niedriger Leistung gelassen wird, so dass Energie gespart wird. Weiter braucht bei einer Ausführungsform, da der Kern in CC3 nicht aus seinem Zustand niedriger Leistung zurückkehren muss, um beispielsweise einen Zugriff auf seinen lokalen Cache von einem anderen Kern oder Prozessor durch eine Snoop-Operation zu bedienen, der zugreifende Prozessor oder der Kern nicht so lange auf die Information zu warten, die er anfordert, wie er auf den zugegriffenen Kern warten müsste, bis dieser aus seinem Zustand niedriger Leistung zurückkehrt, um die Anfrage zu bedienen. Die Techniken, die oben bei den verschiedenen Ausführungsformen beschrieben worden sind, können weiter auf ein System mit irgendeiner Anzahl von Prozessoren oder Prozessorkernen angewendet werden.
  • 2 veranschaulicht als Beispiel ein Front-Side-Bus(FSB)-Verarbeitungssystem, bei dem eine Ausführungsform der Erfindung verwendet werden kann. Irgendein Prozessor 201, 205, 210 oder 215 kann auf Information von irgendeinem Cache-Speicher 220 225, 230, 235, 240, 245, 250, 255 der Ebene Eins (L1) innerhalb einem der Prozessorkerne 223, 227, 233, 237, 243, 247, 253, 257 oder damit verknüpft zugreifen. Weiterhin kann irgendein Prozessor 201, 205, 210 oder 215 auf Information aus irgendeinem der gemeinsam genutzten Caches 203, 207, 213, 217 der Ebene Zwei (L2) oder aus dem Systemspeicher 260 über den Chipsatz 265 zugreifen. Einer oder mehrere der Prozessoren in 2 kann Logik 219 umfassen oder auf andere Weise damit verknüpft sein, um einen Zugriff auf entweder einen lokalen Cache oder einen gemeinsam genutzten Cache zu richten, abhängig von dem Leistungszustand des Prozessors/Kern zu irgendeinem gegebenen Zeitpunkt. Die Logik kann einen Speicher umfassen oder damit verknüpft sein, so wie einen nicht flüchtigen programmierbaren Speicher, um den Leistungszustand des Kerns oder des Prozessors zu irgendeinem Zeitpunkt während des Betriebes des Verarbeitungssystems zu speichern.
  • Bei dem Beispiel, dass in der 2 veranschaulicht ist, sind beide Kerne im Prozessor 201 in einem Zustand mit aktiven Kernkomponenten (Zustand ”CC0”), während im Prozessor 205 beide Kerne in einem Zustand reduzierter Leistung, so wie CC1, sind, so dass jeder Kern Snoops oder ähnliche Arbeitsschritte von den aktiven Kernen 223 und 227 bedienen kann. Die Prozessoren 210 und 215 haben jeweils ihre Kerne in einem Modus mit niedrigerer Leistung als die Kerne der Prozessoren 201 und 205, so wie in einem Zustand CC3, so dass die Information in den lokalen Caches 243, 247, 253 und 257 nicht mehr verfügbar ist. Bei einer Ausführungsform, wenn die aktiven Kerne 223 oder 227, auf Information zugreifen sollen, die in den lokalen Caches der Kerne der Prozessoren 210 und 215 gespeichert worden ist, dann werden sie die Information von den gemeinsam genutzten Caches der Prozessoren 210 bzw. 215 erhalten müssen. Dies ist der Fall deswegen, weil bei einer Ausführungsform die Kerne der Prozessoren 223 und 257 wenigstens modifizierte Versionen der Information, die in ihren lokalen Caches gespeichert ist, in ihren jeweiligen gemeinsam genutzten Caches 213 und 217 ablegen, bevor sie in den Zustand CC3 eintreten. Wenn die Information, die von den Kernen des Prozessors 201 angefordert wird, weder in den gemeinsam genutzten Caches 213 und 217 verfügbar ist, noch in den lokalen Caches 230 und 235 verfügbar ist, dann würden die Kerne des Prozessors 201 dazu Zuflucht nehmen müssen, auf die Information von dem Systemspeicher 260 über den Chipsatz 265 oder über ein Festplattenlaufwerk oder eine andere Speicherquelle, die in der 2 nicht gezeigt ist, zuzugreifen.
  • Bei einigen Ausführungsformen können die Kerne jedes der Prozessoren der 2 in unterschiedlichen Leistungsmodi sein, anstatt in demselben Leistungsmodus, der in der 2 veranschaulicht ist. Bei einer Ausführungsform kann Logik in jedem der Prozessoren oder Kerne enthalten sein, um einem Snoop oder einem ähnlichen Arbeitsgang anzuzeigen, ob auf den Kern in einem Zustand CC3 oder einem anderen Zustand zugegriffen wird, so dass der anfragende Kern die entsprechende Transaktion ausgeben kann, um die geeignete Speicher struktur (den lokalen Cache oder den gemeinsam genutzten Cache) des Kerns, auf den zugegriffen wird, anzusprechen. Bei einigen Ausführungsformen kann eine Angabe des Leistungszustandes des Kerns in einem Softwareprogramm aufgezeichnet und verfolgt werden, beispielsweise in einer Tabelle, auf die von einem BIOS des Verarbeitungssystems zugegriffen werden kann. Zum Beispiel wird bei einer Ausführungsform, wann immer ein Kern oder Prozessor seinen Leistungszustand ändert, die Änderung in einer Tabelle aufgezeichnet, die in einer Logik oder einem Speicher abgelegt ist, aus der/dem ein BIOS des Systems lesen kann und alle Kerne oder Prozessoren informieren kann, die versuchen würden, auf den lokalen Cache eines weiteren Prozessors oder Kerns zuzugreifen. Indem der Zugriff suchende Prozessor oder Kern über die Leistungsmodi anderer Prozessoren oder Kerne informiert wird, kann er auf die geeignete Speicherstruktur zugreifen, so wie einen gemeinsam genutzten Cache, wenn der entsprechende lokale Cache, auf den zugegriffen werden soll, in einem Zustand reduzierter Leistung, so wie CC3, ist. Bei weiteren Ausführungsformen kann die Information über den Leistungsmodus für jeden Prozessor oder Kern abgeändert oder mit anderen Mitteln aufgezeichnet werden, einschließlich Hardwarelogik oder anderer Software neben BIOS.
  • Bei einigen Ausführungsformen kann ein Prozessor oder ein Kern, auf den zugegriffen wird, Logik umfassen, um die Antwort des Prozessors/Kerns, auf den zugegriffen wird, zu steuern. Zum Beispiel kann bei einer Ausführungsform jeder Prozessor (oder Kern) in einem Verarbeitungsssystem, das dazu gedacht ist, die hierin beschriebenen Techniken zu verwenden, Speicherraum umfassen, so wie einen nicht flüchtigen programmierbaren Speicher, der den Leistungszustand des Prozessors zu irgendeinem gegebenen Zeitpunkt speichert, so dass zugeordnete Logik festlegen kann, wie auf eine Snoop-Anfrage oder einen ähnlichen Arbeitsgang von einem anderen Prozessor/Kern zu antworten ist. Bei einer Ausführungsform können der Speicherraum und die Logik zum Beispiel verwendet werden, um zu bewirken, dass ein Zugriff auf einen Prozessor oder einen Kern in einem Zustand CC3 von dem lokalen Cache des Prozessors oder des Kerns zu einem gemeinsam genutzten Cache oder einem anderen Cache L2 umgeleitet wird. Wenn jedoch der Prozessor oder Kern, auf den zugegriffen wird, in einem anderen Zustand war, so wie einem Zustand CC0 oder CC1 (d. h. einem höheren Leistungszustand als CC3), dann würde die Logik innerhalb des Prozessors oder Kerns, auf den zugegriffen wird, ermöglichen, dass der lokale Cache gesnoopt oder auf ihn in anderer Weise zugegriffen wird. Bei einer solchen Ausführungsform braucht der zugreifende Prozessorkern nicht den Leistungszustand irgendeines Prozessors zu kennen, sondern kann einfach einen Zugriff, so wie einen Snoop, an den lokalen Cache irgendeines anderen Prozessors ausgeben, und der Prozessor (oder der Kern), auf den zugegriffen wird, kann den Zugriff umleiten, wohin es nötig ist, basierend auf seinem Leistungszustand zu dem gegebenen Zeitpunkt.
  • Zusätzlich zu dem FSB-Verarbeitungssystem, das in der 2 veranschaulicht ist, können weitere Systemausgestaltungen im Zusammenwirken mit verschiedenen Ausführungsformen der Erfindung verwendet werden, insbesondere Punkt-zu-Punkt (P2P – Point-to-Point)-Kopplungsstruktursysteme und Ringkopplungsstruktursysteme. Das P2P-System der 3 zum Beispiel kann mehrere Prozessoren umfassen, von denen nur zwei, die Prozessoren 370, 380, beispielhaft gezeigt sind. Die Prozessoren 370, 380 können jeder einen lokalen Speichercontrollerhub (MCH – Memory Controller Hub) 327, 382 umfassen, der mit dem Speicher 32, 34 verbunden ist. Jeder der Prozessoren 370, 380 kann Daten über eine Punkt-zu-Punkt (PtP – Point-to-Point)-Schnittstelle 350 austauschen, wobei die PtP-Schnittstellenschaltungen 378, 388 verwendet werden. Die Prozessoren 370, 380 können jeder Daten mit einem Chipsatz 390 über individuelle PtP-Schnittstellen 352, 3454 austauschen, wobei Punkt-zu-Punkt-Schnittstellenschaltungen 376, 394, 386, 398 verwendet werden. Der Chipsatz 390 kann auch Daten mit einer hochleistungsfähigen Grafikschaltung 338 über eine hochleistungsfähige Grafikschnittstelle 339 austauschen. Ausführungsformen der Erfindung können sich innerhalb irgendeines Prozessors mit irgendeiner Anzahl von verarbeitenden Kernen befinden oder innerhalb jedes der PtP-Busagenten der 3. Bei einer Ausführungsform kann irgendein Prozessor einen lokalen Cache-Speicher (nicht gezeigt) umfassen oder in anderer Weise damit verknüpft sein. Weiterhin kann ein gemeinsam genutzter Cache (nicht gezeigt) in irgendeinem Prozessor außerhalb beider Prozessoren enthalten sein, die jedoch mit den Prozessoren über eine p2p-Kopplungsstruktur verbunden sind, so dass Information aus dem lokalen Cache eines oder beider Prozessoren in dem gemeinsam genutzten Cache gespeichert werden kann, wenn ein Prozessor in einen Modus niedriger Leistung gebracht wird. Ein oder mehrere der Prozessoren oder Kerne aus der 3 kann Logik 319 umfassen oder auf andere Weise da mit verknüpft sein, um einen Zugriff auf entweder einen lokalen Cache oder einen gemeinsam genutzten Cache umzuleiten, abhängig von den Leistungszustand des Prozessors/Kerns zu einem gegebenen Zeitpunkt. Logik kann einen Speicher umfassen oder damit verknüpft sein, so wie einen nicht flüchtigen programmierbaren Speicher, um den Leistungszustand des Kerns oder des Prozessors zu irgendeinem Zeitpunkt während des Betriebes des Verarbeitungssystems zu speichern.
  • 4 veranschaulicht ein Verarbeitungssystem oder einen Prozessor, der in einer Ringkonfiguration organisiert ist, bei dem wenigstens eine Ausführungsform eingesetzt werden kann. Das Ringsystem der 1 umfasst acht Prozessoren oder Prozessorkerne 401, 405, 410, 415, 420, 425, 430, 435, die im Einklang mit einer konzentrischen Ring-Koppelstruktur organisiert sind, bei der jeder Prozessor oder Kern einen entsprechenden lokalen Cache hat, auf den von einem anderen Kern über die Ring-Koppelstruktur zugegriffen werden kann. Das System oder der Prozessor der 4 umfasst auch einen gemeinsam genutzten Cache der letzten Ebene (LLC – Last Level Cache) 440, der alle oder einige Versionen der Information speichert, die in den lokalen Caches 403, 407, 413, 417, 423, 427, 433, 437 abgelegt sind. Bei einer Ausführungsform, wenn einer der Prozessoren oder Kerne in der 4 in einem Leistungsmodus ist, in dem Information von dem lokalen Cache des Prozessors oder des Kerns nicht mehr verfügbar ist, dann muss irgendein anderer Prozessor oder Kern, der versucht, auf Information zuzugreifen, die in dem lokalen Cache des Prozessors/Kerns im Modus niedriger Leistungs gespeichert war, statt dessen versuchen, auf diese Information von dem LLC zuzugreifen. Bei einer Ausführungsform, wenn die Information in dem LLC nicht verfügbar ist, dann muss bei dem Zugriff der Prozessor oder der Kern möglicherweise auf die Daten von einer Systemspeicherquelle (nicht gezeigt) über einen Speichercontroller 445 zugreifen. Einer oder mehrere der Prozessoren in 4 kann eine Logik 419 umfassen oder auf andere Weise damit verknüpft sein, um einen Zugriff auf entweder einen lokalen Cache oder einen gemeinsam genutzten Cache umzuleiten, abhängig von dem Leistungszustand des Prozessors/Kerns zu einem gegebenen Zeitpunkt. Die Logik kann einen Speicher umfassen oder damit verknüpft sein, so wie einen nicht flüchtigen, programmierbaren Speicher, um den Leis tungszustand des Kerns oder des Prozessors zu irgendeinem Zeitpunkt während des Betriebes des Verarbeitungssystems zu speichern.
  • 5 veranschaulicht ein Ablaufdiagramm von Arbeitsschritten, die im Zusammenhang mit wenigstens einer Ausführungsform der Erfindung verwendet werden können, ungeachtet der Prozessor- oder Systemkonfiguration, bei der die Ausführungsform verwendet wird. Im Arbeitsschritt 502 wird zum Beispiel ein Zugriff auf einen Prozessor vorgenommen, beispielsweise durch eine Snoop-Operation oder einen anderen Arbeitsschritt zum Zugriff auf einen Cache. Wenn der Prozessor, auf den zugegriffen wird, im Arbeitsschritt 505 in einem Modus niedriger Leistung ist, so wie einem Zustand CC3, dann wird in einem Arbeitsschritt 510 auf den gemeinsam genutzten Cache des Prozessors zugegriffen. Der Zugriff kann ein Snoop auf den gemeinsam genutzten Cache sein, oder der Snoop kann in einen anderen Arbeitsschritt umgewandelt werden, um auf den gemeinsam genutzten Cache zuzugreifen, abhängig von dem verwendeten Protokoll. Wenn die angefragte Information in dem gemeinsam genutzten Cache nicht vorhanden ist, Arbeitsschritt 515, dann wird im Arbeitsschritt 520 ein Zugriff auf den Systemspeicher vorgenommen, und die Information wird im Arbeitsschritt 530 aus dem Systemspeicher zurückgeführt, ansonsten wird die Information im Arbeitsschritt 525 aus dem gemeinsam genutzten Cache zurückgeführt.
  • Wenn der Prozessor im Arbeitsschritt 505 nicht in einem Zustand niedriger Leistung, so wie CC3, gewesen ist, dann wird im Arbeitsschritt 535 auf den lokalen Cache des Prozessors zugegriffen. Wenn die Information im Arbeitsschritt 540 in dem lokalen Cache verfügbar ist, dann wird die Information im Arbeitsschritt 545 aus dem lokalen Cache zurückgeführt. Ansonsten kehrt der Prozess zum Arbeitsschritt 510 zurück, um auf die Information entweder aus dem gemeinsam genutzten Cache oder aus dem Systemspeicher, wie oben beschrieben, zuzugreifen. Bei einer Ausführungsform setzt ein zugreifender Prozessor einen Snoop an andere Prozessoren in dem System, ungeachtet des Leistungszustandes, in dem sie sich befinden, und der Prozessor, der zugreifen will, bestimmt, ob der Zugriff an einen lokalen Cache oder einen gemeinsam genutzten Cache gesendet wird, basierend auf dem Leistungszustand des Prozessors, auf den zugegriffen wird. Wenn zum Beispiel der Prozessor, auf den zugegriffen wird, zum Zeitpunkt des Zugriffs in einem Zustand CC3 ist, würde eine Snoop-Operation von einem anderen Prozessor auf den gemeinsam genutzten Cache des Prozessors, auf den zugegriffen wird, entweder als ein Snoop oder ein anderer Arbeitsschritt umgeleitet werden. Ansonsten kann die Snoop-Operation zu einem Zugriff auf den lokalen Cache des Prozessors, auf den zugegriffen werden soll, führen, wenn der Prozessor, auf den zugegriffen wird, in einem Leistungszustand ist, der es erlauben würde, dass der lokale Cache gesnoopt wird. Bei weiteren Ausführungsformen wird eine Tabelle gehalten, so wie durch BIOS, auf die sich ein zugreifender Prozessor beziehen kann, bevor er auf einen anderen Prozessor zugreift, um festzustellen, ob auf den lokalen Cache dieses Prozessors zugegriffen werden sollte oder ob auf seinen gemeinsam genutzten Cache zugegriffen werden sollte, basierend auf dem Leistungszustand, der in der Tabelle angegeben ist. Bei anderen Ausführungsformen können andere Techniken zum Verwalten, ob ein Zugriff basierend au dem Leistungszustand eines Prozessors, auf den zugegriffen werden soll, umgeleitet werden sollte, verwendet werden.
  • Die Ausführungsformen, die hierin beschrieben worden sind, können auf eine Anzahl von Wegen unter Verwendung einer Anzahl von Technologien implementiert werden. Zum Beispiel wird wenigstens eine Ausführungsform in CMOS-Logik implementiert, während andere Ausführungsform in Software implementiert werden. Noch weitere Ausführungsformen werden durch eine Kombination aus Hardwarelogik und Software implementiert.
  • Bei einer Ausführungsform kann dies Software, die verwendet wird, um den Ablauf zu vereinfachen, auf einem von einer Maschine lesbaren Medium eingebettet werden. Ein von einer Maschine lesbares Medium umfasst irgendeinen Mechanismus, der Information in einer Form zur Verfügung stellt (d. h. speichert und/oder sendet), auf die von einer Maschine (z. B. einem Computer, einer Netzwerkeinheit, einem persönlichen digitalen Assistenten, einem Herstellungswerkzeug, irgendeiner Einheit mit einem Satz aus einem oder mehreren Prozessoren usw.) zugegriffen werden kann. Zum Beispiel umfasst ein maschinenlesbares Medium beschreibbare/nicht beschreibbare Medien (z. B. Nur-Lese-Speicher (ROM – Read Only Memo ry), die Firmware umfassen, Speicher mit wahlfreiem Zugriff (RAM – Random Access Memory), Magnetplatten-Speichermedien; optische Speichermedien; Flash-Speichereinheiten usw., ebenso wie elektrische, optische, akustische und andere Formen sich fortfplanzender Signale (z. B. Trägerwellen, Infrarotsignale, digitale Signale usw.); usw.
  • Ein oder mehrere Aspekte wenigstens einer Ausführungsform können durch repräsentative Daten implementiert werden, die auf einem maschinenlesbaren Medium gespeichert sind, die verschiedene Logik innerhalb des Prozessors darstellen, welche, wenn sie von einer Maschine gelesen werden, bewirken, dass die Maschine Logik erstellt, um die hierin beschriebenen Techniken auszuführen. Solche Darstellungen, die als ”IP-Kerne” bekannt sind, können auf einem fassbaren, maschinenlesbaren Medium (”Band”) gespeichert werden und an verschiedene Kunden oder Herstellungseinheiten geliefert werden, wo sie in Herstellungsmaschinen geladen werden, die tatsächlich die Logik oder den Prozessor erstellen.
  • Somit sind ein Verfahren und eine Vorrichtung zum Umleiten von Mikroarchitektur-Speicherbereichszugriffen beschrieben worden. Es soll verstanden werden, dass die obige Beschreibung als veranschaulichend und nicht beschränkend gedacht ist. Viele weitere Ausführungsformen werden den Fachleuten beim Lesen und Verstehen der obigen Beschreibung deutlich werden. Der Umfang der Erfindung sollte daher mit Bezug auf die angefügten Ansprüche festgelegt sein, zusammen mit dem vollen Umfang an Äquivalenten, für die diese Ansprüche berechtigt sind.
  • ZUSAMMENFASSUNG
  • Eine Technik, um gemäß wenigstens einer Ausführungsform zwischengespeicherte Information während eines Modus niedriger Leistung zu erhalten. Bei einer Ausführungsform wird Information, die in dem lokalen Cache eines Prozessors gespeichert ist, in einem gemeinsam genutzten Cache gesichert, bevor der Prozessor in einen Modus niedriger Leistung gebracht wird, so dass andere Prozessoren auf Information aus dem gemeinsam genutzten Cache zugreifen können, anstatt zu bewirken, dass der im Modus niedriger Leistung befindliche Prozessor aus dem Modus niedriger Leistung zurückkehrt, um einen Zugang zu seinem lokalen Cache zu bedienen.

Claims (30)

  1. Vorrichtung, die aufweist: einen ersten Prozessorkern, der in einen Modus niedriger Leistung gebracht werden soll, wobei wenigstens abgeänderte Information, die in dem lokalen Cache des ersten Prozessorkerns gespeichert ist, in einem gemeinsam genutzten Cache gespeichert werden soll; einen zweiten Prozessorkern, der auf den gemeinsam genutzten Cache bezüglich Information zugreifen kann, auf die in dem ersten lokalen Cache zugegriffen werden kann, bevor der ersten Prozessorkern in den Modus niedriger Leistung eintritt, wobei der zweite Prozessorkern auf den gemeinsam genutzten Cache anstatt auf den lokalen Cache als Antwort darauf, dass der erste Prozessorkern in den Modus niedriger Leistung gebracht worden ist, zugreift.
  2. Vorrichtung nach Anspruch 1, bei der der erste Prozessor angibt, ob er in dem Modus niedriger Leistung eintreten wird und den Zugriff dementsprechend umleitet.
  3. Vorrichtung nach Anspruch 2, bei der der erste Prozessorkern Logik umfasst, um festzustellen, ob er in dem Modus niedriger Leistung ist, und um zu versuchen, auf Information von dem lokalen Cache des ersten Prozessorkerns zuzugreifen, basierend darauf, ob der erste Prozessor in dem Modus niedriger Leistung ist oder nicht.
  4. Vorrichtung nach Anspruch 1, bei der der gemeinsam genutzte Cache dazu dient, wenigstens einen Teil der Information zu speichern, die in wenigstens zwei lokalen Caches abgelegt ist, welche wenigstens zwei Prozessorkernen entsprechen.
  5. Vorrichtung nach Anspruch 4, bei der der lokale Cache einen Cache der Ebene Eins (L1) umfasst und der gemeinsam genutzte Cache einen Cache der Ebene Zwei (L2) umfasst.
  6. Vorrichtung nach Anspruch 1, bei der der Modus niedriger Leistung das Reduzieren wenigstens eines Taktes des ersten Prozessorkerns und das Deaktivieren von Energie für den ersten Prozessorkern umfasst.
  7. Vorrichtung nach Anspruch 1, bei der der Modus niedriger Energie das Bringen des ersten Prozessorkerns in einen Ruhezustand und das Reduzieren einer Betriebsspannung des ersten Prozessorkerns auf im Wesentlichen Null umfasst.
  8. Vorrichtung nach Anspruch 1, bei dem der lokale Cache als ein Ergebnis des Eintritts in den Zustand niedriger Leistung geleert wird.
  9. System, das aufweist: einen ersten Prozessor mit wenigstens zwei Prozessorkernen, wobei wenigstens einer der Prozessorkerne in einen Modus niedriger Leistung eintritt, in dem auf Information, die in dem lokalen Cache des wenigstens einen Prozessors gespeichert ist, nicht mehr zugegriffen werden kann; einen zweiten Prozessor mit wenigstens einem Prozessorkern, um auf Information aus einem gemeinsam genutzten Cache zuzugreifen, wenn der wenigstens eine Prozessorkern in dem Modus niedriger Leistung ist, wobei der gemeinsam genutzte Cache Versionen der Information speichert, die in jedem der lokalen Caches der wenigstens zwei Prozessorkerne gespeichert ist; einen Systemspeicher, um Versionen der Information zu speichern, die in dem gemeinsam genutzten Cache gespeichert sind; einen Speichercontroller, über den der wenigstens eine Prozessorkern des zweiten Prozessors auf den Systemspeicher zugreift.
  10. System nach Anspruch 9, das weiter einen nicht flüchtigen Speicher aufweist, um den Leistungszustand des wenigstens einen Prozessorkerns des ersten Prozessors zu speichern.
  11. System nach Anspruch 10, bei dem der wenigstens eine Prozessorkern des zweiten Prozessors versucht, auf die Information von dem wenigstens einen Prozessorkern des ersten Prozessors zuzugreifen, ungeachtet dessen, in welchem Leistungszustand sich der wenigstens eine Prozessorkern des ersten Prozessors befindet.
  12. System nach Anspruch 11, bei dem, wenn der wenigstens eine Prozessorkern des ersten Prozessors nicht in den Modus niedriger Leistung eingetreten ist, der wenigstens eine Prozessorkern des zweiten Prozessors den lokalen Cache des wenigstens einen Prozessorkerns des ersten Prozessors snoopt.
  13. System nach Anspruch 9, bei dem der erste und der zweite Prozessor über einen Front-Side-Bus gekoppelt sind.
  14. System nach Anspruch 9, bei dem der erste und der zweite Prozessor über eine Punkt-zu-Punkt-Kopplungsstruktur gekoppelt sind.
  15. System nach Anspruch 9, bei dem der erste und der zweite Prozessor über eine Ring-Kopplungsstruktur gekoppelt sind.
  16. System nach Anspruch 9, bei dem der Modus niedriger Leistung das Anhalten eines Taktes und das Abschalten von Energie für den wenigstens einen Prozessorkern des ersten Prozessors umfasst.
  17. System nach Anspruch 9, bei dem weniger Zeit erforderlich ist, um auf Information von dem gemeinsam genutzten Cache zuzugreifen, als darauf zu warten, dass der wenigstens eine Prozessorkern des ersten Prozessors aus dem Modus niedriger Leistung zurückkehrt und auf seinen lokalen Cache zugreift.
  18. Verfahren, das aufweist: Bringen eines ersten Prozessorkerns in einen Modus niedriger Leistung, wobei der Modus niedriger Leistung das Speichern wenigstens abgeänderter Information aus dem Cache der Ebene Eins (L1) des Prozessorkerns in einen Cache der Ebene Zwei (L2) umfasst; Zugreifen auf den Cache L2 anstatt auf den Cache L1 als Antwort darauf, dass der erste Prozessorkern in den Modus niedriger Leistung eintritt; Erzeugen eines Zugriffs auf einen Systemspeicher, wenn Information, die von dem zweiten Prozessorkern angefragt wird, nicht in dem Cache L2 gespeichert ist.
  19. Verfahren nach Anspruch 18, bei dem der erste Prozessorkern dazu dient, den Zugriff auf die Caches L1 oder L2 basierend auf dem Modus niedriger Leistung des ersten Prozessorkerns umzuleiten.
  20. Verfahren nach Anspruch 19, bei dem der Modus niedriger Leistung in einem nicht flüchtigen programmierbaren Speicher angegeben wird, der mit dem ersten Prozessorkern verknüpft ist.
  21. Verfahren nach Anspruch 18, bei dem der erste Prozessor Logik umfasst, um zu bestimmen, wohin der Zugriff von dem zweiten Prozessor umzuleiten ist, basierend darauf, ob der erste Prozessor in dem Modus niedriger Leistung ist.
  22. Verfahren nach Anspruch 18, bei dem der Modus niedriger Leistung das Bringen des ersten Prozessorkerns in einen Ruhezustand und das Verringern der Betriebsspannung umfasst.
  23. Maschinenlesbares Medium, auf dem ein Satz Befehle gespeichert ist, die, wenn sie von einer Maschine ausgeführt werden, bewirken, dass die Maschine ein Verfahren ausführt, das aufweist: Bewirken, dass ein erster Prozessor auf einen Cache zugreift, der von wenigstens einem zweiten und einem dritten Prozessor gemeinsam genutzt wird, anstatt auf einen lokalen Cache, der entweder dem ersten oder dem zweiten Prozessor entspricht, als Antwort auf das Feststellen, dass wenigstens einer, der erste oder der zweite Prozessor, in einen Modus niedriger Leistung eingetreten ist, wobei der Eintritt in den Modus niedriger Leistung bewirkt, dass der wenigstens eine, der zweite oder der dritte Prozessor, Information aus seinem jeweiligen lokalen Speicher in dem gemeinsam genutzten Cache speichert, und einen Takt zu dem wenigstens einen, dem zweiten oder dem dritten, Prozessor sperrt und die Energie für den wenigstens einen, den zweiten oder den dritten Prozessor, auf im Wesentlichen Null verringert.
  24. Maschinenlesbares Medium nach Anspruch 23, das weiter das Feststellen, ob der wenigstens zweite und dritte Prozessor in dem Modus niedriger Leistung ist, aufweist.
  25. Maschinenlesbares Medium nach Anspruch 24, bei dem das Bestimmen das Zugreifen auf einen Speicherbereich umfasst, der Leistungszustandsinformation über den wenigstens zweiten und den dritten Prozessor enthält.
  26. Maschinenlesbares Medium nach Anspruch 25, bei dem der Speicherbereich von dem wenigstens zweiten und dem dritten Prozessor gehalten wird.
  27. Maschinenlesbares Medium nach Anspruch 26, bei dem das Feststellen das Ausführen einer Softwareroutine umfasst.
  28. Maschinenlesbares Medium nach Anspruch 23, bei dem der lokale Cache ein Cache der Ebene Eins (L1) ist.
  29. Maschinenlesbares Medium nach Anspruch 28, bei dem der gemeinsam genutzte Cache ein Cache der Ebene Zwei (L2) ist.
  30. Maschinenlesbares Medium nach Anspruch 23, bei dem der Modus niedriger Leistung ein Leistungszustand Drei der Kernkomponente (CC3 – Core Component Three) ist.
DE112008001895.2T 2007-07-20 2008-07-14 Technik zum Bewahren zwischengespeicherter Information während eines Modus niedriger Leistung Active DE112008001895B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/880,357 2007-07-20
US11/880,357 US8527709B2 (en) 2007-07-20 2007-07-20 Technique for preserving cached information during a low power mode
PCT/US2008/069962 WO2009014931A2 (en) 2007-07-20 2008-07-14 Technique for preserving cached information during a low power mode

Publications (2)

Publication Number Publication Date
DE112008001895T5 true DE112008001895T5 (de) 2010-06-02
DE112008001895B4 DE112008001895B4 (de) 2018-09-06

Family

ID=40265786

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112008001895.2T Active DE112008001895B4 (de) 2007-07-20 2008-07-14 Technik zum Bewahren zwischengespeicherter Information während eines Modus niedriger Leistung

Country Status (8)

Country Link
US (3) US8527709B2 (de)
JP (2) JP5138036B2 (de)
KR (1) KR101227219B1 (de)
CN (2) CN101349996B (de)
DE (1) DE112008001895B4 (de)
GB (1) GB2463828B (de)
TW (1) TWI360046B (de)
WO (1) WO2009014931A2 (de)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8527709B2 (en) 2007-07-20 2013-09-03 Intel Corporation Technique for preserving cached information during a low power mode
US8725953B2 (en) * 2009-01-21 2014-05-13 Arm Limited Local cache power control within a multiprocessor system
US20100332877A1 (en) * 2009-06-30 2010-12-30 Yarch Mark A Method and apparatus for reducing power consumption
CN102053946B (zh) * 2009-10-30 2014-05-28 国际商业机器公司 多核系统中处理请求的数据处理方法、设备和系统
JP5495822B2 (ja) * 2010-01-29 2014-05-21 キヤノン株式会社 情報処理装置、その制御方法及びプログラム
US8533505B2 (en) * 2010-03-01 2013-09-10 Arm Limited Data processing apparatus and method for transferring workload between source and destination processing circuitry
KR101664108B1 (ko) * 2010-04-13 2016-10-11 삼성전자주식회사 멀티 코어의 동기화를 효율적으로 처리하기 위한 하드웨어 가속 장치 및 방법
US8751833B2 (en) 2010-04-30 2014-06-10 Arm Limited Data processing system
JP5485055B2 (ja) * 2010-07-16 2014-05-07 パナソニック株式会社 共有メモリシステム及びその制御方法
US8806232B2 (en) 2010-09-30 2014-08-12 Apple Inc. Systems and method for hardware dynamic cache power management via bridge and power manager
US8984305B2 (en) * 2010-12-21 2015-03-17 Intel Corporation Method and apparatus to configure thermal design power in a microprocessor
US20120166731A1 (en) * 2010-12-22 2012-06-28 Christian Maciocco Computing platform power management with adaptive cache flush
WO2013057886A1 (ja) * 2011-10-17 2013-04-25 パナソニック株式会社 集積回路、マルチコアプロセッサ装置及び集積回路の製造方法
KR101858159B1 (ko) 2012-05-08 2018-06-28 삼성전자주식회사 멀티-cpu 시스템과 이를 포함하는 컴퓨팅 시스템
US9256531B2 (en) 2012-06-19 2016-02-09 Samsung Electronics Co., Ltd. Memory system and SoC including linear addresss remapping logic
US9086980B2 (en) 2012-08-01 2015-07-21 International Business Machines Corporation Data processing, method, device, and system for processing requests in a multi-core system
US9760150B2 (en) * 2012-11-27 2017-09-12 Nvidia Corporation Low-power states for a computer system with integrated baseband
US9703707B2 (en) * 2012-12-04 2017-07-11 Ecole polytechnique fédérale de Lausanne (EPFL) Network-on-chip using request and reply trees for low-latency processor-memory communication
KR102005765B1 (ko) * 2012-12-17 2019-07-31 삼성전자주식회사 시스템-온 칩과, 이의 동작 방법
US9128857B2 (en) * 2013-01-04 2015-09-08 Apple Inc. Flush engine
WO2014196976A1 (en) * 2013-06-06 2014-12-11 Empire Technology Development, Llc Shared cache data movement in thread migration
JP6347633B2 (ja) * 2013-06-14 2018-06-27 キヤノン株式会社 通信装置、通信方法およびプログラム
WO2014198336A1 (en) 2013-06-14 2014-12-18 Wavelight Gmbh Automatic machine settings for customized refractive surgery
KR101785301B1 (ko) * 2013-09-27 2017-11-15 인텔 코포레이션 디바이스들 간의 메모리 리소스를 구성하기 위한 장치, 방법 및 저장 매체
US9836113B2 (en) * 2013-12-23 2017-12-05 Intel Corporation Method and apparatus to manage power usage in a processor
US9665155B2 (en) 2013-12-28 2017-05-30 Intel Corporation Techniques for increasing energy efficiency of sensor controllers that receive data from one or more sensors
US9436972B2 (en) * 2014-03-27 2016-09-06 Intel Corporation System coherency in a distributed graphics processor hierarchy
US20150370707A1 (en) * 2014-06-24 2015-12-24 Qualcomm Incorporated Disunited shared-information and private-information caches
KR102347657B1 (ko) * 2014-12-02 2022-01-06 삼성전자 주식회사 전자 장치 및 이의 공유 캐시 메모리 제어 방법
US9563431B2 (en) * 2014-12-26 2017-02-07 Intel Corporation Techniques for cooperative execution between asymmetric processor cores
KR102222444B1 (ko) * 2015-03-05 2021-03-04 삼성전자주식회사 전력 상태 정보를 사용하는 저장 장치 및 그것의 동작 방법
CN104765698B (zh) * 2015-03-17 2018-02-13 中国科学院声学研究所 一种高速缓冲存储器及路预测方法
TWI667570B (zh) * 2015-07-15 2019-08-01 聯華電子股份有限公司 半導體裝置及其運作方法
CN105487875B (zh) * 2015-12-18 2019-08-27 杭州士兰微电子股份有限公司 程序存储器的控制方法、控制装置及其处理器系统
CN109656838A (zh) * 2015-12-18 2019-04-19 杭州士兰微电子股份有限公司 处理器系统及其存储器控制方法
US10606339B2 (en) * 2016-09-08 2020-03-31 Qualcomm Incorporated Coherent interconnect power reduction using hardware controlled split snoop directories
US10324850B2 (en) * 2016-11-11 2019-06-18 Microsoft Technology Licensing, Llc Serial lookup of tag ways
US10649684B2 (en) * 2017-03-16 2020-05-12 Arm Limited Memory access monitoring
US10565122B2 (en) 2017-05-30 2020-02-18 Microsoft Technology Licensing, Llc Serial tag lookup with way-prediction
CN110443360B (zh) * 2017-06-16 2021-08-06 上海兆芯集成电路有限公司 用于操作处理器的方法
US10956332B2 (en) 2017-11-01 2021-03-23 Advanced Micro Devices, Inc. Retaining cache entries of a processor core during a powered-down state
US10705590B2 (en) 2017-11-28 2020-07-07 Google Llc Power-conserving cache memory usage
CN109542830B (zh) * 2018-11-21 2022-03-01 北京灵汐科技有限公司 一种数据处理系统及数据处理方法
US11134030B2 (en) * 2019-08-16 2021-09-28 Intel Corporation Device, system and method for coupling a network-on-chip with PHY circuitry
US11615022B2 (en) * 2020-07-30 2023-03-28 Arm Limited Apparatus and method for handling accesses targeting a memory

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5247649A (en) 1988-05-06 1993-09-21 Hitachi, Ltd. Multi-processor system having a multi-port cache memory
US5632038A (en) 1994-02-22 1997-05-20 Dell Usa, L.P. Secondary cache system for portable computer
US6052789A (en) 1994-03-02 2000-04-18 Packard Bell Nec, Inc. Power management architecture for a reconfigurable write-back cache
US6658532B1 (en) * 1999-12-15 2003-12-02 Intel Corporation Cache flushing
US7111178B2 (en) * 2001-09-28 2006-09-19 Intel Corporation Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system
US6763435B2 (en) 2001-10-16 2004-07-13 International Buisness Machines Corporation Super-coherent multiprocessor system bus protocols
US6792551B2 (en) * 2001-11-26 2004-09-14 Intel Corporation Method and apparatus for enabling a self suspend mode for a processor
US6804632B2 (en) * 2001-12-06 2004-10-12 Intel Corporation Distribution of processing activity across processing hardware based on power consumption considerations
US6976181B2 (en) * 2001-12-20 2005-12-13 Intel Corporation Method and apparatus for enabling a low power mode for a processor
US6920574B2 (en) * 2002-04-29 2005-07-19 Apple Computer, Inc. Conserving power by reducing voltage supplied to an instruction-processing portion of a processor
US7017054B2 (en) * 2002-07-02 2006-03-21 Dell Products L.P. Mirrored tag snoop optimization
US6976131B2 (en) * 2002-08-23 2005-12-13 Intel Corporation Method and apparatus for shared cache coherency for a chip multiprocessor or multiprocessor system
US7194638B1 (en) * 2002-09-27 2007-03-20 Cypress Semiconductor Corporation Device and method for managing power consumed by a USB device
US7461213B2 (en) * 2002-10-08 2008-12-02 Rmi Corporation Advanced processor system using request, data, snoop, and response rings
US6971034B2 (en) 2003-01-09 2005-11-29 Intel Corporation Power/performance optimized memory controller considering processor power states
US6711447B1 (en) * 2003-01-22 2004-03-23 Intel Corporation Modulating CPU frequency and voltage in a multi-core CPU architecture
GB2403561A (en) * 2003-07-02 2005-01-05 Advanced Risc Mach Ltd Power control within a coherent multi-processor system
US20050138296A1 (en) 2003-12-18 2005-06-23 Coulson Richard L. Method and system to alter a cache policy
US7237131B2 (en) * 2003-12-30 2007-06-26 Intel Corporation Transaction-based power management in a computer system
US20070156992A1 (en) * 2005-12-30 2007-07-05 Intel Corporation Method and system for optimizing latency of dynamic memory sizing
US7451333B2 (en) * 2004-09-03 2008-11-11 Intel Corporation Coordinating idle state transitions in multi-core processors
US7694080B2 (en) * 2004-12-29 2010-04-06 Intel Corporation Method and apparatus for providing a low power mode for a processor while maintaining snoop throughput
US20060171244A1 (en) * 2005-02-03 2006-08-03 Yoshiyuki Ando Chip layout for multiple cpu core microprocessor
US7337280B2 (en) 2005-02-10 2008-02-26 International Business Machines Corporation Data processing system and method for efficient L3 cache directory management
US20070005907A1 (en) 2005-06-29 2007-01-04 Intel Corporation Reduction of snoop accesses
US7899990B2 (en) * 2005-11-15 2011-03-01 Oracle America, Inc. Power conservation via DRAM access
JP2007148952A (ja) * 2005-11-30 2007-06-14 Renesas Technology Corp 半導体集積回路
US20070150663A1 (en) 2005-12-27 2007-06-28 Abraham Mendelson Device, system and method of multi-state cache coherence scheme
US7584327B2 (en) * 2005-12-30 2009-09-01 Intel Corporation Method and system for proximity caching in a multiple-core system
US8225046B2 (en) * 2006-09-29 2012-07-17 Intel Corporation Method and apparatus for saving power by efficiently disabling ways for a set-associative cache
US7937535B2 (en) * 2007-02-22 2011-05-03 Arm Limited Managing cache coherency in a data processing apparatus
US8527709B2 (en) 2007-07-20 2013-09-03 Intel Corporation Technique for preserving cached information during a low power mode
US8489906B2 (en) * 2010-05-25 2013-07-16 Freescale Semiconductor, Inc. Data processor having multiple low power modes

Also Published As

Publication number Publication date
GB2463828A (en) 2010-03-31
CN103257701A (zh) 2013-08-21
TW200915059A (en) 2009-04-01
GB2463828B (en) 2012-08-22
KR101227219B1 (ko) 2013-01-28
WO2009014931A2 (en) 2009-01-29
CN101349996B (zh) 2013-04-24
US20130179639A1 (en) 2013-07-11
US20090024799A1 (en) 2009-01-22
JP5138036B2 (ja) 2013-02-06
TWI360046B (en) 2012-03-11
CN101349996A (zh) 2009-01-21
JP2010534377A (ja) 2010-11-04
WO2009014931A3 (en) 2009-04-02
DE112008001895B4 (de) 2018-09-06
CN103257701B (zh) 2016-08-03
JP5367899B2 (ja) 2013-12-11
US8732399B2 (en) 2014-05-20
US8527709B2 (en) 2013-09-03
KR20100021003A (ko) 2010-02-23
GB201000648D0 (en) 2010-03-03
US9274592B2 (en) 2016-03-01
US20140115369A1 (en) 2014-04-24
JP2013069320A (ja) 2013-04-18

Similar Documents

Publication Publication Date Title
DE112008001895B4 (de) Technik zum Bewahren zwischengespeicherter Information während eines Modus niedriger Leistung
DE112006003575B4 (de) Verfahren und Vorrichtung für einen Nullspannungs-Prozessorschlafzustand
DE112005002672B4 (de) Dynamische Neukonfiguration eines Cache-Speichers
DE69319763T2 (de) Verfahren und Gerät zur Durchführung eines Busarbitrierungsprotokolls in einem Datenverarbeitungssystem
DE112011100743B4 (de) Datenverarbeitungsvorrichtung und -verfahren zum Übertragen einer Arbeitslast zwischen Quell- und Zielverarbeitungsschaltkreisen
DE112006000545B4 (de) System und Verfahren zum kohärenten Datentransfer während Leerlaufzuständen von Prozessoren
DE102009022151B4 (de) Verringern von Invalidierungstransaktionen aus einem Snoop-Filter
DE112006002835B4 (de) Verfahren und System zum Optimieren der Latenz bei dynamischer Speichereinteilung
DE112007001215B4 (de) Vorhersage der Leistungsnutzung von Rechenplattformspeicher
DE69127111T2 (de) Verfahren zum Nachladen aufgeschobener Datenauslagerungen in einen Copy-back Daten-Cachespeicher
DE19681716B4 (de) Computersystem und Verfahren für ein Stromversorgungsmanagement
DE112005001801B4 (de) Verfahren und Vorrichtung zum dynamischen DLL-Herunterfahren und Speicher-Selbstauffrischen
DE10262164B4 (de) Computersystem mit einer hierarchischen Cacheanordnung
DE112012002664B4 (de) Erhöhen der Energieeffizienz des Turbo-Modus-Betriebs in einem Prozessor
DE69421058T2 (de) Vorrichtung und Verfahren zur Cache-Speicher Kohärenz Überprüfung mit doppelter Abhörmechanismus
DE69636452T2 (de) Mehrprozessor-cachespeicherkohärenzprotokoll für einen lokalbus
DE102007006190B4 (de) Techniken zur Verwendung von Speicher-Attributen
DE102007048507B4 (de) Cache-Speichersystem und Verfahren zum Bereitstellen eines Transaktionsspeichers
DE112008001223B4 (de) Datenverarbeitung mit einem Cache-Zugriffsmodus mit geringer Leistung
DE102010034555A1 (de) Bereitstellen von Zustandsspeicher in einem Prozessor für Systemmanagement-Modus
DE112005002180T5 (de) Lösen von Cachekonflikten
DE112017000721T5 (de) Verfahren, einrichtung und befehle für thread-aussetzung auf benutzerebene
DE112006002056T5 (de) Erhöhung der Arbeitsleistung eines oder mehrerer Kerne in Multikernprozessoren
DE112011102822T5 (de) Leistungsoptimierte Interrupt-Abgabe
DE102013216237B4 (de) Verfahren und System zum automatischen Clock-Gating eines Taktgitters bei einer Taktquelle

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0001320000

Ipc: G06F0012020000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0001320000

Ipc: G06F0012020000

Effective date: 20110912

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0012020000

Ipc: G06F0012060000

Effective date: 20121002

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