DE112022004300T5 - Informationsverarbeitungsvorrichtung und informationsverarbeitungsverfahren - Google Patents

Informationsverarbeitungsvorrichtung und informationsverarbeitungsverfahren Download PDF

Info

Publication number
DE112022004300T5
DE112022004300T5 DE112022004300.8T DE112022004300T DE112022004300T5 DE 112022004300 T5 DE112022004300 T5 DE 112022004300T5 DE 112022004300 T DE112022004300 T DE 112022004300T DE 112022004300 T5 DE112022004300 T5 DE 112022004300T5
Authority
DE
Germany
Prior art keywords
lock
cpu
data
cache
information processing
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.)
Pending
Application number
DE112022004300.8T
Other languages
English (en)
Inventor
Yuuichi Nakamura
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.)
Sony Group Corp
Original Assignee
Sony Group 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 Sony Group Corp filed Critical Sony Group Corp
Publication of DE112022004300T5 publication Critical patent/DE112022004300T5/de
Pending 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/0808Multiuser, multiprocessor or multiprocessing cache systems with cache invalidating 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
    • 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

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)

Abstract

Eine Informationsverarbeitungsvorrichtung (100) umfasst mehrere CPUs (1), mehrere Cache-Speicher (2), die den mehreren CPUs zugeordnet sind; und einen Hauptspeicher, wobei jede der mehreren CPUs (1) eine Sperre für exklusiven Zugriff auf Daten im Hauptspeicher beschafft und dann auf die Daten zugreift, Daten in Bezug auf den Zugriff einer entsprechenden CPU und eine Sperr-ID zum Spezifizieren der Sperre in Bezug auf den Zugriff zugeordnet und in einer Cache-Linie jedes der mehreren Cache-Speicher geschrieben werden und eine Cache-Linie jedes der mehreren Cache-Speicher ausgeräumt wird, wenn eine andere CPU als die entsprechende CPU die auf der Basis der in die Cache-Linie geschriebenen Sperr-ID spezifizierte Sperre beschafft.

Description

  • Gebiet
  • Die vorliegende Offenbarung betrifft eine Informatiosverarbeitungsvorrichtung und ein Informationsverarbeitungsverfahren.
  • Hintergrund
  • Wie zum Beispiel in der Patentliteratur 1 und der Patentliteratur 2 beschrieben, gibt es bekannte Techniken dafür, dass mehrere CPUs auf denselben Speicher zugreifen und Datenverarbeitung durchführen, um eine Verarbeitungsgeschwindigkeit zu verbessern.
  • ZITATLISTE
  • Patentliteratur
  • Kurzfassung
  • Technisches Problem
  • Es ist erforderlich, Kohärenz (Cache-Kohärenz)zwischen Cache-Speichern jeweiliger CPUs aufrechtzuerhalten. Obwohl es zum Beispiel auch eine Technik gibt, dass eine Snooping-Einheit Datenzugriff jeder CPU überwacht, bleibt ein Problem im Hinblick auf eine Überwachungslast, mit dieser einhergehenden Stromverbrauch und dergleichen. Es werden immer noch Techniken zum Aufrechterhalten von Cache-Kohärenz benötigt.
  • Ein Aspekt der vorliegenden Offenbarung ermöglicht das Aufrechterhalten von Cache-Kohärenz. Problemlösung
  • Eine Informationsverarbeitungsvorrichtung gemäß einem Aspekt der vorliegenden Offenbarung umfasst mehrere CPUs, mehrere Cache-Speicher, die den mehreren CPUs zugeordnet sind; und einen Hauptspeicher, wobei jede der mehreren CPUs eine Sperre für exklusiven Zugriff auf Daten im Hauptspeicher beschafft und dann auf die Daten zugreift, Daten in Bezug auf den Zugriff einer entsprechenden CPU und eine Sperr-ID zum Spezifizieren der Sperre in Bezug auf den Zugriff zugeordnet und in einer Cache-Linie jedes der mehreren Cache-Speicher geschrieben werden und die Cache-Linie jedes der mehreren Cache-Speicher ausgeräumt wird, wenn eine andere CPU als die entsprechende CPU die auf der Basis der in die Cache-Linie geschriebenen Sperr-ID spezifizierte Sperre beschafft.
  • Ein Informationsverarbeitungsverfahren gemäß einem Aspekt der vorliegenden Offenbarung umfasst: in jeder von mehreren CPUs Beschaffen einer Sperre für exklusiven Zugriff auf Daten im Hauptspeicher und dann Zugreifen auf die Daten, Zuordnen und Schreiben von Daten in Bezug auf den Zugriff einer entsprechenden CPU und einer Sperr-ID zum Spezifizieren der Sperre in Bezug auf den Zugriff in einer Cache-Linie jedes der mehreren Cache-Speicher, die den mehreren CPUs zugeordnet sind; und Ausräumen der Cache-Linie jedes der mehreren Cache-Speicher, wenn eine andere CPU als die entsprechende CPU die auf der Basis der in die Cache-Linie geschriebenen Sperr-ID spezifizierte Sperre beschafft.
  • Kurze Beschreibung der Zeichnungen
    • 1 ist eine Ansicht eines Beispiels für eine schematische Ausgestaltung einer Informationsverarbeitungsvorrichtung gemäß einer Ausführungsform.
    • 2 ist eine Ansicht eines Beispiels für einen Betrieb der Informationsverarbeitungsvorrichtung.
    • 3 ist eine Ansicht eines Beispiels für den Betrieb der Informationsverarbeitungsvorrichtung.
    • 4 ist eine Ansicht eines Beispiels für den Betrieb der Informationsverarbeitungsvorrichtung.
    • 5 ist eine Ansicht eines Beispiels für den Betrieb der Informationsverarbeitungsvorrichtung.
    • 6 ist eine Ansicht eines Beispiels für den Betrieb der Informationsverarbeitungsvorrichtung.
    • 7 ist eine Ansicht eines Beispiels für den Betrieb der Informationsverarbeitungsvorrichtung.
    • 8 ist eine Ansicht eines Beispiels für den Betrieb der Informationsverarbeitungsvorrichtung.
    • 9 ist eine Ansicht eines Beispiels für den Betrieb der Informationsverarbeitungsvorrichtung.
    • 10 ist ein Flussdiagramm eines Beispiels für Verarbeitung (Informationsverarbeitungsverfahren), die durch die Informationsverarbeitungsvorrichtung ausgeführt wird.
    • 11 ist eine Ansicht eines Beispiels für den Betrieb der Informationsverarbeitungsvorrichtung.
    • 12 ist eine Ansicht eines Beispiels für den Betrieb der Informationsverarbeitungsvorrichtung.
    • 13 ist eine Ansicht eines Beispiels für den Betrieb der Informationsverarbeitungsvorrichtung.
    • 14 ist eine Ansicht eines Beispiels für den Betrieb der Informationsverarbeitungsvorrichtung.
    • 15 ist ein Flussdiagramm eines Beispiels für Verarbeitung (Informationsverarbeitungsverfahren), die durch die Informationsverarbeitungsvorrichtung ausgeführt wird.
    • 16 ist eine Ansicht eines Beispiels für eine Sperr-ID zum Spezifizieren mehrerer Sperren.
  • Beschreibung der Ausführungsformen
  • Im Folgenden wird hier eine Ausführungsform der vorliegenden Offenbarung unter Bezugnahme auf die Zeichnungen ausführlich beschrieben. Man beachte, dass dieselben Komponenten dieselben Bezugszahlen erhalten und in jeder folgenden Ausführungsform redundante Beschreibung weggelassen wird.
  • Ferner wird die vorliegende Offenbarung in der Reihenfolge der nachfolgend beschriebenen Posten beschrieben.
    • 1. Ausführungsform
    • 2. Modifiziertes Beispiel
    • 2.1 Erstes modifiziertes Beispiel
    • 2.2 Zweites modifiziertes Beispiel
    • 2.3 Anderes
    • 3. Beispiel für Effekt
  • 1. Ausführungsform
  • 1 ist eine Ansicht eines Beispiels für eine schematische Ausgestaltung einer Informationsverarbeitungsvorrichtung gemäß einer Ausführungsform. Eine Informationsverarbeitungsvorrichtung 100 umfasst mehrere CPUs 1, mehrere Cache-Speicher 2, die den mehreren CPUs 1 zugeordnet sind, einen Hauptspeicher 3 und ein Semaphorregister 4.
  • Die mehreren CPUs 1 greifen jeweils auf Daten im Hauptspeicher 3 zu. Es kann auch gesagt werden, dass sich die mehreren CPUs 1 den Hauptspeicher 3 teilen (gemeinsam verwenden). Die CPU 1 führt Datenverarbeitung und dergleichen durch Betrieb gemäß einem Programm (Software) aus. Die mehreren CPUs 1 verarbeiten dieselben Daten parallel, um eine Verarbeitungsgeschwindigkeit zu verbessern. Daten können auch als Datenstruktur aufgefasst werden, und die Daten können ohne Widerspruch je nach Fall als Datenstruktur in einem Bereich gelesen werden. 1 zeigt die zwei CPUs 1 als die mehreren CPUs 1. Die CPUs 1 werden als CPU 1-1 und CPU 1-2 bezeichnet, um Unterscheidung jeder CPU 1 zu ermöglichen.
  • Jeder der mehreren Cache-Speicher 2 ist jeder der mehreren CPUs 1 zugeordnet. Der Cache-Speicher 2, der der CPU 1-1 zugeordnet ist, und auf den die CPU 1-1 Datenzugriff durchführt, ist auf einen Cache-Speicher 2-1 bezogen und als dieser veranschaulicht. Der Cache-Speicher 2, der der CPU 1-2 zugeordnet ist, und die CPU 1-2, die darauf Datenzugriff durchführt, ist auf einen Cache-Speicher 2-2 bezogen und als dieser veranschaulicht. Es kann auch gesagt werden, dass die CPU 1 den entsprechenden Cache-Speicher 2 umfasst (verwendet). Eine Datenzugriffsgeschwindigkeit der CPU 1 auf den Cache-Speicher 2 ist schneller als eine Datenzugriffsgeschwindigkeit der CPU 1 auf den Hauptspeicher 3.
  • Man beachte, dass die Informationsverarbeitungsvorrichtung 100, in der jeder der mehreren CPUs 1 den Cache-Speicher 2 umfasst und sich den Hauptspeicher 3 teilt, wie oben beschrieben, und die Daten im Hauptspeicher 3 parallel verarbeitet, auch als System der symmetrischen Mehrfachverarbeitung (SMP) oder dergleichen bezeichnet wird.
  • Der Cache-Speicher 2 hält Daten in Bezug auf Zugriff der entsprechenden CPU 1 auf den Hauptspeicher 3. Die Daten in Bezug auf den Zugriff umfassen Daten, die als Ergebnis des Zugriffs aus dem Hauptspeicher 3 gelesen werden. Die Daten in Bezug auf den Zugriff können auch als Daten aufgefasst werden, die durch die CPU 1 verarbeitet (z. B. umgeschrieben) werden, nachdem sie gelesen wurden. In dem in 1 dargestellten Beispiel umfasst der Cache-Speicher 2 einen Anweisung-Cache 21 und einen Daten-Cache 22.
  • Der Anweisung-Cache 21 hält intern Anweisungen für die CPU 1. Die Anweisung wird manchmal aus dem Hauptspeicher 3 gelesen, wird aber in dem Hauptspeicher 3 nicht umgeschrieben oder überschrieben.
  • Daten in dem Anweisung-Cache 21 werden als Cache-Daten 21a bezeichnet und dargestellt. Als Reaktion auf Datenzugriff der entsprechenden CPU 1 auf den Hauptspeicher 3 werden einen Tag in Bezug auf den Zugriff und Anweisungsdaten in Bezug auf den Zugriff zugeordnet und in einer Cache-Linie der Cache-Daten 21a geschrieben. Das Tag in Bezug auf den Zugriff umfasst Informationen (z. B. einen Adressenwert) einer Adresse oder dergleichen in dem Hauptspeicher 3, auf den zugegriffen wird.
  • Der Daten-Cache 22 hält intern Daten, die ein Verarbeitungsziel der CPU 1 sein können. Die Daten werden nicht nur aus dem Hauptspeicher 3 gelesen, sondern auch in dem Hauptspeicher 3 umgeschrieben oder überschrieben.
  • Daten in dem Daten-Cache 22 werden als Cache-Daten 22a bezeichnet und dargestellt. Als Reaktion auf Datenzugriff der entsprechenden CPU 1 auf den Hauptspeicher 3 werden ein Tag in Bezug auf den Zugriff, Daten in Bezug auf den Zugriff und eine Sperr-ID zum Spezifieren einer Sperre in Bezug auf den Zugriff zugeordnet und in einer Cache-Linie der Cache-Daten 22a geschrieben. Die Sperre in Bezug auf den Zugriff ist eine Sperre, die beschafft wird, um Zugriff herzustellen. Einzelheiten der Sperre und der Sperr-ID werden später beschrieben.
  • Der Daten-Cache 22 umfasst ein ID-Setzregister 22b. Eine Sperr-ID wird auf das Setzregister 22b gesetzt (d.h. ein Wert wird darin geschrieben). Die auf das Setzregister 22b gesetzte Sperr-ID wird in die Cache-Linie der Cache-Daten 22a desselben Cache-Speichers 2 (des Cache-Speichers 2, der dieses ID-Setzregister 22b umfasst) zusammen mit dem Tag und den Daten in Bezug auf den Zugriff geschrieben.
  • Der Hauptspeicher 3 ist ein RAM (Direktzugriffspeicher), der für die mehreren CPUs 1 bereitgestellt wird. Man beachte, dass 1 Daten datA und Daten datB als Daten zeigt, die unter im Hauptspeicher 3 gespeicherten Daten ein Verarbeitungsziel der CPU 1 sein können.
  • Das Semaphorregister 4 führt exklusive Steuerung durch eine Semaphore durch. Das Semaphorregister 4 stellt eine Sperre für die CPU 1 zum exklusiven Zugriff auf Daten im Hauptspeicher 3 bereit. Die Sperre wird für jeden Zugriff bereitgestellt, um Zieldaten, wie etwa Zugriff auf die Daten datA und Zugriff auf die Daten datB, zu sperren. Bei der oben beschriebenen Sperr-ID handelt es sich um Identifikationsinformationen zum Spezifizieren einer Sperre. Die Sperr-ID wird auf der Basis einer Sperrnummer (z. B. Semaphornummer) bestimmt, die zusammen mit der Sperre bereitgestellt wird. Die Sperrnummer ist zum Beispiel ein Speicheradressenwert, an dem die Sperre existiert. Die Sperr-ID kann dieselbe wie die Sperrnummer oder von dieser verschieden sein.
  • Das Semaphorregister 4 ist ein Beispiel für einen exklusiven Steuermechanismus. Es können verschiedene andere exklusive Steuermechanismen außer dem Semaphorregister 4 verwendet werden. Ein anderes Beispiel für den exklusiven Steuermechanismus ist ein exklusiver Steuermechanismus, der dafür ausgelegt ist, exklusive Steuerung durch Spin-Sperre, exklusive Steuerung durch Mutex und dergleichen durchzuführen.
  • Die CPU 1 beschafft eine Sperre aus dem Semaphorregister 4 und greift dann auf Daten im Hauptspeicher 3 zu. Eine Sperr-ID zum Spezifizieren einer Sperre des Zugriffs wird auf das ID-Setzregister 22b des Cache-Speichers 2 gesetzt, der der CPU 1 zugeordnet ist, die Datenzugriff durchgeführt hat. Nur die CPU 1, die die Sperre beschafft hat, kann auf Sperr-Zieldaten zugreifen.
  • Nach dem Abschluss des Datenzugriffs gibt die CPU 1 die beschaffte Sperre frei. Die auf das ID-Setzregister 22b des Cache-Speichers 2, der der CPU 1 zugeordnet ist, gesetzte Sperr-ID wird gelöscht (ein Wert wird gelöscht). Die beliebige CPU 1 kann die freigegebene Sperre beschaffen und kann auf diese Sperre-Zieldaten zugreifen.
  • Jede der mehreren CPUs 1 umfasst den Cache-Speicher 2 und teilt den Hauptspeicher 3, und deshalb besteht ein Problem des Fehlens von Cache-Kohärenz. Wenn zum Beispiel die CPU 1-1 auf die Daten datA im Hauptspeicher 3 zugreift, werden die Daten datA in die Cache-Linie des Cache-Speichers 2-1 geschrieben. Nachfolgender Zugriff der CPU 1-1 auf die Daten datA erfolgt nicht auf die Daten datA im Hauptspeicher 3, sondern auf die in die Cache-Linie des Cache-Speichers 2-1 geschriebenen Daten datA.
  • Selbst wenn die CPU 1-2 die Daten datA im Hauptspeicher 3 umschreibt, werden die in die Cache-Linie des Cache-Speichers 2-1 geschriebenen Daten datA nicht umgeschrieben. Die CPU 1-1 greift immer noch auf die in die Cache-Linie des Cache-Speichers 2-1 geschriebenen Daten datA (die Daten datA vor dem Umschreiben) zu.
  • Um ein solches Fehlen von Cache-Kohärenz zu vermeiden und Cache-Kohärenz aufrechtzuerhalten, ist es notwendig, in die Cache-Linie geschriebene Daten auszuräumen. Ausräumung kann auch als Löschung von in einer Cache-Linie geschriebenen Daten und Überschreiben (Rückschreiben) dieser Daten im Hauptspeicher 3 aufgefasst werden.
  • In der Informationsverarbeitungsvorrichtung 100 gemäß der Ausführungsform wird die Sperr-ID in die Cache-Linie des Daten-Cache 22 des Cache-Speichers 2 wie oben beschrieben geschrieben. Die Cache-Linie wird unter Verwendung der geschriebenen Sperr-ID ausgeräumt. Spezieller wird die Cache-Linie des Daten-Cache 22 jedes der mehreren Cache-Speicher 2 ausgeräumt, wenn die andere CPU 1 als die entsprechende CPU 1 eine auf der Basis der in die Cache-Linie geschriebenen Sperr-ID spezifizierte Sperre beschafft.
  • Zum Beispiel wird eine Ausräumanweisung zum Geben einer Anweisung bezüglich Ausräumen der Cache-Linie, in die eine Sperr-ID geschrieben wurde, die der Sperr-ID der Sperre zugeordnet ist, die durch die CPU 1 beschafft wurde, zu der anderen CPU 1 als der CPU 1, die die Sperre beschafft hat, gesendet. Ein Beispiel für die entsprechende Sperr-ID ist dieselbe Sperr-ID. Ein anderes Beispiel für die entsprechende Sperr-ID ist eine überlappende Sperr-ID mindestens eines Teils von Sperren unter mehreren spezifizierten Sperren und wird später mit Bezug auf 16 beschrieben. Die CPU 1, die die Ausräumanweisung empfangen hat, räumt unter den Cache-Linien des Daten-Cache 22 des entsprechenden Cache-Speichers 2 die Cache-Linie aus, in die die entsprechende Sperr-ID geschrieben wurde. Dies wird spezieller unter Bezugnahme auf 2 bis 9 beschrieben.
  • 2 bis 9 sind Ansichten von Beispielen für einen Betrieb der Informationsverarbeitungsvorrichtung. 2 zeigt schematisch, dass die CPU 1-1 eine Sperre beschafft und eine Sperr-ID setzt. Die CPU 1-1 beschafft die Sperre für exklusiven Zugriff auf die Daten datA im Hauptspeicher 3. Wie durch den weißen Pfeil angegeben, beschafft die CPU 1-1 die Sperre aus dem Semaphorregister 4. Außerdem wird eine Sperr-Nummer beschafft. Die auf der Basis dieser Sperr-Nummer bestimmte Sperr-ID wird als eine Sperr-ID „idA“ bezeichnet. Wie durch den schwarzen Pfeil angegeben, setzt die CPU 1-1, die die Sperre beschafft hat, die Sperr-ID „idA“ auf das ID-Setzregister 22b des Cache-Speichers 2-1. Die Daten datA im Hauptspeicher 3 werden gesperrt, um es nur der CPU 1-1 zu ermöglichen, auf die Daten datA zuzugreifen.
  • 3 zeigt schematisch, dass die CPU 1-1 eine Ausräumanweisung angibt. Die CPU 1-1, die die Sperre beschafft hat, weist die andere CPU 1 als die eigene CPU, das heißt, die CPU 1-2 in diesem Beispiel, an, Ausräumen durchzuführen. Eine Ausräumanweisung zum Geben einer Anweisung bezüglich Ausräumen wird von der CPU 1-1 zu der CPU 1-2 gesendet. In diesem Beispiel ist das Ausräumziel eine Cache-Linie, in der dieselbe Sperr-ID wie die Sperr-ID „idA“, die auf das ID-Setzregister 22b des Cache-Speichers 2-1 gesetzt ist, geschrieben wurde. Zu einem Zeitpunkt in 3 gibt es keine Cache-Linie, in der die Sperr-ID „idA“ in dem Daten-Cache 22 des Cache-Speichers 2-2, der der CPU 1-2 zugeordnet ist, geschrieben wurde. Daher wird Ausräumen nicht durchgeführt.
  • 4 zeigt schematisch, dass die CPU 1-1 Datenzugriff durchführt. Wie durch den weißen Pfeil angegeben, greift die CPU 1-1 auf die Daten datA im Hauptspeicher 3 zu. Ein Tag „tagA“ im Bezug auf den Zugriff auf die Daten datA, die Daten datA und die Sperr-ID „idA“ werden zugeordnet und in die Cache-Linie des Daten-Cache 22 des Cache-Speichers 2-1 geschrieben.
  • 5 zeigt schematisch, dass die CPU 1-1 die Sperre freigibt. Wie durch den schwarzen Pfeil angegeben, löscht die CPU 1-1 die auf das ID-Setzregister 22b des Cache-Speichers 2-1 gesetzte Sperr-ID (löscht den Wert). Die Daten datA im Hauptspeicher 3 werden freigegeben, um es der beliebigen CPU 1 zu ermöglichen, die Sperre zu beschaffen und auf die Daten datA zuzugreifen.
  • 6 zeigt schematisch, dass die CPU 1-2 die Sperre beschafft und eine Sperr-ID setzt. Die CPU 1-2 beschafft die Sperre für exklusiven Zugriff auf die im Hauptspeicher 3 gespeicherten Daten datA . Wie durch den weißen Pfeil angegeben, beschafft die CPU 1-2 die Sperre aus dem Semaphorregister 4. Außerdem wird eine Sperr-Nummer beschafft. Die Sperr-ID ist ähnlich wie oben die Sperr-ID „idA“. Wie durch den schwarzen Pfeil angegeben, setzt die CPU 1-2, die die Sperre beschafft hat, die Sperr-ID „idA“ auf das ID-Setzregister 22b des Cache-Speichers 2-2. Die Daten datA im Hauptspeicher 3 werden gesperrt, um es nur der CPU 1-2 zu ermöglichen, auf die Daten datA zuzugreifen.
  • 7 zeigt schematisch, dass die CPU 1-2 eine Ausräumanweisung angibt. Die CPU 1-2, die die Sperre beschafft hat, weist die andere CPU 1 als die eigene CPU, das heißt, die CPU 1-1 in diesem Beispiel, an, Ausräumen durchzuführen. Eine Ausräumanweisung wird von der CPU 1-2 zu der CPU 1-1 gesendet. In diesem Beispiel ist das Ausräumziel eine Cache-Linie, in der dieselbe Sperr-ID wie die Sperr-ID „idA“, die auf das ID-Setzregister 22b des Cache-Speichers 2-2 gesetzt ist, geschrieben wurde. Die CPU 1-1, die die Ausräumanweisung empfangen hat, räumt die Cache-Linie des Daten-Cache 22 des Cache-Speichers 2-1, worin die Sperre-ID „idA“ geschrieben wurde, aus, wie durch den schwarzen Pfeil angegeben.
  • 8 zeigt schematisch, dass die CPU 1-2 Datenzugriff durchführt. Wie durch den weißen Pfeil angegeben, greift die CPU 1-2 auf die Daten datA im Hauptspeicher 3 zu. Das Tag „tagA“ in Bezug auf den Zugriff auf die Daten datA, die Daten datA und die Sperr-ID „idA“ werden zugeordnet und in die Cache-Linie des Daten-Cache 22 des Cache-Speichers 2-2 geschrieben.
  • 9 zeigt schematisch, dass die CPU 1-2 die Sperre freigibt. Wie durch den schwarzen Pfeil angegeben, löscht die CPU 1-2 die auf das ID-Setzregister 22b des Cache-Speichers 2-2 gesetzte Sperr-ID. Die Daten datA im Hauptspeicher 3 werden freigegeben, um es der beliebigen CPU 1 zu ermöglichen, die Sperre zu beschaffen und auf die Daten datA zuzugreifen.
  • Zum Beispiel wird die Cache-Linie wie oben beschrieben ausgeräumt. Selbst wenn die Daten datA im Hauptspeicher 3 durch den vorherigen Datenzugriff der CPU 1-2 umgeschrieben werden, wird Ausräumen im Voraus durchgeführt, sodass die Daten datA vor dem Umschreiben nicht in dem der CPU 1-1 zugeordneten Cache-Speicher 2-1 bleiben. Danach führt, wenn die CPU 1-1 auf die Daten datA zugreift, die CPU 1-1 Datenzugriff auf den Hauptspeicher 3 anstelle des Cache-Speichers 2-1 durch, das heißt, greift auf die umgeschriebenen Daten datA zu. Folglich wird Cache-Kohärenz aufrechterhalten.
  • In der Informationsverarbeitungsvorrichtung 100 wird nur die Cache-Linie, in der die Sperr-ID zum Spezifizieren der Sperre geschrieben wurde, mit einem Timing zum Beschaffen der Sperre vor dem Datenzugriff ausgeräumt. Es besteht eine höhere Möglichkeit, dass es möglich ist, eine Überwachungslast und einen Stromverbrauch, der der Überwachungslast einhergeht, zum Beispiel verglichen mit einem Fall, bei dem eine Snooping-Einheit, die Datenzugriff andauernd überwacht, verwendet wird, zu verringern. Die Informationsverarbeitungsvorrichtung 100 eignet sich für Anbringung zum Beispiel an einer Vorrichtung des Internet der Dinge (IoT) oder dergleichen, wofür geringer Stromverbrauch erforderlich ist.
  • Weiterhin führt beim kontinuierlichen Zugreifen auf dieselben Daten dieselbe CPU 1 Datenzugriff auf den entsprechenden Cache-Speicher 2 durch, sodass es immer noch möglich ist, den Datenzugriff, der den Cache-Speicher 2 verwendet, zu beschleunigen.
  • 10 ist ein Flussdiagramm eines Beispiels für Verarbeitung (Informationsverarbeitungsverfahren), die durch die Informationsverarbeitungsvorrichtung ausgeführt wird. 10 zeigt gewisse Verarbeitung, die von einem Start des Datenzugriffs bis zu einem Ende des Datenzugriffs einer CPU 1 ausgeführt wird. Beschreibung von Inhalten, die sich mit denen in der obigen Beschreibung überlappen, wird gegebenenfalls weggelassen.
  • In Schritt S1 beschafft die CDU 1 aus dem Semaphorregister 4 eine Sperre für exklusiven Zugriff auf Daten im Hauptspeicher 3.
  • In Schritt S2 setzt die CPU 1 eine Sperr-ID zum Spezifizieren der Sperre auf das ID-Setzregister 22b des entsprechenden Cache-Speichers 2.
  • In Schritt S3 weist die CPU 1 die andere CPU 1 als die CPU 1 selbst (eigene CPU) an, Ausräumen durchzuführen. Das Ausräumungsziel ist eine Cache-Linie, in der zum Beispiel dieselbe Sperr-ID wie die im vorherigen Schritt S2 gesetzte Sperr-ID geschrieben wurde. Zum Beispiel wird eine Ausräumanweisung gesendet. Die CPU 1, die die Ausräumanweisung empfangen hat, räumt unter den Cache-Linien des Daten-Cache 22 des entsprechenden Cache-Speichers 2 die Cache-Linie aus, in der die entsprechende Sperr-ID geschrieben wurde.
  • In Schritt S4 greift die CPU 1 auf Daten im Hauptspeicher 3 zu. Als Reaktion auf den Datenzugriff werden ein Tag in Bezug auf den Zugriff, die Daten und die Sperr-ID zugeordnet und in die Cache-Linie des Daten-Cache 22 geschrieben.
  • In Schritt S5 löscht die CPU 1 die auf das ID-Setzregister 22b des entsprechenden Cache-Speichers 2 gesetzte Sperr-ID und gibt die Sperre frei.
  • 2. Modifiziertes Beispiel
  • Die eine Ausführungsform der offenbarten Technik wurde oben beschrieben. Die offenbarte Technik ist nicht auf die obige Ausführungsform beschränkt. Als Nächstes werden einige modifizierte Beispiele beschrieben.
  • 2.1 Erstes modifiziertes Beispiel
  • Einige Verarbeitung kann durch das Semaphorregister 4 anstelle der CPU 1 ausgeführt werden. Ein Teil der Verarbeitung wird durch die Hardware (Semaphorregister 4) ausgeführt, sodass es möglich ist, eine Verarbeitungslast von Software (CPU 1) zu verringern. Zum Beispiel besteht eine höhere Möglichkeit, dass es möglich ist, Verarbeitung zu beschleunigen.
  • Setzen einer Sperr-ID auf das ID-Setzregister 22b und eine Ausräumanweisung an die CPU 1 können durch das Semaphorregister 4 anstelle der CPU 1 erfolgen. Dies wird unter Bezugnahme auf 11 bis 15 beschrieben.
  • 11 bis 14 sind Ansichten von Beispielen für einen Betrieb der Informationsverarbeitungsvorrichtung. 11 zeigt schematisch, dass die CPU 1-1 eine Sperre beschafft und das Semaphorregister 4 eine Sperr-ID setzt. Ähnlich wie bei der oben beschriebenen 2 beschafft die CPU 1-1 die Sperre für exklusiven Zugriff auf die im Hauptspeicher 3 gespeicherten Daten datA . Außerdem wird eine Sperr-Nummer beschafft. Dagegen setzt in dem in 11 dargestellten Beispiel, wie durch den weißen Pfeil angegeben, nicht die CPU 1-1, sondern das Semaphorregister 4 die Sperr-ID „idA“ auf das ID-Setzregister 22b des Cache-Speichers 2-1, der der CPU 1-1 zugeordnet ist, die die Sperre beschafft hat.
  • 12 zeigt schematisch, dass die das Semaphorregister 4 eine Ausräumanweisung ausgibt. Im Gegensatz zu der oben beschriebenen 3 weist in dem in 12 dargestellten Beispiel nicht die CPU 1-1, die die Sperre beschafft hat, sondern das Semaphorregister 4 die andere CPU 1 als die CPU 1-1, die die Sperre beschafft hat, dass heißt, in diesem Beispiel die CPU 1-2, an, Ausräumen durchzuführen. Eine Ausräumanweisung wird von dem Semaphorregister 4 zu der CPU 1-2 gesendet. In diesem Beispiel ist ein Ausräumziel eine Cache-Linie, in der dieselbe Sperr-ID wie die Sperr-ID „idA“, die auf das ID-Setzregister 22b des Cache-Speichers 2-1 gesetzt ist, geschrieben wurde. Zu einem Zeitpunkt in 12 gibt es keine Cache-Linie, in der die Sperr-ID „idA“ in dem Daten-Cache 22 des Cache-Speichers 2-2, der der CPU 1-2 zugeordnet ist, geschrieben wurde. Daher wird Ausräumen nicht durchgeführt.
  • 13 zeigt schematisch, dass die CPU 1-2 eine Sperre beschafft und das Semaphorregister 4 eine Sperr-ID setzt. Ähnlich wie bei der oben beschriebenen 6 beschafft die CPU 1-2 die Sperre für exklusiven Zugriff auf die im Hauptspeicher 3 gespeicherten Daten datA . Dagegen setzt in dem in 13 dargestellten Beispiel, wie durch den weißen Pfeil angegeben, nicht die CPU 1-2, sondern das Semaphorregister 4 die Sperr-ID „idA“ auf das ID-Setzregister 22b des Cache-Speichers 2-1, der der CPU 1-2 zugeordnet ist.
  • 14 zeigt schematisch, dass die das Semaphorregister 4 eine Ausräumanweisung angibt. Im Gegensatz zu der oben beschriebenen 7 weist in dem in 14 dargestellten Beispiel nicht die CPU 1-2, die die Sperre beschafft hat, sondern das Semaphorregister 4 die andere CPU 1 als die CPU 1-2, die die Sperre beschafft hat, dass heißt, in diesem Beispiel die CPU 1-1, an, Ausräumen durchzuführen. Eine Ausräumanweisung wird von dem Semaphorregister 4 zu der CPU 1-1 gesendet. In diesem Beispiel ist das Ausräumziel eine Cache-Linie, in der dieselbe Sperr-ID wie die Sperr-ID „idA“, die auf das ID-Setzregister 22b des Cache-Speichers 2-2 gesetzt ist, geschrieben wurde. Die CPU 1-1, die die Ausräumanweisung empfangen hat, räumt die Cache-Linie des Daten-Cache 22 des Cache-Speichers 2-1, worin die Sperre-ID „idA“ geschrieben wurde, aus, wie durch den schwarzen Pfeil angegeben.
  • 15 ist ein Flussdiagramm eines Beispiels für Verarbeitung (Informationsverarbeitungsverfahren), die durch die Informationsverarbeitungsvorrichtung ausgeführt wird. 15 zeigt gewisse Verarbeitung, die von einem Start des Datenzugriffs bis zu einem Ende des Datenzugriffs der einen CPU 1 ausgeführt wird.
  • Verarbeitung in Schritt S11 ist dieselbe wie Schritt S1 in der oben beschriebenen 10. Die CPU 1 beschafft aus dem Semaphorregister 4 die Sperre für exklusiven Zugriff auf Daten im Hauptspeicher 3.
  • Obwohl es in 15 nicht dargestellt ist, wird dieselbe Verarbeitung wie die Verarbeitung in den Schritten S2 und S3 in der oben beschriebenen 10 durch das Semaphorregister 4 ausgeführt. Das Semaphorregister 4 setzt die Sperr-ID zum Spezifizieren der Sperre auf das ID-Setzregister 22b eines Cache-Speichers 2, der der CPU 1 zugeordnet ist, die die Sperre beschafft hat. das Semaphorregisters 4 weist die andere CPU 1 als die CPU 1 an, Ausräumen durchzuführen.
  • Verarbeitung in Schritt S12 ist dieselbe wie Schritt S4 in der oben beschriebenen 10. Die CPU 1 greift auf Daten im Hauptspeicher zu. Als Reaktion auf den Datenzugriff werden ein Tag in Bezug auf den Zugriff, die Daten und die Sperr-ID zugeordnet und in die Cache-Linie des Daten-Cache 22 geschrieben.
  • In Schritt S13 gibt die CPU 1 die Sperre frei. Obwohl es in 15 nicht dargestellt ist, löscht das Semaphorregister 4 die Sperr-ID, die auf das ID-Setzregister 22b des Cache-Speichers 2 gesetzt ist, der dieser CPU 1 zugeordnet ist.
  • 2.2 Zweites modifiziertes Beispiel
  • Um auf mehrere Datenposten im Hauptspeicher 3 zuzugreifen, können mehrere Sperren beschafft werden. Eine Sperr-ID wird zum Beispiel als ein Bitfeld zum Spezifizieren mehrerer Sperren angegeben. Dies wird spezieller unter Bezugnahme auf 16 beschrieben.
  • 16 ist eine Ansicht eines Beispiels für eine Sperr-ID zum Spezifizieren der mehreren Sperren. Eine Sperr-ID wird als das Bitfeld angegeben, das mehrere Bit umfasst. Man beachte, dass die Anzahl der Bit in dem in 16 dargestellten Beispiel acht ist und dennoch die Anzahl der Bit gemäß der Anzahl der Sperren oder dergleichen geeigneterweise gesetzt werden kann.
  • Jedes der mehreren Bit gibt an, ob eine entsprechende Sperre der mehreren Sperren beschafft wurde oder nicht. In diesem Beispiel gibt ein Bit „1“ an, dass die entsprechende Sperre beschafft wurde. Ein Bit „0“ gibt an, dass die entsprechende Sperre nicht beschafft wurde. Ein solches Bitfeld kann auch als 1 Bit-Flag bezeichnet werden.
  • Die mehreren Sperren sind jeweils einem Bit der mehreren Bits auf der Basis eines Hash-Werts jeder Sperr-Nummer zugeordnet. Zum Beispiel wird die Sperre einem Bit einer Bitnummer, die auf der Basis eines Hash-Werts dieser Sperr-Nummer bestimmt wird, zugeordnet.
  • In dem in 16 dargestellten Beispiel werden eine Sperre zum exklusiven Zugriff auf die Daten datA und eine Sperre zum exklusiven Zugriff auf die Daten datB beschafft. Die Sperr-Nummer jeder Sperre wird durch das Semaphorregister 4 bereitgestellt. Die Sperr-Nummer, die den Daten datA zugeordnet ist, ist schematisch als eine Sperr-Nummer „xxx“ dargestellt. Eine Sperr-Nummer, die den Daten datB zugeordnet ist, ist schematisch als eine Sperr-Nummer „yyy“ dargestellt.
  • Durch Hashen der Sperr-Nummer setzt die Hash-Einheit 5 ein Bit in dem Bitfeld auf „1“ (schaltet ein Flag ein). In diesem Beispiel setzt die Hash-Einheit 5 das zweite Bit auf „1“ durch Hashen der Sperr-Nummer „xxx“. Die Hash-Einheit 5 setzt das sechste Bit auf „1“ durch Hashen der Sperr-Nummer „yyy“. Das Bitfeld, das heißt, eine Sperr-ID „01000100“, die auf diese Weise erhalten wird, spezifiziert zwei Sperren der den Daten datA zugeordneten Sperre und der den Daten datB zugeordneten Sperre. Gemäß dem selben Prinzip können auch drei oder mehr Sperren spezifiziert werden.
  • Die Sperr-ID zum Spezifizieren der mehreren Sperren wird wie oben beschrieben auf das ID-Setzregister 22b eines Cache-Speichers 2 gesetzt. Das Subjekt, das die Einstellungen vornimmt, kann die oben beschriebene CPU 1 oder das Semaphorregister 4 sein oder kann die Hash-Einheit 5 sein.
  • Selbstverständlich kann die Hash-Einheit 5 auch eine Komponente der Informationsverarbeitungsvorrichtung 100 sein. Die Hash-Einheit 5 kann getrennt von der CPU 1 und dem Semaphorregister 4 bereitgestellt werden, oder die Funktion der Hash-Einheit 5 kann in die CPU 1 und das Semaphorregister 4 integriert werden.
  • Wie oben beschrieben, wird eine Anweisung über Ausräumen der Cache-Linie, in der die der Sperr-ID der durch die CPU 1 beschafften Sperre geschrieben wurde, gegeben. Falls die Sperr-ID die mehreren Sperren wie oben beschrieben spezifiziert, ist die entsprechende Sperr-ID eine überlappende Sperr-ID mindestens eines Teils von Sperren unter den mehreren zu spezifizierenden Sperren. Die Cache-Linie jedes der mehreren Cache-Speicher wird ausgeräumt, wenn die andere CPU 1 als die entsprechende CPU 1 die auf der Basis der in die Cache-Linie geschriebenen Sperr-ID vorgegebene Sperre beschafft. Folglich ist es, selbst wenn mehrere Sperren zum Zugreifen auf mehrere Datenposten im Hauptspeicher 3 beschafft werden, möglich, Cache-Kohärenz aufrechtzuerhalten.
  • 2.3 Anderes
  • Bei der obigen Ausführungsform wurden die zwei CPUs 1 der CPU 1-1 und der CPU 1-2 als ein Beispiel für die mehreren CPUs 1 beschrieben, die Anzahl der CPUs 1 kann jedoch drei oder mehr sein. Dasselbe gilt für die Anzahl der Cache-Speicher 2.
  • Wie oben beschrieben, können verschiedene bekannte Exklusive-Kontrolle-Mechanismen außer dem Semaphorregister 4 als der Exklusive-Kontrolle-Mechanismus verwendet werden.
  • Die Informationsverarbeitungsvorrichtung 100 wird zum Beispiel an einer elektronischen Vorrichtung oder dergleichen angebracht und verwendet. Ein Beispiel für die elektronische Vorrichtung ist eine Vorrichtung, wie etwa eine IoT-Vorrichtung, wofür niedriger Stromverbrauch erforderlich ist. die elektronische Vorrichtung, an der die Informationsverarbeitungsvorrichtung 100 angebracht ist, ist auch eine der Ausführungsformen.
  • 3. Beispiel für Effekt
  • Die oben beschriebene Technik wird zum Beispiel folgendermaßen spezifiziert. Eine der offenbarten Techniken ist die Informationsverarbeitungsvorrichtung 100. Wie mit Bezug auf 1 bis 16 beschrieben, umfasst die Informationsverarbeitungsvorrichtung 100 die mehreren CPUs 1, die mehreren Cache-Speicher 2, die den mehreren CPUs 1 zugeordnet sind, und den Hauptspeicher 3. Jede der mehreren CPUs 1 beschafft eine Sperre für exklusiven Zugriff auf Daten (z. B. die Daten datA und die Daten datB) im Hauptspeicher 3 und greift dann auf die Daten zu. In der Cache-Linie (des Daten-Cache 22) jedes der mehreren Cache-Speicher 2 werden die Daten in Bezug auf den Zugriff der entsprechenden CPU 1 und eine Sperr-ID zum Spezifizieren der Sperre in Bezug auf den Zugriff zugeordnet und geschrieben. Die Cache-Linie (des Daten-Cache 22) jedes der mehreren Cache-Speicher 2 wird ausgeräumt, wenn die andere CPU 1 als die entsprechende CPU 1 die auf der Basis der in die Cache-Linie geschriebenen Sperr-ID spezifizierte Sperre beschafft.
  • In der obigen Informationsverarbeitungsvorrichtung 100 werden die Daten in Bezug auf den Zugriff der entsprechenden CPU 1 und die Sperr-ID zum Spezifizieren der Sperre in Bezug auf den Zugriff zugeordnet und geschrieben. Die Cache-Linie wird ausgeräumt, wenn die andere CPU 1 als die entsprechende CPU 1 die auf der Basis der in die Cache-Linie geschriebenen Sperr-ID spezifizierte Sperre beschafft. Indem die Cache-Linie auf der Basis der Sperr-ID auf diese Weise ausgeräumt wird, ist es möglich, Cache-Kohärenz aufrechtzuerhalten.
  • Gemäß der obigen Informationsverarbeitungsvorrichtung 100 wird nur die Cache-Linie, in der die Sperr-ID zum Spezifizieren der Sperre geschrieben wurde, mit einem Timing zum Beschaffen der Sperre vor dem Datenzugriff ausgeräumt. Es besteht eine höhere Möglichkeit, dass es möglich ist, einen Stromverbrauch zum Beispiel verglichen mit einem Fall, bei dem eine Snooping-Einheit, die Datenzugriff andauernd überwacht, verwendet wird, zu verringern. Die Informationsverarbeitungsvorrichtung 100 kann zum Beispiel an einer elektronischen Vorrichtung, wie etwa einer IoT-Vorrichtung, angebracht werden, wofür geringer Stromverbrauch erforderlich ist. Es besteht eine höhere Möglichkeit, dass es möglich ist, Stromverbrauch der elektronischen Vorrichtung zu verringern.
  • Wie mit Bezug auf 3, 7, 12 und 14 und dergleichen beschrieben, kann eine Ausräumanweisung über Ausräumen der Cache-Linie, in die eine Sperr-ID geschrieben wurde, die der Sperr-ID der Sperre zugeordnet ist, die durch die CPU beschafft wurde, zu der anderen CPU 1 als der CPU 1, die die Sperre beschafft hat, gesendet werden. Zum Beispiel ist es möglich, eine Anweisung über Ausräumen auf diese Weise zu geben.
  • Wie mit Bezug auf 1, 2, 4, 6, 8, 11 und 13 und dergleichen beschrieben, kann jeder der mehreren Cache-Speicher 2 das ID-Setzregister 22b umfassen, auf die die Sperr-ID gesetzt wird, und die auf das ID-Setzregister 22b gesetzte Sperr-ID kann in der Cache-Linie (des Daten-Cache 22) desselben Cache-Speichers 2 geschrieben werden. Indem zum Beispiel dieses ID-Setzregister 22b verwendet wird, ist es möglich, die Sperr-ID in der Cache-Linie zu schreiben.
  • Wie mit Bezug auf 2 und 6 und dergleichen beschrieben, kann die CPU 1, die die Sperre beschafft hat, die Sperr-ID auf das ID-Setzregister 22b des entsprechenden Cache-Speichers 2 setzen. Ferner kann, wie mit Bezug auf 3 und 7 und dergleichen beschrieben, die CPU 1, die die Sperre beschafft hat, die andere CPU 1 als die eigene CPU anweisen, Ausräumen durchzuführen. Folglich ist es möglich, die Sperr-ID zu setzen und die Ausräumanweisung durch Softwareverarbeitung durchzuführen.
  • Wie mit Bezug auf 1, 11 und 13 und dergleichen beschrieben, kann die Informationsverarbeitungsvorrichtung 100 einen Exklusive-Kontrolle-Mechanismus (z. B. das Semaphorregister 4) umfassen, der eine Sperre bereitstellt, und der Exklusive-Kontrolle-Mechanismus kann die Sperr-ID auf das ID-Setzregister des Cache-Speichers setzen, der der CPU 1 zugeordnet ist, die die Sperre beschafft hat. Ferner kann, wie mit Bezug auf 12 und 14 und dergleichen beschrieben, der Exklusive-Kontrolle-Mechanismus die andere CPU 1 als die CPU 1, die die Sperre beschafft hat, anweisen, Ausräumen durchzuführen. Folglich ist es möglich, die Sperr-ID zu setzen und die Ausräumanweisung durch Hardwareverarbeitung durchzuführen.
  • Wie mit Bezug auf 16 und dergleichen beschrieben, kann die Sperr-ID als ein Bitfeld angegeben werden, dass mehrere Bit umfasst, um mehrere Sperren zu spezifizieren, und jedes der mehreren Bit kann angeben, ob eine entsprechende Sperre der mehreren Sperren beschafft wurde oder nicht. In diesem Fall können die mehreren Sperren einem Bit der mehreren Bits auf der Basis eines Hash-Werts jeder Sperr-Nummer zugeordnet werden. Folglich ist es, selbst wenn mehrere Sperren zum Zugreifen auf mehrere Datenposten im Hauptspeicher 3 beschafft werden, möglich, Cache-Kohärenz aufrechtzuerhalten.
  • das mit Bezug auf 10 und 15 und dergleichen beschriebene Informationsverarbeitungsverfahren ist auch eine der offenbarten Techniken. Das Informationsverarbeitungsverfahren umfasst in jeder von mehreren CPUs 1 Beschaffen einer Sperre für exklusiven Zugriff auf Daten (z. B. die Daten datA und die Daten datB) im Hauptspeicher 3 und dann Zugreifen auf die Daten (z. B. in den Schritten S1, S4, S11 und S12), Zuordnen und Schreiben von Daten in Bezug auf den Zugriff einer entsprechenden CPU 1 und einer Sperr-ID zum Spezifizieren der Sperre in Bezug auf den Zugriff in einer Cache-Linie jedes der mehreren Cache-Speicher, die den mehreren CPUs zugeordnet sind; und Ausräumen der Cache-Linie jedes der mehreren Cache-Speicher 2, wenn eine andere CPU 1 als die entsprechende CPU 1 die auf der Basis der in die Cache-Linie geschriebenen Sperr-ID spezifizierte Sperre beschafft (z. B. Schritt S3). Dieses Informationsverarbeitungsverfahren kann auch wie oben beschrieben Cache-Kohärenz aufrechterhalten.
  • Man beachte, dass der in der vorliegenden Offenbarung beschriebenen Effekt lediglich ein Beispiel ist nicht auf die offenbarten Inhalte beschränkt ist. Es kann andere Effekte geben.
  • Obwohl die Ausführungsformen der vorliegenden Offenbarung oben beschrieben wurde, ist der technische Schutzumfang der vorliegenden Offenbarung nicht auf die oben beschriebene Ausführungsformen per se beschränkt, und es können verschiedene Modifikationen vorgenommen werden, ohne vom Wesen der vorliegenden Offenbarung abzuweichen. Weiterhin können Komponenten gemäß verschiedenen Ausführungsformen und modifizierten Beispielen gegebenenfalls kombiniert werden.
  • Man beachte, dass die Technik gemäß der vorliegenden Offenbarung auch die folgenden Ausgestaltungen verwenden kann.
    • (1) Informationsverarbeitungsvorrichtung, die Folgendes umfasst:
      • mehrere CPUs;
      • mehrere Cache-Speicher, die den mehreren CPUs zugeordnet sind; und
      • einen Hauptspeicher, wobei
      • jede der mehreren CPUs eine Sperre für exklusiven Zugriff auf Daten im Hauptspeicher beschafft und dann auf die Daten zugreift,
      • Daten in Bezug auf den Zugriff einer entsprechenden CPU und eine Sperr-ID zum Spezifizieren der Sperre in Bezug auf den Zugriff zugeordnet und in einer Cache-Linie jedes der mehreren Cache-Speicher geschrieben werden und
      • die Cache-Linie jedes der mehreren Cache-Speicher ausgeräumt wird, wenn eine andere CPU als die entsprechende CPU die auf der Basis der in die Cache-Linie geschriebenen Sperr-ID spezifizierte Sperre beschafft.
    • (2) Informationsverarbeitungsvorrichtung nach (1), wobei eine Ausräumanweisung zum Geben einer Anweisung bezüglich Ausräumen der Cache-Linie, in die die Sperr-ID geschrieben wurde, die der Sperr-ID der Sperre zugeordnet ist, die durch die CPU beschafft wurde, zu der anderen CPU als der, die die Sperre beschafft hat, gesendet wird.
    • (3) Die Informationsverarbeitungsvorrichtung nach (1) oder (2), wobei jeder der mehreren Cache-Speicher ein ID-Setzregister umfasst, auf das eine Sperr-ID gesetzt wird, und die auf das ID-Setzregister gesetzte Sperr-ID in eine Cache-Linie eines selben Cache-Speichers geschrieben wird.
    • (4) Die Informationsverarbeitungsvorrichtung nach (3), wobei die CPU, die die Sperre beschafft hat, die Sperr-ID auf das ID-Setzregister eines entsprechenden Cache-Speichers setzt.
    • (5) Die Informationsverarbeitungsvorrichtung nach einem von (1) bis (4), wobei die CPU, die die Sperre beschafft hat, die andere CPU als die eigene CPU anweist, das Ausräumen durchzuführen.
    • (6) Die Informationsverarbeitungsvorrichtung nach (3) oder (5), das (3) anführt, wobei einen exklusiven Steuermechanismus, der eine Sperre bereitstellt, wobei der exklusive Steuermechanismus die Sperr-ID auf das ID-Setzregister eines Cache-Speichers setzt, der der CPU zugeordnet ist, die die Sperre beschafft hat.
    • (7) Die Informationsverarbeitungsvorrichtung nach einem von (1) bis (4), ferner umfassend:
      • einen exklusiven Steuermechanismus, der eine Sperre bereitstellt, wobei
      • der exklusive Steuermechanismus die andere CPU als die CPU, die die Sperre beschafft hat, anweist, das Ausräumen durchzuführen.
    • (8) Die Informationsverarbeitungsvorrichtung nach einem von (1) bis (7), wobei die Sperr-ID in einem Bitfeld angegeben ist, das mehrere Bit umfasst, um so mehrere Sperren vorzugeben, und jedes der mehreren Bits angibt, ob eine entsprechende Sperre der mehreren Sperren beschafft wurde.
    • (9) Die Informationsverarbeitungsvorrichtung nach einem von (8), wobei die mehreren Sperren einem Bit der mehreren Bits auf der Basis eines Hash-Werts jeder Sperrennummer zugeordnet sind. Informationsverarbeitungsvorrichtung nach einem von (1) bis (9), wobei die Informationsverarbeitungsvorrichtung an einer elektronischen Vorrichtung angebracht ist.
    • (11) Ein Informationsverarbeitungsverfahren, das Folgendes umfasst:
      • in jeder von mehreren CPUs Beschaffen einer Sperre für exklusiven Zugriff auf Daten im Hauptspeicher und dann Zugreifen auf die Daten;
      • Zuordnen und Schreiben von Daten in Bezug auf den Zugriff einer entsprechenden CPU und einer Sperr-ID zum Vorgeben der Sperre in Bezug auf den Zugriff in einer Cache-Linie jeder von mehrere Cache-Speichern, den mehreren CPUs zugeordnet sind; und
  • Ausräumen der Cache-Linie jedes der mehreren Cache-Speicher , wenn eine andere CPU als die entsprechende CPU die auf der Basis der in die Cache-Linie geschriebenen Sperr-ID vorgegebene Sperre beschafft.
  • BEZUGSZEICHENLISTE
  • 1
    CPU
    2
    Cache-Speicher
    21
    Anweisungs-Cache
    21a
    Cache-Daten
    22
    Daten-Cache
    22a
    Cache-Daten
    22b
    ID-Setzregister
    3
    Hauptspeicher
    4
    Semaphorregister (exklusive-Kontrolle-Mechanismus)
    5
    Hash-Einheit
    100
    Informationsverarbeitungsvorrichtung
  • 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 200711580 A [0002]
    • WO 2008155844 A [0002]

Claims (11)

  1. Informationsverarbeitungsvorrichtung, umfassend: mehrere CPUs; mehrere Cache-Speicher, die den mehreren CPUs zugeordnet sind; und einen Hauptspeicher, wobei jede der mehreren CPUs eine Sperre für exklusiven Zugriff auf Daten im Hauptspeicher beschafft und dann auf die Daten zugreift, Daten in Bezug auf den Zugriff einer entsprechenden CPU und eine Sperr-ID zum Spezifizieren der Sperre in Bezug auf den Zugriff zugeordnet und in einer Cache-Linie jedes der mehreren Cache-Speicher geschrieben werden und die Cache-Linie jedes der mehreren Cache-Speicher ausgeräumt wird, wenn eine andere CPU als die entsprechende CPU die auf der Basis der in die Cache-Linie geschriebenen Sperr-ID spezifizierte Sperre beschafft.
  2. Informationsverarbeitungsvorrichtung nach Anspruch 1, wobei eine Ausräumanweisung zum Geben einer Anweisung bezüglich Ausräumen der Cache-Linie, in die die Sperr-ID geschrieben wurde, die der Sperr-ID der Sperre zugeordnet ist, die durch die CPU beschafft wurde, zu der anderen CPU als der, die die Sperre beschafft hat, gesendet wird.
  3. Informationsverarbeitungsvorrichtung nach Anspruch 1, wobei jeder der mehreren Cache-Speicher ein ID-Setzregister umfasst, auf das eine Sperr-ID gesetzt wird, und die auf das ID-Setzregister gesetzte Sperr-ID in einer Cache-Linie eines selben Cache-Speichers geschrieben wird.
  4. Informationsverarbeitungsvorrichtung nach Anspruch 3, wobei die CPU, die die Sperre beschafft hat, die Sperr-ID auf das ID-Setzregister eines entsprechenden Cache-Speichers setzt.
  5. Informationsverarbeitungsvorrichtung nach Anspruch 1, wobei die CPU, die die Sperre beschafft hat, die andere CPU als die eigene CPU anweist, das Ausräumen durchzuführen.
  6. Informationsverarbeitungsvorrichtung nach Anspruch 3, ferner umfassend: einen exklusiven Steuermechanismus, der eine Sperre bereitstellt, wobei der exklusive Steuermechanismus die Sperr-ID auf das ID-Setzregister eines Cache-Speichers setzt, der der CPU zugeordnet ist, die die Sperre beschafft hat.
  7. Informationsverarbeitungsvorrichtung nach Anspruch 1, ferner umfassend: einen exklusiven Steuermechanismus, der eine Sperre bereitstellt, wobei der exklusive Steuermechanismus die andere CPU als die CPU, die die Sperre beschafft hat, anweist, das Ausräumen durchzuführen.
  8. Informationsverarbeitungsvorrichtung nach Anspruch 1, wobei die Sperr-ID in einem Bitfeld angegeben ist, das mehrere Bit umfasst, um so mehrere Sperren vorzugeben, und jedes der mehreren Bits angibt, ob eine entsprechende Sperre der mehreren Sperren beschafft wurde.
  9. Informationsverarbeitungsvorrichtung nach Anspruch 8, wobei die mehreren Sperren einem Bit der mehreren Bits auf der Basis eines Hash-Werts jeder Sperrennummer zugeordnet sind.
  10. Informationsverarbeitungsvorrichtung nach Anspruch 1, wobei die Informationsverarbeitungsvorrichtung an einer elektronischen Vorrichtung angebracht ist.
  11. Informationsverarbeitungsvorrichtung, umfassend: in jeder von mehreren CPUs Beschaffen einer Sperre für exklusiven Zugriff auf Daten im Hauptspeicher und dann Zugreifen auf die Daten; Zuordnen und Schreiben von Daten in Bezug auf den Zugriff einer entsprechenden CPU und einer Sperr-ID zum Spezifizieren der Sperre in Bezug auf den Zugriff in einer Cache-Linie jeder von mehrere Cache-Speichern, den mehreren CPUs zugeordnet sind; und Ausräumen der Cache-Linie jedes der mehreren Cache-Speicher , wenn eine andere CPU als die entsprechende CPU die auf der Basis der in die Cache-Linie geschriebenen Sperr-ID spezifizierte Sperre beschafft.
DE112022004300.8T 2021-09-07 2022-03-04 Informationsverarbeitungsvorrichtung und informationsverarbeitungsverfahren Pending DE112022004300T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2021145665 2021-09-07
JP2021-145665 2021-09-07
PCT/JP2022/009370 WO2023037595A1 (ja) 2021-09-07 2022-03-04 情報処理装置及び情報処理方法

Publications (1)

Publication Number Publication Date
DE112022004300T5 true DE112022004300T5 (de) 2024-07-18

Family

ID=85507329

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112022004300.8T Pending DE112022004300T5 (de) 2021-09-07 2022-03-04 Informationsverarbeitungsvorrichtung und informationsverarbeitungsverfahren

Country Status (4)

Country Link
JP (1) JPWO2023037595A1 (de)
CN (1) CN117882056A (de)
DE (1) DE112022004300T5 (de)
WO (1) WO2023037595A1 (de)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07262089A (ja) * 1994-03-17 1995-10-13 Fujitsu Ltd ロックアクセス制御方法および情報処理装置
JP2006276901A (ja) * 2005-03-25 2006-10-12 Nec Corp マルチプロセッサ計算機、そのキャッシュコヒーレンシ保証方法及びキャッシュコヒーレンシ保証プログラム

Also Published As

Publication number Publication date
CN117882056A (zh) 2024-04-12
JPWO2023037595A1 (de) 2023-03-16
WO2023037595A1 (ja) 2023-03-16

Similar Documents

Publication Publication Date Title
DE10262164B4 (de) Computersystem mit einer hierarchischen Cacheanordnung
DE69432314T2 (de) Cachespeicher mit aufgeteiltem pegel
DE69031978T2 (de) Einrichtung und Verfahren zum Vermindern von Störungen in zweistufigen Cache-Speichern
DE102008062044B4 (de) 1Speicherinterne, seiteninterne Verzeichnis-Chache-Kohärenz-Konfiguration
DE69636452T2 (de) Mehrprozessor-cachespeicherkohärenzprotokoll für einen lokalbus
DE102007030116B4 (de) Snoop-Filter mit ausschließlicher Inhaberschaft
DE102011076894B9 (de) Persistenter Speicher für einen Hauptspeicher eines Prozessors
DE3689488T2 (de) Speicheranordnung mit vereinfachtem und schnellem Daten-Cachespeicher.
DE2226382C3 (de) Datenverarbeitungsanlage mit mehreren Prozessoren und diesen zugeordneten Pufferspeichern
DE69031086T2 (de) Cache-Speicherinhaltssteuerung in Mehrprozessornetzwerken
DE69434728T2 (de) Synchronisationssystem und verfahren in einem datencachesystem mit aufgeteiltem pegel
DE69027253T2 (de) Multiprozessor-Cachespeichersystem
DE112011103433B4 (de) Verfahren, System und Programm zum Steuern von Cache-Kohärenz
DE69029173T2 (de) Mikroprozessor
DE112009000373T5 (de) Technik, um Information zwischen unterschiedlichen Kohärenz-Domains von Caches zu nutzen
DE112005002420T5 (de) Verfahren und Vorrichtung zum Pushen von Daten in den Cache eines Prozessors
DE112019000629B4 (de) Koordination von cacheoperationen
DE112006003917T5 (de) Verfahren, Gerät und System angewendet in einem Cachespeicher-Kohärenzprotokoll
DE102014004841A1 (de) Grafik auf Kachelbasis
DE112007001171T5 (de) Verfahren für virtualisierten Transaktionsspeicher bei globalem Überlauf
DE102013114256A1 (de) Systeme und Verfahren zur Beibehaltung der Informationskohärenz
DE112012004926B4 (de) Gemeinsame Speichernutzung durch Prozessoren
DE112019000627T5 (de) Speicherstrukturbasiertes Coherency Directory Cache
DE69130626T2 (de) Verfahren zur Verwaltung einer Cache-Speicheranordnung
DE10006430A1 (de) Verbessertes Kohärenzprotokoll für einen Computer-Cache