DE2841041A1 - Datenverarbeitungsanlage mit mindestens zwei mit einem schnellen arbeitsspeicher ausgeruesteten prozessoren - Google Patents
Datenverarbeitungsanlage mit mindestens zwei mit einem schnellen arbeitsspeicher ausgeruesteten prozessorenInfo
- Publication number
- DE2841041A1 DE2841041A1 DE19782841041 DE2841041A DE2841041A1 DE 2841041 A1 DE2841041 A1 DE 2841041A1 DE 19782841041 DE19782841041 DE 19782841041 DE 2841041 A DE2841041 A DE 2841041A DE 2841041 A1 DE2841041 A1 DE 2841041A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- data
- main memory
- command queue
- processor
- 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.)
- Ceased
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/0828—Cache consistency protocols using directory methods with concurrent directory accessing, i.e. handling multiple concurrent coherency transactions
Description
Die Erfindung betrifft eine Anordnung für den Betrieb von schnellen Pufferspeichern in einer mit mehreren Prozessoren
arbeitenden Datenverarbeitungsanlage und einem von allen Prozessoren gemeinsam benutzten Hauptspeicher.
Stand der Technik
Anmelderin: International Business Machines
Corporation, Armonk, N.Y. 10504
heb-om
Datenverarbeitungsanlage mit mindestens zwei mit einem schnellen Arbeitsspeicher ausgerüsteten Prozessoren
Der in IEEE Computer Group News, März 1969, erschienene Aufsatz von C. J. Conti "Concepts for Buffer Storage" beschreibt
einen hierarchischen Speicher, bei dem ein großer langsam arbeitender, dreidimensionaler Kernspeicher mit
einem relativ kleinen, sehr schnell arbeitetenden Pufferspeicher zusammenarbeitet, der in integrierter Schaltungstechnik hergestellt ist. Bei Verwendung dieser Pufferspeicher/
Hauptspeicher-Anordnung kann die Zentraleinheit (CPU) Daten mit hoher Geschwindigkeit von dem Pufferspeicher abrufen,
dessen Arbeitsgeschwindigkeit weitgehend an den Maschinenzyklus der CPU angepaßt ist. Wenn die CPU die Adresse der gewünschten
Information an das Speichersystem abgibt, bestimmt eine Steuerschaltung, ob die adressierten Daten vom Hauptspeicher
nach dem Pufferspeicher übertragen worden sind oder nicht. Werden die Daten im Pufferspeicher aufgefunden, dann kann die
CPU zum Pufferspeicher mit hoher Geschwindigkeit zugreifen. Liegen die Daten jedoch nicht im Pufferspeicher, dann werden
durch Steuerungen die Daten vom Hauptspeicher nach dem Pufferspeicher
übertragen. Ein Benutzer-Algorithmus stellt sicher, daß die am häufigsten benutzten Daten im schnellen Puffer-
PO 976 OO1
909832/0486
2041041
speicher abgespeichert sind. Bei einem wirkungsvollen Algorithmus werden die meisten Zugriffe für Daten erfolgen, die im j
schnellen Pufferspeicher liegen. Dadurch erhält man ein korn- \
biniertes System, das zwar effektiv mit einer Geschwindigkeit
arbeitet, die die des schnellsten Speichers nahezu erreicht, ! während die Kosten mehr die des langsamsten und billigsten j Speichers sind. ;
arbeitet, die die des schnellsten Speichers nahezu erreicht, ! während die Kosten mehr die des langsamsten und billigsten j Speichers sind. ;
Im Stand der Technik sind solche Pufferspeicher/Hauptspeicher- ·
Anordnungen für den Benutzer transparent, und die Arbeitsweise
des Pufferspeichers wird durch Steuerschaltungen gesteuert. j Wenn die CPU einen Speicherzugriff einleitet, dann wird die | hauptspeicheradresse an die Speicherhierarchie abgegeben. Die j Steuerungen adressieren eine Suchanordnung oder einen Listen- I speicher des schnell arbeitenden Pufferspeichers und bestimmen, ob die gesuchte Adresse derzeit im schnellen Pufferspeicher
liegt. Ist dies der Fall, so stehen die Daten unmittelbar für
äie CPü zur Verfügung. Liegt die angeforderte Information
derzeit nicht im Pufferspeicher, dann wird eine Zugriffs-Dperation nach dem Hauptspeicher eingeleitet. Die zur Aufnahme ier vom Hauptspeicher kommenden Information dienenden Pufferspeicherplätze werden durch eine Austauschlogik bestimmt,
lie gemäß einem vorbestimmten Algorithmus bestimmt, welche im
Pufferspeicher liegenden Daten durch die vom Hauptspeicher
commenden neuen Daten ersetzt werden sollen. Wird der Speichersugriff im Hauptspeicher eingeleitet, dann erfolgt zunächst
ier Zugriff zu dem exakt gesuchten Wort, das dann unmittelbar
an die CPU und den Pufferspeicher übertragen wird. Die im
gleichen Datenblock enthaltenen Datenworte werden ebenfalls
/om Hauptspeicher abgerufen und im Pufferspeicher abgespeichert robei sich die Größe eines solchen Datenblocks entsprechend
len Systemdaten bestimmt.
des Pufferspeichers wird durch Steuerschaltungen gesteuert. j Wenn die CPU einen Speicherzugriff einleitet, dann wird die | hauptspeicheradresse an die Speicherhierarchie abgegeben. Die j Steuerungen adressieren eine Suchanordnung oder einen Listen- I speicher des schnell arbeitenden Pufferspeichers und bestimmen, ob die gesuchte Adresse derzeit im schnellen Pufferspeicher
liegt. Ist dies der Fall, so stehen die Daten unmittelbar für
äie CPü zur Verfügung. Liegt die angeforderte Information
derzeit nicht im Pufferspeicher, dann wird eine Zugriffs-Dperation nach dem Hauptspeicher eingeleitet. Die zur Aufnahme ier vom Hauptspeicher kommenden Information dienenden Pufferspeicherplätze werden durch eine Austauschlogik bestimmt,
lie gemäß einem vorbestimmten Algorithmus bestimmt, welche im
Pufferspeicher liegenden Daten durch die vom Hauptspeicher
commenden neuen Daten ersetzt werden sollen. Wird der Speichersugriff im Hauptspeicher eingeleitet, dann erfolgt zunächst
ier Zugriff zu dem exakt gesuchten Wort, das dann unmittelbar
an die CPU und den Pufferspeicher übertragen wird. Die im
gleichen Datenblock enthaltenen Datenworte werden ebenfalls
/om Hauptspeicher abgerufen und im Pufferspeicher abgespeichert robei sich die Größe eines solchen Datenblocks entsprechend
len Systemdaten bestimmt.
3erzeit gibt es drei Verfahren zur Durchführung von Speicherjperationen.
Das sogenannte "Durchspeichern" wird in den
po 976 °01 909832/0486
j 2641041
ι
ί
meisten bestehenden Systemen benutzt. Bei diesem Verfahren werden Daten immer unmittelbar im Hauptspeicher abgespeichert iund das Pufferadressregister wird überprüft, ob der adressierte Datenblock sich derzeit im Pufferspeicher befindet. Ist der Datenblock in dem Pufferspeicher, dann können die Daten auch dort abgespeichert werden. Bei einigen Systemen, bei denen in Eingabe/Ausgabe-Operationen nur im Hauptspeicher !abgespeichert wird, wird der zugehörige Datenblock im Pufferspeicher dadurch ungültig gemacht, daß ein sogenanntes Gültigkeitsbit auf Null eingestellt wird, so daß alle folgenden 'Zugriffe zum gleichen Datenblock einen Zugriff zum Hauptspeicher mit Überführung der Daten nach dem Pufferspeicher !erforderlich machen.
ί
meisten bestehenden Systemen benutzt. Bei diesem Verfahren werden Daten immer unmittelbar im Hauptspeicher abgespeichert iund das Pufferadressregister wird überprüft, ob der adressierte Datenblock sich derzeit im Pufferspeicher befindet. Ist der Datenblock in dem Pufferspeicher, dann können die Daten auch dort abgespeichert werden. Bei einigen Systemen, bei denen in Eingabe/Ausgabe-Operationen nur im Hauptspeicher !abgespeichert wird, wird der zugehörige Datenblock im Pufferspeicher dadurch ungültig gemacht, daß ein sogenanntes Gültigkeitsbit auf Null eingestellt wird, so daß alle folgenden 'Zugriffe zum gleichen Datenblock einen Zugriff zum Hauptspeicher mit Überführung der Daten nach dem Pufferspeicher !erforderlich machen.
[Beim zweiten Verfahren wird das Pufferadressregister daraufhin
überprüft, ob der adressierte Datenblock sich derzeit im 'Pufferspeicher befindet. Ist dies der Fall, dann werden die
Daten ohne weiteres unmittelbar im Pufferspeicher abgespeichert ilst dies nicht der Fall, dann werden die Daten im Hauptspeicher
iabgespeichert.
Beim dritten Verfahren "Speichere im Pufferspeicher" werden die Daten grundsätzlich im Pufferspeicher abgespeichert. Wenn
ein Speicherbefehl nicht im Pufferspeicher liegende Daten adressiert, dann holt das System den Datenblock vom Hauptspeicher
nach dem Pufferspeicher und speichert dann die neuen Daten in dem Block im Pufferspeicher ab.
Der oben erwähnte Aufsatz beschreibt verschiedene Verfahren für eine Datenorganisation und für einen Zugriff zu solchen
Daten in einem schnell arbeitenden Pufferspeicher. Ein solches Verfahren, das auch im Zusammenhang mit der vorliegenden Erfindung
bevorzugt werden soll, ist beispielsweise in der US-Patentschrift 3 588 Ö29 der Anmelderin, die der Deutschen
!Patentanmeldung P 19 56 604.2 entspricht, beschrieben. Bei
PO 976 001
909832/0486
diesem Verfahren wird die Adresseninformation in Bücher, Seiten
und Worte unterteilt. Entsprechend der Speichergröße gibt es
eine Anzahl von Büchern mit einer Anzahl von Seiten, und jede Seite enthält eine bestimmte Anzahl von Worten. Beispielsweise
kann festgelegt sein, daß jedes Buch 128 Seiten enthält und
daß jede Seite eine vorbestimmte Anzahl von Worten enthalten soll. Ist diese Festlegung getroffen, dann steht damit fest,
daß der schnell arbeitende Pufferspeicher 128 Speicherabschnitte enthält, wobei jeder Speicherabschnitt die Anzahl der
Worte in einer Seite enthält. Den 128 Abschnitten des Pufferspeichers ist ein Listenspeicher oder eine Adressenindex-Anordnung
zugeordnet, die 128 Register enthält. Bei diesem assoziativen Zugriffsverfahren findet man die entsprechende
Seitenzahl eines jeden der vorbestimmten Anzahl von Büchern immer im gleichen Abschnitt des schnellen Pufferspeichers. Das
heißt, daß Seite 10 eines jeden Buches im Hauptspeicher immer am Speicherplatz 10 im Pufferspeicher aufzufinden ist. Das
zugehörige Register im Listenspeicher enthält dann einen Eintrag, der das bestimmte Buch kennzeichnet, zu dem diese Seite
10 gehört. Zur Feststellung, ob die angeforderten Daten im schnellen Pufferspeicher liegen, werden die die Seiten kennzeichnenden
Ädressbits zum Ansteuern des Listenspeichers und gleichzeitig damit zum Zugriff für den Pufferspeicher benutzt.
Die Eintragung im Register 10 des Listenspeichers wird mit der zugeführten Adresse verglichen und damit festgestellt, ob
der Buchwert der angelegten Adresse dem im Register eingespeicherten Buchwert entspricht. Ist dies der Fall, dann
zeigt dies, daß die angeforderte Seite 10 des angeforderten Buches die im Pufferspeicher an dieser Stelle enthaltenen Daten
darstellt.
Sind die Daten nicht in dem angeforderten Buch, dann wird die Seite 10 des angeforderten Buches vom Hauptspeicher nach dem
Pufferspeicher übertragen und im Speicherabschnitt 10 des Pufferspeichers eingefügt, und die Kennung des angeforderten
909832/0486
Buches wird dann im zugehörigen Register des Listenspeichers eingegeben.
Ein anderes Verfahren, das bereits bei Multiprozessoren Berücksichtigung
gefunden hat, ist ein sogenanntes "Volles Assoziativ-Verfahren". Bei diesem Verfahren kann der schnell
arbeitende Pufferspeicher beispielsweise mit 16 Speicherabschnitten
versehen sein. Jedem Speicherabschnitt ist ein Register zugeordnet. Die Größe eines jeden Speicherabschnitts
kann dabei für die Speicherung eines ganzen Buches ausreichen. In einem zugehörigen Register wird ein in einem bestimmten
Speicherabschnitt abgespeichertes Buch gekennzeichnet. Wenn eine Adresse zugeführt wird, dann wird der Buchadressteil mit
den Eintragungen in allen Registern verglichen, und wenn eine entsprechende Eintragung festgestellt wird, dann liegen die
gesuchten Daten in dem diesem Register zugeordneten Speicherabschnitt. Bei einem vollen assoziativen Verfahren können
vom Hauptspeicher nach dem Pufferspeicher übertragene Daten in irgendeinem der Speicherabschnitte eingespeichert werden.
Müssen Daten eingefügt werden, dann bestimmt ein Austauschalgorithmus, welcher der Abschnitte erset'zt werden soll, dann
werden neue Daten in diesen Speicherabschnitt eingespeichert, und die Kennzeichnung des Buches wird im zugehörigen Register
des Listenspeichers aufgenommen.
Ein aus dem Stand der Technik bekanntes Verfahren wurde in Verbindung mit einer Multiprozessor-Anordnung dargestellt
unter Verwendung einer voll-assoziativen Speicherung und einer Durchspeicherung. Ein Speicherschutzregister, das zum Schutz
einer vorbestimmten Datenmenge im Hauptspeicher dient, weist zusätzliche binäre Bits auf, die angeben, welcher der verschiedenen
Prozessoren Daten vom Hauptspeicher nach seinem eigenen zugeordneten Pufferspeicher abgerufen hat. Wenn ein
Prozessor Daten im Hauptspeicher unter Verwendung von Durchspeicherung
abspeichert, dann xtfird das Speicherschutzregister
P0 97δΟ01 909832/0486
jabgefragt, und wenn festgestellt wird, daß der Datenblock im
Pufferspeicher eines anderen Prozessors liegt, dann werden die Daten in dem anderen Prozessor ungültig gemacht,
ι so daß dieser Prozessor beim nächsten Mal die Daten vom Haupt-j
speicher holen muß. Dieses aus dem Stand der Technik bekannte j Verfahren ist auf eine Pufferspeicheranordnung beschränkt, bei j
der jeder Speicherabschnitt die gleiche Datenmenge enthalten j muß, wie das Speicherschutzregister dies angibt, und befaßt '
sich nicht mit einer assoziativen Pufferanordnung, noch werden jdabei die Probleme angesprochen, die bei Benutzung des I
jVerfahrens "Speichere im Puffer" auftreten. I
Die US-Patentschrift 3 735 360 beschreibt ein System mit einem
sehr schnell arbeitenden Pufferspeicher in einem Multiprozessor-System mit einem gemeinsam ausgenutzten Hauptspeicher und
einer Anzahl von Prozessoren. Jeder dieser Prozessoren enthält dabei seinen eigenen schnell arbeitenden Pufferspeicher,
einen zugeordneten Listenspeicher, der die vom gemeinsam benutzten Hauptspeicher nach dem jeweiligen schnell arbeitenden
Pufferspeicher übertragenen Daten kennzeichnet, und eine Speichersteuerschaltung für die Aufnahme von aus dem zugeordneten
Prozessor kommenden Signalen einschließlich der Adressen von aus dem gemeinsam benutzten Speicher stammenden
und zu verarbeitenden Daten sowie eines ZugriffSteuersignals, das angibt, daß die Daten für eine übertragung nach dem Prozessor
abgerufen werden sollen, oder daß der Prozessor Daten in der Operandenposition abspeichern soll.
Das System enthält dabei alle Prozessoren miteinander verbindende Schaltmittel, die eine gegenseitige Verriegelung bewirken,
in dem unter bestimmten Bedingungen von einem der Prozessoren Adressinformation an alle übrigen Prozessoren
übertragen wird, um zusätzlich zum Zugriffssteuersignal anzu- j zeigen, ob die beabsichtigte Operation ein Speicheraufruf
oder ein Speichervorgang ist oder nicht. Diese an alle übrigen
PO976001 909832/0486
Prozessoren übertragene Adresse und die Zugriffssteuersignale werde durch die Speichersteuerschaltung aller übrigen Prozessoren
dazu benutzt, den weiteren Ablauf in Verbindung mit ■den durch diesen einen Prozessor angeforderten Daten durchzuführenden
Ablauf zu bestimmen.
Die den einzelnen Prozessoren jeweils zugeordneten, schnell ,arbeitenden Pufferspeicher haben eine vorbestimmte Anzahl von
jspeicherabschnitten und ein zugeordnetes Verzeichnisregister, in dem die Adresse der dem gemeinsam ausgenutzten Hauptspeicher
entstammenden, derzeit im schnell arbeitenden Pufferspeicher abgespeicherten Daten gekennzeichnet ist. Durch verschiedene
Kombinationen von zusätzlichen binären Bits in den Registern des VerzeichnisSpeichers lassen sich verschiedene Formen der
Speicherorganisation und der Zugriffsverfahren durch die an alle übrigen Prozessoren übertragene Adresse und die Zugriffssteuerinformation
steuern, wodurch sichergestellt wird, daß jeder Prozessor nur zum jeweils neuesten Wert des im gemeinsamen
Hauptspeicher gekennzeichneten Operanden Zugriff erhält.
Wenn für jedes Verzeichnisregister nur ein zusätzliches Steuerbit vorgesehen ist, das die Gültigkeit der Daten im zugeordneten
Speicherabschnitt kennzeichnet, dann muß jeder Prozessor immer dann, wenn durch einen bestimmten Prozessor
Daten abgespeichert werden sollen, die Adresse und die Zugriffs Steuerinformation an die anderen Prozessoren übertragen.
Der Verzeichnisspeicher eines jeden Prozessors wird daraufhin abgesucht, ob sich die gleichen Daten im zugeordneten Speicher
des Prozessors befinden oder nicht. Ist dies der Fall, dann wird das Gültigkeitsbit zurückgestellt und zeigt damit an,
daß die im zugeordneten eigenen Speicher liegenden Daten nicht länger gültig sind. Ein weiteres, in den Verzeichnisregistern
vorzusehendes Bit wird als "Nur-Abrufbit" bezeichnet. Dieses Bit wird eingestellt bzw. rückgestellt und zeigt damit an,
ob die in einem dem bestimmten Prozessor zugeordneten eigenen Speicher abgespeicherten Daten nur in diesem einen Speicher
PO 976 001
909832/0486
abgespeichert sind. Das heißt, wenn ein bestimmter Prozessor
Daten aus dem gemeinsamen Hauptspeicher nach seinem eigenen Speicher abgerufen und übertragen hat, und wenn es bekannt ist,
daß dies die einzige Abspeicherung dieser Daten in einem dem Prozessor eigenen Speicher ist, dann wird dieses Nur-Abrufbit
dies kennzeichnen. In diesem Fall wäre es für eine Speicheroperation nicht erforderlich, die Adresse und die Zugriffssteuersignale an andere Prozessoren zu übertragen. Ein weiteres
binäres Bit kann in den Registern des Verzeichnisspeichers oder der Indexanordnung als ein sogenanntes Speicherbit vorgesehen
werden. Der binäre Wert dieses Bits zeigt einen Zustand an, bei dem sich die im schnell arbeitenden Speicher eines
bestimmten Prozessors abgespeicherten Daten von den im gemeinsam benutzten Speicher liegenden Daten unterscheiden. Das heißt
wenn Speicherung im Pufferspeicher benutzt wird, dann werden alle Zugriffe zu Daten durch bestimmte Prozessoren im schnell
arbeitenden Pufferspeicher einschließlich Zugriffe für die Speicherung von Daten durchgeführt. Sind die Daten nach dem
Pufferspeicher eines bestimmten Prozessors übertragen und sind diese Daten danach in dem Pufferspeicher abgespeichert,
dann wird das Speicherbit eingestellt. Wenn jedoch ein bestimmter
Prozessor die Übertragung von neuen Daten aus dem gemeinsam benutzten Hauptspeicher nach dem Pufferspeicher
für eine Speicherung oder einen Abruf anfordert, dann werden die Adresse und Zugriffssteuersignale nach den anderen Prozessoren
übertragen. Die Adressinformation der angeforderten Daten wird dann für einen Suchvorgang in den Verzeichnisspeichern
aller übrigen Prozessoren benutzt, und es wird festgestellt, ob diese angeforderten Daten in einem der den
einzelnen Prozessoren unmittelbar zugeordneten, schnell arbeitenden Pufferspeichern liegen oder ob die Daten dort eingespeichert
worden sind oder nicht. Sind die Daten durch einen anderen Prozessor eingespeichert worden, dann müssen
die Daten zunächst in ihrer modifizierten Form nach dem gemeinsam benutzten Hauptspeicher zurückübertragen werden,
PO976001 909832/0486
28410A1
so daß der die Daten anfordernde Prozessor aus dem gemeinsam benutzten Speicher die auf den neuesten Stand gebrachten Daten
erhält. Dieses Erfordernis ist nicht notwendig, wenn festgestellt wird, daß die im anderen Prozessor befindlichen Daten
nicht dort eingespeichert sind und somit die gleichen Werte aufweisen, wie die im gemeinsam benutzten Hauptspeicher liegenden
Operanden.
In einem Multiprozessor-System mit Abspeicherung im schnellen
Arbeitsspeicher ist es besonders wichtig, daß Abrufanforderungen
an den Hauptspeicher nur dann zugelassen werden, wenn der Hauptspeicher die neueste Version der angeforderten Daten
enthält. Um zu verhindern, daß ein Prozessor veraltete Daten erhält, d. h. Daten, die im Arbeitsspeicher eines andern
Prozessors bereits geändert sind, werden Abrufanforderungen
an den Hauptspeicher solange nicht bedient, bis die derzeitige Form der angeforderten Daten in dem Hauptspeicher abgespeichert
ist. Dies kann durch eine besondere Art von Schaltung erzielt werden, die veranlaßt, daß der Prozessor periodisch
seine Abrufanforderungen erneut abgibt, bis durch eine entsprechende
Anordnung im System eine Anzeige erfolgt, daß die angeforderten Daten im Hauptspeicher auf den neuesten Stand
gebracht sind. In einem typischen Fall würde die ursprüngliche Abrufanforderung dann, wenn das System dabei erkennt,
daß die angeforderten Daten im Arbeitsspeicher eines anderen Prozessors liegen, dazu benutzt werden, ein Signal nach dem
die Daten speichernden Prozessor abzugeben, damit dieser diese Daten ausspeichert und eine auf den neuesten Stand gebrachte
Version an den Hauptspeicher abgibt. Es ist dabei jedoch möglich, daß zwei oder mehr Prozessoren praktisch zur
gleichen Zeit versuchen, die gleichen Daten abzurufen, während diese Daten dabei im Arbeitspeicher eines
weiteren Prozessors liegen. Der die Daten besitzende Prozessor wird natürlich ein Signal aufnehmen, daß er diese Daten
ausspeichern soll und versuchen soll, die auf den neuesten Stand gebrachten Daten im Hauptspeicher abzuspeichern,
P0976001 9*9832/0486
~ '784TOiT"
dabei jedoch mit anderen Prozessoren in Konkurrenz geraten, die
den Abruf der gleichen Daten versuchen. Dieser nahezu gleichzeitig erfolgende Zugriff könnte eine ganz wesentliche Verzögerung
der Abspeicherung der auf den neuesten Stand zu bringenden Daten im Hauptspeicher zur Folge haben und könnte, was
durchaus denkbar ist, einen Zustand herbeiführen, wo die Gleichzeitigkeit des Speicherzugriffs den Hauptspeicher
permanent darin hindert, daß die Daten auf den neuesten Stand gebracht werden, so daß die Datenverarbeitung eingestellt wird
Aufgabe der Erfindung ist es also, einen völligen Stillstand des System zu verhindern, der dadurch entstehen könnte, daß
einerseits ein Prozessor versucht, im Hauptspeicher liegende Daten auf den neuesten Stand zu bringen, während gleichzeitig
zwei oder mehr weitere Prozessoren versuchen, diese Daten aus dem Hauptspeicher abzurufen.
Gemäß einer bevorzugten Ausführungsform der Erfindung wird die der Erfindung zugrunde liegende Aufgabe durch eine Systemsteuereinheit
(SCU) gelöst, die unter anderem den Speicherzugriff durch zwei oder mehr Prozessoren koordiniert. Die
Systemspeichereinheit enthält für jeden der zugeordneten rozessoren ein Doppel des Arbeitsspeichers-Verzeichnisses,
inen BefehlsSchlangenspeicher für den Hauptspeicher und ein
jedem Prozessor zugeordnetes Adressregister für auszuspeichernäe Adressen. Wenn immer ein Prozessor einen Zugriff zu Daten
unternimmt (Abruf oder Speichern), die bereits in eigenen Arbeitsspeichern liegen, dann beeinflußt dieser Zugriff die
SCU nicht. Versucht jedoch ein Prozessor Zugriff zu Daten zu erhalten, die nicht bereits in seinem eigenen Arbeitsspeicher
liegen, dann wird diese Zugriffsanforderung an die SCU übertragen, wo sie für nachfolgende Übertragung nach dem
Hauptspeicher in eine Warteschlange eingereiht wird. Wird
PO 976 001
909832/0486
eine Zugriffsanforderung an den Hauptspeicher übertragen, dann wird die Adresse der angeforderten Daten mit den Arbeitsspeicherverzeichnissen
in der SCU verglichen um festzustellen, ob die angeforderten Daten im Arbeitsspeicher eines andern
Prozessors liegen. Ist dies nicht der Fall, dann wird die Zugriffsanforderung zugelassen. Liegen dagegen die angeforderten
Daten im Arbeitsspeicher eines anderen Prozessors, dann wird ein Quer-Abfragesignal benutzt, das verhindert,
daß Daten aus dem Hauptspeicher nach dem Arbeitsspeicher des anfordernden Prozessors ausgelesen werden, während gleichzeitig
dem Prozessor, bei dem die gesuchten Daten im Arbeitsspeicher liegen, ein Signal abgegeben wird, diese Daten nach
dem Hauptspeicher auszuspeichern.
Die Zugriffsanforderung zum Hauptspeicher kommt dann in eine Warteschlange, bei der die zuerst eingegebenen Anforderungen
auch zuerst wieder ausgegeben werden (FIFO), wobei diese Warteschlange zu einem späteren Zeitpunkt angesteuert wird.
Eine bevorzugte Ausführungsform der Erfindung kann in einem
System verwirklicht werden, das zwei oder mehr SCUs verwendet, wobei jeder dieser SCUs zwei oder mehr Prozessoren zugeordnet
sind. Wenn in einem solchen System jede SCU nur eine Kopie der Verzeichnisse der ihr zugeordneten Prozessoren enthält,
dann muß die Adresse der vom Hauptspeicher angeforderten Daten für eine überprüfung gegen alle Verzeichnisse an jede
SCU übertragen werden, um festzustellen, ob die angeforderten Daten innerhalb eines Arbeitsspeichers eines der Prozessoren
liegen. Die Erfindung schafft auch eine Koordination, wenn mehr als eine SCU Zugriff zum Hauptspeicher wünscht.
Der wesentlichste Vorteil der Erfindung ist darin zu sehen, daß dadurch eine ordentliche Folge von Zugriffen zum Hauptspeicher
ermöglicht wird, während gleichzeitig ein Systemstillstand vermieden wird.
PO 976 001
909832/0486
Die Erfindung wird nunmehr anhand von Ausführungsbeispielen in Verbindung mit den beigefügten Zeichnungen im einzelnen
erläutert werden.
In den Zeichnungen zeigt
. 1 ein Blockschaltbild eines System unter Verwendung der wesentlichsten Teile der Erfindung,
Fig. 2 ein Blockschaltbild zur Darstellung von Teilen
der Systemsteuereinheit (SCU) gemäß der Erfindung ,
Fig. 3 Teile der SCU, die für die Erfindung von
besonderer Bedeutung sind,
Fi.g 4 die Organisation der SCU für die Ablauffolge,
5 eine logische Schaltung zum Peststellen des Status innerhalb der SCU,
Fig. 6 die logische Schaltung zum Auswählen von Befehlen aus der Befehlsschlange der SCU,
. 7 ein System unter Verwendung von mehreren SCUs,
?ig. 8 eine Anordnung für die Koordination mehrerer
SCUs und
f. 9 . eine Logische Schaltung für den Bedienungsablauf der Prozessoren durch eine SCU.
E1Ig. 1 zeigt ganz allgemein die Umgebung, in der die Erfindung
Anwendung finden kann. Im System zu benutzende Operanden sind
Ln einem gemeinsam benutzten Hauptspeicher 10 enthalten.
PO 976 001
909832/0486
Zugriff zu diesen Operanden haben eine Reihe von Datenprozessoren 11 und 12. Jeder der Prozessoren steuert die gewünschten
Operanden im gemeinsam benutzten Speicher 10 über Adressleitungen 13 bzw. 14 an. Die Prozessoren 11 und 12
haben ihre eigenen schnellen Arbeitsspeicher 15 und 16 sowie Datenleitungen 17 bzw. 18 für die Übertragung von Daten
zwischen den Prozessoren und dem jeweiligen Arbeitsspeicher. Eine Zugriffsanforderung zu Speicherplätzen von Operanden,
die auf den Adressleitungen 13 oder 14 bezeichnet sind, werden über Zugriffssteuerleitungen 19 und 20 angezeigt. Adresssteuersignale
geben dabei an, daß der Prozessor zum Speicherplatz eines Operanden Zugriff zu erhalten wünscht, entweder
um einen Operanden nach dem Prozessor abzurufen oder aber, um aus dem Prozessor kommende Daten nach dem angesteuerten
Speicherplatz zu übertragen.
Die über Adressleitungen 13 und 14 übertragene Adressinformation
wird einer örtlichen Speichersteuerung 21 bzw. 22 zugeführt, die bestimmt, ob die angeforderten Daten im eigenen
Arbeitsspeicher 15 oder 16 des zugeordneten Prozessors 11
bzw. 12 abgespeichert sind, ist dies der fall, dann werden
die Daten unmittelbar über die Datenleitungen 17 oder 18 übertragen.
Stellt die Speichersteuerung 21 oder 22 fest, daß die angeforderten Daten nicht in den Arbeitsspeichern 15 oder
16 liegen, dann wird über Steuerleitung 23 oder 24 eine Anforderung
abgegeben, die die Übertragung der Daten vom gemeinsam benutzten Hauptspeicher 10 über Speicherdatenleitungen
oder 26 nach dem Arbeitsspeicher 15 oder 16 einleitet.
Ob <ä£o aage£©2<äe£fee& Datssi in dem jeweiligen Arbeitsspeicher
iogoa eäQS &&©hfeff i-Jisdl etaseh ©iaen S^etaioehanisHius mit den
27 mtS. 28
wisd ©ia© SjofcemsfcGuesuiag (SCO) 29
<ä,io Qieh®SBtQllt,ο <äaß joäQr Peos©ss©s wax solche
aastouoetj, on dosea die sulGtst
PO 2>7β 001
10S832/048
gültige Fassung des Operanden abgespeichert ist, da jeder der Prozessoren unabhängig von den anderen die Werte eines
Operanden verändern kann. Die SCU 29 koordiniert außerdem die Speicherzugriffe der Systemprozessoren. Die SCU enthält
dabei eine Kopie eines jeden Verzeichnisses 27 und 28, so daß überprüft werden kann, ob Daten aus einer gegebenen Hauptspeicherposition
in einem der Arbeitsspeicher 15 oder 16 liegt.
In Fig. 2 sind weitere Einzelheiten der SCU 29 (Fig. 1) gezeigt.
Insbesondere zeigt Fig. 2 die Teile der SCU, die sie befähigen, mit den Prozessoren zu verkehren und den Hauptspeicherzugriff
durch die Prozessoren zu steuern. Nachdem die im Prozessor liegenden Schaltungen bestimmt haben, daß
die bei einer Speicherzugriffsanforderung angeforderten Daten nicht im Arbeitsspeicher dieses Prozessors liegen, wird
die Speicherzugriffsanforderung an ein Speichereingaberegister PIR 31 in der SCU übertragen. Während des nächsten Maschinenzyklus
wird der vom Prozessor aufgenommene Befehl über Leitung 32 nach einem Speichereingangsregister SIR 33 übertragen,
von wo aus das Hauptspeichermodul BSM adressiert wird. Gleichzeitig mit dieser letztgenannten Datenübertragung wird
der im PIR 31 liegende Befehl über Leitung 34 nach einem Quer-Abfrageregister XIR 35 und an einen Speicherbefehlspuffer
MCB 36 und in einen Befehlsschlangenspeicher 37 übertragen. Der in XIR 35 liegende Befehl dient zum Abfragen der Verzeichniskopien
38, die in der SCU für jeden dieser zugeordneten Prozessoren unterhalten wird. Besteht keine Übereinstimmung
zwischen dem Inhalt von XIR 35 und einer der Verzeichniskopien 38, dann wird der Hauptspeicher die angeforderten Daten nach
dem Arbeitsspeicher des anfordernden Prozessors über das Speicherausgangsregister SOR 39 und das Prozessor-Ausgangsregister
POR 40 übertragen. In der bevorzugten Ausführungsform der Erfindung findet die Übertragung vom Hauptspeicher
nach dem Arbeitsspeicher immer in Form einer Seite statt, die aus 16 Doppelworten besteht.
po 976 001 9 0 9 8 3 2/0486
Besteht Übereinstimmung mit dem Inhalt von XIR 35 mit einer Eintragung in einem der Verzeichnisse 38, dann gibt eine
der Vergleichsstufen 41 über Leitung 42 ein Signal ab, das eine positive Quer-Abfrage Da Das die SCU ein Verzeichnis für
den Arbeitsspeicher eines jeden Prozessors enthält, kann sie feststellen, welcher Prozessor die Daten in seinem Arbeitsspeicher
gespeichert hält. Dieser Prozessor erhält dann ein Signal, das ihn auffordert, durch Rückspeicherung in den
Hauptspeicher die durch einen anderen Prozessor gewünschten Daten auszuspeichern. Dieses Querabfragesignal wird auch
dazu benutzt, ein Wartebit in dem Befehl einzustellen, der die Quer-Abfrage veranlaßte, um damit zu verhindern, daß die aus
dem Hauptspeicher ausgelesenen Daten nach dem anfordernden Prozessor übertragen werden. Dies ist deshalb notwendig, da
zur Verbesserung des Systemwirkungsgrads in der bevorzugten Ausführungsform ein Speicherzugriff nach dem BSM eingeleitet
wird, so bald ein Befehl in das SIR 33 eingelesen wird.
Der Prozessor, der eine Ausspeicherung durchführen soll, wird dann für eine Übertragung von Daten aus seinem Arbeitsspeicher
nach dem Hauptspeicher einen Speicherbefehl abgeben. Wenn der Prozessor ein die Ausspeicherung von Daten und die Rückspeicherung
dieser Daten im Hauptspeicher anordnendes Signal aufgenommen hat, dann muß das mit diesem Prozessor verbundene
Verzeichnis berichtigt werden, da der Prozessor diese Daten nicht länger gespeichert hält. Solange jedoch der Speichervorgang
nicht erfolgreich abgeschlossen ist, kann kein anderer Prozessor für diese Daten im Hauptspeicher Zugriff erhalten.
Zur Durchführung dieser Funktionen muß diejenige Eintragung in einem der Verzeichnisse 38 des zugehörigen Prozessors,
welche ausgespeichert werden soll, nach dem Ausspeicherregister COR 43 übertragen werden. COR 43 ist eine Vergleichsstufe 44 zugeordnet, die ein Eingangssignal von COR 43 und
ein anderes Eingangssignal von XIR 35 (vorzugsweise über Verzeichnisregister 64) aufnimmt. Die Vergleichsstufe 44 kann
P0 976001 909832/048B
dann ein Quer-Abfragesignal erzeugen, wenn ein Prozessor einen
Zugriff zu einem solchen Abschnitt des Hauptspeichers versucht, der noch nicht vom Arbeitsspeicher eines anderen Prozessor
ausgespeichert worden ist, obwohl dieser letztgenannte Prozessor diese Daten nicht mehr im ausschließlichen Besitz hat.
Das durch die Vergleichsstufe 44 erzeugte Quer-Abfragesignal
wird in genau der gleichen Weise benutzt, wie ein durch eine der Vergleichsstufen 41 erzeugtes Quer-Abfragesignal, jedoch
mit der Ausnahme, daß das durch die Vergleichsstufe 44 erzeugte Signal kein Ausspeichersignal erzeugen wird. Nachdem
die Ausspeicherung durch übertragung der Daten von einem Arbeitsspeicher des Prozessors nach dem Hauptspeicher abgeschlossen ist, werden alle Wartekennzeichen von im MCB 36
liegenden Befehlen zurückgestellt, und es wird vom MCB 36 über Leitung 45 nach PIR 31 ein Befehl übertragen, daß die
Befehlsverarbeitung erneut versucht werden kann.
Pig. 3 zeigt eine vereinfachte Darstellung von Teilen der SCU, die solche Teile der SCU getrennt darstellt und besonders hervorhebt, die für die Erfindung von besonderer Wichtigkeit sind. Ein vom Prozessor kommender Befehl läuft nach
PIR 31 und wird von dort in einen Befehlsschlangenspeicher eingesetzt und dann über Leitung 34 an den Hauptspeicher
abgegeben. Zur gleichen Zeit wird die Adresse des Befehls im PIR 31 nach den Vergleichsstufen 41 übertragen um festzustellen, ob die angeforderten Daten im Arbeitsspeicher eines
anderen Prozessors gehalten sind, wie dies durch eines der Verzeichnisse 38 angezeigt würde, und diese Adresse wird
außerdem nach den Vergleichsstufen 44 übertragen um festzustellen, ob diese Adresse eine der Adressen im Ausspeicherregister 43 ist. Der als Verzeichnis 38 arbeitende Vier-Weg-Aesoziativspeicher wird durch das Adressregister 46
»dressiert, dem der Teil niedriger Ordnung der Adresse des
976 001 909832/0486
Befehls in PIR 31 zugeleitet wird. Ist die Quer-Abfrage negativ
verlaufen, dann wird der Speicherzugriff bis zu seiner
Erledigung ablaufen, ist jedoch die Quer-Abfrage positiv verlaufen,
dann erzeugt eine der Vergleichsstufen 41 oder 44 ein Signal, das verhindert, daß die Daten vom Hauptspeicher nach
dem anfordernden Prozessor übertragen werden. Dabei wird das Wartebit des entsprechenden Befehls eingestellt und der Prozessor
wird benachrichtigt, dessen Arbeitsspeicher die Daten enthält, daß diese Daten ausgespeichert werden müssen (wenn
allerdings die positive Quer-Abfrage durch eine der Vergleichsstufen 41 erzeugt wurde). In einem nachfolgenden Zyklus wird
ein Befehl aus dem Befehlsschlangenspeicher 37 in PIR 31 eingesetzt und die soeben beschriebene Folge läuft erneut ab.
In Fig. 4 ist die Anordnung gezeigt, durch die die Befehlsschlange nach dem Prinzip "zuerst rein, zuerst raus" (FIFO)
betrieben wird. Jedem der Befehle in der Befehlsschlange ist
ein Kennzeichnenregister zugeordnet, das den Status des Befehls betreffende Information enthält, wie dies weiter unten
besprochen wird. Jedes Kennzeichenregister enthält ein Sültigkeitsbit, das anzeigt, ob der zugeordnete Befehl gültig
ist, d. h. ob er noch abgearbeitet werden muß. In dieser bevorzugten Ausführungsform enthält die Befehlsschlange
8 Befehlspositionen, und es gibt daher auch 8 Kennzeichenregister 0, 1, 2, 3, 4, 5, 6 und 7. Von der Gültig-Position
sines jeden Kennzeichenregisters wird ein Signal nach einem abrufmechanismus 45 übertragen, der eine Anzeige für die
nächste freie Adresse in der Befehlsschlange liefert. Tatsächlich,
wie sich dies aus der nachfolgenden Beschreibung loch ergibt, könnte die nächste freie Adresse aus den freien
Adressen der Befehlsschlange beliebig ausgewählt werden»
En der bevorzugten Ausführungsform wird ein Abrufmechanismus
aenutzt, der willkürlich die Befehlsschlangen-Adresse mit
ler niedrigsten Nummer als die nächste frei® Adresse auswählt«.
3iese Adresse, die duseh den Ort eines einzigen Bit in
P0 976001 909832/0488
- Δλ -
einem 8-Bit-Byte dargestellt ist, wird nach einem Befehlskennzeichen-Adressregister
46 übertragen und läuft von dort nach einem Codierer 47, der die Adresse in eine 3-Bit-Adresse
codiert. Diese Adresse wird über Leitung 48 zur Adressierung des Befehlsschlangenspeichers 37 und des zugehörigen Kennzeichenregisters
über das in Fig. 3 gezeigte Adressregister 49 adressiert. Diese Adresse wird außerdem in die oberste Position
(Pos. O) eines Kellerspeichers 50 (LIFO = Last in First out) eingegeben, der aus acht 4-Bit-Registern besteht.
Jedes Register im Kellerspeicher 50 hält eine oben beschriebene 3-Bit-Adresse und ein Kennzeichenbit F, das anzeigt, daß die j
Eintragung gültig ist. Der Kellerspeicher 50 ist so ausgelegt, ■
äaß jedesmal dann eine Verschiebung nach unten erfolgt (d. h. j in Richtung auf das unterste Register Nr. 7), wenn irgendeine !
aiedrigere Position (d. h. niedrigere Nummern einer Register- \
i position mit Register Nr. 7 als die niedrigste und Register j
tfr. 0 als die höchste Position) keine durch ein Kennzeichenbit (
angezeigte gültige Eintragung enthält. Auf diese Weise zeigen lie Register des Kellerspeichers 50 die gültige Eintragungen
änthalten, die Reihenfolge an, in der die Befehle in den Be-Eehlsschlangenspeicher
37 (Fig. 3) eingespeichert worden sind, biegt im Register 7 des Kellerspeichers 50 eine Eintragung,
dann enthält diese Eintragung die Adresse desjenigen Befehls in lern Befehlsschlangenspeicher 37, welcher am längsten in der Be-Eehlsschlange
wartet. Das Register 0 enthält dann, wenn darin äine gültige Eintragung eingespeichert ist, die Adresse des
suletzt in die Befehlsschlange eingespeicherten Befehls. So, ixe die Befehle in der Befehlsschlange abgearbeitet werden,
!nüssen die entsprechenden Eintragungen im Kellerspeicher unjültig
gemacht werden. Sie werden dabei nach Abarbeitung (oder früherer Beendigung) eines Befehls ungültig gemacht.
Dieses Ungültig- (oder Rückstell-) Signal wird über Leitung 6 6 von der Abruf- oder Abspeichersteuerung oder von der Fehler-Logik
(nicht gezeigt) aufgenommen.
po 976 °01 909832/0488
28 4TWI
Fig. 5 zeigt zusätzliche Einzelheiten der den Befehlen in der Befehlsschlange zugeordneten Kennzeichenregister. Jedes dieser
Register enthält eine den Status des zugeordneten Befehls kennjzeichnende
Information. Die Kennzeichenregister in Fig. 5 zeigen sieben Statusbits: Die Gültigkeitsbits VAL zeigen an,
daß der zugehörige Befehl noch nicht ausgeführt ist, d. h.,
daß nach Durchführung des Befehls das Bit VAL zurückgestellt wird; das Bit CHKD wird nach Durchführung einer Quer-Abfrage
eingestellt, wenn dabei kein Ergebnis erzielt ist. Das Bit ISS zeigt an, daß der zugehörige Befehl an den Speicher abgegeben
worden ist. Das Bit CNCL wird dann eingestellt, wenn eine Quer-Abfrage positiv verlaufen ist, so daß ein ausgegebener
Befehl gelöscht wird. Das Bit MC zeigt eine Maschinenprüfung an. Das Bit HLD wird dann eingesetzt, wenn eine
iQuer-Abfrage ohne Ergebnis bleibt und der Speicher für eine Datenübertragung bereit ist, aber der Prozessor derzeit belegt
ist. Das Warten-Bit wird eingestellt, wenn eine Quer-Abfrage mit Erfolg durchgeführt ist, und wird durch ein
Ausspeichersignal zurückgestellt, nachdem die Daten vom Arbeitsspeicher des Prozessors an den Hauptspeicher zurückübertragen
sind.
Fig. 5 zeigt außerdem eine Prüfung, ob der Hauptspeicher belegt ist oder nicht. Auf diese Weise werden die Leitungen
aller Hauptspeichermoduls (in der bevorzugten Ausführungsform sind dies 16) ständig überwacht. Eine Gruppe von 8 Registern
52, die logisch als Erweiterung der Kennzeichenregister 51 angesehen werden können, enthält für jeden zugeordneten
Befehl eine 4-Bit BSM-Adresse. Jede BSM-Adresse wird durch einen der Decodierer 53 in einen 1-aus-16
Code decodiert, der den Teil des BSM darstellt, der adressiert wird. Jeder der Decodierer 53 steuert eine Gruppe von UND-Sliedern
54 an (es ist jeweils eine Gruppe von UND-Gliedern für jeden der 8 Decodierer vorgesehen), wobei diesen UND-Gliedern
außerdem Eingangssignale von den 16 BSM über die
PÜ976001 909832/0486
Belegt-Leitungen zugeführt werden. Wenn somit ein Befehl an einem Speicherplatz QN versucht, einen belegten BSM zu
adressieren, dann wird die UND-Bedingung für die Leitung "QN belegt BSM" befriedigt, so daß auf dieser Leitung für diesen
bestimmten Befehl ein Belegt-Signal erzeugt wird.
Fig. 6 zeigt die Einzelheiten der logischen Schaltung zum Auswählen der Befehle aus der Befehlsschlange. Die jedem
Kennzeichenregister (51, Fig. 5) zugeordneten Kennzeichen
werden dem UND-Glied 55 zugeführt. Die in jedem der Register 0 bis 7 des Kellerspeichers (Fig. 4) enthaltene 3-Bit Adresse
wird dem zugeordneten Decodierer 56 zugeleitet. Für jedes der Register im Kellerspeicher 50 (Fig. 4), welches eine durch
das Kennzeichen F gekennzeichnete gültige Eintragung enthält, wird die 3-Bit-Adresse (durch PDRn DCD für das Register n)
in ein 1-aus-8 Signal decodiert, das anzeigt, in welchem der 8 Befehlsschlangenregister der zugeordnete Befehl liegt.
Wegen der Art der Steuerung der FIFO-Befehlsschlange durch den
Kellerspeicher 50 (Fig. 4) enthält das Register 7, wenn es eine gültige Eintragung enthält, die Adresse desjenigen Befehls,
der am längsten in der Befehlsschlange liegt. Wenn der an der durch das Register 7 gekennzeichnete Befehlsschlangenadresse
liegende Befehl für eine Ausgabe bereitsteht, jedoch noch nicht ausgegeben ist, dann liefert eines der UND-Glieder
57 auf Leitung 58 ein Signal PD REG 7 RDY, das gemäß Fig. 4 bewirkt, daß die im Register 7 liegende Adresse nach der
Adressleitung 49 der Befehlsschlange übertragen wird, so daß der am längsten in dem Befehlsschlangenspeicher 37 liegende
Befehl nach dem PIR 31 übertragen wird und von dort nach dem Hauptspeicher gelangt, vorausgesetzt daß eine Quer-Abfrage
durchgeführt wird, wie dies oben beschrieben ist. Tritt auf der Leitung PD REG 7 RDY kein Signal auf (weil das Register 7 keine
gültige Eintragung enthält, oder weil das durch das dieser Eintragung zugeordnete Kommando adressierte BSM belegt war, oder
weil der Befehl nicht gültig war, oder weil eine zuvor
PO976001 909832/0486
durchgeführte Quer-Abfrage das Wartebit eingestellt hat oder weil der Befehl ohne Löschung bereits ausgegeben worden war),
dann tritt wegen der Inverterstufe 60 auf der Leitung 59
ein positives Signal auf. Dann können die Bedingungen für eines der UND-Glieder 61, die sowohl durch ein UND-Glied 5 5
als auch über eine vom Decodierer PDR 6 DCD kommende Leitung angesteuert werden, befriedigt werden und ein Signal PD REG
RDY abgeben, so daß der im Register 6 des Kellerspeichers gekennzeichnete Befehl der Befehlsschlange nach dem PIR 31
ausgelesen wird. Man sieht also, daß die Schaltung in Fig. ein Prioritätsnetzwerk bildet, das bewirkt, daß der am
längsten in der Befehlsschlange liegende Befehl, der den entsprechenden
Status hat, nach dem Prozessor für eine mögliche Durchführung ausgelesen wird.
Wie in Fig. 7 angedeutet, läßt sich die Erfindung in einem System mit mehr als einer SCU, wie zum Beispiel mit einer
SCU A 62 und einer SCU B 63 einsetzen, wobei jeder SCU zwei Dder mehr Prozessoren zugeordnet sind, und diese SCUs eine
gemeinsame Steuerung gegenüber dem gemeinsam ausgenutzten Hauptspeicher 10 ausüben. Bei einer derartigen Anordnung
tann jede SCU genauso aufgebaut sein, wie beschrieben, lur mit der Ausnahme, daß die Quer-Abfrage innerhalb einer
3CU auch nach der anderen SCU übertragen werden muß, so daß alle Verzeichnisspeicher abgefragt werden können. Wie bereits
aus Fig. 2 zu erkennen, ist eine der Eingangsleitungen nach
lern Quer-Abfrageregister XIR 35 mit SCU B bezeichnet. Dies Lst vorgesehen, damit eine nach dem Hauptspeicher gerichtete
Ln einer anderen SCU eingeleitete Zugriffsanforderung eine 2uer-Abfrage bewirken kann, die nach dieser (in Fig. 2 gezeigten)
SCU gerichtet ist. In gleicher Weise werden über die leitung SCU B, die am Ausgang von XIR 35 angeschlossen ist,
befehle an das Quer-Abfrageregister einer anderen SCU über- :ragen, so daß die dort befindlichen Verzeichnisse einer
2uer-Abfrage unterworfen werden können. Der Fachmann wird
909832/0486
dabei sofort feststellen, daß diese Ergebnisse der Quer-Ab- j fragen natürlich auch zwischen den verschiedenen SCüs über- ι
tragen werden müssen. Die Querverbindung zwischen den SCüs
ist in Fig. 7 durch die Leitung 64 angedeutet.
ist in Fig. 7 durch die Leitung 64 angedeutet.
In der bevorzugten Ausführungsform, wenn mehr als eine SCU !
verwendet wird, ist eine Schaltung vorgesehen, die die Zugriff et
durch mehrere SCüs koordiniert. Fig. 8 zeigt dabei eine J einfache logische Schaltung, die in jeder der beiden SCüs !
für diesen Zweck vorgesehen werden kann. ·
Fig. 9 zeigt eine logische Schaltung für eine geordnete Be- |
dienung von 3 Prozessoren A, B und C. Das logische Netzwerk \
besteht aus UND-Gliedern, Verriegelungsschaltungen (V.S.), ;
Inverterstufen (N) und einem ODER-Glied. Wenn alle Anforderun- \
gen zur gleichen Zeit ankommen, dann ist die Prioritäts- ;
reihenfolge A, dann B, dann C. Wenn nach Bedienung von A sich j
dieser Prozessor erneut meldet, während B und C noch warten, !
dann wird A nicht bedient werden, bevor nicht B und C bedient j
worden sind. Wenn B und C gleichzeitig anfordern und warten j und A dann ankommt, bevor B und C bedient sind, dann ist
die Priorität der Bedienung B, dann A, dann C. Wenn A und B
zum gleichen Zeitpunkt ankommen und A bedient ist und mit C
wiederkommt, bevor B bedient ist, dann ist der Prioritätsablauf B, dann A, dann C.
die Priorität der Bedienung B, dann A, dann C. Wenn A und B
zum gleichen Zeitpunkt ankommen und A bedient ist und mit C
wiederkommt, bevor B bedient ist, dann ist der Prioritätsablauf B, dann A, dann C.
Dem Fachmann leuchtet ohne weiteres ein, daß die Anzahl der
einer SCU zugeordneten Prozessoren und die Anzahl der SCUs
in einem System den Anforderungen entsprechend verschieden
sein kann. Im vorhergehenden wurden Systeme mit einer und
mit zwei SCUs beschrieben, es könnten jedoch auch drei oder
mehr SCüs verwendet werden. Es könnten außerdem jeder
SCU vier oder mehr Prozessoren zugeordnet sein.
einer SCU zugeordneten Prozessoren und die Anzahl der SCUs
in einem System den Anforderungen entsprechend verschieden
sein kann. Im vorhergehenden wurden Systeme mit einer und
mit zwei SCUs beschrieben, es könnten jedoch auch drei oder
mehr SCüs verwendet werden. Es könnten außerdem jeder
SCU vier oder mehr Prozessoren zugeordnet sein.
M976O°1 909832/0486
Leerseite
Claims (5)
- PATENTANSPRÜCHE'/l. Datenverarbeitungsanlage mit mindestens zwei mit einem schnellen Arbeitsspeicher ausgerüsteten Prozessoren, einem allen Prozessoren gemeinsamen Hauptspeicher und einer Systemsteuerung für die Koordinierung von Hauptspeicherzugriffen der einzelnen Prozessoren, und den jeweiligen schnellen Arbeitsspeicher eines Prozessors mit dem Prozessor, der Systemsteuerung und dem Hauptspeicher verbindenden Anforderungs-, Adress-Daten- und Steuerleitungen (13, 14; 17, 18; 19, 20; 25, 26; 23, 24), wobei jedem Arbeitsspeicher eines jeden Prozessors eine Speichersteuerung und ein Verzeichnisspeicher zugeordnet ist, in dem die in dem zugehörigen Arbeitsspeicher liegenden Daten erfaßbar sind, dadurch gekennzeichnet, daß in der Systemsteuerung (SCU) eine Quer-Abfrageschaltung (PIR 31, SIR 33, XIR 35, 38) für eine Abfrage der Verzeichnisspeicher (27, 28) aller zugeordneter Prozessoren (11, 12) vorgesehen ist,daß ferner eine Vergleichsschaltung (41) vorgesehen ist, die bei einem Vergleich der im Verzeichnisspeicher (27, 28) der jeweils anderen Prozessoren liegenden Adressen von im Arbeitsspeicher liegenden Daten mit den Adressen der angeforderten Daten ein Signal abgibt, das eine Rückübertragung dieser Daten über ein Rückspeicherregister (COR 43) nach dem Hauptspeicher (10) veranlaßt, daß für die zeitweilige Abspeicherung von Datenzugriffsanforderungen ein Speicherbefehlspuffer (36) und ein Befehlsschlangenspeicher (37) vorgesehen sind unddaß eine Folgesteuerung für den Befehlsschlangenspeicher (37) vorgesehen ist, so daß Zugriffsanforderungen, die sich auf die angeforderten Daten beziehen, aus dem Speicherbefehlspuffer nach dem Prinzip "zuerst rein, zuerst raus" (FIFO) ausgegeben werden.
- 2. Anlage nach Anspruch 1, dadurch gekennzeichnet, daß eine Prioritätsschaltung (50, Fig. 4, Fig. 6) vorgesehen ist, durch die feststellbar ist, weiche Position in dem Befehlsschlangenspeicher am längsten durch eine gültige Zugriffsanforderung belegt ist.PO 976 001909832/0486 ORIGINAL INSPECTED28A1041j j
- 3. Anlage nach Anspruch 2, dadurch gekennzeichnet,daß die Folgesteuerung einen Kellerspeicher (50) und eine entsprechende Anzahl von Speicherregistern (PDReg 0 bis PDReg 7) zur Speicherung derjenigen Speicherstellen in dem Befehlsschlangenspeicher (37) aufweist, welche für eine Speicherung von Datenzugriffsanforderungen verfügbar sind,daß eine Schaltung (45, 46, 47) für die Auswahl verfügbarer Speicherplätze für Datenzugriffsanforderungen in dem Befehlsschlangenspeicher (37) vorgesehen ist und ; daß durch die Speicherregister (PDReg) in Verbindung mit von einem der Befehlsschlange zugeordneten Kennzeichenregister (51) kommenden Startsignalen die den Speicherzugriffsanforderungen zugewiesenen Speicherplätze in der Befehlsschlange feststellbar sind. ;
- 4. Anlage nach Anspruch 3, dadurch gekennzeichnet,daß für die Überwachung der den Hauptspeicher (10) bildenden ;Speichermoduls (BSM) den Kennzeichenregistern (51) zugeordnete Speichermodul-Adressregister (52) vorgesehen sind, die jeweils mit einem zugeordneten Decodierer (54) verbunden sind, idaß für die Feststellung, ob eines der Speichermoduln belegt ist, j eine Gruppe von UND-Gliedern vorgesehen ist, die zur Erzeugung einer Belegt-Anzeige durch den entsprechenden Decodierer (54) und ein Hauptspeicher-Modul-Belegtsignal ansteuerbar sind, wodurch !die Ansteuerung eines belegten Hauptspeichermoduls durch eine |Speicherzugriffsanforderung gesperrt wird, jdaß bei Beendigung der Rückspeicherung der Daten aus dem Arbeitsspeicher des Prozessors nach dem Hauptspeicher (10) ein Signal abgegeben wird unddaß eine auf dieses Signal und eine "Nicht-Belegt" Bedingung eines Hauptspeichermoduls ansprechende Schaltung vorgesehen ist, die eine Übertragung der ältesten in der Befehlsschlange (37) liegenden Speicherzugriffsanforderung nach dem nicht-belegten Hauptspeichermodul veranlaßt.PO 976 001909832/0486
- 5. Anlage nach Anspruch 4, dadurch gekennzeichnet, daß der Kellerspeicher (50) die Adressen der Speicherplätze in der Befehlsschlange enthält unddaß dabei die Reihenfolge der Adressen in dem Kellerspeicher einen Hinweis für die Reihenfolge liefert, mit der Zugriffsanforderungen in der Befehlsschlange abgespeichert wurden.Anlage nach Anspruch 5, dadurch gekennzeichnet, daß der Kellerspeicher (50) eine Anzahl Speicherregister (51) enthält, in denen jeweils die Adresse eines Speicherplatzes in der Befehlsschlange und ein Kennzeichen abgespeichert ist, das anzeigt, ob die Befehlsschlange eine noch nicht ausgeführte Speicherzugriffsanforderung gespeichert hält unddaß dieses Kennzeichen nach Durchführung der an dem angegebenen Speicherplatz in der Befehlsschlange liegenden Speicherzugriffsanforderung rückstellbar ist, worauf die in dem Kellerspeicher noch eingespeicherten Eintragungen um eine Stelle nach oben verschoben werden.Anlage nach Anspruch 2, dadurch gekennzeichnet, daß der Befehlsschlangenspeicher (37), also "FIFO"-Speicher und der dazugehörige Kellerspeicher (50) mit seinen Speicherregistern (PD 0 - PD 7) als 11LIFO" Speicher ausgebildet sind und daß durch die Zuordnung der einzelnen Stufen der beiden Speicher zueinander die am längsten im Befehlsschlangenspeicher eingespeicherte Speicherzugriffsanforderung ableitbar ist.PO 976 001909832/0486
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/840,070 US4136386A (en) | 1977-10-06 | 1977-10-06 | Backing store access coordination in a multi-processor system |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2841041A1 true DE2841041A1 (de) | 1979-08-09 |
Family
ID=25281374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19782841041 Ceased DE2841041A1 (de) | 1977-10-06 | 1978-09-21 | Datenverarbeitungsanlage mit mindestens zwei mit einem schnellen arbeitsspeicher ausgeruesteten prozessoren |
Country Status (6)
Country | Link |
---|---|
US (1) | US4136386A (de) |
JP (1) | JPS5459047A (de) |
DE (1) | DE2841041A1 (de) |
FR (1) | FR2405515B1 (de) |
GB (1) | GB1555300A (de) |
IT (1) | IT1174447B (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0028335A1 (de) * | 1979-11-06 | 1981-05-13 | International Business Machines Corporation | Multiprozessorsystem mit Ein-/Ausgabe-Unterbrechungsbehandlungsmechanismus |
Families Citing this family (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5849945B2 (ja) * | 1977-12-29 | 1983-11-08 | 富士通株式会社 | バツフア合せ方式 |
US4228503A (en) * | 1978-10-02 | 1980-10-14 | Sperry Corporation | Multiplexed directory for dedicated cache memory system |
US4488217A (en) * | 1979-03-12 | 1984-12-11 | Digital Equipment Corporation | Data processing system with lock-unlock instruction facility |
US4293910A (en) * | 1979-07-02 | 1981-10-06 | International Business Machines Corporation | Reconfigurable key-in-storage means for protecting interleaved main storage |
FR2472232B1 (fr) * | 1979-12-14 | 1988-04-22 | Honeywell Inf Systems | Dispositif et procede d'effacement d'antememoire |
US4322795A (en) * | 1980-01-24 | 1982-03-30 | Honeywell Information Systems Inc. | Cache memory utilizing selective clearing and least recently used updating |
US4345309A (en) * | 1980-01-28 | 1982-08-17 | Digital Equipment Corporation | Relating to cached multiprocessor system with pipeline timing |
US4323990A (en) * | 1980-02-04 | 1982-04-06 | Mobil Oil Corporation | Seismic exploration system |
US4399506A (en) * | 1980-10-06 | 1983-08-16 | International Business Machines Corporation | Store-in-cache processor means for clearing main storage |
US4394731A (en) * | 1980-11-10 | 1983-07-19 | International Business Machines Corporation | Cache storage line shareability control for a multiprocessor system |
DE3176632D1 (en) * | 1980-11-10 | 1988-03-03 | Ibm | Cache storage hierarchy for a multiprocessor system |
US4425615A (en) | 1980-11-14 | 1984-01-10 | Sperry Corporation | Hierarchical memory system having cache/disk subsystem with command queues for plural disks |
US4513367A (en) * | 1981-03-23 | 1985-04-23 | International Business Machines Corporation | Cache locking controls in a multiprocessor |
US4445171A (en) * | 1981-04-01 | 1984-04-24 | Teradata Corporation | Data processing systems and methods |
US4499535A (en) * | 1981-05-22 | 1985-02-12 | Data General Corporation | Digital computer system having descriptors for variable length addressing for a plurality of instruction dialects |
JPS5856277A (ja) * | 1981-09-29 | 1983-04-02 | Toshiba Corp | 情報処理装置ならびに方法 |
JPS6145272B2 (de) * | 1981-12-04 | 1986-10-07 | Burroughs Corp | |
US4803655A (en) * | 1981-12-04 | 1989-02-07 | Unisys Corp. | Data processing system employing a plurality of rapidly switchable pages for providing data transfer between modules |
US4442487A (en) * | 1981-12-31 | 1984-04-10 | International Business Machines Corporation | Three level memory hierarchy using write and share flags |
AU542447B2 (en) * | 1982-02-27 | 1985-02-21 | Fujitsu Limited | System for controlling key storage unit |
DE3376590D1 (en) * | 1982-04-28 | 1988-06-16 | Int Computers Ltd | Data processing system |
US4587609A (en) * | 1983-07-01 | 1986-05-06 | Honeywell Information Systems Inc. | Lockout operation among asynchronous accessers of a shared computer system resource |
JPH0760422B2 (ja) * | 1983-12-30 | 1995-06-28 | 株式会社日立製作所 | 記憶ロツク方式 |
DE3502147A1 (de) | 1984-01-23 | 1985-08-08 | Hitachi Microcomputer Engineering Ltd., Kodaira, Tokio/Tokyo | Datenverarbeitungssystem mit verbesserter pufferspeichersteuerung |
US4561051A (en) * | 1984-02-10 | 1985-12-24 | Prime Computer, Inc. | Memory access method and apparatus in multiple processor systems |
US4896262A (en) * | 1984-02-24 | 1990-01-23 | Kabushiki Kaisha Meidensha | Emulation device for converting magnetic disc memory mode signal from computer into semiconductor memory access mode signal for semiconductor memory |
CA1241768A (en) * | 1984-06-22 | 1988-09-06 | Miyuki Ishida | Tag control circuit for buffer storage |
US4710868A (en) * | 1984-06-29 | 1987-12-01 | International Business Machines Corporation | Interconnect scheme for shared memory local networks |
US4755930A (en) * | 1985-06-27 | 1988-07-05 | Encore Computer Corporation | Hierarchical cache memory system and method |
WO1988007720A1 (en) * | 1987-04-02 | 1988-10-06 | Stellar Computer Inc. | Dynamically assignable shared register sets |
US4897786A (en) * | 1987-09-04 | 1990-01-30 | Digital Equipment Corporation | Bus window interlock |
JPH0727492B2 (ja) * | 1988-01-21 | 1995-03-29 | 三菱電機株式会社 | 緩衝記憶装置 |
US5023776A (en) * | 1988-02-22 | 1991-06-11 | International Business Machines Corp. | Store queue for a tightly coupled multiple processor configuration with two-level cache buffer storage |
US5032985A (en) * | 1988-07-21 | 1991-07-16 | International Business Machines Corporation | Multiprocessor system with memory fetch buffer invoked during cross-interrogation |
US5081572A (en) * | 1988-10-28 | 1992-01-14 | Arnold Michael E | Manipulation of time-ordered lists and instructions therefor |
US5222224A (en) * | 1989-02-03 | 1993-06-22 | Digital Equipment Corporation | Scheme for insuring data consistency between a plurality of cache memories and the main memory in a multi-processor system |
ATE157183T1 (de) * | 1989-07-06 | 1997-09-15 | Digital Equipment Corp | Eingabewarteschlange für speichersubsysteme |
US5230070A (en) * | 1989-09-08 | 1993-07-20 | International Business Machines Corporation | Access authorization table for multi-processor caches |
JP3102495B2 (ja) * | 1989-12-28 | 2000-10-23 | 株式会社日立製作所 | 仮想記憶管理方法 |
US5123094A (en) * | 1990-01-26 | 1992-06-16 | Apple Computer, Inc. | Interprocessor communications includes second CPU designating memory locations assigned to first CPU and writing their addresses into registers |
US5301290A (en) * | 1990-03-14 | 1994-04-05 | International Business Machines Corporation | Method for minimizing lock processing while ensuring consistency among pages common to local processor caches and a shared external store |
US5297269A (en) * | 1990-04-26 | 1994-03-22 | Digital Equipment Company | Cache coherency protocol for multi processor computer system |
DE4015190A1 (de) * | 1990-05-11 | 1991-11-21 | Gore W L & Ass Gmbh | Flachbodentank und verfahren zur leckueberwachung von flachbodentanks |
US5263144A (en) * | 1990-06-29 | 1993-11-16 | Digital Equipment Corporation | Method and apparatus for sharing data between processors in a computer system |
JPH04195577A (ja) * | 1990-11-28 | 1992-07-15 | Hitachi Ltd | マルチプロセッサにおけるタスクスケジューリング方式 |
US5249283A (en) * | 1990-12-24 | 1993-09-28 | Ncr Corporation | Cache coherency method and apparatus for a multiple path interconnection network |
JP2743608B2 (ja) * | 1991-03-27 | 1998-04-22 | 日本電気株式会社 | 共有レジスタ制御方式 |
US5265233A (en) * | 1991-05-17 | 1993-11-23 | Sun Microsystems, Inc. | Method and apparatus for providing total and partial store ordering for a memory in multi-processor system |
US5459849A (en) * | 1991-08-02 | 1995-10-17 | International Business Machines Corporation | Method and apparatus for compressing cacheable data |
US5361368A (en) * | 1991-09-05 | 1994-11-01 | International Business Machines Corporation | Cross interrogate synchronization mechanism including logic means and delay register |
US5485586A (en) * | 1992-01-10 | 1996-01-16 | Digital Equipment Corporation | Queue based arbitration using a FIFO data structure |
US5450563A (en) * | 1992-10-30 | 1995-09-12 | International Business Machines Corporation | Storage protection keys in two level cache system |
US5666515A (en) * | 1993-02-18 | 1997-09-09 | Unisys Corporation | Information processing system having multiple modules and a memory on a bus, where any module can lock an addressable portion of the memory by sending retry signals to other modules that try to read at the locked address |
TW234174B (en) * | 1993-05-14 | 1994-11-11 | Ibm | System and method for maintaining memory coherency |
US5809525A (en) * | 1993-09-17 | 1998-09-15 | International Business Machines Corporation | Multi-level computer cache system providing plural cache controllers associated with memory address ranges and having cache directories |
US5623628A (en) * | 1994-03-02 | 1997-04-22 | Intel Corporation | Computer system and method for maintaining memory consistency in a pipelined, non-blocking caching bus request queue |
JP3872118B2 (ja) * | 1995-03-20 | 2007-01-24 | 富士通株式会社 | キャッシュコヒーレンス装置 |
US5564062A (en) * | 1995-03-31 | 1996-10-08 | International Business Machines Corporation | Resource arbitration system with resource checking and lockout avoidance |
US5940826A (en) * | 1997-01-07 | 1999-08-17 | Unisys Corporation | Dual XPCS for disaster recovery in multi-host computer complexes |
US5949970A (en) * | 1997-01-07 | 1999-09-07 | Unisys Corporation | Dual XPCS for disaster recovery |
US6088740A (en) * | 1997-08-05 | 2000-07-11 | Adaptec, Inc. | Command queuing system for a hardware accelerated command interpreter engine |
GB2331379A (en) | 1997-11-13 | 1999-05-19 | Advanced Telecommunications Mo | Controlling access to a shared memory by dual mapping |
US7305524B2 (en) * | 2004-10-08 | 2007-12-04 | International Business Machines Corporation | Snoop filter directory mechanism in coherency shared memory system |
US8949549B2 (en) * | 2008-11-26 | 2015-02-03 | Microsoft Corporation | Management of ownership control and data movement in shared-memory systems |
CN101692173B (zh) * | 2009-10-16 | 2011-11-23 | 北京联合大学生物化学工程学院 | 双单片机共用一个串行存储器电路 |
US10769068B2 (en) | 2017-11-10 | 2020-09-08 | International Business Machines Corporation | Concurrent modification of shared cache line by multiple processors |
Citations (2)
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 |
US3848234A (en) * | 1973-04-04 | 1974-11-12 | Sperry Rand Corp | Multi-processor system with multiple cache memories |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1218761B (de) * | 1963-07-19 | 1966-06-08 | International Business Machines Corporation, Armonk, N. Y. (V. St. A.) | Datenspeidbereinrichtung |
US3469239A (en) * | 1965-12-02 | 1969-09-23 | Hughes Aircraft Co | Interlocking means for a multi-processor system |
US3510844A (en) * | 1966-07-27 | 1970-05-05 | Gen Electric | Interprocessing multicomputer systems |
US3618040A (en) * | 1968-09-18 | 1971-11-02 | Hitachi Ltd | Memory control apparatus in multiprocessor system |
US3581291A (en) * | 1968-10-31 | 1971-05-25 | Hitachi Ltd | Memory control system in multiprocessing system |
DE2064383C3 (de) * | 1970-01-12 | 1981-02-26 | Fujitsu Ltd., Kawasaki, Kanagawa (Japan) | Datenverarbeitungsanlage mit mehreren zentralen Verarbeitungseinrichtungen |
US3735360A (en) * | 1971-08-25 | 1973-05-22 | Ibm | High speed buffer operation in a multi-processing system |
US3761883A (en) * | 1972-01-20 | 1973-09-25 | Ibm | Storage protect key array for a multiprocessing system |
US3886525A (en) * | 1973-06-29 | 1975-05-27 | Ibm | Shared data controlled by a plurality of users |
JPS5617753B2 (de) * | 1973-07-17 | 1981-04-24 | ||
US3940743A (en) * | 1973-11-05 | 1976-02-24 | Digital Equipment Corporation | Interconnecting unit for independently operable data processing systems |
US3845474A (en) * | 1973-11-05 | 1974-10-29 | Honeywell Inf Systems | Cache store clearing operation for multiprocessor mode |
US3889237A (en) * | 1973-11-16 | 1975-06-10 | Sperry Rand Corp | Common storage controller for dual processor system |
JPS5440182B2 (de) * | 1974-02-26 | 1979-12-01 | ||
US4065809A (en) * | 1976-05-27 | 1977-12-27 | Tokyo Shibaura Electric Co., Ltd. | Multi-processing system for controlling microcomputers and memories |
-
1977
- 1977-10-06 US US05/840,070 patent/US4136386A/en not_active Expired - Lifetime
-
1978
- 1978-05-03 GB GB17498/78A patent/GB1555300A/en not_active Expired
- 1978-09-05 FR FR7826212A patent/FR2405515B1/fr not_active Expired
- 1978-09-21 IT IT27918/78A patent/IT1174447B/it active
- 1978-09-21 DE DE19782841041 patent/DE2841041A1/de not_active Ceased
- 1978-09-29 JP JP11943878A patent/JPS5459047A/ja active Granted
Patent Citations (2)
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 |
US3848234A (en) * | 1973-04-04 | 1974-11-12 | Sperry Rand Corp | Multi-processor system with multiple cache memories |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0028335A1 (de) * | 1979-11-06 | 1981-05-13 | International Business Machines Corporation | Multiprozessorsystem mit Ein-/Ausgabe-Unterbrechungsbehandlungsmechanismus |
Also Published As
Publication number | Publication date |
---|---|
FR2405515A1 (fr) | 1979-05-04 |
US4136386A (en) | 1979-01-23 |
GB1555300A (en) | 1979-11-07 |
IT7827918A0 (it) | 1978-09-21 |
JPS5459047A (en) | 1979-05-12 |
IT1174447B (it) | 1987-07-01 |
FR2405515B1 (fr) | 1985-11-29 |
JPS5733623B2 (de) | 1982-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2841041A1 (de) | Datenverarbeitungsanlage mit mindestens zwei mit einem schnellen arbeitsspeicher ausgeruesteten prozessoren | |
DE2241257C3 (de) | Datenverarbeitende Anlage | |
DE2415900C3 (de) | Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen Rechenanlagen | |
DE2226382C3 (de) | Datenverarbeitungsanlage mit mehreren Prozessoren und diesen zugeordneten Pufferspeichern | |
DE3131341C2 (de) | ||
DE2235841C2 (de) | Datenverarbeitungsanlage mit Speichersteuerung für mindestens einen Prozessor und diesen zugeordneten Pufferspeichern | |
DE2227882C2 (de) | Virtuelle Speicheranordnung | |
DE2523414C3 (de) | Hierarchische Speicheranordnung mit mehr als zwei Speicherstufen | |
DE10262164B4 (de) | Computersystem mit einer hierarchischen Cacheanordnung | |
DE2240433C3 (de) | Hierarchische Datenspeicheranordnung für mehrere über Pufferspeicher angeschlossene Einheiten und ein Verfahren zu deren Betrieb | |
DE2807476C2 (de) | Speichereinrichtung mit mehreren virtuellen Adreßräumen | |
DE2847960A1 (de) | Speichersteuereinrichtung | |
DE3102150A1 (de) | "schaltungsanordnung mit einem cachespeicher fuer eine zentraleinheit einer datenverarbeitungsanlage | |
DE2231146B2 (de) | Datenverarbeitungsanlage mit virtueller Adressierung | |
DE3621321A1 (de) | Cache-speicher- bzw. multiprozessor-system und betriebsverfahren | |
DE2847216A1 (de) | Datenverarbeitungssystem mit mehrprogrammbetrieb | |
DE3224034A1 (de) | Mehrprozessorensystem | |
DE10219623A1 (de) | System und Verfahren zur Speicherentscheidung unter Verwendung von mehreren Warteschlangen | |
DE3046912C2 (de) | Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage | |
DE69721641T2 (de) | Verfahren und Vorrichtung für ein verzeichnisloses Speicherzugriffsprotokoll in einem Rechnersystem mit verteiltem gemeinsamen Speicher | |
DE2422732C2 (de) | Hierarchische Speicheranordnung | |
DE60003426T2 (de) | Statusbits für cachespeicher | |
DE69532006T2 (de) | Speichersteuerverfahren und Vorrichtung geeignet für ein Informationsverarbeitungssystem | |
DE2710477A1 (de) | Anordnung zur kohaerenten leitung des informationsaustauschs zwischen zwei aneinanderstossenden niveaus einer speicherhierarchie | |
DE3832758C2 (de) | Verfahren zum Adressieren eines im Rückschreib-Modus betriebenen virtuellen Cache-Speichers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8131 | Rejection |