DE3803759A1 - Cache-speicher zur verwendung in multiprozessor-systemen - Google Patents
Cache-speicher zur verwendung in multiprozessor-systemenInfo
- Publication number
- DE3803759A1 DE3803759A1 DE3803759A DE3803759A DE3803759A1 DE 3803759 A1 DE3803759 A1 DE 3803759A1 DE 3803759 A DE3803759 A DE 3803759A DE 3803759 A DE3803759 A DE 3803759A DE 3803759 A1 DE3803759 A1 DE 3803759A1
- Authority
- DE
- Germany
- Prior art keywords
- cache
- address
- memory
- devices
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0853—Cache with multiport tag or data arrays
Description
Die Erfindung betrifft einen Cache-Speicher und insbesondere sol
che Speicher, die besonders gut zur Verwendung in Multiprozessor-
Systemen geeignet sind.
Es ist bekannt, zur Verbesserung der effektiven Speicherübertra
gungsgeschwindigkeit und damit zur Erhöhung der Verarbeitungsge
schwindigkeiten einen Cache-Speicher mit hoher Geschwindigkeit
zwischen einem Prozessor und einem Hauptspeicher mit niedriger Ge
schwindigkeit anzuordnen. Der Cache-Speicher oder Zwischenspeicher
dient zum Sichern einer zweiten Kopie der kurz vorher verwendeten
Daten. Wenn der Prozessor nach Daten fragt, überprüft eine Cache-
Steuerschaltung (z.B. ein Anfangsadressen-Vergleicher), ob diese
Daten in dem Cache-Speicher enthalten sind. Wenn dies der Fall
ist, kann der Prozessor aufgrund der hohen Geschwindigkeit des Ca
che-Speichers die Daten sehr schnell erhalten. Andernfalls werden
die Daten von dem langsameren Hauptspeicher gewonnen, der häufig
auch größer ist. In diesem Fall kopiert der Cache-Speicher die von
dem Hauptspeicher gewonnenen Daten, so daß diese beim nächsten Mal
schnell zur Verfügung stehen.
Dieses Verfahren ist sehr nützlich, weil die meisten Computerpro
gramme einzelne Routinen aufweisen, bei denen eine kleine Gruppe
von Datenwörtern für eine längere Zeit bearbeitet werden, wodurch
eine hohe Trefferrate erreicht werden kann.
Das Erkennen eines Cache-Treffers oder eines Cache-Nichttreffers
wird nachstehend kurz beschrieben und später detailliert mit Bezug
auf die Fig. 1 erläutert. Dabei liegt ein Cache-Treffer vor, wenn
die angefragten Daten bereits im Cache-Speicher enthalten sind.
Ein Anfangsadressen-Speicherbereich, der einen Teil eines Cache-
Speichers bildet, gibt mehrere Anfangsadressen als Antwort auf
eine Satzadresse aus, die in einem von dem Prozessor gelieferten
Ansprechadressensignal enthalten ist. Daraufhin vergleicht der
Anfangsadressen-Vergleicher die Anfangsadresse des
Anfangsadressen-Speicherbereichs mit einer in dem Ansprech
adressensignal des Prozessors enthaltenen Anfangsadresse und er
zeugt ein Signal, das entweder einen Cache-Treffer oder einen
Cache-Nichttreffer angibt.
Wenn Cache-Speicher in Multiprozessor-Systemen verwendet werden,
ist jeweils ein Cache-Speicher zwischen jedem Prozessor und dem
Hauptspeicher angeordnet. Beim Einsatz von bekannten Cache-Spei
chern in solchen Multiprozessor-Systemen sind jedoch Probleme auf
getaucht, und zwar, daß das System fehlerhaft arbeitete oder der
Betrieb eines Prozessors zeitweise gestoppt worden ist. Diese Pro
bleme entstehen dadurch, daß die bekannten Cache-Speicher mit nur
einem Anfangsadressen-Vergleicher ausgestattet sind. Die beim
Stand der Technik vorkommenden Probleme werden nachstehend anhand
der Fig. 1 näher erläutert.
Fig. 1 zeigt eine Blockschaltung einer bekannten Cache-Speicher
einheit, bei der die vorliegende Erfindung anwendbar ist. Wenn ein
solcher Cache-Speicher in einem Multiprozessor-System eingesetzt
wird, werden mehrere Speicherbereiche bereitgestellt und jeweils
zwischen einem der mehreren Prozessoren (CPUs) und einem System
bus, an dem ein Hauptspeicher angeschlossen ist, angeordnet.
Die Anordnung von Fig. 1 weist im wesentlichen einen Daten-
Speicherbereich 9, einen Anfangsadressen-Speicherbereich 6, einen
Speicherbereich 7 für eine Gültigkeitsinformation der Anfangs
adresse und einen Speicherbereich 4 für die Information über den
zuletzt verwendeten Weg (LRU), wobei der Ausdruck "Weg" einen von
aufgeteilten kleinen Speicherbereichen eines Speichers angibt. Je
der der Speicherbereiche 6, 7 und 9 besteht aus mehreren Wegen
(z.B. vier Wegen, in der Zeichnung sind aber nur zwei Wege darge
stellt). Jeder Weg des Daten-Speicherbereichs 9 ist in vier Blöcke
1 bis 4 aufgeteilt und speichert Daten für einen schnellen
Zugriff durch einen Prozessor (nicht dargestellt), während jeder
Weg des Anfangsadressen-Speicherbereichs 6 Anfangsadressen der in
dem entsprechenden Weg des Daten-Speicherbereichs 9 gesicherten
Daten speichert. Andererseits speichert jeder Weg des Speicherbe
reichs 7 für die Gültigkeitsinformation der Anfangsadresse die An
fangsadressen-Information darüber, ob jede der Anfangsadressen in
dem entsprechenden Weg des Bereichs 6 gültig ist oder nicht, wäh
rend der Speicherbereich 4 für die LRU-Weginformation Informatio
nen darüber speichert, welcher Weg mit dem von einem Hauptspeicher
(nicht dargestellt) über einen Systembus gelieferten Daten auf den
neuesten Stand gebracht werden soll, wenn ein Cache-Nichttreffer
auftritt, das heißt, das gesuchte Datenwort in dem Cache-Speicher
nicht enthalten ist.
Wie in Fig. 1 dargestellt, ist ein Eingabe/Ausgabe (I/O) Daten-
Zwischenspeicher 1 zum zeitweisen Festhalten von Daten vorgesehen,
die darauffolgend an den Prozessor, den Daten-Speicherbereich 9
oder den Hauptspeicher geliefert werden. Weiterhin ist ein An
sprechadressen-Zwischenspeicher 2 angeschlossen zum Empfangen ei
nes Ansprechadressen-Signals von dem Prozessor. Dieser ist unter
teilt in drei Speicherbereiche 2 a, 2 b und 2 c, die zum zeitweisen
Festhalten der Anfangs-, Satz- bzw. Block-Adressen dienen. Eine
aus einer komplexen Logikschaltung bestehende Steuerung 3 ist mit
einem Steueranschluß des Prozessors verbunden. Die Steuerung 3
wird hier nicht im einzelnen beschrieben.
Die von dem Satzadressen-Zwischenspeicher 2 b gelieferte Satz
adresse wird an jeden Weg der Speicherbereiche 6 und 7 geliefert
und bewirkt, daß die Speicherbereiche 6 und 7 die entsprechende
Anfangsadresse bzw. die entsprechenden Anfangsadressen-Informa
tionen ausgeben, die an einen Anfangsadressen-Vergleicher 5 gesen
det werden. Der Vergleicher 5 überprüft, ob die Anfangsadresse des
Zwischenspeichers 2 a mit einer der Anfangsadressen des
Anfangsadressen-Speicherbereichs 6 übereinstimmt und überprüft
ferner, ob die gegebenenfalls aufgefundene übereinstimmende An
fangsadresse gültig ist.
Wenn die Anfangsadresse in dem Zwischenspeicher 2 a mit einer der
Anfangsadressen des Speicherbereichs 6 übereinstimmt und sich die
übereinstimmende Anfangsadresse als gültig erweist, erzeugt der
Vergleicher 5 zwei Arten von Treffersignalen: ein Cache-Treffersi
gnal oder ein Cache-Nichttreffersignal und ein Weg-Treffersignal.
Das Cache-Treffersignal oder Cache-Nichttreffersignal wird über
die Steuerung 3 an den Prozessor geliefert, während das Weg-
Treffersignal an eine Schreibweg-Auswahlschaltung 8 und eine Lese
weg-Auswahlschaltung 10 gesendet wird.
Der Cache-Speicher weist drei Betriebsarten auf: (1) einen Cache-
Treffer-Lesebetrieb, bei dem die in dem Cache-Speicher gesicherten
Daten als Antwort auf einen Cache-Treffer ausgelesen und an den
Prozessor gegeben werden, (2) einen Cache-Treffer-Schreibbetrieb,
bei dem die in dem Cache-Speicher gesicherten Daten mit den Daten
überschrieben oder auf den neuesten Stand gebracht werden, die von
dem Prozessor nach einem Cache-Treffer geliefert werden und (3)
einen Cache-Nichttreffer-Blockschreibbetrieb, der auftritt, wenn
ein Cache-Nichttreffer vorhanden ist, bei dem ein von dem Prozes
sor benötigtes Datenelement von dem Hauptspeicher zu dem Prozessor
übertragen wird und im wesentlichen zur gleichen Zeit die vier das
Datenelement enthaltenden Datenblöcke in einem Block in dem Cache-
Speicher gesichert werden, damit es beim nächsten Mal zur Verfü
gung steht.
Im Cache-Treffer-Lesebetrieb wählt die Leseweg-Auswahlschaltung 10
in Abhängigkeit von dem Weg-Treffersignal einen der Wege des Da
ten-Speicherbereichs 9 aus und die von dem Prozessor benötigten
Daten werden durch die an den Speicherbereich 9 gelieferte Satz
und Blockadressen bestimmt. Danach werden die in dem ausgewählten
Weg gesendeten Daten über den I/O Daten-Zwischenspeicher 1 an den
Prozessor geliefert. Im Cache-Treffer-Schreibbetrieb wählt die
Schreibweg-Auswahlschaltung 8 einen der Wege des Daten-Speicherbe
reichs 9 aus und die Adresse der von dem Prozessor zu übertragen
den Daten wird durch die an den Speicherbereich 9 gelieferte Satz-
und Blockadresse bestimmt. Dadurch werden die von dem Prozessor
gelieferten Daten an die Adresse des ausgewählten Wegs geschrieben
und so diese auf den neuesten Stand gebracht.
Im Cache-Nichttreffer-Blockschreibbetrieb kann der Vergleicher 5
keine übereinstimmende gültige Anfangsadresse bestimmen und es
wird ein Cache-Nichttreffer erkannt. In diesem Fall liefert der
Vergleicher 5 ein Cache-Nichttreffersignal über die Steuerung 3 an
den Prozessor. Als Antwort auf das Cache-Nichttreffersignal greift
der Prozessor auf den Hauptspeicher zu, um von diesem ein in dem
Cache-Speicher nicht gefundenes Datenelement über einen I/O Daten-
Zwischenspeicher/Steuerung 13 und den I/O Daten-Zwischenspeicher 1
zu erhalten. Andererseits empfängt ein Blocklade-Zwischenspeicher
12 von dem Zwischenspeicher/Steuerung 13 die aus vier Blöcken be
stehenden Daten, wobei in einem der Blöcke das zu dem Prozessor
übertragene Datenelement enthalten ist. Die aus vier Blöcken be
stehenden Daten werden blockweise nacheinander in den durch eine
Blocklade-Weg-Auswahlschaltung 11 ausgewählten Weg geschrieben.
Die Auswahlschaltung 11 wird von der Ausgabe des LRU-Weg-Speicher
bereichs 4 gesteuert.
Jeder der konventionellen Cache-Speicher in einem Multiprozessor-
System ist mit nur einem Anfangsadressen-Vergleicher 5 ausgestat
tet. Wenn Daten in einem bestimmten Cache-Platz neu geschrieben
werden, ist es dadurch nicht möglich zu überprüfen, ob die Daten
mit der gleichen Adresse in einem anderen Cache-Platz bereits neu
geschrieben worden sind, ohne auf den anderen Cache-Platz
zuzugreifen. Dies führt also zu den oben genannten Problemen. Im
einzelnen besteht die Gefahr, daß der nicht auf den neuesten Stand
gebrachte Inhalt eines anderen Cache-Platzes irrtümlich zu diesem
zu dem anderen Cache-Platz gehörenden Prozessor übertragen wird.
Um dieses Problem zu vermeiden, muß der Betrieb der Prozessoren
solange eingestellt werden, bis alle Cache-Plätze bis auf den
augenblicklich auf den neuesten Stand gebrachten Cache-Platz
daraufhin überprüft werden, daß sie keine falschen Daten enthal
ten. Dieses Verfahren ist zeitaufwendig und führt zu einer Ver
schlechterung der Eigenschaften des Systems.
Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, die
vorstehenden Nachteile zu vermeiden, und insbesondere einen Cache-
Speicher bereitzustellen, der besonders gut zur Verwendung in ei
nem Multiprozessor-System geeignet ist und die Verarbeitungsge
schwindigkeit in dem Multiprozessor-System erhöht.
Gemäß der vorliegenden Erfindung umfaßt ein Multiprozessor-System
mehrere Cache-Speicher, wobei jeder Cache-Speicher einem einzelnen
Prozessor zugeordnet ist und wobei ein gemeinsamer Hauptspeicher
von mehreren Prozessoren genutzt wird. Der Cache-Speicher weist
auf: erste Einrichtungen zum Sichern von Daten für einen schnellen
Zugriff durch den Prozessor, der dem Cache-Speicher zugeordnet
ist, zweite Einrichtungen zum Sichern von Anfangsadressen, die je
weils einem der in den ersten Einrichtungen gespeicherten Daten
wörter entsprechen, wobei die zweiten Einrichtungen mit zwei Toren
ausgestattet sind, so daß sie unabhängig voneinander durch den
Prozessor und einen anderen Cache-Speicher ansprechbar sind,
dritte Einrichtungen zum Sichern von Gültigkeitsinformationen für
die Anfangsadresse, die jeweils angeben, ob die entsprechende An
fangsadresse gültig ist oder nicht, wobei die dritten Einrich
tungen mit zwei Toren ausgestattet sind, so daß diese von dem Pro
zessor und einem anderen Cache-Speicher unabhängig voneinander an
sprechbar sind, vierte Einrichtungen, die, wenn ein Cache-Platz in
einem anderen Cache-Speicher auf den neuesten Stand gebracht wird,
die zweiten und dritten Einrichtungen mit einer Satzadresse eines
von dem anderen Cache-Speicher ausgegebenen Hauptspeicher-An
sprechsignals beliefern, damit die zweiten und dritten Einrich
tungen die entsprechende Anfangsadresse bzw. die entsprechende
Gültigkeitsinformation für die Anfangsadresse ausgeben, fünfte
Einrichtungen zum Vergleichen der von den zweiten Einrichtungen
gelieferten Anfangsadresse mit einer Anfangsadresse des Haupt
speicher-Ansprechsignals und zum Überprüfen, ob jede der geliefer
ten Anfangsadressen gültig ist, und Ausgeben eines Treffersignals,
wenn die gelieferten Anfangsadressen identisch und gültig sind,
und sechste Einrichtungen zum Ungültigerklären der Gültigkeitsin
formation für die Anfangsadresse als Antwort auf das Treffer
signal.
Die Erfindung wird nachstehend anhand eines Ausführungsbeispiels
und der Zeichnung näher erläutert. In den Figuren sind gleiche
Blöcke mit den gleichen Bezugszeichen versehen. Es zeigen:
Fig. 1 eine Blockschaltung des zuvor beschriebenen konventio
nellen Cache-Speichers,
Fig. 2 eine Blockschaltung eines Abschnitts eines erfindungsge
mäßen Cache-Speichers,
Fig. 3 eine vereinfachte Blockschaltung zur Erläuterung der Ar
beitsweise der Erfindung, wobei mehrere Cache-Speicher zwischen
mehreren Prozessoren und einem Hauptspeicher angeordnet sind, und
Fig. 4 eine Blockschaltung einer Zwei-Tor-Speicherzelle, die
für die Speicherbereiche eines erfindungsgemäßen Cache-Speichers
verwendbar ist.
Eine bevorzugte Ausführungsform der Erfindung wird anhand der Fig.
2 bis 4 nachstehend beschrieben.
Fig. 2 zeigt eine Blockschaltung, der erfindungsgemäßen
Anordnung, aus der bevorzugte Merkmale der Erfindung hervorgehen.
Die dargestellten Elemente des Speichers entsprechen denen von
Fig. 1. Ein A-Tor-Anfangsadressen-Vergleicher 25 ist identisch
mit dem Vergleicher 5 von Fig. 1. Ein Anfangsadressen-Speicherbe
reich 26 und ein Speicherbereich 27 für die Gültigkeitsinformation
der Anfangsadresse sind bis auf die Tatsache, daß die Abschnitte
26, 27 mit zwei Toren ausgestattet sind, jeweils identisch mit den
Bereichen 6 und 7 von Fig. 1. In der Praxis weisen jede der
Speicherbereiche 26 und 27 mehrere Speicherzellen auf. Ein Bei
spiel für eine derartige Zelle ist in Fig. 4 dargestellt. Wie aus
der Figur hervorgeht, ist jede Speicherzelle mit zwei Wortlei
tungen und außerdem mit zwei Digitalleitungen verbunden. Derartige
Speicherzellen sind allgemein bekannt, so daß von einer detail
lierten Beschreibung abgesehen werden kann. Das wichtigste Merkmal
der Zwei-Tor-Speicherbereiche 26, 27 ist, daß sie von dem diesen
Cache-Speicher zugeordneten Prozessor (CPU) und einem anderen
Cache-Speicher über die Schaltung 13 unabhängig ansprechbar sind.
Die Arbeitsweise der Speicherbereiche 26, 27 und des Vergleichers
25 ist bereits oben ausführlich beschrieben, so daß sie hier nicht
wiederholt werden muß.
Bevor die Beschreibung der Anordnung von Fig. 2 fortgesetzt wird,
wird zunächst Fig. 3 näher erläutert. Dargestellt sind in verein
fachter Weise zwei Prozessoren A, B, zwei Cache-Speicher A, B, die
den Prozessoren A, B jeweils zugeordnet sind, und einem Hauptspei
cher 40, der über einen Systembus von den Prozessoren A, B gemein
sam genutzt wird. Es wird angenommen, daß (a) der Prozessor A an
eine gegebene Adresse einen Erneuerungsbefehl ausgibt und (b) als
Antwort auf diesen Erneuerungsbefehl die Daten unter dieser
Adresse in dem Cache-Speicher A und dem Hauptspeicher 40 auf den
neuesten Stand gebracht oder neu geschrieben werden. Wenn dies
eintritt, müssen die Daten an der gleichen Adresse des Cache-Spei
chers B ebenfalls neu geschrieben werden. Andernfalls könnte der
Prozessor B die vorherigen Daten von der gleichen Adresse in dem
Cache-Speicher B lesen, was zu einem fehlerhaften Systembetrieb
führen würde. Der Grundgedanke der Erfindung ist daher, die Daten
bei der Adresse, an der eine Erneuerung stattgefunden hat, in
einem anderen Cache-Speicher und in einem gemeinsamen Haupt
speicher für ungültig zu erklären.
Die Anordnung von Fig. 2 weist gemäß dem oben genannten Grundge
danken der Erfindung einen B-Tor-Anfangsadressen-Vergleicher 30
und eine Lösch-Weg-Auswahlschaltung 32 auf. Die Schaltung 13 ist
mit der Schaltung von Fig. 1 mit dem gleichen Bezugszeichen iden
tisch. Wenn die Daten bei einer bestimmten Adresse in einem ande
ren Cache-Speicher (beispielsweise Cache-Speicher A) und dem ge
meinsamen Hauptspeicher als Antwort auf den Erneuerungsbefehl des
zu dem Cache-Speicher A zugeordneten Prozessors (Prozessor A) neu
geschrieben worden sind, beliefert die Schaltung 13 die Speicher
bereiche 26 und 27 mit einer Satzadresse, die in einem Haupt
speicher-Ansprechsignal enthalten ist, das entsprechend dem Er
neuerungsbefehl des Prozessors A zur Erneuerung des Hauptspeichers
verwendet wird. Als Antwort auf diese Satzadresse liefern die Wege
der Speicherbereiche 26 und 27 die entsprechende Anfangsadresse
und die Gültigkeitsinformation an die entsprechenden Wege des Ver
gleichers 30. Die Schaltung 13 liefert außerdem eine An
fangsadresse, die in dem zuvor genannten Hauptspeicher-Ansprechsi
gnal enthalten ist, an jeden Weg des Vergleichers 30. Danach ver
gleicht der Vergleicher 30 die gelieferten gültigen Anfangsadres
sen. Wenn der Vergleicher 30 eine übereinstimmende gültige An
fangsadresse erkennt, gibt er ein B-Tor-Cache-Treffersignal und
ein B-Tor-Wegtreffersignal aus. Das Wegtreffersignal wird an die
Lösch-Weg-Auswahlschaltung 32 geliefert, die eine der Wege des
Speicherbereichs 27 auswählt. Dieser ausgewählte Weg enthält die
Adresse, dessen Daten für ungültig erklärt werden sollen. Da das
Satzsignal die Adresse für jeden Weg bestimmt dessen Inhalt ver
glichen worden ist, wird die Adresse, dessen Information gestri
chen werden soll, durch die Ausgabe der Auswahlschaltung 32 be
stimmt.
Wenn andererseits keine übereinstimmende gültige Anfangsadresse
von dem Vergleicher 30 gefunden wird, ist das Verfahren zum Ungül
tigerklären einer Speicherstelle in dem Speicherbereich 27 nicht
erforderlich.
Claims (3)
1. Multiprozessor-System mit mehreren Cache-Speichern, wobei jeder
Cache-Speicher einem einzelnen Prozessor zugeordnet ist und wo
bei ein gemeinsamer Hauptspeicher von mehreren Prozessoren ge
meinsam genutzt wird, wobei der Cache-Speicher aufweist:
erste Einrichtungen zum Sichern von Daten zum schnellen Zugriff mittels dem dem Cache-Speicher zugeordneten Prozessor,
zweite Einrichtungen zum Sichern von Anfangsadressen, die je weils einem in den ersten Einrichtungen gespeicherten Daten wort entsprechen, wobei die zweiten Einrichtungen zwei Tore aufweisen und so unabhängig voneinander von dem Prozessor und einem anderen Cache-Speicher ansprechbar sind,
dritte Einrichtungen zum Sichern von Gültigkeitsinformationen für die Anfangsadressen, die jeweils angeben, ob die entspre chende Anfangsadresse gültig ist oder nicht, wobei die dritten Einrichtungen zwei Eingänge aufweisen und so unabhängig vonein ander von dem Prozessor und einem anderen Cache-Speicher an sprechbar sind,
vierte Einrichtungen, die, wenn ein anderer Cache-Speicher auf den neuesten Stand gebracht wird, die zweiten und dritten Ein richtungen mit einer von diesem anderen Cache-Speicher ausgege benen Satzadresse eines Hauptspeicher-Ansprechsignals belie fern, so daß die zweiten und dritten Einrichtungen die entspre chende Anfangsadresse bzw. die entsprechende Gültigkeitsinfor mation für die Anfangsadresse ausgeben,
fünfte Einrichtungen zum Vergleichen der von den zweiten Ein richtungen gewonnenen Anfangsadresse mit einer Anfangsadresse des Hauptspeicher-Ansprechsignals und zum Überprüfen, ob jede gelieferte Anfangsadresse gültig ist, und zum Ausgeben eines Treffersignals für den Fall, daß die gelieferten Anfangsadres sen identisch und gültig sind, und
sechste Einrichtungen zum Ungültigerklären der Gültigkeitsin formation für die Anfangsadresse als Antwort auf das Treffer signal.
erste Einrichtungen zum Sichern von Daten zum schnellen Zugriff mittels dem dem Cache-Speicher zugeordneten Prozessor,
zweite Einrichtungen zum Sichern von Anfangsadressen, die je weils einem in den ersten Einrichtungen gespeicherten Daten wort entsprechen, wobei die zweiten Einrichtungen zwei Tore aufweisen und so unabhängig voneinander von dem Prozessor und einem anderen Cache-Speicher ansprechbar sind,
dritte Einrichtungen zum Sichern von Gültigkeitsinformationen für die Anfangsadressen, die jeweils angeben, ob die entspre chende Anfangsadresse gültig ist oder nicht, wobei die dritten Einrichtungen zwei Eingänge aufweisen und so unabhängig vonein ander von dem Prozessor und einem anderen Cache-Speicher an sprechbar sind,
vierte Einrichtungen, die, wenn ein anderer Cache-Speicher auf den neuesten Stand gebracht wird, die zweiten und dritten Ein richtungen mit einer von diesem anderen Cache-Speicher ausgege benen Satzadresse eines Hauptspeicher-Ansprechsignals belie fern, so daß die zweiten und dritten Einrichtungen die entspre chende Anfangsadresse bzw. die entsprechende Gültigkeitsinfor mation für die Anfangsadresse ausgeben,
fünfte Einrichtungen zum Vergleichen der von den zweiten Ein richtungen gewonnenen Anfangsadresse mit einer Anfangsadresse des Hauptspeicher-Ansprechsignals und zum Überprüfen, ob jede gelieferte Anfangsadresse gültig ist, und zum Ausgeben eines Treffersignals für den Fall, daß die gelieferten Anfangsadres sen identisch und gültig sind, und
sechste Einrichtungen zum Ungültigerklären der Gültigkeitsin formation für die Anfangsadresse als Antwort auf das Treffer signal.
2. Multiprozessor-System nach Anspruch 1, wobei der Cache-Speicher
auf einem Chip hergestellt ist.
3. Cache-Speicher zur Verwendung in einem Multiprozessor-System
mit mehreren Cache-Speichern, wobei jeder Cache-Speicher einem
einzelnen Prozessor zugeordnet ist und wobei ein gemeinsamer
Hauptspeicher von mehreren Prozessoren gemeinsam genutzt wird,
dadurch gekennzeichnet, daß der Cache-Speicher aufweist:
erste Einrichtungen zum Sichern von Daten zum schnellen Zugriff mittels dem dem Cache-Speicher zugeordneten Prozessor,
zweite Einrichtungen zum Sichern von Anfangsadressen, die je weils einem in den ersten Einrichtungen gespeicherten Daten wort entsprechen, wobei die zweiten Einrichtungen zwei Tore aufweisen und so unabhängig voneinander von dem Prozessor und einem anderen Cache-Speicher ansprechbar sind,
dritte Einrichtungen zum Sichern von Gültigkeitsinformationen für die Anfangsadressen, die jeweils angeben, ob die entspre chende Anfangsadresse gültig ist oder nicht, wobei die dritten Einrichtungen zwei Eingänge aufweisen und so unabhängig vonein ander von dem Prozessor und einem anderen Cache-Speicher an sprechbar sind,
vierte Einrichtungen, die, wenn ein anderer Cache-Speicher auf den neuesten Stand gebracht wird, die zweiten und dritten Ein richtungen mit einer von diesem anderen Cache-Speicher ausgege benen Satzadresse eines Hauptspeicher-Ansprechsignals belie fern, so daß die zweiten und dritten Einrichtungen die entspre chende Anfangsadresse bzw. die entsprechende Gültigkeitsinfor mation für die Anfangsadresse ausgeben,
fünfte Einrichtungen zum Vergleichen der von den zweiten Ein richtungen gewonnenen Anfangsadresse mit einer Anfangsadresse des Hauptspeicher-Ansprechsignals und zum Überprüfen, ob jede gelieferte Anfangsadresse gültig ist, und zum Ausgeben eines Treffersignals für den Fall, daß die gelieferten Anfangsadres sen identisch und gültig sind, und
sechste Einrichtungen zum Ungültigerklären der Gültigkeitsin formation für die Anfangsadresse als Antwort auf das Treffer signal.
erste Einrichtungen zum Sichern von Daten zum schnellen Zugriff mittels dem dem Cache-Speicher zugeordneten Prozessor,
zweite Einrichtungen zum Sichern von Anfangsadressen, die je weils einem in den ersten Einrichtungen gespeicherten Daten wort entsprechen, wobei die zweiten Einrichtungen zwei Tore aufweisen und so unabhängig voneinander von dem Prozessor und einem anderen Cache-Speicher ansprechbar sind,
dritte Einrichtungen zum Sichern von Gültigkeitsinformationen für die Anfangsadressen, die jeweils angeben, ob die entspre chende Anfangsadresse gültig ist oder nicht, wobei die dritten Einrichtungen zwei Eingänge aufweisen und so unabhängig vonein ander von dem Prozessor und einem anderen Cache-Speicher an sprechbar sind,
vierte Einrichtungen, die, wenn ein anderer Cache-Speicher auf den neuesten Stand gebracht wird, die zweiten und dritten Ein richtungen mit einer von diesem anderen Cache-Speicher ausgege benen Satzadresse eines Hauptspeicher-Ansprechsignals belie fern, so daß die zweiten und dritten Einrichtungen die entspre chende Anfangsadresse bzw. die entsprechende Gültigkeitsinfor mation für die Anfangsadresse ausgeben,
fünfte Einrichtungen zum Vergleichen der von den zweiten Ein richtungen gewonnenen Anfangsadresse mit einer Anfangsadresse des Hauptspeicher-Ansprechsignals und zum Überprüfen, ob jede gelieferte Anfangsadresse gültig ist, und zum Ausgeben eines Treffersignals für den Fall, daß die gelieferten Anfangsadres sen identisch und gültig sind, und
sechste Einrichtungen zum Ungültigerklären der Gültigkeitsin formation für die Anfangsadresse als Antwort auf das Treffer signal.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62029293A JPH0668735B2 (ja) | 1987-02-09 | 1987-02-09 | キヤツシユメモリ− |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3803759A1 true DE3803759A1 (de) | 1988-08-18 |
DE3803759C2 DE3803759C2 (de) | 1991-04-25 |
Family
ID=12272195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3803759A Granted DE3803759A1 (de) | 1987-02-09 | 1988-02-08 | Cache-speicher zur verwendung in multiprozessor-systemen |
Country Status (3)
Country | Link |
---|---|
US (1) | US5056002A (de) |
JP (1) | JPH0668735B2 (de) |
DE (1) | DE3803759A1 (de) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0340668A2 (de) * | 1988-05-06 | 1989-11-08 | Hitachi, Ltd. | Mehrprozessorsystem mit einem mehranschlüssigen Cachespeicher |
EP0439952A2 (de) * | 1990-01-31 | 1991-08-07 | STMicroelectronics, Inc. | Doppeltor-Cache-Etikettenspeicher |
EP0553743A1 (de) * | 1992-01-31 | 1993-08-04 | Motorola, Inc. | Cachespeichersteuerungseinrichtung |
US5247649A (en) * | 1988-05-06 | 1993-09-21 | Hitachi, Ltd. | Multi-processor system having a multi-port cache memory |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5276850A (en) * | 1988-12-27 | 1994-01-04 | Kabushiki Kaisha Toshiba | Information processing apparatus with cache memory and a processor which generates a data block address and a plurality of data subblock addresses simultaneously |
JPH0740247B2 (ja) * | 1989-06-20 | 1995-05-01 | 松下電器産業株式会社 | キャッシュメモリ装置 |
US5287484A (en) * | 1989-06-21 | 1994-02-15 | Hitachi, Ltd. | Multi-processor system for invalidating hierarchical cache |
JPH0666056B2 (ja) * | 1989-10-12 | 1994-08-24 | 甲府日本電気株式会社 | 情報処理システム |
JP2695017B2 (ja) * | 1989-11-08 | 1997-12-24 | 富士通株式会社 | データ転送方式 |
EP0435475B1 (de) * | 1989-12-22 | 1996-02-07 | Digital Equipment Corporation | Hochleistungsrasterpuffer- und -cachespeicheranordnung |
JPH061463B2 (ja) * | 1990-01-16 | 1994-01-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチプロセッサ・システムおよびそのプライベート・キャッシュ制御方法 |
JPH03219345A (ja) * | 1990-01-25 | 1991-09-26 | Toshiba Corp | 多ポートキャッシュメモリ制御装置 |
JPH05108484A (ja) * | 1990-06-07 | 1993-04-30 | Intel Corp | キヤツシユメモリ |
US5732241A (en) * | 1990-06-27 | 1998-03-24 | Mos Electronics, Corp. | Random access cache memory controller and system |
US5488709A (en) * | 1990-06-27 | 1996-01-30 | Mos Electronics, Corp. | Cache including decoupling register circuits |
US5465344A (en) * | 1990-08-20 | 1995-11-07 | Matsushita Electric Industrial Co., Ltd. | Microprocessor with dual-port cache memory for reducing penalty of consecutive memory address accesses |
US5434989A (en) * | 1991-02-19 | 1995-07-18 | Matsushita Electric Industrial Co., Ltd. | Cache memory for efficient access with address selectors |
US5339322A (en) * | 1991-03-29 | 1994-08-16 | Sgs-Thomson Microelectronics, Inc. | Cache tag parity detect circuit |
JP2703418B2 (ja) * | 1991-04-24 | 1998-01-26 | 株式会社東芝 | 中央演算処理装置 |
US5319768A (en) * | 1991-05-01 | 1994-06-07 | Sgs-Thomson Microelectronics, Inc. | Control circuit for resetting a snoop valid bit in a dual port cache tag memory |
US5335335A (en) * | 1991-08-30 | 1994-08-02 | Compaq Computer Corporation | Multiprocessor cache snoop access protocol wherein snoop means performs snooping operations after host bus cycle completion and delays subsequent host bus cycles until snooping operations are completed |
JPH05257899A (ja) * | 1992-02-19 | 1993-10-08 | Nec Corp | キャッシュメモリユニット |
US5696935A (en) * | 1992-07-16 | 1997-12-09 | Intel Corporation | Multiported cache and systems |
US5513335A (en) * | 1992-11-02 | 1996-04-30 | Sgs-Thomson Microelectronics, Inc. | Cache tag memory having first and second single-port arrays and a dual-port array |
US5778424A (en) * | 1993-04-30 | 1998-07-07 | Avsys Corporation | Distributed placement, variable-size cache architecture |
US5414824A (en) * | 1993-06-30 | 1995-05-09 | Intel Corporation | Apparatus and method for accessing a split line in a high speed cache |
JPH0756815A (ja) * | 1993-07-28 | 1995-03-03 | Internatl Business Mach Corp <Ibm> | キャッシュ動作方法及びキャッシュ |
US5420991A (en) * | 1994-01-04 | 1995-05-30 | Intel Corporation | Apparatus and method for maintaining processing consistency in a computer system having multiple processors |
US5671391A (en) * | 1994-01-10 | 1997-09-23 | Ncr Corporation | Coherent copyback protocol for multi-level cache memory systems |
KR100391727B1 (ko) * | 1994-11-09 | 2003-11-01 | 소니 일렉트로닉스 인코포레이티드 | 메모리시스템및메모리억세싱방법 |
US5745729A (en) * | 1995-02-16 | 1998-04-28 | Sun Microsystems, Inc. | Methods and apparatuses for servicing load instructions |
US5721874A (en) * | 1995-06-16 | 1998-02-24 | International Business Machines Corporation | Configurable cache with variable, dynamically addressable line sizes |
JP2000501539A (ja) * | 1996-09-25 | 2000-02-08 | フィリップス エレクトロニクス ネムローゼ フェンノートシャップ | アドレス競合検出を持つ多重ポート・キャッシュメモリ |
US6122711A (en) | 1997-01-07 | 2000-09-19 | Unisys Corporation | Method of and apparatus for store-in second level cache flush |
US6260114B1 (en) | 1997-12-30 | 2001-07-10 | Mcmz Technology Innovations, Llc | Computer cache memory windowing |
US6253285B1 (en) | 1998-04-16 | 2001-06-26 | Compaq Computer Corporation | Method and apparatus for minimizing dcache index match aliasing using hashing in synonym/subset processing |
US6757815B2 (en) * | 1999-12-23 | 2004-06-29 | Intel Corporation | Single array banked branch target buffer |
DE10040267A1 (de) * | 2000-08-17 | 2002-02-28 | Philips Corp Intellectual Pty | Prozessor-Speicher-System |
WO2008126169A1 (ja) * | 2007-03-12 | 2008-10-23 | Fujitsu Limited | ストレージ管理プログラム、ストレージ管理方法およびストレージ管理装置 |
US20090019306A1 (en) * | 2007-07-11 | 2009-01-15 | Herbert Hum | Protecting tag information in a multi-level cache hierarchy |
US10810116B2 (en) * | 2017-06-29 | 2020-10-20 | Sap Se | In-memory database with page size adaptation during loading |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3046912A1 (de) * | 1979-12-14 | 1981-09-03 | Honeywell Information Systems Inc., 02154 Waltham, Mass. | Verfahren und schaltungsanordnung zum loeschen eines cachespeichers einer datenverarbeitungsanlage |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4228503A (en) * | 1978-10-02 | 1980-10-14 | Sperry Corporation | Multiplexed directory for dedicated cache memory system |
US4349871A (en) * | 1980-01-28 | 1982-09-14 | Digital Equipment Corporation | Duplicate tag store for cached multiprocessor system |
US4442487A (en) * | 1981-12-31 | 1984-04-10 | International Business Machines Corporation | Three level memory hierarchy using write and share flags |
US4503497A (en) * | 1982-05-27 | 1985-03-05 | International Business Machines Corporation | System for independent cache-to-cache transfer |
US4794524A (en) * | 1984-07-03 | 1988-12-27 | Zilog, Inc. | Pipelined single chip microprocessor having on-chip cache and on-chip memory management unit |
US4847804A (en) * | 1985-02-05 | 1989-07-11 | Digital Equipment Corporation | Apparatus and method for data copy consistency in a multi-cache data processing unit |
US4768148A (en) * | 1986-06-27 | 1988-08-30 | Honeywell Bull Inc. | Read in process memory apparatus |
-
1987
- 1987-02-09 JP JP62029293A patent/JPH0668735B2/ja not_active Expired - Fee Related
-
1988
- 1988-02-08 DE DE3803759A patent/DE3803759A1/de active Granted
- 1988-02-09 US US07/153,890 patent/US5056002A/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3046912A1 (de) * | 1979-12-14 | 1981-09-03 | Honeywell Information Systems Inc., 02154 Waltham, Mass. | Verfahren und schaltungsanordnung zum loeschen eines cachespeichers einer datenverarbeitungsanlage |
Non-Patent Citations (1)
Title |
---|
TERAMIAM, Michael M.: "Twin Cache Tags Enable Concurrent Micro/DMA Processing".In: Computer Design, Juni 1985, S. 157-159 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0340668A2 (de) * | 1988-05-06 | 1989-11-08 | Hitachi, Ltd. | Mehrprozessorsystem mit einem mehranschlüssigen Cachespeicher |
EP0340668A3 (en) * | 1988-05-06 | 1990-08-29 | Hitachi, Ltd. | Multi-processor system having a multi-port cache memory |
US5247649A (en) * | 1988-05-06 | 1993-09-21 | Hitachi, Ltd. | Multi-processor system having a multi-port cache memory |
EP0439952A2 (de) * | 1990-01-31 | 1991-08-07 | STMicroelectronics, Inc. | Doppeltor-Cache-Etikettenspeicher |
EP0439952A3 (en) * | 1990-01-31 | 1992-09-09 | Sgs-Thomson Microelectronics, Inc. | Dual-port cache tag memory |
EP0553743A1 (de) * | 1992-01-31 | 1993-08-04 | Motorola, Inc. | Cachespeichersteuerungseinrichtung |
Also Published As
Publication number | Publication date |
---|---|
US5056002A (en) | 1991-10-08 |
JPH0668735B2 (ja) | 1994-08-31 |
DE3803759C2 (de) | 1991-04-25 |
JPS63195752A (ja) | 1988-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3803759C2 (de) | ||
DE3909896C2 (de) | ||
DE69817696T2 (de) | Warmaustausch von gespiegeltem Nachschreib-Cachespeicher | |
EP0013737B1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE2847960A1 (de) | Speichersteuereinrichtung | |
EP0254247A2 (de) | Einrichtung zur Rettung des Rechnerzustandes | |
DE2617408B2 (de) | Speichermodul für ein Datenverarbeitungsgerät mit Speicherhierarchie | |
DE3502147C2 (de) | ||
DE2939411C2 (de) | Datenverarbeitungsanlage mit virtueller Speicheradressierung | |
DE4103093C2 (de) | Verfahren zum Steuern eines Datenübertragungs-Pufferspeichers und Computersystem zum Durchführen dieses Verfahrens | |
DE3919802C2 (de) | Speichersteuersystem für ein Multiprozessorsystem | |
EP0739509B1 (de) | Anordnung mit master- und slave-einheiten | |
DE19709730C2 (de) | Mikrocomputer | |
DE2710477A1 (de) | Anordnung zur kohaerenten leitung des informationsaustauschs zwischen zwei aneinanderstossenden niveaus einer speicherhierarchie | |
DE4114053A1 (de) | Computersystem mit cachespeicher | |
DE4029861C2 (de) | Mehrprozessorsystem und Speichersteuerverfahren dafür | |
EP0265636A1 (de) | Multiprozessor mit mehreren mit Cache-Speichern ausgerüsteten Prozessoren und einem gemeinsamen Speicher | |
DE10062404A1 (de) | Vorrichtung und Verfahren zum Reduzieren der Anzahl von Adressen fehlerhafter Speicherzellen | |
EP0257405B1 (de) | Verfahren und Anordnung zum Aktualisieren von Steuerbitkombinationen | |
EP0970426B1 (de) | Abhängigkeitssteuerung für überlappende speicherzugriffe | |
EP0556430B1 (de) | Verfahren zur Steuerung eines Peripheriesystems | |
DE4392143C1 (de) | Platten-Array-Vorrichtung | |
EP0190575A1 (de) | Verfahren und Anordnung zur Verringerung des Einflusses von Speicherfehlern auf in Cache-Speichern von Datenverarbeitungsanlagen gespeicherten Daten | |
EP0613077B1 (de) | Verfahren zur Reset-Erzeugung in Datenverarbeitungsanlagen | |
DE102006045655A1 (de) | Speichersteuervorrichtung und Verfahren zur Vergabe von Zugriffsrechten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8128 | New person/name/address of the agent |
Representative=s name: VOSSIUS, V., DIPL.-CHEM. DR.RER.NAT. TAUCHNER, P., |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8328 | Change in the person/name/address of the agent |
Free format text: TAUCHNER, P., DIPL.-CHEM. DR.RER.NAT. HEUNEMANN, D., DIPL.-PHYS. DR.RER.NAT. RAUH, P., DIPL.-CHEM. DR.RER.NAT., PAT.-ANWAELTE, 8000 MUENCHEN |
|
8327 | Change in the person/name/address of the patent owner |
Owner name: NEC ELECTRONICS CORP., KAWASAKI, KANAGAWA, JP |
|
8339 | Ceased/non-payment of the annual fee |