DE68926761T2 - Mehrprozessorsystem mit einem mehranschlüssigen Cachespeicher - Google Patents

Mehrprozessorsystem mit einem mehranschlüssigen Cachespeicher

Info

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
Application number
DE68926761T
Other languages
English (en)
Other versions
DE68926761D1 (de
Inventor
Tadaaki Bandoh
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE68926761D1 publication Critical patent/DE68926761D1/de
Application granted granted Critical
Publication of DE68926761T2 publication Critical patent/DE68926761T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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
    • 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/084Multiuser, 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.
DE68926761T 1988-05-06 1989-04-28 Mehrprozessorsystem mit einem mehranschlüssigen Cachespeicher Expired - Fee Related DE68926761T2 (de)

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)

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

* Cited by examiner, † Cited by third party
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 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン キヤツシユ・メモリ・システム

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