DE112011104329T5 - Mehrkernsystem und Verfahren zum Lesen der Kerndaten - Google Patents

Mehrkernsystem und Verfahren zum Lesen der Kerndaten Download PDF

Info

Publication number
DE112011104329T5
DE112011104329T5 DE112011104329T DE112011104329T DE112011104329T5 DE 112011104329 T5 DE112011104329 T5 DE 112011104329T5 DE 112011104329 T DE112011104329 T DE 112011104329T DE 112011104329 T DE112011104329 T DE 112011104329T DE 112011104329 T5 DE112011104329 T5 DE 112011104329T5
Authority
DE
Germany
Prior art keywords
core
data
cache
main memory
controller
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
DE112011104329T
Other languages
English (en)
Inventor
Aya Minami
Yohichi Miwa
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112011104329T5 publication Critical patent/DE112011104329T5/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/0817Cache consistency protocols using directory methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Advance Control (AREA)

Abstract

Bereitgestellt wird die Erfindung eines Mehrkernsystems des Ringbustyps mit einem Lesen neuer Arbeitsspeicherdaten durch einen Kern, dessen einer Kern (anfordernder Kern) eine Leseanforderung nach Daten in einem Arbeitsspeicher ausführt. Das System beinhaltet einen Arbeitsspeicher, eine Hauptarbeitsspeicher-Steuereinheit zum Verbinden des Arbeitsspeichers mit einem Ringbus und mehrere mit dem Ringbus verbundene Kerne. Jeder der Kerne beinhaltet weiterhin eine Cachespeicher-Schnittstelle und eine Cachespeicher-Steuereinheit zum Steuern der Schnittstelle. Die Hauptarbeitsspeicher-Steuereinheit beinhaltet weiterhin ein Cachespeicher-Verlaufsprotokoll aller Kerne. Die Cachespeicher-Steuereinheit jedes mit dem Ringbus verbundenen Kerns führt ein Snooping des Inhalts der Anforderung über die Cachespeicher-Schnittstelle durch, und wenn der Cachespeicher eines durchlaufenen Kerns die Daten enthält, ein Steuern des Kerns, um die Anforderung zu empfangen und die Daten an den anfordernden Kern zurückzusenden. Wenn kein Kern, der mit dem Ringbus in der zur vorgegebenen Pfadrichtung entgegengesetzten Pfadrichtung verbunden ist, entsprechende Daten enthält, einen Schritt des Lesens der Daten aus dem Arbeitsspeicher in den anfordernden Kern.

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf das Lesen von Kerndaten in einem Mehrkernsystem des Ringbustyps, in dem eine Arbeitsspeicherschnittstelle gemeinsam von mehreren CPU-Kernen (auch einfach als CPUs, Prozessoren oder Kerne bezeichnet) genutzt wird.
  • Hintergrund
  • In einer Mehrkern-CPU des Ringbustyps zum gemeinsamen Nutzen einer Arbeitsspeicherschnittstelle durch mehrere Kerne werden die Zugriffe auf einen Hauptarbeitsspeicher konzentriert. Im Normalbetrieb weist jeder CPU-Kern jeweils einen Cachespeicher auf, um Daten tatsächlich aus einem gemeinsam genutzten Hauptarbeitsspeicher zu lesen. Statt Daten aus einem Hauptarbeitsspeicher zu lesen, wird ein Verfahren zum Lesen von Daten aus Cachespeicherdaten, die in jedem CPU-Kern gespeichert sind, in Betracht gezogen.
  • Beispielsweise wird eine Leseanforderung von einem bestimmten CPU-Kern (der als „anfordernder Kern” (requester core) bezeichnet wird) ausgegeben. In einer herkömmlichen Mehrkernstruktur führt eine Hauptarbeitsspeicher-Steuereinheit Abfragen an die anderen CPU-Kerne über das Vorhandensein oder Nichtvorhandensein von Cachespeicherdaten durch, statt die Daten aus dem Hauptarbeitsspeicher zu lesen. Die CPU-Kerne, die die Abfragen empfangen, durchsuchen ihre Cachespeicher nach den Daten.
  • In einer Mehrkern-Betriebsumgebung ist es oft der Fall, dass ein beliebiger der CPU-Kerne in seinem Cachespeicher Daten derselben Adresse wie der Hauptarbeitsspeicher (als Adressdaten bezeichnet) enthält. In diesem Fall gibt es ein herkömmliches Verfahren, bei dem die Hauptarbeitsspeicher-Steuereinheit eine Anweisung an einen anfordernden Kern ausgibt, den Cachespeicherinhalt zu übertragen, sodass die Daten gesendet werden. Dieses Verfahren nimmt jedoch Zeit im Verhältnis zur Anzahl der gepackten Kerne in Anspruch, weil Abfragen an jeweilige Kerne der Reihe nach erfolgen müssen. Außerdem leiden die Abfragen an die jeweiligen CPU-Kerne unter einer hohen Belastung der Hauptarbeitsspeicher-Steuereinheit.
  • Nachfolgend wird ein Snooping nach Kohärenz beschrieben, um die Kohärenz von Daten sicherzustellen, die in jedem Cachespeicher in einer Struktur mit mehreren CPU-Kernen gehalten werden. In einem mit Cachespeichern ausgestatteten Mehrfachprozessor muss die Kohärenz von Daten aufrechterhalten werden, die beim Verarbeiten zwischen mehreren Prozessoren verwendet werden. Bus-Snooping wird oft verwendet, um die Kohärenz von Daten in herkömmlichen Prozessoren aufrechtzuerhalten. Beim Bus-Snooping handelt es sich um eine Funktion zum Überwachen von Transaktionen an einem Arbeitsspeicherschnittstellenbus, der gemeinsam von den jeweiligen Prozessoren genutzt wird, und zum Erkennen, ob eine Transaktion im Zusammenhang mit Daten in einem Cachespeicher stattfindet, der jedem Prozessor zugeordnet ist.
  • Wenn eine Transaktion im Zusammenhang mit Daten in dem Cachespeicher stattfindet, der einem bestimmten Prozessor zugeordnet ist, aktualisiert der Prozessor einen entsprechenden Eintrag in dem Cachespeicher. Jeder der anderen Prozessoren wird von dieser Aktualisierung durch Snooping benachrichtigt, für die in seinem Cachespeicher gespeicherten Daten einen Merker „verändert” (ein „dirty flag”) zu setzen, sodass die Daten nicht verwendet werden, wodurch Daten in dem gesamten Mehrfachprozessorsystem verwaltet werden.
  • Das Patentdokument 1 stellt einen mit einem Cachespeicher ausgestatteten Prozessor bereit, der in der Lage ist, die Kohärenz von Daten zwischen Prozessoren mit hervorragender betrieblicher Leistungsfähigkeit in einem Mehrfachprozessorsystem zu erhalten. Das Patentdokument beschreibt jedoch ein Modell, bei dem mehrere Prozessorkerne einen einzigen Cachespeicher aufweisen, was sich von einem Modell unterscheidet, bei dem die jeweiligen Prozessorkerne jeweilige Cachespeicher aufweisen.
  • Das Patentdokument 2 offenbart eine Technik, die mehrere Prozessorkerne verwendet, die jeweilige Cachespeicher aufweisen, um die in den jeweiligen Prozessorkernen enthaltenen Cachespeicherdaten wirksam zu nutzen. Diese Technik stellt ein Verarbeitungsverfahren dar, das verwendet wird, wenn ein Prozessorkern Daten von einem Hauptarbeitsspeicher abruft und ein anderer Prozessorkern dieselben Arbeitsspeicherdaten abruft.
  • Stand der Technik mit Fundstellen
  • Patentdokumente
    • Japanische Patentanmeldung, Veröffentlichungsnummer 2006-244460
    • Japanische Patentanmeldung, Veröffentlichungsnummer 2009-176179
  • Zusammenfassung der Erfindung
  • Von der Erfindung zu lösendes Problem
  • Patentdokumente oder dergleichen offenbaren, dass Snooping verwendet wird, um eine Aktualisierung für die Kohärenz von Adressdaten auszuführen. Beim Lesen mehrerer, in der Form eines Ringbus verbundener CPU-Kerne wird jedoch nicht jeder Kern für eine Bustransaktionsreferenz verwendet. Mit anderen Worten: Keine herkömmlichen Techniken erwähnen, dass beim Lesen von Adressdaten auf mehreren in Form eines Ringbus verbundenen CPU-Kernen jeder Kern Bustransaktionen „belauscht” (snoops).
  • Deshalb besteht eine Aufgabe der vorliegenden Erfindung darin, ein Mehrkernsystem des Ringbustyps zum gemeinsamen Nutzen einer Arbeitsspeicherschnittstelle durch mehrere Kerne sowie ein Datenleseverfahren durch jeden Kern bereitzustellen.
  • Mittel zum Lösen der Probleme
  • Um die obige Aufgabe zu lösen, stellt die vorliegende Erfindung ein Mehrkernsystem des Ringbustyps bereit, bei dem eine Arbeitsspeicherschnittstelle von mehreren Kernen gemeinsam genutzt wird und ein Kern (anfordernder Kern) eine Leseanforderung für in dem Arbeitsspeicher vorhandene Daten ausführt. Dieses Mehrkernsystem des Ringbustyps enthält einen Arbeitsspeicher, eine Hauptarbeitsspeicher-Steuereinheit zum Verbinden des Arbeitsspeichers mit einem Ringbus und mehrere Kerne, die in Form des Ringbus verbunden sind, wobei jeder der Kerne weiterhin eine Cachespeicher-Schnittstelle und eine Cachespeicher-Steuereinheit zum Steuern oder Verwalten der Schnittstelle aufweist und die Cachespeicher-Steuereinheit jeder der in Form des Ringbus verbundenen Kerne ausführt:
    • (1) einen Schritt des Snoopings von Daten in der Anforderung über die Cachespeicher-Schnittstelle; und
    • (2) wenn der Cachespeicher des Kerns die Daten enthält, einen Schritt des Steuerns des Kerns, um die Anforderung zu empfangen und die Daten an den anfordernden Kern zurückzusenden; oder
    • (3) wenn der Cachespeicher des Kerns die Daten nicht enthält, führt die Hauptarbeitsspeicher-Steuereinheit einen Schritt des Lesens der Daten aus dem Arbeitsspeicher und des Sendens der Daten an den anfordernden Kern aus.
  • Um die obige Aufgabe zu lösen, stellt die vorliegende Erfindung ein Mehrkernsystem des Ringbustyps bereit, bei dem eine Arbeitsspeicherschnittstelle von mehreren Kernen gemeinsam genutzt wird und ein Kern (anfordernder Kern) eine Leseanforderung für in dem Arbeitsspeicher vorhandene Daten ausführt. Dieses Mehrkernsystem des Ringbustyps enthält einen Arbeitsspeicher, eine Hauptarbeitsspeicher-Steuereinheit zum Verbinden des Arbeitsspeichers mit einem Ringbus sowie mehrere in Form des Ringbus verbundene Kerne, wobei jeder der Kerne weiterhin eine Cachespeicher-Schnittstelle und eine Cachespeicher-Steuereinheit zum Steuern der Schnittstelle beinhaltet und die Hauptarbeitsspeicher-Steuereinheit weiterhin ein Verlaufsprotokoll der Daten beinhaltet, die in den Cachespeichern aller Kerne gehalten werden, und wobei als Antwort auf die Anforderung, die in einer vorgegebenen Pfadrichtung von dem anfordernden Kern zur Hauptarbeitsspeicher-Steuereinheit fließt, die Cachespeicher-Steuereinheit jedes der in der Form des Ringbus verbundenen Kerne ausführt:
    • (1) einen Schritt des Snoopings von Daten in der Anforderung über die Cachespeicher-Schnittstelle; und
    • (2) wenn der Cachespeicher des in der vorgegebenen Pfadrichtung verbundenen Kerns die Daten enthält, einen Schritt des Steuerns des Kerns, um die Anforderung zu empfangen und die Daten an den anfordernden Kern zurückzusenden; oder
    • (3) wenn der Cachespeicher des in der vorgegebenen Pfadrichtung verbundenen Kerns die Daten nicht enthält, führt die Hauptarbeitsspeicher-Steuereinheit aus: (a) sie nimmt auf das Verlaufsprotokoll jedes Kerns Bezug, und (b) wenn ein beliebiger Kern, der in der Form des Ringbus in einer zur vorgegebenen Pfadrichtung entgegengesetzten Pfadrichtung verbunden ist, entsprechende Daten enthält, führt sie aus: einen Schritt des Sendens der Anforderung an den Kern und des Veranlassens der Cachespeicher-Steuereinheit des Kerns, die in dem Cachespeicher gehaltenen Daten an den anfordernden Kern zu senden; oder (c) wenn kein Kern, der mit dem Ringbus in der zur vorgegebenen Pfadrichtung entgegengesetzten Pfadrichtung verbunden ist, entsprechende Daten enthält, einen Schritt des Lesens der Daten aus dem Speicher und des Sendens der Daten an den anfordernden Kern.
  • Ein Merkmal dieses Mehrkernsystems des Ringbustyps ist dergestalt, dass das Verlaufsprotokoll für jeden der Kerne einen Merker beinhaltet, der das Halten von Daten an der Adresse (Adressdaten) des Speichers anzeigt, sowie einen Schreibmerker in einen weiteren Kern.
  • Ein weiteres Merkmal dieses Mehrkernsystems des Ringbustyps ist dergestalt, dass die Cachespeicher-Steuereinheit als vorgegebene Pfadrichtung eine Pfadrichtung mit einer größeren Zahl von Kernen auswählt, die in zwei Pfadrichtungen vom anfordernden Kern aus mit der Hauptspeicher-Steuereinheit verbunden sind.
  • Noch ein weiteres Merkmal dieses Mehrkernsystems des Ringbustyps ist dergestalt, dass die Cachespeicher-Steuereinheit auf das Verlaufsprotokoll Bezug nimmt, um einen Verkehr des Ringbus anhand des Merkers für gehaltene Daten zu berechnen und eine Pfadrichtung mit weniger Verkehr als in der vorgegebenen Datenrichtung auszuwählen.
  • Noch ein weiteres Merkmal dieses Mehrkernsystems des Ringbustyps ist dergestalt, dass die Cachespeicher-Steuereinheit auf das Verlaufsprotokoll Bezug nimmt, um das Vorhandensein der Daten in einem Kern zu prüfen, der mit einem Pfad entgegengesetzt zu dem in der vorgegebenen Pfadrichtung verbunden ist.
  • Weiterhin stellt die vorliegende Erfindung zur Lösung der obigen Aufgabe ein Verfahren bereit, das einen Kern (anfordernder Kern) veranlasst, Daten zu lesen, die in einem Speicher einer Mehrkern-CPU des Ringbustyps vorhanden sind, um eine Arbeitsspeicherschnittstelle mit mehreren Kernen gemeinsam zu nutzen. In diesem Verfahren beinhaltet die Mehrkern-CPU einen Arbeitsspeicher, eine Hauptarbeitsspeicher-Steuereinheit zum Verbinden des Arbeitsspeichers mit einem Ringbus und den mehreren in der Form des Ringbus verbundenen Kernen, und jeder der Kerne beinhaltet ferner eine Cachespeicher-Schnittstelle und eine Cachespeicher-Steuereinheit zum Steuern oder Verwalten der Schnittstelle, und die Hauptarbeitsspeicher-Steuereinheit beinhaltet ferner ein Verlaufsprotokoll der in allen Kernen enthaltenen Daten, und als Antwort auf die Anforderung, die in einer vorgegebenen Pfadrichtung von dem anfordernden Kern zu der Steuereinheit fließt, beinhaltet die Cachespeicher-Steuereinheit jedes in der Form des Ringbus verbundenen Kerns:
    • (1) einen Schritt des Snoopings von Daten in der Anforderung über die Cachespeicher-Schnittstelle; und
    • (2) wenn der Cachespeicher des in der Pfadrichtung verbundenen Kerns die Daten enthält, einen Schritt des Steuerns des Kerns, um die Anforderung zu empfangen und die Daten an den anfordernden Kern zurückzusenden, oder
    • (3) wenn der Cachespeicher des in der Pfadrichtung verbundenen Kerns die Daten nicht enthält, führt die Hauptarbeitsspeicher-Steuereinheit aus: (a) sie nimmt auf das Verlaufsprotokoll jedes Kerns Bezug, und (b) wenn ein beliebiger Kern, der in der Form des Ringbus in einer zur Pfadrichtung entgegengesetzten Pfadrichtung verbunden ist, entsprechende Daten enthält, führt sie aus: einen Schritt des Sendens der Anforderung an den Kern und des Veranlassens der Cachespeicher-Steuereinheit des Kerns, die in dem Cachespeicher gehaltenen Daten an den anfordernden Kern zu senden; oder (c) wenn kein Kern, der in der Form des Ringbus in der zur Pfadrichtung entgegengesetzten Pfadrichtung verbunden ist, entsprechende Daten enthält, einen Schritt des Lesens der Daten aus dem Arbeitsspeicher und des Sendens der Daten an den anfordernden Kern.
  • Vorteile der Erfindung
  • Wie oben beschrieben, können gemäß der vorliegenden Erfindung die Belastung der Hauptarbeitsspeicher-Steuereinheit und die für alle Arbeitsspeicherzugriffe erforderliche Gesamtzeit in dem Mehrkernsystem des Ringbustyps zum gemeinsamen Nutzen eines Hauptarbeitsspeichers verringert werden.
  • Kurzbeschreibung der Zeichnungen
  • 1 zeigt die allgemeine Struktur eines Mehrkernsystems des Ringbustyps zum gemeinsamen Nutzen einer Arbeitsspeicherschnittstelle durch mehrere Kerne;
  • 2 zeigt eine Cachespeicher-Schnittstelle 2 in jedem CPU-Kern und eine Lese-/Schreibanforderungs-Schnittstelle 3 zum Hauptarbeitsspeicher;
  • 3 gibt durch die Pfeile der Schritte (1) bis (5) einen Fluss von Datenlesetransaktionen in der allgemeinen Struktur des Mehrkernsystems des Ringbustyps an;
  • 4 ist ein Ablaufplan, der die Datenleseschritte (1) bis (5) der vorliegenden Erfindung darstellt; und
  • 5 zeigt den Inhalt eines Zugriffsverlaufsprotokolls jedes Kerns, das in einer Hauptarbeitsspeicher-Steuereinheit gehalten wird.
  • Ausführungsform der Erfindung
  • Beschrieben wird ein Lesen von Daten in einem Mehrkernsystem des Ringbustyps zum gemeinsamen Nutzen einer Arbeitsspeicherschnittstelle durch mehrere CPU-Kerne gemäß einer bevorzugten Ausführungsform (nachfolgend einfach die „Ausführungsform” genannt) der vorliegenden Erfindung. Zu beachten ist, dass es sich bei der folgenden Ausführungsform um ein veranschaulichendes Beispiel handelt, das den Inhalt der vorliegenden Erfindung nicht einschränken soll.
  • Ein Chip mit einem darauf gepackten Mehrkernsystem des Ringbussystems beinhaltet das Folgende:
    • 1. Jeder CPU-Kern ist mit einer Cachespeicher-Schnittstelle ausgestattet. Diese Schnittstelle ermöglicht es einer Steuereinheit auf der Seite des Hauptarbeitsspeichers und jedem Kern, den Inhalt eines Cachespeichers in einem anderen Kern direkt zu lesen. Bei dem Inhalt eines Cachespeichers handelt es sich um Daten fester Länge, die durch eine Adresse des Hauptarbeitsspeichers (als Adressdaten bezeichnet) festgelegt sind.
    • 2. Die Hauptarbeitsspeicher-Steuereinheit enthält den Inhalt der Cachespeicher aller CPU-Kerne als Verlaufsprotokoll (als Adressenverlaufsprotokoll bezeichnet). Wie in 5 gezeigt, speichert das Adressenverlaufsprotokoll das Vorhandensein oder Nichtvorhandensein von Cachespeicher-Adressdaten in jedem Kern.
  • 1 zeigt die allgemeine Struktur eines Mehrkernsystems des Ringbustyps zum gemeinsamen Nutzen einer Arbeitsspeicherschnittstelle durch mehrere Kerne.
    • 1. Eine Hauptarbeitsspeicher-Steuereinheit 7 verwaltet in einem Zugriffsverlaufsprotokoll ein Protokoll von Speicherzugriffs-Statuswerten von jedem Kern 6. Das Zugriffsverlaufsprotokoll belegt, welcher CPU-Kern welche Adressdaten in seinem Cachespeicher aufweist.
    • 2. Jeder CPU-Kern 6 ist mit einer Cachespeicher-Steuereinheit ausgestattet, um es der Hauptarbeitsspeicher-Steuereinheit 7 zu ermöglichen, den Inhalt eines Cachespeichers 11 zu lesen.
  • Ein bestimmter CPU-Kern gibt eine Anforderung an die Hauptarbeitsspeicher-Steuereinheit zum Lesen bestimmter Adressdaten aus. Dieser CPU-Kern wird als anfordernder Kern bezeichnet. Die Cachespeicher-Steuereinheit 11 jedes der Kerne, die bis zur Hauptarbeitsspeicher-Steuereinheit 7 mit dem Ringbus verbunden sind, „lauscht” an dem Inhalt der ankommenden Leseanforderung. Wenn er entsprechende Daten in seinem Cachespeicher 11 aufweist, nimmt jeder Kern die Anforderung auf und sendet die Daten an den anfordernden Kern zurück.
  • Als Erstes sei angenommen, dass kein CPU-Kern 6 auf dem Weg (erster Pfad) zu einem Hauptarbeitsspeicher 10 entsprechende Daten aufweist. In diesem Fall empfängt die Hauptarbeitsspeicher-Steuereinheit 7 die Anforderung und nimmt auf ein Zugriffsverlaufsprotokoll 8 jedes Kerns Bezug. Als Nächstes sei angenommen, dass ein CPU-Kern 6, der an einer Seite des Rings (zweiter Pfad) entgegengesetzt zu der Richtung, aus der die Anforderung kommt, verbunden ist, die entsprechenden Daten aufweist. In diesem Fall wird die Leseanforderung an einen Cachespeicher 11 an den CPU-Kern 6, der die Adressdaten aufweist, statt an den Hauptarbeitsspeicher 10 ausgegeben.
  • Auf dem ersten Pfad sendet die Cachespeicher-Steuereinheit die Adressdaten aus dem Cachespeicher 11 des CPU-Kerns über eine Cachespeicher-Schnittstelle 2. Ein Snooping durch diese Steuereinheit bewirkt, dass der anfordernde Kern 6 so aussieht, als ob er die Leseanforderung an den Kern ausgegeben habe, der die Adressdaten aufweist. In diesem Fall können die Leseadressdaten an den anfordernden Kern gesendet werden, ohne über die Hauptarbeitsspeicher-Steuereinheit 7 zu gehen.
  • Auf dem zweiten Pfad gibt die Hauptarbeitsspeicher-Steuereinheit vor, der anfordernde Kern zu sein, um die Leseanforderung direkt an den Cachespeicher jedes Kerns auszugeben. In diesem Fall wird jedem der CPU-Kerne (dem anfordernden Kern und den Kernen, die zu lesende Cachespeicher aufweisen) keine zusätzliche Belastung auferlegt. Das Verfahren der vorliegenden Erfindung ist wirksam im Hinblick auf die Verringerung bei der Belastung der Hauptarbeitsspeicher-Steuereinheit (die Wirkung des Verringerns der Belastung des Hauptarbeitsspeichers auf dem ersten Pfad) und der Verringerung bei der Zeit, die für Arbeitsspeicherzugriffe in allen Kernen erforderlich ist (die Wirkung des Verringerns der Belastung jedes Kerns auf dem zweiten Pfad).
  • 2 zeigt eine Cachespeicher-Schnittstelle 2 in jedem CPU-Kern und eine Lese-/Schreibanforderungs-Schnittstelle 3 zum Hauptarbeitsspeicher. Diese Idee wird auf der Grundlage einer Struktur betrachtet, in der mehrere CPU-Kerne auf einem Chip gepackt sind und ein Arbeitsspeicher über die Hauptarbeitsspeicher-Steuereinheit verbunden ist. Jeder CPU-Kern und die Hauptarbeitsspeicher-Steuereinheit sind durch einen Kohärenz aufweisenden Ringbus verbunden. Jeder CPU-Kern ist mit der Cachespeicher-Schnittstelle 2 und der Schnittstelle 3 ausgestattet, über die der CPU-Kern auf den Hauptarbeitsspeicher zugreift. Zu beachten ist, dass die beiden Schnittstellen 2 und 3 nicht notwendigerweise getrennt bereitgestellt werden. Beispielsweise kann die Schnittstelle 3 als die beiden Schnittstellen dienen. Die Trennung der Schnittstellen für jeden Kern, um an einer Spur des Ringbus zu „lauschen” und den Hauptarbeitsspeicher aufzufordern, Daten zu lesen/schreiben, kann eine Verzögerung in jedem Prozess vermeiden.
  • 3 gibt durch die Pfeile der Schritte (1) bis (5) die Reihenfolge von Flüssen von Datenlesetransaktionen in der allgemeinen Struktur des Mehrkernsystems des Ringbustyps an. 4 ist ein Ablaufplan, der die Datenleseschritte (1) bis (5) als typisches Beispiel der vorliegenden Erfindung darstellt.
    • (1) Ein CPU-Kern X gibt einen Lesebefehl an die Hauptarbeitsspeicher-Steuereinheit aus. Es wird angenommen, dass ein naher Pfad als der erste Pfad ausgewählt wird. In diesem Fall wird die Auswahl entweder des nahen Pfades oder des fernen Pfades als Abstand zur Hauptarbeitsspeicher-Steuereinheit von der Cachespeicher-Steuereinheit des anfordernden Kerns unter Berücksichtigung von Faktoren entschieden, zu denen der Verkehr und dergleichen gehören: – Ein kurzer Abstand führt zu weniger CPU-Kernen, durch die der Pfad zur Hauptarbeitsspeicher-Steuereinheit gelenkt wird. – Ein langer Abstand führt zu mehr CPU-Kernen, durch die der Pfad gelenkt wird und von denen der Pfad „abgelauscht” wird, wodurch die Wahrscheinlichkeit von Übereinstimmungen erhöht wird.
    • (2) Der CPU-Kern Y und der CPU-Kern Z „lauschen” Zugriffe ab. Wenn einer der CPU-Kerne entsprechende Daten aufweist, empfängt der CPU-Kern die Anforderung und sendet die Daten an den CPU-Kern X zurück, und danach sendet die Hauptarbeitsspeicher-Steuereinheit den Inhalt der Anforderung mit einem daran angebrachten Merker zurück, um anzuzeigen, dass der CPU-Kern selbst wünscht, die Verarbeitung auszuführen. Nach dem Empfang aktualisiert die Hauptarbeitsspeicher-Steuereinheit das Zugriffsverlaufsprotokoll des Cachespeichers. Wenn beispielsweise der CPU-Kern Z die entsprechenden Daten aufweist, sendet der CPU-Kern Z die Daten an die CPU X zurück.
    • (3) Wenn der CPU-Kern Y und der CPU-Kern Z die angeforderten entsprechenden Daten nicht aufweisen, empfängt die Hauptarbeitsspeicher-Steuereinheit die Anforderung. Die Hauptarbeitsspeicher-Steuereinheit nimmt Bezug auf das Zugriffsverlaufsprotokoll, d. h., sie nimmt Bezug auf ein Protokoll der Arbeitsspeicherzugriffe jedes CPU-Kerns, um zu überprüfen, ob die CPU-Kerne A bis W an gegenüberliegenden Busseiten (zweiter Pfad) entsprechende Adressdaten in ihren Cachespeichern aufweisen.
    • (4) Beispielsweise sei angenommen, dass das Zugriffsverlaufsprotokoll angibt, dass der CPU-Kern B entsprechende Daten in seinem Cachespeicher aufweist. In diesem Fall sendet die Hauptarbeitsspeicher-Steuereinheit den Lesebefehl an die Cachespeicher-Steuereinheit von CPU-Kern B anstelle der Leseanforderung von CPU-Kern X. Von der Cachespeicher-Schnittstelle von CPU-Kern B aus betrachtet sieht das so aus, als ob der CPU-Kern B die Leseanforderung direkt vom CPU-Kern X empfangen habe.
    • (5) Die Cachespeicher-Steuereinheit von CPU-Kern B sendet die Adressdaten an CPU-Kern X. Der CPU-Kern X empfängt Informationen vom CPU-Kern B als Daten als Antwort auf den Lesebefehl, der an die Hauptarbeitsspeicher-Steuereinheit ausgegeben wurde.
  • 5 zeigt den Inhalt des Zugriffsverlaufsprotokolls jedes Kerns, das in einer Hauptarbeitsspeicher-Steuereinheit gehalten wird. Dieses Verlaufsprotokoll wird von der Hauptarbeitsspeicher-Steuereinheit gehalten, um aufzuzeichnen, ob jeder der Kerne A bis Z Daten an der Adresse des Hauptarbeitsspeichers (Adressdaten) in seinem Cachespeicher enthält. Die Adressdaten weisen normalerweise eine feste Länge auf. Wenn ein Schreibmerker gleich „Y” („Ja”) ist, bedeutet dies, dass Anforderungsdaten in den anfordernden Kern X geschrieben wurden. Zu dieser Zeit „lauscht” die Cachespeicher-Schnittstelle von Kern B die Transaktionen auf dem Ringbus ab, um zu bestätigen, dass Kern B selbst die Adressdaten von Kern X enthält. Da Kern B direkt auf die Leseanforderung von Kern X antwortet, kann der Eingriff der Hauptarbeitsspeicher-Steuereinheit entfallen, wodurch die Leseleistung verbessert wird. Nachdem Kern B das Verarbeiten zum Senden von Daten an den anfordernden Kern X abgeschlossen hat, aktualisiert die Hauptarbeitsspeicher-Steuereinheit das Zugriffsverlaufsprotokoll.
  • In Schritt 3 von 4 prüft die Hauptarbeitsspeicher-Steuereinheit in einer Zugriffsverlaufstabelle, ob ein beliebiger der Cachespeicher der Kerne A bis W auf der gegenüberliegenden Seite des Bus die angeforderten Daten enthält. Durch Bezugnahme auf die Zugriffsverlaufstabelle kann die Hauptarbeitsspeicher-Steuereinheit früher in der Mitte des zweiten Pfads bestätigen, dass der Cachespeicher von Kern B Adressdaten 01 enthält. Die Steuereinheit sendet die Leseanforderung und einen Befehl an Kern B, Daten an Kern X zu senden.
  • Die Merkmale der vorliegenden Erfindung sind wie folgt: Zunächst wird, da das direkte Lesen in jedem Cachespeicher selbst statt in jedem CPU-Kern ermöglicht wird, keine Belastung auf jede CPU ausgeübt. Da jeder Kern an dem Bus zum Hauptarbeitsspeicher „lauscht” und direkt Daten zurücksendet, können durch den Ringbus fließende Transaktionen entfallen, wodurch eine Verkehrsüberlastung vermieden wird. Weiterhin kann, wenn die Hauptarbeitsspeicher-Steuereinheit ein Lesen im Cachespeicher eines anderen Kerns ausführt, da die Antwort direkt an den anfordernden Kern übergeben wird, sogar die Anzahl der Transaktionen über die Hauptarbeitsspeicher-Steuereinheit verringert werden. Mit anderen Worten: Die Anzahl der Transaktionen ist kleiner als diejenige durch ein Verfahren, bei dem die Seite der Hauptarbeitsspeicher-Steuereinheit einmalig ein Lesen aus dem Cachespeicher jedes CPU-Kerns ausführt und nach dem Empfangen von Daten die gelesenen Daten an die CPU zurücksendet.
  • In einem Mehrkern-CPU-System der vorliegenden Erfindung kann die Überlastung des Verkehrs zur Hauptarbeitsspeicher-Steuereinheit, auf der die Anzahl der Zugriffe als hoch vorausgesehen wird, vermieden werden. Es ist vorgesehen, dass, je höher die Anzahl von CPU-Kernen ist, desto größer die Wirkung der vorliegenden Erfindung ist. Beispielsweise wird ein CPU-Gestaltungsplan als Mehrkern-CPU mit 128 Kernen oder dergleichen als Power-PC-Architektur vorgeschlagen. Gemäß der vorliegenden Erfindung wird die Wirkung in einer Mehrkernarchitektur angewendet, in der die Anzahl der Kerne besonders groß ist.
  • Bezugszeichenliste
  • 1
    Cachespeicher-Schnittstelle
    2
    Lese-/Schreibschnittstelle zum Hauptarbeitsspeicher
    5
    Ringbus
    6
    CPU-Kern
    7
    Hauptarbeitsspeicher-Steuereinheit
    8
    Zugriffsverlaufsprotokoll
    9
    Logik
    10
    Hauptarbeitsspeicher (Realspeicher)
    11
    Cachespeicher oder Cachespeicher-Steuereinheit
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2006-244460 [0009]
    • JP 2009-176179 [0009]

Claims (7)

  1. Mehrkernsystem, in dem ein Kern (anfordernder Kern) eine Leseanforderung nach in einem Arbeitsspeicher vorhandenen Daten ausführt, aufweisend: einen Arbeitsspeicher; eine Hauptarbeitsspeicher-Steuereinheit zum Verbinden des Arbeitsspeichers mit einem Ringbus; und eine Vielzahl von mit dem Ringbus verbundenen Kernen, wobei jeder der Kerne weiterhin eine Cachespeicher-Schnittstelle und eine Cachespeicher-Steuereinheit zum Steuern der Schnittstelle beinhaltet, und die Cachespeicher-Steuereinheit jedes mit dem Ringbus verbundenen Kerns ausführt: einen Schritt des Snoopings von Daten in der Anforderung über die Cachespeicher-Schnittstelle; und wenn der Cachespeicher des Kerns die Daten enthält, einen Schritt des Steuerns des Kerns, um die Anforderung zu empfangen und die Daten an den anfordernden Kern zurückzusenden; oder wenn der Cachespeicher des Kerns die Daten nicht enthält, führt die Hauptarbeitsspeicher-Steuereinheit einen Schritt des Lesens der Daten aus dem Arbeitsspeicher und des Sendens der Daten an den anfordernden Kern aus.
  2. Mehrkernsystem, in dem ein Kern (anfordernder Kern) eine Leseanforderung nach in einem Arbeitsspeicher vorhandenen Daten ausführt, aufweisend: einen Speicher; eine Hauptarbeitsspeicher-Steuereinheit zum Verbinden des Arbeitsspeichers mit einem Ringbus; und eine Vielzahl von mit dem Ringbus verbundenen Kernen, wobei jeder der Kerne weiterhin eine Cachespeicher-Schnittstelle und eine Cachespeicher-Steuereinheit zum Steuern der Schnittstelle beinhaltet, die Hauptarbeitsspeicher-Steuereinheit weiterhin ein Cachespeicher-Verlaufsprotokoll aller Kerne beinhaltet, und als Antwort auf die Anforderung, die in einer vorgegebenen Pfadrichtung von dem anfordernden Kern zu der Hauptarbeitsspeicher-Steuereinheit fließt, führt die Cachespeicher-Steuereinheit jedes mit dem Ringbus verbundenen Kerns aus: einen Schritt des Snoopings von Daten in der Anforderung über die Cachespeicher-Schnittstelle; und wenn der Cachespeicher des in der vorgegebenen Pfadrichtung verbundenen Kerns die Daten enthält, einen Schritt des Steuerns des Kerns, um die Anforderung zu empfangen und die Daten an den anfordernden Kern zurückzusenden; oder wenn der Cachespeicher des in der vorgegebenen Pfadrichtung verbundenen Kerns die Daten nicht enthält, nimmt die Hauptarbeitsspeicher-Steuereinheit auf das Verlaufsprotokoll jedes Kerns Bezug, und wenn ein beliebiger mit dem Ringbus in einer zur vorgegebenen Pfadrichtung entgegengesetzten Pfadrichtung entsprechende Daten enthält, führt die Hauptarbeitsspeicher-Steuereinheit aus: einen Schritt des Sendens der Anforderung an den Cachespeicher des Kerns und des Veranlassens der Cachespeicher-Steuereinheit des Kerns, die in dem Cachespeicher gehaltenen Daten an den anfordernden Kern zu senden; oder wenn kein Kern, der mit dem Ringbus in der zur vorgegebenen Pfadrichtung entgegengesetzten Pfadrichtung verbunden ist, entsprechende Daten enthält, einen Schritt des Lesens der Daten aus dem Arbeitsspeicher und des Sendens der Daten an den anfordernden Kern.
  3. Mehrkernsystem nach Anspruch 2, wobei das Verlaufsprotokoll für jeden der Kerne einen Merker beinhaltet, der ein Halten von Daten an einer Adresse des Arbeitsspeichers anzeigt, und einen Schreibmerker zu einem anderen Kern.
  4. Mehrkernsystem nach Anspruch 3, wobei die Cachespeicher-Steuereinheit als vorgegebene Pfadrichtung eine Pfadrichtung mit einer größeren Zahl von Kernen auswählt, die in zwei Pfadrichtungen vom anfordernden Kern aus mit der Hauptarbeitsspeicher-Steuereinheit verbunden sind.
  5. Mehrkernsystem nach Anspruch 4, wobei die Cachespeicher-Steuereinheit auf das Verlaufsprotokoll Bezug nimmt, um einen Verkehr des Ringbus anhand des Merkers für gehaltene Daten zu berechnen und eine Pfadrichtung mit weniger Verkehr als in der vorgegebenen Datenrichtung auszuwählen.
  6. Mehrkernsystem nach Anspruch 5, wobei die Cachespeicher-Steuereinheit auf das Verlaufsprotokoll Bezug nimmt, um das Vorhandensein der Daten in einem Kern zu prüfen, der mit einem Pfad entgegengesetzt zu dem in der vorgegebenen Pfadrichtung verbunden ist.
  7. Verfahren des Veranlassens eines Kerns (anfordernder Kern) in einer Mehrkern-CPU des Ringbustyps, Daten zu lesen, die in einem Arbeitsspeicher vorhanden sind, bei dem die Mehrkern-CPU einen Arbeitsspeicher, eine Hauptarbeitsspeicher-Steuereinheit zum Verbinden des Arbeitsspeichers mit einem Ringbus und eine Vielzahl von mit dem Ringbus verbundenen Kernen beinhaltet, und jeder der Kerne weiterhin eine Cachespeicher-Schnittstelle und eine Cachespeicher-Steuereinheit zum Steuern der Schnittstelle beinhaltet und die Hauptarbeitsspeicher-Steuereinheit weiterhin ein Verlaufsprotokoll von in allen Kernen gehaltenen Daten beinhaltet; und als Antwort auf die Anforderung, die in einer vorgegebenen Pfadrichtung von dem anfordernden Kern zu der Steuereinheit fließt, die Cachespeicher-Steuereinheit jedes mit dem Ringbus verbundenen Kerns beinhaltet: einen Schritt des Snoopings von Daten an der Leseanforderung über die Cachespeicher-Schnittstelle; und wenn der Cachespeicher des in der Pfadrichtung verbundenen Kerns die Daten enthält, einen Schritt des Steuerns des Kerns, um die Anforderung zu empfangen und die Daten an den anfordernden Kern zurückzusenden; oder wenn der Cachespeicher des in der Pfadrichtung verbundenen Kerns die Daten nicht enthält, nimmt die Hauptarbeitsspeicher-Steuereinheit auf das Verlaufsprotokoll jedes Kerns Bezug, und wenn ein beliebiger mit dem Ringbus in einer zur Pfadrichtung umgekehrten Pfadrichtung entsprechende Daten enthält, die Hauptarbeitsspeicher-Steuereinheit beinhaltet: einen Schritt des Sendens der Anforderung an den Kern und des Veranlassens der Cachespeicher-Steuereinheit des Kerns, die in dem Cachespeicher gehaltenen Daten an den anfordernden Kern zu senden; oder wenn kein Kern, der mit dem Ringbus in der zur Pfadrichtung entgegengesetzten Pfadrichtung verbunden ist, entsprechende Daten enthält, einen Schritt des Lesens der Daten aus dem Arbeitsspeicher und des Sendens der Daten an den anfordernden Kern.
DE112011104329T 2010-12-09 2011-09-28 Mehrkernsystem und Verfahren zum Lesen der Kerndaten Withdrawn DE112011104329T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010274556 2010-12-09
JP2010-274556 2010-12-09
PCT/JP2011/072206 WO2012077400A1 (ja) 2010-12-09 2011-09-28 マルチコアシステム、及びそのコアのデータ読み出し方法

Publications (1)

Publication Number Publication Date
DE112011104329T5 true DE112011104329T5 (de) 2013-09-26

Family

ID=46200595

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112011104329T Withdrawn DE112011104329T5 (de) 2010-12-09 2011-09-28 Mehrkernsystem und Verfahren zum Lesen der Kerndaten

Country Status (5)

Country Link
US (1) US8918590B2 (de)
CN (1) CN103370696B (de)
DE (1) DE112011104329T5 (de)
GB (1) GB2499765B (de)
WO (1) WO2012077400A1 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012077400A1 (ja) 2010-12-09 2012-06-14 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチコアシステム、及びそのコアのデータ読み出し方法
WO2013084314A1 (ja) * 2011-12-07 2013-06-13 富士通株式会社 演算処理装置及び演算処理装置の制御方法
EP2790107A1 (de) * 2011-12-07 2014-10-15 Fujitsu Limited Verarbeitungseinheit und verfahren zur steuerung der verarbeitungseinheit
US20140201326A1 (en) 2013-01-16 2014-07-17 Marvell World Trade Ltd. Interconnected ring network in a multi-processor system
US20150006776A1 (en) * 2013-06-29 2015-01-01 Yen-Cheng Liu On-chip mesh interconnect
US10229043B2 (en) 2013-07-23 2019-03-12 Intel Business Machines Corporation Requesting memory spaces and resources using a memory controller
EP3063637A4 (de) 2013-10-31 2017-07-19 Intel Corporation Verfahren, vorrichtung und system zur dynamischen steuerung eines adressierungsmodus für einen cachespeicher
CN103902502B (zh) * 2014-04-09 2017-01-04 上海理工大学 一种可扩展的分离式异构千核系统
US9710381B2 (en) 2014-06-18 2017-07-18 International Business Machines Corporation Method and apparatus for cache memory data processing
US9696789B2 (en) * 2014-08-18 2017-07-04 Xilinx, Inc. Sub-system power management control
CN104268121B (zh) * 2014-09-23 2017-08-11 浪潮(北京)电子信息产业有限公司 超大规模芯片中访问寄存器的方法及系统
US9916179B2 (en) * 2015-10-29 2018-03-13 International Business Machines Corporation Interprocessor memory status communication
US10261827B2 (en) 2015-10-29 2019-04-16 International Business Machines Corporation Interprocessor memory status communication
US9563467B1 (en) 2015-10-29 2017-02-07 International Business Machines Corporation Interprocessor memory status communication
US9760397B2 (en) 2015-10-29 2017-09-12 International Business Machines Corporation Interprocessor memory status communication
US10691595B2 (en) * 2018-08-21 2020-06-23 Micron Technology, Inc. Cache in a non-volatile memory subsystem
CN109886395B (zh) * 2019-03-06 2020-11-24 上海熠知电子科技有限公司 一种面向多核图像处理卷积神经网络的数据读取方法
CN112559434B (zh) * 2019-09-25 2023-12-08 阿里巴巴集团控股有限公司 一种多核处理器及核间数据转发方法
CN113392604B (zh) * 2021-06-04 2023-08-01 中国科学院计算技术研究所 基于先进封装技术的多cpu共封架构下高速缓存的动态扩容方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006244460A (ja) 2005-02-01 2006-09-14 Seiko Epson Corp キャッシュメモリ及びプロセッサ
JP2009176179A (ja) 2008-01-28 2009-08-06 Nec Computertechno Ltd キャッシュコヒーレンシ制御方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1271561A (en) * 1986-07-02 1990-07-10 Jeffry M. Bram Instruction decoding microengines
JPH06314239A (ja) * 1993-04-28 1994-11-08 Hitachi Ltd プロセッサシステム
US6253292B1 (en) * 1997-08-22 2001-06-26 Seong Tae Jhang Distributed shared memory multiprocessor system based on a unidirectional ring bus using a snooping scheme
KR100319708B1 (ko) * 2000-02-11 2002-01-09 전주식 방향 분리 이중 링 구조의 분산된 공유 메모리 다중프로세서 시스템
JP3732397B2 (ja) * 2000-10-05 2006-01-05 株式会社日立製作所 キャッシュシステム
KR100856626B1 (ko) * 2002-12-24 2008-09-03 엘지노텔 주식회사 캐시 플러시 시스템 및 방법
US7069362B2 (en) * 2003-05-12 2006-06-27 International Business Machines Corporation Topology for shared memory computer system
US6988173B2 (en) * 2003-05-12 2006-01-17 International Business Machines Corporation Bus protocol for a switchless distributed shared memory computer system
CN1320464C (zh) * 2003-10-23 2007-06-06 英特尔公司 用于维持共享高速缓存一致性的方法和设备
US7676637B2 (en) * 2004-04-27 2010-03-09 International Business Machines Corporation Location-aware cache-to-cache transfers
US7769956B2 (en) * 2005-09-07 2010-08-03 Intel Corporation Pre-coherence channel
CN101008921A (zh) * 2007-01-26 2007-08-01 浙江大学 基于总线侦听的嵌入式异构多核缓存一致性方法
US7827391B2 (en) * 2007-06-26 2010-11-02 International Business Machines Corporation Method and apparatus for single-stepping coherence events in a multiprocessor system under software control
CN101452400B (zh) * 2007-11-29 2011-12-28 国际商业机器公司 处理多处理器系统中事务缓冲器溢出的方法和系统
US8554851B2 (en) * 2010-09-24 2013-10-08 Intel Corporation Apparatus, system, and methods for facilitating one-way ordering of messages
WO2012077400A1 (ja) 2010-12-09 2012-06-14 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチコアシステム、及びそのコアのデータ読み出し方法
JP5655696B2 (ja) * 2011-05-11 2015-01-21 富士通株式会社 ネットワーク及びその障害救済方法
US20130144626A1 (en) * 2011-12-04 2013-06-06 David Shau Rap music generation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006244460A (ja) 2005-02-01 2006-09-14 Seiko Epson Corp キャッシュメモリ及びプロセッサ
JP2009176179A (ja) 2008-01-28 2009-08-06 Nec Computertechno Ltd キャッシュコヒーレンシ制御方法

Also Published As

Publication number Publication date
GB2499765A (en) 2013-08-28
GB201311211D0 (en) 2013-08-14
US8918590B2 (en) 2014-12-23
US20120151152A1 (en) 2012-06-14
WO2012077400A1 (ja) 2012-06-14
CN103370696A (zh) 2013-10-23
CN103370696B (zh) 2016-01-20
GB2499765B (en) 2014-02-19

Similar Documents

Publication Publication Date Title
DE112011104329T5 (de) Mehrkernsystem und Verfahren zum Lesen der Kerndaten
DE102007030116B4 (de) Snoop-Filter mit ausschließlicher Inhaberschaft
DE69519816T2 (de) Anordnung mit Duplikat des Cache-Etikettenspeichers
DE69900797T2 (de) Cache-Speicherkohärenzprotokoll mit unabhängiger Implementierung von optimierten Cache-Speicheroperationen
DE69621311T2 (de) Cachespeicherkohärenzverfahren und-system
DE112012005210B4 (de) Bereitstellen eines gemeinsamen Caching-Agenten für ein Kern- und integriertes Ein-/Ausgabe-(IO)-Modul
DE69628127T2 (de) Verfahren und Gerät um die Kohärenz in einem Multiprozessorsystem anzuzeigen
DE102008016178B4 (de) Verfahren und System zum spekulativen Vorabruf in einer Mehrprozessor-/Mehrkern-Nachrichtenübermittlungsmaschine
DE10262164B4 (de) Computersystem mit einer hierarchischen Cacheanordnung
DE2241257C3 (de) Datenverarbeitende Anlage
DE102007006190B4 (de) Techniken zur Verwendung von Speicher-Attributen
DE102013114256B4 (de) Systeme und Verfahren zur Beibehaltung der Informationskohärenz
DE69706934T2 (de) Rechnersystem mit Speicherung der Speicheraktualisierungsgeschichte
DE112009000373T5 (de) Technik, um Information zwischen unterschiedlichen Kohärenz-Domains von Caches zu nutzen
DE102006032832A1 (de) Netzwerksystem und Verfahren zur Steuerung verteilter Speicher
DE112008002019T5 (de) Auslagern von Eingabe/Ausgabe (I/O)-Virtualisierungsarbeitsgängen an einem Prozessor
DE102008055892A1 (de) Abspeichern von Abschnitten eines Datenübertragungsdeskriptors in einem gecachten und einem nicht gecachten Adressbereich
DE102007048601A1 (de) Datenspeicherung in einem Schaltsystem, das mehrere Prozessoren eines Computersystems koppelt
DE112005003243T5 (de) System und Verfahren für die Cache-Kohärenz bei einem Cache mit unterschiedlichen Längen für die Cache-Orte
DE10316725A1 (de) Datenverwaltungsverfahren für ein Distributed Shared Memory-System
DE102013006396A1 (de) Eine grafikverarbeitungseinheit, in der eine standardverarbeitungseinheit verwendet ist, und ein verfahren zum aufbau einer grafikverarbeitungseinheit
DE112012003462T5 (de) Durchführung einer atomaren Operation ohne Stilllegung einer Verbindungsstruktur
DE112014000340T5 (de) Vorablesezugriff auf Daten für einen Chip mit einem übergeordneten Kern und einem Scout-Kern
DE102018005759A1 (de) Verbinden von beschleunigerressourcen unter verwendung einesswitches
DE102021108294B4 (de) System und verfahren für skalierbare hardware-kohärente speicherknoten

Legal Events

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