DE3886182T2 - Mehrcachedatenspeicheranordnung. - Google Patents

Mehrcachedatenspeicheranordnung.

Info

Publication number
DE3886182T2
DE3886182T2 DE88309704T DE3886182T DE3886182T2 DE 3886182 T2 DE3886182 T2 DE 3886182T2 DE 88309704 T DE88309704 T DE 88309704T DE 3886182 T DE3886182 T DE 3886182T DE 3886182 T2 DE3886182 T2 DE 3886182T2
Authority
DE
Germany
Prior art keywords
cache
input
memory
data
address
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.)
Expired - Fee Related
Application number
DE88309704T
Other languages
English (en)
Other versions
DE3886182D1 (de
Inventor
Terence Michael Cole
David Paul Crane
Geoffrey Poskitt
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.)
Fujitsu Services Ltd
Original Assignee
Fujitsu Services Ltd
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 Fujitsu Services Ltd filed Critical Fujitsu Services Ltd
Application granted granted Critical
Publication of DE3886182D1 publication Critical patent/DE3886182D1/de
Publication of DE3886182T2 publication Critical patent/DE3886182T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1063Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently virtually addressed
    • 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

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)

Description

  • Die Erfindung bezieht sich auf Mehrcachedatenspeichereinrichtungen. Insbesondere bezieht sich die Erfindung auf eine Datenspeichereinrichtung mit einem Hauptspeicher und einer Mehrzahl von kleineren, schnelleren Cachespeichern. Die Erfindung betrifft vorzugsweise, jedoch nicht ausschließlich eine Speichereinerichtung dieser Art zur Verwendung in einem Multiprozessor-Datenverarbeitungssystem, bei dem jeder der Cachespeicher einem entsprechenden der Prozessoren zugeordnet ist, und der Hauptspeicher unter den Prozessoren geteilt wird.
  • Bei einer derartigen Einrichtung ist, wenn einer der Cachespeicher fortgeschaltet wird, in der Regel notwendig, die entsprechenden Daten im Hauptspeicher fortzuschalten. Wenn die gleichen Daten ferner in einem beliebigen der anderen Cachespeicher gehalten werden, sind sid nunmehr unvereinbar mit den Daten im Hauptspeicher. Dies wird als das Problem der Cachekohärenz bezeichnet.
  • Eine Möglichkeit, diese schwierigkeit zu überwinden, besteht darin, jeden Cachespeicher so auszulegen, daß er kontinuierlich alle Fortschaltungen in den Hauptspeicher aus allen anderen Cachespeichern überwacht. Wenn sich irgendwelche dieser Fortschaltungen auf einen Datenausdruck im Cachespeicher beziehen, wird er fortgeschaltet oder unwirksam gemacht.
  • Bei einer Datenspeichereinrichtung, die eine virtuelle Adressierung verwendet, gibt es zwei Möglichkeiten, den Cachespeicher zu adressieren, entweder mit der virtuellen Adresse oder mit der entsprechenden physichen (echten) Adresse. Das Benutzen der virtuellen Adresse hat den Vorteil, daß sie nicht in die physiche Adresse übersetzt werden muß, bevor der Cachespeicher zugegriffen werden kann; somit ist der Cachezugriff schneller.
  • Um eine Cachekohärenz in einer Mehrcacheeinrichtung mit virtuell adressierten Cachespeichern sicher zu stellen, wurde vorgeschlagen, daß ein Cachespeicher, wenn er einen Datenausdruck fortschaltet, die virtuelle Adresse dieses Datenausdruckes an alle anderen Cachespeicher überträgt, wie auch die physische Adresse in den Hauptspeicher sendet. Jeder Cachespeicher kann deshalb die virtuellen Adressen aus den anderen Cachespeichern überwachen und sie verwenden, um die entsprechenden Datenausdrücke unwirksam zu machen, damit eine Cachekohärenz sichergestellt ist. Diese Lösung erhöht jedoch die Anzahl von Verbindungen, die zwischen den Cachespeichern erforderlich ist.
  • Aufgabe der Erfindung ist es, die Notwendigkeit zu vermeiden, sowohl die virtuelle Adresse als auch die physische Adresse zu senden, indem eine Einrichtung zur Übersetzung physischer Adressen in virtuelle Adressen in einem virtuell adressierten Cachespeicher vorgesehen wird.
  • Kurzbeschreibung der Erfindung
  • Gemäß der Erfindung wird eine Cachespeicherdateneinrichtung nach Anspruch 1 vorgeschlagen.
  • Die Merkmale des Oberbegriffes des Anspruches 1 ergeben sich aus der EP-A- 0 232 526.
  • Kurzbeschreibung der Zeichnungen
  • Eine Mehrprozessoreinrichtung mit einer Mehrcachespeichereinrichtung nach der Erfindung wird nachstehend anhand eines Ausführungsbeispieles in Verbindung mit den Zeichnungen beschrieben.
  • Fig. 1 ist ein Gesamtblockschaltbild der Mehrprozessoreinrichtung, die eine Mehrzahl von Cachespeichereinheiten enthält.
  • Fig. 2 zeigt eine Cachespeichereinheit im einzelnen.
  • Fig. 3 zeigt eine physisiche Adressenmarkiereinheit, die einen Teil einer Cachespeichereinheit bildet.
  • Beschreibung einer Ausführungsform der Erfindung
  • Nach Fig. 1 weist die Mehrprozessoreinrichtung eine Mehrzahl von Verarbeitungseinheiten 10 und einen Hauptspeicher 11, der anteilig benutzt wird, auf. Jede Verarbeitungseinheit 10 besitzt ihre eigene Cacheeinheit 12. Die Cacheeinheiten 12 sind alle mit dem Hauptspeicher 11 über eine getrennte Hochgeschwindigkeits-Speichersammelleitung 13 verbunden.
  • Wenn im Betrieb eine Verarbeitungseinheit 10 das Auslesen oder Einschreiben eines Datenausdruckes erforderlich macht, sendet sie die virtuelle Adresse VA dieses Ausdrucks in seine Cacheeinheit 12. Ist der gewünschte Datenausdruck im Cachespeicher vorhanden, kann er unmittelbar durch die Verarbeitungseinheit zum Lesen oder Schreiben zugegriffen werden. Wenn einer der Prozessoren 10 einen Datenausdruck in seiner Cacheeinheit 12 fortschaltet, erzeugt der Cachespeicher eine fortgeschaltete Nachricht über die Sammelleitung zum Hauptspeicher 11. Dies stellt sicher, daß der Hauptspeicher mit dem Cachespeicher übereinstimmt.
  • Jede Cacheeinheit überwacht fortlaufend die Sammelleitung 13 für jede der fortgeschalteten Nachrichten aus den anderen Cacheeinheiten. Wenn ein Cachespeicher eine solche Nachricht anzeigt, prüft er, ob der fortgeschaltete Datenausdruck in dem Cachespeicher vorhanden ist, und macht ihn unwirksam, wenn dies der Fall ist. Dies stellt die Cachekohärenz sicher. Die Art und Weise, in der dies geschieht, wird nachstehend beschrieben.
  • Fig. 2 zeigt eine der Cacheeinheiten 12 im Detail.
  • Der Cachespeicher weist einen Datenspeicher mit willkürlichem Zugriff (RAM) 20 auf, der eine Kapazität von 128 KBytes hat. Der RAM ist als 4 K individuell adressierbare Leitungen organisiert, jede Leitung hält 32 Bytes. Der Daten-KAM ist durch Bits VA 5-16 einer aus 32 Bits bestehenden virtuellen Adresse VA 0-31 adressiert, um einen Zugriff zu einer Zeile von Daten zum Lesen oder Schreiben zu haben. Bits VA 0-4 spezifizieren ein Byte innerhalb der Adressenzeile, werden jedoch nicht innerhalb des Cachespeichers verwendet.
  • Der Cachespeicher weist ferner einen VA-Markier-RAM 21 auf, der 4 K Markierungen hält, und zwar jeweils eine für jede Datenzeile im Daten-KAM. Jede Markierung repräsentiert Bits VA 17-31 der virtuellen Adresse der Daten, die in dieser Zeile gehalten werden. Der VA-Markier-KAM wird durch Bits VA 5-16 adressiert.
  • Der Cachespeicher besitzt des weiteren einen Status-Markier- RAM 22, der 4 K Status-Markierungen hält, und zwar jeweils eine für jede Zeile des Daten-KAM. Jede dieser Markierungen weist ein Gültigkeitsbit auf, das angibt, ob die entsprechende Zeile von Daten gültig ist oder nicht. Die Status-Markierung KAM wird ferner durch Bits VA 5- 16 adressiert.
  • Wenn die Verarbeitungseinheit 10 den Zugriff eines Datenausdruckes erforderlich macht, sendet er die virtuelle Adresse VA 5-31 in den Cachespeicher. Bits VA 5-16 haben Zugriff zu einer Zeile des Cachespeichers und der entsprechenden VA-Markierung sowie Status-Markierung. Die VA-Markierung aus dem KAM 21 wird dann mit Bits VA 17-31 der virtuellen Adresse aus dem Prozessor mittels einer Vergleichsvorrichtung 23 verglichen. Das Resultat wird dann in einem UND-Gatter 24 mit dem Gültigkeitsbit für den KAM 22 kombiniert, damit ein HIT-Signal erzeugt wird.
  • HIT ist somit nur dann echt, wenn die VA-Markierung der adressierten Zeile von Daten den entsprechenden Bits der virtuellen Adresse angepaßt ist, und diese Zeile gültig ist. Das HIT-Signal zeigt deshalb der Verarbeitungseinheit an, daß die gewünschten Daten in dem Cachespeicher vorhanden sind und je nach Erfordernis gelesen oder fortgeschaltet werden können.
  • Die Cachespeichereinheit weist ferner eine Speicher-Managementeinheit (MMU) 25 auf, die die Bits VA 5-31 der virtuellen Adresse in eine physische Adresse PA 5-31 umsetzt. Der Adressenraum wird in Seiten mit 8 K-Bytes geteilt. Die Bits VA 13-31 stellen eine virtuelle Seitenadresse dar, und werden von der MMU in eine entsprechende physische Seitenadresse PA 13-31 umgesetzt. Die Bits VA 5-12 spezifizieren eine Leitung von 12 Bytes innerhalb der Seite und werden direkt als die entsprechenden Bits PA 5-12 der physischen Adresse ohne jede Umsetzung verwendet.
  • Wenn der Prozessor eine Zeile von Daten im Cachespeicher fortschaltet, sendet der Cachespeicher eine Fortschalt-Nachricht über die Sammelleitung 13 in den Hauptspeicher. Diese Fortschalt-Nachricht weist die Bits PA 5-31 der physischen Adresse, und ferner den fortgeschalteten Wert der Datenzeile auf.
  • Die Cachespeichereinheit überwacht fortlaufend die Sammelleitung für Fortschalt-Nachrichten aus anderen Cacheeinheiten. Wenn sie eine solche Nachricht anzeigt, erfaßt sie die Bits PA 5-31 der physischen Adresse der Nachricht in einem Kegister 26.
  • Die physische Adresse (PA) aus dem Register 26 wird einer logischen Schaltung 27 der PA-Markierung aufgegeben. Wie noch im einzelnen ausgeführt wird, hält die Logik der PA-Markierung als Markierungen die physischen Adressen aller Leitungen von Daten, die gerade im Cachespeicher vorhanden sind. Die PA-Markierlogik führt effektiv eine parallele Nachforschung nach allen PA-Markierungen, die in ihr enthalten sind, durch und dies bestimmt, ob die entsprechende Leitung von Daten im Cachespeicher gehalten ist oder nicht. Wird eine Anpassung angezeigt gibt die PA-Markier-Logik die Bits VA 5-12 der virtuellen Adresse ab und zeigt die Position der Datenzeile im Daten-KAM 20 an. Diese VA-Bits werden dann verwendet, um den Status-Markier-KAM 22 zu adressieren, und das Gültigkeitsbit der Markierung des adressierten Zustandes wird gelöscht. Dies macht die entsprechende Datenzeile unwirksam und stellt somit die Cachespeicherkohärenz sicher.
  • Die PA-Markierungslogik 27 muß effektiv einen Vergleich zwischen der PA aus der Sammelleitung und den PA-Markierungen aller 4 K-Leitungen im Cachespeicher durchführen. Auf den ersten Blick macht dies einen größeren assoziativen Speicher erforderlich, der in der Lage ist, 4 K-Vergleiche parallel durchzuführen. Wie jedoch gezeigt wird, wird mit der Erfindung vermieden, daß eine solche große Anzahl von gleichzeitigen Vergleichen notwendig wird.
  • Fig. 3 zeigt die PA-Markierungslogik im Detail.
  • Diese Logik weist 16 PA-Markierungs-RAMs 30 auf, von denen jeder 256 Markierungen hält. Es sind somit insgesamt 256 x 16 = 4 K Markierungen vorhanden, und zwar eine für jede der Datenleitungen im Daten-RAM.
  • Alle RAMs 30 werden parallel durch die Ausgänge eines Multiplexers 31 adressiert, der entweder Bits PA 5-12 von der Sammelleitung (über das Register 26) oder Bits VA 5-12 von der Verarbeitungseinheit auswählt.
  • Jeder der RAMs 30 kann mit Hilfe von Bits VA 13-16 aus der Verarbeitungseinheit ausgewählt werden. Diese Bits werden durch einen Decodierer 32 decodiert, damit ein Schreib-Steuersignal für den ausgewählten RAM erzielt wird.
  • Alle Markier-RAMs 30 nehmen ein gemeinsames Eingangssignal aus einem Multiplexer 33 auf, der entweder Bits PA 13-31 aus dem MMU 25 oder Bits PA 13-31 von der Sammelleitung auswählt.
  • Wenn eine neue Datenzeile in den Cachespeicher eingeführt wird, werden die PA-Markier-KAMs durch VA 5-12 und VA 13-16 adressiert, so daß eine Markierung in einem der RAMs ausgewählt wird. Die Bits PA 13-31 der physischen Adresse aus dem MMU werden dann in die ausgewählte Markierung als eine PA-Markierung für die neue Datenzeile eingeschrieben. Auf diese Weise hält die PA-Markier-Logik, die die physische Adresse aller Datenzeilen im Cachespeicher anzeigen.
  • Wenn eine Fortschalt-Nachricht in der Sammelleitung angezeigt wird, werden die Markier-RAMs 30 alle durch PA 5-12 von der Sammelleitung adressiert. Die Bits PA 13-31 von der Sammelleitung werden dann parallel mit der adressierten Markierung in jedem der Markier-RAMs verglichen, d.h., daß 16 Vergleiche parallel durchgeführt werden, und zwar jeweils einer durch jeden der Markier-RAMs. Jeder der Markier-RAMs hat eine HIT-Ausgangsleitung, die eine Anpassung zwischen dem Eingang PA 13-31 und der gespeicherten Markierung anzeigt.
  • Aus Gründen, die noch ausgeführt werden, ist zu einem beliebigen Zeitpunkt nur einer (oder keiner) der HIT-Ausgänge echt. Die HIT-Ausgänge werden einem 16:4 Codierer 34 aufgegeben, der die Position des echten HIT-Signals codiert. Der Ausgang des Codierers 34 rekonstruiert somit Bits VA 13-16 der virtuellen Adresse der Datenzeile, wobei die physische Adresse gleich den Bits PA 5-21 aus der Sammelleitung ist. Die rekonstruierten Bits VA 13-16 aus dem Codierer werden mit Bits PA 5-12 aus der Sammelleitung kombiniert, damit die gewünschte virtuelle Adresse VA 5-16 zum Unwirksammachen des Status-Markier-RAM in der vorbeschriebenen Weise erzielt wird.
  • Wenn andererseits keine der HIT-Signale aus den Markier-RAMs 30 echt sind, erzeugt der Codierer 34 ein MISS-Signal, das angibt, daß die angefragte Datenzeile im Cachespeicher nicht vorhanden ist.
  • Damit kann die PA-Markier-Logik nach Fig. 3 prüfen, ob eine Datenleitung mit einer bestimmten PA-Markierung im Cachespeicher vorhanden ist, indem nur 16 Vergleiche parallel anstatt von 4 K-Vergleichen durchgeführt werden brauchen. Dies wird dadurch erreicht, daß die Tatsache ausgenutzt wird, daß von den Bits VA 5-16, die zum Adressieren der Cache-RAMs verwendet werden, die Bits VA 5-12 identisch mit den Bits PA 5-12 der physischen Adresse sind; nur die Bits VA 13-16 sind unterschiedlich von der physischen Adresse. Wenn somit eine physische Adresse von der Sammelleitung aufgenommen wird, gibt es nur 16 mögliche Zeilen im Cachespeicher, die Daten mit dieser PA halten müssen.
  • Die PA-Markier-RAMs 30 können beispielsweise mit Hilfe von vier Fujitsu MB 81 C50 CMOS-Markier-RAMs verwirklicht werden. Jede dieser Vorrichtungen ergibt einen Vierwege-Tag RAM einschließlich Vergleichsvorrichtungen zur Durchführung der Markiervergleiche, und kann deshalb verwendet werden, um eine Gruppe von vier der Markier-RAMs 30 auszuführen.
  • Bei einem Speichersystem mit virtueller Adresse können mehrere unterschiedliche virtuelle Adressen auf die gleiche physische Adresse abbilden; diese werden als Synonyme bezeichnet. Im allgemeinen bedeutet dies, daß mehr als eine Zeile im Cachespeicher entsprechend einer bestimmten physischen Adresse vorhanden ist. Bei der Einrichtung nach der Erfindung wird dies durch eine Software-Beschränkung vermieden, die erforderlich macht, daß Synonyme auf einem Mehrfachen von 128 K Byte-Begrenzungen (d.h. die Größe des Cachespeichers) ausgerichtet werden. Dies bedeutet, daß Synonyme alle auf der gleichen Leitung des Cachespeichers abbilden, und daß somit zu einem bestimmten Zeitpunkt nur einer von ihnen im Cachespeicher vorhanden sein kann. Dies ist der Grund dafür, warum nur einer der Markier-RAMs 30 ein HIT zu einem bestimmten Zeitpunkt erzeugen kann.
  • In vorstehender Beschreibung wurde davon ausgegangen, daß eine "Durchschreib-Strategie" für Fortschaltungen angenommen wird, d.h., daß der Hauptspeicher fortgeschaltet wird, wenn der Cachespeicher fortgeschaltet wird. Vorliegende Erfindung ist jedoch in gleicher Weise auf Speichersysteme anwendbar, die eine "Rückkopier"-Strategie verwenden, d.h., in denen Daten nur im Hauptspeicher fortgeschaltet werden, wenn sie in den Cachespeicher überschrieben werden und modifiziert worden sind, seit sie in den Cachespeicher eingefüllt wurden.
  • Des weiteren wird nach vorliegender Erfindung der entsprechende Datenausdruck dann, wenn ein HIT durch die PA-Markier- Logik angezeigt wird, im Cachespeicher unwirksam gemacht wird. Andererseits kann der Datenausdruck mit dem neuen Wert aus der Sammelleitung fortgeschaltet werden, was ebenfalls eine Cachekohärenz sicherstellt.
  • Es sei bemerkt, daß die virtuelle Adresse VA 0-31 in bekannter Weise durch eine Context-Zahl ausgeweitet werden kann, um eine vollständige virtuelle Adresse zu schaffen.

Claims (4)

1. Cachespeicheranordnung, mit
a) einem Cachespeicher (20), der durch eine virtuelle Eingangsadresse VA adressiert ist,
b) einer Übersetzungseinrichtung (25) zum Übersetzen der Eingangs-VA in eine physische Ausgangsadresse PA, und
c) einer Übersetzungslogik (27) zum Aufnehmen einer Eingangs-PA und zum Übersetzen dieser PA in eine entsprechende VA zum Adressieren des Cachespeichers,
d) wobei jede VA erste, zweite und dritte Teile (VA5 -12, VA13 - 16, VA17 - 31) und jede PA erste und zweite Teile (PA5 - 12, PA13 - 31) aufweist,
dadurch gekennzeichnet, daß
i) die Überetzungslogik (27) eine Vielzahl von Markierspeichern (30) aufweist,
ii) wenn ein Datenausdruck mit einer bestimmten VA in den Cachespeicher (20) eingeschrieben wird, der zweite Teil (VA13 - 16) der Eingangs-VA zum Auswählen eines der Markierspeicher (30) verwendet wird, der erste Teil (VA5 - 12) der Eingangs-VA zum Adressieren der Markierspeicher verwendet wird, und der zweite Teil (PA13 - 31) der Ausgangs-PA aus der Übersetzungseinrichtung (25) als eine Markierung in den adressierten Speicherplatz des ausgewählten Markierspeichers eingeschrieben wird, und
iii) wenn eine Eingangs-PA zur Übersetzung aufgenommen wird, der erste Teil (PA5 - 12) der Eingangs-PA zum Adressieren aller Markierspeicher (30) im Parallelbetrieb verwendet wird, der zweite Teil (PA13 - 31) der Eingangs-PA im Parallelbetrieb mit den Markierungen in den adressierten Speicherplätzen aller Markierspeicher (30) verglichen wird, und die Resultate der Vergleichsvorgänge durch Codiervorrichtungen (34) codiert werden, um den zweiten Teil (VA13 - 16) der entsprechenden VA zu erzeugen.
2. Mehrcachedatenspeicheranordnung mit einer Vielzahl von Cachespeichereinrichtungen (12) nach Anspruch 1, wobei die Cachespeichereinrichtungen mit Hilfe einer Sammelleitung (13) an einen gemeinsam benutzten Hauptspeicher (11) angeschlossen sind.
3. Anordnung nach Anspruch 2, bei der der Ausgang PA aus jeder Cacheeinrichtung auf die Sammelleitung übertragen wird, und die Eingangs-PA für jede Cacheeinrichtung von der Sammelleitung aufgenommen wird.
4. Mehrfachprozessor-Datenverarbeitungssystem mit einer Vielzahl von Datenverarbeitungseinheiten (10) und einer Mehrcachedatenspeicheranordnung nach Anspruch 2 oder 3, bei dem eine Cacheeinrichtung (12) für jede Verarbeitungseinheit vorgesehen ist.
DE88309704T 1987-12-05 1988-10-17 Mehrcachedatenspeicheranordnung. Expired - Fee Related DE3886182T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB878728494A GB8728494D0 (en) 1987-12-05 1987-12-05 Multi-cache data storage system

Publications (2)

Publication Number Publication Date
DE3886182D1 DE3886182D1 (de) 1994-01-20
DE3886182T2 true DE3886182T2 (de) 1994-05-05

Family

ID=10628059

Family Applications (1)

Application Number Title Priority Date Filing Date
DE88309704T Expired - Fee Related DE3886182T2 (de) 1987-12-05 1988-10-17 Mehrcachedatenspeicheranordnung.

Country Status (6)

Country Link
US (1) US5008813A (de)
EP (1) EP0320099B1 (de)
AU (1) AU609228B2 (de)
DE (1) DE3886182T2 (de)
GB (1) GB8728494D0 (de)
ZA (1) ZA888032B (de)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE109910T1 (de) 1988-01-20 1994-08-15 Advanced Micro Devices Inc Organisation eines integrierten cachespeichers zur flexiblen anwendung zur unterstützung von multiprozessor-operationen.
GB8823077D0 (en) * 1988-09-30 1988-11-09 Int Computers Ltd Data processing apparatus
US5535359A (en) * 1988-12-02 1996-07-09 Mitsubishi Denki Kabushiki Kaisha Computer system with cache memory having address mask register
JPH0680499B2 (ja) * 1989-01-13 1994-10-12 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチプロセッサ・システムのキャッシュ制御システムおよび方法
US5214777A (en) * 1989-03-27 1993-05-25 Ncr Corporation High speed read/modify/write memory system and method
US5072369A (en) * 1989-04-07 1991-12-10 Tektronix, Inc. Interface between buses attached with cached modules providing address space mapped cache coherent memory access with SNOOP hit memory updates
FR2645987B1 (fr) * 1989-04-13 1991-06-07 Bull Sa Dispositif d'acceleration des acces memoire dans un systeme informatique
FR2645986B1 (fr) * 1989-04-13 1994-06-17 Bull Sa Procede pour accelerer les acces memoire d'un systeme informatique et systeme pour la mise en oeuvre du procede
US5197146A (en) * 1989-06-21 1993-03-23 Hewlett-Packard Company Method for maintaining cache coherence in a multiprocessor computer system
US5155828A (en) * 1989-07-05 1992-10-13 Hewlett-Packard Company Computing system with a cache memory and an additional look-aside cache memory
JPH0340046A (ja) * 1989-07-06 1991-02-20 Hitachi Ltd キャッシュメモリ制御方式および情報処理装置
JP2511146B2 (ja) * 1989-07-07 1996-06-26 富士通株式会社 デ―タ処理装置
JPH0348951A (ja) * 1989-07-18 1991-03-01 Fujitsu Ltd アドレスモニタ装置
JPH0697449B2 (ja) * 1989-09-20 1994-11-30 株式会社日立製作所 多重化共有メモリ制御方法、多重化共有メモリシステムおよび共有メモリ拡張方法
JP2833062B2 (ja) * 1989-10-30 1998-12-09 株式会社日立製作所 キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置
US5297270A (en) * 1989-11-13 1994-03-22 Zenith Data Systems Corporation Programmable cache memory which associates each section of main memory to be cached with a status bit which enables/disables the caching accessibility of the particular section, and with the capability of functioning with memory areas of varying size
JPH061463B2 (ja) * 1990-01-16 1994-01-05 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチプロセッサ・システムおよびそのプライベート・キャッシュ制御方法
US5263142A (en) * 1990-04-12 1993-11-16 Sun Microsystems, Inc. Input/output cache with mapped pages allocated for caching direct (virtual) memory access input/output data based on type of I/O devices
US5249284A (en) * 1990-06-04 1993-09-28 Ncr Corporation Method and system for maintaining data coherency between main and cache memories
US5276852A (en) * 1990-10-01 1994-01-04 Digital Equipment Corporation Method and apparatus for controlling a processor bus used by multiple processor components during writeback cache transactions
US5301340A (en) * 1990-10-31 1994-04-05 International Business Machines Corporation IC chips including ALUs and identical register files whereby a number of ALUs directly and concurrently write results to every register file per cycle
US5249283A (en) * 1990-12-24 1993-09-28 Ncr Corporation Cache coherency method and apparatus for a multiple path interconnection network
GB2260429B (en) * 1991-10-11 1995-05-24 Intel Corp Versatile cache memory
US5469555A (en) * 1991-12-19 1995-11-21 Opti, Inc. Adaptive write-back method and apparatus wherein the cache system operates in a combination of write-back and write-through modes for a cache-based microprocessor system
US5414827A (en) * 1991-12-19 1995-05-09 Opti, Inc. Automatic cache flush
US5555382A (en) * 1992-04-24 1996-09-10 Digital Equipment Corporation Intelligent snoopy bus arbiter
US5778424A (en) * 1993-04-30 1998-07-07 Avsys Corporation Distributed placement, variable-size cache architecture
US5671391A (en) * 1994-01-10 1997-09-23 Ncr Corporation Coherent copyback protocol for multi-level cache memory systems
US6928521B1 (en) 2000-08-01 2005-08-09 International Business Machines Corporation Method, system, and data structures for using metadata in updating data in a storage device
US7681141B2 (en) * 2004-05-11 2010-03-16 Sony Computer Entertainment America Inc. Fast scrolling in a graphical user interface
JP4189402B2 (ja) * 2005-02-21 2008-12-03 パナソニック株式会社 キャッシュ回路
US7409524B2 (en) * 2005-08-17 2008-08-05 Hewlett-Packard Development Company, L.P. System and method for responding to TLB misses
US8806101B2 (en) * 2008-12-30 2014-08-12 Intel Corporation Metaphysical address space for holding lossy metadata in hardware
US8627014B2 (en) * 2008-12-30 2014-01-07 Intel Corporation Memory model for hardware attributes within a transactional memory system
US8627017B2 (en) * 2008-12-30 2014-01-07 Intel Corporation Read and write monitoring attributes in transactional memory (TM) systems
US9785462B2 (en) 2008-12-30 2017-10-10 Intel Corporation Registering a user-handler in hardware for transactional memory event handling
US10592424B2 (en) * 2017-07-14 2020-03-17 Arm Limited Range-based memory system

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3699533A (en) * 1970-10-29 1972-10-17 Rca Corp Memory system including buffer memories
US3693165A (en) * 1971-06-29 1972-09-19 Ibm Parallel addressing of a storage hierarchy in a data processing system using virtual addressing
US3848234A (en) * 1973-04-04 1974-11-12 Sperry Rand Corp Multi-processor system with multiple cache memories
US4453230A (en) * 1977-12-29 1984-06-05 Tokyo Shibaura Electric Co., Ltd. Address conversion system
US4445191A (en) * 1979-08-13 1984-04-24 Burroughs Corporation Data word handling enhancement in a page oriented named-data hierarchical memory system
FR2474201B1 (fr) * 1980-01-22 1986-05-16 Bull Sa Procede et dispositif pour gerer les conflits poses par des acces multiples a un meme cache d'un systeme de traitement numerique de l'information comprenant au moins deux processus possedant chacun un cache
US4481573A (en) * 1980-11-17 1984-11-06 Hitachi, Ltd. Shared virtual address translation unit for a multiprocessor system
US4602368A (en) * 1983-04-15 1986-07-22 Honeywell Information Systems Inc. Dual validity bit arrays
US4858111A (en) * 1983-07-29 1989-08-15 Hewlett-Packard Company Write-back cache system using concurrent address transfers to setup requested address in main memory before dirty miss signal from cache
US4785398A (en) * 1985-12-19 1988-11-15 Honeywell Bull Inc. Virtual cache system using page level number generating CAM to access other memories for processing requests relating to a page
US4785395A (en) * 1986-06-27 1988-11-15 Honeywell Bull Inc. Multiprocessor coherent cache system including two level shared cache with separately allocated processor storage locations and inter-level duplicate entry replacement
US4843542A (en) * 1986-11-12 1989-06-27 Xerox Corporation Virtual memory cache for use in multi-processing systems
US4977498A (en) * 1988-04-01 1990-12-11 Digital Equipment Corporation Data processing system having a data memory interlock coherency scheme
WO1990000283A1 (en) * 1988-07-04 1990-01-11 Swedish Institute Of Computer Science Multiprocessor system including a hierarchical cache memory system
GB8823077D0 (en) * 1988-09-30 1988-11-09 Int Computers Ltd Data processing apparatus

Also Published As

Publication number Publication date
AU609228B2 (en) 1991-04-26
GB8728494D0 (en) 1988-01-13
EP0320099A2 (de) 1989-06-14
ZA888032B (en) 1989-06-28
AU2654188A (en) 1989-06-08
US5008813A (en) 1991-04-16
DE3886182D1 (de) 1994-01-20
EP0320099B1 (de) 1993-12-08
EP0320099A3 (en) 1990-08-22

Similar Documents

Publication Publication Date Title
DE3886182T2 (de) Mehrcachedatenspeicheranordnung.
DE68902193T2 (de) Datenspeicheranordnung.
EP0013737B1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE3688192T2 (de) Seitenorganisierter cachespeicher mit virtueller adressierung.
DE2227882C2 (de) Virtuelle Speicheranordnung
DE2235841C2 (de) Datenverarbeitungsanlage mit Speichersteuerung für mindestens einen Prozessor und diesen zugeordneten Pufferspeichern
DE2226382C3 (de) Datenverarbeitungsanlage mit mehreren Prozessoren und diesen zugeordneten Pufferspeichern
DE3689488T2 (de) Speicheranordnung mit vereinfachtem und schnellem Daten-Cachespeicher.
DE68924206T2 (de) Verfahren und Einrichtung zum Filtern von Ungültigkeitserklärungsanforderungen.
DE3011552C2 (de)
DE69814579T2 (de) Parallel arbeitende exklusiv-oder-einheit
DE10002120B4 (de) Adressumsetzpufferanordnung und Verfahren für den Betrieb einer Adressumsetzpufferanordnung
DE69109803T2 (de) Verfahren und Vorrichtung zur Aufrechterhaltung der Integrität eines Cachespeichers.
DE2939411C2 (de) Datenverarbeitungsanlage mit virtueller Speicheradressierung
EP0600112A1 (de) Datenverarbeitungsanlage mit virtueller Speicheradressierung und schlüsselgesteuertem Speicherzugriff
DE3502147C2 (de)
DE68928333T2 (de) Pufferspeicher, der zur Speicherung von Befehls- und Datenblöcken auf verschiedene Blockgrössen geeignet ist
DE68925336T2 (de) Datenverarbeitungsvorrichtung mit Cache-Speicher
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
DE69030072T2 (de) Schneller Durchschreib-Cache-Speicher
DE69130626T2 (de) Verfahren zur Verwaltung einer Cache-Speicheranordnung
DE4234695A1 (de) Speichermanagementsystem und verfahren zur aufrechterhaltung der cache-kohaerenz zwischen einem daten-cache und einem segmentdeskriptor-cache
DE3832758C2 (de) Verfahren zum Adressieren eines im Rückschreib-Modus betriebenen virtuellen Cache-Speichers
DE3200042C2 (de)
DE69031365T2 (de) Mehrrechnersystem mit hierarchischem Cache-Speicher

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee