DE3886182T2 - Mehrcachedatenspeicheranordnung. - Google Patents
Mehrcachedatenspeicheranordnung.Info
- Publication number
- DE3886182T2 DE3886182T2 DE88309704T DE3886182T DE3886182T2 DE 3886182 T2 DE3886182 T2 DE 3886182T2 DE 88309704 T DE88309704 T DE 88309704T DE 3886182 T DE3886182 T DE 3886182T DE 3886182 T2 DE3886182 T2 DE 3886182T2
- Authority
- DE
- Germany
- Prior art keywords
- cache
- input
- memory
- data
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000013500 data storage Methods 0.000 title claims description 6
- 230000015654 memory Effects 0.000 claims description 52
- 239000003550 marker Substances 0.000 claims description 17
- 101000701286 Pseudomonas aeruginosa (strain ATCC 15692 / DSM 22644 / CIP 104116 / JCM 14847 / LMG 12228 / 1C / PRS 101 / PAO1) Alkanesulfonate monooxygenase Proteins 0.000 claims 3
- 101000983349 Solanum commersonii Osmotin-like protein OSML13 Proteins 0.000 claims 3
- 238000010586 diagram Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
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/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1045—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
- G06F12/1063—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently virtually addressed
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
- Die Erfindung bezieht sich auf Mehrcachedatenspeichereinrichtungen. Insbesondere bezieht sich die Erfindung auf eine Datenspeichereinrichtung mit einem Hauptspeicher und einer Mehrzahl von kleineren, schnelleren Cachespeichern. Die Erfindung betrifft vorzugsweise, jedoch nicht ausschließlich eine Speichereinerichtung dieser Art zur Verwendung in einem Multiprozessor-Datenverarbeitungssystem, bei dem jeder der Cachespeicher einem entsprechenden der Prozessoren zugeordnet ist, und der Hauptspeicher unter den Prozessoren geteilt wird.
- Bei einer derartigen Einrichtung ist, wenn einer der Cachespeicher fortgeschaltet wird, in der Regel notwendig, die entsprechenden Daten im Hauptspeicher fortzuschalten. Wenn die gleichen Daten ferner in einem beliebigen der anderen Cachespeicher gehalten werden, sind sid nunmehr unvereinbar mit den Daten im Hauptspeicher. Dies wird als das Problem der Cachekohärenz bezeichnet.
- Eine Möglichkeit, diese schwierigkeit zu überwinden, besteht darin, jeden Cachespeicher so auszulegen, daß er kontinuierlich alle Fortschaltungen in den Hauptspeicher aus allen anderen Cachespeichern überwacht. Wenn sich irgendwelche dieser Fortschaltungen auf einen Datenausdruck im Cachespeicher beziehen, wird er fortgeschaltet oder unwirksam gemacht.
- Bei einer Datenspeichereinrichtung, die eine virtuelle Adressierung verwendet, gibt es zwei Möglichkeiten, den Cachespeicher zu adressieren, entweder mit der virtuellen Adresse oder mit der entsprechenden physichen (echten) Adresse. Das Benutzen der virtuellen Adresse hat den Vorteil, daß sie nicht in die physiche Adresse übersetzt werden muß, bevor der Cachespeicher zugegriffen werden kann; somit ist der Cachezugriff schneller.
- Um eine Cachekohärenz in einer Mehrcacheeinrichtung mit virtuell adressierten Cachespeichern sicher zu stellen, wurde vorgeschlagen, daß ein Cachespeicher, wenn er einen Datenausdruck fortschaltet, die virtuelle Adresse dieses Datenausdruckes an alle anderen Cachespeicher überträgt, wie auch die physische Adresse in den Hauptspeicher sendet. Jeder Cachespeicher kann deshalb die virtuellen Adressen aus den anderen Cachespeichern überwachen und sie verwenden, um die entsprechenden Datenausdrücke unwirksam zu machen, damit eine Cachekohärenz sichergestellt ist. Diese Lösung erhöht jedoch die Anzahl von Verbindungen, die zwischen den Cachespeichern erforderlich ist.
- Aufgabe der Erfindung ist es, die Notwendigkeit zu vermeiden, sowohl die virtuelle Adresse als auch die physische Adresse zu senden, indem eine Einrichtung zur Übersetzung physischer Adressen in virtuelle Adressen in einem virtuell adressierten Cachespeicher vorgesehen wird.
- Gemäß der Erfindung wird eine Cachespeicherdateneinrichtung nach Anspruch 1 vorgeschlagen.
- Die Merkmale des Oberbegriffes des Anspruches 1 ergeben sich aus der EP-A- 0 232 526.
- Eine Mehrprozessoreinrichtung mit einer Mehrcachespeichereinrichtung nach der Erfindung wird nachstehend anhand eines Ausführungsbeispieles in Verbindung mit den Zeichnungen beschrieben.
- Fig. 1 ist ein Gesamtblockschaltbild der Mehrprozessoreinrichtung, die eine Mehrzahl von Cachespeichereinheiten enthält.
- Fig. 2 zeigt eine Cachespeichereinheit im einzelnen.
- Fig. 3 zeigt eine physisiche Adressenmarkiereinheit, die einen Teil einer Cachespeichereinheit bildet.
- Nach Fig. 1 weist die Mehrprozessoreinrichtung eine Mehrzahl von Verarbeitungseinheiten 10 und einen Hauptspeicher 11, der anteilig benutzt wird, auf. Jede Verarbeitungseinheit 10 besitzt ihre eigene Cacheeinheit 12. Die Cacheeinheiten 12 sind alle mit dem Hauptspeicher 11 über eine getrennte Hochgeschwindigkeits-Speichersammelleitung 13 verbunden.
- Wenn im Betrieb eine Verarbeitungseinheit 10 das Auslesen oder Einschreiben eines Datenausdruckes erforderlich macht, sendet sie die virtuelle Adresse VA dieses Ausdrucks in seine Cacheeinheit 12. Ist der gewünschte Datenausdruck im Cachespeicher vorhanden, kann er unmittelbar durch die Verarbeitungseinheit zum Lesen oder Schreiben zugegriffen werden. Wenn einer der Prozessoren 10 einen Datenausdruck in seiner Cacheeinheit 12 fortschaltet, erzeugt der Cachespeicher eine fortgeschaltete Nachricht über die Sammelleitung zum Hauptspeicher 11. Dies stellt sicher, daß der Hauptspeicher mit dem Cachespeicher übereinstimmt.
- Jede Cacheeinheit überwacht fortlaufend die Sammelleitung 13 für jede der fortgeschalteten Nachrichten aus den anderen Cacheeinheiten. Wenn ein Cachespeicher eine solche Nachricht anzeigt, prüft er, ob der fortgeschaltete Datenausdruck in dem Cachespeicher vorhanden ist, und macht ihn unwirksam, wenn dies der Fall ist. Dies stellt die Cachekohärenz sicher. Die Art und Weise, in der dies geschieht, wird nachstehend beschrieben.
- Fig. 2 zeigt eine der Cacheeinheiten 12 im Detail.
- Der Cachespeicher weist einen Datenspeicher mit willkürlichem Zugriff (RAM) 20 auf, der eine Kapazität von 128 KBytes hat. Der RAM ist als 4 K individuell adressierbare Leitungen organisiert, jede Leitung hält 32 Bytes. Der Daten-KAM ist durch Bits VA 5-16 einer aus 32 Bits bestehenden virtuellen Adresse VA 0-31 adressiert, um einen Zugriff zu einer Zeile von Daten zum Lesen oder Schreiben zu haben. Bits VA 0-4 spezifizieren ein Byte innerhalb der Adressenzeile, werden jedoch nicht innerhalb des Cachespeichers verwendet.
- Der Cachespeicher weist ferner einen VA-Markier-RAM 21 auf, der 4 K Markierungen hält, und zwar jeweils eine für jede Datenzeile im Daten-KAM. Jede Markierung repräsentiert Bits VA 17-31 der virtuellen Adresse der Daten, die in dieser Zeile gehalten werden. Der VA-Markier-KAM wird durch Bits VA 5-16 adressiert.
- Der Cachespeicher besitzt des weiteren einen Status-Markier- RAM 22, der 4 K Status-Markierungen hält, und zwar jeweils eine für jede Zeile des Daten-KAM. Jede dieser Markierungen weist ein Gültigkeitsbit auf, das angibt, ob die entsprechende Zeile von Daten gültig ist oder nicht. Die Status-Markierung KAM wird ferner durch Bits VA 5- 16 adressiert.
- Wenn die Verarbeitungseinheit 10 den Zugriff eines Datenausdruckes erforderlich macht, sendet er die virtuelle Adresse VA 5-31 in den Cachespeicher. Bits VA 5-16 haben Zugriff zu einer Zeile des Cachespeichers und der entsprechenden VA-Markierung sowie Status-Markierung. Die VA-Markierung aus dem KAM 21 wird dann mit Bits VA 17-31 der virtuellen Adresse aus dem Prozessor mittels einer Vergleichsvorrichtung 23 verglichen. Das Resultat wird dann in einem UND-Gatter 24 mit dem Gültigkeitsbit für den KAM 22 kombiniert, damit ein HIT-Signal erzeugt wird.
- HIT ist somit nur dann echt, wenn die VA-Markierung der adressierten Zeile von Daten den entsprechenden Bits der virtuellen Adresse angepaßt ist, und diese Zeile gültig ist. Das HIT-Signal zeigt deshalb der Verarbeitungseinheit an, daß die gewünschten Daten in dem Cachespeicher vorhanden sind und je nach Erfordernis gelesen oder fortgeschaltet werden können.
- Die Cachespeichereinheit weist ferner eine Speicher-Managementeinheit (MMU) 25 auf, die die Bits VA 5-31 der virtuellen Adresse in eine physische Adresse PA 5-31 umsetzt. Der Adressenraum wird in Seiten mit 8 K-Bytes geteilt. Die Bits VA 13-31 stellen eine virtuelle Seitenadresse dar, und werden von der MMU in eine entsprechende physische Seitenadresse PA 13-31 umgesetzt. Die Bits VA 5-12 spezifizieren eine Leitung von 12 Bytes innerhalb der Seite und werden direkt als die entsprechenden Bits PA 5-12 der physischen Adresse ohne jede Umsetzung verwendet.
- Wenn der Prozessor eine Zeile von Daten im Cachespeicher fortschaltet, sendet der Cachespeicher eine Fortschalt-Nachricht über die Sammelleitung 13 in den Hauptspeicher. Diese Fortschalt-Nachricht weist die Bits PA 5-31 der physischen Adresse, und ferner den fortgeschalteten Wert der Datenzeile auf.
- Die Cachespeichereinheit überwacht fortlaufend die Sammelleitung für Fortschalt-Nachrichten aus anderen Cacheeinheiten. Wenn sie eine solche Nachricht anzeigt, erfaßt sie die Bits PA 5-31 der physischen Adresse der Nachricht in einem Kegister 26.
- Die physische Adresse (PA) aus dem Register 26 wird einer logischen Schaltung 27 der PA-Markierung aufgegeben. Wie noch im einzelnen ausgeführt wird, hält die Logik der PA-Markierung als Markierungen die physischen Adressen aller Leitungen von Daten, die gerade im Cachespeicher vorhanden sind. Die PA-Markierlogik führt effektiv eine parallele Nachforschung nach allen PA-Markierungen, die in ihr enthalten sind, durch und dies bestimmt, ob die entsprechende Leitung von Daten im Cachespeicher gehalten ist oder nicht. Wird eine Anpassung angezeigt gibt die PA-Markier-Logik die Bits VA 5-12 der virtuellen Adresse ab und zeigt die Position der Datenzeile im Daten-KAM 20 an. Diese VA-Bits werden dann verwendet, um den Status-Markier-KAM 22 zu adressieren, und das Gültigkeitsbit der Markierung des adressierten Zustandes wird gelöscht. Dies macht die entsprechende Datenzeile unwirksam und stellt somit die Cachespeicherkohärenz sicher.
- Die PA-Markierungslogik 27 muß effektiv einen Vergleich zwischen der PA aus der Sammelleitung und den PA-Markierungen aller 4 K-Leitungen im Cachespeicher durchführen. Auf den ersten Blick macht dies einen größeren assoziativen Speicher erforderlich, der in der Lage ist, 4 K-Vergleiche parallel durchzuführen. Wie jedoch gezeigt wird, wird mit der Erfindung vermieden, daß eine solche große Anzahl von gleichzeitigen Vergleichen notwendig wird.
- Fig. 3 zeigt die PA-Markierungslogik im Detail.
- Diese Logik weist 16 PA-Markierungs-RAMs 30 auf, von denen jeder 256 Markierungen hält. Es sind somit insgesamt 256 x 16 = 4 K Markierungen vorhanden, und zwar eine für jede der Datenleitungen im Daten-RAM.
- Alle RAMs 30 werden parallel durch die Ausgänge eines Multiplexers 31 adressiert, der entweder Bits PA 5-12 von der Sammelleitung (über das Register 26) oder Bits VA 5-12 von der Verarbeitungseinheit auswählt.
- Jeder der RAMs 30 kann mit Hilfe von Bits VA 13-16 aus der Verarbeitungseinheit ausgewählt werden. Diese Bits werden durch einen Decodierer 32 decodiert, damit ein Schreib-Steuersignal für den ausgewählten RAM erzielt wird.
- Alle Markier-RAMs 30 nehmen ein gemeinsames Eingangssignal aus einem Multiplexer 33 auf, der entweder Bits PA 13-31 aus dem MMU 25 oder Bits PA 13-31 von der Sammelleitung auswählt.
- Wenn eine neue Datenzeile in den Cachespeicher eingeführt wird, werden die PA-Markier-KAMs durch VA 5-12 und VA 13-16 adressiert, so daß eine Markierung in einem der RAMs ausgewählt wird. Die Bits PA 13-31 der physischen Adresse aus dem MMU werden dann in die ausgewählte Markierung als eine PA-Markierung für die neue Datenzeile eingeschrieben. Auf diese Weise hält die PA-Markier-Logik, die die physische Adresse aller Datenzeilen im Cachespeicher anzeigen.
- Wenn eine Fortschalt-Nachricht in der Sammelleitung angezeigt wird, werden die Markier-RAMs 30 alle durch PA 5-12 von der Sammelleitung adressiert. Die Bits PA 13-31 von der Sammelleitung werden dann parallel mit der adressierten Markierung in jedem der Markier-RAMs verglichen, d.h., daß 16 Vergleiche parallel durchgeführt werden, und zwar jeweils einer durch jeden der Markier-RAMs. Jeder der Markier-RAMs hat eine HIT-Ausgangsleitung, die eine Anpassung zwischen dem Eingang PA 13-31 und der gespeicherten Markierung anzeigt.
- Aus Gründen, die noch ausgeführt werden, ist zu einem beliebigen Zeitpunkt nur einer (oder keiner) der HIT-Ausgänge echt. Die HIT-Ausgänge werden einem 16:4 Codierer 34 aufgegeben, der die Position des echten HIT-Signals codiert. Der Ausgang des Codierers 34 rekonstruiert somit Bits VA 13-16 der virtuellen Adresse der Datenzeile, wobei die physische Adresse gleich den Bits PA 5-21 aus der Sammelleitung ist. Die rekonstruierten Bits VA 13-16 aus dem Codierer werden mit Bits PA 5-12 aus der Sammelleitung kombiniert, damit die gewünschte virtuelle Adresse VA 5-16 zum Unwirksammachen des Status-Markier-RAM in der vorbeschriebenen Weise erzielt wird.
- Wenn andererseits keine der HIT-Signale aus den Markier-RAMs 30 echt sind, erzeugt der Codierer 34 ein MISS-Signal, das angibt, daß die angefragte Datenzeile im Cachespeicher nicht vorhanden ist.
- Damit kann die PA-Markier-Logik nach Fig. 3 prüfen, ob eine Datenleitung mit einer bestimmten PA-Markierung im Cachespeicher vorhanden ist, indem nur 16 Vergleiche parallel anstatt von 4 K-Vergleichen durchgeführt werden brauchen. Dies wird dadurch erreicht, daß die Tatsache ausgenutzt wird, daß von den Bits VA 5-16, die zum Adressieren der Cache-RAMs verwendet werden, die Bits VA 5-12 identisch mit den Bits PA 5-12 der physischen Adresse sind; nur die Bits VA 13-16 sind unterschiedlich von der physischen Adresse. Wenn somit eine physische Adresse von der Sammelleitung aufgenommen wird, gibt es nur 16 mögliche Zeilen im Cachespeicher, die Daten mit dieser PA halten müssen.
- Die PA-Markier-RAMs 30 können beispielsweise mit Hilfe von vier Fujitsu MB 81 C50 CMOS-Markier-RAMs verwirklicht werden. Jede dieser Vorrichtungen ergibt einen Vierwege-Tag RAM einschließlich Vergleichsvorrichtungen zur Durchführung der Markiervergleiche, und kann deshalb verwendet werden, um eine Gruppe von vier der Markier-RAMs 30 auszuführen.
- Bei einem Speichersystem mit virtueller Adresse können mehrere unterschiedliche virtuelle Adressen auf die gleiche physische Adresse abbilden; diese werden als Synonyme bezeichnet. Im allgemeinen bedeutet dies, daß mehr als eine Zeile im Cachespeicher entsprechend einer bestimmten physischen Adresse vorhanden ist. Bei der Einrichtung nach der Erfindung wird dies durch eine Software-Beschränkung vermieden, die erforderlich macht, daß Synonyme auf einem Mehrfachen von 128 K Byte-Begrenzungen (d.h. die Größe des Cachespeichers) ausgerichtet werden. Dies bedeutet, daß Synonyme alle auf der gleichen Leitung des Cachespeichers abbilden, und daß somit zu einem bestimmten Zeitpunkt nur einer von ihnen im Cachespeicher vorhanden sein kann. Dies ist der Grund dafür, warum nur einer der Markier-RAMs 30 ein HIT zu einem bestimmten Zeitpunkt erzeugen kann.
- In vorstehender Beschreibung wurde davon ausgegangen, daß eine "Durchschreib-Strategie" für Fortschaltungen angenommen wird, d.h., daß der Hauptspeicher fortgeschaltet wird, wenn der Cachespeicher fortgeschaltet wird. Vorliegende Erfindung ist jedoch in gleicher Weise auf Speichersysteme anwendbar, die eine "Rückkopier"-Strategie verwenden, d.h., in denen Daten nur im Hauptspeicher fortgeschaltet werden, wenn sie in den Cachespeicher überschrieben werden und modifiziert worden sind, seit sie in den Cachespeicher eingefüllt wurden.
- Des weiteren wird nach vorliegender Erfindung der entsprechende Datenausdruck dann, wenn ein HIT durch die PA-Markier- Logik angezeigt wird, im Cachespeicher unwirksam gemacht wird. Andererseits kann der Datenausdruck mit dem neuen Wert aus der Sammelleitung fortgeschaltet werden, was ebenfalls eine Cachekohärenz sicherstellt.
- Es sei bemerkt, daß die virtuelle Adresse VA 0-31 in bekannter Weise durch eine Context-Zahl ausgeweitet werden kann, um eine vollständige virtuelle Adresse zu schaffen.
Claims (4)
1. Cachespeicheranordnung, mit
a) einem Cachespeicher (20), der durch eine virtuelle
Eingangsadresse VA adressiert ist,
b) einer Übersetzungseinrichtung (25) zum Übersetzen der
Eingangs-VA in eine physische Ausgangsadresse PA, und
c) einer Übersetzungslogik (27) zum Aufnehmen einer
Eingangs-PA und zum Übersetzen dieser PA in eine
entsprechende VA zum Adressieren des Cachespeichers,
d) wobei jede VA erste, zweite und dritte Teile (VA5 -12,
VA13 - 16, VA17 - 31) und jede PA erste und zweite
Teile (PA5 - 12, PA13 - 31) aufweist,
dadurch gekennzeichnet, daß
i) die Überetzungslogik (27) eine Vielzahl von
Markierspeichern (30) aufweist,
ii) wenn ein Datenausdruck mit einer bestimmten VA in
den Cachespeicher (20) eingeschrieben wird, der
zweite Teil (VA13 - 16) der Eingangs-VA zum
Auswählen eines der Markierspeicher (30) verwendet wird,
der erste Teil (VA5 - 12) der Eingangs-VA zum
Adressieren der Markierspeicher verwendet wird, und
der zweite Teil (PA13 - 31) der Ausgangs-PA aus der
Übersetzungseinrichtung (25) als eine Markierung in
den adressierten Speicherplatz des ausgewählten
Markierspeichers eingeschrieben wird, und
iii) wenn eine Eingangs-PA zur Übersetzung aufgenommen
wird, der erste Teil (PA5 - 12) der Eingangs-PA zum
Adressieren aller Markierspeicher (30) im
Parallelbetrieb verwendet wird, der zweite Teil (PA13 - 31)
der Eingangs-PA im Parallelbetrieb mit den
Markierungen in den adressierten Speicherplätzen aller
Markierspeicher (30) verglichen wird, und die
Resultate der Vergleichsvorgänge durch
Codiervorrichtungen (34) codiert werden, um den zweiten
Teil (VA13 - 16) der entsprechenden VA zu erzeugen.
2. Mehrcachedatenspeicheranordnung mit einer Vielzahl von
Cachespeichereinrichtungen (12) nach Anspruch 1, wobei
die Cachespeichereinrichtungen mit Hilfe einer
Sammelleitung (13) an einen gemeinsam benutzten Hauptspeicher
(11) angeschlossen sind.
3. Anordnung nach Anspruch 2, bei der der Ausgang PA aus
jeder Cacheeinrichtung auf die Sammelleitung übertragen
wird, und die Eingangs-PA für jede Cacheeinrichtung von
der Sammelleitung aufgenommen wird.
4. Mehrfachprozessor-Datenverarbeitungssystem mit einer
Vielzahl von Datenverarbeitungseinheiten (10) und einer
Mehrcachedatenspeicheranordnung nach Anspruch 2 oder 3,
bei dem eine Cacheeinrichtung (12) für jede
Verarbeitungseinheit vorgesehen ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB878728494A GB8728494D0 (en) | 1987-12-05 | 1987-12-05 | Multi-cache data storage system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3886182D1 DE3886182D1 (de) | 1994-01-20 |
DE3886182T2 true DE3886182T2 (de) | 1994-05-05 |
Family
ID=10628059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE88309704T Expired - Fee Related DE3886182T2 (de) | 1987-12-05 | 1988-10-17 | Mehrcachedatenspeicheranordnung. |
Country Status (6)
Country | Link |
---|---|
US (1) | US5008813A (de) |
EP (1) | EP0320099B1 (de) |
AU (1) | AU609228B2 (de) |
DE (1) | DE3886182T2 (de) |
GB (1) | GB8728494D0 (de) |
ZA (1) | ZA888032B (de) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE109910T1 (de) | 1988-01-20 | 1994-08-15 | Advanced Micro Devices Inc | Organisation eines integrierten cachespeichers zur flexiblen anwendung zur unterstützung von multiprozessor-operationen. |
GB8823077D0 (en) * | 1988-09-30 | 1988-11-09 | Int Computers Ltd | Data processing apparatus |
US5535359A (en) * | 1988-12-02 | 1996-07-09 | Mitsubishi Denki Kabushiki Kaisha | Computer system with cache memory having address mask register |
JPH0680499B2 (ja) * | 1989-01-13 | 1994-10-12 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチプロセッサ・システムのキャッシュ制御システムおよび方法 |
US5214777A (en) * | 1989-03-27 | 1993-05-25 | Ncr Corporation | High speed read/modify/write memory system and method |
US5072369A (en) * | 1989-04-07 | 1991-12-10 | Tektronix, Inc. | Interface between buses attached with cached modules providing address space mapped cache coherent memory access with SNOOP hit memory updates |
FR2645987B1 (fr) * | 1989-04-13 | 1991-06-07 | Bull Sa | Dispositif d'acceleration des acces memoire dans un systeme informatique |
FR2645986B1 (fr) * | 1989-04-13 | 1994-06-17 | Bull Sa | Procede pour accelerer les acces memoire d'un systeme informatique et systeme pour la mise en oeuvre du procede |
US5197146A (en) * | 1989-06-21 | 1993-03-23 | Hewlett-Packard Company | Method for maintaining cache coherence in a multiprocessor computer system |
US5155828A (en) * | 1989-07-05 | 1992-10-13 | Hewlett-Packard Company | Computing system with a cache memory and an additional look-aside cache memory |
JPH0340046A (ja) * | 1989-07-06 | 1991-02-20 | Hitachi Ltd | キャッシュメモリ制御方式および情報処理装置 |
JP2511146B2 (ja) * | 1989-07-07 | 1996-06-26 | 富士通株式会社 | デ―タ処理装置 |
JPH0348951A (ja) * | 1989-07-18 | 1991-03-01 | Fujitsu Ltd | アドレスモニタ装置 |
JPH0697449B2 (ja) * | 1989-09-20 | 1994-11-30 | 株式会社日立製作所 | 多重化共有メモリ制御方法、多重化共有メモリシステムおよび共有メモリ拡張方法 |
JP2833062B2 (ja) * | 1989-10-30 | 1998-12-09 | 株式会社日立製作所 | キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置 |
US5297270A (en) * | 1989-11-13 | 1994-03-22 | Zenith Data Systems Corporation | Programmable cache memory which associates each section of main memory to be cached with a status bit which enables/disables the caching accessibility of the particular section, and with the capability of functioning with memory areas of varying size |
JPH061463B2 (ja) * | 1990-01-16 | 1994-01-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチプロセッサ・システムおよびそのプライベート・キャッシュ制御方法 |
US5263142A (en) * | 1990-04-12 | 1993-11-16 | Sun Microsystems, Inc. | Input/output cache with mapped pages allocated for caching direct (virtual) memory access input/output data based on type of I/O devices |
US5249284A (en) * | 1990-06-04 | 1993-09-28 | Ncr Corporation | Method and system for maintaining data coherency between main and cache memories |
US5276852A (en) * | 1990-10-01 | 1994-01-04 | Digital Equipment Corporation | Method and apparatus for controlling a processor bus used by multiple processor components during writeback cache transactions |
US5301340A (en) * | 1990-10-31 | 1994-04-05 | International Business Machines Corporation | IC chips including ALUs and identical register files whereby a number of ALUs directly and concurrently write results to every register file per cycle |
US5249283A (en) * | 1990-12-24 | 1993-09-28 | Ncr Corporation | Cache coherency method and apparatus for a multiple path interconnection network |
GB2260429B (en) * | 1991-10-11 | 1995-05-24 | Intel Corp | Versatile cache memory |
US5469555A (en) * | 1991-12-19 | 1995-11-21 | Opti, Inc. | Adaptive write-back method and apparatus wherein the cache system operates in a combination of write-back and write-through modes for a cache-based microprocessor system |
US5414827A (en) * | 1991-12-19 | 1995-05-09 | Opti, Inc. | Automatic cache flush |
US5555382A (en) * | 1992-04-24 | 1996-09-10 | Digital Equipment Corporation | Intelligent snoopy bus arbiter |
US5778424A (en) * | 1993-04-30 | 1998-07-07 | Avsys Corporation | Distributed placement, variable-size cache architecture |
US5671391A (en) * | 1994-01-10 | 1997-09-23 | Ncr Corporation | Coherent copyback protocol for multi-level cache memory systems |
US6928521B1 (en) | 2000-08-01 | 2005-08-09 | International Business Machines Corporation | Method, system, and data structures for using metadata in updating data in a storage device |
US7681141B2 (en) * | 2004-05-11 | 2010-03-16 | Sony Computer Entertainment America Inc. | Fast scrolling in a graphical user interface |
JP4189402B2 (ja) * | 2005-02-21 | 2008-12-03 | パナソニック株式会社 | キャッシュ回路 |
US7409524B2 (en) * | 2005-08-17 | 2008-08-05 | Hewlett-Packard Development Company, L.P. | System and method for responding to TLB misses |
US8806101B2 (en) * | 2008-12-30 | 2014-08-12 | Intel Corporation | Metaphysical address space for holding lossy metadata in hardware |
US8627014B2 (en) * | 2008-12-30 | 2014-01-07 | Intel Corporation | Memory model for hardware attributes within a transactional memory system |
US8627017B2 (en) * | 2008-12-30 | 2014-01-07 | Intel Corporation | Read and write monitoring attributes in transactional memory (TM) systems |
US9785462B2 (en) | 2008-12-30 | 2017-10-10 | Intel Corporation | Registering a user-handler in hardware for transactional memory event handling |
US10592424B2 (en) * | 2017-07-14 | 2020-03-17 | Arm Limited | Range-based memory system |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3699533A (en) * | 1970-10-29 | 1972-10-17 | Rca Corp | Memory system including buffer memories |
US3693165A (en) * | 1971-06-29 | 1972-09-19 | Ibm | Parallel addressing of a storage hierarchy in a data processing system using virtual addressing |
US3848234A (en) * | 1973-04-04 | 1974-11-12 | Sperry Rand Corp | Multi-processor system with multiple cache memories |
US4453230A (en) * | 1977-12-29 | 1984-06-05 | Tokyo Shibaura Electric Co., Ltd. | Address conversion system |
US4445191A (en) * | 1979-08-13 | 1984-04-24 | Burroughs Corporation | Data word handling enhancement in a page oriented named-data hierarchical memory system |
FR2474201B1 (fr) * | 1980-01-22 | 1986-05-16 | Bull Sa | Procede et dispositif pour gerer les conflits poses par des acces multiples a un meme cache d'un systeme de traitement numerique de l'information comprenant au moins deux processus possedant chacun un cache |
US4481573A (en) * | 1980-11-17 | 1984-11-06 | Hitachi, Ltd. | Shared virtual address translation unit for a multiprocessor system |
US4602368A (en) * | 1983-04-15 | 1986-07-22 | Honeywell Information Systems Inc. | Dual validity bit arrays |
US4858111A (en) * | 1983-07-29 | 1989-08-15 | Hewlett-Packard Company | Write-back cache system using concurrent address transfers to setup requested address in main memory before dirty miss signal from cache |
US4785398A (en) * | 1985-12-19 | 1988-11-15 | Honeywell Bull Inc. | Virtual cache system using page level number generating CAM to access other memories for processing requests relating to a page |
US4785395A (en) * | 1986-06-27 | 1988-11-15 | Honeywell Bull Inc. | Multiprocessor coherent cache system including two level shared cache with separately allocated processor storage locations and inter-level duplicate entry replacement |
US4843542A (en) * | 1986-11-12 | 1989-06-27 | Xerox Corporation | Virtual memory cache for use in multi-processing systems |
US4977498A (en) * | 1988-04-01 | 1990-12-11 | Digital Equipment Corporation | Data processing system having a data memory interlock coherency scheme |
WO1990000283A1 (en) * | 1988-07-04 | 1990-01-11 | Swedish Institute Of Computer Science | Multiprocessor system including a hierarchical cache memory system |
GB8823077D0 (en) * | 1988-09-30 | 1988-11-09 | Int Computers Ltd | Data processing apparatus |
-
1987
- 1987-12-05 GB GB878728494A patent/GB8728494D0/en active Pending
-
1988
- 1988-10-17 EP EP88309704A patent/EP0320099B1/de not_active Expired - Lifetime
- 1988-10-17 DE DE88309704T patent/DE3886182T2/de not_active Expired - Fee Related
- 1988-10-21 US US07/261,033 patent/US5008813A/en not_active Expired - Fee Related
- 1988-10-26 ZA ZA888032A patent/ZA888032B/xx unknown
- 1988-12-02 AU AU26541/88A patent/AU609228B2/en not_active Ceased
Also Published As
Publication number | Publication date |
---|---|
AU609228B2 (en) | 1991-04-26 |
GB8728494D0 (en) | 1988-01-13 |
EP0320099A2 (de) | 1989-06-14 |
ZA888032B (en) | 1989-06-28 |
AU2654188A (en) | 1989-06-08 |
US5008813A (en) | 1991-04-16 |
DE3886182D1 (de) | 1994-01-20 |
EP0320099B1 (de) | 1993-12-08 |
EP0320099A3 (en) | 1990-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3886182T2 (de) | Mehrcachedatenspeicheranordnung. | |
DE68902193T2 (de) | Datenspeicheranordnung. | |
EP0013737B1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE3688192T2 (de) | Seitenorganisierter cachespeicher mit virtueller adressierung. | |
DE2227882C2 (de) | Virtuelle Speicheranordnung | |
DE2235841C2 (de) | Datenverarbeitungsanlage mit Speichersteuerung für mindestens einen Prozessor und diesen zugeordneten Pufferspeichern | |
DE2226382C3 (de) | Datenverarbeitungsanlage mit mehreren Prozessoren und diesen zugeordneten Pufferspeichern | |
DE3689488T2 (de) | Speicheranordnung mit vereinfachtem und schnellem Daten-Cachespeicher. | |
DE68924206T2 (de) | Verfahren und Einrichtung zum Filtern von Ungültigkeitserklärungsanforderungen. | |
DE3011552C2 (de) | ||
DE69814579T2 (de) | Parallel arbeitende exklusiv-oder-einheit | |
DE10002120B4 (de) | Adressumsetzpufferanordnung und Verfahren für den Betrieb einer Adressumsetzpufferanordnung | |
DE69109803T2 (de) | Verfahren und Vorrichtung zur Aufrechterhaltung der Integrität eines Cachespeichers. | |
DE2939411C2 (de) | Datenverarbeitungsanlage mit virtueller Speicheradressierung | |
EP0600112A1 (de) | Datenverarbeitungsanlage mit virtueller Speicheradressierung und schlüsselgesteuertem Speicherzugriff | |
DE3502147C2 (de) | ||
DE68928333T2 (de) | Pufferspeicher, der zur Speicherung von Befehls- und Datenblöcken auf verschiedene Blockgrössen geeignet ist | |
DE68925336T2 (de) | Datenverarbeitungsvorrichtung mit Cache-Speicher | |
DE3046912C2 (de) | Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage | |
DE69030072T2 (de) | Schneller Durchschreib-Cache-Speicher | |
DE69130626T2 (de) | Verfahren zur Verwaltung einer Cache-Speicheranordnung | |
DE4234695A1 (de) | Speichermanagementsystem und verfahren zur aufrechterhaltung der cache-kohaerenz zwischen einem daten-cache und einem segmentdeskriptor-cache | |
DE3832758C2 (de) | Verfahren zum Adressieren eines im Rückschreib-Modus betriebenen virtuellen Cache-Speichers | |
DE3200042C2 (de) | ||
DE69031365T2 (de) | Mehrrechnersystem mit hierarchischem Cache-Speicher |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |