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
Application number
DE3803759A
Other languages
English (en)
Other versions
DE3803759A1 (de
Inventor
Takayuki Tokio/Tokyo Jp Watanabe
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.)
NEC Electronics Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of DE3803759A1 publication Critical patent/DE3803759A1/de
Application granted granted Critical
Publication of DE3803759C2 publication Critical patent/DE3803759C2/de
Granted 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0853Cache 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.
DE3803759A 1987-02-09 1988-02-08 Cache-speicher zur verwendung in multiprozessor-systemen Granted DE3803759A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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