DE3046912C2 - Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage - Google Patents
Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-DatenverarbeitungsanlageInfo
- Publication number
- DE3046912C2 DE3046912C2 DE19803046912 DE3046912A DE3046912C2 DE 3046912 C2 DE3046912 C2 DE 3046912C2 DE 19803046912 DE19803046912 DE 19803046912 DE 3046912 A DE3046912 A DE 3046912A DE 3046912 C2 DE3046912 C2 DE 3046912C2
- Authority
- DE
- Germany
- Prior art keywords
- address
- main memory
- cache
- memory
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
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
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
- G06F12/0822—Copy directories
Description
Die Erfindung bezieht sich auf eine Schaltungsanordnung zum selektiven
Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungs
anlage gemäß dem Oberbegriff des Patentanspruchs.
Ein Cachespeicher ist eine kleine, mit hoher Geschwindigkeit
arbeitende Speichereinheit mit einer Adreßliste, in der
die Adressen der im betreffenden Cachespeicher gespeicherten
Datenworte angegeben sind. Der Cachespeicher arbeitet im allgemeinen
mit höherer Geschwindigkeit als der Hauptspeicher.
Wenn die Datenworte im Cachespeicher abgespeichert sind,
ist somit ein schnellerer Zugriff durch den Prozessor
auf die angeforderten Datenworte möglich. Der Cache
speicher enthält dieselben Datenworte, die auch in einem
Teil des Hauptspeichers gespeichert sind.
Operanden und Befehle werden nachstehend
generell als Informationssegmente oder Datenworte bezeichnet.
Die betreffenden Daten werden entweder aus dem Hauptspeicher abgerufen und im
Cachespeicher abgespeichert oder
direkt von der Zentraleinheit her geladen. Wenn die
Zentraleinheit Informationssegmente benötigt, erfolgt zuerst
ein Zugriff auf den Cachespeicher. Wenn die Informations
segmente im Cachespeicher nicht vorhanden sind,
werden sie durch Zugriff auf den Hauptspeicher erhalten.
Die im Hauptspeicher verfügbaren und zum
Prozessor übertragenen Informationssegmente, auf die
ein Zugriff erfolgt, werden im Cachespeicher abgespeichert,
wenn sie von der Zentraleinheit zur Verarbeitung aus dem Haupt
speicher abgerufen werden.
Es ist wünschenswert, daß der Hauptspeicher alle benötigten
Informationssegmente oder Datenworte enthält und daß im Cache
speicher entsprechende gleiche Datenworte gespeichert sind.
Wenn jedoch eine Peripherieeinheit Zugriff auf den Hauptspeicher
erhält und den Inhalt eines Teils des Hauptspeichers abruft
und im Hauptspeicher die abgerufenen Datenworte löscht,
kann es vorkommen, daß der oder die Cachespeicher eines oder
mehrerer Prozessoren noch Datenworte enthalten, die nicht
mehr im Hauptspeicher vorhanden sind.
Weiterhin ist es möglich, daß einer der Prozessoren ein Datenwort
in einen bestimmten Speicherplatz im Hauptspeicher einschreibt.
Nun kann aber der Cachespeicher eines anderen Prozessors
das Datenwort, das gerade durch den ersten Prozessor
im Hauptspeicher überschrieben bzw. ersetzt worden ist, noch
als gültiges Datenwort enthalten. Es kann demnach vorkommen,
daß beim Zugriff des Prozessors auf das betreffende Datenwort,
das unter derselben Adresse in dem ihm zugeordneten Cachespeicher
gespeichert ist, ein Datenwort zur Verarbeitung abgerufen
wird, das nicht mehr mit dem entsprechenden, im Hauptspeicher
befindlichen Datenwort identisch ist.
Eine Betriebsart zum Löschen des Cachespeichers besteht darin,
die gesamten Cachespeicher aller Prozessoren jedesmal dann zu
löschen, wenn Datenworte in den Hauptspeicher eingeschrieben
werden oder Datenworte im Hauptspeicher durch eine Peripherie
einheit gelöscht worden sind. Üblicherweise wird jedoch die
Mehrzahl der in den Cachespeichern gespeicherten Datenworte
nicht als Ausgabeinformation an die Peripherieeinheit übertragen,
weshalb es wahrscheinlich ist, daß gerade gelöschte Informations
segmente erneut aus dem Hauptspeicher abgerufen werden müssen.
Eine Schaltungsanordnung für diese Betriebsart zum Löschen des
Cachespeichers ist beispielsweise in der US-Patentschrift
3,845,474 beschrieben.
In vielen Datenverarbeitungsanlagen wird eine Segmentierung
und Seitenbildung des Speichers angewandt. Jedes Segment ist
üblicherweise in kleinere Bereiche unterteilt, die als Seiten
bezeichnet werden. Diese Seiten entsprechen bestimmten Speicher
plätzen innerhalb des Cachespeichers. So ist es möglich, eine
Anordnung zu schaffen, die ein selektives Löschen nur bestimmter
Speicherplätze gewährleistet, nämlich jener Speicherplätze,
die zu einer bestimmten Seite gehören, sofern diese betreffende
Seite durch eine Eingabe/Ausgabe-Operation oder durch Operationen
eines anderen Prozessors in Anspruch genommen und beeinflußt
wird. Eine Schaltungsanordnung für diese Betriebsart
zum selektiven Löschen eines in Seiten aufgeteilten Cachespeichers
ist beispielsweise in der US-Patentschrift 3,979,726
beschrieben. Obwohl bei dieser Anordnung nicht der gesamte
Cachespeicher, sondern nur eine Seite desselben gelöscht wird,
können hierbei dennoch auch weiterhin nutzbare Datenworte in
dem Cachespeicher gelöscht werden, sofern diese Daten auch zu
der in Anspruch genommenen und beeinflußten Seite gehören. Deshalb
ist es auch hier notwendig, solche Datenworte in nachfolgenden
Operationen der Zentraleinheit zum Ersetzen der im Cache
speicher gelöschten Datenworte erneut aus dem Hauptspeicher ab
zurufen und dahin zu übertragen.
Eine weitere Schaltungsanordnung zum selektiven Löschen von
Cachespeichern in einer Datenverarbeitungsanlage mit zwei
oder mehr Zentralprozessoren und einem für alle Prozessoren
gemeinsamen Hauptspeicher ist in der US-Patentschrift 4,056,844
beschrieben. Jeder Zentralprozessor ist mit einem eigenen Cache
speicher ausgestattet und umfaßt eine Primäradreßliste, in der
die Adressen der im Cachespeicher enthaltenen Datenworte gespeichert
sind. Jedem Cachespeicher ist weiterhin eine Doppeladreß
liste zugeordnet, in der dieselben Adressen ein zweites Mal
gespeichert sind. Ein aktiver Prozessor ändert bei einer Schreib
operation die Datenworte in einem Cachespeicher und im Haupt
speicher und markiert die zu diesen Datenworten gehörenden
Adressen in den beiden Adreßlisten als ungültig. Bei dieser
Schaltungsanordnung gestaltet sich die Systemsteuerung in den
heute üblichen busorientierten Datenverarbeitungsanlagen als
aufwendig und schwierig, insbesondere beim Zuschalten von Peri
pherieeinheiten.
Der Erfindung liegt demgemäß die Aufgabe zugrunde, eine
verbesserte Schaltungsanordnung zum selektiven Löschen von
Cachespeichern in einem busorientierten Datenverarbeitungs
system mit mehreren Zentralprozessoren und Peripherieeinheiten,
die über Busleitung oder Mehrleitungskanäle zum Zwecke der
Datenübertragung miteinander verbunden sind, zu schaffen.
Diese Aufgabe wird mit Hilfe einer Schaltungsanordnung nach
den kennzeichnenden Merkmalen des Patentanspruchs gelöst.
Anhand von Zeichnungen wird die Schaltungsanordnung nachstehend
beispielsweise näher erläutert. Es zeigen:
Fig. 1 in einem Blockdiagramm den Aufbau der Datenverarbeitungs
anlage;
Fig. 2 in einem Blockdiagramm den Aufbau des Multiprozessor-
Datenverarbeitungssystems mit jedem Zentralprozessor zuge
ordneten Cachespeichereinheiten, Systemsteuereinheiten,
Doppeladreßlisten und einem gemeinsamen Hauptspeicher;
Fig. 3 in einem Blockdiagramm die Schaltungsanordnung der
Cachespeichereinheit aus Fig. 2;
Fig. 4 in einem Blockdiagramm die Schaltungsanordnung der
Doppeladreßliste aus Fig. 2; und
Fig. 5 anhand eines Ablaufschemas die Arbeitsweise der
Doppeladreßlisten aus Fig. 2 und Fig. 4.
Der grundsätzliche Aufbau einer Einprozessor-Datenverarbei
tungsanlage ist in Fig. 1 gezeigt. Ein Zentralprozessor oder
Zentraleinheit 10 ist über eine Busleitung oder Mehrleitungs
kanal 12 mit dem Cachespeicher 14 verbunden. Der Cachespeicher
14 ist über eine Busleitung oder Mehrleitungskanal 16 mit der
Systemsteuereinheit 18 verbunden. Die Systemsteuereinheit 18
ist über eine Busleitung oder Mehrleitungskanal 20 mit dem
Hauptspeicher 22 verbunden. Mehrere Peripherieeinheiten 24, 25,
insbesondere zur Datenein-/-ausgabe, sind mit der Systemsteuer
einheit 18 über Busleitungen oder Mehrleitungskanäle 27, 28
verbunden. Die Busleitungen dienen als Datenkanäle zur Datenübertragung.
Die Zentraleinheit sendet Zugriffsanforderungen zum Abruf von Datenwörtern
aus dem Hauptspeicher 22 aus. Die
Zentraleinheit kann außerdem Schreibbefehle über den Mehrleitungs
kanal 12 abgeben, um bestimmte Datenworte in den Hauptspeicher 22
einzuschreiben. Die Anforderungen bezüglich auszulesender
und einzuschreibender Daten oder
Befehle erfolgt über den Cachespeicher 14. Das Lese
kommando löst im allgemeinen eine Suche über die Cache
speicher-Adreßliste (nicht dargestellt) aus, mit einer
Adresse, die einen bestimmten Speicherplatz im Hauptspeicher
definiert. Gleichzeitig wird festgestellt, ob das gesuchte
Datenwort bzw. dessen Adresse auch im Cachespeicher vorhanden ist.
Wenn das Informationssegment in dem Cachespeicher vorhanden
ist, dann wird es aus dem Cachespeicher
ausgelesen und über den Mehrleitungskanal 12 an
die Zentraleinheit übertragen. Die Anforderung bezüglich
des Informationssegments aus dem Hauptspeicher 22 wird in diesem
Fall nicht weiterverfolgt. Wenn die Informationssegmente
nicht in dem Cachespeicher vorhanden sind, was sich aus der
Hauptspeicheradresse ergibt, dann wird eine Lese-Zugriffs
anforderung über den Mehrleitungskanal 16 an die System
steuereinheiten 18 und über den Mehrleitungskanal 20 an
den Hauptspeicher 22 übertragen. Das auszulesende Datenwort
ist durch die von der
Zentraleinheit bereitgestellte Adresse bestimmt.
Das ausgelesene Informationssegment wird über den Mehr
leitungskanal 20, die Systemsteuereinheit 18, den
Mehrleitungskanal 12 an die Zentraleinheit 10 übertragen.
Im allgemeinen werden die aus dem
Hauptspeicher ausgelesenen Datenwörter auch im
Cachespeicher abgespeichert, so daß für den Fall,
daß die Zentraleinheit bei
nachfolgenden Operationen diese Datenwörter erneut benötigt,
diese Datenworte bereits im Cachespeicher durch schnellen Zugriff
verfügbar sind.
Während eines Schreibkommandos durchlaufen die in den
Hauptspeicher 22 einzuschreibenden Informationssegmente
den Mehrleitungskanal 12, den Cachespeicher 14, den
Kanal 16, die Systemsteuereinheit 18 und den Kanal 20.
Die Zentraleinheit sorgt dafür, daß die in den
Hauptspeicher eingeschriebenen Informationssegmente auch
in den Cachespeicher
eingeschrieben werden.
Es sei darauf hingewiesen, daß sämtliche innerhalb des
Cachespeichers vorhandenen Informationssegmente
ebenfalls in dem Hauptspeicher 22
gespeichert vorhanden sind. Die peripheren Einrichtungen
24 und 25 vermögen entweder Informationssegmente von der
Systemsteuereinheit 18 her aufzunehmen und/oder an
diese abzugeben.
Wenn beispielsweise die periphere Einrichtung 24 in den
Hauptspeicher 22 einzuschreibende Informationssegmente
bereitstellt, durchlaufen die Informationssegmente den
Kanal 27, die Systemsteuereinheit 18 und den Kanal 20.
Wenn irgendeines der Informationssegmente in dem Hauptspeicher
durch Informationssegmente von der peripheren Einrichtung
24 überschrieben wird, dann
müssen die überschriebenen
Informationssegmente im Cachespeicher selektiv gelöscht werden.
Wenn beispielsweise die Peripherieeinheit 25 Datenworte
aus dem Hauptspeicher 22 auslesen soll bei gleichzeitigem
Löschen dieser Datenworte, dann müssen
die im Hauptspeicher gelöschten Datenworte,
die noch im Cachespeicher vorhanden sind, ebenfalls
gelöscht werden. Ein Verfahren zum Löschen von
Datenwörtern im Cachespeicher besteht darin,
lediglich ein Voll/Leer-Bit zu löschen, welches in der
dem Cachespeicher zugehörigen Adreßliste gespeichert
ist.
In Fig. 2 ist ein Multiprozessor-Datenverarbeitungssystem
34 mit drei Zentraleinheiten (CPU) 37 bis 39
dargestellt. Obwohl das Datenverarbeitungssystem 34 als
drei Zentraleinheiten umfassendes System dargestellt ist, kann
die vorliegende Erfindung auch mit nur zwei oder auch mit
mehr als drei Zentraleinheiten ausgeführt werden.
Jede Zentraleinheit 37 bis 39 ist mit einer ihr
zugeordneten Cachespeichereinheit 41 bis 43 über die
Mehrleitungskanäle 45, 47 bzw. 48 verbunden.
Über die Mehrleitungskanäle 45, 47 und 48 fordern die
Zentraleinheiten einerseits Informationssegmente von dem Haupt
speicher 50 an und veranlassen andererseits durch Befehlssteuerung,
daß durch die Zentraleinheit bereitgestellte In
formationssegmente in den Hauptspeicher 50 eingeschrieben
werden. Die Arbeitsweise der Cachespeichereinheiten 41
bis 43 wird weiter unten in Verbindung mit Fig. 3 noch
im einzelnen erläutert. Die Cachespeichereinheit
41 ist über den Mehrleitungskanal 53 mit einer System
steuereinheit 55 verbunden. Die Systemsteuereinheiten 58
und 59 sind über Mehrleitungskanäle 61 bzw. 62 mit den
Cachespeichereinheiten 42 bzw. 43 verbunden. Die System
steuereinheiten 55, 58 und 59 sind, obwohl dies in Fig. 2
nicht explizit gezeigt ist, außerdem mit mehreren Peripherieeinheiten
verbunden, wie z. B. mit den peripheren
Einrichtungen 24 und 25 von Fig. 1.
Die Systemsteuereinheiten 55, 58 und 59 können
eine oder mehrere Zentraleinheiten bedienen.
In diesem Ausführungsbeispiel ist die Systemsteuereinheit
55 über Mehrleitungskanäle
64 und 65 mit den Systemsteuereinheiten 58 bzw. 59 ver
bunden. Es sei darauf hingewiesen, daß sämtliche in Fig. 2
dargestellten Busleitungen oder Datenkanäle zur Zweiwege-Datenübertragung zwischen
den Einheiten dienen. Die Systemsteuereinheit 58 ist über den
Mehrleitungskanal 67 mit der Systemsteuereinheit 59
verbunden. Die Systemsteuereinheiten 55, 58 und 59
sind über die Mehrleitungskanäle 69, 70 bzw. 71 mit dem
Hauptspeicher 50 verbunden. Jeder Cachespeichereinheit 41
bis 43 ist eine Doppel-Adreßliste 73 bis 75
zugeordnet. Die Doppel-Adreßliste 73 ist über
den Mehrleitungskanal 77 mit der Systemsteuereinheit 55 und
über die Mehrleitungs
kanäle 79 und 80 mit den Systemsteuereinheiten 58 bzw. 59
verbunden. Die Doppel-Adreßliste 74 ist über den Mehrleitungs
kanal 82 mit der der Cachespeichereinheit 42 zugehörigen
Systemsteuereinheit 58 und
ferner über die Mehrleitungskanäle 84 und 85 mit
den Systemsteuereinheiten 55 bzw. 59 verbunden. Die Doppel-
Adreßliste 75 ist in entsprechender Weise über die Mehrlei
tungskanäle 88 und 89 mit den Systemsteuereinheiten 55
bzw. 58 und außerdem
über den Mehrleitungskanal 92 mit der Systemsteuereinheit
59 verbunden.
Die Zentraleinheiten 37, 38 und 39 können die zur
Verarbeitung benötigten Datenwörter
aus dem Hauptspeicher 50 dadurch abrufen, daß sie einen Lesebefehl und
die Adressen für die Speicherplätze bereitstellen, in denen
die gewünschten Informationssegmente gespeichert sind.
Die Zentraleinheiten 37, 38 und 39 können auch
bereitgestellte Datenwörter durch Befehlssteuerung über die zugehörigen
Systemsteuereinheiten 55, 58 bzw. 59
in die bereitgestellten Adressen des Hauptspeichers 50
einschreiben.
Auch die mit den Systemsteuereinheiten
55, 58 und 59 verbundenen Peripherieeinheiten
können Lesebefehle abgeben.
Diese Lesebefehle können auch das Löschen der gelesenen Datenwörter
im Hauptspeicher bewirken.
Wenn die Zentraleinheit 37 mit einem Lesebefehl ein bestimmtes Informations
segment anfordert, dann gelangt die Anforderung zunächst
über den Kanal 45 zu der Cachespeichereinheit 41. Diese
bestimmt normalerweise, ob das
angeforderte Informationssegment in ihrem Cachespeicher 110
(Fig. 3) gespeichert ist. Sofern das Informationssegment dort
gespeichert ist, wird die den Hauptspeicher
betreffende Leseoperation abgebrochen. Wenn das
Informationssegment jedoch nicht in dem Cachespeicher ent
halten ist, dann wird die Operation in der oben beschriebenen
Weise fortgesetzt und das Informationssegment
aus dem Hauptspeicher 50 ausgelesen. Das aus
dem Hauptspeicher 50 ausgelesenen Informationssegment wird von
der Systemsteuereinheit 55 über die Cachespeichereinheit
41 zur Zentraleinheit 37 übertragen. Dabei wird das Informationssegment
auch in dem Cachespeicher 110 (Fig. 3) innerhalb der Cachespeicher
einheit 41 abgespeichert.
Wenn die Zentraleinheit (CPU) 37 einen Schreibbefehl ab
gibt und die Adresse des Speicherplatzes für den
Hauptspeicher 50 bereitstellt, in den das durch die
Zentraleinheit 37 bereitgestellte Informationssegment
einzuschreiben ist, dann kann der Schreibbefehl
veranlassen, daß
das Informationssegment gleichzeitig auch in den
Cachespeicher 110 (Fig. 3) eingeschrieben wird.
Die Doppel-Adreßliste 73, die zur Cachespeichereinheit 41
gehört, enthält eine Aufzeichnung sämtlicher Adressen der Speicher
plätze des Hauptspeichers 50, deren Inhalt außerdem
in dem Cachespeicher 110 (Fig. 3) der Cachespeichereinheit 41 ge
speichert ist. Die Doppel-Adreßliste 73 bestimmt, ob
eine Übereinstimmung vorliegt zwischen dem gerade adressierten
Speicherplatz und einer im Cachespeicher vorhandenen
Speicherplatzadresse. Die von der Doppel-Adreßliste und der Cachespeichereinheit
benutzten besonderen Schreib- und Leseverfahren
zur Bestimmung, ob das Informationssegment
des adressierten Hauptspeicherplatzes
auch im Cachespeicher gespeichert ist
oder nicht, sind einander ähnlich.
Die Doppel-Adreßliste 73 nimmt außerdem Eingangssignale
von den anderen Systemsteuereinheiten 58 und 59 auf, um
festzustellen, ob irgendeine Operation der Zentraleinheiten
oder der angeschlossenen Peripherieeinheiten beim
Durchlaufen der Systemsteuereinheiten irgendwelche Speicher
plätze innerhalb des Hauptspeichers beeinflußt, deren
Informationssegmente ebenfalls im Cachespeicher der Cachespeichereinheit
41 gespeichert sind. Wenn beispielsweise die Systemsteuer
einheit 58 einen Schreibbefehl von der Zentraleinheit 38
aufnimmt, um eine Information in einen bestimmten Speicher
platz des Hauptspeichers einzuschreiben, dann
werden über die Kanäle 79 und 89 die Doppel-Adreßlisten
73 und 75 entsprechend darüber informiert. Die Doppel-Adreßlisten 73
und 75 überprüfen ihren Inhalt, um zu bestimmen, ob die
zugehörigen Cachespeichereinheiten 41 bzw. 43 das in dem
betreffenden Speicherplatz vorhandene Informations
segment enthalten. Wenn die Doppel-Adreßliste 73
feststellt, daß das Informationssegment in dem Cache
speicher 110 der Cachespeichereinheit 41 gespeichert
ist, dann wird durch die Doppel-Adreßliste 73 ein Löschbefehl
über den Kanal 77 ausgelöst. Die Systemsteuereinheit
55 leitet diesen Löschbefehl über den Kanal 53 zu der
Cachespeichereinheit 41, und das betreffende
Informationssegment wird in deren Cachespeicher
gelöscht. Wenn die Doppel-Adreßliste 75
feststellt, daß auch die Cachespeichereinheit 43
das betreffende Informationssegment enthält,
dann gibt auch sie einen Löschbefehl über
den Kanal 42 ab. Dieser Löschbefehl gelangt über die
Systemsteuereinheit 59 zu der Cachespeichereinheit 43, und
das betreffende Informationssegment wird in
deren Cachespeicher ebenfalls gelöscht.
Eine entsprechende Ablauffolge tritt ebenfalls auf, wenn z. B. die von
der Zentraleinheit 38 gesteuerte Systemsteuereinheit 58
es einer peripheren
Einrichtung ermöglicht, aus Hauptspeicherplätzen Daten auszulesen
und die ausgelesenen Daten dort auch zu löschen. Die Doppel-Adreßlisten 73, 74 und 75
überprüfen dabei jede Adresse, um zu bestimmen,
ob auch die Cachespeichereinheiten 41, 42 bzw. 43 das
entsprechend adressierte Informationssegment enthalten oder nicht. Wenn die Doppel-
Adreßliste 73 feststellt, daß auch der Cachespeicher 110 der
Cachespeichereinheit 41 das in dem betreffenden Haupt
speicherplatz enthaltene Informationssegment enthält, dann
gibt diese Doppel-Adreßliste einen Löschbefehl ab, wie dies schon
oben erläutert worden ist. Die Doppel-Adreßlisten 74 und 75
geben ebenfalls Löschbefehle ab, wenn festgestellt
wird, daß auch deren zugehörige Cachespeicher das betreffende
Informationssegment enthalten.
Die Cachespeichereinheit 41 gemäß Fig. 2 ist in Fig. 3
in weiteren Einzelheiten veranschaulicht. Die Cache
speichereinheiten 41, 32 und 43 (Fig. 2) entsprechen
einander, weshalb die Erläuterung einer Einheit
für sämtliche Einheiten genügen dürfte. Wie in Fig. 3 gezeigt,
sind die Eingangsleitungen 112 und die Ausgangs
leitungen 114 des Kanals 45 als voneinander getrennte
Leitungen dargestellt. Die Standard-Taktfunktionen sowie
weitere Verknüpfungs-Kommandofunktionen in einer Anordnung
dieses Typs werden insgesamt benutzt. Demgemäß werden auch noch andere
Leitungen als die Leitungen 112 und 114 in dem Kanal 45
vorhanden sein. Dasselbe trifft auch für die anderen Kanäle zu,
wie dies in Verbindung mit den Fig. 3 und 4 im einzelnen
erläutert werden wird.
Die Eingangsleitungen 112 sind mit Datenschaltern oder Multiplexern 118, 119
und 120, mit Registern 122 bis 124 und mit einem Vergleicher
126 verbunden. Der Datenschalter 119 nimmt lediglich den
unteren Teil der Hauptspeicheradresse auf und gibt die
Adresse für die Cachespeicher-Adreßliste oder Primäradreßliste 129 ab. Die Cache
speicher-Adreßliste 129 stellt einen RAM-Speicher mit wahlfreiem
Zugriff dar, der durch das Ebenen-System als assoziativ
adressierbarer Speicher organisiert ist. Der Ausgang
des Datenschalters 119 ist über den Mehrleitungskanal 132
mit dem Datenschalter 135, der Primäradreßliste 129 und dem
Register 137 verbunden. Das Register 137 ist ausgangs
seitig über den Kanal 140 mit der Eingangsseite des
Datenschalters 119 verbunden.
Der Ausgang des Datenschalters 135 ist über den Mehrleitungs
kanal 142 mit einem Adreßregister 143 verbunden. Das
Adreßregister 143 dient der erforderlichen Adressierung des
Cachespeichers 110 über den Mehrleitungskanal 144. Die
in den Cachespeicher 110 einzuschreibenden Daten werden
über den Mehrleitungskanal 146 von dem Datenschalter 118
bereitgestellt. Der Vergleicher 126 gibt ein Ausgangs
signal über den Kanal 148 an den Datenschalter 151 ab.
Der Datenschalter 151 nimmt außerdem eingangsseitig die
Ausgangssignale des Cachespeichers 110 über eine Vielzahl
von Kanälen 155 auf. Der Ausgang des Datenschalters 151
ist über den Mehrleitungskanal 160 mit dem Register 158
verbunden. Der
Ausgang des Registers 158 ist über den Mehrleitungskanal 162
mit einem Datenschalter 164 verbunden. Der Ausgang des
Datenschalters 164 ist über die Ausgangsleitungen 114 mit
der Zentraleinheit 37 (Fig. 2) verbunden.
Wenn Daten von der Zentraleinheit 37 in den Cachespeicher
einzuschreiben sind, dann werden die Adresse und das
Kommando über die Eingangsleitungen 112 zugeführt.
Der Schreibbefehl enthält die gesamte Hauptspeicheradresse
für das in den Cachespeicher einzuschreibende
Informationssegment. Der untere Teil der Adresse,
und zwar die Bits 24 bis 30, werden über den
Datenschalter 119 an die Cachespeicher-Adreßliste 129
abgegeben. Der obere Teil der Adresse wird an den Ver
gleicher 126 und an den Cachespeicher 110 abgegeben. Das
in den Cachespeicher 110 einzuschreibende Informations
segment wird von den Eingangsleitungen 112 über den Daten
schalter 118 und den Kanal 146 an den Cachespeicher 110 ab
gegeben. Der untere Teil der Adresse bezüglich des Speicherplatzes innerhalb
des Cachespeichers, in den das Informationssegment
abzuspeichern ist, wird
über den Kanal 132, den Datenschalter 135
und den Kanal 142 in dem Register 143 bereitgestellt.
Der Cachespeicher 110 ist so
ausgelegt, daß die von dem Register 143
über den Kanal 144 bereitgestellte Adresse
acht Speicherplätze für das Informationssegment auswählt.
Der bestimmte eine Speicherplatz von den acht Speicherplätzen
(nachstehend werden acht Speicherplätze jeweils als eine
Ebene bezeichnet) wird durch einen Umlaufzähler
(nicht dargestellt) in der Steuereinheit 167
bereitgestellt. Wenn der untere Teil der Adresse an die
Cachespeicher-Adreßliste 129 abgegeben wird, dann werden
acht verschiedene Adressen-Identifizierungs
kennzeichen in den acht Speicherplätzen innerhalb der
Cachespeicher-Adreßliste als Ausgangssignale für den Ver
gleicher 126 bereitgestellt. Der Vergleicher 126 bestimmt,
ob irgendeines der zu den acht verschiedenen
Adressen-Identifizierungszeichen gehörenden
Zeichen mit dem oberen Teil der Haupt
speicheradresse, der die Bits 10 bis umfaßt,
übereinstimmt.
Während einer normalen Leseoperation gelangt der Lesebefehl
von der Zentraleinheit 37 in den Cachespeicher 41,
und der Datenschalter 119 wird durch Befehlssteuerung von
der Steuereinheit 167 veranlaßt, den unteren Teil der
Adresse an die Cachespeicher-Adreßliste 129 und den Daten
schalter 135 abzugeben. Der Datenschalter 135 wird durch
Befehlssteuerung veranlaßt, das Ausgangs
signal des Datenschalters 132 durch die Steuereinheit 167
auszuwählen. Der untere Teil der Hauptspeicheradresse ist
in dem Register 143 gespeichert. Das Ausgangssignal des
Cachespeichers 110 ist eines von acht Informationssegmenten,
die über die Kanäle 155 übertragen werden und durch den
Schalter 151 auswählbar sind.
Die Auswahl eines der acht Informationssegmente am Ausgang
des Schalters 151 erfolgt durch den Vergleicher 126.
Wenn der untere Teil der Hauptspeicheradresse von dem
Schalter 119 an die Adreßliste 129 abgegeben wird, dann wird
das Ausgangssignal der Cachespeicher-Adreßliste für
den Vergleicher 126 durch acht Adressen-Identifizierungs
kennzeichen gebildet, die den oberen Teil der Hauptspeicher
adresse für die in dem Cachespeicher 110 gespeicherten
acht Informationssegmente darstellen. Ein
Vergleich wird dabei mit Hilfe des Vergleichers 126
zwischen dem über die Eingangsleitungen 112 zugeführten oberen Teil der Hauptspeicheradresse
und jedem der Adressen-Identifizierungskennzeichen
vorgenommen, die durch die Cachespeicher-
Adreßliste 129 bereitgestellt werden. Wenn irgend
eines der Adressen-Identifizierungskennzeichen mit dem
oberen Teil der Hauptspeicheradresse übereinstimmt, dann
zeigt der Vergleicher 126 an, welche Ebene dem betreffenden
Adressen-Identifizierungskennzeichen zugehört.
Das Ebenen-Ausgangssignal für den Schalter 151 veranlaßt
den Schalter, die betreffende Ebene auszuwählen, wobei
das richtige Informationssegment in das Register 158 geladen
wird, um über den Datenschalter 164 zu der Zentraleinheit
37 (Fig. 2) zu gelangen. Der Datenschalter 164
wird durch die Steuereinheit 167 gesteuert.
In einer besonderen Anpassungsoperation der Cachespeicher-Adreßliste
wird die Ebene, die das Informationssegment innerhalb des
Cachespeichers 110 einnimmt, zusammen mit dem oberen Teil
der Hauptspeicheradresse (oder dem Adressen-Identifizierungs
kennzeichen) gespeichert. Außerdem sind dem Adressen-Identi
fizierungskennzeichen (oder dem oberen Teil der Hauptspeicher
adresse) Voll/Leer-Bits zugehörig, die anzeigen, daß das betreffende
bestimmte Adressen-Identifizierungskennzeichen
einem gültigen Informationssegment innerhalb des Cache
speichers 110 entspricht. Die Befehle und die Adresse
für den richtigen Speicherplatz innerhalb des Hauptspeichers
werden nicht nur dem Datenschalter 119 und dem Ver
gleicher 126 zugeführt, sondern außerdem einer Gruppe von
z. B. vier Zwischenspeicherregistern 123.
Die Steuereinheit 167 steuert mittels entsprechender
Steuersignale diese Register 123 ab. Es hat sich als
nützlich herausgestellt, in gewissen Anwendungsfällen
die Möglichkeit zu haben, vier gesonderte
Leseanforderungen zu speichern, wofür man dann eben
diese vier Register 123 benötigt. Jedes Register vermag dabei
nicht nur das Kommandosegment der Leseanforderungen zu speichern,
sondern außerdem die Hauptspeicheradresse
und die zugeteilte Ebene im Cachespeicher 110,
in der das aus dem Hauptspeicher ausgelesene Informations
segment abzuspeichern ist, wenn
es nicht im Cachespeicher enthalten ist. Wenn der Ver
gleicher 126 feststellt, daß das Informationssegment bereits
im Cachespeicher 110 vorhanden ist, wird die Lese
operation bezüglich des Hauptspeichers abgebrochen, und
die betreffende Leseanforderung wird im
Register 123 gelöscht. Es können auch
Leseanforderungen in das Register 123 eingegeben werden, während
durch den Cachespeicher in der Primäradreßliste andere
Funktionen ausgeführt werden.
Es ist zuweilen wünschenswert, daß der untere Teil der in
dem Register 123 gespeicherten Adresse über den Mehrleitungs
kanal 178 an den Datenschalter 135 abgegeben wird.
Der untere Teil der Hauptspeicheradresse, die von dem
Register 123 über den Datenschalter 135 in
das Register 143 übertragen wird, bildet
die Adresse für den Cachespeicher 110, wenn
die Daten über die Systemsteuereinheit
aus dem Hauptspeicher ausgelesen werden (was weiter unten noch
näher erläutert wird). Das Ausgangssignal des Registers
123 wird außerdem einem Vergleicher 180 sowie
einem Datenschalter 182 zugeführt. Der Datenschalter 182,
der durch die Steuereinheit 167 gesteuert wird, gibt sein
Ausgangssignal über die Ausgangsleitungen 186 des Kanals 53
an die Systemsteuereinheit 55 (Fig. 2) ab. Das Ausgangs
signal 118 des Datenschalters 182 wird außerdem dem Daten
schalter 118 über den Mehrleitungskanal 188 zugeführt.
Der Vergleicher 180 vergleicht das Ausgangssignal des
Datenschalters 120 mit dem Inhalt des Registers 123, um
festzusellen, ob irgendeine im Register
123 gespeicherte Leseanforderung erneut auf der Leitung 112 auftritt oder ob
ein Löschkommando bezüglich des Registers 210
von der Systemsteuereinheit aufgenommen worden ist.
Das Ausgangssignal des Vergleichers 180 kann über
die Leitung 190 den Vergleicher 126 daran hindern,
ein Ausgangssignal abzugeben. Dadurch wird verhindert,
daß ein zu löschendes Informationssegment
zu der Zentraleinheit 37 übertragen wird. Die Leitung 190 ist
außerdem mit der Steuereinheit 167 verbunden.
Die Schreibkommandos von der Zentraleinheit werden in
dem Register 124 gespeichert. Die Steuereinheit 167 stellt
die richtigen Steuersignale zum Laden des Schreibkommandos
in das Register 124 bereit. Der Ausgang des
Registers 124 ist über den Mehrleitungskanal 197 mit dem
Datenschalter 182 verbunden. Die Adresse des
in dem Hauptspeicher zu speichernden Informationssegments
kann über die Datenschalter 119 und 135
in das Register 143 übertragen werden. Die im Register
124 gespeicherten Informationssegmente
werden über den Datenschalter 182, den Kanal 188
und den Datenschalter 118 übertragen und in den Cachespeicher 110
eingeschrieben. Zugleich wird der untere Teil der Haupt
speicheradresse, der ein Adressen-Identifizierungskennzeichen
darstellt, in diejenige Ebene der Primäradreßliste
129 geladen, die durch einen (nicht dargestellten)
Umlaufzähler festgelegt ist. Dieselbe Ebene wird
gleichzeitig auch für den Cachespeicher 110 bereit
gestellt. Diese Ebene wird in die betreffende Primär
adreßliste zusammen mit dem Adressen-Identifizierungskenn
zeichen eingegeben, und das Voll/Leer-Bit wird so gesetzt,
daß es einen Voll-Zustand anzeigt.
Unter gewissen Bedingungen ist es notwendig, daß der
untere Teil der Hauptspeicheradresse kurzzeitig gespeichert werden
muß, bevor er zur Verwendung in der Primäradreßliste
herangezogen werden kann. In diesem Falle wird
der untere Teil der Hauptspeicheradresse in das Register
137 geladen,
zum geeigneten Zeitpunkt über den Datenschalter 119
aus dem Register 137 ausgelesen und über die Leitung 132 zur
Primäradreßliste 129 übertragen.
Die von der Systemsteuereinheit 55 kommenden Eingangsleitungen 199,
die nur einen Teil der den Kanal 53 bildenden Leitungen
darstellen, sind mit dem Register 204 verbunden. Der Ausgang
des Registers 204 ist über den Kanal 206 mit dem
Register 210 sowie mit den Datenschaltern 118 und 164 verbunden.
Der Datenschalter
164 wählt zwischen den Daten im Register 158 und den
Daten im Register 204. Das Register 210
speichert bis zu vier Löschbefehle von der Systemsteuereinheit 55.
Die Löschbefehle werden
über den Mehrleitungskanal 212 an die Datenschalter
120 und 119 übertragen. Diese Löschbefehle sind durch die Steuereinheit 167 gesteuert
und nehmen eine Vorrangstellung bzw. Priorität
gegenüber den gewöhnlichen
Operationen des Cachespeichers ein. Der untere Teil
der Hauptspeicheradresse wird über den Datenschalter 119 zur
Primäradreßliste 129 übertragen. Das Voll/Leer-
Bit des in Frage kommenden Adressen-Identifizierungskennzeichens
innerhalb der Primäradreßliste 129 ist
so gesetzt, daß es eine Leerstelle im Cachespeicher anzeigt, d. h.,
daß an dem betreffenden
Speicherplatz im Cachespeicher
kein gültiges Informationssegment gespeichert ist.
Als Teil des in dem Register 210 gespeicherten
Befehls wird die Ebene des Adressen-Identifizierungskennzeichens
zur Primäradreßliste 129 über nicht dargestellte Leitungen übertragen und
kann durch den Umlaufzähler
("round robin counter") geschleust werden zur Feststellung
für welches
der acht, durch den unteren Teil der Hauptspeicheradresse im Register
210 adressierten Adressen-Identifizierungskennzeichen
das zugeordnete
Voll/Leer-Bit zurückgesetzt werden muß.
Bei einem gewöhnlichen
Lesebefehl wird das in den
Cachespeicher einzuschreibende Informationssegment über
den Kanal 206 und den Datenschalter 118 zum Cachespeicher 110 übertragen.
Der untere Teil der
Hauptspeicheradresse wird entweder
von dem Register 137 oder von dem Register 123 über die Datenschalter 119 bzw. 135 ins Register 143
übertragen. Das Informationssegment wird nach Abruf aus dem Hauptspeicher in den Cachespeicher
eingeschrieben, wenn es im Cachespeicher nicht vorhanden
war und wenn die Hauptspeicher-Leseoperation nicht abgebrochen
worden ist.
Die Doppel-Adreßliste 73 (Fig. 2) ist in Fig. 4 im einzelnen
veranschaulicht. Die Doppel-Adreßlisten 73, 74 und 75 sind
der Art nach ähnlich, weshalb eine detaillierte Erläuterung
lediglich einer Adreßliste
genügt. Der Mehrleitungskanal 77
umfaßt Eingangsleitungen 220
und Ausgangsleitungen 222. Die Eingangsleitungen 220 sind
mit den Registern 225 und 226 verbunden. Die Lese- und
Schreibbefehle von der Zentraleinheit 37 (Fig. 2) werden
über die Cachespeichereinheit 41 und die Systemsteuereinheit
55 übertragen und gelangen von der Systemsteuereinheit
55 über die Eingangsleitungen 220 in die Doppel-
Adreßliste 73. Diese Befehle werden außerdem
dem Hauptspeicher über den Kanal 69 (Fig. 2) zugeführt.
Das Register 226 leitet den Befehl
und dessen Adressenteil an den Datenschalter
228 weiter. Die Adreßlisten-Logikeinheit 230
überprüft den im Register 226 stehenden Befehl über
den Mehrleitungskanal 232. Der Befehl zeigt an, daß
Datenwörter in den Cachespeicher eingeschrieben werden,
nachdem sie
aus dem Hauptspeicher 50 (Fig. 2) ausgelesen wurden.
Wenn ein Befehl eine Änderung in der
Primäradreßliste 129 anzeigt, gibt
die Adreßlisten-Logikeinheit 230 ein Setz- oder Rücksetz-Signal über
die Leitung 235 an den Doppel-Adreßlistenspeicher 237 ab.
Die Adreßlisten-Logikeinheit 230 steuert außerdem die Datenschalter
228 und 239 über die Leitungen
241 bzw. 242 an. Sofern erforderlich, können die
Lese- und Schreibbefehle von der Zentraleinheit
in dem Register 225 gespeichert werden. Das Register 225
sollte imstande sein, mehr als einen
Befehl zu speichern. Die von den peripheren Einrichtungen
über die Systemsteuereinheit 55 herkommenden Lese/Lösch-
Signale können ebenfalls in dem Register 225 gespeichert
werden.
Die Lese-, Schreib- und Löschbefehle
von den Systemsteuereinheiten 58 und 59 werden über die
Kanäle 79 bzw. 80 den Registern 244 bzw. 245 zugeführt.
die Register 244 und 245 sollten imstande sein, mehr als
einen Befehl zu speichern. Der Ausgang
des Registers 244 ist über den Mehrleitungskanal 247 mit
dem Schalter 239 verbunden, und das Register 245 ist über
den Mehrleitungskanal 249 mit dem Schalter 239 verbunden.
Der Inhalt des Registers 225 wird außerdem
dem Datenschalter 239 über den Mehrleitungskanal 251
zugeführt. Der Ausgang des Datenschalters 239 ist über den
Mehrleitungskanal 253 mit einem Register 255 verbunden.
Der Ausgang des Registers 255 ist über den Mehrleitungskanal
257 mit dem Eingang des Datenschalters 228 verbunden.
Es können alle Befehle
von der Systemsteuereinheit 55 (Fig. 2) in das Register 226
geladen werden; wenn eine Sofortaktion erforderlich
ist,
wird der Inhalt dieses Registers über den
Datenschalter 228 weitergeleitet. Ansonsten
können alternativ dazu Befehle von der Systemsteuereinheit 55 auch
über den Datenschalter 239, den Kanal 253, das Register 255
und den Datenschalter 228 zum Kanal 259 weitergeleitet werden.
Die Adreßlisten-Logikeinheit 230 kann das Register
255 mittels des Datenschalters 228
auswählen. Der Datenschalter 228 ist über
den Mehrleitungskanal 259 mit einem Register 261, dem
Doppel-Adreßlistenspeicher 237 und einem Vergleicher 264
verbunden. Dabei wird nur die Adresse des
Hauptspeichers zu dem Register
261 übertragen und dort gespeichert. Der
untere Teil der Hauptspeicheradresse wird über den Kanal 266
als Adresse für den Doppel-Adreßlistenspeicher 237
genutzt. Der obere Teil der Hauptspeicheradresse wird über
den Mehrleitungskanal 268 dem Doppel-Adreßlistenspeicher
237 zugeführt. Der untere Teil der Hauptspeicheradresse
und die Ebene werden dem Doppel-Adreßlistenspeicher
zur Abspeicherung zugeführt. Das Voll/Leer-Bit eines
Adressen-Identifizierungskennzeichens wird über die Leitung
235 durch die Adreßlisten-Logikeinheit 230 gesetzt oder
zurückgesetzt. Der obere Teil der Hauptspeicheradresse
wird ferner an den Vergleicher 264 weitergeleitet. Wenn
der Doppel-Adreßlistenspeicher gelesen wird um zu bestimmen,
ob ein bestimmtes Adressen-Identifizierungskennzeichen
identisch ist mit dem oberen Teil der Hauptspeicheradresse
in dem kanal 259, dann wird eine Anzahl (hier acht) von Adressen-
Identifizierungskennzeichen
über den Mehrleitungskanal
270 dem Vergleicher 264 zugeleitet. Der Vergleicher 264
stellt fest, ob irgendeines der Adressen-Identifizierungskennzeichen
den oberen Teil der Hauptspeicheradresse darstellt.
Sofern irgendeines der Adressen-Identifizierungskennzeichen
mit dem oberen Teil der Hauptspeicheradresse
übereinstimmt, wird die dem betreffenden Adressen-Identifizierungskennzeichen
zugehörige Ebene
vom Vergleicher 264 über den Mehrleitungskanal
272
dem Register 261 zugeführt. Die Funktion der
Doppel-Adreßliste 73 gemäß Fig. 4 wird im einzelnen in
Verbindung mit Fig. 5 erläutert.
Die Zentraleinheit 38 erzeugt einen Schreibbefehl oder ein Schreibkommando für
eine bestimmte Adresse in dem Hauptspeicher. Dieses
Kommando wird über die Cachespeichereinheit 42
der Systemsteuereinheit 58 zugeführt. Die Systemsteuereinheit
58 überträgt Befehlsart und Adresse
über den Mehrleitungskanal 79 in das Register 244, wo sie
gespeichert
werden. Der Inhalt
des Registers 244, der diesen Schreibbefehl darstellt, wird
über den Schalter 239 unter der Steuerung der Adreßlisten-Logikeinheit 230 in das Register 255 geladen.
Das Register 255 wird über den Datenschalter
228 ausgewählt, und die Adresse wird
zum Doppel-Adreßlistenspeicher übertragen.
Es sei angenommen, daß im Cachespeicher
110 das angeforderte Informationssegment
vorhanden ist. Der Doppel-
Adreßlistenspeicher enthält auch das Adressen-Identifizierungskennzeichen
für die betreffende Speicherstelle, so daß
der Vergleicher 264 die Ebene des
betreffenden Adressen-Identifizierungskennzeichens auszugeben
in der Lage ist.
Der Vergleicher 264 stellt außerdem
fest, ob das dem Adressen-Identifizierungskennzeichen
- welches mit dem oberen Teil der Hauptspeicheradresse
identisch ist - zugehörige Voll/Leer-Bit gesetzt
ist. Falls das Voll/Leer-Bit nicht gesetzt ist, gibt der
Vergleicher 264 die Ebene an das Register 261 nicht aus.
Wenn der Vergleicher 264 das Adressen-Identifizierungskennzeichen
findet und wenn das Voll/Leer-Bit gesetzt ist, so wird unter der
Steuerung durch die Adreßlisten-Logikeinheit 230 von dem Register 261 ein
Löschkommando
erzeugt. Dieses
Löschkommando enthält den erforderlichen Code, der als solcher
von der Cachespeichereinheit 41 erkannt wird, und den
unteren Teil der aus dem Register 255 stammenden Hauptspeicheradresse,
welche über den Datenschalter
228 bereitgestellt ist, und ferner die durch den
Vergleicher 264 festgelegte Ebene. Dieses Löschkommando
wird über die Ausgangsleitungen 222 an die Systemsteuereinheit
55 weitergeleitet. Die Systemsteuereinheit 55
(Fig. 2) überträgt das Löschkommando über die Eingangsleitungen
199 zu der Cachespeichereinheit 41. Das Löschkommando
wird durch die Steuereinheit 167 erkannt und
in das Register 210 geladen. Der untere Teil der Hauptspeicheradresse
wird über den Datenschalter 119 vom Register
210 zur Primäradreßliste 129 übertragen.
Die zu löschende Ebene wird beispielsweise über
den (nicht dargestellten) Umlaufzähler abgegeben, und
das Voll/Leer-Bit des in Frage kommenden einen
der acht Adressen-Identifizierungskennzeichen,
welches durch den unteren Teil der Hauptspeicheradresse
adressiert ist, sei beispielsweise zurückgesetzt. Das
Voll/Leer-Bit zeigt im Rücksetzzustand an, daß das dem
betreffenden bestimmten Adressen-Identifizierungskennzeichen
zugehörige, in dem Cachespeicher 110 enthaltene
Informationssegment nicht mehr gültig ist.
Der Betrieb der Doppel-Adreßliste 73 und der Cachespeichereinheit
41 wird in Verbindung mit der folgenden
Erläuterung des in Fig. 5 dargestellten
Flußdiagramms im einzelnen erläutert.
Nach der Initialisierung befindet man sich im Status
277. Von dort gelangt man in den
Zustand 279, wo
eine Überprüfung erfolgt, um festzustellen, ob ein Kommando von
den Registern 225, 226, 244 oder 245 (Fig. 4) aufgenommen
worden ist. Wenn kein Kommando aufgenommen worden ist,
gelangt man auf dem Weg 280
wieder in den Ausgangszustand 277. Wenn ein
Kommando aufgenommen ist, gelangt man vom
Zustand 279 in den Zustand 281. Im Zustand 281
wird festgestellt, ob das aufgenommene
Kommando seinen Ursprung in der zugehörigen Zentraleinheit
37 hatte. Die in den Registern 244 und 245 vorhandenen
Kommandos stammen von den Systemsteuereinheiten
58 bzw. 59. Die in den Registern 225 und 226 vorhandenen
Kommandos stammen von der Systemsteuereinheit 55. Wenn
das Kommando von der Zentraleinheit 37 über die Systemsteuereinheit
55 aufgenommen wird, dann gelangt
man auf dem Weg 284 in den Zustand
286. Wenn im Zustand 281 jedoch festgestellt wird, daß
das Kommando seinen Ursprung in den Zentraleinheiten 38
oder 39 oder in einer der mit irgendeiner der Systemsteuereinheiten
55, 58 oder 59 verbundenen peripheren
Einheiten hatte, dann gelangt man auf dem
Weg 289 in den Zustand 291.
Unter der Annahme, daß das Kommando seinen Ursprung entweder
in der Zentraleinheit 38 oder in der Zentraleinheit
39 oder in irgendeiner der mit den Systemsteuereinheiten 55, 58 oder 59 verbundenen peripheren Einrichtungen
hat, und unter der Annahme, daß man sich
gerade im Zustand 291 befindet, wird
im Zustand 291 festgestellt, ob es sich bei
dem Kommando um einen Lesebefehl handelt. Falls
es ein Lesebefehl ist, gelangt man auf dem
Weg 294 zum Schritt 296.
Hier werden die angeforderten Daten von dem
Hauptspeicher 50 (Fig. 2) an die in Frage kommende
Systemsteuereinheit und von dieser an die
anfordernde periphere Einrichtung oder Zentraleinheit ausgesendet.
Die Doppel-Adreßliste 73 ist hierbei nicht in Aktion. Wenn
das aufgenommene Kommando kein Lesebefehl ist,
dann gelangt man vom Zustand 291
in den Zustand 298. Im Zustand 298 wird festgestellt,
ob dieses Kommando ein Lese/
Lösch-Kommando ist. Wenn es sich dabei um
ein Lese/Lösch-Kommando handelt, gelangt man
vom Zustand 298 zum Schritt 304. Beim Schritt 304
wird die Adresse der angeforderten Information an den
Doppel-Adreßlistenspeicher 237 (Fig. 4) abgegeben. Die
Inhalte der Doppel-Adreßlistenspeicher (nicht dargestellt),
die in den Doppel-Adreßlisten 74 und 75 vorgesehen
sind, werden ebenfalls überprüft. Man
gelangt dann vom Schritt 304 weiter
zum Zustand 307.
Im Zustand 307 wird
festgestellt, ob beim Vorliegen einer Übereinstimmung des oberen Teils der
Hauptspeicheradresse die Vergleicher, wie der
Vergleicher 264 (Fig. 4), irgendeines der Adressen-Identifizierungskennzeichen, die
durch den unteren Teil der Hauptspeicheradresse adressiert sind, identifiziert haben oder nicht.
Wenn der Vergleicher 264
beispielsweise das Adressen-Identifizierungskennzeichen
innerhalb des Doppel-Adreßlistenspeichers nicht unterbringt,
gelangt man auf dem Weg 310
zum Schritt 296. Im Schritt 296 wird das
angeforderte Informationssegment aus dem Hauptspeicher
über die Systemsteuereinheit
entweder zu der anfordernden Zentraleinheit oder
zu der anfordernden peripheren Einrichtung weitergeleitet.
Wenn im Zustand 307 durch einen Vergleicher festgestellt
wird, daß eine Übereinstimmung zwischen dem
oberen Teil der Hauptspeicheradresse und einem der
Adressen-Identifizierungskennzeichen, die
durch den unteren Teil der Hauptspeicheradresse adressiert
sind, existiert, dann gelangt man vom Zustand 307
zum Schritt 312,
wo das Voll/Leer-Bit des mit dem oberen Teil der Hauptspeicheradresse übereinstimmenden Adressen-Identifizierungskennzeichens
zurückgesetzt wird.
Dadurch wird angezeigt, daß die entsprechende Speicherstelle
innerhalb des Cachespeichers kein gültiges Informationssegment
enthält.
Die Ebene des dem oberen Teil der Hauptspeicheradresse entsprechenden Adressen-Identifizierungskennzeichens
wird über den Kanal 272 weitergeleitet
zum Register 261, das unter
der Steuerung durch die Adreßlisten-Logikeinheit 230 ein
Löschkommando erzeugt. Der untere Teil der
Hauptspeicheradresse steht im Register 255 und wird
in das Register 261 übertragen. Das Löschkommando wird
dann über die Ausgangsleitungen 222 und die Eingangsleitung
199 (Fig. 3) zum Register 204 übertragen.
Das Löschkommando wird dann in das Register
210 geladen, und das durch den unteren
Teil der Hauptspeicheradresse adressierte Voll/Leer-Bit
wird in der im gelieferten Befehl enthaltenen Ebene
zurückgesetzt. Dadurch wird angezeigt, daß in dem
Cachespeicher 110 der entsprechende Speicherplatz kein
gültiges Informationssegment enthält.
Vom Schritt 312 gelangt man
zum Schritt 296; die Daten werden aus dem Hauptspeicher 50
(Fig. 2) an die anfordernde periphere Einrichtung oder
Zentraleinheit übertragen.
Wenn das im Zustand 298 überprüfte Kommando kein
Lese/Lösch-Kommando ist, dann gelangt man auf dem
Weg 316 zum Schritt 318. Dadurch ist impliziert, daß es sich
bei dem Kommando um einen Schreibbefehl zum Einschreiben eines
Informationssegments in den Hauptspeicher 50 handelt.
Im Schritt 318 werden die Doppel-Adreßlisten 73,
74 und 75 überprüft, um festzustellen, ob ihre zugehörigen
Cachespeicher das Informationssegment enthalten, welches
die durch das Schreibkommando
gelieferte Hauptspeicheradresse aufweist, wenn der Befehl z. B.
von einer peripheren Einrichtung abgegeben worden ist.
Demgemäß wird der untere Teil der Hauptspeicheradresse den
Doppel-Adreßlistenspeichern innerhalb der Doppel-
Adreßlisten 73, 74 und 75 zugeführt. Man
gelangt vom Zustand 320 zum Schritt 318.
Wenn das Schreibkommando von der Zentraleinheit 42 oder
der Zentraleinheit 43 stammt, dann werden im Schritt 318 das
Adressen-Identifizierungskennzeichen und die Ebene in
die Doppel-Adreßlistenspeicher der Doppel-Adreßlisten 74
bzw. 75 eingeschrieben, sofern
im zugehörigen Cachespeicher
die Eintragung eines Informationssegments vorliegt.
Im Zustand 320 werden die Ausgangssignale
der Vergleicher 264 innerhalb der Doppel-Adreßlisten 73, 74
oder 75 überprüft.
Dadurch wird bestimmt, ob die
Doppel-Adreßlistenspeicher ein Adressen-Identifizierungskennzeichen
enthalten, welches anzeigt, daß die zugehörigen
Cachespeichereinheiten 41, 42 bzw. 43 ein Informationssegment
enthalten, welches der betreffenden Hauptspeicheradresse
entspricht. Wenn im Schritt 318 ein Adressen-Identifizierungskennzeichen
in einen Doppel-Adreßlistenspeicher
eingeschrieben worden ist, dann wird der zugehörige
Vergleicher 264 nicht überprüft. Wenn festgestellt
wird, daß keines der Adressen-Identifizierungskennzeichen
eine Anzeige dafür liefert, daß die Cachespeicher das betreffende
Informationssegment enthalten, dann
gelangt man auf dem Weg 322
zum Schritt 324. Wenn festgestellt wird, daß
einer oder mehrere Doppel-Adreßlistenspeicher innerhalb
der Doppel-Adreßlisten 73, 74 oder 75 ein Adressen-Identifizierungskennzeichen
enthalten, welches eine Anzeige
dafür liefert, daß der zugehörige Cachespeicher ein durch das Schreibkommando betroffenes Informationssegment
aufweist,
dann gelangt man vom
Zustand 320 zum Schritt 326. Hier
wird das Voll/Leer-Bit in dem Doppel-Adreßlistenspeicher
für das bestimmte Adressen-Identifizierungskennzeichen
zurückgesetzt, und ferner wird ein Löschbefehl
zur Cachespeichereinheit übertragen, in
deren Cachespeicher das betreffende Informationssegment
gespeichert ist. Wenn ein Schreibvorgang
im Schritt 318 in dem Doppel-Adreßlistenspeicher ausgeführt
wird, dann wird selbstverständlich das Voll/Leer-
Bis im Schritt 326 nicht zurückgesetzt.
Vom Schritt 326 gelangt man auf dem Weg 328
zum Schritt 324. Hier
wird die Schreiboperation im Hauptspeicher 50
abgeschlossen, und ein Operations-Endesignal wird an die
anfordernde Systemsteuereinheit von deren zugehöriger
Doppel-Adreßliste und vom Hauptspeicher 50 ausgesendet.
Das Operations-Endesignal kann über die Systemsteuereinheit
55 und die Cachespeichereinheit 41 erforderlichenfalls
zu der Zentraleinheit 37 übertragen werden.
Vom Schritt 324 gelangt man
zurück zur Startposition, d. h. in den Zustand 277.
Es sei angenommen, daß im Zustand 280
das Kommando von der Zentraleinheit 37 aufgenommen
worden ist und daß man auf dem
Weg 284 in den Zustand 286 kommt.
Im Zustand
286 wird festgestellt, ob
das Kommando ein Lesekommando ist. Wenn es
ein Lesekommando ist, gelangt man auf dem
Weg 330 in den Zustand 332. Hier
wird das Lesekommando erneut überprüft um
festzustellen, ob der Befehl eine Lese/Lösch-Operation
angibt. Wenn der Befehl kein Lese/Lösch-Kommando
darstellt, gelangt man auf dem Weg 334 zum
Schritt 336. Unter diesen
Bedingungen wird das Kommando als Schreibbefehl gedeutet.
Der obere Teil der Hauptspeicheradresse wird
in den in Frage kommenden Speicherplatz des
Doppel-Adreßlistenspeichers 237 (Fig. 4) als Adressen-
Identifizierungskennzeichen eingeschrieben, und
zwar mit Hilfe des unteren Teils der Hauptspeicheradresse
in dem Kanal 266. Der Schreibbefehl umfaßt die
Ebene, die den Adressen-Identifizierungskennzeichen zuzuordnen
ist. Das Voll/Leer-Bit wird gesetzt.
Man gelangt dann vom Schritt 336 zum
Schritt 338. Im Schritt 338 werden
die anderen Doppel-Adreßlistenspeicher durch die Doppel-
Adreßlisten 74 und 75 überprüft, um festzustellen, ob ein
Adressen-Identifizierungskennzeichen existiert, welches
dem oberen Teil der Hauptspeicheradresse entspricht. Die
überprüften Adressen-Identifizierungskennzeichen stellen
die acht Adressen-Identifizierungskennzeichen dar, die
dem Vergleicher vom Doppel-Adreßlistenspeicher
zugeführt werden, wenn eine Adressierung durch den unteren
Teil der Hauptspeicheradresse erfolgt.
Man gelangt dann vom Schritt 338
in den Zustand 340. Im Zustand 340 wird eine Überprüfung
vorgenommen um festzustellen, ob die Vergleicher 264
in den Doppel-Adreßlisten 74 und 75 irgendeines der Adressen-
Identifizierungskennzeichen, die
dem Vergleicher von dem Doppel-Adreßlistenspeicher als
mit dem oberen Teil der Hauptspeicheradresse übereinstimmend
zugeleitet worden sind, identifiziert haben.
Wenn keiner der betreffenden Vergleicher eine Übereinstimmung
ermittelt, was bedeutet, daß keines der
Adressen-Identifizierungskennzeichen mit dem oberen Teil
der Hauptspeicheradresse übereinstimmt, dann gelangt man
auf dem Weg 344 weiter zum
Schritt 324. Die Operation setzt sich dann wie
oben beschrieben fort. Wenn die Vergleicher
264 in den Doppel-Adreßlisten 74 und 75 feststellen,
daß ein Adressen-Identifizierungskennzeichen
mit dem oberen Teil der Hauptspeicheradresse übereinstimmt,
dann gelangt man vom Zustand 340 zum
Schritt 344. Hier
werden wie im Schritt 326 die Löschkommandos
mit dem unteren Teil der Hauptspeicheradresse und mit
der durch den Vergleicher bereitgestellten Ebene an die
in Frage kommende Zentraleinheit 38 oder 39 übertragen.
Man gelangt dann auf dem Weg 346 weiter zum
Schritt 324.
Wenn im Zustand 332 festgestellt
wird, daß der Befehl ein Lese/Lösch-Kommando ist,
dann gelangt man zum Schritt 348. Hier
werden sämtliche Doppel-Adreßlisten überprüft
um festzustellen, ob irgendein Doppel-Adreßlistenspeicher
237
ein Adressen-Identifizierungskennzeichen
enthält, welches der durch den Befehl bereitgestellten
Adresse entspricht. Im Zustand 350, der dem Schritt 348
folgt, werden die Ausgngssignale sämtlicher Vergleicher 264
überprüft um festzustellen,
ob irgendeines der Adressen-Identifizierungskennzeichen
mit dem oberen Teil der durch den Befehl bereitgestellten Hauptspeicheradresse übereinstimmt.
Die für
den Vergleicher bereitgestellten Adressen-Identifizierungskennzeichen
sind solche Kennzeichen, die
durch den unteren Teil der Hauptspeicheradresse adressiert
sind. Wenn keines der Adressen-Identifizierungskennzeichen
mit dem oberen Teil der Hauptspeicheradresse übereinstimmt,
so gelangt man vom Zustand 350 auf dem
Weg 352 weiter zum Schritt 354. Hier
werden die angeforderten Daten
vom Hauptspeicher 50
über die Systemsteuereinheit 55 an die
Zentraleinheit 37 (Fig. 2) übertragen.
Wenn festgestellt worden ist, daß eines der Adressen-
Identifizierungskennzeichen mit dem oberen Teil der
Hauptspeicheradresse übereinstimmt, dann gelangt man
vom Zustand 350 zum
Schritt 356. Im Schritt 356 wird das Voll/Leer-
Bit des betreffenden Adressen-Identifizierungskennzeichens
zurückgesetzt, und das Löschkommando wird an
die Cachespeichereinheit der zugehörigen Zentraleinheit
übertragen. Dann gelangt man vom Schritt 356
weiter zum Schritt 354. Von hier aus
gelangt man zurück zur Startposition, d. h. in den
Zustand 277.
Wenn im Zustand 286 festgestellt
wird, daß das von der Zentraleinheit 37 aufgenommene
Kommando ein Lesebefehl ist, dann gelangt man
in den Zustand 358.
Im Zustand 358 wird das Kommando überprüft um festzustellen,
ob ein Eintrag in den Cachespeicher 110 vorzunehmen
ist. Wenn das innerhalb des Hauptspeichers 50
(Fig. 2) adressierte Informationssegment in den Cachespeicher
110 (Fig. 3) einzuschreiben ist, gelangt man
vom Zustand 358 weiter
zum Schritt 360. Im Schritt 360 wird der obere Teil der
Hauptspeicheradresse in den Doppel-Adreßlistenspeicher 237
als ein Adressen-Identifizierungskennzeichen eingeschrieben zusammen mit
der durch das Lesekommando
für den Doppel-Adreßlistenspeicher 237 (Fig. 4) bereitgestellten
Ebene. Vom Schritt 360 aus gelangt man zum
Schritt 354 und fährt dann wie oben erläutert fort.
Wenn während des Schrittes 358 festgestellt wird, daß
kein Eintrag in den Cachespeicher 110 (Fig. 3) vorgenommen
worden ist, gelangt man auf dem
Weg 362 weiter zum Schritt 364. Hier
wird dem Doppel-Adreßlistenspeicher 237
der untere Teil der Hauptspeicheradresse des auszulesenden
Informationssegments über den Kanal 266 zugeleitet.
Der Vergleicher 264 überprüft die von dem Doppel-Adreßlistenspeicher
237 aufgenommenen Adressen-Identifizierungskennzeichen
um festzustellen, ob irgendeines der Adressen-
Identifizierungskennzeichen mit dem oberen Teil der Hauptspeicheradresse
übereinstimmt. Vom Schritt 364 gelangt man
weiter in den Zustand 366.
Wenn im Zustand 366 festgestellt wird,
daß keines der Adressen-Identifizierungskennzeichen mit
dem oberen Teil der Hauptspeicheradresse übereinstimmt,
dann gelangt man vom Zustand 366 auf dem Weg 368
weiter zum Schritt 354. Die
Operationsfolge wird dann wie oben bereits erläutert weitergeführt.
Wenn der Vergleicher 264 feststellt, daß ein
Adressen-Identifizierungskennzeichen mit dem oberen Teil
der Hauptspeicheradresse übereinstimmt, dann gelangt man
zum Schritt 370.
Hier wird das Voll/Leer-Bit des betreffenden Adressen-Identifizierungskennzeichens
zurückgesetzt. Es sei darauf hingewiesen,
daß das entsprechende Voll/Leer-Bit der Cachespeicher-
Adreßliste 129 zuvor zurückgesetzt worden ist.
Man gelangt dann vom Schritt 370 weiter
zum Schritt 354. Die Operation
der Doppel-Adreßlisten und der Cachespeicher setzt
sich dann auch wieder wie oben erläutert fort.
Nachfolgend wird die Betriebsweise mit den Peripherieeinheiten
erläutert. Die Systemsteuereinheiten der Datenverarbeitungsanlage
sind mit den verschiedenen vorgesehenen
Peripherieeinheiten, die in erster Linie die Eingabe/Ausgabe-
Operationen abwickeln, verbunden. Die Datenübertragung
zwischen den Peripherieeinheiten und dem Hauptspeicher wird
über die Systemsteuereinheiten abgewickelt. Den Peripherieeinheiten
werden die von einer bestimmten Zentraleinheit
stammenden Befehle ebenfalls über die Systemsteuereinheit
zugeleitet. Es handelt sich dabei in der Regel um Lese-,
Lösch- und Schreibbefehle für im Hauptspeicher befindliche
bzw. in den Hauptspeicher einzuschreibende Informationssegmente
oder Datenwörter. Aufgrund solcher Befehle fordert
die Peripherieeinrichtung die entsprechend adressierten
Datenwörter über die Systemsteuereinheit an, liest diese
Datenwörter aus dem Hauptspeicher aus und löscht gleichzeitig
diese Datenwörter im Hauptspeicher bzw. schreibt sie
unter den bereitgestellten Adressen in den Hauptspeicher
ein.
Beim Lesen/Löschen sendet die Systemsteuereinheit die
Adressen der betreffenden im Hauptspeicher gelöschten Datenwörter
an jede der Doppel-Adreßlisten. Diese verwenden den
unteren Teil der Hauptspeicheradresse dazu, auf den in Frage
kommenden Satz von Adressen-Identifizierungskennzeichen in
der Doppel-Adreßliste zuzugreifen. Der obere Teil der Hauptspeicheradresse
wird mit den Adressen-Identifizierungskennzeichen
verglichen. Wenn eines der Adressen-Identifizierungskennzeichen
mit dem oberen Teil der Hauptspeicheradresse identisch ist
und wenn auch das Voll/Leer-Bit, das ein gültiges Datenwort
im Cachespeicher anzeigt, gesetzt ist, dann wird das dem bestimmten Adressen-Identifizierungskennzeichen zugehörige Voll/
Leer-Bit in der
Doppel-Adreßliste zurückgesetzt, um anzuzeigen,
daß dieses im Cachespeicher enthaltene Datenwort nicht mehr
gültig ist, was praktisch dessen Löschung bedeutet. Dann wird
noch ein Löschsignal an den Cachespeicher ausgesendet, und das
Voll/Leer-Bit der Primäradreßliste des Cachespeichers wird
ebenfalls zurückgesetzt.
Vorteilhaft ist die Bereitstellung
der über Systemsteuereinheiten an die Datenverarbeitungsanlage
angeschlossenen Doppel-Adreßlisten zur Sicherstellung,
daß keiner von der vorhandenen Vielzahl von Cachespeichern
unter gleichen Adressen unterschiedliche Datenwörter oder
Informationssegmente enthält, so daß sowohl innerhalb der
Cachespeicher als auch in Bezug auf den Hauptspeicher zu
jeder Zeit eine absolute Datenkohärenz vorhanden ist.
Vorteilhaft ist weiterhin, daß mit Hilfe der Vielzahl von
Doppel-Adreßlisten diese Datenkohärenz auch beim Betrieb
der Peripherieeinheiten sichergestellt ist, wobei der
Datenaustausch und die Befehlsübermittlung zwischen den
einzelnen Einheiten der Datenverarbeitungsanlage und den
Peripherieeinheiten über die Systemsteuereinheiten, an die
auch die Doppel-Adreßlisten angeschlossen sind, abgewickelt
wird. So wird sichergestellt, daß Datenwörter bzw. Informationssegmente,
die durch Peripherieeinheiten an bestimmten Speicherplätzen
im Hauptspeicher gelöscht oder überschrieben
werden, auch in den Cachespeichern aktualisiert werden,
so daß auch in ihnen immer mit dem Hauptspeicher übereinstimmende
Datenwörter bzw. Informationssegmente gespeichert
sind.
Claims (1)
1. Schaltungsanordnung zum selektiven Löschen von Cachespeichern
in einer Multiprozessor-Datenverarbeitungsanlage
mit mehreren zentralen Prozessoren (37, 38, 39) und einem
für alle Prozessoren gemeinsamen Hauptspeicher (50), wobei
jeder zentrale Prozessor mit einer eigenen Cacheeinheit (41,
42, 43) verbunden ist, die einen Cachespeicher (110) und eine
Primäradreßliste (129) umfaßt und wobei in jedem Cachespeicher
(110) eine begrenzte Anzahl von Datenworten aus dem Hauptspeicher
(50) ein zweites Mal gespeichert sind, die der zugeordnete
zentrale Prozessor verarbeitet oder generiert, und in der
Primäradreßliste (129) die Adressen dieser im Cachespeicher
(110) enthaltenen Datenworte gespeichert sind, und mit jeder
Cacheeinheit (41, 42, 43) zugeordneten Doppeladreßlisten (73,
74, 75), in der dieselben Adressen ein zweites Mal gespeichert
sind, die schon in den zugeordneten Primäradreßlisten (129)
gespeichert sind, wobei der aktive Prozessor (z. B. 37) bei
einer Schreiboperation die Daten in seinem Cachespeicher (110)
und in dem Hauptspeicher (50) ändert und dieselben Adressen
in den Doppeladreßlisten (z. B. 74, 75) und zugeordneten Primäradreßlisten
der anderen zentralen Prozessoren (z. B. 38,
39) ungültig markiert werden, dadurch gekennzeichnet, daß
an jede Cacheeinheit (41, 42, 43) eine eigene Systemsteuereinheit
(55, 58, 59) angeschlossen ist, über die der Hauptspeicher
(50) mit den zentralen Prozessoren (37, 38, 39)
über Busleitungen (69, 53, 45; 70, 61, 47; 71, 62, 48) die
Übertragung der gelesenen oder zu schreibenden Datenworte
abwickelt, daß jede Systemsteuereinheit mit jeder anderen
Systemsteuereinheit über Steuerbusleitungen (64, 65, 67)
und jede Systemsteuereinheit (55, 58, 59) mit Peripherieeinheiten
(24, 25) verbunden ist, daß an jede Systemsteuereinheit
(z. B. 55) die ihr zugeordnete Doppeladreßliste (73)
über einen ersten Datenkanal (77) angeschlossen ist und
daß jede Systemsteuereinheit (z. B. 55) über zweite Datenkanäle (84) und
weitere Datenkanäle (88) mit der zweiten Doppeladreßliste (74) und weiteren
Doppeladreßlisten (75) verbunden ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10380479A | 1979-12-14 | 1979-12-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3046912A1 DE3046912A1 (de) | 1981-09-03 |
DE3046912C2 true DE3046912C2 (de) | 1994-05-11 |
Family
ID=22297115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19803046912 Expired - Fee Related DE3046912C2 (de) | 1979-12-14 | 1980-12-12 | Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage |
Country Status (6)
Country | Link |
---|---|
JP (1) | JPS5698769A (de) |
AU (1) | AU543278B2 (de) |
CA (1) | CA1159153A (de) |
DE (1) | DE3046912C2 (de) |
FR (1) | FR2472232B1 (de) |
GB (1) | GB2065941B (de) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4399506A (en) * | 1980-10-06 | 1983-08-16 | International Business Machines Corporation | Store-in-cache processor means for clearing main storage |
US4525777A (en) * | 1981-08-03 | 1985-06-25 | Honeywell Information Systems Inc. | Split-cycle cache system with SCU controlled cache clearing during cache store access period |
DE3138972A1 (de) * | 1981-09-30 | 1983-04-14 | Siemens AG, 1000 Berlin und 8000 München | Onchip mikroprozessorchachespeichersystem und verfahren zu seinem betrieb |
JPH0668735B2 (ja) * | 1987-02-09 | 1994-08-31 | 日本電気アイシーマイコンシステム株式会社 | キヤツシユメモリ− |
JPH01115358A (ja) * | 1987-10-30 | 1989-05-08 | Toru Ishiwatari | 鎌倉彫を施した棺の製造方法 |
US5226039A (en) * | 1987-12-22 | 1993-07-06 | Kendall Square Research Corporation | Packet routing switch |
US5251308A (en) * | 1987-12-22 | 1993-10-05 | Kendall Square Research Corporation | Shared memory multiprocessor with data hiding and post-store |
US5055999A (en) * | 1987-12-22 | 1991-10-08 | Kendall Square Research Corporation | Multiprocessor digital data processing system |
US5282201A (en) * | 1987-12-22 | 1994-01-25 | Kendall Square Research Corporation | Dynamic packet routing network |
US5761413A (en) | 1987-12-22 | 1998-06-02 | Sun Microsystems, Inc. | Fault containment system for multiprocessor with shared memory |
US5341483A (en) * | 1987-12-22 | 1994-08-23 | Kendall Square Research Corporation | Dynamic hierarchial associative memory |
US5822578A (en) * | 1987-12-22 | 1998-10-13 | Sun Microsystems, Inc. | System for inserting instructions into processor instruction stream in order to perform interrupt processing |
GB2216308A (en) * | 1988-03-01 | 1989-10-04 | Ardent Computer Corp | Maintaining cache consistency |
US5153595A (en) * | 1990-03-26 | 1992-10-06 | Geophysical Survey Systems, Inc. | Range information from signal distortions |
GB2256512B (en) * | 1991-06-04 | 1995-03-15 | Intel Corp | Second level cache controller unit and system |
CA2078312A1 (en) | 1991-09-20 | 1993-03-21 | Mark A. Kaufman | Digital data processor with improved paging |
US5724549A (en) * | 1992-04-06 | 1998-03-03 | Cyrix Corporation | Cache coherency without bus master arbitration signals |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3771137A (en) * | 1971-09-10 | 1973-11-06 | Ibm | Memory control in a multipurpose system utilizing a broadcast |
US3845474A (en) * | 1973-11-05 | 1974-10-29 | Honeywell Inf Systems | Cache store clearing operation for multiprocessor mode |
JPS5440182B2 (de) * | 1974-02-26 | 1979-12-01 | ||
US3979726A (en) * | 1974-04-10 | 1976-09-07 | Honeywell Information Systems, Inc. | Apparatus for selectively clearing a cache store in a processor having segmentation and paging |
US4020466A (en) * | 1974-07-05 | 1977-04-26 | Ibm Corporation | Memory hierarchy system with journaling and copy back |
JPS5295128A (en) * | 1976-02-06 | 1977-08-10 | Hitachi Ltd | Information processing device |
JPS5361236A (en) * | 1976-11-12 | 1978-06-01 | Fujitsu Ltd | Memory access control system |
US4136386A (en) * | 1977-10-06 | 1979-01-23 | International Business Machines Corporation | Backing store access coordination in a multi-processor system |
DE2947115A1 (de) * | 1978-12-11 | 1980-06-26 | Honeywell Inf Systems | Loeschanordnung fuer einen cache- speicher eines prozessors in einem multiprozessorsystem |
-
1980
- 1980-12-12 GB GB8039948A patent/GB2065941B/en not_active Expired
- 1980-12-12 DE DE19803046912 patent/DE3046912C2/de not_active Expired - Fee Related
- 1980-12-12 CA CA000366639A patent/CA1159153A/en not_active Expired
- 1980-12-12 FR FR8026453A patent/FR2472232B1/fr not_active Expired
- 1980-12-12 AU AU65324/80A patent/AU543278B2/en not_active Ceased
- 1980-12-15 JP JP17703780A patent/JPS5698769A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
DE3046912A1 (de) | 1981-09-03 |
AU543278B2 (en) | 1985-04-18 |
FR2472232A1 (fr) | 1981-06-26 |
GB2065941B (en) | 1984-02-29 |
AU6532480A (en) | 1981-06-18 |
JPS5698769A (en) | 1981-08-08 |
CA1159153A (en) | 1983-12-20 |
FR2472232B1 (fr) | 1988-04-22 |
GB2065941A (en) | 1981-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3011552C2 (de) | ||
EP0013737B1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
DE3046912C2 (de) | Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage | |
DE2415900C3 (de) | Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen Rechenanlagen | |
DE2240433C3 (de) | Hierarchische Datenspeicheranordnung für mehrere über Pufferspeicher angeschlossene Einheiten und ein Verfahren zu deren Betrieb | |
DE3131341C2 (de) | ||
DE2226382C3 (de) | Datenverarbeitungsanlage mit mehreren Prozessoren und diesen zugeordneten Pufferspeichern | |
DE2515696C2 (de) | Datenverarbeitungssystem | |
DE2241257C3 (de) | Datenverarbeitende Anlage | |
DE3151745C2 (de) | ||
EP0600112A1 (de) | Datenverarbeitungsanlage mit virtueller Speicheradressierung und schlüsselgesteuertem Speicherzugriff | |
DE3102150A1 (de) | "schaltungsanordnung mit einem cachespeicher fuer eine zentraleinheit einer datenverarbeitungsanlage | |
DE1499182C3 (de) | Datenspeichersystem | |
DE2154106A1 (de) | Arbeitsspeicherwerk | |
DE3724730A1 (de) | Cache-steuereinrichtung | |
DE3502147C2 (de) | ||
DE2841041A1 (de) | Datenverarbeitungsanlage mit mindestens zwei mit einem schnellen arbeitsspeicher ausgeruesteten prozessoren | |
DE10219623A1 (de) | System und Verfahren zur Speicherentscheidung unter Verwendung von mehreren Warteschlangen | |
DE2422732C2 (de) | Hierarchische Speicheranordnung | |
DE69130626T2 (de) | Verfahren zur Verwaltung einer Cache-Speicheranordnung | |
EP1079307B1 (de) | Verfahren zum Betrieb eines Speichersystems sowie Speichersystem | |
EP1352318B1 (de) | Mikroprozessorschaltung für tragbare datenträger | |
DE1774211C3 (de) | Datenspeicheranordnung für ein Datenverarbeitungssystem | |
EP1559111B1 (de) | Verfahren zum betreiben einer speicheranordnung | |
DE2355814C2 (de) | Kanalzugriffseinrichtung für eine hierarchische Speicheranordnung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8125 | Change of the main classification |
Ipc: G06F 12/12 |
|
8127 | New person/name/address of the applicant |
Owner name: HONEYWELL BULL INC., MINNEAPOLIS, MINN., US |
|
8127 | New person/name/address of the applicant |
Owner name: BULL HN INFORMATION SYSTEMS INC., WILMINGTON, DEL. |
|
D2 | Grant after examination | ||
8363 | Opposition against the patent | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: BULL HN INFORMATION SYSTEMS INC., BILLERICA, MASS. |
|
8339 | Ceased/non-payment of the annual fee |