DE3919802A1 - Speicherbaustein mit vektorprozessoren und einem skalarprozessor - Google Patents

Speicherbaustein mit vektorprozessoren und einem skalarprozessor

Info

Publication number
DE3919802A1
DE3919802A1 DE3919802A DE3919802A DE3919802A1 DE 3919802 A1 DE3919802 A1 DE 3919802A1 DE 3919802 A DE3919802 A DE 3919802A DE 3919802 A DE3919802 A DE 3919802A DE 3919802 A1 DE3919802 A1 DE 3919802A1
Authority
DE
Germany
Prior art keywords
memory
block
validity
request
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.)
Granted
Application number
DE3919802A
Other languages
English (en)
Other versions
DE3919802C2 (de
Inventor
Toshimitsu Ando
Tsuguo Matsuura
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 DE3919802A1 publication Critical patent/DE3919802A1/de
Application granted granted Critical
Publication of DE3919802C2 publication Critical patent/DE3919802C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors
    • G06F15/8061Details on data memory access
    • G06F15/8069Details on data memory access using a cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • G06F12/0828Cache consistency protocols using directory methods with concurrent directory accessing, i.e. handling multiple concurrent coherency transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3824Operand accessing
    • G06F9/3834Maintaining memory consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units

Description

Die Erfindung betrifft ein Speichersteuersystem und insbesondere ein Anpassungssteuersystem eines Hauptspei­ chers und eines Pufferspeichers in einem Vektor-und Ska­ larprozessorsystem.
In Computersystemen des Standes der Technik wird in ei­ nem Pufferspeicher oder Cache-Speicher eine Kopie des Inhalts des Hauptspeichers gespeichert, wobei der Puf­ ferspeicher aus Elementen aufgebaut ist, die schneller sind als diejenigen des Hauptspeichers, so daß der Pro­ zessor schnell auf den Pufferspeicher zugreifen kann.
In einem Multiprozessorsystem, in dem eine Mehrzahl von Befehlsprozessoren jeweils einen einen einzigen Haupt­ speicher gemeinsam nutzenden Pufferspeicher aufweisen, wird eine Anpassungssteuerung zwischen dem Hauptspeicher und dem Pufferspeicher vorgenommen, wenn eine Speicher­ operation vom Befehlsprozessor an den Hauptspeicher aus­ geführt wird, auf eine Weise, wie sie aus US 40 56 844-A (JP-B-54-40 182-A) bekannt ist. In diesem System ist im Pufferspeicher getrennt und unabhängig von einem Puffer­ adressenfeld, in dem eine Adresse des Pufferspeichers im Hauptspeicher registriert ist, ein Frontadressenfeld vorgesehen. Das Frontadressenfeld ist eine Verwaltungs­ tabelle, auf die von anderen Prozessoren zum Prüfen der Speicheradresse Bezug genommen wird und die dazu dient, die Anpassungssteuerung zwischen dem Hauptspeicher und dem Pufferspeicher schnell auszuführen. In US 40 56 844-A wird das Pufferadressenfeld mit BAA-1 oder BAA-11 zeichnet, während das Frontadressenfeld mit BAA-2 oder BAA-12 bezeichnet wird.
Ein Vektorprozessor wird dazu verwendet, wissenschaftli­ che und technische Operationen schnell auszuführen. Ein Vektorprozessor weist eine Mehrzahl von Vektorregistern zum Halten von Vektordaten und eine Mehrzahl von Opera­ tionseinheiten zum Bearbeiten der Vektordaten auf. Oft­ mals kommt ein Parallelelementsystem zur Anwendung, in dem die von einem Vektorbefehl zu verarbeitenden Vektor­ daten in eine Mehrzahl von Gruppen unterteilt und die Operationen in den entsprechenden Gruppen parallel aus­ geführt werden. In diesen Fällen wird der Vektorprozes­ sor, wenn er auf den Hauptspeicher zugreift, einer Mehr­ zahl von Anforderungseinrichtungen (die auf den Haupt­ speicher zugreifen und die Daten zwischen dem Hauptspei­ cher und dem Vektorregister übertragen) für die unter­ teilten Elementgruppen parallel zugeordnet.
Bei einem Multiprozessor eines Supercomputers, der eine Mehrzahl von Vektorprozessoren und eine Mehrzahl von ei­ ne Skalaroperation und eine Vorbereitungsoperation für den Vektorprozessor, den Pufferspeicher in jedem Skalar­ prozessor und für den von den Vektorprozessoren und den Skalarprozessoren gemeinsam genutzten Hauptspeicher aus­ führenden Skalarprozessoren aufweist, ist der Anpas­ sungssteuerung zwischen dem Hauptspeicher und dem Puf­ ferspeicher in der Vergangenheit keine Beachtung ge­ schenkt worden. Dementsprechend ist im Multiprozessor des Supercomputers das folgende Problem aufgetreten.
Falls als Einrichtung zum Ausführen der Anpassungssteu­ erung zwischen dem Hauptspeicher und dem Pufferspeicher ein Frontadressenfeld zum Prüfen der Speicheradresse vorgesehen ist, ist bei einem Speichervorgang vom Vek­ torprozessor zum Hauptspeicher aufgrund der Wartezeit beim Wiederauffinden des Frontadressenfeldes eine we­ sentliche Abnahme des Durchsatzes einer Speicheranfor­ derung unvermeidlich, weil die Vektorprozessoren pa­ rallel eine Mehrzahl von Speicheranforderungen ausgeben. Wenn andererseits zur Erfüllung der Speicheranforderun­ gen der Vektorprozessoren eine Mehrzahl von Frontadres­ senfeldern vorgesehen ist, nimmt der Hardwareumfang in hohem Maße zu, so daß der Baustein von den Frontadres­ senfeldern belegt wird.
Es ist daher die Aufgabe der vorliegenden Erfindung, ein Speichersteuersystem zu schaffen, das mittels einer kleinen Zahl von Frontadressenfeldern im Multiprozessor­ system des Supercomputers, der eine Mehrzahl von Vektor­ prozessoren mit einer Mehrzahl von Speicheranforderungs­ einrichtungen, eine Mehrzahl von je einen Pufferspeicher besitzenden Skalarprozessoren und einen von den Vektor­ prozessoren und Skalarprozessoren gemeinsam genutzten Hauptspeicher aufweist, die Anpassungssteuerung zwischen dem Hauptspeicher und dem Pufferspeicher wirksam bewerk­ stelligen kann.
Diese Aufgabe wird erfindungsgemäß gelöst durch einen Speichersteuerbaustein eines Multiprozessorsystems, wel­ ches eine Mehrzahl von Vektorprozessoren, die je eine Einrichtung zur Speicherungsanforderung an den Haupt­ speicher besitzen, und eine Mehrzahl von Skalarprozes­ soren, die je einen Pufferspeicher, der eine Kopie des Hauptspeichers speichert, und eine Verwaltungstabelle (Frontadressenfeld), die die Adresse der Speicherkopie im Hauptspeicherregister des Pufferspeichers enthält, aufweist, wobei der Hauptspeicher in Blöcke unterteilt ist, die den Speichereinheiten des Pufferspeichers ent­ sprechen und wobei ein Blockgültigkeitsspeicher vorgese­ hen ist, der angibt, ob ein Block des Hauptspeichers im Pufferspeicher vorliegt. Der Blockgültigkeitsspeicher enthält Blockgültigkeitsbits, von denen je eines für je­ den Block vorgesehen ist, wobei jedes Bit dann gültig ist, wenn der entsprechende Block im Pufferspeicher vor­ liegt. Wenn die Speicheroperation vom Vektorprozessor an den Hauptspeicher ausgeführt wird, wird vor der Bezug­ nahme auf die Verwaltungstabelle auf den Blockgültig­ keitsspeicher Bezug genommen, so daß die Anpassungssteu­ erung zwischen dem Hauptspeicher und dem Pufferspeicher bewerkstelligt wird. Der Blockgültigkeitsspeicher weist auf seiner Eingabeseite eine Schaltung auf, die die eine Mehrzahl von kontinuierlichen Speicheradressen aufwei­ sende Anforderung auf eine Anforderung reduziert. Ferner ist der Hauptspeicher in Gruppen unterteilt, die je eine Mehrzahl von Blöcken aufweisen, welche die Speicherein­ heiten des Pufferspeichers darstellen. Zur Angabe, ob ein Teil der Blöcke oder alle Blöcke einer jeden Gruppe im Pufferspeicher vorliegen, ist eine Blockgruppengül­ tigkeitstabelle vorgesehen. Die Blockgruppengültigkeits­ tabelle weist Blockgruppengültigkeitsbits auf, von denen je eines für jede Blockgruppe vorgesehen ist, wobei je­ des Blockgruppengültigkeitsbit gültig ist, wenn wenig­ stens einer der Blöcke der entsprechenden Blockgruppe im Pufferspeicher vorliegt. Während eines Speichervorgangs vom Vektorprozessor zum Hauptspeicher wird vor der Be­ zugnahme auf den Blockgültigkeitsspeicher auf die Block­ gruppengültigkeitstabelle zugegriffen.
In der vorliegenden Erfindung ist der Hauptspeicher in die Speichereinheiten des Pufferspeichers bildende Blöcke unterteilt, außerdem ist für jeden der Skalarpro­ zessoren ein Blockgültigkeitsspeicher vorgesehen, der angibt, ob die Blöcke des Hauptspeichers im Pufferspei­ cher vorliegen. Wenn der Vektorprozessor eine Speicher­ anforderung ausgibt, wird vor dem Zugriff auf das Front­ adressenfeld vom Blockgültigkeitsspeicher die Speicher­ adresse geprüft, woraufhin auf das Frontadressenfeld nur dann zugegriffen wird, wenn das Blockgültigkeitsbit des die Speicheradresse enthaltenden Blocks gültig ist. Folglich wird der Zugriff auf das Frontadressenfeld be­ gonnen, nachdem das Vorliegen der Speicheradresse im Frontadressenfeld bestätigt worden ist. Somit wird die Anzahl der Zugriffe und, aufgrund der kleinen Zahl von Frontadressenfeldern, die Wartezeit verringert. Die Blockgültigkeitsspeicher werden in eine Mehrzahl von Banken so unterteilt, daß jede von ihnen unabhängig ar­ beiten kann. Dadurch wird die Wartezeit weiter verrin­ gert.
Am Eingang des Blockgültigkeitsspeichers werden die Speicheradressen der von der Mehrzahl der Anforderungs­ einrichtungen gleichzeitig ausgegebenen Speicherungsan­ forderungen verglichen; ebenso werden die Speicheradres­ sen der zeitlich aufeinanderfolgenden Speicheranforde­ rungen des Vektorprozessors verglichen, so daß festge­ stellt werden kann, ob die Speicheranforderungen zum gleichen Block des Pufferspeichers gehören, wodurch die an den gleichen Block gerichteten Speicheranforderungen in eine einzige Anforderung gepackt werden können. Da­ durch kann die Anzahl der Zugriffe verringert werden.
Der Hauptspeicher wird in Gruppen unterteilt, von denen jede eine Mehrzahl von die Speichereinheiten des Puffer­ speichers bildenden Blöcken besitzt; für jede Speicher­ anforderungseinrichtung im Vektorprozessor ist eine Blockgruppengültigkeitstabelle vorgesehen, die angibt, ob ein Teil der Blöcke oder alle Blöcke der jeweiligen Hauptspeichergruppe im Pufferspeicher vorliegen. Wenn der Vektorprozessor eine Speicheranforderung ausgibt, wird die Speicheradresse vor dem Zugriff auf den Block­ gültigkeitsspeicher mittels der Blockgruppengültigkeits­ tabelle geprüft, woraufhin auf den Blockgültigkeitsspei­ cher nur dann zugegriffen wird, wenn das Blockgruppen­ gültigkeitsbit der die Speicheradresse enthaltenden Blockgruppe gültig ist. Daher wird die Zahl der Zugriffe an den Blockgültigkeitsspeicher verringert und die War­ tezeit verkürzt.
Die Erfindung wird im folgenden anhand von Ausführungs­ beispielen unter Bezug auf die Zeichnungen näher erläu­ tert; es zeigen:
Fig. 1 den Aufbau eines Multiprozessorsystems eines Supercomputers einschließlich einer Speicher­ steuereinheit gemäß einer erfindungsgemäßen Ausführungsform;
Fig. 2 die Beziehung zwischen den Adressen des Haupt­ speichers, der Blockgruppengültigkeitstabelle, des Blockgültigkeitsspeichers und des Front­ adressenfeldes des in Fig. 1 gezeigten Systems:
Fig. 3 eine erläuternde Darstellung des Betriebs der Blockgruppengültigkeitstabelle und des Block­ gültigkeitsspeichers, wenn ein Vektorprozessor eine Speicheranforderung ausgibt;
Fig. 4 eine erläuternde Darstellung der Eintragungs­ und Ungültigmachungsoperation des Blockgültig­ keitsspeichers und der Blockgruppengültigkeits­ tabelle von Fig. 1;
Fig. 5 eine auf eine zweite Ausführungsform bezogene erläuternde Darstellung des Betriebs der Block­ gruppengültigkeitstabelle und des Blockgültig­ keitsspeichers, wenn ein Vektorprozessor eine Speicheranforderung ausgibt; und
Fig. 6 eine auf die zweite Ausführungsform bezogene erläuternde Darstellung der Eintragungs- und Ungültigmachungsoperation des Blockgültigkeits­ speichers und der Blockgruppengültigkeitstabel­ le.
Nun wird das Prinzip und Ausführungsformen der Erfindung beschrieben.
Erste Ausführungsform
Wie in Fig. 1 gezeigt, weist ein Multiprozessorsystem einen Hauptspeicher (HS) 1, der von einer Mehrzahl von Skalarprozessoren (SP) 3 und 4 und einer Mehrzahl von Vektorprozessoren (VP) 5 und 6 gemeinsam genutzt wird, E/A-Prozessoren (EAP) 7 und 8, einen Erweiterungsspei­ cher (ES) 9 und eine Speichersteuerung (SS) 2 zur Steu­ erung der von den Skalarprozessoren 3 und 4, den Vektor­ prozessoren 5 und 6, den E/A-Prozessoren 7 und 8 und dem Erweiterungsspeicher 9 ausgegebenen Anforderungen an den Hauptspeicher 1 auf.
Die Skalarprozessoren 3 und 4 weisen Pufferspeicher (DS) 31 und 41 und Pufferadressenfelder (PAF) 30 und 40, in die die Adressen der Pufferspeicher 31 bzw. 41 im Haupt­ speicher 1 eingetragen werden, auf.
Die Vektorprozessoren 5 und 6 weisen Vektorregister 51 A bis 51 D, 61 A bis 61 D und auf den Hauptspeicher 1 bezoge­ ne Speicheranforderungseinrichtungen 50 A bis 50 D bzw. 60 A bis 60 D auf. Die Vektorregister 51 A bis 61 D dienen zur Speicherung der Kopien der Vektordaten des Haupt­ speichers 1 und besitzen die gleichen Funktionen wie die Pufferspeicher 31 und 41 in den Skalarprozessoren 3 und 4.
Die Vektorprozessoren 5 und 6 operieren so, daß sie Ele­ mente parallel abarbeiten. Wenn beispielsweise der Vek­ torprozessor 5 den Speicherbefehl ausgibt, die Daten des Vektorregisters 51 A in einem kontinuierlichen Bereich des Hauptspeichers 1 zu speichern, werden die Daten der Vektorregister 51 A bis 51 D in vier Elemente unterteilt, und den vier Anforderungseinrichtungen zugeordnet, so daß das erste Element der Anforderungseinrichtung 50 A, das zweite Element der Anforderungseinrichtung 50 B usw. zugeordnet wird (parallele Elementabarbeitung). Die An­ forderungseinrichtungen 50 A bis 50 D geben jeweils Spei­ cheranforderungen an den Hauptspeicher 1 aus.
Die Speichersteuerung 2 weist die Frontadressenfelder (FAF) 21 A und 21 B, die eine Kopie der Pufferadressenfel­ der 30 und 40 darstellen, die Blockgültigkeitsspeicher (BGS) 20 A und 20 B, die angeben, ob der Block des Haupt­ speichers 1 in den Pufferspeichern 31 und 41 vorliegt, und Blockgruppengültigkeitstabellen (BGGT) 22 A bis 22 H, die angeben, ob ein Teil der Blöcke oder alle Blöcke der Blockgruppe des Hauptspeichers 1 in den Pufferspeichern 31 oder 41 vorliegen, auf. Für jede der Speicheranfor­ derungseinrichtung 50 A bis 50 D und 60 A bis 60 D der Vek­ torprozessoren 5 und 6 ist eine Blockgruppengültigkeits­ tabelle vorgesehen.
Wenn der Vektorprozessor 5 einen Speicherbefehl ausgibt, werden die Vektorspeicherdaten gemäß der parallelen Ele­ mentabarbeitung unterteilt und den Speicheranforderungs­ einrichtungen 50 A bis 50 D zugeordnet. Zuerst werden die von den Speicheranforderungseinrichtungen 50 A bis 50 D ausgegebenen Speicheranforderungsadressen mittels der Blockgruppengültigkeitstabellen 22 A bis 22 D geprüft. Wie oben beschrieben, sind die Blockgruppengültigkeitstabel­ len 22 A bis 22 D Tabellen, die für jede Blockgruppe der Pufferspeicher 31 und 41, beispielsweise für jedes Seg­ ment (1048576 Bytes) oder für jede Seite (4096 Bytes), ein Blockgruppengültigkeitsbit besitzen. Die Zahl der Eintragungen entspricht der Kapazität des Hauptspeichers 1. Für jede der Speicheranforderungseinrichtungen 50 A bis 50 D ist eine Blockgruppengültigkeitstabelle 22 A bis 22 D vorgesehen (vier Blockgruppengültigkeitstabellen in der vorliegenden Ausführungsform). Wenn die Speicheran­ forderung ausgegeben wird, wird das Blockgruppengültig­ keitsbit der in der Speicheradresse enthaltenen Block­ gruppe geprüft. Wenn das Blockgruppengültigkeitsbit gül­ tig ist, d.h. wenn es den Wert "1" besitzt, wird die Speicheranforderung an die Blockgültigkeitsspeicher 20 A und 20 B geschickt. Wenn es ungültig ist, d. h. wenn es den Wert "0" besitzt, wird die Speicheranforderung igno­ riert und nicht als Anforderung an die Blockgültigkeits­ speicher 20 A und 20 B geschickt.
Die von den Blockgruppengültigkeitstabellen 22 A bis 22 D ausgegebenen, den Blockgültigkeitsspeicheranforderungen zugehörigen Speicheradressen werden an eine Schaltung (die später beschrieben wird) geschickt, die diese­ gleichzeitig von den Blockgruppengültigkeitstabellen 22 A bis 22 D geschickten Speicheradressen vergleicht und prüft, ob sie Speicheranforderungen an den gleichen Block in den Pufferspeichern 31 und 41 sind. Die Block­ gültigkeitsspeicheranforderungen an den gleichen Block werden auf eine Blockgültigkeitsspeicheranforderung ver­ ringert. Dieser Vorgang wird später mit Bezug auf Fig. beschrieben.
Die von den Blockgruppengültigkeitstabellen 22 A bis 22 D ausgegebenen und von der erwähnten Schaltung reduzierten Blockgültigkeitsspeicheranforderungen werden an­ schließend an eine weitere Schaltung (die später be­ schrieben wird) geschickt, die die Speicheradressen zeitlich nacheinander vergleicht. Wie die Parallelver­ gleichsschaltung prüft auch die serielle Vergleichs­ schaltung, ob die Anforderungen Blockgültigkeitsspei­ cheranforderungen für den gleichen Block in den Puffer­ speichern 31 und 41 sind. Die Blockgültigkeitsspeicher­ anforderungen für den gleichen Block werden auf eine Blockgültigkeitsspeicheranforderung verringert, an­ schließend wird auf die Blockgültigkeitsspeicher 20 A und 20 B zugegriffen.
Die Blockgültigkeitsspeicher 20 A und 20 B sind Speicher, die für jeden Block der Pufferspeicher 31 und 41 je ein Blockgültigkeitsbit besitzen. Für jeden der Pufferspei­ cher 31 und 41 ist in dem System ein Blockgültigkeits­ speicher vorgesehen. Beispielsweise sind in einem Sy­ stem, das den Skalarprozessor 3 mit dem Pufferspeicher 31 und den Skalarprozessor 4 mit dem Pufferspeicher 41 aufweist, 2 Blockgültigkeitsspeicher 20 A und 20 B vorge­ sehen. Die Zahl der Eintragungen der Blockgültigkeits­ speicher 20 A und 20 B entspricht der Gesamtzahl der Blöcke im Hauptspeicher 1. Die Blockgültigkeitsspeicher 20 A und 20 B sind in eine Mehrzahl von Banken unterteilt, die die Anforderungen an die Blockgültigkeitsspeicher 20 A und 20 B kontinuierlich bearbeiten können. Die Block­ gültigkeitsspeicher 20 A und 20 B prüfen die Blockgültig­ keitsbits der in den Speicheradressen der gleichzeitig eingegebenen Blockgültigkeitsspeicheranforderungen ent­ haltenen Blöcke; wenn ein Blockgültigkeitsbit gültig ist, d.h. wenn es den Wert "1" besitzt, wird die ent­ sprechende Anforderung an das entsprechende Frontadres­ senfeld 21 A bzw. 21 B übertragen, ist es ungültig, so wird die entsprechende Anforderung ignoriert und nicht an das entsprechende Frontadressenfeld 21 A bzw. 21 B ge­ schickt. Die an das Frontadressenfeld geschickte Anfor­ derung sucht das Frontadressenfeld 21 A bzw. 21 B nach der Speicheradresse ab. Liegt die Speicheradresse im Front­ adressenfeld 21 A bzw. 21 B vor, d.h. sollen die Daten des Pufferspeichers 31 bzw. 41 durch die Speicheranforderung des Vektorprozessors 5 bzw. 6 wieder eingeschrieben wer­ den, wird der Block im Pufferspeicher 31 bzw. 41 für un­ gültig erklärt, um damit die Anpassungssteuerung zwi­ schen dem Hauptspeicher und dem Pufferspeicher auszufüh­ ren.
Die Eintragung und das Ungültigmachen der gültigen Bits der Blockgruppengültigkeitstabellen 22 A bis 22 H und der Blockgültigkeitsspeicher 20 A und 20 B werden dann ausge­ führt, wenn die Daten synchron zur Eintragung oder Un­ gültigmachung der Adressen der Pufferspeicher 31 und 41 im Hauptspeicher 1 für die Frontadressenfelder 21 A und 21 B in den Pufferspeicher eingetragen oder gültig ge­ macht werden. Wenn die Anforderung, die Daten des Haupt­ speichers 1 in den Pufferspeicher 31 oder 41 einzutra­ gen, ausgegeben wird, wird die im Hauptspeicher enthal­ tene Adresse des Pufferspeichers in die dem Block des Pufferspeichers entsprechende Eintragung des Frontadres­ senfeldes 21 A oder 21 B aufgenommen, anschließend wird der gesamte Blockgültigkeitsspeicher 20 A bzw. 20 B des Systems für die den betreffenden Block enthaltenden Blockgruppengültigkeitstabellen 22 A bis 22 H blockgrup­ penweise gelesen. Wenn der Block beispielsweise 128 Bytes und die Blockgruppe 1048576 Bytes enthält, werden die Blockgültigkeitsbits der den Block enthaltenden 8192 Eintragungen gelesen.
Dann wird das gültige Bit in die dem Block entsprechende Eintragung des Blockgültigkeitsspeichers aufgenommen. Das heißt, das Blockgültigkeitsbit wird auf "1" gesetzt und die Blockgültigkeitsbits der den Block enthaltenden 8192 Eintragungen werden untersucht. Wenn alle Blockgül­ tigkeitsbits aller Blockgültigkeitsspeicher im System den Wert "0" besitzen, d.h. wenn vor der Anforderung der Frontadressenfeldeintragung das der Blockgruppe entspre­ chende Blockgruppengültigkeitsbit der Blockgruppengül­ tigkeitstabelle den Wert "0" besitzt, wird in die der Blockgruppe entsprechende Eintragung aller Blockgruppen­ gültigkeitstabellen ein gültiges Bit aufgenommen. Das heißt, das Blockgruppengültigkeitsbit wird auf den Wert "1" gesetzt. Wenn wenigstens eines der Blockgültigkeits­ bits aller Blockgültigkeitsspeicher des Systems der den Block enthaltenden 8192 Eintragungen den Wert "1" be­ sitzt, d.h. wenn vor der Eintragungsanforderung des Frontadressenfeldes das der Blockgruppe entsprechende Blockgruppengültigkeitsbit der Blockgruppengültigkeits­ tabelle den Wert "1" besitzt, wird für die Blockgruppen­ gültigkeitstabelle keine Eintragung gefordert, weshalb auf die Blockgruppengültigkeitstabelle nicht zugegriffen wird.
Das Ungültigmachen der gültigen Bits der Blockgruppen­ gültigkeitstabelle und des Blockgültigkeitsspeichers wird genauso ausgeführt wie die Eintragung. Wenn auf­ grund der von einem anderen Prozessor wie etwa dem Vek­ torprozessor oder dem Skalarprozessor ausgegebenen Spei­ cheranforderung an den Hauptspeicher 1 die Daten des Pufferspeichers 31 oder 41 neu geschrieben werden, wird der Block des Pufferspeichers und die Eintragung des Frontadressenfeldes ungültig gemacht, ebenso wie die Eintragung des Blockgültigkeitsspeicher, d.h. das Block­ gültigkeitsbit wird auf den Wert "0" gesetzt. Dann wer­ den die Blockgültigkeitsbits der den Block enthaltenden 8192 Eintragungen aller Blockgültigkeitsspeicher des Systems gelesen und untersucht. Wenn alle Blockgültig­ keitsbits den Wert "0" besitzen, d.h. wenn alle Blöcke der Blockgruppe aufgrund der Speicherungsanforderungen durch den anderen Prozessor ungültig sind, werden die Eintragungen aller Blockgruppengültigkeitstabellen für die Blockgruppe ungültig gemacht, d.h. das Blockgruppen­ gültigkeitsbit wird auf den Wert "0" gesetzt. Wenn we­ nigstens eines der Blockgültigkeitsbits der 8192 Ein­ tragungen aller Blockgültigkeitsspeicher des Systems den Wert "1" besitzt, braucht die Eintragung der Blockgrup­ pengültigkeitstabelle nicht ungültig gemacht zu werden, weshalb auf die Blockgruppengültigkeitstabelle nicht zu­ gegriffen wird. Auf diese Weise wird die Anpassungssteu­ erung an das Frontadressenfeld, den Blockgültigkeits­ speicher und die Blockgruppengültigkeitstabelle ausge­ führt, wodurch eine Anpassungssteuerung zwischen dem Hauptspeicher 1 und den Pufferspeichern 31 und 41 er­ zielt wird.
In Fig. 2 ist eine schematische Darstellung gezeigt, mit der die Beziehung der Adressen zwischen dem Hauptspei­ cher 1, dem Vektorprozessor 5 (oder 6), dem Skalarpro­ zessor 3 (oder 4), der Blockgruppengültigkeitstabelle 22, dem Blockgültigkeitsspeicher 20 und dem Frontadres­ senfeld 21 erläutert wird. Aus Gründen der Einfachheit werden nicht alle Komponenten von Fig. 1 in Fig. 2 ge­ zeigt.
Der Vektorprozessor 5 erzeugt eine 4-Byte(31 Bits)-Real­ adresse. Diese stellt eine Adresse im Hauptspeicher (der eine Kapazität von 231 Bytes (2 GB) besitzt) dar. Die höherwertigen 11 Bits (0.1 bis 1.3) der erzeugten Realadresse werden an die Blockgruppengültigkeitstabelle 22 geschickt (das höchstwertige Bit wird nicht verwen­ det). Wie oben beschrieben, besitzt die Blockgruppen­ gültigkeitstabelle 22 2K (211) Blockgruppengültigkeits­ bits, von denen durch die höherwertigen 11 Bits der Realadresse eines gelesen wird.
Wenn das gelesene Blockgruppengültigkeitsbit den Wert "1" besitzt, besteht die Möglichkeit, daß ein Block der dem Blockgruppengültigkeitsbit entsprechenden Blockgrup­ pe in den Pufferspeicher 31 (oder 41) eingetragen worden ist. Daher wird auf den Blockgültigkeitsspeicher 20 Be­ zug genommen.
An den Blockgültigkeitsspeicher 20 werden die höherwer­ tigen 24 Bits (0.1 bis 3.0) der Realadresse des Vektor­ prozessors 5 geliefert. Wie oben beschrieben, besitzt der Blockgültigkeitsspeicher 16 M (224) Blockgültigkeits­ bits, von denen eines gelesen wird.
Wenn das gelesene Blockgültigkeitsbit den Wert "1" be­ sitzt, bedeutet dies, daß der diesem Blockgültigkeitsbit entsprechende Block im Pufferspeicher 31 (oder 41) ein­ getragen worden ist. Wenn das Blockgültigkeitsbit den Wert "1" besitzt, wird ohne Aufsuchen des Frontadressen­ feldes 21 festgelegt, daß der diesem Blockgültigkeitsbit entsprechende Block im Pufferspeicher 31 (oder 41) ein­ getragen worden ist. Wenn folglich das Blockgültigkeits­ bit den Wert "1" besitzt, kann der Block des Pufferspei­ chers 31 ohne Aufsuchen des Frontadressenfeldes 21 ge­ löscht werden. Da dies jedoch eine zusätzliche Ungültig­ machungsoperation für das Pufferadressenfeld 30 erfor­ derlich macht und die Anpassungssteuerung zwischen den Frontadressenfeld 31 und dem Pufferadressenfeld 30 ver­ kompliziert, wird nicht das vom Blockgültigkeitsspeicher 22 gelesene Blockgültigkeitsbit für die Ungültigmachung des Pufferadressenfeldes 30 verwendet, statt dessen wird an das Frontadressenfeld 21 für den Suchvorgang die Realadresse des Vektorprozessors 5 (oder 6) als Auswahl­ signal für den Selektor 214 A oder 214 B geliefert. Ebenso wird die Adresse anderer Anforderungseinrichtungen (bei­ spielsweise dem E/A-Prozessor) an den Selektor 214 A oder 214 B geliefert.
Wenn die Anpassung im Frontadressenfeld 21 ausgeführt wird, wird das gültige Bit der diesem Block entsprechen­ den Eintragung im Pufferadressenfeld 30 auf den Wert "0" zurückgesetzt, um den Block im Pufferspeicher 31 ungül­ tig zu machen.
Fig. 3 stellt eine erläuternde Darstellung des Betriebs der Blockgruppengültigkeitstabelle und des Blockgültig­ keitsspeichers dar, wenn von dem in Fig. 1 gezeigten Vektorprozessor eine Speicheranforderung ausgegeben wird.
Nun wird mit Bezug auf Fig. 3 der Vorgang der Anpas­ sungssteuerung zwischen dem Hauptspeicher 1 und den Puf­ ferspeichern 31 und 42 erläutert, wenn von den Vektor­ prozessoren 5 und 6 Speicheranforderungen (mit den Spei­ cheradressen) ausgegeben werden.
Die von den Speicheranforderungseinrichtungen 50 A bis 50 D bzw. 60 A bis 60 D der Vektorprozessoren 5 bzw. 6 ausgegebenen Speicheranforderungen (mit den Speicher­ adressen) 200 A bis 200 H werden von der Speichersteuerung 2 angenommen und an die entsprechenden Blockgruppengül­ tigkeitstabellen 22 A bis 22 H geliefert. Wie oben be­ schrieben, sind die Blockgruppengültigkeitstabellen 22 A bis 22 H Tabellen, die für jede 2020-Bytegruppe (Block­ gruppe) ein Blockgruppengültigkeitsbit besitzen und die Blockgruppengültigkeitsbits derjenigen Blockgruppen le­ sen, die die den Speicheranforderungen zugehörigen Spei­ cheradressen enthalten. Wenn das Blockgruppengültig­ keitsbit den Wert "1" besitzt, d.h. wenn die Möglichkeit besteht, daß die Daten des Pufferspeichers durch die Speicheranforderung neu geschrieben werden, wird die Speicheranforderung verwendet als Anforderung (mit den Speicheradressen) 201 A bis 201 H an die Vergleichsschal­ tung 202. Wenn das Blockgruppengültigkeitsbit den Wert "0" besitzt, d.h. wenn keine Möglichkeit besteht, daß die Daten des Pufferspeichers durch die Speicheranfor­ derung neu geschrieben werden, wird die Speicheranfor­ derung ohne Anforderungsausgabe an die Vergleichsschal­ tung 202 beendet. Die Speicheranforderung führt jedoch die Speicheroperation für den Hauptspeicher 1 aus, ob­ wohl nicht auf die Blockgültigkeitsspeicher 20 A und 20 B zugegriffen werden muß.
Die Vergleichsschaltung 202 dient dazu, die von den Blockgruppengültigkeitstabellen 22 A bis 22 H gleichzeitig ausgegebenen Speicheranforderungen (mit den Speicher­ adressen) 201 A bis 201 H zu verringern. Die Vergleichs­ schaltung 202 vergleicht die Speicheradressen der einge­ gebenen Speicheranforderungen (mit den Speicheradressen) 201 A bis 201 H und verringert sie auf eine Anforderung, falls eine Mehrzahl von Anforderungen zum gleichen Block gehört. Die von der Vergleichsschaltung 202 verringerten Anforderungen (mit den Speicheradressen) werden an die Vergleichsschaltung 206 und das Flip-Flop 204 geliefert. Die Vergleichsschaltung 206 und das Flip-Flop 204 dienen dazu, die elementweise verringerten Anforderungen 203 seriell weiter zu verringern. Das Flip-Flop 204 dient dazu, die Anforderungen (mit den Speicheradressen) 203 vorübergehend zu halten. Wenn die Anforderungen (mit den Speicheradressen) ununterbrochen ausgegeben werden, wird die erste Anforderung im Flip-Flop 204 gehalten, geht außerdem durch die Vergleichsschaltung 206 und wird als Anforderung (mit Speicheradresse) 207 verwendet, um auf die Blockgültigkeitsspeicher 20 A und 20 B zuzugreifen. Dann wird die zweite Anforderung im Flip-Flop 204 gehal­ ten und ebenso an die Vergleichsschaltung 206 geliefert, während die erste im Flip-Flop 204 gehaltene Anforderung als Anforderung 205 für die Vergleichsschaltung 206 ver­ wendet wird. Wie die Vergleichsschaltung 202 vergleicht die Vergleichsschaltung 206 die Adressen der Anforde­ rungen (mit den Speicheradressen) 203 und 205 und ver­ ringert diese auf eine Anforderung, falls Anforderungen für den gleichen Block des Pufferspeichers 130 vorlie­ gen. Für die dritte und die folgenden Anforderungen wer­ den ununterbrochene Speicheradressen in zeitlicher Ab­ folge nacheinander genauso verringert. Auf diese Weise werden die Anforderungen (mit den Speicheradressen), die durch die Blockgruppengültigkeitstabellen 22 A bis 22 H hindurchgegangen sind, elementweise und seriell verrin­ gert und als Anforderung (mit den Speicheradressen) 207 für die Blockgültigkeitsspeicher 20 A und 20 B verwendet.
Da das Speichern der Daten vom Vektorprozessor üblicher­ weise kontinuierliche Speicheradressen aufweist, kann die Zahl der Suchvorgänge des Blockgültigkeitsspeichers 20 durch die Verringerung der Anforderungen bedeutend verringert werden.
Die Blockgültigkeitsspeicher 20 A und 20 B sind Speicher, die für jeden Block des Pufferspeichers ein Blockgültig­ keitsbit besitzen. Wie oben beschrieben, weist jeder Blockgültigkeitsspeicher 16777216 Eintragungen auf. Der Blockgültigkeitsspeicher 20 A entspricht dem Pufferspei­ cher 31 im Skalarprozessor 3, während der Blockgültig­ keitsspeicher 20 B dem Pufferspeicher 41 im Skalarprozes­ sor 4 entspricht. Das dem gültigen Block im Pufferspei­ cher 31 bzw. 41 entsprechende Blockgültigkeitsbit im Blockgültigkeitsspeicher 20 A bzw. 20 B hat den Wert "1". Die Blockgültigkeitsspeicher 20 A und 20 B werden in vier Bänke 208 A bis 208 D bzw. 208 E bis 208 H unterteilt. Wenn die Anforderungen (mit den Speicheradressen) 207 für die Blockgültigkeitsspeicher 20 A und 20 B ausgegeben werden, lesen die Blockgültigkeitsspeicher 20 A und 20 B die Blockgültigkeitsbits der den Speicheradressen entspre­ chenden Eintragungen. Wenn das Blockgültigkeitsbit den Wert "1" besitzt, d.h. wenn die Daten des Pufferspei­ chers 31 oder 41 durch die Speicheranforderung neu ge­ schrieben werden, wird die Anforderung (mit den Spei­ cheradressen) 209 A oder 209 B für das Frontadressenfeld 21 A oder 21 B des entsprechenden Blockgültigkeitsspei­ chers ausgegeben. Wenn das Blockgültigkeitsbit den Wert "0" besitzt, d.h. wenn die Daten des Pufferspeichers durch die Speicherungsanforderung nicht neu geschrieben werden, wird die Anforderung 209 A oder 209 B für das Frontadressenfeld 21 A oder 21 B des entsprechenden Block­ gültigkeitsspeichers nicht ausgegeben und die Anforde­ rung beendet. Da die Blockgültigkeitsspeicher 20 A und 20 B eine größere Kapazität besitzen als die Blockgrup­ pengültigkeitstabellen 22 A bis 22 H, werden sie aus Spei­ chern aufgebaut, die zwar eine höhere Dichte, aber eine niedrigere Geschwindigkeit haben als die Blockgruppen­ gültigkeitstabellen 22 A bis 22H. (Beispielsweise vier 4M-DRAM-LSI′s.) Folglich werden sie in vier Banken 208 A bis 208 D bzw. 208 E bis 208 H unterteilt und können die Anforderungen an die Blockgültigkeitsspeicher konti­ nuierlich bearbeiten. Die Anforderung 209 A oder 209 B vom Blockgültigkeitsspeicher 20 A oder 20 B wird zusammen mit der Speicheranforderung 210 vom Erweiterungsspeicher 9, der Speicheranforderung 211 A oder 211 B vom E/A-Prozessor 7 oder 8 und der Speicheranforderung 212 oder 213 vom Skalarprozessor 3 oder 4 an den Selektor 214 A oder 214 B geliefert. Die Selektoren 214 A und 214 B erteilen den An­ forderungen eine Priorität; die gewählte Anforderung 215 A oder 2 i 5 B greift auf das Frontadressenfeld 21 A oder 21 B zu. Da auf beide Frontadressenfelder 21 A und 21 B zu­ gegriffen werden können soll, werden die Anforderung 210 des Erweiterungsspeichers 9 und die Anforderungen 211 A und 211 B der E/A-Prozessoren 7 und 8 an beide Selektoren 214 A und 214 B geliefert. Andererseits besteht die Anfor­ derung des Skalarprozessors 3 darin, die Speicheropera­ tion im Pufferspeicher 31 des Skalarprozessors 3 anzu­ fordern, weshalb es nicht notwendig ist, auf das dem Pufferspeicher 31 entsprechende Frontadressenfeld 21 A zuzugreifen. Vielmehr muß nur geprüft werden, ob die Da­ ten des Pufferspeichers 41 im Skalarprozessor 4 neu ge­ schrieben worden sind. Folglich wird die Anforderung des Skalarprozessors 3 nur für das dem Pufferspeicher 41 entsprechende Frontadressenfeld 21 B an den Selektor 214 B geliefert. Das Frontadressenfeld 21 A oder 21 B prüft die Anforderungsadresse der vom Selektor 214 A oder 214 B aus­ gewählten Speicheranforderung, woraufhin es die Ungül­ tigmachungsanforderung 216 A oder 216 B der Eintragung des Pufferspeichers an den Skalarprozessor 3 oder 4 ausgibt, wenn die Anforderungsadresse zu der Adresse der im Puf­ ferspeicher 3 i oder 41 eingetragenen Daten paßt, d.h. wenn die Daten des Pufferspeichers 31 oder 41 durch die Speicheranforderung neu geschrieben werden müssen.
In Fig. 4 wird die Eintragungs-/Ungültigerklärungsopera­ tion des Blockgültigkeitsspeichers und der Blockgruppen­ gültigkeitstabelle von Fig. 1 erläutert. Mit Bezug auf Fig. 4 wird im folgenden der Vorgang der Eintragung und des Ungültigmachens der Blockgültigkeitsbits der Block­ gültigkeitsspeicher 20 A und 20 B und der Blockgruppengül­ tigkeitsbits der Blockgruppengültigkeitstabellen 22 A bis 22 H im einzelnen beschrieben.
Wenn vom Skalarprozessor die Frontadressenfeld-Eintra­ gungsanforderung (mit einer Anforderungsadresse) 217 A ausgegeben wird, wird für das Frontadressenfeld 21 A eine Eintragungsoperation vorgenommen. Dann wird vom Front­ adressenfeld 21 A die Blockgültigkeitsspeicher-Holanfor­ derung (mit der Anforderungsadresse) 218 A ausgegeben. Diese Anforderung 218 A wird sowohl an den Selektor 219 A wie auch an den Selektor 219 B geliefert, wo sie jeweils als vom Selektor 219 A bzw. 219 B gewählte Anforderung 220 A bzw. 220 B verwendet und an die Blockgültigkeits­ speicher 20 A bzw. 20 B geliefert wird. Die Blockgültig­ keitsspeicher 20 A und 20 B lesen alle Eintragungen der die Anforderungsadressen der Eintragungsanforderungen enthaltenden Blockgruppe. In der vorliegenden Ausfüh­ rungsform werden die Blockgültigkeitsbits aller 8192 Eintragungen gelesen.
Dann wird die Blockgültigkeitsspeicher-Eintragungsanfor­ derung 218 A ausgegeben. Die Anforderung 218 A wird an den Selektor 219 A geliefert, der die Anforderung 220 A aus­ wählt und an den Blockgültigkeitsspeicher 20 A liefert. Der Blockgültigkeitsspeicher 20 A trägt das Gültigkeits­ bit ein, d.h. er setzt das Blockgültigkeitsbit auf den Wert "1", um den die Anforderungsadresse der Eintra­ gungsanforderung enthaltenden Block einzutragen.
Die Blockgültigkeitsbits 221 A und 221 B der im Lesevor­ gang von den Blockgültigkeitsspeichern 20 A und 20 B gele­ senen 8192 Eintragungen werden an die ODER-Schaltungen 222 A und 222 B geliefert. Die Ausgaben 223 A und 223 B der ODER-Schaltungen 222 A und 222 B werden durch die NOR- Schaltung 224 einer logischen NOR-Operation unterzogen. Wenn die Ausgabe 225 der NOR-Schaltung 224 den logischen Wert "1" besitzt, d.h. wenn alle Blockgültigkeitsbits der die Eintragungsanforderungsadressen der Blockgültig­ keitsspeicher 20 A und 20 B enthaltenden Blockgruppen den Wert "0" besitzen und das Blockgruppengültigkeitsbit vor der Annahme der momentanen Eintragungsanforderung den Wert "0" hatte, ist die Eintragung des Blockgruppengül­ tigkeitsbits für die Blockgruppengültigkeitstabelle 22 A bis 22 H erforderlich. Die Ausgabe 225 der NDR-Schaltung 224 wird an die UND-Schaltung 226 A geliefert. Wenn die Ausgabe 225 den logischen Wert "1" besitzt, wird die UND-Schaltung 226 A aktiviert, so daß die Speicheranfor­ derung (mit der Anforderungsadresse) vom Frontadressen­ feld als Blockgruppengültigkeitstabellen-Eintragungsan­ forderung (mit der Anforderungsadresse) 227 A verwendet wird. Die Blockgruppengültigkeitstabellen-Eintragungsan­ forderung 227 A wird an den Selektor 228 geliefert, dann wird die vom Selektor 228 gewählte Anforderung (mit der Anforderungsadresse) 229 den Blockgruppengültigkeitsta­ bellen 22 A bis 22 H zugeführt. Dort wird das Gültigkeits­ bit eingetragen, d.h. das Blockgruppengültigkeitsbit wird auf den Wert "1" gesetzt, um die die Eintragungsan­ forderungsadresse enthaltende Blockgruppe einzutragen.
Wenn die Ausgabe 225 der NOR-Schaltung 224 den logischen Wert "0" besitzt, d.h. wenn eines der Blockgültigkeits­ bits der die Anforderungsadressen der Eintragungsanfor­ derungen der Blockgültigkeitsspeicher 20 A und 20 B ent­ haltenden Blockgruppen den Wert "1" besitzen und das Blockgruppengültigkeitsbit vor der Annahme der momenta­ nen Eintragungsanforderung den Wert "1" hatte, ist eine Eintragung des Blockgruppengültigkeitsbits für die Blockgruppengültigkeitstabellen 22 A bis 22 H nicht erfor­ derlich. Wenn die Ausgabe 225 der NOR-Schaltung 224 den logischen Wert "0" besitzt, wird die UND-Schaltung 226 A nicht aktiviert, weshalb keine Blockgruppengültigkeits­ tabellen-Eintragungsanforderung 227 A ausgegeben wird.
Wenn die Frontadressenfeld-Eintragungsanforderung (mit der Anforderungsadresse) 217 B vom Skalarprozessor 4 aus­ gegeben wird, wird ein dem oben beschriebenen Prozeß analoger Prozeß ausgeführt.
Nun wird der Ablauf beschrieben, der ausgeführt wird, wenn vom Skalarprozessor 4 eine Frontadressenfeld-Ungül­ tigmachungsanforderung ausgegeben wird.
Wenn der Skalarprozessor 4 die Frontadressenfeld-Ungül­ tigmachungsanforderung (mit der Anforderungsadresse) 217 B ausgibt, wird die Ungültigmachungsoperation beim Frontadressenfeld 21 B begonnen. Das Frontadressenfeld 21 B gibt daraufhin die Blockgültigkeitsspeicher-Ungül­ tigmachungsanforderung (mit der Anforderungsadresse) 218 B aus. Diese Anforderung wird an den Selektor 219 B geliefert, der die Anforderung (mit der Anforderungs­ adresse) 220 B auswählt und an den Blockgültigkeitsspei­ cher 20 B liefert. Der Blockgültigkeitsspeicher 20 B macht die Eintragung des die Anforderungsadresse der Ungültig­ machungsanforderung enthaltenden Blocks ungültig, d.h. er setzt das Blockgültigkeitsbit auf den Wert "0" zu­ rück. Dann wird die Blockgültigkeitsspeicher-Holanfor­ derung (mit der Anforderungsadresse) ausgegeben. Diese Anforderung wird an die Selektoren 219 A und 219 B gelie­ fert, woraufhin die von den Selektoren 219 A und 219 B ge­ wählten Anforderungen (mit den Anforderungsadressen) 220 A und 220 B an die Blockgültigkeitsspeicher 20 A bzw. 20 B geliefert werden. Die Blockgültigkeitsspeicher 20 A und 20 B lesen alle Eintragungen der die Ungültigma­ chungsanforderungsadressen enthaltenden Blockgruppen. Die Blockgültigkeitsbits 221 A und 221 B der 8192 Eintra­ gungen werden an die ODER-Schaltungen 222 A bzw. 222 B ge­ liefert. Die Ausgaben 223 A bzw. 223 B der ODER-Schaltun­ gen 222 A bzw. 222 B werden an die NOR-Schaltung 224 ge­ liefert. Wenn die Ausgabe 225 der NOR-Schaltung 224 den logischen Wert "1" besitzt, d.h. wenn alle Blockgültig­ keitsbits der die Anforderungsadressen der Ungültigma­ chungsanforderungen der Blockgültigkeitsspeicher 20 A und 20 B enthaltenden Blockgruppen den Wert "0" besitzen und die Blockgültigkeitsbits aller Blockgültigkeitsspeicher dieser Gruppe durch den momentanen Ungültigmachungspro­ zeß auf den Wert "0" gesetzt worden sind, ist ein Zu­ rücksetzen der Blockgruppengültigkeitsbits der Block­ gruppengültigkeitstabellen 22 A bis 22 H auf den Wert "0" erforderlich. Die Ausgabe 225 der NOR-Schaltung 224 wird an die UND-Schaltung 226 B geliefert. Wenn die Ausgabe 225 den logischen Wert "1" besitzt, wird die UND-Schal­ tung 226 B aktiviert, so daß sie die Blockgruppengültig­ keitstabellen-Ungültigmachungsanforderung (mit der An­ forderungsadresse) 227 B ausgibt.
Die Blockgruppengültigkeitstabellen-Ungültigmachungsan­ forderung (mit der Anforderungsadresse) 227 B wird an den Selektor 228 geliefert. Dieser wählt die Anforderung (mit der Anforderungsadresse) 229 aus und liefert sie an die Blockgruppengültigkeitstabellen 22 A bis 22 H, um die Eintragung der die Anforderungsadresse der Ungültigma­ chungsanforderung enthaltenden Blockgruppe ungültig zu machen, d.h. um das Blockgruppengültigkeitsbit auf den Wert "0" zurückzusetzen. Wenn die Ausgabe 225 der NOR- Schaltung 224 den logischen Wert "0" besitzt, d.h. wenn eines der Blockgültigkeitsbits des die Anforderungs­ adressen der Ungültigmachungsanforderungen der Blockgül­ tigkeitsspeicher 20 A und 20 B enthaltenden Blockgruppe den Wert "1" besitzt und dieser Wert des Blockgültig­ keitsbits nach der Bearbeitung der momentanen Ungültig­ machungsanforderung in der dieser Blockgruppe entspre­ chenden Blockgültigkeitsspeichereintragung vorliegt, ist ein Zurücksetzen der Blockgruppengültigkeitsbits der Blockgruppengültigkeitstabellen 22 A bis 22 H auf den Wert "0" nicht erforderlich. Wenn die Ausgabe 225 der NOR- Schaltung 224 den logischen Wert "0" besitzt, wird die UND-Schaltung 226 B nicht aktiviert, weshalb keine Block­ gruppengültigkeitstabellen-Ungültigmachungsanforderung 227 B ausgegeben wird. Wenn die Frontadressenfeld-Ungül­ tigmachungsanforderung 217 A vom Skalarprozessor 3 ausge­ geben wird, wird ein dem oben beschriebenen Prozeß ana­ loger Prozeß ausgeführt.
Zweite Ausführungsform
In der zweiten Ausführungsform wird ein Blockgültig­ keitsspeicher der ersten Ausführungsform von einer Mehr­ zahl von Skalarprozessoren 3 und 4 gemeinsam genutzt. In dieser Ausführungsform wird der Eintragungsstatus des Frontadressenfeldes eines jeden Skalarprozessors in ei­ nem einzigen Blockgültigkeitsspeicher wiedergegeben. In dieser Ausführungsform werden in einer Speicheroperation vom Vektorprozessor die Blockgruppengültigkeitstabelle und der Blockgültigkeitsspeicher je nach Erfordernis ab­ gesucht, wie dies auch in der ersten Ausführungsform der Fall war. Wenn die Suche im Blockgültigkeitsspeicher er­ folgreich ist, wird die Suche für die Frontadressenfel­ der der Skalarprozessoren 3 und 4 ausgeführt. In der vorherigen Ausführungsform bestand eine eins-zu-eins- Entsprechung zwischen den Blockgültigkeitsspeichern und den Frontadressenfeldern. Wenn daher im Blockgültig­ keitsspeicher ein Wert gefunden wurde, wurde immer auch ein Wert im entsprechenden Frontadressenfeld gefunden. Aufgrund des Systemaufbaus wird das Frontadressenfeld abgesucht. Andererseits ist in der vorliegenden, zweiten Ausführungsform unbekannt, in welchem der Frontadressen­ felder ein Wert gefunden werden wird, falls im Block­ gültigkeitsspeicher ein Wert gefunden wird. Demgemäß ist es notwendig, beide Frontadressenfelder abzusuchen, um festzustellen, in welchem Frontadressenfeld sich ein entsprechender Wert befindet.
In der vorliegenden Ausführungsform wird im Ungültigma­ chungsprozeß des Pufferspeichers eines anderen, mit der Speicheroperation von einem Skalarprozessor verbundenen Skalarprozessors festgelegt, daß der zu speichernde Block im Pufferspeicher wenigstens eines Skalarprozes­ sors gespeichert worden ist, falls festgestellt wird, daß dieser Block im Pufferspeicher desjenigen Skalarpro­ zessors gespeichert worden ist, der die Speicheranfor­ derung ausgegeben hat, selbst wenn der Pufferspeicher des anderen Skalarprozessors ungültig ist, so daß der Blockgültigkeitsspeicher und die Blockgruppengültig­ keitstabelle nicht zurückgesetzt werden (Blockgültig­ keitsbit, Blockgruppengültigkeitsbit). Wenn dieser Block nicht im Pufferspeicher des die Speicheranforderung aus­ gebenden Skalarprozessors, sondern im Pufferspeicher des anderen Skalarprozessors gespeichert wird, wird der Rücksetzprozeß für den Blockgültigkeitsspeicher und die Blockgruppengültigkeitstabelle dieses Blocks begonnen.
Im Eintragungsprozeß in das entsprechende, der Schreib­ operation des Blocks von einem Skalarprozessor in den Pufferspeicher zugehörige Frontadressenfeld wird festge­ legt, daß derjenige Block, dessen alter Inhalt durch die Eintragung gelöscht werden soll und dessen neuer Inhalt im Pufferspeicher des anderen Skalarprozessors gespei­ chert werden soll, im Pufferspeicher wenigstens eines Skalarprozessors gespeichert wird, selbst wenn der ein­ getragene Inhalt des Frontadressenfeldes des einen Ska­ larprozessors modifiziert wird. Daher werden der Block­ gültigkeitsspeicher und die Blockgruppengültigkeitsta­ belle nicht aktualisiert. Durch die gemeinsame, auf die dem Skalarprozessor entsprechenden Frontadressenfelder Bezug nehmende Steuerung wird die Vollständigkeit der Inhalte des Pufferadressenfeldes (des Frontadressenfel­ des) und des Blockgültigkeitsspeichers/der Blockgruppen­ gültigkeitstabelle gewährleistet, selbst wenn die Puf­ ferspeicher der Skalarprozessoren den Blockgültigkeits­ speicher gemeinsam nutzen.
Wenn es beim Auftreten eines Systemfehlers erforderlich wird, alle Inhalte des Pufferspeichers eines Skalarpro­ zessors nach Beendigung des Prozesses ungültig zu ma­ chen, werden nicht nur der Pufferspeicher dieses Skalar­ prozessors, sondern auch die Pufferspeicher anderer Ska­ larprozessoren ungültig gemacht, während der Blockgül­ tigkeitsspeicher/die Blockgruppengültigkeitstabelle zu­ rückgesetzt werden (Blockgültigkeitsbit, Blockgruppen­ gültigkeitsbit), so daß die Vollständigkeit der Inhalte des Pufferadressenfeldes (des Frontadressenfeldes) und des Blockgültigkeitsspeichers/der Blockgruppengültig­ keitstabelle gewährleistet ist.
Die zweite Ausführungsform wird nicht mit Bezug auf die Zeichnungen erläutert.
In Fig. 5 bezeichnen die gleichen Bezugsziffern die gleichen Elemente wie in Fig. 3. Die Beziehung zwischen den Adressen des Hauptspeichers, der Blockgruppengültig­ keitstabelle, dem Blockgültigkeitsspeicher, dem Front­ adressenfeld, dem Pufferadressenfeld und dem Pufferspei­ cher ist die gleiche wie die in Fig. 2 gezeigte Bezie­ hung.
Wie in Fig. 5 gezeigt, ist eine Mehrzahl von Skalarpro­ zessoren vorgesehen, während nur ein Blockgültigkeits­ speicher vorgesehen ist. In dem in Fig. 5 gezeigt Aufbau sind die Operationen der Blockgruppengültigkeitstabellen 22 A bis 22 H, der Vergleichsschaltung 202, des Flip-Flops 204 und der Vergleichsschaltung 206 dieselben wie die in Verbindung mit Fig. 3 erläuterten Operationen, wenn eine Speicheranforderung (mit einer Speicheradresse) vom Vek­ torprozessor ausgegeben wird.
Wie die oben beschriebenen Blockgültigkeitsspeicher 20 A und 20 B stellt auch der Blockgültigkeitsspeicher 20 ei­ nen Speicher dar, der für jeden Block des Pufferspei­ chers ein Blockgültigkeitsbit aufweist. Er weist 224 Eintragungen auf. Der Blockgültigkeitsspeicher 20 ist dem Pufferspeicher 31 im Skalarprozessor 3 und dem Puf­ ferspeicher 41 im Skalarprozessor 4 zugeordnet. Das ei­ nem gültigen Block im Pufferspeicher 31 oder im Puffer­ speicher 41 entsprechende Blockgültigkeitsbit ist auf den Wert "1" gesetzt. Da der Blockgültigkeitsspeicher 20 eine größere Kapazität besitzt als die Blockgrupoengül­ tigkeitstabellen 22 A bis 22 H, weist er Speicher von hö­ herer Kapazität und niedrigerer Geschwindigkeit als die Blockgruppengültigkeitstabellen 22 A bis 22 H auf. Daher wird der Blockgültigkeitsspeicher 20 in vier Banken 208 A bis 208 D unterteilt, so daß die Anforderungen an den Blockgültsgkeitsspeicher kontinuierlich abgearbeitet werden können. Wenn an den Blockgültigkeitsspeicher 20 eine Anforderung (mit Speicheradresse) 207 ausgegeben wird, liest der Blockgültigkeitsspeicher 20 das der An­ forderungsadresse entsprechende Blockgültigkeitsbit der Eintragung. Wenn das Blockgültigkeitsbit den Wert "1" besitzt, d. h. wenn die Daten des Pufferspeichers 31 oder 41 durch die Speicheranforderung neu geschrieben werden soll, wird an die Frontadressenfelder 21 A und 21 B eine Anforderung (mit der Speicheradresse) 209 ausgegeben. Wenn andererseits das Blockgültigkeitsbit den Wert "0" besitzt, d.h. wenn die Daten des Pufferspeichers 31 oder 41 durch die Speicheranforderung nicht neu geschrieben werden sollen, wird die Anforderung (mit der Speicher­ adresse) 209 an die Frontadressenfelder 21 A und 21 B nicht ausgegeben, so daß der Prozeß beendet wird. Die Anforderung (mit der Speicheradresse) 209 vom Blockgül­ tigkeitsspeicher 20 wird zusammen mit der Speicheranfor­ derung 210 (mit der Speicheradresse) vom Erweiterungs­ speicher 9, den Speicheranforderungen (mit dem Speicher­ adressen) 211 A und 211 B der E/A-Prozessoren 7 und 8 und den Speicheranforderungen (mit den Speicheradressen) 212 und 213 der Skalarprozessoren 3 und 4 an den Selektor 214 geliefert. Der Selektor 214 ordnet den Anforderungen eine Priorität zu, woraufhin die gewählten Anforderungen (mit den Speicheradressen) 215 A und 215 B auf die Front­ adressenfelder 21 A und 21 B zugreifen. Die Frontadressen­ felder 21 A und 21 B prüfen die Speicheradressen der vom Selektor 214 gewählten Anforderungen, woraufhin eine Un­ gültigmachungsanforderung 216 A oder 216 B für die Eintra­ gung des Pufferspeichers an den Skalarprozessor 3 oder 4 ausgegeben wird, falls die Speicheradresse zu der Adres­ se der im Pufferspeicher 31 oder 41 eingetragenen Daten paßt, d.h. falls die Daten des Pufferspeichers 31 oder 41 durch die Speicherungsanforderung neu geschrieben werden sollen.
In Fig. 6 wird der Eintragungs-/Ungültigmachungsbetrieb des in Fig. 5 gezeigten Blockgültigkeitsspeichers und der Blockgruppengültigkeitstabelle erläutert. Nun wird mit Bezug auf Fig. 6 der Eintragungs-/Ungültigmachungs­ betrieb des Blockgültigkeitsbits des Blockgültigkeits­ speichers 20 und der Blockgruppengültigkeitsbits der Blockgruppengültigkeitstabellen 22 A bis 22 H im einzelnen erläutert. Wenn vom Skalarprozessor 3 eine Frontadres­ senfeld-Eintragungsanforderung (mit der Anforderungs­ adresse) 23 i ausgegeben wird, wird die Adresse des alten Blocks, der durch die Eintragung gelöscht wird, vom Frontadressenfeld 21 A gelesen und von der Diskriminator­ schaltung 24 über die Signalleitung 24 b an den Selektor 214 geschickt. Wird für das Frontadressenfeld 21 A die Eintragungsoperation vorgenommen, so wird die Prüfung des durch die Eintragung zu löschenden Blocks, dessen Adresse über die Signalleitung 24 b geschickt wird, für das Frontadressenfeld 21 b parallel ausgeführt. Wenn festgestellt wird, daß der durch die Eintragung zu lö­ schende Block nicht im Pufferspeicher 41 des Skalarpro­ zessors 4 eingetragen worden ist, d.h. wenn festgestellt wird, daß der Block nach der Löschung in keinem der Puf­ ferspeicher 31 und 41 vorliegen wird, wird eine Ungül­ tigmachungsanforderung (mit der Anforderungsadresse) 24 a an den Blockgültigkeitsspeicher 20 ausgegeben. Der Pro­ zeß des Ausgebens der Anforderung an den Blockgültig­ keitsspeicher 20 in dem Fall, daß vom Skalarprozessor 4 die Frontadressenfeld-Eintragungsanforderung (mit der Anforderungsadresse) 238 ausgegeben wird, ist die glei­ che wie die im oben beschriebenen Ablauf.
Wenn die Frontadressenfeld-Ungültigmachungsanforderungen (mit den Anforderungsadressen) 211 a, 211 b und 210 von den E/A-Prozessoren 7 und 8 und dem Erweiterungsspeicher 9 mittels Speicherungsanforderung an den Hauptspeicher 1 geschickt werden, werden sie über den Selektor 214 an die Frontadressenfelder 21 A und 21 B geschickt. Die Frontadressenfelder 21 A und 21 B werden mittels der An­ forderungsadressen der Ungültigmachungsanforderungen ab­ gesucht; wenn die Diskriminatorschaltung 24 feststellt, daß der die Anforderungsadresse enthaltende Block im Pufferspeicher 31 oder 41 eingetragen worden ist, wird die Eintragung des Frontadressenfeldes ungültig gemacht, woraufhin eine Ungültigmachungsanforderung (mit der Speicheradresse) 24 a an den Blockgültigkeitsspeicher 20 ausgegeben wird.
Wenn die Ungültigmachungsanforderung (mit der Speicher­ adresse) 23 i für das Frontadressenfeld 21 a vom Skalar­ prozessor 3 mittels der Speicherungsanforderung an den Hauptspeicher 1 geschickt wird, werden die Frontadressen 21 A und 21 B von der Anforderungsadresse abgesucht. Wenn die Diskriminatorschaltung feststellt, daß der diese Adresse enthaltende Block im Pufferspeicher (Pufferspei­ cher 41) des Skalarprozessors (Skalarprozessor 4), der von demjenigen Skalarprozessor (Skalarprozessor 3), der die Ungültigmachungsanforderung für das Frontadressen­ feld ausgegeben hat, verschieden ist, und daß der diese Adresse enthaltende Block nicht im Pufferspeicher (Puf­ ferspeicher 31) desjenigen Skalarprozesscrs (Skalarpro­ zessor 3), der die Ungültigmachungsanforderung für das Frontadressenfeld ausgegeben hat, eingetragen worden ist, wird das Frontadressenfeld 21 A ungültig gemacht und eine Ungültigmachungsanforderung (mit der Anforderungs­ adresse) 24 a an den Blockgültigkeitsspeicher 20 ausgege­ ben. Wenn festgestellt wird, daß die die Anforderungs­ adresse der Ungültigmachungsanforderung enthaltenden Blöcke in den Pufferspeichern 31 und 41 eingetragen wor­ den sind, wird das Frontadressenfeld 21 b für den Puffer­ speicher 41 ungültig gemacht, aber keine Anforderung an den Blockgültigkeitsspeicher 20 ausgegeben, weil dieser Block im Pufferspeicher 31 auch dann gehalten wird, wenn der Pufferspeicher 41 ungültig gemacht wird, weshalb der Blockgültigkeitsspeicher 20 nicht aktualisiert werden muß.
Der Prozeß der Ausgabe der Anforderung an den Blockgül­ tigkeitsspeicher 20 ist in dem Fall, daß die Ungültigma­ chungsanforderung vom Skalarprozessor 4 an das Front­ adressenfeld ausgegeben wird, der gleiche wie oben be­ schrieben.
Wenn an den Blockgültigkeitsspeicher 20 die Eintragungs­ anforderung (mit der Anforderungsadresse) ausgegeben wird, wird diese Anforderung vom Blockgültigkeitsspei­ cher 20 empfangen, woraufhin die Blockgültigkeitsbits aller Eintragungen (213 Eintragungen) derjenigen Block­ gruppe, die die Anforderungsadresse der Eintragungsan­ forderung enthält, gelesen werden. Dann wird das Block­ gültigkeitsbit für die Eintragung des die Anforderungs­ adresse der Eintragungsanforderung enthaltenden Blocks auf den Wert "1" gesetzt. Parallel zu diesem Prozeß wer­ den die im vorigen Lesezyklus gelesenen Blockgültig­ keitsbits 20 a der 213 Eintragungen an die NOR-Schaltung 223 geliefert. Wenn die Ausgabe 223 a der NOR-Schaltung 223 den Wert "1" besitzt, d.h. wenn alle Blockgültig­ keitsbits der die Anforderungsadresse der Eintragungsan­ forderung enthaltenden Blockgruppe den Wert "0" besitzen und wenn das Blockgruppengültigkeitsbit vor der Annahme der momentanen Eintragungsanforderung den Wert "0" be­ saß, ist die Eintragung des Blockgruppengültigkeltsbits in die Blockgruppengültigkeitstabellen 22 A bis 22 H er­ forderlich. Die Ausgabe 223 a der NOR-Schaltung 223 wird an die UND-Schaltung 226 geliefert. Wenn die Ausgabe 223 a den Wert "1" besitzt, wird die UND-Schaltung 226 aktiviert und die Eintragungsanforderung (mit der Anfor­ derungsadresse) als Blockgruppengültigkeitstabellen-Ein­ tragungsanforderung (mit der Anforderungsadresse) 226 a verwendet. Die Blockgruppengültigkeitstabellen-Eintra­ gungsanforderung (mit der Anforderungsadresse) wird an die Blockgruppengültigkeitstabellen 22 A bis 22 H gelie­ fert. Das Blockgruppengültigkeitsbit wird für die Ein­ tragung der die Anforderungsadresse enthaltenden Block­ gruppe auf den Wert "1" gesetzt. Wenn die Ausgabe 223 a der NOR-Schaltung 223 den Wert "0" besitzt, d.h. wenn eines der Blockgültigkeitsbits der die Anforderungs­ adresse der Eintragungsanforderung des Blockgültigkeits­ speichers 20 enthaltenden Blockgruppe den Wert "1" be­ sitzt und das Blockgruppengültigkeitsbit vor der Annahme der momentanen Eintragungsanforderung den Wert "1" hat­ te, ist keine Eintragung des Blockgruppengültigkeitsbits in die Blockgruppengültigkeitstabellen 20 A bis 20 H er­ forderlich. Wenn die Ausgabe 223 a der NOR-Schaltung den Wert "0" besitzt, wird die UND-Schaltung 226 nicht aktiviert und keine Blockgruppengültigkeitstabellen-Eintragungsanforderung 226 a ausgegeben.
Wenn andererseits an den Blockgültigkeitsspeicher 20 die, Ungültigmachungsanforderung (mit der Anforderungsadres­ se) 24 a ausgegeben wird, wird diese vom Blockgültig­ keitsspeicher 20 empfangen, woraufhin die Eintragung des die Anforderungsadresse der Ungültigmachungsanforderung enthaltenden Blocks ungültig gemacht wird, d.h. das Blockgültigkeitsbit wird auf den Wert "0" zurückgesetzt. Dann werden alle Eintragungen der Blockgruppen, die die Ungültigmachungsadresse enthalten, vom Blockgültigkeits­ speicher 20 gelesen. Die somit gelesenen Blockgültig­ keitsbits 20 a der 213 Eintragungen werden an die NOR- Schaltung 223 geliefert. Wenn die Ausgabe 223 a der NOR- Schaltung 223 den Wert "1" besitzt, d.h. wenn alle Blockgültigkeitsbits der Blockgruppen, die die Anforde­ rungsadresse der Ungültigmachungsanforderung für den Blockgültigkeitsspeicher 20 enthalten, den Wert "0" be­ sitzen und wenn das Blockgültigkeitsbit in der Block­ gruppe vom momentanen Ungültigmachungsprozeß auf dem Wert "0" belassen wird, ist ein Rücksetzen der Block­ gruppengültigkeitsbits der Blockgruppengültigkeitstabel­ len 22 A bis 22 H auf den Wert "0" erforderlich. Die Aus­ gabe 223 a der NOR-Schaltung 223 wird an die UND-Schal­ tung 226 geliefert. Wenn die Ausgabe 223 a den Wert "1" besitzt, wird die UND-Schaltung 226 aktiviert und die Blockgruppengültigkeitstabellen-Ungültigmachungsanfor­ derung (mit der Anforderungsadresse) 226 a ausgegeben. Die Blockgruppengültigkeitstabellen-Ungültigmachungsan­ forderung 225 a wird an die Blockgruppengültigkeitstabel­ len 22 A bis 22 H geliefert, so daß die Eintragungen der­ jenigen Blockgruppe, die die Anforderungsadresse der Un­ gültigmachungsanforderung enthält, ungültig gemacht wird, d.h, die Blockgruppengültigkeitsbits werden auf den Wert "0" zurückgesetzt. Wenn die Ausgabe 223 a der NOR-Schaltung 223 den Wert "0" besitzt, d.h. wenn eines der Blockgültigkeitsbits derjenigen Blockgruppen, die die Anforderungsadresse der Ungültigmachungsanforderung enthalten, den Wert "1" besitzt und wenn eine Eintragung mit dem Blockgültigkeitsbitwert "1" im Blockgültigkeits­ speicher 20 besteht, die dieser Blockgruppe nach der Ab­ arbeitung der momentanen Ungültigmachungsanforderung entspricht, ist kein Rücksetzen des Blockgruppengültig­ keitsbits der Blockgruppengültlgkeitstabellen 22 A bis 22 H auf den Wert "0" notwendig. Wenn die Ausgabe 223 a der NOR-Schaltung 223 den Wert "0" besitzt, wird die UND-Schaltung 225 nicht aktiviert und keine Blockgrup­ pengültigkeitstabellen-Ungültigmachungsanforderung 226 a ausgegeben.
Wenn im Multiprozessorsystem ein Fehler auftritt, kann das Ungültigmachen aller Pufferspeicher eines Skalarpro­ zessors notwendig werden. In diesem Fall ist nicht nur das Ungültigmachen der diesen Pufferspeichern entspre­ chenden Frontadressenfelder erforderlich, sondern ebenso das Ungültigmachen der Blockgültigkeitsspeicher/Block­ gruppengültigkeitstabellen. Wenn die Blockgültigkeits­ speicher/Blockgruppengültigkeitstabellen ungültig ge­ macht werden müssen, ist das Ungültigmachen aller Puf­ ferspeicher der anderen Skalarprozessoren, die die Blockgültigkeitsspeicher/Blockgruppengültigkeitstabellen gemeinsam nutzen, erforderlich. Wenn die Initialisie­ rungsschaltung 25 sämtliche Ungültigmachungsanforderun­ gen (mit den Anforderungsadressen) 25 i und 25 j für die Blockgültigkeitsspeicher/Blockgruppengültigkeitstabellen von den Skalarprozessoren 3 und 4 empfängt, gibt sie die Anforderung (mit der Anforderungsadresse) 25 a an den Blockgültigkeitsspeicher 20 aus, um die Blockgültig­ keitsbits von der 0-ten bis zur letzten Eintragung des Blockgültigkeitsspeichers auf den Wert "0" zurückzu­ setzen. Durch die Anforderung 25 a wird der Blockgültig­ keitsspeicher 20 vollständig ungültig gemacht, während die Blockgruppengültigkeitsbit-Ungültigmachungsanforde­ rung an die Blockgruppengültigkeitstabelle ausgegeben wird, so daß die Blockgruppengültigkeitstabelle voll­ ständig ungültig gemacht wird. Die Gesamtungültigma­ chungsanforderung für die Pufferspeicher der Skalarpro­ zessoren wird zwischen den Skalarprozessoren mittels ei­ ner (nicht gezeigten) Schnittstelle übertragen, so daß alle Pufferspeicher ungültig gemacht werden. In diesem Fall werden die Pufferspeicher der Skalarprozessoren, die den Multiprozessor aufbauen, zu Gruppen zusammenge­ faßt, wobei jede Gruppe durch den jeweiligen Skalarpro­ zessor gesteuert wird. Das Blockgültigkeitsbit des Blockgültigkeitsspeichers wird gesteuert in Abhängigkeit davon, ob ein Block in einem derjenigen Pufferspeicher, die zu der gleichen Gruppe gehören, eingetragen worden ist, so daß die Eintragung der Blöcke in die Pufferspei­ cher aus verschiedenen Gruppen nicht beeinflußt wird. In diesem Fall ist es notwendig, daß die Blockgruppengül­ tigkeitstabelle eine jedem Blockgültigkeitsspeicher ent­ sprechende Tabelle aufweist.

Claims (19)

1. Multiprozessorsystem mit einer gemeinsamen Speichereinrichtung (1) für eine Mehrzahl von Prozes­ soreinrichtungen (3, 4), die jeweils einen Puffer­ speicher (31, 41) zum Speichern einer Kopie der in der gemeinsamen Speichereinrichtung (1) gespeicherten Information aufweisen, dadurch gekennzeichnet, daß
die gemeinsame Speichereinrichtung (1) in eine Mehrzahl von Blöcken unterteilt ist;
Blockgültigkeitsspeichereinrichtungen (20 A, 20 B) vorgesehen sind, die eine Mehrzahl von jeweils einem Block entsprechenden Gültigkeitsbits besitzt, welche jeweils angeben, ob eine Kopie einer einem entspre­ chendem Block zugehörigen Information im Pufferspei­ cher (31, 41) gespeichert ist;
Einrichtungen (2) vorgesehen sind, die ermitteln, ob ein einem bestimmten Block entsprechendes Gültig­ keitsbit positiv ist, falls ein bestimmter Prozessor Informationen in diesem bestimmten Block der gemein­ samen Speichereinrichtung (1) speichert; und
die Einrichtungen (2) die im Pufferspeicher eines weiteren Prozessors gespeicherte Kopie der in dem be­ stimmten Block enthaltenen Information ungültig ma­ chen.
2. Multiprozessorsystem gemäß Anspruch 1, dadurch gekennzeichnet, daß jede Blockgültigkeitsspeichereinrichtung (20 A, 20 B) in eine Mehrzahl von Banken (208 A bis 208 D, 208 E bis 208 H) unterteilt ist.
3. Multiprozessorsystem gemäß Anspruch 1, dadurch gekennzeichnet, daß die Blockgültigkeitsspeichereinrichtungen (20 A, 20 B) an ihren Eingängen eine Schaltung (202, 204, 206) zur Verringerung von eine Mehrzahl von kontinuierlichen Speicheradressen aufweisenden Anforderungen auf eine einzige Anforderung enthalten.
4. Multiprozessorsystem gemäß Anspruch 3, dadurch gekennzeichnet, daß die Verringerungsschaltung eine Einrichtung (202) ent­ hält, die die eine Mehrzahl von Speicheradressen auf­ weisenden Anforderungen auf eine einzige Anforderung verringert, wenn eine Mehrzahl von Anforderunger vor­ kommen, die im gleichen Block enthaltene Speicher­ adressen besitzen.
5. Multiprozessorsystem gemäß Anspruch 3, dadurch gekennzeichnet, daß die Verringerungsschaltung eine Einrichtung (204, 206) enthält, die die Anforderungen auf eine einzige An­ forderung verringert, wenn die eine Mehrzahl von kon­ tinuierlichen Speicheradressen aufweisenden Anforde­ rungen im gleichen Block enthalten sind.
6. Multiprozessorsystem gemäß Anspruch 1, gekennzeichnet durch eine Block­ gruppengültigkeitstabelle (22 A bis 22 D, 22 E bis 22 H), die eine Mehrzahl von Blockgruppengültigkeitsbits aufweist, von denen jedes einer aus einer Anzahl vor, Blöcken aufgebauten Blockgruppe entspricht, wobei je­ des Blockgruppengültigkeitsbit angibt, ob wenigstens eines der denjenigen Blöcken, die in der entsprechen­ den Blockgruppe enthalten sind, entsprechender Gül­ tigkeitsbits positiv ist.
7. Multiprozessorsystem gemäß Anspruch 6, gekennzeichnet durch eine Ein­ richtung, die vor der Bezugnahme auf den Blockgültig­ keitsspeicher (20 A, 20 B) auf die Blockgruppengültig­ keitstabelle (22 A bis 22 H) zugreift, wenn der be­ stimmte Prozessor eine Anforderung mit einer Spei­ cheradresse ausgibt, und eine Einrichtung, die die Bezugnahme auf den Blockgültigkeitsspeicher (20 A, 20 B) beendet, wenn ein der Speicheradresse entspre­ chendes Blockgruppengültigkeitsbit positiv ist.
8. Multiprozessorsystem gemäß Anspruch 7, dadurch gekennzeichnet, daß der Blockgültigkeitsspeicher (20 A, 20 B) an seinem Eingang eine Schaltung (202, 204, 205) aufweist, die die eine Mehrzahl von kontinuierlichen Speicheradressen auf­ weisenden Anforderungen auf eine einzige Anforderung verringert.
9. Multiprozessorsystem gemäß Anspruch 8, dadurch gekennzeichnet, daß die Verringerungsschaltung eine Einrichtung (202) auf­ weist, die die eine Mehrzahl von Speicheradressen aufweisenden Anforderungen auf eine einzige Anforde­ rung verringert, wenn eine Mehrzahl von Anforderungen vorkommen, die im gleichen Block enthaltene Speicher­ adressen enthalten.
10. Multiprozessorsystem gemäß Anspruch 8, dadurch gekennzeichnet, daß die Verringerungsschaltung eine Einrichtung (204, 206) aufweist, die die Anforderungen auf eine einzige An­ forderung verringern, wenn die eine Mehrzahl von kon­ tinuierlichen Speicheradressen aufweisenden Anforde­ rungen im gleichen Block enthalten sind.
11. Speichersteuersystem mit einem Hauptspeicher (1) ei­ ner Basisprozessoreinheit (3, 4) und wenigstens einer zusätzlichen Prozessoreinheit (5, 6) zur Datenverar­ beitung, gekennzeichnet durch
eine Pufferspeicher (31, 41) zum Auslesen und Einschreiben der Kopie eines im Hauptspeicher (1) enthaltenen Informationsblocks;
ein Pufferadressenfeld (30, 40), das mit dem Hauptspeicher (1) verbunden ist und die im Hauptspei­ cher (1) enthaltene Adresse speichert, die der Kopie des im Pufferspeicher (31, 41) gespeicherten Informa­ tionsblocks entspricht;
eine erste Erkennungseinrichtung, die mit dem Pufferadressenfeld (30, 40) verbunden ist und ermit­ telt, ob im Pufferadressenfeld (30, 40) eine Adresse gespeichert ist, die einem in der Basisprozessorein­ heit (3, 4) erzeugten Adressensignal entspricht, wel­ ches den Ort der Adresse im Hauptspeicher (1) angibt;
ein Frontadressenfeld (21 A, 21 B), das mit dem Hauptspeicher (1) verbunden ist und eine Kopie der Inhalte des Pufferadressenfeldes (30, 40) speichert;
eine zweite Erkennungseinrichtung, die mit dem Frontadressenfeld (21 A, 21 B) verbunden ist und die im Hauptspeicher (1) enthaltene Speicheradresse ermit­ telt, in die die Speicheradresseninformation durch eine zusätzliche Prozessoreinheit (5, 6) geschrieben werden soll;
eine Einrichtung zum Ungültigmachen einer Block­ information im Pufferspeicher (31, 41), wobei die Blockinformation diejenige Information enthält, die in den Hauptspeicher (1) mittels der zusätzlichen Prozessoreinheit (5, 6) geschrieben wird;
einen Blockgültigkeitsspeicher (20 A, 20 B), der eine Mehrzahl von Blockgültigkeitsbits aufweist, die jeweils einem der Blöcke entsprechen, in die der Hauptspeicher (1) unterteilt ist und die Blockinfor­ mation enthalten, wobei jedes Blockgültigkeitsbit an­ gibt, ob eine der Blockinformation entsprechende Ko­ pie im Pufferspeicher (31, 41) gespeichert ist;
eine Einrichtung, die aufgrund des Einschreibens von Information in einen bestimmten Block im Haupt­ speicher (1) mittels der zusätzlichen Prozessorein­ heit (5, 6) ein dem bestimmten Block entsprechendes Blockgültigkeitsbit aus dem Blockgültigkeitsspeicher (20 A, 20 B) liest; und
eine Einrichtung, die die zweite Erkennungsein­ richtung nur dann aktiviert, wenn das ausgelesene Blockgültigkeitsbit positiv ist.
12. Speichersteuersystem gemäß Anspruch 11, dadurch gekennzeichnet, daß die zusätzliche Prozessoreinheit (5, 6) ein Vektorprozes­ sor mit einer Mehrzahl von Speicheranforderungsein­ richtungen (50 A bis 50 D, 60 A bis 60 D) ist, wobei die Speicheranforderungseinrichtungen jeweils Speicheran­ forderungen mit Speicheradressen ausgeben.
13. Speichersteuersystem gemäß Anspruch 11, gekennzeichnet durch eine Block­ gruppengültigkeitstabelle mit einer Mehrzahl von Blockgruppengültigkeitsbits, von denen jedes einer aus einer vorbestimmten Anzahl von Blöcken aufgebau­ ten Blockgruppe entspricht, wobei jedes Blockgruppen­ gültigkeitsbit angibt, ob wenigstens eines derjenigen Blockgültigkeitsbits, die den in der entsprechenden Blockgruppe enthaltenen Blöcken entsprechen, positiv ist.
14. Speichersteuersystem gemäß Anspruch 12, dadurch gekennzeichnet, daß der Blockgültigkeitsspeicher an seinem Eingang eine Schaltung (202, 204, 206) aufweist, die die eine Mehrzahl von kontinuierlichen Speicheradressen ent­ haltenden Anforderungen auf eine einzige Anforderung verringert.
15. Speichersteuersystem mit einem Hauptspeicher (1), einer Mehrzahl von Basisprozessoreinheiten (3, 4) und wenigstens einer zusätzlichen Prozessoreinheit (5, 6), dadurch gekennzeichnet, daß
jede Basisprozessoreinheit (3, 4) einen Puffer­ speicher (31, 41) zum Speichern einer Kopie einer im Hauptspeicher (1) gespeicherten Information, ein Puf­ feradressenfeld (30, 40) zum Halten der Adresse der­ jenigen Information, deren Kopie im Pufferspeicher (31, 41) gespeichert ist, und eine erste Erkennungs­ einrichtung zur Feststellung, ob im Pufferadressen­ feld (30, 40) eine Adresse gespeichert ist, die einem in der Basisprozessoreinheit (3, 4) erzeugten Adres­ sensignal entspricht, welches den Ort der Adresse im Hauptspeicher (1) angibt, aufweist; und
eine Mehrzahl von Frontadressenfeldern, vor denen jedes einer der Basisprozessoreinheiten (3, 4) zuge­ ordnet ist, um eine Kopie der Inhalte eines in der entsprechenden Basisprozessoreinheit (3, 4) enthal­ tenen Pufferadressenfeldes (30, 40) zu speichern;
eine Mehrzahl von zweiten Erkennungseinrichtun­ gen, die mit entsprechenden Frontadressenfeldern (21 A, 21 B) verbunden sind und diejenige Speicher­ adresse im Hauptspeicher (1) ermitteln, in die die Speicheradresseninformation mittels einer zusätzli­ chen Prozessoreinheit (5, 6) geschrieben werden soll;
eine Mehrzahl von Einrichtungen, die jeweils ent­ sprechend mit einer zweiten Erkennungseinrichtung verbunden sind und die in einem entsprechenden Puf­ ferspeicher (31, 41) enthaltene Information ungültig machen, wobei die Blockinformation diejenige Informa­ tion enthält, die mittels der zusätzlichen Prozessor­ einheit (5, 6) in den Hauptspeicher (1) geschrieben wird;
ein Blockgültigkeitsspeicher (20), der der Mehr­ zahl von Basisprozessoreinheiten (3, 4) gemeinsam ist und eine Mehrzahl von Blockgültigkeitsbits aufweist, von denen jedes einem der Blöcke entspricht, in die der Hauptspeicher (1) unterteilt ist und die die Blockinformation enthalten, wobei jedes Blockgültig­ keitsbit angibt, ob eine einem bestimmten Informa­ tionsblock entsprechende Kopie im Pufferspeicher (31, 41) gespeichert ist;
eine Einrichtung, die aufgrund des Einschreibens von Information in einen bestimmten Block des Haupt­ speichers (1) mittels der zusätzlichen Prozessorein­ heit (5, 6) ein diesem bestimmten Block entsprechen­ des Blockgültigkeitsbit aus dem Blockgültigkeitsspei­ cher (20) ausliest; und
eine Einrichtung, die alle zweiten Erkennungsein­ richtungen nur dann aktiviert, wenn das ausgelesene Blockgültigkeitsbit positiv ist, vorgesehen sind.
16. Speichersteuersystem gemäß Anspruch 15, gekennzeichnet durch Blockgrup­ pengültigkeitstabellen mit einer Mehrzahl von Block­ gruppengültigkeitsbits, von denen jedes einer aus ei­ ner vorbestimmten Anzahl von Blöcken aufgebauten Blockgruppe entspricht, wobei jedes Blockgruppengül­ tigkeitsbit angibt, ob wenigstens eines derjenigen Blockgültigkeitsbits, die den in einer entsprechenden Blockgruppe enthaltenen Blöcken entsprechen, positiv ist.
17. Speichersteuersystem gemäß Anspruch 16, dadurch gekennzeichnet, daß ei­ ne Verringerungsschaltung (202, 204, 206) vorgesehen ist, die Einrichtungen zur Verringerung der eine Mehrzahl von Speicheradressen enthaltenden Anforde­ rungen auf eine einzige Anforderung, wenn eine Mehr­ zahl von im gleichen Block enthaltenen Speicheradres­ sen aufweisenden Anforderungen vorkommen, enthält.
18. Speichersteuersystem gemäß Anspruch 16, dadurch gekennzeichnet, daß die Verringerungsschaltung (202, 204, 206) Einrichtungen (204, 205) aufweist, die die Anforderungen auf eine einzige Anforderung verringern, wenn die eine Mehr­ zahl von kontinuierlichen Speicheradressen enthalten­ den Anforderungen im gleichen Block enthalten sind.
19. Speichersteuersystem gemäß Anspruch 15, dadurch gekennzeichnet, daß eine Anforderung an andere, den Blockgültigkeitsspei­ cher (20) gemeinsam nutzende Prozessoren übertragen werden, wenn eine Anforderung zum Ungültigmachen der gesamten Information im Pufferspeicher (31, 41) eines Prozessors ausgegeben wird, damit die gesamte im Puf­ ferspeicher (31, 41) des einen Prozessors enthaltene Information ungültig gemacht und der Blockgültig­ keitsspeicher (20) und die Blockgruppengültigkeitsta­ belle (200 a bis 200 h) initialisiert werden.
DE3919802A 1988-06-17 1989-06-16 Speichersteuersystem für ein Multiprozessorsystem Expired - Fee Related DE3919802C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14944688 1988-06-17

Publications (2)

Publication Number Publication Date
DE3919802A1 true DE3919802A1 (de) 1989-12-21
DE3919802C2 DE3919802C2 (de) 1997-01-30

Family

ID=15475297

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3919802A Expired - Fee Related DE3919802C2 (de) 1988-06-17 1989-06-16 Speichersteuersystem für ein Multiprozessorsystem

Country Status (3)

Country Link
US (1) US5475849A (de)
JP (1) JPH0754484B2 (de)
DE (1) DE3919802C2 (de)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4014733A1 (de) * 1989-05-10 1990-11-15 Hitachi Ltd Verfahren und vorrichtung zur steuerung eines pufferspeichers
WO2000075785A1 (en) * 1999-06-08 2000-12-14 Arm Limited Status bits for cache memory
US7797670B2 (en) 2006-04-14 2010-09-14 Apple Inc. Mirrored file system
US7822922B2 (en) 2004-04-22 2010-10-26 Apple Inc. Accessing data storage systems without waiting for read errors
US8250397B2 (en) 2007-01-08 2012-08-21 Apple Inc. N-way synchronization of data
US8321374B2 (en) 2005-06-21 2012-11-27 Apple Inc. Peer-to-peer N-way syncing in decentralized environment
US8495015B2 (en) 2005-06-21 2013-07-23 Apple Inc. Peer-to-peer syncing in a decentralized environment
US8868491B2 (en) 2006-08-04 2014-10-21 Apple Inc. Method and system for using global equivalency sets to identify data during peer-to-peer synchronization

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0520190A (ja) * 1991-07-10 1993-01-29 Koufu Nippon Denki Kk キヤツシユ無効化処理回路
JP2000259610A (ja) * 1999-03-04 2000-09-22 Nec Kofu Ltd ベクトルデータ処理装置およびマルチプロセッサ構成におけるベクトルデータ処理装置のメモリクリア方式
US8924654B1 (en) * 2003-08-18 2014-12-30 Cray Inc. Multistreamed processor vector packing method and apparatus
JP5021978B2 (ja) * 2006-08-11 2012-09-12 エヌイーシーコンピュータテクノ株式会社 マルチプロセッサシステム及びその動作方法
US11663118B2 (en) * 2021-03-10 2023-05-30 Infineon Technologies Ag Address vectors for data storage elements

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4056844A (en) * 1974-02-26 1977-11-01 Hitachi, Ltd. Memory control system using plural buffer address arrays
DE2847960A1 (de) * 1977-11-28 1979-05-31 Ibm Speichersteuereinrichtung
DE3439302A1 (de) * 1983-10-27 1985-05-09 Hitachi, Ltd., Tokio/Tokyo Speichersteuerungsvorrichtung
EP0265636A1 (de) * 1986-10-03 1988-05-04 BBC Brown Boveri AG Multiprozessor mit mehreren mit Cache-Speichern ausgerüsteten Prozessoren und einem gemeinsamen Speicher

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3581291A (en) * 1968-10-31 1971-05-25 Hitachi Ltd Memory control system in multiprocessing system
US3618041A (en) * 1968-10-31 1971-11-02 Hitachi Ltd Memory control system
US3588829A (en) * 1968-11-14 1971-06-28 Ibm Integrated memory system with block transfer to a buffer store
US3735360A (en) * 1971-08-25 1973-05-22 Ibm High speed buffer operation in a multi-processing system
US4819154A (en) * 1982-12-09 1989-04-04 Sequoia Systems, Inc. Memory back up system with one cache memory and two physically separated main memories
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
JPS62285157A (ja) * 1986-06-04 1987-12-11 Hitachi Ltd 記憶制御方式

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4056844A (en) * 1974-02-26 1977-11-01 Hitachi, Ltd. Memory control system using plural buffer address arrays
DE2847960A1 (de) * 1977-11-28 1979-05-31 Ibm Speichersteuereinrichtung
DE3439302A1 (de) * 1983-10-27 1985-05-09 Hitachi, Ltd., Tokio/Tokyo Speichersteuerungsvorrichtung
EP0265636A1 (de) * 1986-10-03 1988-05-04 BBC Brown Boveri AG Multiprozessor mit mehreren mit Cache-Speichern ausgerüsteten Prozessoren und einem gemeinsamen Speicher

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IEEE Transactions on Computers, Vol. C-27, Nr. 12, Dezember 1978, S. 1112-1118 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4014733A1 (de) * 1989-05-10 1990-11-15 Hitachi Ltd Verfahren und vorrichtung zur steuerung eines pufferspeichers
WO2000075785A1 (en) * 1999-06-08 2000-12-14 Arm Limited Status bits for cache memory
US6272033B1 (en) 1999-06-08 2001-08-07 Arm Limited Status bits for cache memory
US7822922B2 (en) 2004-04-22 2010-10-26 Apple Inc. Accessing data storage systems without waiting for read errors
US8321374B2 (en) 2005-06-21 2012-11-27 Apple Inc. Peer-to-peer N-way syncing in decentralized environment
US8495015B2 (en) 2005-06-21 2013-07-23 Apple Inc. Peer-to-peer syncing in a decentralized environment
US8635209B2 (en) 2005-06-21 2014-01-21 Apple Inc. Peer-to-peer syncing in a decentralized environment
US7797670B2 (en) 2006-04-14 2010-09-14 Apple Inc. Mirrored file system
US8868491B2 (en) 2006-08-04 2014-10-21 Apple Inc. Method and system for using global equivalency sets to identify data during peer-to-peer synchronization
US8250397B2 (en) 2007-01-08 2012-08-21 Apple Inc. N-way synchronization of data

Also Published As

Publication number Publication date
US5475849A (en) 1995-12-12
DE3919802C2 (de) 1997-01-30
JPH0754484B2 (ja) 1995-06-07
JPH0277858A (ja) 1990-03-16

Similar Documents

Publication Publication Date Title
DE3151745C2 (de)
DE2226382C3 (de) Datenverarbeitungsanlage mit mehreren Prozessoren und diesen zugeordneten Pufferspeichern
DE3011552C2 (de)
DE3803759C2 (de)
DE2350884C2 (de) Adreßumsetzungseinheit
DE3932675A1 (de) Virtuelles maschinensystem
DE2241257A1 (de) Datenverarbeitende anlage
DE2523414A1 (de) Hierarchische speicheranordnung
DE2847960A1 (de) Speichersteuereinrichtung
DE4134192A1 (de) Integrierter schaltkreis mit verarbeitung im speicher
DE3919802C2 (de) Speichersteuersystem für ein Multiprozessorsystem
DE4103093C2 (de) Verfahren zum Steuern eines Datenübertragungs-Pufferspeichers und Computersystem zum Durchführen dieses Verfahrens
DE2817431A1 (de) Speicherhierarchie
DE69816714T2 (de) Instrumentationsanordnung für eine Maschine mit nichtuniformen Speicherzugriffen
DE2912073C2 (de)
DE2718551B2 (de)
EP0010186A1 (de) Vorrichtung zum Bearbeiten bezeichneter Hinweise
DE4117672A1 (de) Verfahren und vorrichtung zur steuerung eines zwischen einer zentraleinheit und einem arbeitsspeicher angeordneten cache-speichers
DE4234695C2 (de) Computer-Speichersystem und Verfahren zur Aufrechterhaltung der Cache-Kohärenz zwischen einem Daten-Cache und einem Segmentdeskriptor-Cache
DE3518818A1 (de) Datenverarbeitungsvorrichtung und verfahren und vorrichtung zur umsetzung von datenelementen
DE4114053A1 (de) Computersystem mit cachespeicher
DE102021108478A1 (de) System und Verfahren zur Cache-Verzeichnis-TCAM-Fehlererkennung und - Korrektur
DE3105115A1 (de) Datenverarbeitungssystem mit bezueglich einer schluesselspeicherung ringfoermig angeschlossenen mulitprozessoren
DE4135031A1 (de) Eingabe/ausgabeeinrichtungen
DE3832758A1 (de) Computerisierte arbeitsstation

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8181 Inventor (new situation)

Free format text: ANDO, TOSHIMITSU, HADANO, JP MATSUURA, TSUGUO, KANAGAWA, JP ISOBE, TADAAKI, HADANO, KANAGAWA, JP

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee