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
Application number
DE3105115A
Other languages
English (en)
Other versions
DE3105115A1 (de
Inventor
Tsuguo Hadano Jp Matsuura
Shunichi Kokubunji Jp Torii
Tsuguo Hachioji De Shimizu
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE3105115A1 publication Critical patent/DE3105115A1/de
Application granted granted Critical
Publication of DE3105115C2 publication Critical patent/DE3105115C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • 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/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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.
DE19813105115 1980-02-14 1981-02-12 Datenverarbeitungssystem mit bezueglich einer schluesselspeicherung ringfoermig angeschlossenen mulitprozessoren Granted DE3105115A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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