DE4014733A1 - Verfahren und vorrichtung zur steuerung eines pufferspeichers - Google Patents
Verfahren und vorrichtung zur steuerung eines pufferspeichersInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
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.
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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3176255B2 (ja) * | 1995-06-09 | 2001-06-11 | 日本電気株式会社 | キャッシュメモリ装置 |
Citations (2)
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)
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 | 情報処理装置の無効化処理方式 |
-
1989
- 1989-05-10 JP JP1116291A patent/JPH0778786B2/ja not_active Expired - Lifetime
-
1990
- 1990-05-08 DE DE19904014733 patent/DE4014733A1/de not_active Withdrawn
Patent Citations (2)
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 |