DE3105115C2 - - Google Patents
Info
- Publication number
- DE3105115C2 DE3105115C2 DE3105115A DE3105115A DE3105115C2 DE 3105115 C2 DE3105115 C2 DE 3105115C2 DE 3105115 A DE3105115 A DE 3105115A DE 3105115 A DE3105115 A DE 3105115A DE 3105115 C2 DE3105115 C2 DE 3105115C2
- Authority
- DE
- Germany
- Prior art keywords
- cpu
- key
- processor
- processors
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Multi Processors (AREA)
- Memory System (AREA)
- Storage Device Security (AREA)
Description
Die Erfindung betrifft eine Datenverarbeitungsanlage
nach dem Oberbegriff des Patentanspruchs 1.
Bei einem üblichen Einzel- oder Multiprozessor-Rechner
system wird ein sogenanntes Multiprogrammiersystem ver
wendet, bei dem mehrere Programme im Timesharing verarbeitet
werden, damit mehrere Benutzer die gleiche Anlage
verwenden können. In dem Multiprogrammiersystem verwenden
verschiedene Programme den gleichen Hauptspeicher, weshalb
eine Speicherschutzeinrichtung vorgesehen werden muß, um
zu verhindern, daß ein Programm einen Zugriff zu einem
ausschließlichen Bereich für ein anderes Programm erhalten
kann. Eine Möglichkeit, um den Speicherschutz zu erreichen,
ist es, den Hauptspeicher in mehrere Blöcke aufzuteilen,
wobei jeder davon 2 K Byte enthält und als Einheit für den
Speicherschutz verwendet wird, und Speicherschlüssel den
Blöcken zuzuweisen. In diesem Fall wird jedem der Programme
ein Schutzschlüssel mit dem gleichen Wert, wie ein ent
sprechender Speicherschlüssel gegeben. Wenn das Programm
im Hauptspeicher Zugriff hat, wird der Schutzschlüssel mit
dem Speicherschlüssel verglichen. Wenn diese Schlüssel zu
einander identisch sind, oder wenn der Schutzschlüssel gleich
Null ist, wird ein Schreibbetrieb für einen Block zugelassen.
In anderen Fällen wird jedoch der Schreibbetrieb nicht zu
gelassen, wird vielmehr ein Alarmsignal abgegeben. Die
Schutzschlüssel sind in einem Speicher für exklusive Ver
wendung gespeichert, der als Schlüsselspeicher (KS) be
zeichnet wird.
Ein derartiges Speicherschutzsystem ist aus der
US-PS 33 28 765 bekannt. Bei derzeitigen
Rechnersystemen speichert der Schlüsselspeicher verschiedene
sich von dem Schutzschlüssel unterscheidende Schlüssel.
Beispielsweise wird ein Zugriffssperrenbit simultan mit
dem Speicherschlüssel verwendet. Wenn das Zugriffssperren
bit auf Null ist, erfolgt ein Schutz lediglich bezüglich
des Schreibbetriebes. Wenn das Zugriffssperrenbit den Pegel
"1" einnimmt, erfolgt ein Schutz nicht nur bezüglich des
Schreibbetriebes, sondern auch bezüglich des Zugriffsbe
triebes. Weiter sind ein Bezugsbit und ein Änderungsbit
in dem Schlüsselspeicher vorgesehen.
Zum Erreichen eines Hochgeschwindigkeits-Informationsverar
beitungssystems wird bezüglich des Hauptspeichers die An
zahl der Bänke, deren jede die Betriebseinheit bildet,
erhöht, und wird die Parallelverarbeitungsfähigkeit be
züglich der Bänke eingeführt, um die Verarbeitungsge
schwindigkeit zu erhöhen. Da jedoch mehrere Kilobyte in
dem Hauptspeicher zur Entsprechung einer Adresse im
Schlüsselspeicher vorgesehen sind, kann die erwähnte Mehr
bank-Methode im Hauptspeicher nicht für den Schlüssel
speicher verwendet werden. Folglich erfolgt die Verarbei
tung für den Schlüsselspeicher bei einem oder einem halben
Maschinenzyklus, um die Verarbeitungsfähigkeit des Schlüssel
speichers gleich dem des Hauptspeichers zu machen.
Andererseits sind in einem Multiprozessorsystem, in dem
mehrere Prozessoren den
Hauptspeicher gemeinsam besitzen, der Hauptspeicher und
der Schlüsselspeicher theoretisch allen Prozessoren
gemeinsam, weshalb sie große Verarbeitungsfähigkeit be
sitzen müssen. Bezüglich des Hauptspeichers kann eine
derartige Forderung dadurch erfüllt werden, daß die An
zahl der Bänke erhöht wird, und daß die parallele Verar
beitung für die Bänke verbessert wird, und bezüglich des
Schlüsselspeichers kann die obige Forderung dadurch er
füllt werden, daß der Schlüsselspeicher in jedem Prozessor
vorgesehen wird. In diesem Fall kann theoretisch
gesehen eine Schlüsselanforderungspriorität-Bestimmungs
einheit den Prozessoren gemeinsam sein, die
die Priorität zwischen Schlüsselzugriffsanforderungen, die
simultan in den Prozessoren erzeugt werden, bestimmt.
Beispielsweise ist es bei einem Multiprozessorsystem, das
höchstens vier Prozessoren, kurz CPU, enthält, not
wendig, in der Schlüsselanforderungsprioritäts-Bestimmungs
einheit Schnittstellen für die Prozessoren und
Adressensendeschaltungen vorzusehen, und es wird die Anzahl
der Schnittstellen und die Anzahl der Adressensendeschal
tungen gleich der erwähnten höchsten Zahl, nämlich Vier.
Wenn das System lediglich zwei Prozessoren enthält,
sind diejenigen Schnittstellen und Adressensendeschal
tungen in der Schlüsselanforderungsprioritäts-Bestimmungs
einheit, die den beiden Prozessoren entsprechen, nicht
in Verbindung. Das heißt, das System hat keine Flexibilität
bezüglich der Anzahl der darin enthaltenen Prozessoren.
Allgemein sind in Rechnersystemen, die mindestens einen
Prozessor aufweisen, wenn Schnittstellenschaltungen
bezüglich des Schlüsselschalters aus ähnlichen Einheiten
gebildet sind, einige der Schnittstellenschaltungen nicht
in Verwendung, wenn die Anzahl der Schnittstellenschal
tungen bezüglich einem Zustand optimiert ist, bei dem das
System die größte Anzahl der Prozessoren enthält.
Deshalb ist ein derartiger Systemaufbau unter dem Gesichts
punkt der Kostenentwicklung unerwünscht. Bezüglich der
zeitiger großmaßstäblicher Allzweck- bzw. Universalrechner
wird weitgehend ein Rechnersystem mit höchstens zwei
Prozessoren verwendet und sind verschiedene Schnitt
stellenschaltungen für einen derartigen Systemaufbau opti
miert oder standardisiert bzw. genormt. Es ist jedoch er
wünscht, daß die Schnittstellenschaltung bezüglich des
Schlüsselspeichers unabhängig von der Anzahl der in dem
System verwendeten Prozessoren optimiert ist.
Durch die Literaturstelle "Elektronik", 1974, Heft 10,
Seiten 392 bis 395, ist eine ringförmige Verbund-Struktur
von Prozessoren bei einem Mehrrechnersystem bekanntge
worden. Im Gegensatz zur vorliegenden Erfindung ist je
doch dort nicht die Zuordnung von jeweils einem Schlüssel
speicher zu jedem der Prozessoren beschrieben.
In "IBM Technical Disclosure Bulletin", Vol. 16, No. 6,
Nov. 73, Seiten 1847 und 1848, ist eine Datenverarbeitungs
anlage beschrieben, die zwei oder mehrere Prozessoren (CPU)
aufweist und bei der jeder Prozessor mit einem Schlüssel
speicher zur Speicherung von Steuerinformationen für den
Zugriff zu einem allen Prozessoren gemeinsamen Haupt
speicher ausgestattet ist. Im Gegensatz zur vorliegenden
Erfindung weisen die Prozessoren jedoch keine zusätzliche
Prioritätsschaltung für den Zugriff zum Hauptspeicher auf.
Der vorliegenden Erfindung liegt die Aufgabe zugrunde,
eine Datenverarbeitungsanlage mit den im Oberbegriff des
Hauptanspruchs angegebenen Merkmalen zu schaffen, bei der
die Einrichtungen zur Bestimmung der Priorität einer
Schlüssel-Zugriffs-Anforderung weitgehend unabhängig von
der Anzahl der Prozessoren eines Mehrprozessor-Rechners
sind.
Gelöst wird diese Aufgabe durch die im kennzeichnenden
Teil des Patentanspruchs 1 angegebenen Merkmale.
Zweckmäßige Ausgestaltungen und Weiterbildungen der Er
findung sind in den Unteransprüchen angegeben.
Die Erfindung gibt somit ein Multiprozessorsystem an, bei
dem die Anzahl der Prozessoren
in einer Weise verändert werden kann, daß eine
Schnittstellenänderung so gering wie irgend möglich ist.
Weiterhin ergibt sich aus der Erfindung ein optimales Verfahren für
den Zugriff zu Schlüsselspeichern an, die in mehreren
Prozessoren enthalten
sind.
Die Erfindung wird anhand der in der Zeichnung darge
stellten Ausführungsbeispiele näher erläutert. Es zeigt
Fig. 1 ein schematisches Blockschaltbild zur Erläuterung
der grundsätzlichen Schlüsselverarbeitung bei
einem Multiprozessorsystem,
Fig. 2, 3 ein Blockschaltbild eines Ausführungsbeispiels
der Erfindung, wobei Fig. 2 ein Übertragungs
system der Schlüsselinformation und Fig. 3 ein
Übertragungssystem eines Prioritätsbestimmungs
signals zeigen,
Fig. 4 ein Schaltbild eines Schaltungsaufbaus des Wähl
glieds gemäß Fig. 2,
Fig. 5 zeitabhängig Signalverläufe zur Erläuterung des
Betriebs des Übertragungssystems gemäß Fig. 3.
Zum besseren Verständnis der Erfindung wird vor einer näheren
Erläuterung eines Ausführungsbeispiels der Erfindung ein
Beispiel eines allgemeinen Schlüsselspeicher-Schnittstellen
netzwerks erläutert, das zur Erhöhung der Verarbeitungs
fähigkeit in einem Multiprozessorsystem verwendet wird,
und zwar beispielhaft anhand Fig. 1.
Fig. 1 zeigt einen allgemeinen Systemaufbau für die Schlüssel
verarbeitung, bei dem vier Prozessoren CPU 0-CPU 3 einen
einzigen Hauptspeicher MS gemeinsam besitzen. Gemäß Fig. 1
enthalten die Prozessoren CPU 0-CPU 3 jeweils einen
Schlüsselspeicher KS 0-KS 3. Jeder der Schlüsselspeicher KS 0-KS 3
speichert darin Schlüsselinformationen bezüglich des Haupt
speichers MS. Da die Schlüsselspeicher KS 0-KS 3 den gleichen
Inhalt am Schutzbit haben müssen, wenn ein Prozessor eine Speicherschlüsselend-Anforderung
(SSK-Anforderung) abgibt, müssen die jeweiligen Inhalte
der Schlüsselspeicher KS 0-KS 3 in verriegelter Verarbeitung
fortgeschrieben werden. Ein derartiger Fortschreibvorgang
ist auch für eine Speicherschlüsseleinfüg-Anforderung (ISK-
Anforderung) erforderlich.
Wie an sich bekannt, enthält die Schlüsselinformation die
Information, die mit einer sogenannten Adreßübertragung
zum Umsetzen logischer Adressen in reale
oder echte Adressen zusammenhängt und durch ein Bezugsbit
gegeben ist. Insbesondere nimmt das Bezugsbit den Pegel
"1" an, wenn ein entsprechender Block einem Lese- oder
Schreibbetrieb unterzogen wird. Die Schlüsselinformation
enthält ein Änderungsbit. Das Änderungsbit wird gesetzt,
wenn Daten in dem Hauptspeicher gespeichert werden. Jeder
Prozessor schreibt lediglich das Änderungsbit und das
Bezugsbit in einem Schlüsselspeicher weiter, der dem Prozessor
entspricht, bei Zugriff zu dem Hauptspeicher MS.
Folglich unterscheiden sich die Inhalte der einzelnen Schlüssel
speicher KS, die entsprechend für die einzelnen Prozessoren
(CPU's) vorgesehen sind, voneinander.
Wenn mehrere Prozessoren simultan SSK- oder ISK-An
forderungen abgeben, müssen, da die Möglichkeit besteht,
daß die Anforderungen die gleiche Adresse bezeichnen, die
Anforderungen seriell verarbeitet werden. Zu diesem Zweck
muß die Priorität unter den Anforderungen von den Prozessoren
bestimmt werden. In Fig. 1 ist eine Schlüssel
anforderungsprioritäts-Bestimmungseinheit 200 zur Bestimmung
der obigen Priorität vorgesehen. Die Bestimmungseinheit 200
erzeugt Prioritätsdaten und einen Befehl. Die Priorität
unter den in den Prozessoren CPU 0-CPU 3 erzeugten An
forderungen wird durch die Schlüsselanforderungsprioritäts-
Bestimmungseinheit 200 bestimmt, und dann wird eine ange
nommene Anforderung von der Bestimmungseinheit 200 jedem der
Prozessoren CPU 0-CPU 3 zugeführt zum Fortschreiben der
Schlüsselspeicher KSO 0-KS 3, die jeweils in den Einheiten
CPU 0-CPU 3 vorgesehen sind. Weiter wird die Priorität unter
den Anforderungen, die von den Prozessoren CPU 0-CPU 3
zum Hauptspeicher MS abgegeben werden, durch eine Haupt
speicher-Anforderungsprioritäts-Bestimmungseinheit (MS-Prioritätsentscheidung) 100 be
stimmt, wobei jedoch eine Parallelverarbeitung für ver
schiedene Bänke des Hauptspeichers MS durchgeführt wird.
Folglich erfolgt die Prioritätsbestimmung lediglich für
eine Bank, für die die Anforderungen miteinander in Konflikt
stehen.
Wie in Fig. 1 dargestellt, ist in einem derartigen Mehr
fach-Prozessorsystem die Schlüsselanforderungs
prioritäts-Bestimmungseinheit 200 zur gemeinsamen Verwendung
vorgesehen, um die Priorität unter Schlüsselzugriffsan
forderungen zu bestimmen, die simultan in mehreren Prozessoren
erzeugt werden. Das heißt, eine exklusive
Einheit zur Bestimmung der Priorität ist erforderlich.
Weiter ist es in dem System notwendig, die Kapazität der
Schnittstelle zu berücksichtigen, die von der Anzahl der
Prozessoren abhängt. Das heißt, wenn die Anzahl der
Prozessoren außerordentlich groß ist, sind
wesentliche und kostspielige Änderungen in der
Schnittstelle erforderlich.
Die obigen Schwierigkeiten werden dadurch
überwunden, daß die Verbindung zwischen mehreren Schlüssel
speichern unter Verwendung des Prinzips der ringförmigen
Anordnung durchgeführt, wie sie in der
prioritätsälteren, nachveröffentlichten
Patentanmeldung der Anmelderin entsprechend der DE-OS 30 12 951 erläutert ist.
Die Fig. 2 und 3 zeigen ein Ausführungsbeispiel der Erfindung,
bei dem vier Prozessoren CPU 0-CPU 3 mit einem Haupt
speicher MS verbunden sind, d. h., einen gemeinsamen Haupt
speicher besitzen, wobei die Prozessoren CPU 0-CPU 3 je
weils einen Schlüsselspeicher enthalten. Folglich kann die
Anzahl der Prozessoren zu einem gewünschten Zeitpunkt
geändert werden in Übereinstimmung mit den Anforderungen
an den Systemmaßstab. Fig. 2 zeigt ein Übertragungssystem
der Schlüsselinformation, wie einer Adresse und Schlüssel
daten, und Fig. 3 zeigt ein Übertragungssystem eines Priori
tätsbestimmungssignals. In den Fig. 2 und 3 besitzen die
Prozessoren CPU 0-CPU 3 den gleichen Aufbau, weshalb ledig
lich der Aufbau für den Prozessor CPU 0 ausführlich dar
gestellt ist. Weiter sind diejenigen Teile, die für die vor
liegende Erfindung nicht wesentlich sind, in den Fig. 2 und
3 nicht dargestellt. Beispielsweise wird bezüglich der
Eingabe/Ausgabe-Einrichtungen auf die o. g. DE-OS 30 12 951
Bezug genommen.
Es wird zunächst auf Fig. 2 Bezug genommen. Wenn eine SSK-
Anforderung in einer Instruktionseinheit 2 (IU) des
Prozessors CPU 0 erzeugt wird, werden eine Anweisung (O), eine
Adresse (A) und Daten (D), die in der Anforderung enthalten
sind, in Register, 3, 8 bzw. 13 gesetzt. Fig. 2 zeigt also
ein Anweisungsregister 3, ein Adreßregister 8 und ein Daten
register 13. Unter Anweisung ist dabei eine Information
zu verstehen, die durch Codieren verschiedener Anforderungen
für den Hauptspeicher und den Schlüsselspeicher erhalten wird.
In diesem Fall ist der SSK-Betrieb codiert, wobei diese
codierte Information in dem Register 3 gesetzt wird. Die
Anweisung, die Adresse und die Daten, die in den Registern
3, 8 und 13 gesetzt sind, werden über Wählglieder 20, 21, 22
Registern 4, 9 bzw. 14 zugeführt und in diesen gesetzt zum
Fortschreiben des Schlüsselspeichers 1 (KS), der in dem
Prozessor CPU 0 vorgesehen ist. Ein Beispiel des Schal
tungsaufbaus des Wählglieds ist in Fig. 4 dargestellt.
Da die in dem Register 4 gesetzte Anweisung die SSK-Ver
arbeitung bezeichnet, wird die SSK-Verarbeitung für den
Schlüsselspeicher 1 (KS) durchgeführt. Eine Schreibadresse
und Daten, die zu schreiben sind, werden von den Registern
9 bzw. 14 abgegeben. Wie erwähnt können die Register 4, 9
und 14 den Lese/Schreibbetrieb für den Schlüsselspeicher 1
durchführen.
Andererseits werden zum Durchführen der SSK-Verarbeitung
für Schlüsselspeicher, die in den anderen Prozessoren
CPU 1-CPU 3 vorgesehen sind, die Anweisung, die Adresse und
die Daten, die in den Registern 3, 8 und 13 gesetzt sind,
über Wählglieder 23, 24 und 25 Informationsübertragungs
registern 5, 10 bzw. 15 zugeführt und darin gesetzt und
werden dann Schnittstellenleitungen IF 01-IF 30 zugeführt
zur Verbindung der Prozessoren CPU 0-CPU 3 in ringför
miger Anordnung. Die Anweisung, die Adresse und die Daten
auf den ringförmigen Schnittstellenleitungen werden von
den Prozessoren CPU 1, CPU 2 und CPU 3 in der erläuterten
Folge abgerufen zum Fortschreiben entsprechender Schlüssel
speicher in den Prozessoren CPU 1, CPU 2 und CPU 3 und
kehren dann zum Prozessor CPU 0 zurück. Die Anweisung,
die Adresse und die Daten, die zum Prozessor CPU 0
zurückgeführt worden sind, werden in Informationsempfangs
register 6, 11 bzw. 16 gesetzt bzw. verriegeln diese. Wie
erwähnt, wird, falls der Prozessor CPU 0 die SSK-An
forderung abgegeben hat, die Anforderung in den Instruktions
registern 3, 8 und 13 gespeichert. Wenn die Anweisung, die
Adresse und die Daten die Informationsempfangsregister 6, 11
und 16 verriegeln, vergleicht eine Beurteilungsschaltung,
die aus einer Koinzidenzschaltung, wie einer Vergleicher
schaltung (nicht dargestellt), gebildet ist, die in jedem
der Prozessoren CPU 0-CPU 3 vorgesehen ist, die Inhalte
der Register 3, 8 und 13 mit den Inhalten der Register 6, 11
und 16 und erreicht, daß die SSK-Verarbeitung beendet wird,
wenn der erste Inhalt mit dem letzteren Inhalt überein
stimmt. Die Beurteilungsschaltung, die in der o. g.
DE-OS 30 12 951 erläutert wird, ist mit einer gewissen
Änderung als Beurteilungsschaltung verwendbar, die in der
jenigen Zentraleinheit enthalten ist, die die SSK-Anforderung
abgibt. Die Eingangs- und die Ausgangsanschlüsse jedes Prozessors
besitzen vorzugsweise eine Verriegelungs
funktion.
Es wird nun die SSK-Verarbeitung in dem Prozessor CPU 0
für den Fall erläutert, daß andere Prozessoren als der
Prozessor CPU 0 die SSK-Anforderung abgeben. Wie im er
wähnten Fall werden, wenn die Anforderung von einem der
Prozessoren CPU 1-CPU 3 abgegeben wird, eine Anweisung,
eine Adresse und Daten den Schnittstellenleitungen zuge
führt. Die Anweisung, die Adresse und die Daten auf der
Schnittstellenleitung IF 30 zwischen den Prozessoren
CPU 3 und CPU 0 werden in die Informationsempfangsregister
6, 11 und 16 des Prozessors CPU 0 gesetzt. Die Inhalte
der Register 6, 11 und 16 werden über die Wählglieder 20,
21 und 22 den Registern 4, 9
bzw. 14 (Schlüsselspeicher-Lese/Schreibregister) zugeführt und darin gesetzt und führen die SSK-Ver
arbeitung für den Schlüsselspeicher 1 (KS) durch. Zum Über
tragen der SSK-Anforderung zum folgenden Prozessor
CPU 1 werden die Anweisung, die Adresse und die Daten in den
Informationsempfangsregistern 6, 11 und 16 des Prozessors
CPU 0 über die Wählglieder 23, 24 und 25 den Informa
tionsende- oder -übertragungsregistern 5, 10 bzw. 15
zugeführt und darin gesetzt und werden dann dem Prozessor
CPU 1 über die Schnittstellenleitung IF 01 zwischen den
Prozessoren CPU 0 und CPU 1 zugeführt. Wie erwähnt, wer
den die Signale in einer einzigen Richtung in bzw. auf
den Schnittstellenleitungen übertragen, die die
Prozessoren so verbinden, daß sie eine ringförmige
Anordnung besitzen, und zwar über die Informationsüber
tragungs- und -empfangsregister. Fig. 4 zeigt ein Beispiel
der Wählglieder.
Vorstehend wurde die SSK-Verarbeitung erläutert. Die ISK-
Verarbeitung ist annähernd die gleiche wie die SSK-Ver
arbeitung, unterscheidet sich jedoch von der SSK-Verarbei
tung darin, daß die aus den jeweiligen Schlüsselspeichern
der Prozessoren ausgelesenen Schlüsseldaten zu dem
Prozessor gesendet werden, der die ISK-Anforderung ab
gegeben hat. Folglich werden, wenn das Bezugsbit der ent
sprechenden Schlüsseldaten in dem Schlüsselspeicher eines
Prozessors den Pegel "1" annimmt, die entsprechenden
Schlüsseldaten in den Schlüsseldaten reflektiert,
die aus dem Prozessor ausgelesen sind,
die die ISK-Anforderung abgegeben hat. Insbesondere werden
bei der ISK-Verarbeitung, die in einem der anderen
Prozessoren als in dem Prozessor durchgeführt wird, der
die ISK-Anforderung abgegeben hat, aus dem Schlüsselspeicher
ausgelesene Schlüsseldaten in ein Register 18 (Schlüsselspeicher-
Datenregister) gesetzt. Der Inhalt des Registers 18 und der Inhalt des
Registers 16, der durch die ringförmigen Schnittstellenlei
tungen gesendet worden ist, werden einer ODER-Verknüpfung
mittels des Wählglieds 25 unterzogen, wobei das Ausgangs
signal in das Informationsübertragungsregister 15 gesetzt
wird zur Zufuhr zur ringförmigen Schnittstellenleitung IF.
In diesem Fall wählt das Wählglied 25 simultan das Eingangs
signal von dem Schlüsselspeicher-Datenregister 18 und das
von dem Empfangsregister 16. Der Endbetrieb der ISK-Verar
beitung in dem Prozessor, der die ISK-Anforderung ab
gegeben hat, bewirkt eine ODER-Verknüpfung bezüglich der
aus dem Schlüsselspeicher der obigen Zentraleinheit aus
gelesenen Schlüsseldaten und den aus anderen Zentralein
heiten ausgelesenen Schlüsseldaten und führt dann das Er
gebnis dieser Verknüpfung der Instruktionseinheit 2 zu.
Insbesondere werden, wenn der Prozessor CPU 0 die ISK-
Anforderung abgibt, die aus dem Schlüsselspeicher 1 aus
gelesenen Daten, d. h., die Daten im Schlüsselspeicher KS 0
des Prozessors CPU 0, in dem Schlüsselspeicher-Datenre
gister 18 gesetzt und werden die vom Prozessor
CPU 3 gesendeten Schlüsseldaten in dem Empfangsregister 16
gesetzt. Der Inhalt des Registers 18 und der Inhalt des
Registers 16 werden über das Wählglied 26 zu einem die
Zugriffsdaten setzenden Register 19 gesendet und darin ge
setzt und werden dann der Instruktionseinheit 2 zuge
führt. Im übrigen bezeichnen Bezugszeichen 7, 12 und 17 An
weisungs-, Adreß- und Datenregister, die für den Zugriffs-
bzw. Speicherbetrieb für den Hauptspeicher MS verwendet
werden. Diese Register haben keine direkte Verbindung mit
der vorliegenden Erfindung, weshalb eine nähere Erläuterung
unterbleibt. Ein die Beendigung der SSK- und ISK-Verarbei
tung anzeigendes Signal wird als Schlüsselverarbeitungs
endesignal in einer Prioritätsbestimmungsschaltung verwendet,
wie das weiter unten erläutert wird.
Anhand Fig. 3 wird nun eine Prioritätsschaltung zur Be
stimmung der Priorität bei der Schlüsselverarbeitung unter
den Zentraleinheiten vor der Übertragung und dem Empfang
einer Anweisung, einer Adresse und Daten, die bei der
Schlüsselverarbeitung verwendet werden, erläutert. Jeder
Prozessor kann ein Prioritätssignal empfangen und ein
bestimmter der Prozessoren, beispielsweise der Prozessor
CPU 0, besitzt eine Auslöselogik für das Prioritäts
bestimmungssignal und löst aktiv einen Impuls eines Maschinen
zyklus aus. Das Prioritätsbestimmungssignal, das zwischen
den ringförmig angeschlossenen Prozessoren sequentiell
umläuft, wird in einem vorgegebenen Prozessor ausgelöst,
wenn das System initialisiert wird (üblicherweise, wenn ein
Rücksetzsignal erzeugt wird). Das Prioritätsbestimmungssi
gnal, das in der vorgegebenen Zentraleinheit ausgelöst ist,
läuft in bzw. auf den ringförmigen Schnittstellenleitungen
IFP 01, IFP 12, IFP 23 und IFP 30 um. Das Prioritätsbestimmungs
signal liegt nur in einem der Prozessoren während
einer vorgegebenen Periode vor. Die Priorität besitzt ein
Prozessor, der das obige Prioritätssignal aufgenommen
hat, d. h., einen einem Maschinenzyklus entsprechenden Impuls
gespeichert hat. Fig. 5 zeigt den zeitabhängigen Verlauf die
ses Betriebes und zeigt den Fall, in dem ein Prioritäts
bestimmungssignal im Prozessor CPU 0 erzeugt worden
ist.
Wenn das System initialisiert ist und deshalb des Rücksetz
signal erzeugt ist, wird das Ausgangssignal eine Decodierers
D, der den Einschaltzustand besitzt, wenn eine Initiali
sierungslogik (CPUNO-Generator) zum Erzeugen einer Identifizierungsnummer
der CPU den Pegel "0" einnimmt, und das Rücksetzsignal einer
UND-Verknüpfung in einem UND-Glied A 1 unterzogen. Ein Im
puls, der durch Differenzieren der Rückflanke eines Rück
setzimpulses erhalten wird, wird von einer Rücksetzschal
tung in das UND-Glied A 1 eingegeben. In diesem Fall wird,
da die Logik CPNUO des Prozessors CPU 0 den Pegel "0"
besitzt, das UND-Glied A 1 freigegeben. Das Ausgangssignal
des UND-Glieds A 1 schaltet ein ODER-Glied OR durch und
setzt dann ein Übertragungs/Empfangs-Flipflop FF-A. Das
Flipflop FF-A ist mit dem Prozessor CPU 1 über eine
Schnittstellenleitung IFP 01 verbunden, die ein Teil des
Umlaufweges ist, und das Ausgangssignal des Flipflops FF-A
setzt das Flipflop FF-A des folgenden Prozessors
CPU 1 über die UND-Glieder A 5, A 2 und das ODER-Glied OR
des Prozessors CPU 1. In ähnlicher Weise setzt das
Ausgangssignal des Flipflops FF-A des Prozessors CPU 1
jeweilige Flipflops FF-A der Prozessoren CPU 2 und
CPU 3 über Schnittstellenleitungen IFP 12 und IFP 23. Das
Ausgangssignal des Flipflops FF-A des Prozessors CPU 3
wird dem Prozessor CPU 0 über eine Schnittstellen
leitung IFP 30 zugeführt. Das obige dem Prozessor CPU 0
zugeführte Signal wird einem UND-Glied A 5 zugeführt. Der
andere Eingangsteil des UND-Glieds A 5 ist mit einem Multi
prozessoraufbau-Anzeigebit eines an sich bekannten Anord
nungsregisters CFR (Konfigurationsregister) verbunden, und
das obige Bit nimmt den Einschaltzustand an, wenn das System
eine Multiprozessoranordnung besitzt. Folglich schaltet
das UND-Glied A 5 durch und schaltet ein UND-Glied A 2 durch,
wenn die Schlüsselzugriffsanforderung nicht abgegeben ist.
Daher wird das Flipflop FF-A des Prozessors CPU 0 von
neuem gesetzt. Das heißt, das Flipflop FF-A sendet das
Prioritätsbestimmungssignal dem folgenden Prozessor
CPU 1 zu. Andererseits erzeugt, wenn eine Schlüsselzugriffs
anforderung im Prozessor CPU 0 erzeugt ist, eine
Schlüsselanforderungsgeneratorschaltung ein Signal mit
dem Pegel "1", das über einen Inverter I 1 dem UND-Glied
A 2 zugeführt wird und das direkt einem UND-Glied A 4 zu
geführt wird. Daher wird das UND-Glied A 2 gesperrt und
wird das UND-Glied A 4 freigegeben. In diesem Fall setzt
demnach das Prioritätsbestimmungssignal vom Prozessor
CPU 3 nicht das Flipflop FF-A, sondern setzt ein
die Prioritätsverarbeitung anzeigendes Flipflop FF-B. Wenn
das Flipflop FF-B gesetzt ist, wird das Setz-Ausgangssignal
dieses Flipflops dem Schlüsselspeicher 1 zugeführt, d. h.,
dem Schlüsselspeicher KS 0 der Zentraleinheit CPU 0, zum Frei
geben des Schlüsselspeichers 1, obwohl eine derartige Schal
tungsverbindung in den Zeichnungen nicht im einzelnen dar
gestellt ist. Daher wird die Schlüsselverarbeitung im
Prozessor CPU 0 durchgeführt. Wie erwähnt, wird die
Schlüsselverarbeitung in den Prozessoren CPU 0-CPU 3
durchgeführt während des Durchschaltens des Flipflops FF-B
der Einheit CPU 0, d. h., wenn die Einheit CPU 0 das Prioritäts
bestimmungssignal hält bzw. speichert. Wenn die Schlüssel
verarbeitung zu Ende geht, wird das Flipflop FF-B durch ein
Signal von einer Schlüsselverarbeitungs-Endesignal-Genera
torschaltung rückgesetzt und wird simultan ein UND-Glied A 3
durchgeschaltet. Das Ausgangssignal des UND-Glieds A 3 schal
tet das ODER-Glied durch und setzt daher das Flipflop FF-A.
Wenn das System einen einzigen Prozessor enthält, zeigt
das Multiprozessoraufbau-Anzeigebit "0". Folglich wird die
Bit-Information über einen Inverter I 2 und das ODER-Glied
dem Flipflop FF-A zugeführt, um dieses Flipflop FF-A un
bedingt zu setzen. Daher kann die Schlüsselverarbeitung
für den entsprechenden Prozessor unbedingt zu jedem
Zeitpunkt durchgeführt werden. Wenn das Flipflop FF-A ge
setzt ist, beginnt das Prioritätsbestimmungssignal durch
den Prozessor umzulaufen. Daher kann eine Kollision
bezüglich der Priorität vermieden werden, wenn mehrere
Prozessoren simultan Schlüsselzugriffsanforderungen
abgeben. Bei dem Übertragungssystem des Prioritätsbestimmungs
signals gemäß Fig. 3 kann die Prioritätsbestimmungssignal-
Auslöseschaltung in jedem Prozessor zum Zweck einer
Standardisierung vorgesehen sein. Selbstverständlich kann
die obige Schaltung auch lediglich in einem bestimmten
Prozessor vorgesehen sein.
Der Schaltungsaufbau gemäß Fig. 2 und gemäß Fig. 3 zeigt
lediglich ein Ausführungsbeispiel der Erfindung. Selbst
verständlich sind auch andere Ausführungsformen möglich.
Beispielsweise kann als Adreßschnittstellenleitung
IF gemäß Fig. 2 eine Adreßschnittstellenleitung zum Löschen
eines Speichers in einer Pufferspeicheranordnung verwendet
werden, der in einem Datenverarbeitungssystem enthalten
ist, wie er in der DE-OS 30 12 951
erläutert
ist. Da die Frequenz der Schlüsselzugriffsanforderung
üblicherweise niedriger ist, als die Frequenz der Puffer
löschanforderung, wird die Verarbeitungsfähigkeit für die
Pufferlöschung nicht verringert, wenn die Adreßschnitt
stellenleitungen für die Pufferlöschung weiter als Adreß
schnittstellenleitungen IF verwendet werden. Wenn Schnitt
stellenleitungen für sowohl die Pufferlöschung als auch
für die Übertragung der Schlüsselzugriffsanforderung ver
wendet werden, wird die Anzahl der Schnittstellenleitungen
verringert, weshalb es möglich ist, ein System mit hohem
Kostenwirkungsgrad, d. h. mit niedrigen Herstellkosten an
zugeben.
Claims (5)
1. Datenverarbeitungsanlage mit
- - einem Hauptspeicher,
- - einer Ringleitung und
- - mehreren Prozessoren mit gemeinsamen Zugriff zum Haupt speicher, wobei jeder Prozessor einen Schlüsselspeicher zur Speicherung von Steuerinformationen für den Haupt speicher und Schlüssel-Verarbeitungskreise aufweist, die bei der Abgabe einer Schlüssel-Zugriffs-Anforderung durch den jeweiligen Prozessor die Schlüssel-Verarbeitung für den diesem Prozessor zugeordneten Schlüsselspeicher durch führen und die über die Ringleitung den Inhalt der Schlüssel-Zugriffs-Anforderung, nämlich Befehl, Adresse und Daten, einem anderen Prozessor zuführen und diesen veranlassen, die Schlüssel-Verarbeitung für den diesem Prozessor zugeordneten Schlüsselspeicher durchzuführen,
dadurch gekennzeichnet,
daß jeder Prozessor (CPU 0, CPU 1, CPU 2, CPU 3) zusätzlich
eine Prioritätsschaltung (Fig. 3) aufweist, bestehend aus
folgenden Kreisen:
- a) einem Empfangskreis (A 5, A 2, OR) zum Empfang eines Prioritätsbestimmungssignals,
- b) einem Sendekreis (Schlüsselverarbeitungs-Ende-Signal generator, (FF-B, A 3, OR) zur Weitergabe des Prioritäts bestimmungssignals an die anderen Prozessoren (CPU 0, CPU 1, CPU 2, CPU 3) über die Ringleitung (IFP 01, IFP₁₂, IFP 23, IFP 30), und
- c) einem Speicherkreis (Schlüssel-Anforderungsgenerator, A 4, FF-B) zur vorübergehenden Speicherung des Prioritäts bestimmungssignals während der Schlüssel-Verarbeitung in den zugeordneten Schlüssel-Verarbeitungskreisen, und
daß wenigstens einer der Prozessoren (CPU 0, CPU 1, CPU 2,
CPU 3), die an die Ringleitung (IFP 01, IFP 12, IFP 23, IFP 30)
angeschlossen sind, eine Prioritätsschaltung mit einem
zusätzlichen Auslösekreis (CPUNO-Generator, D, Rücksetz
schaltung, A 1, OR) zur Erzeugung eines Prioritätsbestim
mungssignals aufweist.
2. Datenverarbeitungsanlage nach Anspruch 1,
dadurch gekennzeichnet,
daß die Ringleitung (IF 01, IF 12, IF 23, IF 30), an die die
Prozessoren angeschlossen sind, als Schnittstellenleitung
ausgebildet ist, die zusätzlich zur Durchführung einer
Löschoperation eines Pufferspeichers in einem Prozessor
(CPU 0, CPU 1, CPU 2, CPU 3) verwendet werden kann.
3. Datenverarbeitungsanlage nach einem der vorhergehenden
Ansprüche,
dadurch gekennzeichnet,
daß die Übertragung der Schlüssel-Zugriffs-Anforderung,
die in zugeordneten Registern (z. B. 5, 10, 15; 6, 11, 16)
vorübergehend gespeichert ist, zu nachfolgenden entsprechen
den Registern anderer Prozessoren von Prozessor (CPU 0, CPU 1,
CPU 2, CPU 3) zu Prozessor synchron erfolgt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP55016973A JPS5832427B2 (ja) | 1980-02-14 | 1980-02-14 | 多重情報処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3105115A1 DE3105115A1 (de) | 1982-02-04 |
DE3105115C2 true DE3105115C2 (de) | 1988-10-13 |
Family
ID=11931008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19813105115 Granted DE3105115A1 (de) | 1980-02-14 | 1981-02-12 | Datenverarbeitungssystem mit bezueglich einer schluesselspeicherung ringfoermig angeschlossenen mulitprozessoren |
Country Status (3)
Country | Link |
---|---|
US (1) | US4441152A (de) |
JP (1) | JPS5832427B2 (de) |
DE (1) | DE3105115A1 (de) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU542447B2 (en) * | 1982-02-27 | 1985-02-21 | Fujitsu Limited | System for controlling key storage unit |
US5191652A (en) * | 1989-11-10 | 1993-03-02 | International Business Machines Corporation | Method and apparatus for exploiting communications bandwidth as for providing shared memory |
US5218709A (en) * | 1989-12-28 | 1993-06-08 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Special purpose parallel computer architecture for real-time control and simulation in robotic applications |
US5361367A (en) * | 1991-06-10 | 1994-11-01 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Highly parallel reconfigurable computer architecture for robotic computation having plural processor cells each having right and left ensembles of plural processors |
EP0600113A1 (de) * | 1992-11-30 | 1994-06-08 | Siemens Nixdorf Informationssysteme Aktiengesellschaft | Datenverarbeitungsanlage mit schlüsselgesteuertem Speicherzugriff |
JP3786993B2 (ja) * | 1995-12-14 | 2006-06-21 | 株式会社日立製作所 | データ記憶ユニット及び該ユニットを用いたデータ記憶装置 |
US5802397A (en) * | 1996-05-23 | 1998-09-01 | International Business Machines Corporation | System for storage protection from unintended I/O access using I/O protection key by providing no control by I/O key entries over access by CP entity |
US5787309A (en) * | 1996-05-23 | 1998-07-28 | International Business Machines Corporation | Apparatus for protecting storage blocks from being accessed by unwanted I/O programs using I/O program keys and I/O storage keys having M number of bits |
JPH10232788A (ja) * | 1996-12-17 | 1998-09-02 | Fujitsu Ltd | 信号処理装置及びソフトウェア |
DE19735948C1 (de) * | 1997-08-19 | 1998-10-01 | Siemens Nixdorf Inf Syst | Verfahren zur Verbesserung der Steuerungsmöglichkeit in Datenverarbeitungsanlagen mit Adreßübersetzung |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3328765A (en) * | 1963-12-31 | 1967-06-27 | Ibm | Memory protection system |
US4162529A (en) * | 1975-12-04 | 1979-07-24 | Tokyo Shibaura Electric Co., Ltd. | Interruption control system in a multiprocessing system |
GB1506972A (en) * | 1976-02-06 | 1978-04-12 | Int Computers Ltd | Data processing systems |
JPS55134459A (en) * | 1979-04-06 | 1980-10-20 | Hitachi Ltd | Data processing system |
-
1980
- 1980-02-14 JP JP55016973A patent/JPS5832427B2/ja not_active Expired
-
1981
- 1981-02-11 US US06/233,447 patent/US4441152A/en not_active Expired - Lifetime
- 1981-02-12 DE DE19813105115 patent/DE3105115A1/de active Granted
Also Published As
Publication number | Publication date |
---|---|
JPS56114062A (en) | 1981-09-08 |
US4441152A (en) | 1984-04-03 |
JPS5832427B2 (ja) | 1983-07-13 |
DE3105115A1 (de) | 1982-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3783370T2 (de) | Schaltung zur blockierungsverhinderung von hochprioritaetsanforderungen an eine systemsteuerung. | |
DE2755897C2 (de) | ||
DE3689357T2 (de) | Digitaler Lese-/Schreibspeicher. | |
DE2224537C2 (de) | Einrichtung und Verfahren zur Instruktionsauswahl in einem Fließbandprozessor | |
DE3785897T2 (de) | Steuervorrichtung zum vorabruf von befehlen. | |
DE69331311T2 (de) | Datenkommunikationssystem und Verfahren | |
DE2750721A1 (de) | Ein/ausgabe-system | |
DE68907518T2 (de) | Inhaltsadressierte Speicheranordnung. | |
DE2161886A1 (de) | Befehlsausführungssystem in einer elektronischen Datenverarbeitungsanlage | |
DE3224034A1 (de) | Mehrprozessorensystem | |
DE1499203B1 (de) | Schaltungsanordnung zum Speicherschutz bei Datenverarbeitungsanlagen mit Simultanbetrieb | |
DE3011552A1 (de) | Datenverarbeitungsanlage mit einem hauptspeicher sowie wenigsten einem datenprozessor mit zugeordnetem adressenumformer | |
DE2755371A1 (de) | Ein/ausgabe-verarbeitungssystem | |
DE2702090B2 (de) | Datenverarbeitungssystem mit einem zentralen Prozessor | |
DE3805107A1 (de) | Verfahren und vorrichtung zur steuerung virtueller adressraeume eines virtuellen speichers | |
DE2612139A1 (de) | Ein/ausgang-steuerungssystem | |
DE2717702A1 (de) | Speicher-zugriffs-steuersystem | |
DE2629266A1 (de) | Ein/ausgabe-system | |
DE3105115C2 (de) | ||
DE2524046A1 (de) | Elektronische datenverarbeitungsanlage | |
DE4207158A1 (de) | Speicher-zugriffssteuerung | |
DE2054830A1 (de) | Informationsverarbeitungssystem mit wortstrukturiertem Speicher und Verfahren fur einen Zugriff zu einem derar tigen Speicher | |
DE1549474A1 (de) | Einrichtung zur Ausfuehrung von Operationen in elektronischen Datenverarbeitungsanlagen | |
DE2906685C2 (de) | ||
EP0185260A2 (de) | Schnittstelle für direkten Nachrichtenaustausch |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8125 | Change of the main classification |
Ipc: G06F 9/46 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |