DE68926761T2 - Mehrprozessorsystem mit einem mehranschlüssigen Cachespeicher - Google Patents
Mehrprozessorsystem mit einem mehranschlüssigen CachespeicherInfo
- Publication number
- DE68926761T2 DE68926761T2 DE68926761T DE68926761T DE68926761T2 DE 68926761 T2 DE68926761 T2 DE 68926761T2 DE 68926761 T DE68926761 T DE 68926761T DE 68926761 T DE68926761 T DE 68926761T DE 68926761 T2 DE68926761 T2 DE 68926761T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- address
- memory
- access
- 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
- 230000015654 memory Effects 0.000 claims description 86
- 238000001514 detection method Methods 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 239000000872 buffer Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- UOUBCIJIWDLRGM-UHFFFAOYSA-N 5,6-dibromo-4-nitro-2-piperidin-4-yl-1-propan-2-ylbenzimidazole Chemical compound N=1C2=C([N+]([O-])=O)C(Br)=C(Br)C=C2N(C(C)C)C=1C1CCNCC1 UOUBCIJIWDLRGM-UHFFFAOYSA-N 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- 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
-
- 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/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
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)
- Multi Processors (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf ein Multiprozessorsystem gemäß dem Oberbegriff des Anspruchs 1. Ein derartiges System ist aus der japanischen Patentzusammenfassung Nr. 57-030169 bekannt. Insbesondere bezieht sie sich auf ein Multiprozessorsystem&sub1; das einen Cache-Speicher mit vielen Zugängen hat, den sich mehrere Prozessoren teilen.
- Multiprozessoren&sub1; die mehrere Mikroprozessoren verwenden, befinden sich zur Zeit stark in der Entwicklung. Ein Beispiel eines in der JP-A-45-127261 offenbarten Multiprozessors hat eine Systemkonfiguration, bei der mehrere Prozessoren über Busse miteinander verbunden sind. Jeder Prozessor hat seinen eigenen cache-Speicher, um hohe Leistung zu erhalten und die Belastung der Busse zu verringern. Vor dem Zugriff auf einen Hauptspeicher greift jeder Prozessor auf den ihm zugeordneten cache-Speicher zu, und nur dann, wenn nichts gefunden wird, wird über einen Bus auf den Hauptspeicher zugegriffen.
- Bei einem solchen System tritt das Problem der Kohärenzsteuerung von cache-Speichern auf. Die Kohärenzsteuerung wird durchgeführt, um die Inhalte aller Cache-Speicher aller Prozessoren jeweils miteinander übereinstimmend zu machen. Im System der obengenannten JP-A-56-127261 wird ein Cache-Speichersystem vom Durchschreibetyp verwendet, bei dem dann, wenn Daten in einen cache-Speicher und in den Hauptspeicher geschrieben werden, deren Schreibadresse den anderen Cache-Speichern zugeführt wird, so daß die Inhalte der anderen Cache-Speicher an der gleichen Adresse ungültig gemacht werden.
- Die Verwendung solcher Cache-Speicher vom Durchschreibetyp führt zu häufigen schreibvorgängen im Hauptspeicher. Zur weiteren Verringerung der Häufigkeit von Schreibvorgängen wurden Algorithmen entwickelt, die Cache-Speicher vom Rückschreibetyp oder, noch weiter entwickelt, Cache-Speicher vom Einmal-Schreibtyp umfassen. Einzelheiten dieser Algorithmen kann man bei James R. Goodman "Using Cache Memory to reduce Processor-Memory Traffic", "The 10th Annual International Symposium on Computer Architecturelt, Bd. 11, Nr. 3, 13.-17. Juni 1983, nachlesen.
- Die oben beschriebenen Cache-Speichertypen sind für solche Systeme geeignet, die Parallelverarbeitungen grob strukturierter Einheiten vornehmen, etwa von Tasks oder Prozeßeinheiten. Parallelverarbeitungen klein strukturierter Einheiten, etwa von Unterroutinen oder Modulen, führen jedoch zu dem Problem, daß viele Daten von mehreren Prozessoren gemeinsam benützt werden. Eine hohe Menge gemeinschaftlich benützter Daten führt jedoch zu häufiger Ungültigmachung von Daten in Cache-Speichern bei Datenschreibvorgängen in den Hauptspeicher und damit zu einer geringen Trefferrate in den einzelnen Cache-Speichern.
- Die obigen Systemkonfigurationen wurden im Hinblick darauf entwickelt, die Signalleitungen zur Verbindung unter den Prozessoren, die jeweils auf einem LSI-Chip vorgesehen waren, zu verringern. Diese Konfigurationen sind aber nicht optimal, wenn mehrere Prozessoren auf einem LSI-Chip durch Anwendung von höchst-VLSI-Technologien hergestellt werden.
- Aus der japanischen Patentzusammenfassung Nr. 57-030169 ist ein Cache-Speichersteuerungssystem bekannt. Es weist einen Prozessor und einen Zentralprozessor auf. Der Cache-Speicher weist zwei Zugänge auf, die jeweils mit einem der Prozessoren verbunden sind. Der innere Aufbau der Zugänge und des Speichers selbst sind nicht bekannt.
- Aus dem "IBM Technical Disclosure Bulletin", Bd. 27, Nr. 12, Mai 1985, sind Caches für gemeinsam genützte Befehle und/oder Daten in einem Mehrverarbeitungssystem bekannt. In Abhängigkeit davon, welche Daten zu speichern sind (Befehlsdaten oder zu bearbeitende Daten), sind zugehörige Caches entweder individuell für jeden Prozessor oder durch mehrere Prozessoren gemeinsam genützt vorgesehen.
- Aufgabe der Erfindung ist es, ein Multiprozessorsystem anzugeben, das einen Cache-Speicher hat, der zur Parallelverarbeitung von Daten geeignet ist, auf die von jedem Prozessor zugegriffen wird.
- Diese Aufgabe wird entsprechend den Merkmalen des unabhängigen Anspruchs 1 gelöst. Abhängige Ansprüche sind auf bevorzugte Ausführungsformen der Erfindung gerichtet.
- Erfindungsgemäß sind mehrere Prozessoren sowie ein Cache- Speicher mit mehreren Zugängen auf einem einzigen LSI-Chip angeordnet. Auf diesem einzelnen Chip besteht ein Cache- Speicher mit mehreren Zugängen aus einer einzigen Datenspeicherfläche und mehreren Datenlese/Schreibzugängen. Damit greifen alle Prozessoren auf die gleichen, im Speicher gespeicherten Daten zu, so daß sich ein Schreibvorgang durch einen beliebigen der Prozessoren unmittelbar auswirkt. Im Gegensatz hierzu verwendet ein herkömmliches System mehrere Cache-Speicher, so daß dann&sub1; wenn einer der Prozessorendaten in einen zugehörigen Cache-Speicher schreibt, die entsprechenden Inhalte der Cache-Speicher der anderen Prozessoren ungültig gemacht werden müssen, wodurch sich die Systemleistung verschlechtert. Dieser Nachteil wird bei der Erfindung vermieden.
- Fig. 1 ist ein schematisches Blockdiagramm, das eine erfindungsgemäße Ausführungsform eines Mult iprozessorsystems zeigt;
- Fig. 2 ist ein schematisches Diagramm, das ein Beispiel eines Speichers mit mehreren Zugängen zeigt;
- Fig. 3 ist ein Zeitdiagramm, das den Betrieb des in Fig. 2 gezeigten Speichers mit mehreren Zugängen zeigt;
- Fig. 4 ist ein Zeitdiagramm, das ein Beispiel der Schaltungsanordnung eines Speichers mit mehreren Zugängen zeigt;
- Fig. 5 ist ein schematisches Blockdiagramm, das eine Ausführungsform eines cache-Speichers zeigt, der einen Cache- Speicher mit mehreren Zugängen verwendet;
- Fig. 6 zeigt die Funktionen von LINK;
- Fig. 7 ist ein schematisches Blockdiagramm, das eine zweite erfindungsgemäße Aus führungs form des Multiprozes sorsystems zeigt, das einen erfindungsgemäßen Cache-Speicher mit mehreren Zugängen verwendet; und
- Fig. 8 ist ein schematisches Blockdiagramm, das einedritte Ausführungsform eines Multiprozessorsystems zeigt, das einen erfindungsgemäßen cache-Speicher mit mehreren Zugängen verwendet.
- Die Konfiguration eines erfindungsgemäßen Multiprozessorsysterns ist in Fig. 1 gezeigt. Mehrere Prozessoren P0 bis Pn ((3-0 bis 3-n) werden auf einem einzigen LSI-chip 8 hergestellt und verwenden gemeinsam einen Cache-Speicher 2 mit mehreren Zugängen. Der Betrieb des cache-Speichers 2 ist der gleiche wie der eines allgemeinen Cache-Speichers. Wenn der Speicherzugriff eines Prozessors ein Treffer ist, werden die Daten im Cache-Speicher zurückgeschickt. Wenn kein Treffer vorliegt, wird auf den Hauptspeicher zugegriffen, und die Daten werden im Cache-Speicher gespeichert und ebenfalls zum Prozessor zurückgeschickt.
- Fig. 1 zeigt, daß ein Speicher mit mehreren Zugängen als cache-Speicher verwendet wird. Fig. 2 zeigt die Struktur eines Speichers mit mehreren Zugängen. Der Speicher mit mehreren Zugängen hat Schnittstellensignale, die durch mehrere Sätze von Adreßsignalen AO bis An gebildet werden (wobei jeder Satz aus mehreren Adreßleitungen besteht), mehrere Sätze von Eingangsdatensignalen DI0 bis DIN (wobei jeder Satz durch mehrere Datenleitungen gebildet wird), mehrere Sätze von Ausgangsdatensignalen DO0 bis DON (wobei jeder Satz aus mehreren Datenleitungen besteht) und (nicht dargestellten) Steuerungssignalen, wie etwa das write enable- Signal. Aus Sicht des einzelnen Prozessors ist damit der Cache-Speicher 2 mit mehreren Zugängen ein unabhängiger Speicher. Insbesondere kann der Prozessor P0 jeweils an der bestimmten Adresse AO Daten von DI0 in den Speicher schreiben und über DO0 Daten im Speicher lesen.
- Datenlese/Schreibvorgänge an den jeweiligen Zugängen werden synchron zueinander ausgeführt, die zeitlichen Verhältnisse sind in Fig. 3 gezeigt. Wenn mehrere Prozessoren auf Daten an der gleichen Adresse zugreifen&sub1; werden die gleichen Daten gelesen und den Prozessoren zugeführt. Wenn für die gleiche Adresse Lese- und Schreibvorgänge bestimmt sind, werden zuerst die Daten DO an der Adresse gelesen und danach neue Daten DI auf die Adresse geschrieben. Wenn mehrere Schreibvorgänge für die gleiche Adresse bestimmt sind, werden die Schreibvorgänge in der Reihenfolge höherer Prioritäten von A0 bis An unter Steuerung einer Prioritätssteuerungsschaltung vorgenommen.
- Die Schaltungsanordnung eines Speichers mit mehreren Zugängen ist in Fig. 4 gezeigt. Information wird in einer mit 9- i, 9-j bezeichneten Speicherzelle gespeichert.
- Bei Datenschreibvorgängen sind die Gatter 14-0 bis 14-n sowie die Gatter 15-0 bis 15-n geschlossen, da alle WRITE 0-n abgeschaltet sind. Wenn beispielsweise auf die Adresse A0 zugegriffen wird, wird in einem Decoder DECO 18-0 die Adresse A0 decodiert, und die Gatter 10-i-0 und 11-i-0 werden geöffnet, so daß die in der Speicherzelle 9-i vorhandene Information auf Bitleitungen 12-0 und 13-0 ausgelesen wird, die dann in einem Verstärker SA0 17-0 verstärkt und vom Zugang DO0 ausgegeben wird.
- Wenn auf die Adresse Al zugegriffen wird, wird vom Zugang DO1 Information über einen Leseverstärker SA1 ausgegeben, und wenn auf die Adresse An zugegriffen wird, wird Information vom Zugang DON über einen Leseverstärker SAn ausgegeben.
- Bei einem Datenschreibvorgang werden Daten von DI0 dem Gatter 14-0 und nach Invertierung in einem Inverter 16 einem Gatter 15-0 zugeführt. Nach Empfang eines Schreibsignals WRITE 0 werden die Gatter 14-0 und 15-0 geöffnet, so daß Daten entgegengesetzter Polarität auf die Bitleitungen 12und 13-0 übertragen sowie über Gatter 10-i-0 und 11-i-0 in eine Speicherzelle 9-i geschrieben werden.
- Wenn Lese- und Schreibvorgänge für die gleiche Speicherzelle bestimmt sind, beispielsweise wenn durch die Adresse A0 ein Lesevorgang und durch die Adresse Al ein Schreibvorgang bestimmt sind, werden Daten zuerst aus der Speicherzelle gelesen und dem Leseverstärker SA0 zueführt, danach wird das Schreibsignal WRITE 1 auf wahr gesetzt, um die Gatter 14-0 und 15-0 zu öffnen und den Schreibvorgang auszuführen.
- Die Struktur eines cache-Speichers 2, der ein Speicher mit mehreren Zugängen verwendet, ist in Fig. 5 gezeigt. Eine Adresse zum Zugreifen auf den cache-Speicher 2 von einem Prozessor aus ist durch PADDR bezeichnet. Dieser Cache- Speicher ist mehrfach assoziativ. Das Feld α in PADDR stellt eine Adresse in einem Adressenblock im cache-Speicher 2 dar, und eine Spaltenadresse des Cache-Speichers 2 ist in PADDR durch das Feld β dargstellt.
- Ein Verzeichnis (das als "tag" bezeichnet werden kann) DIR 20 speichert in sich als Inhalt, welche Daten von Adreßblöcken im Cache-Speicher 2 gespeichert sind. DATA 22 ist ein Feld zur Speicherung von Cache-Daten. Das von einem Prozessor gesendete β-Feld innerhalb PADDR wird für den Zugriff auf DIR 20 verwendet. Das Zugriffsergebnis wird mit dem λ-Feld in PADDR bei 23 verglichen. Die in ihrer Nummer der Nummer der Sätze entsprechenden Inhalte werden aus DIR 20 gelesen. Wenn irgendeiner der ausgelesenen Inhalte den gleichen Wert wie λ hat bedeutet dies, daß der Zugriff ein Treffer ist. Die Bits V 21 zeigen an, ob die Eintragungen von DIR 20 gültig oder ungültig sind. Die Inhalte, die in ihrer Nummer der Nummer der Sätze entsprechen, werden auch aus DATA 22 gelesen, in dem das β-Feld in PADDR als deren Adresse verwendet wird. Daten entsprechend dem angetroffenen Satz werden durch einen Wähler SEL 24 ausgewählt und über einen Wähler 25 dem Prozessor als Daten DATAOUT zugeschickt.
- Wenn sich im Cache-Speicher kein Treffer ergibt, werden die Adreßfelder β und λ über einen Wähler 26 im Hauptspeicher zugeführt. Beim Schreiben von Daten in den Hauptspeicher werden Daten DATAIN, die vorn Prozessor geliefert werden, auf DATA 22 des cache-Speichers 2 über einen Wähler 27 und ebenso in einen Speicherpuffer 28 und dann in den Hauptspeicher über einen Wähler 29 geschrieben. In dieser Ausführungsforrn ist ein Cache-Speicher vom Durchspeichertyp verwendet.
- In Fig. 5 bezeichnen Bezugsziffern mit einem Sternchen Schnittstellen mit anderen Prozessoren. Das 7-Feld anderer Prozessoren (nachfolgend durch λ'-Feld bezeichnet) werden *1 zugeführt, und die β-Felder innerhalb PADDR von anderen Prozessoren (nachfolgend durch β'-Feld bezeichnet) werden *2 zugeführt. Die entsprechenden ausgelesenen Inhalte sind durch *3 dargestellt, die mit λ' verglichen werden. Wenn sie miteinander übereinstimmen, werden die Zugriffe als Treffer angesehen, so daß die ausgelesenen Daten *6 gewählt werden. β' und λ' von anderen Prozessoren werden in *4 eingegeben. Ausgaben von Speicherpuffern anderer Prozessoren werden *7 zugeführt. Die Ausgabe des Wählers 27 anderer Prozessoren wird *5 zugeführt.
- Speicher mit mehreren Zugängen werden für DIR 20, V 21 und DATA 22 verwendet, so daß mehrere Prozessoren gleichzeitig auf den Cache-Speicher 2 zugreifen können.
- Fig. 6 zeigt die Funktion von LINK, das eine Vorrichtung zum Verbinden von Prozessoren, die das Multiprozessorsystem bilden, ist.
- Es gibt drei Unterbrechungsfunktionen, nämlich eine Unterbrechung, bei der die Nummer eines Prozessors bestimmt wird, eine Unterbrechung, bei der an ALLE Prozessorendaten übermittelt werden, und eine Unterbrechung, die die Annahme durch einen BELIEBIGEN Prozessor erlaubt.
- Zur effektiven Ausführung von Parallelverarbeitung weisen Steuerungsfunktionen verschiedene Vorgänge auf. Sie sind eine WARTE-Steuerung zum Warten, bis ein Startsignal von einem anderen Prozessor eintrifft, eine START-Steuerung zum Abbrechen der WARTE-Steuerung, und andere Steuerungen. Die SRART-Steuerung kann ausgeführt werden, wenn eine Ausführungs-Startadresse bestimmt ist.
- Eine Sperrfunktion wird verwendet, damit im Cache-Speicher Test- und Setz-Vorgänge sowie Vergleichs- und Austauschvorgänge vorgenommen werden können. Beim Vergleichs- und Austauschvorgang werden Daten im Speicher gelesen und der Wert der ausgelesenen Daten überprüft, danach können Datenschreibvorgänge im Speicher entsprechend den Überprüfungsergebnissen ausgeführt werden. Beim Vergleichs- und Austauschvorgang eines Prozessors ist es für andere Prozessoren notwendig, Vergleichs- und Austauschvorgänge an der gleichen Adresse nicht vorzunehmen.
- Deshalb sendet jeder Prozessor vor der Ausführung eines Vergleichs- und Austauschvorgangs eine Ausführungsanfrage für Vergleichen und Austauschen an LINK. Wenn die Anfrage bestätigt wird, wird der Vergleichs- und Austauschvorgang ausgeführt und danach die Anfrage gelöscht. Wenn mehrere Anfragen von Prozessoren gesendet werden, erlaubt LINK lediglich die Ausführung einer Anfrage.
- Es wurde hier ein Multiprozessorsystern beschrieben, das Nultiprozessoren auf einem Chip mit mehreren Prozessoren, einen Cache-Speicher mit mehreren Zugängen sowie LINK verwendet. Die Verwendung des cache-Speichers mit mehreren Zugängen ermöglicht hohe Systemleistung, die mit herkömmlichen Systemen, die häufige Ungültigmachungen sowie Leistungsverschlechterungen für die Einhaltung der Kohärenz aufweisen, nicht erreicht werden kann.
- Fig. 7 zeigt eine Modifikation eines Cache-Speichers mit mehreren Zugängen. Ein neuerer Hochleistungsprozessor steuert eine Befehlsausführung unter Verwendung einer mehrstufigen Pipeline. Ein typisches Beispiel der Unterteilung einer Befehlsausführung umfaßt das Befehisholen (IF), das Decodieren (D), die Adreßübersetzung (A), das Operandenholen
- (OF) und die Ausführung (E). Beim Befehlsholezyklus und Operandenholezyklus werden zwei Speicherzugriffe ausgeführt. Beim Ausführen der zwei Zyklen parallel zueinander werden zwei Sätze von Schnittstellen für einen Cache- Speicher mit mehreren Zugängen benötigt. Fig. 7 zeigt die Systernkonfiguration für eine derartige Anwendung. Zwei Sätze von Schnittstellen 6A-0 und 6B-0 jeweils für das Holen bon Befehlen und Operanden (Datenlesen/Schreiben) werden anstelle eines in Fig. 1 gezeigten Satzes 6-0 verwendet.
- Fig. 8 zeigt eine andere Modifikation eines Cache-Speichers mit mehreren Zugängen, bei der jeder Prozessor seinen eigenen cache-Speicher für Befehle hat, wobei aber ein Cache- Speicher mit mehreren Zugängen lediglich für Operanden durch alle Prozessoren gemeinsam verwendet wird. Der Grund hierfür liegt darin, daß Befehle üblicherweise einfach handzuhaben sind, sie müssen nicht zurückgeschrieben werden, so daß für Befehle kein Cache-Speicher mit mehreren Zugängen verwendet werden muß.
- Im Hinblick auf seine Speicherkapazität hat ein Cache- Speicher mit mehreren Zugängen eine Anzahl von Einträgen sowie eine große Fläche. Ein Cache-Speicher mit mehreren Zugängen ist deshalb weniger kostengünstig als ein Cache- Speicher mit nur einem einzigen Zugang. Dementsprechend hat die in Fig. 8 gezeigte Systemkonfiguration einen Cache- Speicher mit mehreren Zugängen, der lediglich für die zumindest notwendigen Daten verwendet wird.
Claims (4)
1. Multiprozessorsystem, das auf einem einzigen Chip
aufweist:
mehrere Prozessoren (P-0,..., P-n), von denen jeder
einen Satz von Adressen- und
Datenschnittstellen-Signalleitungen (6) hat, und
einen cache-Speicher (2) mit mehreren Zugängen, der einen
Verzeichnisspeicher (DIR 20) und einen Datenspeicher (22)
aufweist, der mehrere Speicherzellen (9) und mehrere
Sätze von Zugängen aufweist, wobei jeder Zugangssatz
einen Adreßzugang (A), einen Dateneingabezugang (DI) und
einen Datenausgabezugang (DO) aufweist, und wobei jeder
Zugangssatz jeweils mit einem Signalleitungssatz (6)
verbindbar ist, und wobei der cache-Speicher
gekennzeichnet ist durch
mehrere Adreßdecodiereinrichtungen (18-0,... 18-n),
wobei jede Adreßdecodiereinrichtung mit dem Adreßzugang
(A) des entsprechenden Zugangssatzes verbunden ist, um
die Adreßsignale von dem entsprechenden Prozessor
synchron zu decodieren und die Speicherzellen auszuwählen;
mehrere Erfassungeinrichtungen (17-0,... 17-n), wobei
jede Erfassungseinrichtung mit dem Datenausgabezugang
(DO) des entsprechenden Satzes verbunden ist, um synchron
die ausgewählten Speicherzellen zu erfassen und die
erfaßten Signale dem entsprechenden Prozessor zuzuleiten;
mehrere Schreibeinrichtungen (14-0,... 14-n, 15-0,...
15-n, 16), wobei jede Schreibeinrichtung mit dem
Dateneingabezugang (DI) des entsprechenden Satzes verbunden
ist, um synchron von den entsprechenden Prozessoren
Datensignale zu empfangen und die Datensignale in die
ausgewählten Speicherzellen zu schreiben;
wobei dann, wenn mehrere Prozessoren einen Lese- oder
Schreibzugriff auf Daten an der gleichen Adresse
ausführen, die Erfassungs- und die Schreibeinrichtungen erst
einen Lesevorgang und dann einen Schreibvorgang
durchführen und
wobei dann, wenn mehrere Prozessoren einen Schreibzugriff
für Daten an der gleichen Adresse ausführen, die
Schreibvorgänge in der Reihenfolge ihrer Priorität ausgeführt
werden.
2. System nach Anspruch 1,
dadurch gekennzeichnet, daß
die Prozessoren (P-0,... P-n) und der Cache-Speicher (2)
auf einem einzigen LSI-Chip hergestellt sind.
3. System nach Anspruch 1,
dadurch gekennzeichnet, daß
jeder Prozessor (P-0,... P-n) mit dem Cache-Speicher (2)
über zwei oder mehr Sätze von
Schnittstellensignalleitungen (6A, 6B) verbunden ist.
4. System nach Anspruch 1,
dadurch gekennzeichnet, daß
für jeden Prozessor (P-0,... P-n) zusätzlich ein
Befehl-Cache-Speicher vorgesehen ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63109045A JPH01280860A (ja) | 1988-05-06 | 1988-05-06 | マルチポートキヤツシユメモリを有するマルチプロセツサシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
DE68926761D1 DE68926761D1 (de) | 1996-08-08 |
DE68926761T2 true DE68926761T2 (de) | 1996-11-28 |
Family
ID=14500210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE68926761T Expired - Fee Related DE68926761T2 (de) | 1988-05-06 | 1989-04-28 | Mehrprozessorsystem mit einem mehranschlüssigen Cachespeicher |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP0340668B1 (de) |
JP (1) | JPH01280860A (de) |
KR (1) | KR960006499B1 (de) |
CA (1) | CA1323110C (de) |
DE (1) | DE68926761T2 (de) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03219345A (ja) * | 1990-01-25 | 1991-09-26 | Toshiba Corp | 多ポートキャッシュメモリ制御装置 |
JP2595753B2 (ja) * | 1990-03-30 | 1997-04-02 | 日本電気株式会社 | キャッシュメモリの無効化方式 |
JP2822588B2 (ja) * | 1990-04-30 | 1998-11-11 | 日本電気株式会社 | キャッシュメモリ装置 |
JPH0485788A (ja) * | 1990-07-27 | 1992-03-18 | Toshiba Corp | 多ポートキャッシュメモリ |
US5835945A (en) * | 1990-08-06 | 1998-11-10 | Ncr Corporation | Memory system with write buffer, prefetch and internal caches |
JPH04362755A (ja) * | 1991-06-10 | 1992-12-15 | Nec Corp | 共用型拡張記憶試験方式 |
EP0552426A1 (de) * | 1992-01-24 | 1993-07-28 | International Business Machines Corporation | Mehrstufiges Speichersystem |
US6536664B2 (en) | 1995-05-30 | 2003-03-25 | Cashguard Ab | Method for exchanging information between a cash register and a payment-processing device |
JP3348367B2 (ja) * | 1995-12-06 | 2002-11-20 | 富士通株式会社 | 多重アクセス方法および多重アクセスキャッシュメモリ装置 |
US5799209A (en) * | 1995-12-29 | 1998-08-25 | Chatter; Mukesh | Multi-port internally cached DRAM system utilizing independent serial interfaces and buffers arbitratively connected under a dynamic configuration |
EP0999500A1 (de) * | 1998-11-06 | 2000-05-10 | Lucent Technologies Inc. | Durch ein Anwendungsprogramm wiederkonfigurierbarer aufgeteilter Cache-Speicher |
US6272567B1 (en) * | 1998-11-24 | 2001-08-07 | Nexabit Networks, Inc. | System for interposing a multi-port internally cached DRAM in a control path for temporarily storing multicast start of packet data until such can be passed |
DE102005037219A1 (de) * | 2005-08-08 | 2007-02-15 | Robert Bosch Gmbh | Vorrichtung und Verfahren zur Speicherung von Daten und/oder Befehlen in einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten und wenigstens einem ersten Speicher oder Speicherbereich für Daten und/oder Befehle |
DE102005037215A1 (de) * | 2005-08-08 | 2007-02-15 | Robert Bosch Gmbh | Verfahren zur Speicherung von Daten und/oder Befehlen in einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten und wenigstens einem ersten Speicher oder Speicherbereich für Daten und/oder Befehle |
US7600081B2 (en) * | 2006-01-18 | 2009-10-06 | Marvell World Trade Ltd. | Processor architecture having multi-ported memory |
JP2008097572A (ja) | 2006-09-11 | 2008-04-24 | Matsushita Electric Ind Co Ltd | 演算装置、コンピュータシステム、および携帯機器 |
KR101635395B1 (ko) | 2010-03-10 | 2016-07-01 | 삼성전자주식회사 | 멀티포트 데이터 캐시 장치 및 멀티포트 데이터 캐시 장치의 제어 방법 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS537108B2 (de) * | 1972-09-29 | 1978-03-14 | ||
JPS6037932B2 (ja) * | 1980-07-29 | 1985-08-29 | 日本電気株式会社 | キャッシュメモリ制御方式 |
JPS5858666A (ja) * | 1981-10-02 | 1983-04-07 | Hitachi Ltd | デ−タ処理装置 |
US4445174A (en) * | 1981-03-31 | 1984-04-24 | International Business Machines Corporation | Multiprocessing system including a shared cache |
US4489381A (en) * | 1982-08-06 | 1984-12-18 | International Business Machines Corporation | Hierarchical memories having two ports at each subordinate memory level |
JPS59213084A (ja) * | 1983-05-16 | 1984-12-01 | Fujitsu Ltd | バッファ記憶装置のアクセス制御方式 |
JPS6041145A (ja) * | 1983-08-17 | 1985-03-04 | Hitachi Ltd | デイスクキヤツシユ装置 |
JPS6388671A (ja) * | 1986-10-01 | 1988-04-19 | Nec Corp | 同時並行処理制御方式 |
JPH0668735B2 (ja) * | 1987-02-09 | 1994-08-31 | 日本電気アイシーマイコンシステム株式会社 | キヤツシユメモリ− |
JPS63257853A (ja) * | 1987-04-03 | 1988-10-25 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | キヤツシユ・メモリ・システム |
-
1988
- 1988-05-06 JP JP63109045A patent/JPH01280860A/ja active Pending
-
1989
- 1989-04-28 EP EP89107768A patent/EP0340668B1/de not_active Expired - Lifetime
- 1989-04-28 DE DE68926761T patent/DE68926761T2/de not_active Expired - Fee Related
- 1989-05-02 CA CA000598454A patent/CA1323110C/en not_active Expired - Fee Related
- 1989-05-03 KR KR1019890005977A patent/KR960006499B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR890017615A (ko) | 1989-12-16 |
EP0340668A2 (de) | 1989-11-08 |
JPH01280860A (ja) | 1989-11-13 |
EP0340668A3 (en) | 1990-08-29 |
DE68926761D1 (de) | 1996-08-08 |
KR960006499B1 (ko) | 1996-05-16 |
EP0340668B1 (de) | 1996-07-03 |
CA1323110C (en) | 1993-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE68926761T2 (de) | Mehrprozessorsystem mit einem mehranschlüssigen Cachespeicher | |
DE3750107T2 (de) | Cachespeicherkohärenzsteuerung mit einem Speicher, der ein laufendes Lesen anzeigt. | |
DE69432133T2 (de) | Datenprozessor mit Cache-Speicher | |
DE69327288T2 (de) | Verfahren und System zur Aufrechterhaltung der Adressenübersetzungspufferspeicher-Kohärenz eines Multiprozessorsystems | |
DE69427421T2 (de) | Speichersteuereinheit mit hohem Grade der Gleichzeitigkeit und Arbeitsteilung | |
DE2847960C2 (de) | Speichersteuereinrichtung | |
DE68924306T2 (de) | Mehrprozessorrechneranordnungen mit gemeinsamem Speicher und privaten Cache-Speichern. | |
DE3587439T2 (de) | Gemeinsam benutzter Mehrprozessor-Pipeline-Cachespeicher. | |
DE69331039T2 (de) | Rechnersystem mit einem Vorausholungscachespeicher | |
DE69029173T2 (de) | Mikroprozessor | |
DE68917326T2 (de) | Organisation eines integrierten Cachespeichers zur flexiblen Anwendung zur Unterstützung von Multiprozessor-Operationen. | |
DE68917325T2 (de) | Verfahren und Vorrichtung zum Schreiben gegenseitiger verriegelter Variablen in einen integrierten Cachespeicher. | |
DE69319763T2 (de) | Verfahren und Gerät zur Durchführung eines Busarbitrierungsprotokolls in einem Datenverarbeitungssystem | |
DE68926059T2 (de) | Organisation einer integrierten Cache-Einheit zur flexiblen Verwendung beim Entwurf von Cache-Systemen | |
DE69331448T2 (de) | Dataprozessor mit einem Cachespeicher | |
DE69317729T2 (de) | Cache-Etikettenspeicher | |
DE3486161T2 (de) | Datenverarbeitungssystem mit Datenkohärenz. | |
DE3854368T2 (de) | Cachespeicher mit einer Elastizität in der Verarbeitung verschiedener Adressenfehler. | |
DE3685876T2 (de) | Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher. | |
DE69029995T2 (de) | Multiprozessor mit relativ atomaren Befehlen | |
DE69427606T2 (de) | Rechnersystem, das den Schreibschutzstatus im Systemverwaltungszustand übergeht | |
DE4218003A1 (de) | Sekundaeres cache-speichersystem | |
DE4335475A1 (de) | Datenverarbeitungseinrichtung mit Cache-Speicher | |
DE4417068A1 (de) | Verfahren und Einrichtung zum Betreiben eines Einzel-Prozessor-Computersystems als Mehr-Prozessor-System | |
DE68928343T2 (de) | Schreib-Lese/Schreib-Weitergabe-Speichersubsystemzyklus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |