DE2455562A1 - Multiprozessoranlage - Google Patents

Multiprozessoranlage

Info

Publication number
DE2455562A1
DE2455562A1 DE19742455562 DE2455562A DE2455562A1 DE 2455562 A1 DE2455562 A1 DE 2455562A1 DE 19742455562 DE19742455562 DE 19742455562 DE 2455562 A DE2455562 A DE 2455562A DE 2455562 A1 DE2455562 A1 DE 2455562A1
Authority
DE
Germany
Prior art keywords
address
register
page
processor
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19742455562
Other languages
English (en)
Other versions
DE2455562B2 (de
DE2455562C3 (de
Inventor
Andris Padegs
Ronald Morton Smith
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2455562A1 publication Critical patent/DE2455562A1/de
Publication of DE2455562B2 publication Critical patent/DE2455562B2/de
Application granted granted Critical
Publication of DE2455562C3 publication Critical patent/DE2455562C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)

Description

jDie Erfindung betrifft eine Datenverarbeitungsanlage mit mehreren gleichzeitig betriebenen Prozessoren (Multiprozessoranlage), die einen gemeinsamen Hauptspeicher virtuell adressieren.
Bei virtueller Adressierung werden Daten und Programmteile jeweils in Blöcken oder "Seiten" vomperipheren Speicher in den Hauptspeicher übertragen, wenn sie benötigt werden. Wenn der Hauptspeicher voll belegt ist, muß jeweils ein "Seitenrahmen", d. h. der Speicherbereich für eine Seite, vorübergehend ungültig gemacht und die darin befindliche Seite durch die neue, angeforderte Seite überschrieben werden. Falls Daten der alten Seite geändert worden waren, muß diese Seite zuvor in den peripheren Speicher rückübertragen werden.
Wenn nun in einem Multiprozessor sys tem mehrere Prozessoren ge-" meinsam den gleichen Hauptspeicher benutzen, kann es vorkommen, daß durch die Seitenanforderung eines Prozessors ein Seitenrahmen
5038 27/0538
ungültig gemacht wird, dessen Inhalt zu diesem Zeitpunkt gerade von einem anderen Prozessor benützt wird. Unter der Annahme, daß die Prozessoren asynchron zu einander arbeiten, würde'damit in zielen Fällen dem anderen Prozessor während der Ausführung ,einer nstruktion der Zugang zu den benötigten Daten versperrt und nur :in unvollständiges Instruktionsergebnis erzielt v/erden. Das hätte ur Folge, daß sich falsche Ergebnisse einstellen. Selbst wenn iese Unvollständigkeit erkannt würde und eine spätere Korrektur urch Wiederholung der betreffenden Instruktion möglich wäre,- wird .urch eine solche Wiederholung der Wirkungsgrad der Multiprozessor--;
mlage erheblich herabgesetzt. Die betreffende Seite müßte außerdem! η vielen Fällen wieder vom peripheren Speicher in den Ilauptspei- <
ι her übertragen werden. j
Der Erfindung liegt die Aufgabe zugrunde, in einer Multiprozessoranlage der eingangs genannten Art Einrichtungen zu schaffen, durch welche die eben erwähnten Nachteile vermieden v/erden und die Zusammenarbeit zwischen den Prozessoren erleichert wird.
Die Aufgabe wird durch die im Kennzeichen des Hauptanspruches beschriebene Einrichtung gelöst.
Die Erfindung hat den Vorteil, daß trotz gemeinsamer Benutzung des Hauptspeicher durch mehrere Prozessoren beim Markieren einer Seite als ungültig, z. B. zwecks eines bevorstehenden Seitenaustausches keine falschen Resultate entstehen und jeder Prozessor die nomentan anstehende Instruktion und die daraus resultierenden Zugriffe zu Qperandenhauptspeicher noch beenden kflP"- ni<=»- PO 9-73-Ο34
509827/0 53
Barkeit zum betreffenden Seitenrahmen wird also trotz der Ungültig JMarkierung in den Adressenübersetzungstabellen während der jaoiaen-
'tan anstehenden Instruktion aufrechterhalten.
Durch die Erfindung entfällt außerdem die Notwendigkeit der späteren Wiederausführung einer nur unvollständigen, ausgeführten Instruktion. Die Erfindung erleichtert ferner die Zusammenarbeit zwischen den Prozessoren und vermeidet insbesondere, daß alle Prozessoren ihr Programm unterbrechen müssen, wenn1eine Seitenaustauschanforderung entsteht. Der Austausch findet vielmehr nach Beendigung der momentan anstehenden Instruktion in allen Prozes-" soren als koordinierter Schritt statt.
Ein Ausführungsbeispiel der Erfindung wird im folgenden anhand !/on Zeichnungen beschrieben. Es zeigen:
Fig. 1 eine Multiprozessoranlage mit virtueller Adressierung ,
i<?· 2 Einzelheiten der in Fig. l gezeigten Einrichtunge
zur Erhaltung der Adressierbarkeit vom Seitenrahmen bei Seitenaustausch,
Fig. 3 ein Ablaufdiagramm der Operationen in einem Prozessor, der einen Seitenaustausch einleitet,
PO 9-73-034 - 3 --
8098^7/0538
Fig. 4 ein Ablaufdiagramm der Operationen in den anderen Prozessoren, nachdem ein Prozessor den Seitenaustausch eingeleitet hat;
Fig. 5 ein Zeitdiagramm der koordinierten Arbeitsweise mehrerer Prozessoren bei einem Seitenaustausch mit Erhaltung der Operanden-Adressierbarkeit durch erfindungsgemässe Einrichtungen;
Fig. 6 das Format eines Eintrags in einer Segmenttabelle (ST); Fig. 7 das Format eines Eintrags in einer Seitentabelle (PT);
Fig. 8 das Format eines Eintrags in einem Adressumsetzungsspeicher.
PO 9-73-034 - 4 -
609827/0538
Das im Ausführungsbeispiel benutztef bereits bekannte Datenverarbeitungssystem
Fig. 1 zeigt, wie die vorleigende Erfindung in bereits bekannte Multiprozessorsysteme paßt. Fig. 1 zeigt mehrere Prozessoren A, B...N, die an einen gemeinsam benutzten Hauptspeicher 211 angeschlossen sind. Jeder Prozessor besteht aus konventionellen Baugruppen, wie einer Instruktions-Bereitstellungseinheit, einer Ausführungseinheit, einem Virtuell-Adressregister (VAR) 100, eimern Speicheradressregister (SAR) 110, einem Steuerregister 111 l .
lund einer dynamischen Adreßumsetzungseinrichtung (DATM), die einen Adreßumsetzungsspeicher (TLB) enthält. Der Betrieb dieser
inheiten ist allgemein bekannt ; sie bilden ein System mit virtueller Adressierung, bei dem nach Bedarf Datenblöcke (Seiten) von Peripherspeichern in den Hauptspeicher gebracht werden.
Die Erfindung gliedert Adreßbereitschaftsregister-Schaltungen (ABR-Schaltungen) 400 in diese Kombination bekannter Schaltungen 2in, die jeder Prozessor enthält.
PO 9-73-034 ·- 5 -
509-827/0638
Mit anderen Worten; die Erfindung integriert ABR-Schaltungen mit dem dynamischen Adressumsetzungsmechanismus (DATM) und der gesamten Seitenanforderungseinrichtung, die sich normalerweise in virtuell adressierbaren Computersysternen befinden.
Wegen der Abhängigkeit der vorliegenden Erfindung vom herkömmlichen System werden zunächst die Einrichtungen und Merkmale des herkömmlichen Systems beschrieben, die von dieser Erfindung benutzt werden. In Systemen, die mit Austausch von Datenblöcken zwischen Hauptspeicher und Peripherspeicher arbeiten (paging), wird zum Austausch jeweils ein Datenblock festliegender Grosse, "Seite" genannt, vom Peripherspeicher in einen verfügbaren Bereich des Hauptspeichers übertragen, der gerade die Kapazität einer Seite hat. Diese Bereiche werden "Seitenrahmen" oder kurz "Rahmen" genannt. Eine solche Uebertragung geschieht entweder (1.) Aufgrund des Aufrufs einer nächsten Instruktion durch den Prozessor, wenn diese Instruktion nicht im Hauptspeicher steht oder (2. ) aufgrund der Anforderung eines Operanden durch eine laufende Instruktion, deren Ausführung im Prozessor beginnt, wenn der Operand nicht im Hauptspeicher verfügbar ist. Zum besseren Verständnis der Grundlagen dieser Erfindung wird anschliessend die Seitenanforderung kurz beschrieben.
PO 9-73-034 ' - 6 -
509827/0 538
In Datenverarbeitungsanlagen mit virtueller Adressierung werden 'die Adressen von Speicheroperanden in Maschinenbefehlen als vir~
;tuelle Adressen gegeben, wenn die Zentraleinheit im virtuellen jÄdrefbetrieb läuft» Bevor die Maschine einen Operanden mit einer !virtuellen Adresse erreichen kannf muß sie die virtuelle Adresse
!in eine Ilauptspeicheradresse übersetzen, die auch reelle Adresse
ι ■ .
!genannt wird. Viele Datenverarbeitungsanlagen können sowohl mit virtuellen Adressen als "auch mit reellen Adressen arbeiten, ab-
jhangig von der Einstellung eines Betriebsartenbit im laufenden 'Programmstatuswort (PSW) des Prozessors.
Durch eine Seitenaustauschoperation wird ein angeforderter Operand oder ein Befehl von einem Peripherspeicher in den Hauptspeicher gebracht. Zu diesem Zweck lokalisiert das System die Seite in einem Peripherspeicher; später bewirkt es mit Hilfe von Eintragungen in einer Segmenttabelle (ST) und einer Seitentabelle (PT) die Adressierbarkeit der Seite, nachdem diese in den Hauptspeicher übertragen wurde.
PO 9-73 034
609827/0538
Damit ist die Zuordnung einer Seitenrahmenadresse im Hauptspeicher verbunden, die in der Seitentabelle eingetragen wird, und die Ueberträgung der Seite vom Peripherspeicher in den zugeordneten Seitenrahmen· Die Adresse des zugeordneten Seitenrahmens wird ausserdem von der Seitentabelle in einen Adressumsetzungsspeicher TLB in der DATM zur späteren Adressierung dieses Seitenrahmens übertragen. Wenn kein Seitenrahmen frei verfügbar ist, gibt das System den Seitenrahmen mit der am wenigsten gebrauchten Seite frei (es deaktiviert ihn), und ordnet ihn zur Aufnahme der neuen Seite zu.
Im einzelnen geschiet folgendes: Es wird ein Unterbrechungssignal "Seitenanforderung" erzeugt, um eine Seitenaustauschoperation einzuleiten, wenn ein Operand benötigt wird, der nicht durch eine gültige Seitenrahmenadresse in einer laufenden TLB- oder PT-Eintragung adressiert werden kann. Dieses Unterbrechungssignal leitet das Seitenrahmenzuordnungsprogramm ein, um einen Seitenrahmen im Hauptspeicher bereitzustellen, überträgt die Seite in diesen Seitenrahmen, nimmt eine PT-Eintragung vor mit der zugeordneten Seitenrahmenadresse und setzt die Kennzeichenbits auf "gültig" und "zugeordnet" (s. Fig. 7).
PO 9-73-034 . 8 -
5 09827/0538
D. h., die Kennzeichenbits für "nicht zugeordnet" und "ungültig" des zur Aufnahme der neuen Rahmenadresse gewählten Seitentabellenplatzes werden beide auf JSfull gebracht zur Anzeige dafür, dass der Tabellenplatz zugeordnet ist und eine gültige Seitenrahmenadresse enthält. Zu einem späteren Zeitpunkt überträgt die DA TM-Einrichtung die PT-Eintragung in den Adressumsetzungsspeicher TLB im entsprechenden Prozessor.
Um die Zuordnung von Seitenrahmen zu Seiten zu beschleunigen, versucht das Speicherzuordnungsprogramm eine Liste der freien Seitenrahmen zu führen. Im Hauptspeicher gibt es jedoch weit weniger freie Seitenrahmen, als Seiten in Peripher speichern vorhanden sind, und es gibt Zeiten, zu denen kein Seitenrahmen frei ist (d. h., alle wurden bereits zugeteilt). Durch den fortgesetzten Wettbewerb verschiedener Prozessoren um freie Seitenrahmen muss die Zuordnung von Seitenrahmen zu Seiten verändert werden durch Streichung der seltener benutzten Seiten, d.h. Freigabe der betreffenden Rahmen. Um einen Seitenrahmen freizugeben (zu deaktivieren), muss die ihn belegende Seite zur weiteren Benutzung unzugänglich gemacht werden, Uud
PO 9-73-034 - 9 -
60 9827/0538
dann muss die diese betreffends Seite zur weiteren Verwendung in ihren Peripherspeicher zurückgebracht werden, sofern sie verändert wurde. .
Zum Austausch . wird die PT-Eintragung für eine Seite als "ungültig" und "nicht zugeordnet" gekennzeichnet, indem man die Kennzeichenbits für Ungültigkeit und NichtZuordnung setzt (s. Fig. 7). Eine Seitenanforderung erfolgt für jeden Operanden oder jede Instruktion, die eine PT-Eintragung benutzen, deren Ungültigkeitsbit gesetzt ist.
In Multiprozessorsystemen wird die Ungültigkeitsanzeige für eine Seite, die durch Setzen des Ungültigkeitsbits im betreffenden Tabellenplatz erfolgt, allen Prozessoren mitgeteilt, die diese Seite benützen. Zu diesem diesem Zweck muss (1, ) jedemProzessor im System angezeigt werden, dass er vorübergehend einen dem Austausch unterworfenen Seitenrahmen nicht benützen kann und jeder Prozessor muss warton, bis alle anderen zurücksignalisiert haben, dass sie der Aufforderung nachgekommen sind; (2. ) das Ungültigkeitskennzeichenbit für den Seitenrahmen so gesetzt wird, dass jede nachfolgende diesen Seiten-
PO 9-73-034 - 10 -
609827/0538
rahmen benützende Instruktion unterbunden wird; (3. ) jeder Prozessoralle Eintragungen aus seinem TLB löschen und (4. ) wenn die Seite verändert wurde, sie in einen Peripherspeicher übertragen werden.
Zum besseren Verständnis der Beziehung der dynamischen Adressumsetzungseinrichtung DATM zur vorliegenden Erfindung wird anscnliessend kurz der ganze Betrieb einer konventionellen DATM beschrieben. Aufgrund einer virtuellen Adresse von ihrem Prozessor ersetzt die DATM die Segment- und Seitenadressteile der gegebenen virtuellen Adresse durch die zugeordnete Seitenrahmenadresse (reelle Adresse im Hauptspeicher). In Fig. 1 wird die virtuelle Adresse von der Ausführungseinheit an ein Virtuell-Adressregister (VAR) 100 gegeben. Die virtuelle Adresse wurde auf bekannte Weise aus den Bestandteilen der Operandenadresse in der laufenden Instruktion erzeugt, die von der Instruktionsbereitstellungseinheit geliefert wurde. Die DATM arbeitet, mit im gemeinsam benützten Hauptspeicher 211 stehenden Segmenttabellen (ST)-und Seitentabellen (PT).
In jedem Prozessor adressiert der Inhalt des Steuerregisters 111 den Beginn der gegenwärtig durch den betreffenden Prozessor benutzten
PO 9-73-034 - 11 -
509827/0538
Segmentlabelle. Jede Eintragung in der Segmenttabelle (ST) hat die in Fig. 6 wiedergegebene Form, die ein eine Adresse einer Seitentabelle (PT) enthaltendes Feld einschliesst. Die PT-Adresse in einer ST-Eintragung ist nur gültig, wenn das PT-Ungültigkeitsbit auf O gesetzt ist und damit anzeigt, dass eine Seitentabelle PT dieser Segmenttabelleneintragung zugeordnet ist. Wenn das PT-Ungülligkeitskennzeichen auf 1 gesetzt ist, ist die PT-Adresse ungültig, und es wird ein Signal "Segmentausnahme" erzeugt, um anzuzeigen, dass für· diese Segmenttabelleneintragung keine Seitentabelle exisiteirt. Das Fox'mat der PT-Eintragung und der TLB-Eintragung ist in den Fign. 7 und 8 gezeigt und enthält eine Adresse eines Seitenrahmens (Rahmenadresse). Die Seitenrahmenadresse der PT-Eintragung ist gültig, wenn das Ungültigkeitsbit auf 0 gesetzt ist. Wenn dieses Kennzeichenbit auf 1 gesetzt ist, ist die enthaltene Seitenrahmenadresse nicht gültig, was bedeutet, dass der zugehörige Seitenrahmen nicht benutzt werden kann.
Jede dynamische Adressumsetzungseinrichtung DATM enthält einen Adressumsetzungsspeicher (TLB), in dem sie die Hauptspeicheradrcssen hält, die den virtuellen Adressen entsprechen, die zuletzt benutzt
PO 9-73-034 - 12 -
509827/0538
wurden, wodurch man schneller die am häufigsten benutzten Hauptspeicheradressen erhält. Der Adressumsetzungsspeicher (TLB) beschleunigt somit die Speicherzugriffsoperation. Er wird bei Verwendung aller Arten virtueller Adressen (einschliesslich Operanden- und NichtOperandenadressen) benutzt. Wegen der allgemeinen-Benutzung des Adressumsetzungsspeichers TLB und wegen des überlappten Betriebs des Prozessors werden Eintragungen im TLB in der Weise ausgewechselt, dass diese Operation zu jeder Zeit während der Ausführung einer Instruktion durchgeführt werden kann.
Nach Darstellung in Fig. 1 enthält das VAR 100 die virtuelle Adresse für einen Operanden oder einen Nichtoperandenwie z. B. die nächste aus dem Hauptspeicher aufzurufende Instruktion. Für diesen Aufruf wird die virtuelle Adresse zuerst in eine Hauptspeicheradresse übersetzt. Eine virtuelle Adresse (VA) besteht aus einer Segmentadresse S, einer virtuellen Seitenadresse P und einer Distanz D (Abstand des zu adressierenden Bytes vom Seitenanfang). Die VA-Uebersetzung beginnt mit der Segmenttabelle ST1 die durch die Hauptspeicheradresse im Steuerregister 111 lokalisiert wird. Zuerst wird die Segmentauresse S als Index zur Lokalisierung der benötigten ST-Eintragung ""■
PO 9-73-034 - 13 -
S09827/0538
in der Segementtalbelie bentut. Die ST-Eintragung enthält die Hauptspeicheradresse, die die benötigte Seitentabelle (PT) lokaliesiert. Die viertuelle Seitenadresse P wird als Index zur "Ermittlung der benötigten PT-Eintragungen in der Seitentabelle verwendet. Wenn diese PT-Eintragung als gültig und zugeordnet gekennzeichnet ist, enthält sie·die Adresse des Seitenrahmens im Hauptspeicher, der den Operanden oder die Instruktion enthält. Die PT-Eintragung enthält die 12 werthohen Bits der Hauptspeicheradresse; die wertniederen Bits der Adresse sind lauter Nullen. ie Distanz D (als Byteanzahl) gibt sowohl in der virtuellen Seite als auch im Seitenrahmen die Lage des benötigten Operanden ader der Instruktion an.
Das Kennzeichenbit "nicht zugeordnet" in der PT-Eintragung in Fig. 7 zeit in der Stellung 0 an, daß der adressierte Seitenrahmen einem Prozessor zugeordnet ist. Wenn dieses Kennzeichenbit auf 1 .steht, ist die PT-Eintragung nicht zugeordnet und kann daher einem Prozessor zugeordnet werden.
PO 9-73-034
- 14 -
509827/0538
Fig. 8 zeigt das Format der Eintragung im A dress Umsetzungsspeicher (TLB): Jede Eintragung enthält die Adressteile S und P (Segment- und Seitenkömponente der virtuellen Adresse); diese wer.den beim Absuchen des Speichersbei direkter Adressumsetzung benötigt.
Allgemeine Beschreibung, des Ausführungsbeispieles
Das in Fig. 1 gezeigte Ausführungsbeispiel dieser Erfindung enthält in jedem Prozessor des Multiprozessorsystems ABE-Schaltungen (A .dressbereits charts register- Schaltungen). Die A BR-Schaltungen enthalten vier ABB-Register, 10, 20., 30 und 40, die diejenigen Hauptspeicheradressen aufnehmen und halten, die den virtuellen Adressen entsprechen, die für die in der Ausführung befindliche laufende Instruktion benötigt, werden. Die ABR-Register werden synchron mit dem durch den entsprechenden Prozessor ausgeführten Instruktionsstrom (jeweils während des Vorprüfteiles der Instruktionsausführung) auf den neuesten Stand gebracht.
Die ABR-Schaltungen können den Wirkungsgrad eines Multiprozessorsystems verbessern, wenn ein Seitenrahmen zu einem vom Ausführengszustand eines Prozessors unerwarteten Zeitpunkt gesperrt (für ungültig) erklärt wird.
PO 9-73-034 - 15 -
509827/0538
1 I 'ill
1 I I I
la den ABR-Registern 10, 20, 30 und 40 werden die Seitenrahmenadressen für Operanden gehalten, die durch die gegenwärtig ausgeführte Instruktion benötigt werden.
Ein Instruktionszugriff fordert kein ABR-Register, da die Ausführung einer Instruktion leicht unterbunden werden kann, wenn die gesamte Instruktion oder ein Teil davon in einer nicht verfügbaren Sei te liegt. Die Seitenrahmenadresse für eine Instruktion wird somit nur in das SAR 110 (auf konventionelle Weise) eingegeben.
Jeder Operand hat jedoch ein Paar ABR-Register zur Verfügung. Die Register 10 und 20 bilden ein Paar für einen Operanden und die Register 30 und 40 ein anderes Paar für einen anderen Operanden. Abhängig vom Instruktionstyp werden für die Ausführung kein, ein, .oder zwei Operanden benötigt. Hierfür werden keine, 1, 2, 3 oder 4 ABR-Register benutzt.
Die gezeigten beiden Paare von ABR-Registern unterstützen die Ausführung von Instruktionen mit bis zu zwei Operanden im Hauptspeicher, von denen jeder Operand sich über eine Seitengrenze hinaus erstrecken
PO 9-73-034 - 16 -
509827/05*8
41-
kann, d. h., jedes Registerpaar unterstützt einen Operanden, der z. B. in zwei Seitenrahmen im Hauptspeicher stehen kann. Diese Anordnung kann jeden Operanden unterstützen, der an einer beliebigen Stelle beginnt, vorausgesetzt, dass er selbst nicht grosser als eine Seite ist. Das reicht jedoch im allgemeinen aus, da die Operanden der meisten Instruktionen auf kürzere Längen begrenzt sind. Diejenigen Instruktionen mit längeren Operanden sind so angelegt, dass sie an einem Punkt bei der Ausführung nach einer Unterbrechung wieder aufgenommen werden können. Die beiden ABR-Register· in einem Paar können als gerades und ungerades Register bezeichnet werden, bezogen auf die Teile eines Operanden, der in aufeinanderfolgenden virtuellen Seiten mit geraden und ungeraden Seitenadressen gefunden wird.
Die ABR-Register werden durch den Prozessor mit einer Operandenadresse (Rahmenadresse) zu dem Zeitpunkt geladen, in dem diese Adresse von einer Seitentabelle in den Adressumsetzungsspeicher des betreffenden Prozessors übertragen wird. Zu diesem Zeitpunkt wird auch zu dem adressierten Operand zum erstenmal zugegriffen. Danach wird der Operand mit der Rahmenadresse aus den ABR-Registern adressiert.
PO 9-73-034 ^ 17 -
B09827/0538
Das Ueberqueren einer Seitengrenze wird durch Veränderung des ,wertniederen Bit P in der virtuellen Seitenadresse P im VAR 10Ü angezeigt. Die Seitengrenze wird überschritten, wenn die virtuelle. Adresse für die nächste Seite in das VAR 100 gesetzt wird, während der Prozessor dieselbe Operandenanforderung noch weiterhin signalisiert. Dann wird die Hauptspeicheradresse für den zweiten Seiten-rahmen in das andere ABR-Register des Paares gesetzt. Wenn die Operandenadresse (Rahmenadresse) nicht zu erhalten ist, weil während der Operation der DATM ein Ausnahmesignal auftritt, wird die Instruktionsausführung unterbunden, und es darf kein Ergebnis gespeichert werden.
Wie bereits gesagt wurde, werden nach dem Laden der ABR-Register bei der Ausführung der laufenden Instruktion nur die gültigen, in den ABR-Registern befindlichen Rahmenadressen benutzt, und es erfolgt dann keine weitere Benutzung von ST, PT oder TLB, so lange derselbe Inhalt im VAR 100 gültig bleibt.
Durch das Laden der reellen Operandenadressen (Hauptspeicher-Rahmenadressen) in das ABR wird deren Verfügbarkeit für den
PO 9-73-034 - 18 -
809827/0538
benutzenden Prozessor für die Dauer der laufenden Instruktionsführung sichergestellt, auch wenn während dieser Ausführung ein anderer Prozessor die entsprechende Seitentabelleneintragung ungültig macht. ■
Die TLR-Eintragung wird nicht ungültig gekennzeichnet in dem Moment, in dem die zugehörige PT-Eintragung ungültig gemacht wird, weil für eine Aenderung des Kennzeichenbits in der TLB-Eintragung Funktionsteile des Prozessors in Tätigkeit treten müssen. Die Adresse im Adressumsetzungsspeicher TLB kann somit auch noch gültig erscheinen, nachdem die entsprechende Adresse in der Seitentabelle PT verlorengegangen ist. Auf die Gültigkeit der TLB-Eintragungen kann man sich also nicht verlassen, da sie zu jeder Zeit während der Ausführung, der laufenden Instruktion ungültig gemacht werden können. Man kann sich jedoch darauf verlassen, dass die Adressierbarkeit durch die ABR-Schaltungen während der Ausführungsperiode der· laufenden Instruktion beibehalten wird. Somit werden durch die ABR-Hegister unvorhersagbare Ergebnisse der Instruktionsausführung vermieden, die sich dadurch ergeben könnten, dass die PT-Eintragung oder die TLB-
PO 9-73-034 - 19 -
S09827/0538
• I I
IQ
Eintragung während der Ausführung ungültig gemacht werden, während der durch diese Tabelleneintragungen bezeichnete Seitenrahmen noch benutzt wird. .
Die Eintragungea in den ABR-Registern in den Fign. 1 und 2 (sowie die PT- und die TLB-Eintragungen) enthalten eine Seitenrahmenadresse, die nur den werthohen Teil der Ilauptspeicheradresse darstellt, z. B. die werthohen 12 Bits einer 24 Bit langen Adresse. Der wertniedere Teil der Hauptspeicheradresse (D) wird direkt in das SAR 110.vom Distanzfeld D im VAR 100 übertragen. Die Seitenrahmenadresse und das Distanzfeld im Hauptspeicheradressregister 110 in den Fign. 1 und 2 werden dann zur Adressierung des benötigten Operanden oder der benötigten Instruktion im Hauptspeicher benutzt.
Genaue Beschreibung des Ausführungsbeispieles
Die ABR-Schaltungen sind in Fig. 2 im Detail gezeigt. Sie sind so organisiert, dass sie ein Minimum an Steuerleitungen vom Prozessor erfordern. In bereits bekannten Systemen ohne ABR entstehen in der A usführungseinheit Signale, die nunmehr benutzt werden, um die
PO 9-73-034 - 20 -
509827/0538
ABR-Schaltungen zu steuern, wofür gemäss Fig. 1 Steuerleitungen 3 ... 60 vorgesehen sind. Diese Steuerleitungen für Signale von der A usfuhrungseinheit sind in Fig. 2 mit den Nummern 60, 61, 62, 50 und 3 bezeichnet.
Wenn die Ausführung der laufenden Instruktion beendet ist, erhält die Leitung 60 einen Impuls (ENDE OP). Die Leitung 61 (OPDl ANFORD.) erhält einen Impuls, wenn die laufende Instruktion ihren ersten Operanden (OPDl) anfordert, während der Prozessor im virtuellen A dress betrieb · läuft. Die Ausführungseinheit gibt dann die erste virtuelle Operandenadresse an das VAR 100 aus. Leitung 62 (OPD2 ANFORD. ) erhält einen Impuls, wenn die laufende Instruktion ihren zweiten Operanden anfordert, während der Prozessor im virtuellen Adressbetrieb läuft.
Die Leitung 50 (NICIIT-OPD ANFORD. ) erhält einen Impuls, wenn der Prozessor einen Nicht-Operanden-Speicherzugriff aufordert, um beispielsweise eine Instruktion aufzurufen; dazu benutzt sie die dynamische Adressumsetzungseinrichtung (DATM), aber kein ABR-Register. Die Leitung 3 (HAUPTSPEICHERADRESSE IM VAR) erhält einen Impuls, wenn die an das VAR 100 gelieferte Adresse
PO 9-73-034 _ 21 -
B09827/0538
eine Ilauptspeicheradresse ist und daher direkt in das SAR 100 übertragen werden kann ohne Benutzung der DATM- oder ABR-Schaltungen. Sobald ein Hauptspeicherzugriffsimpuls auf der Leitung 3 vom Prozessor empfangen wird, wird es an das Torglied 9 gegeben, welches das S-FeId und das P-FeId vom VAR 100 direkt in das Rahmenadressfeld im SAR 110 leitet.
Eine virtuelle Adresse im Register 100 enthält die Segmentadresskomponente S, die Seitenadresskomponente P und das Distanzfeld D (Fig. 2). Bei Eingabe einer reellen Adresse geht jedoch die Seitenrahmenadresse direkt in die S- und P-Felder.
Der Inhalt des Registers 100 wird von der Adressumsetzung nicht geändert. Er ist aber die Eingabe zu einer konventionellen Adressumsetzungsoperation. Das Feld D im VAR 100 wird direkt in das D-Feld des Hauptspeicheradressregisters SAR 110 übertragen. Die Segmentadresskomponente S und die Seitenadresskomponente P der virtuellen Adresse werden in die dynamische Adressübersetzungseinricht'ing (DATM) 120 eingegeben, die sie in eine entsprechende
PO 9-73-034 - 22 -
509827/0538
Hauptspeicher-Seitenrahenadresse übersetzt, die über die Hauptspeicher-Rahmenadressausgabeleitung 121 an die ABR-Torglieder 16, 26, 36 und 46 gelangt.
Die ABR-Gültigkeitsmerker 11, 21, 31 und 41 gehören zu den vier Registern 10, 20, 30 und 40. Alle Merkel- werden durch ein Signal ENDE OP auf der Leitung 60 bei Beendigung der Ausführung der laufenden Instruktion zurückgestellt. Der zurückgestellte Zustand zeigt an, dass das zugehörige ABR-Register keine gültige Seitenrahmenadresse enthält.
Zu Beginn der Ausführung der laufenden Instruktion gibt der Prozessor Anforderungssignale auf die Steuerleitungen 3, · 50, 60, 61 oder 62. Wenn die DATM auf ihrer Ausgangsleitung 101 ein Unterbrechungssignal wegen einer Adressumsetzungs-Ausnahme erzeugt, so muss dies früh genug erfolgen, damit alle Ergebnisse der laufenden Instruktion unterbunden werden können. Das Adressuinsetzungsausnahme-Unterbrechungssignal wird durch die DATM erzeugt, wenn eine bestimmte virtuelle Adresse nicht umgesetzt werden kann, weil sich
PO 9-73-034 - 23 -
509-827/0638
keine zugeordnete oder verfügbare Seitenrahmenadresse in der Seitentabelle PT oder im Adressumsetzungsspeicher TLB befindet. Dieser erste Teil der Instruktionsausführung wird üblicherweise "Vorprüfung" genannt.
Während der Vorprüfung werden alle bei der Instruktionsausführung gebrauchten virtuellen Adressen mit Hilfe der ST-, PT- und TLB-Eintragungen übersetzt. Nach der Vorprüfung (für den Rest der Instruktionsausführung) werden die ABR-Register für die Operanden-Adressierung benutzt.
Die Seitenrahmenadresse für einen Operanden wird daher im ersten Teil der Ausführung der laufenden Instruktion von der DATM an die ABK-Register gegeben.
Welches Register von einem ABR-Registerpaar mit einer jeweils auf der Leitung 121 gelieferten Adresse geladen wird, hängt davon ab, ob die virtuelle Seitenadresse im VAR 100 gerade oder ungerade ist, was durch das Signal auf der P -Leitung 71 von der wertniedersten Bitposition im P-FeId des Registers 100 angezeigt wird. Der Ausgang
PO 9-73-034 . - 24 -
B09827/0S38
3i sr
des Inverters 70 und die Leitung 7-2 werden durch ein gerades P-FeId erregt, da das P -Bit dann auf 0 steht; die Leitung 71 wird
durch ein ungerades P-FeId erregt, welches P1- auf 1 stellt.
Ein Nicht-Operand unterscheidet sich von einem Operand dadurcli, dass er entweder eine Hauptspeicheradresse benutzt, d. h. , eine Adresse nicht übersetzt zu werden braucht, oder dass er eine Instruktion ist, die jeweils vor der Operandenvorprüfung aufgerufen wird und deren Ausführung jederzeit während ihres Aufrufes beendet werden kann, d.h. bevor'irgendwelche Ergebnisse für die Instruktion gespeichert worden sind.
Wenn eine Instruktion (oder ein anderer Nicht-Operand) im. VA-Betrieb adressiert werden soll, gibt der Prozessor ein Signal NICHT-OP ANFOED. auf die Leitung 50 und durch ein ODER-Glied 51 zur Betätigung der Adressumsetzungseinrichtung 120.
Sobald eine virtuelle Adresse in das VAR 100 eingegeben ist, gibt die DA TM nc auf der Leitung 121 die Hauptspeicher-Seitenrahmenadresse, aus, die den S- und P-Komponenten der virtuellen Adresse im Register
PO 9-73-034 - 25 -
509827/0538
100 entspricht, wenn ein entsprechender Seitenrahmen zugeordnet worden ist. Das wird durch ein Verfügbarkeitssignal auf der Leitung 102 angezeigt. Wenn kein Seitenrahmen zugeordnet wurde, · wird ein Adressumsetzungsausnahmesignal über die Leitung 101 abgegeben, so dass der Prozessor ein Seitenaustauschanforderungssignal erzeugen kann.
Die Signale auf den Leitungen 61 und 62 zur Anforderung eines virtuellen Speicheroperandenzugriffs werden separat geliefert, um zu unterscheiden, ob die Adresse im VAR 100 für einen ersten oder zweiten Operanden der laufenden Instruktion gilt. Die Leitung 61 wird füi- den ersten Operanden erregt. Sie ermöglicht eine Wahl im ersten Paar der ABR-Register 10 und 20 durch die P -Leitungen 72 oder 71. Die Leitung 62 wird für den zweiten Operanden erregt und ermöglicht eine Wahl im zweiten Paar der ABR-Register 30 und 40 durch die P1. -Leitung 72 oder 71.
Das folgende Beispiel zeigt die interne Arbeitsweise der ABR-Schaltungen:
PO 9-73-034 - 26 -
BO9827/0 538
Wenn man annimmt, dass ein Operationsende-Signal (ENDE OP) gerade auf der Leitung OO erschienen ist und den Abschluss der letzten Instruktionsausführung anzeigt, dann wei-den dadurch alle Gültigkeitsmerker 11, 21, 31 und 41 zurückgestellt.
Wenn man weiter annimmt, dass der Prozessor gerade einen Signalimpuls "OPDl ANFORD. " auf die Leitung 61 gegeben hat, und dass das P -Bit im virtuellen Adressregister 100 auf 0 steht und damit einen geradzahligen Inhalt des virtuellen Seitenfeldes P anzeigt, dann erregt das 0-Signal auf der Leitung zum Inverter 70 dessen Ausgangsleitung 72. Das UND-Glied .12 wird daher durch die erregten Leitungen 61 und 72 eingeschaltet und seine Ausgangsleitung 13 liefert ein Wahlsignal zur Vorbereitung der UND-Glieder 17, 14 und 15.
Da der Merker 11 jetzt zurückgestellt ist, schaltet sein Komplementärausgang (c) das UND-Glied 14 ein und erregt die Leitung 73 ziu* Abgabe eines Operandenadressumsetzungs-Ailforderungssignales durch das ODER-Glied 51 an die DATM 120. Wenn die Adressumsetzung möglich ist, wird die Leitung 102 erregt; wenn sie nicht möglich ist, entsteht ein Signal auf der Leitung 101 zur Erzeugung einer Spitenaustausch-
PO 9-73-034 : - - 27 -
SO982 7 /0 538
unterbrechung. Nimmt man an, dass die Adressumsetzung möglich ist (d. h. Operand im Hauptspeicher)! so erregen Signale auf den Leitungen 102 und 73 das UND-Glied 74, und dessen Ausgangsleitung 75 betätigt das UND-Glied 15, welches dann das Torglied 16 zur Uebertragung der Hauptspeicher-Seitenrahmenadresse von der Sammelleitung 121 in das ABR-Register 10 (NR. 1 GERADE) betätigt. Das Signal vom UND-Glied 74 wird ausserdem durch die Verzögerungsschaltung 76 (At) verzögert und schaltet kurz danach das UND-Glied 17 ein, um den Gültigkeitsmerker 11 für NR. 1 GERADE auf seinen Gültigkeitszustand zu setzen und damit anzuzeigen, dass der Inhalt des Registers 10 gültig ist. Dadurch wird der (t)-Ausgang des Merkers 11 erregt. Dann überträgt das Torglied 19 den gültigen Inhalt des ABR-Registers 10 in das Rahmenadress-Feld im SAR-Register 110.
Wenn die laufende Instruktion fertig ausgeführt ist, erregt die Ausführungseinheit die Operationsende-Leitung 60, wodurch der Merker 11 zurückgestellt wird und einen ungültigen Zustand für den Inhalt des ABR-Registers 10 anzeigt. Das UND-Glied 18 sperrt das Torglied 1.9 ab, so dass die Verbindung zwischen dem Register 10 und dem SAR gesperrt ist.
PO 9-73-034 - 28 -
509827/0538
Wenn eine nachfolgende Instruktion" ihren ersten Operanden mit einer ungeradzahligen Seitenadresse P im VAR 100 anfordert, wird das P -Bit auf 1 gesetzt und dadurch die Leitung 72 abgeschaltet. Jetzt erregt aber die Leitung 71 das UKD-Glied 22 und die Wahlleitung 23, die die UND-Glieder 24, 74, 25 und 26 und dann das UND-Glied 27 einschaltet, den Merker 21 setzt und das UND-Glied 28 und das Torglied 29 genau so einschaltet, wie es vorher für die Schaltungen 12, 14, 15, 16, 17, 11, 18 und 19 beschrieben wurde. Infolgedessen liefert das Torglied 29 die ungerade Seiteiurahmenadresse vom Register 20 an das SAR 110.·
Wenn eine Instruktion einen zweiten Operanden anfordert, wird die Leitung 62 erregt und dadurch die Wahl der ABR-Register 30 oder* 40 abhängig davon ermöglicht,' ob das Signal auf der PT -Leitung
JL» '
71 ein gerades P-FeId bezeichnet. Die mit den Merkern 31 und 41. vei'bundenen Schaltungen arbeiten genau so, wie es oben für die mit den Merkern 11 und 21 verbundenen Schaltungen beschrieben wurde.
Wenn der Operand eine Folge von Bytes enthält, wird die Byteadresse vom D-Feld im VAR 100 normalerweise im Prozessor'schrittweise
PO 9-73-034 - 29 -
B09827/0B38
verändert, und das D-Feld im SAR 110 ändert sich entsprechend.
Wenn die Möglichkeit besteht, dass sich der Operand über eine Seiteiirahmengrenze hinaus erstreckt, muss der Prozessor in einer Vorprüfung sicherstellen, dass beide Seiten zur Verfügung stehen, bevor der Punkt erreicht ist, nach welchem die Instruktion nicht mehr unterbunden werden kann. Das kann durch Adressierung des ersten und letzten Operandenbyte erfolgen. Während dieser beiden Zugriffe wechselt das wertniedere P -Bit im VAR 100, wenn sich der Operand
L-i
bis in die nächstfolgende virtuelle Seite in demselben Segment erstreckt. Dann wird das P-FeId im VAR 100 auf die Adresse der nächsten Seite verändert, und die DATM 120 liefert eine andere Hauptspeicher-Rahmenadresse auf die Leitung 121, die der neuen S-P-Kombination im VAR entspricht. Wenn also der Zustand des P -Bitsignales auf der
Lj
Leitung 71 invertiert wird, wird die neue Seitenrahmenadresse auf der Leitung 121 in das andere ABR-Register des Paares gesetzt. Die ABR-Schaltungen arbeiten genauso, wie es oben beschrieben wurde, um das Ueberschreiten einer Seitengrenze zu unterstützen; die Operationsende-Leitung 60 wird jedoch nicht erregt, so dass der erste in dem Paar
PO 9-73-034 - 30 -
ΒΌ9 827/053 8
einzuschaltende Gültigkeitsmerker eingeschaltet bleibt, wenn der zweite Merker eingeschaltet wird. Das zuletzt für den ersten Seitenrahmen betätigte der vier Torglieder 19, 29, 39 und 49 wird jedoch gesperrt, weil die zuletzt aktive Wahlleitung 13, 23, 33 oder 43 durch die Zustandänderung des P -Bit im VAR 100 abgeschaltet wird. Somit enthalten beide Register des Paares die gültigen Seitenrahmenadressen für den Operanden, aber nach Ueberschreiten der Grenze wird nur der Inhalt des zweiten betätigten ABR-Registers des Paares in das SAR 100 ausgegeben.
Betrieb der beschriebenen Schaltungen
Die in den Fign. 1 und 2 gezeigten neuartigen ABR-Schaltungen können mit den in den Fign. 3 und 4 gezeigten Verfahren betrieben werden. Das Verfahren in Fig. 3 teilt die Deaktivierung (Ungültigmachung) einer Seite den anderen Prozessoren in einem Multiprozessorsystem mit. Das Verfahren in Fig. 4 gestattet den anderen Prozessoren eine asynchrone Reaktion, wodurch jeder Prozessor die Ausführung seiner laufenden Instruktion beenden kann, auch wenn sie den ungültig gemachten Seitenrahmen benutzt. Das Verfahren in Fig. 4 verhindert die Entfernung
PO 9-73-034 _ 31 _
509827/0538
2^55562
der entsprechenden Seiten, bevor alle Prozessoren die Ausführung ihrer laufenden Instruktion beendet haben. Die ABR-Schallungen in Fig. 2 stellen sicher, dass die Adressierbarkeit des Seitenrahmens für die laufende Instruktion eines jeden Prozessors aufrechterhalten wird; die in den Fign. 3 und 4 gezeigten Verfahren stellen sicher, dass die Seite im adressierbaren Seitenrahmen nicht aus dem Hauptspeicher genommen wird, bevor alle Prozessoren die Ausführung ihrer laufenden Instruktion beendet haben. Diese kombinierte Operation stellt eindeutige Ergebnisse der Ausführung laufender Instruktionen sicher, während eine Seite ungültig gemacht wird, und vermeidet eine notwendige Unterdrückung und Wiederholung der Ausführung einer laufenden Instruktion aufgrund dieses Vorganges.
In den Fign. 3 und 4 ist die Benutzung eines gemeinsamen Koordinationszählfeldes (KZF) vorausgesetzt, welches sicherstellt, dass die betreffenden Seite, zur Verfügung steht, nachdem sie deaktiviert (ungültig gemacht) wurde, bis sie von allen laufenden Instruktionen nicht mehr gebraucht wird. Mit Hilfe des KZF kann man ausserdem bestimmen, welcher Prozessor die Systemaufgabe zugeordnet erhält, die Seite aus dem betreffenden Seitenruhmen in einen Peripherspeicher
PO 9-73-034 - 32 -
609827/0538
zu übertragen (jedoch nur· dann, wenn die Seite verändert würde und sich somit von dei· auf dein Peripherspeicher gefundenen unterscheidet, von wo sie ursprünglich in den Seitenrahmen kopiert wurde). Wenn die Seite laicht'verändert wurde, braucht sie nicht übertragen zu werden, da eine genaue Kopie auf dem Peripherspeicher vorhanden ist, von wo man sie erbalten hat. Dann kann eine neue Seite in den zugeordneten Sä tenrahmen eingegeben wei-den. Die neue Seite überlagert die alte Seite im Seitenrahmen und zerstört sie daher.
Fig. 3 zeigt die programmierten Operationen in einem Prozessor, welcher anfängt, eine bestimmte von anderen Prozessoren benutzte Seite zu deaktivieren (ungültig zu machen).
Dieser Vorgang kann z. B. durch Anforderung einer Seite im Prozessor A ausgelöst werden, wodurch im System ein Seitenrahmen zugeordnet wird, der gegenwärtig von anderen Prozessoren B und C benutzt wird. Wenn der Prozessor eine Seitenaustauschunterbrechung erzeugt, leitet er ein konventionelles Systemunterbrechungsprogramm, ein, welches mit den Verfahrensschritten in Fig. 3 in Verbindung steht, die das
PO 9-73-034 - 33-
B09827/0538
Ungültigmachen der Seitentabellen-Eintragung allen anderen Prozessoren im Multxprozessorsystem mitteilt. Der einleitende Prozessor führt dann eine Instruktion "Adressumsetzungsspeicher TLB löschen" aus (Schritt 301). So wird dieser Prozessor daran gehindert, seinen TLB zu benutzen, bis dieser neue Eintragungen enthält. Dann initalisiert dieser Prozessor das Koordinations-- i Zählfeld KZF auf einen Anfangswert (Schritt 302) mit einem Signal, ι das eine Zahl darstellt, die um Eins kleiner ist als die Anzahl vonj Prozessoren im Multiprozessorsystem. Jedem anderen Prozessor i wird dann durch Signale (Schritt 303) vom einleitenden Prozessor mitgeteilt, daß der zughörige Seitenrahmen ungültig gemacht ist. Porzessor A gibt dazu eine Signalprozessorinstruktion "GIGP" an alle anderen Prozessoren. Dadurch wird ein Befehlscode an jeden anderen Prozessor übermittelt, der diesem die ungültiggemachte Seitentabellen-Eintragung mitteilt. Außerdem wird eine unterbrechungsanforderung an alle anderen Prozessoren übertragen, um in diesen bei beendeter Ausführung der laufenden Instruktion eine Unterbrechung zu erzeugen und asynchron die in Fig. 4 gezeigte programmierten Verfahrensschritte einzuleiten.
PO 9-73-034
- 34 -
809827/0538
Nach Empfang der genannten Unterbrechungsanforderung und eines Befehls code beenden alle anderen Prozessoren die Ausführung ihrer laufenden Instruktion, wobei sie mit Hilfe ihrer ABR-Register den ungültig gemachten Seitenrahmen adressieren können. Bei Beendigung der laufenden Instruktion wird jeder empfangene Prozessor unterbrochen und fühlt daraufhin den vom einleitenden Prozessor gelieferten Bexehlscode ab. Das bedeutet: Jeder Prozessor beendet die Ausführung seiner laufenden Instruktion, bevor er zum Abfragen des Befehlscodes unterbricht und feststellt, dass eine Seite ungültig gemacht wurde.
Da die Prozessoren nicht miteinander synchron laufen, bedeutet die Beendigung der Ausführung einer Instruktion durch einen Prozessor nicht, dass jeder andere Prozessor notwendigerweise'die Ausführung seiner laufenden Instruktion ebenfalls beendet hat, da verschiedene Instruktionen unterschiedliche Zeit zur Ausführung in derselben Prozessorart brauchen, und da ausserdem verschiedene Prozessorarten auch mit verschiedenen Geschwindigkeiten arbeiten. Die den ungültig gemachten Seitenrahmen benutzenden Prozessoren können somit die Ausführung ihrer laufenden Instruk ion zu ganz verschiedenen Zeiten beenden und durch die SIGP-Unterbrechungsanforderung zu verschiedenen Zeiten unterbrochen
PO 9-73-034 - 35 -
50 9 8 27 /0538
2Ä55562
werden. Die in Fig. 4 gezeigten Verfahrensschritte werden daher von jedem Prozessor selbst eingeleitet (nicht synchronisiert).
Die in Fig. 4 gezeigten Verfahrensschritte bestimmen, von wann ab der Seitenrahmen von keinem Prozessor mehr benutzt werden kann,
und welcher Prozessor die Seite in einen Peripherspeicher zurücküberträgt, wenn sie verändert wurde.
Das in Fig. 4 gezeigte Verfahren beginnt .mit der A usführung des Schrittes 401, durch welchen der Adressumsetzungsspeicher TLB im betreffenden Prozessor gelöscht wird (beispielsweise durch Ausführung einer TLB-Löschinstruktion), um die weitere Benutzung dieser Tabelle zu verhindern, bis sie durch eine oder mehrere neue Eintragungen neu aufgefüllt ist. Im Schritt 402 wird der KZF-Inhalt in ein allgemeines Register Rl übertragen, und im Schritt 403 dieser Inhalt in ein anderes allgemeines Register R3 geladen. Im Schritt 404 wird der KZF-Inhalt im Register R3.um Eins vermindert (heruntergezählt). Der den Inhalt seines Registers R3 auf Null heruntersetzende Prozessor ist der letzte, der die ungültig gemachte Seite gebraucht haben kann, und ihm wird die
PO 9-73-034 . - 36 -
509 827/0538
Aufgabe zugeordnet, die betroffene Seite in einen Peripherspeieher zurückzuübertragen, falls sie verändert wurde.
Die Schritte 402, 403 und 404 stellen die für die-Ausführung einer Instruktion "Vergleich und Austausch" im Schritt 406 benötigten Register bereit. In den Schritten 402 und 403 lädt der Prozozessor also den KZF--Inhalt in die Register Rl und R3, und im Schritt 404 wird diese Zahl im Register R3 dann um Eins vermindert (heruntergezählt). Die Instruktion "Vergleich und Austausch" wird dann im Schritt 406 ausgeführt mit den Operanden in Rl, R3 und dem Speicheroperanden KZF an einer gegebenen Adresse (B-,D2).
Da die verschiedenen Prozessoren das KZF-PoId asynchron adressieren, ist es möglich, daß mehrere Prozessoren dem KZF zufällig den gleich Zählwert entnehmen, ihn um EINS vermindern und den neuen Wert in das KZF-FeId zurückspeichern, was den KZF-Wert unzuverlässig machen würde, wenn die anderen Prozessoren darüber nicht unterrichtet werden. Die KZF-Benutzung kann zuverlässig gestaltet werden, wenn der herabsetzende Prozessor weiß, daß der KZF-Inhalt zwischen dem Zeitpunkt, an dem er den KZF-Inhalt in das'
PO 9-73-034
- 37 -
509827/0538
Register Rl setzte (im Schritt 402) und dem Zeitpunkt, an dem die CS-Instruktion (im Schritt 406) ausgeführt wurde, nicht verändert wurde. Die CS-Instruktion erkennt, ob das KZF verändert wurde zwischen dem Schritt 402 und dem Schritt 406 durch Vergleichen des im Hauptspeicher z. Zt. des Schrittes 406 stehenden KZF mit dem früher durch den Schritt 402 erhaltenen KZF-Wert im Register Rl. Wenn die CS-Instruktion eine Übereinstimmung feststellt, kann der Inhalt gegenüber dem Schritt 402 durch keinen Prozessor verändert worden sein, und dann speichert die CS-Instruktion in das KZF den erniedrigten Wert vom Register R3. Während ein Prozessor eine CS-Instruktion ausführt, kann kein anderer Prozessor den Hauptspeicher adressieren. Damit ist die Zuverlässigkeit in der Benutzung des KZF sichergestellt und man erhält' eine Koordination der Prozessoren durch Heruntersetzen des KZF--Inhaltes durch die verschiedenen Prozessoren.
Im einzelnen heißt das, daß in einer nichtunterbrechbaren Operation eines bestimmten Prozessors, die den Speicherzugriff durch alle anderen Prozessoren in einem konventionellen Multiprozessor- system ausschließt, die CS-Instruktion den Inhalt von Rl und KZF miteinander vergleicht und bei Übereinstimmung den herunterge-
PO 9-73-034
- 38 -
609827/0538
setzten Inhalt von R3 in die KZF-Stelle im Hauptspeicher setzt"; wenn jedoch Rl und KZF nicht mehr übereinstimmen, lädt die CS-Instruktion das Register Rl mit dem neuen Wert des KZF (dieser Vorgang zeigt an, daß während der Zeit zwischen den Schritten und 406 einer oder mehrere Prozessoren den KZF-Wert heruntergesetzt haben). Der Bedingungscode CC der CS-Instruktion zeigt an, ob sie gleiche (CC = 0) oder ungleiche (CC = 1) Werte während ihrer Ausführung feststellte.
Durch Prüfung des während der Ausführung der CS-Instruktion gesetzten Bedingungscode CC wird im Schritt 407 festgestellt, ob eine Überschneidung mehrerer Prozessoren mit dem KZF auftrat. Der Bedingungscode CC findet sich im Programm-Statuswort des betreffenden Prozessors. Wenn der Schritt 407 den Bedingunscode Null findet, ist keine Überschneidung aufgetreten, weil der KZF-Inhalt sich zwischen den Schritten 402 und 406 nicht verändert. Wenn
er Bedingungscode Eins festgestellt wird, wird dadurch eine Überschneidung erkannt un der neue KZF-Wert steht im. Register Rl '. Dann wird die Ausführung der CS-Instruktion mit diesem neuen KZF-Wert im Register Rl durch.erneuten Beginn des
PO 9-73-034 - 39 -
BQ9827/0 538
MO
Schrittes 403 wiederholt, der den Inhalt des Register Rl in das Register R3 setzt. Dann wird der Schritt 404 ausgeführt und die CS-Instruktion wieder durch den Schritt 406 ausgeführt, um festzustellen, ob bei dem neuen KZF-Wert eine "Ueberschneidung mit einem anderen Prozessor zwischen der letzten und der gegenwärtigen Ausführung des Schrittes 406 stattfand.
Wenn der Schritt 407 wieder eine Ueberschneidung feststellt, wird wieder der Schritt 403 ausgeführt und diese Schleife wiederholt, bis der Schritt 407 keine Ueberschneidung feststellt, d. h. , bis der Bedingungscode Null abgefühlt wird.
Der Schritt 408 prüft dann den Wert im Register R3, um festzustellen, ob der KZF-Inhalt auf Null heruntergezählt wurde und so zu ermitteln, ob dieser Prozessor der letzte ist, der die Ausführung seiner laufenden Instruktion beendet hat. Wenn der KZF-Inhalt von Null verschieden ist, wird der ungültig gemachte Seitenrahmen noch durch die laufende Instruktion in irgend einem anderen Prozessor (C) benutzt, und dieser Prozessor (B) kehrt ohne Benutzung des ungültig gemachten Seitenrahmens (für den keine weitere Adressierbarkeit besteht, weil bei
PO 9-73-034 - 40 -
5.09 8 27/0 53 8
W-/
Beendigung der laufenden Instruktion die Operationsende·-Leitung 60 gepulst wird) zur Verarbeitung zurück. Durch den Impuls auf Leitung 60 werden alle Merker 11,. 21, 31 und 41 in Fig. 2 in den Zustand "ungültig" zurückgestellt und dadurch die Ausgabetore 19, 29, 39 und 49 aller ABR-Register gesperrt.
Wenn im Schritt 408 im Register R3 der Inhalt Null festgestellt wird, heißt das, daß alle Prozessoren die Benutzung des Inhaltes des ungültig gemachten Seitenrahmens beendet haben und daß der betreffende Prozessor ihn als Letzter benutzte, da er den Inhalt des Registers auf Null herunterschaltet. Infolgedessen führt dieser Porzessor den Schritt 409 aus und prüft, ob der Inhalt der ungültig gemachten Seite verändert wurde.
Ein Porzessor fühlt hierzu die Stellung eines Änderungsbit für diesen.Seitenrahmen ab. Meist wird ein Speicherblock für einen Seitenrahmen mit 2048 Bytes oder zwei Speicherblocks für einen Seitenrahmen mit 4096 Bytes benutzt. Das Änderungsbit für den
PO 9-73-034 - - 41 -
509827/0538
HS.
betroffenen Speicherblock wird durch Ausführung einer Instuktion RRB (Referenzbit zurückstellen) für jeden diesen Seitenrahmen enthaltenden Speicherblock geprüft. Wenn sich aus der Ausführung der RRB-Instruktion ein Bedingungscode 1 oder 3 ergibt, ist das Änderungsbit eingeschaltet und der Schritt 410 wird begonnen, um die betreffende Seite in einen Peripherspeicher auszugeben. Wenn der Bedingungscode Null oder 2 ist", wurde die Seite nicht verändert und der Ausgang NEIN vom'Schritt 409 wird gewählt, da der Seitenrahmen nicht zurückübertragen werden braucht.
Das in Fig. 4 gezeigte Verfahren endet dadurch, daß der Prozessor von dem letzten ausgeführten Schritt 408, 409 und 410 zu dem Programm zurückkehrt, welches dadurch unterbrochen wurde, daß eine Seite ungültig wurde und somit das Verfahren in Fig. 3 eingeleitet wurde. Der Prozessor kann die verdrängte Seite wieder benutzen, wenn sie vom Programm noch gebraucht wird, indem er sie in einen anderen zugeordneten Seitenrahmen setzen läßt. Das erfolgt automatisch aufgrund einer Seitenaustauschanforderung, wenn eine nachfolgende Instruktion einen Operanden in der Seite benötigt, die nicht mehr im Hauptspeicher zu Verfügung steht.
PO 9-73-034
- 42 -
509827/0538
Fig. 5 ist ein Zeitdiagramm eines Operationsablaufs in einein Multiprozessorsystem mit den Prozessoren A, B und C, die je.weiis ihx*e eigene TLB- und ABR-Einrichtungen der in Fig. 1 und-2 gezeigten Art haben. Das Zeitdiagramm "in Fig. 5 stellt eine Situation dar, in der der Prozessor A ein Seitenaustausch-Unterbrechungssignal erzeugte, durch das die Deaktivierung eines Seitenrahmens veranlasst wurde, der eine Seite mit Operanden enthielt, die durch laufende Instruktionen in den Prozessoren B und C gebraucht wurden.
.Prozessor A macht eine Seitentabellen-Eintragung ungültig und leitet die vorher mit Fig. 3 beschriebene Systemsteuerroutine ein, und die Prozessoren B und C reagieren jeweils zu verschiedenen Zeiten asynchron dadurch, dass jede die vorher mit Fig. 4 beschriebene Systemsteurroutine ausführt. Somit führt Prozessor A die TLB-Loschinstruktion (Schritt 301) aus, initialisiert KZF mit dem Wert 2 . (Schritt 302), d. h.., mit der Anzahl der anderen in diesem Multiprozessorsystem befindlichen Prozessoren, und führt dann zwei SIGP-Instruktionen aus (Schritt 303), die Befehlscodes und Unterbrechungsanforderungen an die Prozessoren B und C senden. Prozessor A verschiebt dann seine Tätigkeit auf den Prozess, den er unterbrochen hat, bevor er das in
PO 9-7.3-034 .' - 43 -
'509827/0538
Fig. 3 gezeigte Verfahren anfing. Die Befehls codes und Unterbrechungsanforderungen veranlassen jeden empfangenden Prozessor zur Unterbrechung und asynchronen Einleitung der in Fig. 4 gezeigten Systemsteuerroutine, sobald er die Ausführung seiner laufenden Instruktion beendet hat.
Wichtig ist die Löschung des Adressumsetzungsspeichers TLB in jedem Prozessor, auch wenn die laufende Instruktion den ungültig gemachten Seitenrahmen nicht benutzt, da der TLB trotzdem eine Eintragung für den ungültig gemachten Seitenrahmen enthalten kann.
Die Prozessoren B und C arbeiten also jeweils asynchron zueinander und zum Prozessor A. Nach Darstellung in Fig. 5 unterbricht jeder Prozessor zu einem anderen Zeitpunkt unabhängig von den anderen Prozessoren im System;'jede Unterbrechung erfolgt, wenn der betreffende Prozessor die Ausführung seiner laufenden Instruktion beendet hat. Wenn diese Unterbrechung in den Prozessoren B und C auftritt, beginnt die in Fig. 4 gezeigte Systemsteurprogrammroutine, und demzufolge führen B und C die Schritte in Fig. 4 zu verschiedenen Zeiten aus. In diesem Beispiel wird der Inhalt des KZF im Hauptspeicher durch B auf Null
PO 9-73-0.Ί4 . - 44 -
5.09827/0538
heruntergesetzt, so dass B der letzte Prozessor ist, der den ungültig gemachten Seitenrahmen hatte gebrauchen können. Somit wird B ausgewählt zum zurüekübertragen der Seite in einen Peripherspeicher.
Natürlich kann jede Anzahl von ABR-Registerpaaren und der zugehörigen ABR-Steuerschältungen benutzt werden, um Instruktionen zu erlauben, die eine entsprechende Anzahl von Operanden haben, ohne dass es für diese Anzahl von Operanden eine theoretische Obergrenze gibt.
PO 9-73-034 ' ■ ~ 45 -
509827/0 538

Claims (1)

  1. Mb
    PATENTANSPRÜCHE
    Datenverarbeitungsanlage mit mehreren, gleichzeitig betriebenen Prozessoren (Multiprozessoranlage), die einen gemeinsamen Hauptspeicher virtuell adressieren, wobei jeder Pro-
    zessor zur Aufnahme der zum Hauptspeicher liefernden virtuellen Adresse ein Virtuell-Adreßregister und eine Adreßumsetzungseinrichtung zur Umwandlung von virtuellen Adressen in jeweils zugeordnete reelle Hauptspeicherseitenadressen aufweist,
    gekennzeichnet durch eine Vielzahl von Adreßbereitschaftsregistern (10, 20, 30, 40) zur Aufnahme, je einer Hauptspeicher-Seitenadresse,
    durch eine Vielzahl von je einem Adreßbereitschaftsregister zugeordneten bistabilen Gültikeitsmerkern (11, 21, 31, 41), durch erste Verknüpfungsschaltungen (15, 16, 25, 26, 35, 36, 45, 46, 74) zur übertragung einer von der Adreßumsetzungseinrichtung (120) abgegebenen Hauptspeicher-Seitenadresse in ein durch eine aktivierte Operandenanforderungs-Steuer- - leitung ausgewähltes Adreßbereitschaftsregister, durch zweite Verknpüfungsschaltungen (17, 27, 32a, 47, 76), um den dem ausgewählten Adreßbereitschaftsregister zugeordneten Gültigkeitsmerker zu setzen, durch dritte Verknüpfungsschaltungen (18, 19, 28, 29, 38, 39, 48, 49) zur übertragung des Inhalts eines ausgewählten Adreßbereitschaftsregisters in ein Hauptspeicheradreßregister (110) jedesmal wenn die zugeordnete Operandenanforderungs-Steuerleitung aktiviert und der zugehörige Gültig-
    PO 9-73-034 . - Q-- '
    5 0 9827/0538
    keitsmerker gesetzt ist und
    eine Verbindung (60) zwischen einer, Operationsende-Steuerleitung und den Rückstelleingängen (R) aller Gültigkeitsmerker zu ihrer gemeinsamen Rückstellung nach Beendigung der Ausführung jeder Instruktion.
    2. Datenverarbeitungsanlage nach Patentanspruch 1, dadurch gekennzeichnet, daß
    zu jeder Operandenanforderungs-Steuerleitung (ζ. Β. 61) ein Paar von Adreßbereitschaftsregistern (10, 20) mit zugehörigen Gültigkeitsmerkern (11, 21) vorgesehen 1st, daß zwei komplementäre Anzeigeleitungen (71, 72 vorgesehen sind, die mit dem Ausgang derjenigen Speicherstelle (PL) des Virtuell-Adreßregister (100) verbunden sind, wel-. ·-.. ehe dem niederwer tigs ten Bit des Seitenadreßteils der virtuellen Adressen entspricht; und daß die ersten (15, 16; 25, 26), zweiten (17; 27) und dritten (18, 19; 28, 29) Verknüpfungsschaltungen über Verbindungsglieder (12, 13; 22, 13) derart mit den komplementären Anzeigeleitungen (71, 72) verbunden sind, daß immer nur eines der beiden Adreßbereitschaftregister'eines Paares zum Einlesen bzw. Ausgeben einer Adresse ausgewählt wird, in Abhängigkeit vom niederwertigsten Bit der virtuellen Seitenadresse.
    Datenverarbeitungsanlage nach Patenanspruch 1, dadurch gekennzeichnet, daß jeder Prozessor eine Nichtoperanden-Anforderungsleitung aufweist, die mindestens bei Anforderung
    PO 9-73-034 -47-
    509 827/0 53 8
    jeder Instruktion beaufschlagt wird, und daß vierte Verknüpfungsschaltungen (52, 59) vorgesehen sind, um bei Aktivierung der Nichtoperanden-Anforderungsleitung eine von der Adreßumsetzungseinrichtung (120) abgegebene Hauptspeicheradresse direkt an das Speicheradreßregister (110) weiterzugeben, ohne Benutzung der Adreßbereitschaftsregister (10, 20, 30, 40).
    4. Datenverarbeitungsanlage nach Patenanspruch 1, dadurch gekennzeichnet, daß die ersten Verknüpfungsschaltungen (15, 16, 25, 26, 35, 36, 45, 46, 74) für jedes Adreßbereschaftsregister (z. B. 10) einer Torschaltung (16) aufweisen, Welche das Adreßbereitschaftsregister mit Ausgängen der Adreßumsetzungseinrichtung (120) verbindet, und deren Steuereingang mit einem ÜND-Gleid (15) verbunden ist, dessen erster Eingang über Verbindungselemente (12, Γ3) mit einer Operandenanforderungs-Steuerleitung (61) verbunden ist, und dessen zweiter Eingang mit einer Steuerleitung (75 für ein Adreßumsetzungs-Anzeigesignal verbunden ist.
    5. Datenverarbeitungsanlage nach Patentanspruch 1, dadurch gekennzeichnet , daß die zweiten Verknüpfungsschaltungen (17, 27, 32a, 47, 76) für jeden Gültigkeitsmerker (z. B. 11) ein UND-Glied (17) aufweisen, dessen Ausgang mit dem Setzeingang (b) des GÜltigkeitsmerkeers verbunden ist, dessen erster Eingang über Verbindungselemente (12, 13) mit einer Operandenanforderungs-Steuerleitung (61) und dessen zweiter Eingang über eine Verzögerungsschaltung (76) mit einer
    PO 9- 73-034 - 48 -
    509827/0538
    Steuerleitung (75) für ein Adreßumsetzungs-AnzeigesignaL _. verbunden ist.
    6.. Datenverarbeitungsanlage nach Patentanspruch 1, dadurch gekennzeichnet, daß die dritten Verknüpfungsschaltungen (18, 19, 28, 29, 38, 39, 48, 49) für jedes Adreßbereitschaftsregister (z.. B. 10) eine Torschaltung (19) aufweisen, welche die Ausgänge des Adreßbereitschaftsregisters mit Eingängen des Speicheradreßregisters (110) verbindet, und deren Steuereingang mit einem UND-Glied (18) verbunden ist, dessen erster Eingang über Verbindungselemente (12, 13) mit einer Operandenanforderungs-Steuerleitung (61) verbunden ist, und dessen zweiter Eingang mit dem Hauptausgang zugeordneten Gültigkeitsmerkers (11) verbunden ist.
    7. Verfahren zum Erhalt der Adresslerbarkeit in einer Datenverarbeitungsanlage nach Patentanspruch 1, dadurch gekennzeichnet, daß bei Einleitung einer Seitenaustauschoperation durch einen der Prozessoren
    - allen anderen Prozessoren eine entsprechende Anweisung (SIGP) gegeben wird;
    - ein Anfangszählwert in ein gemeinsam zu benutzendes Koordinationszählregister (KZF) eingegeben wird, der um eine Einheit kleiner ist als die Anzahl der Prozessoren;
    ■- jeder der anderen Prozessoren die laufende Instruktion mit den in seinen Adreßbereitschaftsregistern vorhandenen Adressen fertig ausführt, und dann in einer Unter-
    PO 9-73-034 ~ 49. -
    5 09827/0 538
    brechungsoperation den Inhalt einer Tabelle (TLB) in seinem Adreßumsetzungsspeicher (120) löscht und den Wert im gemeinsam benutzten Koordinationszählregister um eine Einheit vermindert, wobei nachgeprüft wird, ob der neue Wert gleich Null ist;
    - der Prozessor, der den Inhalt des Koordinationszählre-gisters auf Null herabsetzt, den tatsächlichen Austausch für den vom einleitenden Prozessor ausgewählten Seitenrahmen bewirkt.
    8. Verfahren nach Patentanspruch 7, dadurch gekennzeichnet, daß zur Verminderung des Inh'alts des gemeinsam benutzten Koordinationsaählregisters (KZF)
    a) der Koordinationszählwert in ein erstes Register (Rl) des betreffenden Prozessors übertragen wird;
    b) der Wert vom ersten (Rl) in ein zweites (R3) Register des • betreffenden Prozessors übertragen und dann der Inhalt des zweiten Registers um eine Einheit vermindert wird; das dann
    c) eine Vergleich- und -Austausch-Operation ausgeführt wird, indem der Inhalt des ersten Registers (Rl) mit dem laufenden Inhalt des Koordinationszählregisters (KZF) verglichen wird, und daß
    - bei Ungleichheit die Schritte a bis c wiederholt werden, oder
    PO 9-73-034 - 50 -
    509827/0538
    bei Gleichheit der Inhalt des zweiten Registers (R3) in das gemeinsam bentutzte Koordinationszählregister (KZF) übertragen wird.
    PO 9-73-034
    5098 2 7/0538
    Le er s e it e
DE19742455562 1973-12-26 1974-11-23 Multiprozessoranlage und Verfahren zum Erhalt der Adressierbarkeit in einer derartigen Anlage Expired DE2455562C3 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US42827673 1973-12-26
US05/428,276 US3947823A (en) 1973-12-26 1973-12-26 Means for coordinating asynchronous main store accesses in a multiprocessing system using virtual storage

Publications (3)

Publication Number Publication Date
DE2455562A1 true DE2455562A1 (de) 1975-07-03
DE2455562B2 DE2455562B2 (de) 1977-03-31
DE2455562C3 DE2455562C3 (de) 1977-11-03

Family

ID=

Also Published As

Publication number Publication date
ZA747113B (en) 1976-06-30
CA1019453A (en) 1977-10-18
FR2256473B1 (de) 1977-07-08
DE2455562B2 (de) 1977-03-31
NL7415571A (nl) 1975-06-30
AU7527874A (en) 1976-05-13
SE7415972L (de) 1975-06-27
US3947823A (en) 1976-03-30
FR2256473A1 (de) 1975-07-25
IT1027874B (it) 1978-12-20
GB1452843A (en) 1976-10-20
JPS5098746A (de) 1975-08-06
JPS5325775B2 (de) 1978-07-28
ATA949974A (de) 1978-04-15
AT347152B (de) 1978-12-11
SE403839B (sv) 1978-09-04
CH573629A5 (de) 1976-03-15

Similar Documents

Publication Publication Date Title
DE69022716T2 (de) Mehrrechnersystem mit verteilten gemeinsamen Betriebsmitteln und dynamischer und selektiver Vervielfältigung globaler Daten und Verfahren dafür.
DE2760322C2 (de)
DE2716051C2 (de) Datenverarbeitungsanlage mit einem oder mehreren Prozessoren mit mindestem einem Ein-/Ausgabekanal mit mehreren Unterkanälen und mit einer Speicheranordnung, bei der zum Speicherzugriff Schlüssel verwendet werden
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
DE2226382C3 (de) Datenverarbeitungsanlage mit mehreren Prozessoren und diesen zugeordneten Pufferspeichern
DE69019925T2 (de) Multiprozessorsystem mit verteilten gemeinsamen Betriebsmitteln und mit Vervielfältigung von globalen Daten.
DE69024078T2 (de) Mehrprozessoranordnung mit Vervielfältigung von globalen Daten und mit zwei Stufen von Adressübersetzungseinheiten
DE3338345C2 (de)
DE3852928T2 (de) Datenprozessor mit A/D-Umsetzer, um mehrere analoge Eingabekanäle in Digitaldaten umzusetzen.
EP0013737A1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
EP0006164B1 (de) Multiprozessorsystem mit gemeinsam benutzbaren Speichern
DE2134402A1 (de) Vorrichtung zum Abfragen der Verfug barkeit eines Kommunikationsweges zu einer Eingabe Ausgabeeinheit
CH619309A5 (de)
DE2523372B2 (de) Eingabe-ZAusgabe-Anschlußsteuereinrichtung
DE2054830C3 (de) Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge
DE3502147C2 (de)
CH615521A5 (de)
DE2657848A1 (de) Steuereinheit fuer ein datenverarbeitungssystem
EP0635792A2 (de) Verfahren zur Koordination von parallelen Zugriffen mehrerer Prozessoren auf Resourcenkonfigurationen
DE1499206C3 (de) Rechenanlage
DE1549531A1 (de) Digitale Rechenanlage
DE69822364T2 (de) Aufspürung von heissen Stellen in einer Maschine mit nichtuniformen Speicherzugriffen
DE69808628T2 (de) Mikroprozessorcachespeicherübereinstimmung
EP0265636A1 (de) Multiprozessor mit mehreren mit Cache-Speichern ausgerüsteten Prozessoren und einem gemeinsamen Speicher
CH495584A (de) Datenverarbeitungsanlage

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
E77 Valid patent as to the heymanns-index 1977
8339 Ceased/non-payment of the annual fee