DE3803759C2 - - Google Patents
Info
- Publication number
- DE3803759C2 DE3803759C2 DE3803759A DE3803759A DE3803759C2 DE 3803759 C2 DE3803759 C2 DE 3803759C2 DE 3803759 A DE3803759 A DE 3803759A DE 3803759 A DE3803759 A DE 3803759A DE 3803759 C2 DE3803759 C2 DE 3803759C2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- cache
- start address
- data
- cache memory
- 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
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
zur Verwendung in einem Multiprozessor-System
mit mehreren Cache-Speichern nach dem Oberbegriff des Patentanspruchs 1,
sowie ein Multiprozessor-System mit mehreren Cache-Speichern nach dem Oberbegriff des Patentanspruchs 3.
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 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
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 2a, 2b und 2c, 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 2b 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 2a 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 2a mit einer der
Anfangsadressen des Speicherbereichs 6 übereinstimmt und sich die
übereinstimmende Anfangsadresse als gültig erweist, erzeugt der
Vergleicher 5 ein Cache-Treffersignal. Es gibt 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.
Aus der deutschen Offenlegungsschrift DE 30 46 912 A1 ist
ein Cache-Speicher nach dem Oberbegriff des Anspruchs 1 in einem
Multiprozessor-System bekannt, bei dem zur Lösung der vorstehenden
Probleme zwei getrennte Adreßlisten verwendet werden, wobei eine
innerhalb des Cache-Speichers und eine außerhalb angeordnet ist.
Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, einen
Cache-Speicher zur Verwendung in einem Multiprozessor-System mit
mehreren Cache-Speichern nach dem Oberbegriff des Anspruchs 1 und ein
Multiprozessor-System mit solchen Cache-Speichern zu schaffen,
wobei die Datenkohärenz der Cache-Speicherinhalte gewährleistet
ist und die Verarbeitungsgeschwindigkeit in dem Multiprozessor-System
erhöht ist.
Diese Aufgabe wird durch einen Cache-Speicher nach dem
Anspruch 1 bzw. durch ein Multiprozessor-System nach
dem Anspruch 3 gelöst.
Eine vorteilhafte Ausgestaltung ist Gegenstand eines
Unteranspruchs.
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 Datenleitungspaaren 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 (4)
1. 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, wobei der Cache-Speicher aufweist:
- a) eine erste Einrichtung zum Sichern von Daten zum schnellen Zugriff mittels dem dem Cache-Speicher zugeordneten Prozessor,
- b) eine zweite Einrichtung zum Speichern von Anfangsadressen, die jeweils einem in der ersten Einrichtung gespeicherten Datenwort entsprechen, wobei die zweite Einrichtung zwei Tore aufweist und so unabhängig voneinander von dem Prozessor und einem anderen Cache-Speicher ansprechbar ist, und zum Sichern von Gültigkeitsinformationsdaten für die Anfangsadressen, die jeweils angeben, ob die entsprechende Anfangsadresse gültig ist oder nicht,
- c) eine dritte Einrichtung, die, wenn ein anderer Cache-Speicher auf den neuesten Stand gebracht wird, die zweite Einrichtung mit einer von diesem anderen Cache-Speicher ausgegebenen Satzadresse eines Hauptspeicher-Ansprechsignals beliefert, so daß die zweite Einrichtung die entsprechende Anfangsadresse bzw. die entsprechende Gültigkeitsinformationsdaten für die Anfangsadresse ausgibt,
- d) eine vierte Einrichtung zum Vergleichen der von der zweiten Einrichtung 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 Anfangsadressen identisch und gültig sind, und
- e) eine fünfte Einrichtung zum Ungültigerklären der Daten der Gültigkeitsinformation für die Anfangsadresse als Antwort auf das Treffersignal,
dadurch gekennzeichnet,
- f) daß die zweite Einrichtung zwei Gruppen von Speicherzellen mit zwei Toren aufweist, wobei die erste Speicherzellengruppe die Anfangsadressen jeweils entsprechend einem in der ersten Einrichtung gespeicherten Datenwort sichert und die zweite Speicherzellengruppe die Gültigkeitsinformationsdaten für die Anfangsadresse sichert, und
- g) daß die beiden Gruppen von Speicherzellen mit zwei Toren unabhängig voneinander vom dem Prozessor und einem anderen Cache-Speicher ansprechbar sind.
2. Cache-Speicher nach Anspruch 1, dadurch gekennzeichnet,
daß er auf einem Chip hergestellt ist.
3. 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ß ein Cache-Speicher nach Anspruch 1 oder 2 verwendet
wird.
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 DE3803759A1 (de) | 1988-08-18 |
DE3803759C2 true 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) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01280860A (ja) * | 1988-05-06 | 1989-11-13 | Hitachi Ltd | マルチポートキヤツシユメモリを有するマルチプロセツサシステム |
US5247649A (en) * | 1988-05-06 | 1993-09-21 | Hitachi, Ltd. | Multi-processor system having a multi-port cache memory |
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 | 富士通株式会社 | データ転送方式 |
DE69025302T2 (de) * | 1989-12-22 | 1996-10-02 | Digital Equipment Corp | Hochleistungsrasterpuffer- und -cachespeicheranordnung |
JPH061463B2 (ja) * | 1990-01-16 | 1994-01-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチプロセッサ・システムおよびそのプライベート・キャッシュ制御方法 |
JPH03219345A (ja) * | 1990-01-25 | 1991-09-26 | Toshiba Corp | 多ポートキャッシュメモリ制御装置 |
EP0439952A3 (en) * | 1990-01-31 | 1992-09-09 | Sgs-Thomson Microelectronics, Inc. | Dual-port cache tag memory |
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 |
EP0553743A1 (de) * | 1992-01-31 | 1993-08-04 | Motorola, Inc. | Cachespeichersteuerungseinrichtung |
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 |
WO1998013763A2 (en) * | 1996-09-25 | 1998-04-02 | Philips Electronics N.V. | Multiport cache memory with address conflict detection |
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 |
Family Cites Families (8)
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 |
FR2472232B1 (fr) * | 1979-12-14 | 1988-04-22 | Honeywell Inf Systems | Dispositif et procede d'effacement d'antememoire |
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
Also Published As
Publication number | Publication date |
---|---|
US5056002A (en) | 1991-10-08 |
JPH0668735B2 (ja) | 1994-08-31 |
DE3803759A1 (de) | 1988-08-18 |
JPS63195752A (ja) | 1988-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3803759C2 (de) | ||
DE3909896C2 (de) | ||
EP0013737B1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE2847960A1 (de) | Speichersteuereinrichtung | |
EP0254247A2 (de) | Einrichtung zur Rettung des Rechnerzustandes | |
DE3502147C2 (de) | ||
DE2617408B2 (de) | Speichermodul für ein Datenverarbeitungsgerät mit Speicherhierarchie | |
DE3439302A1 (de) | Speichersteuerungsvorrichtung | |
DE2939411C2 (de) | Datenverarbeitungsanlage mit virtueller Speicheradressierung | |
EP0500973B1 (de) | EEPROM und Verfahren zum Ändern einer Initialisierungsroutine im EEPROM | |
DE4103093C2 (de) | Verfahren zum Steuern eines Datenübertragungs-Pufferspeichers und Computersystem zum Durchführen dieses Verfahrens | |
DE3046912C2 (de) | Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage | |
DE19709730C2 (de) | Mikrocomputer | |
DE2710477A1 (de) | Anordnung zur kohaerenten leitung des informationsaustauschs zwischen zwei aneinanderstossenden niveaus einer speicherhierarchie | |
DE3919802A1 (de) | Speicherbaustein mit vektorprozessoren und einem skalarprozessor | |
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 | |
EP1449091A2 (de) | Verfahren zum synchronisieren eines speichers mit dem hauptspeicher einer rechenanlage | |
DE2355814C2 (de) | Kanalzugriffseinrichtung für eine hierarchische Speicheranordnung | |
EP0257405B1 (de) | Verfahren und Anordnung zum Aktualisieren von Steuerbitkombinationen | |
EP0556430B1 (de) | Verfahren zur Steuerung eines Peripheriesystems | |
EP0970426B1 (de) | Abhängigkeitssteuerung für überlappende speicherzugriffe | |
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 |
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 |