DE4014733A1 - Verfahren und vorrichtung zur steuerung eines pufferspeichers - Google Patents

Verfahren und vorrichtung zur steuerung eines pufferspeichers

Info

Publication number
DE4014733A1
DE4014733A1 DE19904014733 DE4014733A DE4014733A1 DE 4014733 A1 DE4014733 A1 DE 4014733A1 DE 19904014733 DE19904014733 DE 19904014733 DE 4014733 A DE4014733 A DE 4014733A DE 4014733 A1 DE4014733 A1 DE 4014733A1
Authority
DE
Germany
Prior art keywords
memory
address
processors
recovery
buffer 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.)
Withdrawn
Application number
DE19904014733
Other languages
English (en)
Inventor
Tadaaki Isobe
Toshiko Isobe
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
Hitachi Computer Engineering Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Computer Engineering Co 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, Hitachi Computer Engineering Co Ltd filed Critical Hitachi Ltd
Publication of DE4014733A1 publication Critical patent/DE4014733A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems

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)
  • Complex Calculations (AREA)

Description

Die Erfindung betrifft ein Verfahren und eine Vorrichtung zur Steuerung eines Pufferspeichers um Koinzidenz zwischen den Inhalten eines gemeinsamen Speichers und denen eines Pufferspeichers in einem Mehrprozessorsystem zu erreichen.
In den Druckschriften "Cache Memory Design: an Evolving Art" in IKEEE Spectrum, Dec. 1987, S. 40-44 und "Introduction to Computer Architecture", Science Research Associates, Inc., 1975, S. 230-247 sind bekannte setz-assoziative Systeme für die Steuerung eines Pufferspeichers beschrieben.
In neueren Computersystemen werden die Pufferspeicher (oder Cache-Speicher) nachstehend mit "BS" abgekürzt) durch Hoch­ geschwindigkeitsspeicher gebildet, deren Zugriffszeit kürzer ist als die eines Hauptspeichers (der nachstehend mit "MS" abgekürzt ist). Im Pufferspeicher ist eine Teilkopie der Inhalte des Hauptspeichers gespeichert, womit die Zugriffs­ zeit zum Prozessor verkürzt wird.
Bei einem kürzlich entwickelten Mehrprozessorsystem, das aus mehreren Datenprozessoren gebildet ist, welche jeweils einen BS haben und gemeinsam einen einzigen MS benutzen, kann fol­ gendes Problem auftreten.
Für das Fortschreiben des gesamten Inhalts oder eines Teils des Inhalts des Hauptspeichers MS durch einen Datenprozessor muß eine Speichersteuerung sicherstellen, daß die Inhalte des MS und der BS anderer Datenprozessoren, die eine Kopie des alten Inhalts des MS speichern, übereinstimmen.
US-40 56 844 (1.11.1977) beschreibt ein bekanntes Speicher­ steuersystem, das eine erste Steuertabelle mit einem Puffer­ adressenfeld (nachstehend mit "BAA" abgekürzt) zum Regi­ strieren der Adresse des MS in dem BS und eine zweite Steuertabelle mit einem Frontadressenfeld (abgekürzt "FAA′" unabhängig von dem BAA vorsieht. Das FAA dient als Steuer­ tabelle für die Prüfung einer von einem Befehlsprozessor an­ gegebenen Speicheradresse. Das FAA dient zur schnellen Ab­ wicklung des Steuerprozesses zur Sicherstellung der Überein­ stimmung zwischen den Inhalten des MS und der BS.
In einem vor kurzem entwickelten Vektorprozessor (abgekürzt "VP") der zur schnellen Ausführung technischer und wissen­ schaftlicher Berechnungen dient, sind Vektorregister (abge­ kürzt "VR′" und Operationsmittel vorgesehen. In den meisten Fällen wird als Steuersystem im VP ein Parallelverarbei­ tungssystem verwendet, das arithmetische Operationen paral­ lel durch Teilung der Vektordaten eines Vektorbefehls in Gruppen ausführt. In diesem Falle werden die durch den Tei­ lungsvorgang erhaltenen Vektorelemente Parallelzugriffs­ anforderern zugeteilt, sobald der VP zum MS zugreift.
In einem einen gemeinsam genutzten Hauptspeicher enthalten­ den System, das Skalarprozessoren (abgekürzt "SP") enthält, die jeweils einen VP und einen BS haben, wird ein bekanntes Verfahren für die Operation des Speicherns vom VP in den MS verwendet, das in dem FAA Hardwareaufwand einspart (JP-A Nr. 63-3 800; JP-OS Nr. 1-1 80 669).
Die herkömmlichen Speichersteuertechniken betrachteten noch nicht ein aus VPs und SPs gebildetes Mehrprozessorsystem, wie es oben beschrieben wurde.
Kurz gesagt müssen auf eine von einem VP ausgegebene Spei­ cheranforderung hin Zugriffe zu den FAAs entsprechend den BS sämtlicher SPs stattfinden. Dazu müssen die FAAs wieder­ gewonnen werden. Falls FAAs in einer den Anforderern ent­ sprechenden Anzahl vorgesehen sind, wächst die Anzahl der FAAs bis zum Produkt aus der Anzahl der VPs mit der Anzahl der SPs an. Demgemäß erhöht sich der Hardwareaufwand so stark, daß das System nicht realisiert werden kann.
Wenn dagegen weniger FAAs vorgesehen werden, entsteht eine unnötig lange Wartezeit für den Zugriff bzw. das Wiederauf­ finden eines FAAs, so daß die Systemleistungsfähigkeit stark verringert ist.
Es ist deshalb Aufgabe der Erfindung, ein Verfahren und eine Vorrichtung zur Speichersteuerung in einem Mehrprozessor­ system, das aus VPs, die Speicheranforderer haben, SPs, die jeweils einen BS haben und einem von den VPs und den SPs gemeinsam genutzten Hauptspeicher gebildet ist, so zu ermög­ lichen, daß die Koinzidenz zwischen dem Hauptspeicher MS und den jeweiligen Pufferspeichern BS mit einer minimalen Anzahl von FAAs erhalten bleibt.
Dabei soll in vorteilhafter Weise Hardware durch eine effi­ ziente Wiedergewinnung in der Hälfte der normalerweise not­ wendigen FAAs eingespart werden.
Damit beim Wiedergewinnen von Adressensteuertabellen zwi­ schen Pufferzugriffsadressen und Hauptspeicherzugriffsadres­ sen unnötiges Löschen vermieden wird, soll zwischen Wieder­ gewinnungsverfahren mit individueller Adressenwiedergewin­ nung oder mit extrahierter Adressenwiedergewinnung gewählt werden.
Vorteilhafterweise wird durch die vorliegende Erfindung nicht nur Hardware für die Informationsübertragung einge­ spart, sondern auch Hardware für die Schnittstellen, und zwar entsprechend dem Konzentrationsgrad, mit dem Adressen­ information für die Koinzidenzsteuerung von üblichen Adres­ sen in konzentrierte (extrahierte) Adressen umgesetzt wird.
Zur Lösung der obigen Aufgabe wird in einem einen Hauptspei­ cher und zwei oder mehrere gemeinsam den Hauptspeicher be­ nützende Prozessoren aufweisenden Multiprozessorsystem, in dem jeder Prozessor einen Pufferspeicher zur Speicherung einer Kopie eines Teils der Information des Hauptspeichers hat, ein erfindungsgemäßes Speichersteuerungsverfahren mit folgenden Schritten ausgeführt:
Die von einem Prozessor fortgeschriebenen Speicherbereiche des Hauptspeichers werden extrahiert; Information darüber, ob die Inhalte dieser Bereiche in den Pufferspeicher eines anderen Prozessors übernommen ist, wird wiedergewonnen, und die Information in dem Pufferspeicher wird ungültig gemacht, wenn sie übernommen ist.
Vorteilhafterweise ist die Speichersteuervorrichtung mit einer Funktion zur Extraktion von Speicheradressen durch Er­ fassung gemeinsamer Bitpositionen und gemeinsamer Bitwerte aus Adressen, die den von einem Prozessor ausgegebenen Spei­ cheranforderungen entsprechen, einer Funktion zur sukzessi­ ven Wiedergewinnung einer Steuertabelle eines BS für die Be­ urteilung, ob Information in den extrahierten Adressen in den BS des jeweiligen SP gesetzt wird und einer Funktion ausgestattet, die die Information, wenn sie übernommen wur­ de, ungültig macht.
Die Speichersteuervorrichtung weist eine Wiedergewinnungs­ steuertabelle (FAA) für das schnelle Wiedergewinnen der Adressenbereiche auf.
Weiterhin weist die erfindungsgemäße Speichersteuervorrich­ tung eine Funktionseinheit auf, die zwischen zwei Wieder­ gewinnungsmitteln wählt, und zwar zwischen
  • a) einer FAA-Wiedergewinnung aufgrund der extrahierten Adressen, und
  • b) einer FAA-Wiedergewinnung aufgrund der Adressen entspre­ chend individueller Speicheranforderungen auf der Grund­ lage von von dem VP, der die Speicheranforderungen aus­ gibt, erzeugten Befehlen, so daß diese Funktion für den Fall, wo Zeitersparnis, ein wirksames Ungültigmachen oder die Verringerung unnötiger Ungültigkeitsvorgänge gefordert ist, gewählt werden kann.
Mit den genannten erfindungsgemäßen Einrichtungen werden von dem VP ausgegebene Speicheranforderungen zu mindestens einer extrahierten Adresse zur Wiedergewinnung der den jeweiligen SPs entsprechenden FAAs komprimiert. Weil ein Urteil dar­ über, ob Bereiche des MS in den BS des jeweiligen SP über­ nommen werden, gefällt werden kann, ist auch in dem Fall, wo eine kleinere Anzahl von FAAs als sie der Anzahl der Spei­ cheranforderer entsprechen würde, vorgesehen ist, eine nor­ male Wiedergewinnung ausführbar.
Falls die Anzahl der von dem VP ausgegebenen Speicheranfor­ derungen so klein ist, daß die Zeit für die FAA-Wiedergewin­ nung aufgrund der Adressenextraktion länger als die Zeit für die FAA-Wiedergewinnung aufgrund der individuellen Speicher­ anforderungen geschätzt wird oder falls sich Speicheranfor­ derungen, die der VP ausgegeben hat, entsprechende Adressen über einen weiten Bereich des Hauptspeichers erstrecken, so daß die BS-Ungültigkeitsoperation für die auf der Adressen­ extraktion basierenden FAA-Wiedergewinnung als zu häufig eingeschätzt wird, kann auf die FAA-Wiedergewinnung aufgrund der individuellen Speicheranforderungen umgeschaltet werden.
Demgemäß können sowohl die Verarbeitungszeit als auch unnö­ tig häufige Ungültigkeitsoperationen bei der aufgrund der Adressenextraktion durchgeführten FAA-Wiedergewinnung ver­ mieden werden, was bedeutet, daß die Systemleistungsfähig­ keit wächst.
Die Erfindung wird im folgenden in Ausführungsbeispielen an­ hand der Zeichnung näher beschrieben. Es zeigen:
Fig. 1 ein Blockschaltbild eines Hauptteils eines Vektorprozessoren und Skalarprozessoren ver­ wendenden Mehrprozessorsystems, in dem die Erfindung Anwendung findet;
Fig. 2 und 3 jeweils ein Blockschaltbild und ein Schnitt­ stellenformatdiagramm zur Erläuterung der Startoperation von einem Skalarprozessor zu einem Vektorprozessor;
Fig. 4 ein Blockschaltbild der Einzelheiten einer Adressenextrahiereinrichtung;
Fig. 5A ein Blockschaltbild des Aufbaus eines Puffer­ adressenfelds BAA bzw. Frontadressenfelds FAA;
Fig. 5B ein die Korrespondenz von Byteadresse, Zwi­ schen-Blockadresse, Spaltenadresse und obere Adresse in bezug auf Bitstellen einer realen Adresse erläuterndes Diagramm;
Fig. 5C eine ein zusätzliches Gültigkeitsbit V erläu­ ternde Darstellung;
Fig. 6 ein Blockschaltbild des Aufbaus zweiter Steuertabellen (FAAs) und einer Wiedergewin­ nungseinrichtung REF in einem Speichersteuer­ system SC als ein erfindungsgemäßes Ausfüh­ rungsbeispiel;
Fig. 7 ein Blockschaltbild der FAA-Wiedergewinnungs­ funktion und der zweiten Steuertabellen (FAAs) im einzelnen;
Fig. 8 ein Blockschaltbild einer Umsetzschaltung;
Fig. 9 ein Blockschaltbild von Einzelheiten einer Adressenvergleichsschaltung; und
Fig. 10 ein Blockschaltbild von Einzelheiten einer Endbedingungs-Erfassungsschaltung.
In dem in Fig. 1 gezeigten Blockschaltbild eines Hauptteils eines Vektorprozessoren und Skalarprozessoren enthaltenden Mehrprozessorsystems wird ein Hauptspeicher MS 1 gemeinsam von zwei Skalarprozessoren SP 3 und 4 und Vektorprozessoren VP 5 und 6 benutzt. Eine Speichersteuereinheit (abgekürzt "SC") 2 steuert die von den SPs 3 und 4 und den VPs 5 und 6 an den MS 1 ausgegebenen Speicheranforderungen.
Der SP 3 hat einen Cache-Speicher (BS) 31 und ein BAA 30, in dem eine Hauptspeicheradresse für den MS 1 für einen dem BS 31 entsprechenden Speicherbereich registriert ist. Der VP 5 hat ein Paar Vektorregister 51 A und 51 B und diesen entspre­ chende Speicheranforderer 50 A und 50B. Die VRs 51 A und 51 B dienen zum Speichern einer Datenkopie (Vektordaten), die im Hauptspeicher MS 1 gespeichert sind. Jedes VR 51 A und 51 B hat dieselbe Funktion wie der BS-0 31 im SP 3. Die VRs 51 A und 51 B sind programmgesteuerte Register, so daß eine Hard­ waresteuerung zur Aufrechterhaltung der Informationskoinzi­ denz mit dem MS 1, wie sie für den BS stattfindet, nicht er­ folgt.
Der SP 4 hat denselben Aufbau wie der SP 3. Der VP 6 hat denselben Aufbau wie der VP 5. Kurz gesagt hat der SP 4 ein BAA 40 und einen BS 41. Der VP 6 hat VRs 61 A und 61 B und Speicheranforderer 60 A und 60 B. Diese Komponenten haben die­ selben Funktionen wie sie für den SP 3 und den VP 5 jeweils beschrieben wurden.
Bei diesem Ausführungsbeispiel führen die VPs 5 und 6 Paral­ lel- Arithmetikoperationen mit den Vektorelementen aus. Wenn der VP 5 einen Befehl zum Speichern von Daten der VRs 51 A und 51 B in Bereiche des Hauptspeichers MS 1 ausgibt, werden erste und zweite Vektorelementdaten, die sich jeweils durch das Teilen der Daten der VRs 51 A und 51 B in zwei Vektorele­ mente ergeben, den zwei Anforderern eingespeist. Beispiels­ weise werden die Daten des ersten und des zweiten Vektorele­ ments jeweils dem Anforderer 50 A und 50 B zugeführt.
Die Anforderer 50 A und 50 B dienen zur Ausgabe von Speicher­ anforderungen an den MS 1. Für den VP 6 wird dieselbe eben beschriebene Prozedur durchgeführt.
Die SC 2 hat FAAs 23 und 24 zum Speichern der Kopie der In­ halte der BAAs 30 und 40 und Referenzeinheiten (nachstehend abgekürzt REF) 25 und 26, die darauf Bezug nehmen, ob Inhal­ te von Speicherbereichen, welche durch Speicherbefehle, die die VPs 5 und 6 ausgegeben haben, bezeichnet wurden aus dem MS 1 ausgelesen und in den BS des jeweiligen SP übernommen wurden oder nicht. Die REFs 25 und 26 haben eine Funktion zur Extraktion oder Berechnung einer Speicherbereiche ange­ benden Adresse aus von den Speicheranforderern 50 A, 50 B, 60 A und 60 B zugeführten Speicheradressen, eine Funktion, die sukzessive einen Hinweis darauf liefert, ob die Bereiche jeweils in den BS 31 und BS 41 übernommen wurden, und zwar aufgrund der anhand des Inneren der FAAs extrahierten Adres­ se. Die SC 2 hat außerdem Bezugs-FAAs, die den BAAs entspre­ chen.
Nun wird der Betrieb des Systems als ganzes für den Fall be­ schrieben, wo der VP 5 einen Vektorspeicherbefehl ausgegeben hat. Die Ausführung des Vektorbefehls wird dem VP von der SP angegeben. Wenn der Vektorbefehl von einem Befehlsausfüh­ rungsprozessor 3 A in dem SP 3, wie Fig. 2 zeigt, erfaßt ist, befiehlt der VP 5 über eine Signalleitung 3 C die Ausführung des Vektorbefehls. Nun sei angenommen, daß der Befehl ein Speicherzugriffsbefehl ist. Dann zeigt Fig. 3 das Signalfor­ mat auf der Leitung 3 C, welches aus einem Befehlstyp, einer Speicherstartadresse, einem Adressenzuwachs für die Ausgabe von Adressen jeweiliger Vektordaten, einer Vektorlänge (Ele­ mentzahl), einer Ziel-VR-Nummer und einer VR-Nummer besteht, in die ein Listenwert zum Zeitpunkt der Listenvektorverar­ beitung gespeichert wird.
Wenn der Befehlsausführungsprozessor 3 B im VP 5 über die Signalleitung 3 C ein Befehlssignal empfängt, dekodiert der Prozessor 3 B den Befehlstyp um eine zu startende Quelle festzulegen. Wenn der Vektorspeicherbefehl gestartet wird, werden Vektorspeicherdaten den Speicheranforderern 50 A und 50 B entsprechend der Vektorelemente-Parallelverarbeitung zugeteilt, um die Anforderer 50 A und 50 B über die Signallei­ tungen 3 Ba und 3 Bb zu starten. In diesem Fall wird ein FAA-Referenzanforderungsmittel bezeichnet. Kurz gesagt wer­ den die Inhalte einer Befehlsschnittstelle gemäß Fig. 3 in der Befehlsausführungssteuereinheit 3 B geprüft. Wenn der Wert des Adressenzuwachses 306 und die Vektorlänge 308 in dem Speicherzugriffsbefehl einen vorgegebenen Wert (bei­ spielsweise 1 KB) nicht überschreiten und einen zweiten vor­ gegebenen Wert (beispielsweise 32 Elemente) nicht unter­ schreiten und wenn sich der Befehlstyp 302 von einem Listen­ zugriffsbefehl zur Erzeugung einer Zugriffsadresse aus Ele­ menten in der VR unter Verwendung der Nummern 310 und 312 unterscheidet, wird ein Steuerprozeß zur Auswahl der FAA- Wiedergewinnung aufgrund der Adressenextraktion ausgeführt. Wenn dem Anforderer die Verarbeitung eines ersten Elements der Vektordaten mitgeteilt wird, wird ein Adressenextrak­ tionsstartbefehl hinzugefügt. Wenn dagegen dem Anforderer die Verarbeitung eines letzten Elements der Vektordaten be­ zeichnet wird, wird ein Adressenextraktionsendbefehl hinzu­ gefügt.
Von den Speicheranforderern 50 A und 50 B ausgegebene Spei­ cheranforderungsadressen werden der SC 2 über die Signallei­ tungen 5 A und 5 B zugeführt. Zu dieser Zeit wird in den An­ forderern der Adressenextraktionsstart bzw. -endbefehl ver­ schoben, um der SC 2 über die Signalleitungen 5 A/5 B zuge­ führt zu werden. Der Befehl wird einer innerhalb der SC 2 vorgesehenen Adressenextrahiereinrichtung 250 in Form der in Fig. 4 gezeigten Signale 70 d/71 d, 70 e/71 e zugeführt.
Wenn umgekehrt der Speicherzugriffsbefehl die zuvor genann­ ten Bedingungen nicht erfüllt, wie dies weiter unten anhand der Fig. 5A und 5B beschrieben wird, d.h., wenn eine unter den Bedingungen, daß das Adresseninkrement und die Vektor­ länge einen vorgegebenen Wert nicht über- und einen anderen vorgegebenen Wert nicht unterschreiten und daß der Befehl ein Listenzugriffsbefehl ist, nicht zutrifft, wird die FAA- Bezugnahme auf der Grundlage individueller Anforderungen ge­ wählt (der Fall b)). Wenn die Anforderer über die Signallei­ tungen 3 Ba/3 Bb die Verarbeitung eines jeweiligen Vektorele­ ments mitgeteilt bekommen, wird ein Befehl für die indivi­ duelle Anforderungswiedergewinnung hinzugefügt. Dieser Be­ fehl wird in den Anforderern verschoben und der SC 2 über die Signalleitungen 5 A/5 B zugeführt. Dieser Befehl wird den Adressenextrahiermitteln 250 in Form der Signalleitungen 70 c/71 c gemäß Fig. 4 zugeführt.
Wenn im Fall (a) eine FAA-Bezugnahme aufgrund einer Adres­ senextraktion gewählt wird läuft in der KREF 25 in der SC 2 eine "Bereichsadressenextraktionsverarbeitung" ab, in der gemeinsame Bits aus aufeinanderfolgend zugeführten Adressen extrahiert werden. Die so gefundene extrahierte Adresse stellt Bereiche des MS 1 dar, in denen der Vektorbefehl fortgeschrieben wird. Zwei Bezugs- oder Wiedergewinnungs­ adressenfelder REFER-AA0 und AA1, die jeweils korrespondie­ rend mit den FAAs 23 und 24 zum Speichern von Kopien von deren Inhalten vorgesehen sind, werden aufgrund der extra­ hierten Adressen wiedergewonnen. Nun wird angenommen, daß ein setz-assoziatives Verfahren in der Puffersteuerung die­ ses Systems angewendet wird. Dann werden benötigte Einträge im Wiedergewinnungsprozeß untersucht, während die Spalten­ adressen der Adressenfelder sukzessive wechseln.
Fig. 5A zeigt ein Beispiel der Struktur des in diesem Aus­ führungsbeispiel verwendeten BAA bzw. FAA. Bei der in diesem Ausführungsbeispiel verwendeten Pufferspeichersteuerung ist das assoziative System so geartet, daß zwei Reihen (Reihe 1 und Reihe 2) und 16 Spalten (Spalte 0 bis 15) vorhanden sind. Daten werden bei jedem 64-Byte-Block registriert. Eine in jedem Eintrag in der Tabelle registrierte Adresse hat 21 Bitstellen. Die Fig. 5B zeigt die Korrespondenz der Bitstel­ len in einer realen Adresse mit der Zwischenblockadresse, der Spaltenadresse und der oberen Adresse.
Im Fall (b), der auf individuellen Anforderungen beruhenden FAA-Bezugnahme, bezeichnen 4 Bits oberhalb der Zwischen­ blockadresse eine der Spalten 0 bis 15, gemäß den Fig. 5A und 5B. Dann wird eine in einer der Reihen 1 und 2 regi­ strierte (obere) Adresse mit den oberen Bitstellen der Bezugsadresse verglichen. Wenn sämtliche Bits übereinstim­ men, wird der Eintrag in der betreffenden Reihe und Spalte ungültig gemacht. Andererseits werden in der auf der extra­ hierten Adresse basierenden FAA-Bezugnahme (Fall (a)) nur diejenigen Bitstellen, die sich in den Zugriffsadressen nicht verändert haben, für den Vergleich herangezogen. Da­ durch wird die Bezugnahme sehr effizient.
Wenn in der Adreßfeldwiedergewinnungszeitdauer eine mit der extrahierten Adresse übereinstimmende Spalte erfaßt wurde, wird eine Spaltenungültigkeitsanforderung an eines oder an beide FAAs 23 und 24 gesendet, um die in den BS übernommenen Daten ungültig zu machen. Auf den Empfang dieser Anforderung versetzt das FAA 23 bzw. 24 die Spalte in ihrer eigenen Steuertabelle in den ungültigen Zustand und gibt gleichzei­ tig eine Spaltenungültigkeitsanforderung an das REFER-AA0 25 A im REF 25, das REFER-AA1 25 B im KREF 26, das BAA 30 im SP-0 3 und das BAA 40 im SP-1 3 aus. Wenn die Adressenfelder in den BAAs 30 und 40 und den REFs 25 und 26 diese Anforde­ rung empfangen, versetzen sie die Spalte in der Steuertabel­ le in den ungültigen Zustand, in dem sie das Gültigkeitsbit V 99 gemäß Fig. 5C auf "0" setzen. Auch in dem Fall, wo ein Ungültigmachen als Ergebnis der Bezugnahme in den REFs 25 und 26 erforderlich ist, werden die REFER-AA0 und REFER-AA1 in den REFs 25 und 26 indirekt über die AAs 23 und 24 ungül­ tig gemacht. Dies liegt daran, daß das Nichtübereinstimmen der Inhalte des REFER-AA0 in dem REF 25 mit den Inhalten des REFER-AAl in dem REF 26 durch die Zeitdifferenz der FAA- Registrierung von den SPs 3 und 4 bezüglich den FAAs 23 und 24 verhindert wird.
Fig. 6 zeigt ein Beispiel der Einzelheiten des Aufbaus von die FAAs und die REFs 2 in der SC betreffenden Komponenten.
Eine mit der Übernahme der SPs in die BS 31 und 41 ausgege­ bene FAA-Registrieranforderung oder eine Ungültigkeitsanfor­ derung zum Ungültigmachen von BS-Daten im anderen SP, wel­ cher in den MS einschreibt, wird von einer Wählschaltung 27 angenommen, die eine Verarbeitung bezüglich des Ziel-FAA (FAA 23 oder FAA 24) ausführt. Wenn von den SPs 0 und 1 eine Registrieranforderung ausgegeben wird, werden Registrierope­ rationen für das AA0 (23) und das FAA1 (24) ausgeführt und dann deren Kopien in den REFER-AA0 und REFER-AA1 abgespei­ chert. Wenn mit einem Einschreiben von dem SP 0 und dem SP 1 in die Speicher eine Ungültigkeitsanforderung ausgegeben wird, wird geprüft, ob eine Einschreibadresse in dem FAA1 24 oder dem AA0 23 registriert ist. Wenn die Einschreibadresse registriert ist, wird der entsprechende Eintrag ungültig ge­ macht.
Weiterhin wird die Ungültigkeitsanforderung dem REFER-AA0 25 A und dem REFER-AA1 25 B in dem REF 25 und den REFER-AAs in dem REF 26 über die Signalleitungen 3 b und 4 b und die Adres­ senfeldwiedergewinnungssteuereinrichtung 251 übertragen, so daß die Adressen in 25 A und 25 B ungültig gemacht werden.
Andererseits werden nun die von dem VP 0 und dem VP 1 ausge­ gebenen Speicheranforderungsadressen beschrieben. Die Adres­ sen von dem VP 0 werden zur Adressenextraktionsvorrichtung 250 über die Signalleitungen 5 a und 5 b übertragen. Eine durch die Extraktion gemeinsamer Bits, die denselben Wert haben, aus den Adressen erhaltene Bereichsadresse wird der Adressenfeldwiedergewinnungssteuereinrichtung 251 zugeführt. Letztere gewinnt die extrahierten Adressen in dem REFER-AA0 25 A und dem REFER-AA1 25 B wieder. Wenn der Eintrag durch die Wiedergewinnungsverarbeitung erfaßt wurde, wird über die Signalleitungen 25 a und 25 b eine Eintrags-Ungültigkeits­ anforderung an die Ziel-FAA0 23 oder FAA1 24 ausgegeben. Auf den Empfang dieser Anforderung hin macht die Wählschaltung 27 den Eintrag in dem jeweiligen FAA durch Invertieren eines entsprechenden Gültigkeitsbits ungültig. Danach wird eine Ungültigkeitsanforderung an die BAAs 30 und 40 und die AAs in den REFs 25 und 26 in derselben oben beschriebenen Weise ausgegeben.
Die zuvor genannte Prozedur führt das Ungültigkeitssetzen des BS 31 und 41 in dem SP0 und dem SP1 mit der von dem VP 0 ausgegebenen Vektorspeicheranforderung aus, so daß die Koin­ zidenz zwischen den Daten in dem MS und dem jeweiligen BS sichergestellt ist. Die oben geschilderte Prozedur wird auf eine von dem VP 1 ausgegebene Vektorspeicheranforderung unter Verwendung der Referenzeinheit REF 26 angewendet.
Fig. 4 zeigt Einzelheiten der Adressenextrahiervorrichtung 250. Die Adressenextrahiervorrichtung 260 hat denselben Auf­ bau.
Die über die Leitungen 5 a und 5 b von dem VPO 5 ausgegebene Anforderung wird einmal FIFO-Stapeln 70 und 71 zugeführt (FIFO = first-in first-out). Bei diesem Ausführungsbeispiel werden die Speicheranforderer 50 A, 50 B, 60 A und 60 B so ge­ steuert, daß die die individuelle Anforderung verwendende Wiedergewinnungsanforderung, die den Stapeln 70 und 71 gleichzeitig zugeführt wird, nicht zusammen mit der Wieder­ gewinnungsanforderung, die die extrahierte Adresse verwen­ det, existiert. Die von den Stapeln 70 und 71 angenommenen Anforderungen werden in der eingegebenen Reihenfolge ausge­ geben und nachfolgenden Logikschaltungen zugeführt. Die Aus­ gangssignale 70 a und 71 a der Stapel stellen FAA-Bezugsadres­ sen dar. Die Ausgangssignale 70 b und 71 b der Stapel stellen FAA-Bezugsanforderungen dar. Die Ausgangssignale 70 c und 71 c der Stapel stellen Signale für die Wiedergewinnungsanforde­ rung aufgrund individueller Anforderung dar. Die Ausgangs­ signale 70 d und 71 d der Stapel stellen Adressenextrahier­ startbefehle dar. Die Ausgangssignale 70 e und 71 e der Stapel bilden Adressenextrahierendbefehle.
Die Adressenextraktion erfolgt durch gleichzeitiges Verar­ beiten der Anforderungen von den Stapeln 70 und 71, wenn die Signale 70 c und 71 c für die Wiedergewinnungsanforderungen aufgrund individueller Anforderung sämtlich "0" sind. Die Wiedergewinnungsadresse wird dem Register 76 über die Wähl­ schaltung 75 zugeführt, die das Signal 70 a wählt. Zur glei­ chen Zeit werden die Adressensignale 70 a und 71 a Bit für Bit miteinander in dem Vergleicher 72 verglichen. Die extrahier­ te Gültigkeitsbitinformation, in der die Werte übereinstim­ mender Bits "1" und die Werte nicht übereinstimmender Bits "0" sind, wird in das Gültigkeitsbitregister 77 gesetzt. Die anderen Anforderungssignale sind wie folgt. Die vier Paare der jeweiligen Ausgangssignale 70 b und 71 b, 70 c und 71 c, 70 d und 71 d sowie 70 e und 71 e der Stapel 70 und 71 werden je­ weils mit ODER-Gliedern 746, 747, 748 und 749 ODERiert. Die Ergebnisse der ODER-Verknüpfung werden in Flip-Flop-Schal­ tungen 770, 771, 772 und 773 gesetzt. Wenn die beiden Signa­ le 70 c und 71 c für die Wiedergewinnungsanforderung aufgrund individueller Anforderung nicht ausgegeben werden, d.h., daß die Adressenextrahierdauer aufgrund der Tatsache erfaßt wird, daß das invertierte Ausgangssignal des ODER-Glieds 74 "1" wird, werden Befehle zum Fortschreiben von Ausgangszei­ gern an die Stapel 70 und 71 über ODER-Glieder 742, 743 und UND-Glieder 744 und 745 ausgegeben.
Wenn die aus den Stapeln 70 und 71 entnommenen und den Registern 76 und 77 und den Flip-Flop-Schaltungen 770 bis 773 zuzuführenden Anforderungen einen Adressenextrahier­ startbefehl enthalten, wird dieser Zustand vom UND-Glied 775 erfaßt und dann als Extrahiergültigkeitsbitinformation in das Register 781 gesetzt, während die Wählschaltung 79 so eingestellt wird, daß sie das Ausgangssignal des Registers 77 wählt. Für die Wiedergewinnungsadresse wird der Wert des Registers 76 immer in das Register 78 gesetzt. Wenn die Extrahieroperation erneut startet, werden Wiedergewinnungs­ adressen, die aufeinanderfolgend ankommen, Bit für Bit mit der letzten Adresse durch die Vergleicherschaltung 78 ver­ glichen. Wenn das Vergleichsergebnis Koinzidenz angibt, wird der Bitwert "1" erhalten. Wenn das Vergleichsergebnis Nicht­ übereinstimmung angibt, wird der Bitwert "0" erhalten. Der Ausgang der Vergleicherschaltung 78, der Ausgang des Regi­ sters 77 als neue Extrahiergültigkeitsbitinformation und der Ausgang des Registers 781 als vorige Extrahiergültigkeits­ information werden Bit für Bit durch ein UND-Glied 784 UNDiert. Der Ausgang des UND-Glieds 784 wird als Extrak­ tionsgültigkeitsbitinformation in das Register 781 gesetzt. Die zuvor beschriebene Prozedur wird wiederholt, bis eine Anforderung, die einen Adressenextrahierendbefehl enthält auftritt. Wenn dieser Adressenextrahierendbefehl vom UND- Glied 776 erfaßt ist, wird der Befehl als eine extrahierte Adressen-Wiedergewinnungsanforderung 250 b der Adreßfeld- Wiedergewinnungsvorrichtung 251 durch eine Flip-Flop-Schal­ tung 783 übertragen. Zu dieser Zeit werden die Inhalte der Register 780 und 781 gleichzeitig als eine extrahierte Adresse 250 a und eine extrahierte Gültigkeitsbitinformation 250 v ausgegeben.
In dem Falle (b), wo eine Wiedergewinnungsanforderung auf­ grund individueller Anforderung verarbeitet wird, werden die Anforderungen aus den Stapeln 70 und 71 abwechselnd ausgege­ ben und den nachfolgenden Logikschaltungen zugeführt. Der Wählvorgang der Wählschaltung 75, die zwischen den Wieder­ gewinnungsadressen 70 a und 71 a wählt, wird vom Ausgangs­ signal der Flip-Flop-Schaltung 73, die einen 1-Bit-Zähler bildet, gesteuert. Wenn das Ausgangssignal der Flip-Flop- Schaltung 73 "0" ist, wird die Adresse 70 a gewählt. Wenn da­ gegen das Ausgangssignal der Flip-Flop-Schaltung 73 "1" ist, wird die Adresse 71 a gewählt. Wenn die Wiedergewinnungs­ anforderung gewählt ist und in dem Fall, wo der Ausgang des Flip-Flops 73 "0" ist, wird ein Fortschreiben des Ausgangs­ zeigers des Stapels 70 durch eine Invertierschaltung 730, ein UND-Glied 740, das ODER-Glied 742 und das UND-Glied 744 in dieser Reihenfolge befohlen. Im Falle, daß das Ausgangs­ signal der Flip-Flop-Schaltung 73 "1" ist, wird das Fort­ schreiben des Ausgangszeigers des Stapels 71 durch eine aus dem UND-Glied 741, dem ODER-Glied 743 und dem UND-Glied 745 gebildete Schaltung befohlen.
Während die Wiedergewinnungsanforderung aufgrund individuel­ ler Anforderung verarbeitet wird, wird der 1-Bit-Zähler, nämlich die Flip-Flop-Schaltung 73 durch die ODER-Glieder 74 und 746 und das UND-Glied 739 fortgeschrieben.
Wenn die Wiedergewinnungsanforderung aufgrund individueller Anforderung aus dem Register 76, den Flip-Flop-Schaltungen 770 und 771 ausgegeben wird, werden die Ausgangssignale der Flip-Flop-Schaltungen 770 und 771 in die Flip-Flop-Schaltung 782 über das UND-Glied 774 gesetzt. Dann wird ein Wieder­ gewinnungsanforderungssignal 250 c aufgrund individueller An­ forderung an die FAA-Wiedergewinnungsvorrichtung 251 über­ tragen. Gleichzeitig wird eine Wiedergewinnungsadresse 250 a zu der FAA-Wiedergewinnungsvorrichtung 251 über die Register 76 und 780 gesendet. Hier ist die Gültigkeitsbitinformation bedeutungslos.
Die Fig. 7 zeigt Einzelheiten der FAA-Wiedergewinnungsvor­ richtung 251 und der FAAs 25 A und 25 B.
Zunächst wird die Operation derjenigen Komponenten für den Fall (a) der Wiedergewinnung aufgrund einer extrahierten Adresse beschrieben. Eine von der Adressenextrahiervorrich­ tung 250 empfangene Wiedergewinnungsanforderung 250 B auf­ grund einer extrahierten Adresse wird in eine Flip-Flop- Schaltung 806 gesetzt, welcher einen Wiedergewinnungszustand darstellt. Gleichzeitig wird die Wiedergewinnungsadresse 250 a in Register 800 und 801 sowie die Extrahiergültigkeits­ bitinformation in ein Register 802 gesetzt. Die in dem Re­ gister 802 empfangene Gültigkeitsbitinformation wird durch eine Umsetzschaltung 813 partiell umgesetzt. Die Einzelhei­ ten dieser Umsetzschaltung 813 sind in Fig. 8 gezeigt. Diese Schaltung dient zum Umsetzen von Gültigkeitsbits (V₀, V₁, V₂ und V₃ in absteigender Reihenfolge vom obersten Bit), die 4 Bits einer Spaltenadresse entsprechen, in Bitfolgemuster "0000", "1000", "1100", "1110" und "1111". Nur wenn sich "1"-Bits vom obersten Bit fortsetzen, wird das Zielbit auf "1" gesetzt. Kurz gesagt wird nur in dem Fall, daß von einem UND-Glied 8 132 vor der Umsetzung 4 Bits erfaßt wurden, die alle den Wert "1" haben, sämtliche Bits nach der Umsetzung auf "1" gesetzt. Wenn mittels eines UND-Glieds 8 131 erfaßt wird, daß die oberen 3 Bits vor der Umsetzung alle den Wert "1" haben, werden die oberen 3 Bits nach der Umsetzung auf "1" gesetzt. Wenn ein UND-Glied 8 130 den Fall erfaßt, daß die oberen 2 Bits vor der Umsetzung alle den Wert "1" haben, werden die oberen 2 Bits nach der Umsetzung auf "1" gesetzt. Wenn das oberste Bit vor der Umsetzung "1" ist, wird dieses nach der Umsetzung auf "1" gesetzt. Wenn vor der Umsetzung in einer Bitfolge eine "0" auftritt, wird 1 Bit oder die Bits unter dem Bit des Werts "0" in Nullen umgewandelt.
Die dem Register 801 zugeführte Spaltenadresse wird mit fol­ genden Schritten bereitgestellt: Ein UND-Glied 812 verknüpft Extraktionsgültigkeitsbitinformation nach der Umsetzung mit der Spaltenadresse in der Wiedergewinnungsadresse, die durch eine Signalleitung 250 a eingegeben wird; eine Wählschaltung 803 wählt aus. Die Wählschaltung 803 wird so gesteuert, daß das Ausgangssignal des UND-Glieds 812 nur gewählt wird, wenn die Wiedergewinnungsanforderung 250 b auf­ grund der extrahierten Adresse angenommen ist.
Unmittelbar nachdem die für die Wiedergewinnung aufgrund der extrahierten Adresse notwendige Information zur Verfügung steht, beginnt die FAA-Wiedergewinnung. Wenn von den FAAs 23 und 24 keine Registrier-/Löschanforderung an die FAAs 25 A und 25 B ergeht, werden die Spaltenadresse und die obere Adresse (vgl. Fig. 5B) den FAAs 25 A und 25 B durch Wählschal­ tungen 822 und 825 für die Bezugnahme zu den Steuertabellen zugeführt. Die Einträge einer Steuertabelle, die der angege­ benen Spaltenadresse entsprechen, werden gelesen und mit der oberen Adresse mittels Adressenvergleicherschaltungen 25 A0, 25 A 1, 25 B 0 und 25 B 1 aufgrund der Extraktionsgültigkeitsbit­ information des Registers 802 verglichen.
Fig. 9 zeigt die Einzelheiten der Adressenvergleicherschal­ tungen 25 A 0 bis 25 B 1. Die obere Adresse vom Register 800 (s. Fig. 7) und die von den Steuertabellen der FAAs gelesene Adresse werden miteinander Bit für Bit durch Exklusiv-ODER- Glieder 900 bis 902 verglichen. Die Ausgangssignale der Lo­ gikglieder und die den Bits entsprechende Extraktionsgültig­ keitsbitinformation werden durch UND-Glieder 910 bis 912 UND-verknüpft. Die Ausgangssignale der UND-Glieder 910 bis 912 werden von einem Nicht-ODER-Glied 920 zusammengefaßt. Weiter wird das Ausgangssignal des Nicht-ODER-Glieds 920 und ein vom Ausgang der Flip-Flop-Schaltung 806 durch ein UND- Glied 807 und ein ODER-Glied 810 erhaltenes Signal, das eine Verarbeitung unter Wiedergewinnung angibt, durch ein UND- Glied 930 unter Bildung eines Koinzidenzsignals UND-ver­ knüpft.
Die Funktion der in Fig. 9 dargestellten Vergleicherschal­ tung ist so, daß eine Beurteilung, ob Koinzidenz vorliegt oder nicht, nur für Adressenbits erfolgt, die den Positionen der Extraktionsgültigkeitsbits, die den Wert "1" haben, ent­ sprechen. Wenn die Vergleicherschaltungen 25 A 0 bis 25 B 1 die Koinzidenz erfassen, wird eine Ungültigkeitsanforderung den FAAs 23 und 24 durch die Signalleitungen 25 a und 25 b zuge­ sendet, um den entsprechenden Eintrag ungültig zu machen.
Nach vollständiger Wiedergewinnung einer Spaltenadresse wird die Spaltenadresse in der Addierschaltung 804 um "1" erhöht und dann wieder in das Spaltenadressenregister 801 gesetzt. Zu dieser Zeit wird die Wählschaltung 803 so gesteuert, daß sie das Ausgangssignal der Addierschaltung 804 wählt. Ein Befehl zum Setzen der Spaltenadresse in das Register 801 wird erzeugt, indem das Ausgangssignal der Flip-Flop-Schal­ tung 806 durch das UND-Glied 807 und das ODER-Glied 814 ge­ leitet wird. Der Setzbefehl wird in dem UND-Glied 807 unter­ drückt, wenn von den FAAs 23 und 24 eine Registrier-/Lösch­ anforderung vorliegt.
Wie oben beschrieben, wird die Spaltenadresse sukzessive jeweils um "1" erhöht, so daß die Steuertabelle des FAAs wiedergewonnen wird. Das Inkrementieren der Spaltenadresse wird zu dem Zeitpunkt beendet, wo alle Kombinationen der Bits in der Spaltenadresse berechnet wurden, die mindestens ein "0"-Bit aufweisen, das eine in das Register 802 gesetzte Extraktionsgültigkeitsbitinformation angibt. Kurz gesagt wird die Erhöhung der Spaltenadresse zur Beendigung der FAA- Wiedergewinnung gestoppt, wenn in der Addierschaltung 804 bezüglich der Position des untersten Extraktionsgültigkeits­ bits mit dem Wert "1" ein Übertrag erscheint.
Die Bedingung für die Beendigung der FAA-Wiedergewinnung wird aufgrund eines Ubertragssignals für jede Spalte von der Addierschaltung 804 und der Spaltenadresse entsprechender Extraktionsgültigkeitsbitinformation erzeugt, wodurch die Flip-Flop-Schaltung 806 zur Beendigung der FAA-Wiedergewin­ nung zurückgesetzt wird.
Fig. 10 zeigt Details der Endbedingungserfassungsschaltung 805. Extraktionsgültigkeitsbits (v₀, v₁, v₂ und v 3 in vom obersten Bit absteigender Folge, wobei die Extraktionsgül­ tigkeitsbits entsprechend der Spaltenadresse gebildet wer­ den) und Übertragssignale (c₁, c₂ und c₃) der Addierschal­ tung 804 werden durch die UND-Glieder 8050 bis 8052 UNDiert. Dann werden die Ausgangssignale der UND-Glieder 8050 bis 8052 durch eine ODER-Schaltung 8053 zusammengefaßt, deren Ausgangssignal die Endbedingung angibt.
Die obige Beschreibung betraf die Prozedurenfolge, die die Wiedergewinnung aufgrund extrahierter Adressen durchführt.
Nachfolgend wird nun der Fall (b) der Wiedergewinnungsopera­ tion aufgrund individueller Anforderung beschrieben.
In Fig. 7 werden die Extraktionsgültigkeitsbits, wenn eine Wiedergewinnungsanforderung 250 c aufgrund individueller An­ forderung empfangen wurde, durch die Umsetzschaltung 813 und das ODER-Glied 815 zwangsweise in Einsen verwandelt und dann in das Register 802 gesetzt. Zur selben Zeit wird die Wie­ dergewinnungsadresse in die Register 800 und 801 gesetzt. Zu dieser Zeit wird die Wählschaltung 803 durch eine ODER- Schaltung 808 so gesteuert, daß sie die Wiedergewinnungs­ adresse 250 a wählt. Die Wiedergewinnungsanforderung 250 c aufgrund individueller Anforderung wird den Adressenverglei­ cherschaltungen 25 A 0 bis 25 B 1 durch ein D-Flip-Flop 809 mit Takteingangsanschluß und ein ODER-Glied 810 zugeführt. Die in die Register 800 und 801 gesetzte Adresse wird den Steuertabellen der Adressenfelder 25 A und 25 B durch Wähl­ schaltungen 802 bis 825 zugeführt. Die Adressenvergleicher­ schaltung prüft, ob Koinzidenz vorliegt oder nicht. Wenn Koinzidenz erfaßt ist, wird eine Ungültigkeitsanforderung an die FAAs 23 und 24 gesendet. Da die Wiedergewinnungsanforde­ rung 250 c aufgrund individueller Anforderung das Fortschrei­ ben der Spaltenadresse nicht erfordert, ist die oben erwähn­ te Prozedur beendet.
In dem Falle, wo eine Registrier-/Löschanforderung von den FAAs 23 und 24 an die Steuertabellen durch die Signalleitun­ gen 3 b und 4 b gesendet wird, wird diese Anforderung in die Register 820 und 821 gesetzt und die nachfolgenden Wähl­ schaltungen 822 bis 825 werden dann so gesteuert, daß sie die Ausgangssignale der Register 820 und 821 wählen, wodurch ein Zugriff zu den Steuertabellen der FAAs bewirkt wird. Gleichzeitig wird die Anforderung der UND-Schaltung 807 durch das ODER-Glied 830 zugesendet, um die Wiedergewin­ nungsprozedur aufgrund extrahierter Adressen zu unterbre­ chen.
Die Steuerung, die die Koinzidenz zwischen dem BS und dem MS mit der Ausführung des von den VPs 5 und 6 ausgegebenen Vek­ torspeicherbefehls sicherstellt, wird durch die oben be­ schriebene Operation durchgeführt.
Wie oben beschrieben, hat die FAA-Wiedergewinnungsprozedur bei dieser Ausführungsart zwei Betriebsarten, nämlich die Wiedergewinnung aufgrund extrahierter Adressen und die Wiedergewinnung aufgrund individueller Anforderung. Letztere wird in dem Fall benutzt, wo die Zeit für die Wiedergewin­ nung aufgrund extrahierter Adressen zu lang ist oder wenn die Ungültigkeitsoperationen im BS zu häufig werden. Die Wiedergewinnung aufgrund individueller Anforderung ist in den folgenden Fällen vorteilhaft:
  • 1) Wenn die Anzahl der aufgrund eines Vektorspeicherbefehls zu verarbeitenden Elemente klein und bei der Wiedergewin­ nung aufgrund extrahierter Adressen ein großer Überhang auftritt;
  • 2) wenn der Zuwachswert einer Operandenadresse in einem Vek­ torspeicherbefehl so groß wird, daß der Bereich der ex­ trahierten Adresse groß wird;,
  • 3) wenn die Art des Vektorspeicherbefehls als Ziel ein "Listenvektorspeichern" ist, so daß der Bereich der ex­ trahierten Adressen groß wird; und dergleichen.
Die zuvor erwähnten Bedingungen werden in den Speicheranfor­ derern 50 A bis 51 B mittels einer nicht gezeigten Diskrimi­ nierschaltung geprüft. Kurz gesagt wird ein geeigneter Wie­ dergewinnungsmodus durch kennzeichnende Faktoren festgelegt, wie beispielsweise die in Fig. 3 gezeigte Vektorlänge, den Adressenzuwachswert, den Befehlstyp und dergleichen. Diese Festlegung folgt auf das Wiedergewinnungsanforderungssignal 250 c aufgrund individueller Anforderung, so daß eine wirk­ same FAA-Wiedergewinnung aufgrund dieses Signals in den REFs 25 und 26 durchgeführt wird.
Obwohl in diesem Ausführungsbeispiel der Fall beschrieben wurde, wo die Pufferspeicher BS der Skalarprozessoren SP von den Vektorprozessoren VP aus gesehen gleichartig sind, ist es selbstverständlich, daß die vorliegende Erfindung nicht auf diese spezielle Ausführungsart beschränkt ist und Modi­ fikationen und Veränderungen gestattet. Beispielsweise kön­ nen beim Speichern vom VP 0 die Wiedergewinnung des FAA 0 für den SP 0 und die Wiedergewinnung des FAA 1 für den SP 1 unabhängig voneinander sowohl im Wiedergewinnungsmodus auf­ grund individueller Anforderung als auch im Wiedergewin­ nungsmodus aufgrund extrahierter Adressen ausgeführt werden. Außerdem können beim Speichern von dem VP 1 die Wiedergewin­ nung des FAA 0 für den SP 0 und die Wiedergewinnung des FAA 1 für den SP 1 unabhängig voneinander sowohl im Wiedergewin­ nungsmodus aufgrund extrahierter Adressen als auch im Wie­ dergewinnungsmodus aufgrund individueller Anforderung ausge­ führt werden. In diesem letzteren Fall kann das zu häufige Ungültigmachen des BS unterdrückt und damit die Systemlei­ stung erhöht werden.
Obwohl bei der beschriebenen Ausführungsart die Adressen­ extrahiereinrichtung 250 in der Speichersteuereinheit SC 2 vorgesehen ist, kann die vorliegende Erfindung auch in einem Fall angewendet werden, wo die Adressenextrahiereinrichtung 250 auf der Prozessorseite vorgesehen ist. In diesem letzte­ ren Fall kann der Aufwand der Schnittstellen zwischen SC und Prozessor, die Sicherstellung der Koinzidenz zwischen BS und MS betreffend, reduziert werden, wodurch Hardwareaufwand ge­ spart wird.
Obwohl die oben beschriebene Ausführungsart den Fall be­ trifft, wo eine Wiedergewinnungsadressenextraktion und Be­ zugnahmen Adreßbit für Adreßbit erfolgen, kann die vorlie­ gende Erfindung selbstverständlich auch in dem Fall angewen­ det werden, wenn aufgrund einer Vielzahl von Bits eine Koin­ zidenz oder Nicht-Koinzidenz erfaßt werden soll.
Obwohl in der obigen Beschreibung der Fall behandelt ist, wo der Prozessor Vektorverarbeitungsglieder hat, kann die vor­ liegende Erfindung auch in einem Mehrprozessorsystem ohne Vektorverarbeitungsglieder angewendet werden. Besonders vor­ teilhaft läßt sich die vorliegende Erfindung auch in einem Allzweckcomputer bei der Ausführung eines kontinuierlichen Speicherbefehls einsetzen. In der Spezifikation "KIBM System/ 370 Principles of Operation" sind Beispiele kontinuierlicher Speicherbefehle einschließlich eines STM-Befehls und eines VCL-Befehls beschrieben. Im Falle, wo diese Befehle ausge­ führt werden, wird in einen kontinuierlichen Bereich des Hauptspeichers einerseits eingeschrieben und andererseits ist eine Prozedur zum Ungültigmachen eines entsprechenden Bereichs des BS eines anderen Prozessors nötig. Die Adres­ senextraktion wird zu dem Zeitpunkt gestartet, wo die Aus­ führung des Befehls beginnt. Weiter wird die Adressenextrak­ tion zu dem Zeitpunkt beendet, wo die Befehlsausführung be­ endet ist. Zu derselben Zeit, wo die Adressenextraktion endet, wird die FAA-Wiedergewinnung ausgeführt. Demgemäß kann ein FAA-Wiedergewinnen/-Ungültigmachen gemäß der Erfin­ dung im Vergleich mit dem zuvor genannten System, bei der die FAA-Wiedergewinnung für jede Speicheranforderung ausge­ führt wird, sehr vorteilhaft sein. In anderen Worten ist die vorliegende Erfindung nicht nur beim Speichervorgang eines Vektorprozessors, wie dies in dem vorliegenden Ausführungs­ beispiel beschrieben wurde, vorteilhaft einsetzbar, sondern auch für eine FAA-Wiedergewinnung im Falle eine Vielzahl von Daten in den MS mit kontinuierlicher Speicheroperation oder Speicheroperation mit kleiner Verschiebung eingeschrieben werden. Zusätzlich ist die vorliegende Erfindung unabhängig von dem Format des Multiprozessors, nämlich dem Format der Verbindung zwischen Prozessor und Speicher zu verwenden.

Claims (10)

1. Verfahren zur Steuerung eines Pufferspeichers in einem Mehrprozessorsystem, dessen Prozessoren einen gemeinsamen Hauptspeicher verwenden und von denen zumindest ein Pro­ zessor einen Pufferspeicher aufweist, gekennzeichnet durch folgende Schritte:
  • - Vorsehen einer Steuertabelle in dem Pufferspeicher zum Speichern einer Kopie eines Teils der im Hauptspeicher enthaltenen Information und zum Registrieren der Haupt­ speicheradresse der gespeicherten Kopie,
  • - Erfassen einer gemeinsamen Bitposition und eines ge­ meinsamen Bitwerts aus den Adressen mehrerer von den Prozessoren ausgegebener Speicheranforderungen, um daraus eine Adresse zu extrahieren, die einen Ziel­ bereich mit gespeicherter Information angibt;
  • - aufeinanderfolgende Wiedergewinnung der Steuertabelle des Pufferspeichers, um zu prüfen, ob Information in dem extrahierten Adressenbereich in den Pufferspeicher übernommen wurde; und
  • - Ungültigmachen der Information, wenn diese Information in den Pufferspeicher übernommen wurde.
2. Verwendung des Verfahrens nach Anspruch 1 in einem mehre­ re Vektorprozessoren und mehrere Skalarprozessoren auf­ weisenden Mehrprozessorsystem, wobei die Vektorprozesso­ ren einen Speicheranforderer für den Hauptspeicher auf­ weisen und jeder der Skalarprozessoren einen Pufferspei­ cher mit der Steuertabelle enthält.
3. Vorrichtung zur Steuerung eines Pufferspeichers in einem Mehrprozessorsystem mit einem Hauptspeicher (1), zu dem mehrere Prozessoren (3, 4, 5, 6) gemeinsam zugreifen, wobei der Pufferspeicher (31, 41) in zumindest einem der Prozessoren vorgesehen ist, gekennzeichnet durch eine in dem Pufferspeicher gespeicherte Kopie eines Teils der in dem Hauptspeicher enthaltenen Information; eine Adressenextrahiereinrichtung (250) zum Extrahieren einer Adresse, die einen Speicherbereich des Hauptspei­ chers (1) angibt, der Information enthält, die in einer Zeitdauer durch einen der Prozessoren gespeichert wurde; eine Wiedergewinnungseinrichtung (251), die aufgrund der extrahierten Adresse wiedergewinnt, ob die Information in dem Hauptspeicher in den Pufferspeicher (31, 41) kopiert wurde; und eine mit der Wiedergewinnungseinrichtung verbundene Ein­ richtung (23, 24, 3 b, 4 b, 27, 99), die ein Signal zum Ungültigmachen oder Löschen der Information in dem Spei­ cherbereich erzeugt, wenn die Information in dem Spei­ cherbereich in den Pufferspeicher (31, 41) kopiert wurde.
4. Steuervorrichtung nach Anspruch 3, dadurch gekennzeich­ net, daß eine Bitinformationextrahiereinrichtung (72, 781, 780) Bitpositionen und Bitwerte, die in den Adressen einer von dem einen Prozessor, der den Pufferspeicher enthält, an den Hauptspeicher ausgegebenen Adressen un­ verändert sind, extrahiert.
5. Steuervorrichtung nach Anspruch 3, dadurch gekennzeich­ net, daß der eine Prozessor, der den Pufferspeicher ent­ hält, einen Teil der Inhalte des Pufferspeichers in Über­ einstimmung mit dem Speicherbereich im Hauptspeicher fortschreibt.
6. Steuervorrichtung nach Anspruch 3, dadurch gekennzeichnet, daß die Wiedergewinnungseinrich­ tung Frontadressenfelder (23, 24) zum Speichern einer Kopie der Adressen von Daten des Pufferspeichers, Wie­ dergewinnungsadressenfelder (25 A, 25 B), zum Speichern einer Kopie der Frontadressenfelder und eine Einrichtung (806, 70 d, 71 d, 805, 70 e, 71 e) aufweist, die ein Signal speichert, das die Ausführung der Wiedergewinnung in Übereinstimmung mit einer Adressenwiedergewinnungsanfor­ derung, die der Prozessor liefert, befiehlt und die eine Zeitdauer vom Beginn bis zum Ende der Wiedergewinnungs­ prozedur festlegt.
7. Steuervorrichtung nach Anspruch 3, dadurch gekennzeichnet, daß die Wiedergewinnungseinrich­ tung eine Umsetzeinrichtung (813) hat, die niederwertige Bits des Wertes "1" innerhalb der Bits in der extrahier­ ten von der Adressenextrahiereinrichtung empfangenen Adresse rundet.
8. Steuervorrichtung nach Anspruch 3, dadurch gekennzeichnet, daß die Vielzahl der Prozessoren Skalarprozessoren (3, 4), die jeweils einen Pufferspei­ cher und ein Pufferadressenfeld und Vektorprozessoren (5, 6) aufweisen, die ein Vektorregister (51) und einen Zu­ griffsanforderer (50) haben.
9. Steuervorrichtung nach Anspruch 6, gekennzeichnet durch eine Gültigkeitssignaleinrichtung (25 A 0, 25 B 0), die die Gültigkeit der Adressendaten in den Frontadressenfelder betreffende Signale an die Frontadressenfelder aufgrund des Ergebnisses eines Vergleichs zwischen den von den Wiedergewinnungsadressenfeldern (25 A, 25 B) zugeführten und den von der Adressenextrahiereinrichtung zugeführten extrahierten Adressen liefert.
10. Vorrichtung zur Speichersteuerung in einem Skalarprozes­ soren und Vektorprozessoren aufweisenden Mehrprozessor­ system, wobei die Skalar- und die Vektorprozessoren einen gemeinsam genutzten Hauptspeicher und die Skalar­ prozessoren Pufferspeicher aufweisen, gekennzeichnet durch eine erste Wiedergewinnungseinrichtung (25, 26), die den Pufferspeichern in den Skalarprozessoren entsprechende Steuertabellen durch Extraktion von Adressen wieder­ gewinnt, die einen Hauptspeicherbereich angeben, der einer Vielzahl von Speicheranforderungen von den Vektor­ prozessoren zum Hauptspeicher gemeinsam ist, eine zweite Wiedergewinnungseinrichtung (25, 26), die die Steuertabellen von den Vektorprozessoren unter Ver­ wendung von Adressen individueller Speicheranforderungen an den Hauptspeicher von den Vektorprozessoren wieder­ gewinnt, und eine Wähleinrichtung (806, 809), die aufgrund von Bedin­ gungen von Speicheranforderungen betreffenden Vektor­ befehlen, die die Vektorprozessoren ausgegeben haben, eine der beiden Wiedergewinnungseinrichtungen wählt.
DE19904014733 1989-05-10 1990-05-08 Verfahren und vorrichtung zur steuerung eines pufferspeichers Withdrawn DE4014733A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1116291A JPH0778786B2 (ja) 1989-05-10 1989-05-10 記憶制御方式

Publications (1)

Publication Number Publication Date
DE4014733A1 true DE4014733A1 (de) 1990-11-15

Family

ID=14683407

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19904014733 Withdrawn DE4014733A1 (de) 1989-05-10 1990-05-08 Verfahren und vorrichtung zur steuerung eines pufferspeichers

Country Status (2)

Country Link
JP (1) JPH0778786B2 (de)
DE (1) DE4014733A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3176255B2 (ja) * 1995-06-09 2001-06-11 日本電気株式会社 キャッシュメモリ装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3439302C2 (de) * 1983-10-27 1987-08-13 Hitachi, Ltd., Tokio/Tokyo, Jp
DE3919802A1 (de) * 1988-06-17 1989-12-21 Hitachi Ltd Speicherbaustein mit vektorprozessoren und einem skalarprozessor

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6059621B2 (ja) * 1980-12-06 1985-12-26 富士通株式会社 バッファ無効化制御方式
JPS6079467A (ja) * 1983-10-07 1985-05-07 Nec Corp 情報処理システム
JPS62285157A (ja) * 1986-06-04 1987-12-11 Hitachi Ltd 記憶制御方式
US4914582A (en) * 1986-06-27 1990-04-03 Hewlett-Packard Company Cache tag lookaside
JPS6345652A (ja) * 1986-08-13 1988-02-26 Nec Corp 情報処理装置の無効化処理方式

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3439302C2 (de) * 1983-10-27 1987-08-13 Hitachi, Ltd., Tokio/Tokyo, Jp
DE3919802A1 (de) * 1988-06-17 1989-12-21 Hitachi Ltd Speicherbaustein mit vektorprozessoren und einem skalarprozessor

Also Published As

Publication number Publication date
JPH0778786B2 (ja) 1995-08-23
JPH02294866A (ja) 1990-12-05

Similar Documents

Publication Publication Date Title
DE3210816C2 (de)
DE3854481T2 (de) Datenverarbeitungsverfahren in einem dezentralisierten Verarbeitungssystem.
DE69802437T2 (de) Feinkörniger übereinstimmungsmechanismus für optimistische parallelsteuerung mit verriegelungsgruppen
DE3751503T2 (de) Datenprozessor in Pipelinestruktur mit der Fähigkeit mehrere Befehle parallel zu dekodieren und auszuführen.
DE69133302T2 (de) Registerabbildung in einem einzigen Taktzyklus
DE69028153T2 (de) Cache-Speicherfehlgriffsvorhersageverfahren und -vorrichtung
DE3889578T2 (de) Vorrichtung zur Sicherung und Rückspeicherung einer Registerinformation.
DE69130580T2 (de) Cache-Speicheranordnung
DE3151745C2 (de)
DE69622776T2 (de) Von Multitasking gebrauch machendes Sortieren
DE3852928T2 (de) Datenprozessor mit A/D-Umsetzer, um mehrere analoge Eingabekanäle in Digitaldaten umzusetzen.
DE3851746T2 (de) Sprungvorhersage.
DE69623146T2 (de) Verfahren und Vorrichtung zum Koordinieren der Benutzung von physikalischen Registern in einem Mikroprozessor
DE3587167T2 (de) Geraet zur vektorverarbeitung.
DE3131341A1 (de) "pufferspeicherorganisation"
DE4225228A1 (de) Vorabrufpuffer und einen derartigen vorabrufpuffer verwendendes informationsverarbeitungssystem
DE3805107A1 (de) Verfahren und vorrichtung zur steuerung virtueller adressraeume eines virtuellen speichers
DE2230102A1 (de) Rechenwerk fuer variable wortlaengen
DE68924719T2 (de) Vorrichtung und Verfahren zur Ausführung eines Unterprogramms in einem Datenverarbeitungssystem mit Blockumschaltung.
DE69616903T2 (de) Mehrprozessoranordnung und Verfahren zur Synchronisierung zwischen Prozessoren
DE2054830A1 (de) Informationsverarbeitungssystem mit wortstrukturiertem Speicher und Verfahren fur einen Zugriff zu einem derar tigen Speicher
DE3873388T2 (de) Cache-speicher.
DE3518818C2 (de)
DE2047062A1 (de) Verfahren und Einrichtung zur Messung der Effektivität einer Daten Verarbeitungsanlage mit virtueller Adre»»ici uiig
DE3919802C2 (de) Speichersteuersystem für ein Multiprozessorsystem

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8130 Withdrawal