DE3486305T2 - Datenverarbeitungssystem mit logischem Prozessormittel. - Google Patents

Datenverarbeitungssystem mit logischem Prozessormittel.

Info

Publication number
DE3486305T2
DE3486305T2 DE3486305T DE3486305T DE3486305T2 DE 3486305 T2 DE3486305 T2 DE 3486305T2 DE 3486305 T DE3486305 T DE 3486305T DE 3486305 T DE3486305 T DE 3486305T DE 3486305 T2 DE3486305 T2 DE 3486305T2
Authority
DE
Germany
Prior art keywords
central processing
system control
control program
processing unit
channel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE3486305T
Other languages
English (en)
Other versions
DE3486305D1 (de
Inventor
Robert William Doran
Robert Stewart Lent
Arther Clayton Willis
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.)
Fujitsu IT Holdings Inc
Original Assignee
Amdahl 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 Amdahl Corp filed Critical Amdahl Corp
Publication of DE3486305D1 publication Critical patent/DE3486305D1/de
Application granted granted Critical
Publication of DE3486305T2 publication Critical patent/DE3486305T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation function
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)
  • Executing Machine-Instructions (AREA)

Description

  • Diese Erfindung betrifft Datenverarbeitungssysteme und insbesondere Rechner, die den wirksamen, gleichzeitigen Betrieb von mehreren Systemsteuerprogrammen unterstützen, wobei jedes Systemsteuerprogramm in einer scheinbaren Umgebung arbeitet, die möglicherweise von dem Hostrechner verschieden ist.
  • Systemsteuer- und Anwendungsprogramme
  • Ein Systemsteuerprogramm (SCP), auch als ein Betriebssystem bekannt, ist ein Programm, das ausgelegt ist, ein gesamtes Rechnersystem zu steuern. Ein Systemsteuerprogramm für große IBM und IBM compatible Rechner wird beispielsweise MVS genannt. Andere Systemsteuerprogramme in Verwendung sind DOS, SVS, ACP, MTS und VM/370.
  • Systeme nach dem Stand der Technik, wie das IBM System/370, sind entworfen worden, nur ein Systemsteuerprogramm in einem einzigen Rechnersystem zu verwenden.
  • Die Aufgabe des Systemsteuerprogrammes ist, das Rechnersystem zu steuern. Die Hauptaufgabe des Rechnersystems ist die Verarbeitung von Anwendungsprogrammen, häufig "Job" genannt. Die Verarbeitung von "Jobs" wird "Produktionsbetrieb" genannt. Das Rechnersystem und die Steuerung eines Systemsteuerprogrammes arbeiten in einem von zwei Modi "Kontroll" oder "Aufgabe". Jobs laufen in dem Aufgabenmodus, und der Kontrollsmodus ist für das Systemsteuerprogramm reserviert. Eine Unterbrechung in dem Aufgabenmodus wird von dem Kontrollsmodus verarbeitet. Der Modus, mit dem das System läuft, wird durch das Modus-Steuerbit "P" angegeben, wie es in der folgenden TABELLE 1 angegeben ist.
  • TABELLE 1 System/370 Modus-Steuerbit "P"
  • Obgleich beim Stand der Technik jedes Systemsteuerprogramm typischerweise entworfen ist, ein gesamtes Rechnersystem alleine zu steuern, gibt es nachstehend einige Gründe dafür, daß man mehr als ein Systemsteuerprogramm in einem einzigen Rechnersystem hat:
  • - damit neue Versionen eines Systemsteuerprogrammes geprüft werden können, ohne das Laufen der alten Version des Systemsteuerprogrammes zu unterbrechen,
  • - um die Überführung von Arbeit von einem alten Systemsteuerprogramm zu einem neuen Systemsteuerprogramm zu erleichtern,
  • - Jobs mit höherem Wirkungsgrad zu verarbeiten, ein wirksames Systemsteuerprogramm für jede Aufgabe, weil unterschiedliche Systemsteuerprogramme wirksamer bei unterschiedlichen Jobs sind,
  • - um mehrere, spezialisierte, einfache Systemsteuerprogramme zu haben, die jeweils auf eine besondere Aufgabe zugeschnitten sind, statt eines allgemeinen Systemsteuerprogrammes für alle Aufgaben, wo das allgemeine Systemsteuerprogramm komplex und mit Overhead belastet ist,
  • - um alte und neue Systemsteuerprogramme laufen zu lassen, statt die alten Programme zu ändern, die mit einem neuen Systemsteuerprogramm nicht laufen.
  • Verschiedene Umgebungen
  • Die Umgebung, in der Systemsteuerprogramme laufen, ist von Rechner zu Rechner verschieden. Unterschiedliche Modelle von Rechnern, selbst innerhalb der gleichen Familie, weisen viele Unterschiede bei ihren funktionalen Architekturen auf. Diese Unterschiede bestehen häufig, um unterschiedliche Kosten und unterschiedliche Leistungszielsetzungen zu erreichen.
  • Mit dem Lauf der Zeit und wenn neue Modelle von Rechnern eingeführt werden, zeigt sich, daß die funktionale Architektur mit neuen Anforderungen zurechtkommen muß. Diese Entwicklung bewirkt, daß alte und neue Modelle von Rechnern Unterschiede aufweisen. Da auch die Entwicklung unterschiedliche Richtungen bei großen und kleinen Rechnern nimmt, treten Unterschiede zwischen alten und neuen Modellen auf der Grundlage ihrer Größe oder beabsichtigten Anwendung auf.
  • Die Unterschiede bei Rechnern sind normalerweise in der Art von Änderungen eines gemeinsamen Architekturkernes. Die Hardware in jedem Rechner, die die Unterschiede ausführen soll, ist üblicherweise ein kleiner Anteil der gesamten Hardware.
  • Während Änderungen nur ein kleiner Bruchteil des gesamten Rechners sind, stellen die Änderungen beträchtliche Schwierigkeiten für die Systemsteuerprogramme dar. Ein Systemsteuerprogramm arbeitet im allgemeinen nur richtig bei einem Rechner, der genau die Hardware zu haben scheint, zu der das Systemsteuerprogramm ausgelegt war, zu arbeiten. Da herkömmliche Systemsteuerprogramme sehr groß und komplex sind, sind sie sehr schwierig abzuändern, damit sie auf einem unterschiedlichen Rechner laufen, für den sie nicht entworfen waren, zu laufen. Damit ein Systemsteuerprogramm auf einem unterschiedlichen Rechner läuft, für den das Systemsteuerprogramm nicht entworfen worden war, ist es häufig leichter, den Rechner abzuwandeln, damit der Rechner die Variante zu sein scheint, die das Systemsteuerprogramm erwartet, statt das Systemsteuerprogramm zu ändern. Das Problem der Variante ist sogar kritischer, wenn das Laufen von mehr als einem Systemsteuerprogramm in Betracht gezogen wird, da jedes Systemsteuerprogramm im allgemeinen von dem Rechner erwartet, daß er eine unterschiedliche Variante ist.
  • Um besser die Schwierigkeiten zu verstehen, denen sich mehrere Systemsteuerprogramme in verschiedenen Umgebungen gegenübersehen, wird nun ein näheres Verstehen von Systemsteuerprogrammen und ihre Hardware-Unterstützung beschrieben.
  • Von einem Systemsteuerprogramm gesteuerte zeit-gemultiplexte Jobs
  • Viele großen Rechner haben viele zeit-gemultiplexte Anwendungsprogramme, die gleichzeitig laufen, wobei das Multiplexen durch das Systemsteuerprogramm gesteuert wird. Um sicherzustellen, daß die Anwendungsprogramme (auch als Jobs bekannt) einander oder das Systemsteuerprogramm nicht stören, wird die Architektur, die zum Laufen von nur gerade einem Job notwendig ist, normalerweise, um mehrere Jobs zu ermöglichen, ausgedehnt, wie folgt:
  • - Der Rechner ist ausgelegt, in einem von zwei Modi zu arbeiten, Aufgabenmodus und privilegierter Ausführungsmodus (Aufgabenzustand und Kontrollszustand in dem IBM System/370 genannt). Die privilegierte Modus kann nur von dem Systemsteuerprogramm verwendet werden.
  • - Neue Befehle werden eingeführt, die privilegierte Befehle genannt werden. Diese steuern die Hardware und könnten von einem Job verwendet werden, um andere zu beeinflussen. Infolgedessen können privilegierte Befehle nur von dem Rechner in dem privilegierten Betriebsmodus ausgeführt werden, und sind deshalb auf das Systemsteuerprogramm beschränkt. Wenn ein Versuch gemacht wird, einen privilegierten Befehl von dem Rechner im Aufgabenzustand auszuführen, tritt eine Unterbrechung auf, die automatisch die Steuerung zu dem Systemsteuerprogramm überführt.
  • - Damit Jobs denselben Hauptspeicher gemeinsam benutzen können, werden Adressen für den Hauptspeicher für jeden Job unter Verwendung einer Abbildungseinrichtung umgewandelt. Die Abbildungseinrichtung bildet jede logische Adresse in dem Job auf eine physikalische Adresse ab. Mittels der Abbildung kann jeder Job dieselbe logische Adresse verwenden, um sich auf getrennte Speicherstellen in dem physikalischen Speicher zu beziehen. Die Abbildungseinrichtung stellt sicher, daß das Adressieren eines Jobs nicht bei anderen stört. Üblicherweise wird eine Hardware verwendet, dieses Abbilden zu unterstützen, weil es sehr häufig (mit jedem Befehl) verwendet wird. Die Abbildung ist üblicherweise Teil eines sogenannten virtuellen Speicherschemas.
  • - Alle Unterbrechungen rufen eine Überführung der Steuerung zu dem Systemsteuerprogramm in dem privilegierten Modus hervor. Das Systemsteuerprogramm bestimmt, welche Unterbrechungen für es selbst sind und welche Unterbrechungen für irgendeinen bestimmten Job sind. Es gibt einen Mechanismus für den Aufgabenmodus, um die Steuerung zu dem Systemsteuerprogramm in dem privilegierten Modus zu überführen, üblicherweise, indem eine Unterbrechung hervorgerufen wird. (In dem System/370 wird ein Kontrollaufruf (SVC) Unterbrechung verwendet.) Die Systemsteuerprogramme übernehmen besondere Operationen als ein Ergebnis von besonderen Übertragungen der Steuerung, und daher "sehen" die Aufgabenprogramme einen Rechner im Aufgabenzustands, der um die Operationen vergrößert ist, die von den Systemsteuerprogrammen bei der Übertragung der Steuerung unternommen werden.
  • - Eingabe/Ausgabe (I/O) Operationen werden nur in demr privilegierten Modus initiiert und für Programme in der Aufgabenmodusprogramme durch das Systemsteuerprogramm durchgeführt, das aufgerufen worden ist. Damit unterschiedliche Programme in demr Aufgabenmodus dieselben Vorrichtungsadressen verwenden, um sich auf unterschiedliche physikalische Eingabe/Ausgabe-Vorrichtungen zu beziehen, wodurch die Vorrichtungen von den Jobs gemeinsam benutzt werden, werden die Adressen im Aufgabenzustand für die Eingabe/Ausgabe-Vorrichtung von der Software des Systemsteuerprogrammes auf die physikalischen Eingabe/Ausgabe-Vorrichtungsadressen abgebildet.
  • - Nur die Software des Systemsteuerprogrammes besitzt die Kenntnis physikalischer Prozessoren. In dem privilegierten Modus ordnet die Software des Systemsteuerprogrammes einen Prozessor einemn Aufgabenzustands-Programm während eines Zeitabschnittes zu, indem eine Zeitgebereinrichtung (in dem System/370 ist der CPU-Zeitgeber die Hauptzeitgebereinrichtung) geladen wird, die, wenn sie auf Null herabzählt, eine Unterbrechung und eine Übertragung der Steuerung zu der Software des Systemsteuerprogrammes in der privilegierten Modus bewirkt.
  • Virtuelle Maschinen-Systemsteuerprogramme
  • Mittels der oben angegebenen, zeit-gemultiplexten Job-Mechanismen ist es für ein Systemsteuerprogramm möglich, ein anderes Systemsteuerprogramm als einen Job in dem Aufgabenzustand zu verarbeiten. Das "Haupt"-Systemsteuerprogramm erhält die Steuerung bei allen Unterbrechungen, und eine Unterbrechung tritt auf, wenn immer ein untergeordnetes Systemsteuerprogramm versucht, irgendeinen privilegierten Befehl auszuüben. Das Haupt-Systemsteuerprogramm kann, wenn es die Steuerung von einem Untergeordneten übernimmt, prüfen, daß sich das Untergeordnete nur mit seinem eigenen Teilsatz von System-Betriebsmitteln (system resources) beschäftigt, irgendeine Adressenabbildung durchführen, die notwendig ist, um sicherzustellen, daß nur Betriebsmittel in diesem Teilsatz beeinflußt werden, und die Umgebung des untergeordneten Systemsteuerprogrammes ändern, um die Wirkung zu geben, die das Untergeordnete erwartet, wenn ihm als nächstes die Steuerung übergeben wird.
  • Auf diese Weise ist es für ein Systemsteuerprogramm in dem Aufgabenmodus möglich, einen Rechner zu "sehen", der genau der gleiche zu sein scheint, der von dem Systemsteuerprogramm erwartet wird mit der Ausnahme von kleineren Unterschieden, wie die Synchronisierung und Kanalprogramme, die dynamisch abgeändert worden sind. Der Ausdruck "Host" wird verwendet, den tatsächlichen Rechner zu beschreiben, und der Ausdruck "Variante" wird verwendet, um einige Varianten des tatsächlichen Rechners zu beschreiben. Aus diesem Grund wird das Haupt-Systemsteuerprogramm ein virtuelles Maschinensystem (VMS) genannt. Bei IBM Systemen wird das virtuelle Maschinensystem VM/370 genannt. Von einem virtuellen Maschinensystem sagt man, daß es eine virtuelle Maschinenumgebung für jedes Benutzerprogramm unterstützt.
  • Obgleich ein virtuelles Maschinensystem (Haupt-Systemsteuerprogramm) theoretisch erlaubt, daß mehrere untergeordnete Systemsteuerprogramme auf einem Rechner laufen, haben sich tatsächlich virtuelle Maschinensysteme nach dem Stand der Technik (Haupt-Systemsteuerprogramme) nur als angemessen für einen Test ohne Produktion von untergeordneten Systemsteuerprogrammen erwiesen. Ein virtuelles Maschinensystem hat sich wegen des Overhead bei dem virtuellen Maschinensystem nicht als angemessen erwiesen, Produktions-Systemsteuerprogramme zu laufen. Wenn beispielsweise MVS (ein IBM Systemsteuerprogramm) das einzige Systemsteuerprogramm ist, das unter dem VM/370 läuft, kann dieses MVS nur ungefähr 20% der Arbeit durchführen, das MVS tun könnte, wenn MVS allein unter der Steuerung des Rechners selbst wäre. Wenn ein Systemsteuerprogramm, wie MVS, in alleiniger Steuerung ist, wird diese Situation der "Maschinenmodus (native mode)" des Betriebes bezeichnet.
  • Maschinen-Varianten unter virtuellen Maschinensystemen
  • Ein virtuelles Maschinensystem als ein Haupt-Steuerprogramm gestattet Maschinen-Varianten, daß nicht definierte oder privilegierte Operationen Unterbrechungen hervorrufen, und alle Unterbrechungen werden durch das virtuelle Maschinensystem als das Haupt-Systemsteuerprogramm verarbeitet. Ein virtuelles Maschinensystem kann somit eine Operations(Betriebs)-Variante für nicht definierte Befehle, privilegierte Befehle und für Unterbrechungen bewirken. Während eine solche Operations-Variante beim Stand der Technik einige Schwierigkeiten gelöst hat, hatte sie den schwerwiegenden Nachteil, daß sie einen übermäßigen Overhead bewirkt, während die Komplexität beim Laufen des vollen, virtuellen Maschinensystems eingeführt wird.
  • Die Hierarchie der Steuerung in einem System eines virtuellen Maschinensystems ist in der folgenden TABELLE 2 dargestellt.
  • TABELLE 2 Steuerungshierarchie in einem virtuellen Maschinensystem
  • VMS = virtuelles Maschinensystem
  • SCP = Systemsteuerprogramm
  • Es gibt drei Hauptquellen für den Overhead, wenn das virtuelle Maschinensystem das Haupt-Systemsteuerprogramm ist, wie es in der Hierarchie der TABELLE 2 angegeben ist. Eine Hauptquelle des Overhead des virtuellen Maschinensystemes ist, daß die untergeordneten Systemsteuerprogramme viele privilegierte Befehle ausführen und jeder eine Unterbrechung bei dem virtuellen Maschinensystem bewirkt, die zu verarbeiten, das virtuelle Maschinensystem viel länger braucht als der Maschinenmodus benötigt, ausgeführt zu werden.
  • Eine zweite Hauptquelle des Overhead für ein virtuelles Maschinensystem ist, daß jedes der untergeordneten Systemsteuerprogramme die Adressen, die von seinen Jobs verwendet werden, auf das abbildet, von dem das Systemsteuerprogramm denkt, daß es physikalische Adressen (pseudo-physikalische Adressen) sind, und das virtuelle Maschinensystem bildet dann diese pseudo-physikalischen Adressen auf die aktuellen, physikalischen Adressen ab. Somit gibt es bei Systemen mit virtuellen Maschinensystemen nach dem Stand der Technik zwei Abbildungsebenen. Für die Hauptspeicher-Abbildung, die von der Hardware unterstützt wird, muß das virtuelle Maschinensystem den einzelnen Abbildungsmechanismus in eine Verbindung von zwei Abbildungsebenen überlisten. In dem System/370, VM/370, wird die virtuelle Speicherabbildung durch "Seitentabellen" definiert. Das MVS erzeugt Seitentabellen, die das Abbilden von logischen Adressen auf pseudo-physikalische Adressen definieren, und VM/370 hat Seitentabellen, die pseudo-physikalische Adressen des MVS auf aktuelle physikalische Adressen abbilden. Da die Hardware vom System/370 nur eine Ebene der Abbildung, die Tabellen verwendet, unterstützt, muß VM/370 seine Tabellen mit jenen des MVS verbinden, um eine dritte Tabelle herzustellen, die eine einzige Abbildungsebene hat. Diese dritten Tabellen werden "Schattenseiten"-Tabellen genannt und sind in der folgenden TABELLE 3 dargestellt.
  • TABELLE 3 VM Schattenseiten-Tabellen
  • Wenn das MVS unter VM/370 Steuerung gegeben wird, werden die Schattenseiten-Tabellen als ungültig markiert, so daß VM/370 eine Unterbrechung bei der ersten Bezugnahme auf jede Seite erhält. VM/370 verbindet dann die Tabellen für jede Seite und fügt eine gültige, genaue Einsprungstelle in die Schattentabelle ein. Dieser Vorgang bewirkt den Overhead.
  • Eine dritte Hauptquelle an Overhead eines virtuellen Maschinensystems ist, daß alle Unterbrechungen von dem virtuellen Maschinensystem empfangen und geprüft werden müssen, und dann muß die Unterbrechung, wenn sie für das untergeordnete Systemsteuerprogramm ist, von dem untergeordneten Systemsteuerprogramm verarbeitet werden, was eine Verdopplung des Aufwandes ergibt. Diese Verdopplung betrifft insbesondere Kontrollsaufruf (SVC) Unterbrechungen, die durch einen Job unter dem untergeordneten Systemsteuerprogramm (stets für dieses Systemsteuerprogramm beabsichtigt) hervorgerufen werden, und auf Eingabe/Ausgabe-Unterbrechungen.
  • Es gibt eine Anzahl von Vorgehensweisen, die verwendet worden sind, um die Gründe von virtuellen Maschinensystemen an Overhead zu überwinden. Eine Vorgehensweise, die VM-Unterstützung, ist, den Host-Rechner so zu ändern, daß das virtuelle Maschinensystem seine Aufgabe wirksamer durchführen kann. Eine andere Vorgehensweise, die OberKontroll, ist, hauptsächlich Operationen in dem virtuellen Maschinensystem zu umgehen, um dadurch das virtuelle Maschinensystem erscheinen zu lassen, seine Aufgabe wirksamer durchzuführen.
  • VM-Unterstützung
  • Die Methode mit VM-Unterstützung wurde bei den Produkten der IBM Corporation verfolgt, um die Leistung des VM/370 als das Haupt-Systemsteuerprogramm zu verbessern. Die VM-Unterstützung besitzt die Hierarchie der TABELLE 2, wo das virtuelle Maschinensystem das VM/370 ist und MVS ein untergeordnetes Produktions-Systemsteuerprogramm ist. Einige der Verbesserungen sind wie folgt gewesen. Der privilegierte Modus in einem untergeordneten Systemsteuerprogramm, wie MVS und VM/370 arbeitend, wird als ein dritter Ausführungsmodus unterschieden. Bei diesem Modus dürfen privilegierte Befehle, die VM/370 nicht stören können, ohne Unterbrechung ausgeführt werden, oder werden so abgewandelt, daß Beschränkungen wirksam von einem Mikrocode überprüft werden. Lange komplexe Teile von VM/370 werden in Mikrocode gesetzt, um die Betriebsgeschwindigkeit von VM/370 zu erhöhen. Kontrollaufruf-Unterbrechungen von Jobs unter dem untergeordneten Systemsteuerprogramm des MVS bewirken unmittelbare Überführungen zu dem MVS. Ein Mikrocode wird verwendet, um die Schattenseiten-Tabellen aufzubauen.
  • Mittels dieser verschiedenen Techniken kann die Leistung von MVS unter VM/370 erhöht werden, aber in der Praxis wird sie nur um ungefähr siebig bis achtzig Prozent der Maschinenleistung angehoben.
  • Die Modussteuerbit für VM Unterstützung sind in der folgenden TABELLE 4 angegeben.
  • TABELLE 4 VM Unterstützungssteuerbit "P" und "V" Hyperkontrolle
  • Die Hyperkontrolle-Methode wird von der Amdahl Corporation bei ihrem VM/PE Produkt verwendet. Statt ein bestehendes Systemsteuerprogramm unter die absolute Steuerung des Rechners zu bringen, wird ein neues Systemsteuerprogramm, das Hyperkontrolle genannt wird, als das absolute Haupt eingeführt. Die Steuerungshierarchie ist, wie es in TABELLE 5 dargestellt ist.
  • TABELLE 5 Steuerungshierarchie mit der Hyperkontrolle-Methode
  • Hyperkontrolle
  • SCP = Systemsteuerprogramm
  • Ein Systemsteuerprogramm, beispielsweise MVS, wird ausgesondert, als daß es das Produktions-Systemsteuerprogramm ist, das unter der Hyperkontrolle läuft. Die Hyperkontrolle-Architektur basiert auf der Option des VM/370, einem Programm unter VM/370 zu gestatten, daß es seine Adressen so setzt, daß die logischen (zu VM) und die physikalischen Adressen dieselben sind (sogenannter V=R Betrieb). Das Systemsteuerprogramm für die Produktion, MVS, wird so eingestellt, daß der gesamte Adressenraum, der dem MVS bekannt ist, physikalisch ist. VM/370 und die Hyperkontrolle verwenden physikalischen Speicher, der in dem Adressenraum höher als die Adressengrenze des MVS ist.
  • Die Quellen an Overhead in der Hypokontrolle werden dann in der folgenden Weise gehandhabt:
  • 1. MVS läuft in dem privilegierten Modus und kann alle Befehle ausführen.
  • 2. Die Abbildung mit einer einzigen Ebene, die von MVS aufgestellt ist, ist die einzige, die wegen V=R benötigt wird.
  • 3. Alle Unterbrechungen werden von der Hyperkontrolle empfangen, die schnell und wirksam entscheidet, zu veranlassen, daß die Unterbrechung in VM/370 oder in MVS verarbeitet wird. Auf diese Weise wird die Verarbeitung der Unterbrechung zu einem untergeordneten Systemsteuerprogramm, entweder MVS oder VM/370 zurückgegeben. Jeder Eingabe/Ausgabe-Kanal ist entweder VM oder MVS (ohne gemeinsames Benutzen) zugeordnet, so daß die Entscheidung für die Eingabe/Ausgabe-Unterbrechungen einfach gemacht wird. Die Hyperkontrolle kann auch in gewissen Fällen den Unterbrechungsmechanismus so aufstellen, daß das gegenwärtige Systemsteuerprogramm einige Unterbrechungen direkt empfängt.
  • Die Methode gemäß Hyperkontrolle erlaubt dem Systemsteuerprogramm MVS "unter" dem Systemsteuerprogramm VM/370, in einer verbesserten Weise auszuführen, aber in der tatsächlichen Praxis ist die Verbesserung nur ungefähr neunzig bis dreiundneunzig Prozent der Leistung des Maschinen-MVS. Die Methode gemäß Hyperkontrolle besitzt einige Nachteile. Ein Nachteil ist, daß es keinen Schutz des VM/370 gegenüber MVS gibt. Ein anderer ist, daß es noch ungefähr zehn Prozent an Overhead gibt. Zusätzlich kann nur ein Systemsteuerprogramm zur Produktion sein, das heißt, ausreichend wirksam auszuführen, damit es zur Verwendung bei der Produktion annehmbar ist. Schließlich wird die Komplexität eines vollen virtuellen Maschinensystems (Haupt-Systemsteuerprogramm) eingeführt, selbst wenn es nicht benötigt wird. Beispielsweise verlangt das Arbeiten von zwei Kopien von MVS weiterhin die volle Komplexität des virtuellen Maschinensystems.
  • Es ist möglich, die Methode gemäß VM Unterstützung mit der Vorgehensweise gemäß der Hyperkontrolle zu kombinieren, indem die Hyperkontrolle in VM eingebettet wird. Von dieser Kombination kann man erwarten, daß sie die Leistung verbessert, und daß sie mit der VM Unterstützungs-Hardware den Schutz von Eingabe/Ausgabe-Kanälen von VM gegenüber MVS sicherstellen kann. Obgleich man von der Kombination der Methoden gemäß VM Unterstützung und Hyperkontrolle erwarten kann, daß sie etwas verbessert, ist der weiterhin benötigte Overhead beträchtlich.
  • EP-A-0093267 offenbart ein Verfahren, das in einem Einprozessor- oder Mehrprozessor-System darauf abzielt, das Umschalten der CPU-Steuerung zwischen unterschiedlichen Systemsteuerprogrammen SCP zu verbessern. Ein Schnittstellenbereich zum Speichern alter und neuer Programmstatuswörter ist in dem gemeinsamen Hauptspeicher getrennt für jedes Systemsteuerprogramm SCP und die zentrale Verarbeitungseinheit CPU vorgesehen. Das Umschalten von einem Systemsteuerprogramm zu einem anderen für irgendeine CPU wird durchgeführt, indem die Inhalte eines Vorsatzcode-Registers in der jeweiligen CPU verändert werden. Dieses Umschalten ist durch Benutzerbefehle, die in der CPU ausgeführt werden, nicht steuerbar. Das Verfahren ermöglicht einen bevorzugten Gast-Systemsteuerprogramm (wie MVS/370) in einem System zu arbeiten, das ein bestimmtes Host-Systemsteuerprogramm, wie VM/370 aufweist. Auch ist eine Vorrichtung geoffenbart, um das Umschalten der CPU-Steuerung zwischen unterschiedlichen Systemsteuerprogrammen zu initiieren.
  • In Übereinstimmung mit dem vorstehenden Hintergrund besteht ein Bedürfnis nach einem verbesserten Rechnersystem, das erlaubt, daß mehrere Systemsteuerprogramme in einer Umgebung von Maschinen-Varianten laufen, insbesondere wo die Systemsteuerprogramme wirksam laufen.
  • Die vorliegende Erfindung schafft ein Datenverarbeitungssystem, umfassend: eine zentrale Verarbeitungseinheit, die unter Steuerung einer Mehrzahl von Systemsteuerprogrammen betreibbar ist und Anforderungen für Kanaloperationen erzeugt;
  • eine Hauptspeichereinheit, die Mehrzahl von Systemsteuerprogrammen speichert;
  • eine Mehrzahl von Kanälen zum Durchführen der Kanaloperationen, die von der zentralen Verarbeitungseinheit verlangt worden sind und zum Erzeugen von Anforderungen auf Unterbrechungen;
  • eine logische Prozessoreinrichtung in Verbindung mit der zentralen Verarbeitungseinheit und der Hauptspeichereinheit, um eines aus der Mehrzahl von Systemsteuerprogrammen zur Steuerung der zentralen Verarbeitungseinheit auszuwählen und um eine Kennzeichnung des steuernden Systemsteuerprogrammes zu speichern; und
  • eine Unterbrechungslenkeinrichtung in Verbindung mit der zentralen Verarbeitungseinheit, der logischen Prozessoreinrichtung und der Mehrzahl von Kanälen zum Lenken von Anforderungen auf Unterbrechungen, die von Kanälen an die zentrale Verarbeitungseinheit gegeben worden sind, dadurch gekennzeichnet, daß es ferner enthält:
  • eine Mehrzahl von logischen Kanaleinrichtungen in Verbindung mit entsprechenden der Mehrzahl von Kanälen und ansprechend auf eine Anforderung zur Kanaloperation, die dem entsprechenden Kanal zugeführt wird, zum Lesen und Speichern der Kennzeichnung des steuernden Systemsteuerprogrammes, von dem die Anforderung an eine Kanaloperation gemacht wird; und eine Steuerungseinrichtung, die auf eine Anforderung auf eine Unterbrechung von einem Kanal anspricht und mit der logischen Prozessoreinrichtung und der Mehrzahl von logischen Kanaleinrichtungen verbunden ist, um die Unterbrechungslenkeinrichtung in Reaktion auf einen Vergleich der Kennzeichnung des steuernden Systemsteuerprogrammes, die in der logischen Prozessoreinrichtung gespeichert ist, mit der Kennzeichnung des Systemsteuerprogrammes zu steuern, die in der logischen Kanaleinrichtung gespeichert ist, von der die Anforderung auf eine Unterbrechung gemacht wird.
  • Bei der bevorzugten Ausführungsform der Erfindung besteht der Host-Rechner aus einem oder mehreren zentralen Verarbeitunseinheiten (CPU's oder allgemeineren Prozessoren), einer Mehrzahl von Eingabe/Ausgabe (I/O)-Kanälen und einem gemeinsam benutzten gemeinsamen Hauptspeicher. Die Prozessoren und Eingabe/Ausgabe-Kanäle enthalten vorzugsweise Adressenabbildungs-Hardware. Auch Überwachungs-Hardware kann in jedem Prozessor vorhanden sein. Die Abbildungs-Hardware kann virtuelle Adressen, wie sie von einem Programm erzeugt werden, in physikalische Adressen umwandeln.
  • Der Host-Rechner mit der logischen Prozessoreinrichtung ersetzt MehrRechnersysteme, wo jedes Rechnersystem eine unterschiedliche Variante mit seinem eigenen unterschiedlichen Systemsteuerprogramm ist. Die Steuerung des Host-Rechners und der logischen Prozessoreinrichtung kann durch ein Systemsteuerprogramm einer virtuellen Maschine durchgeführt werden, das ein Ausführungssystem-Steuerprogramm (Executive System Control Program (ESP)) genannt wird. Eines oder mehrere Systemsteuerprogramme sind typische Standardprogramme, wie MVS von IBM, und werden von der logischen Prozessoreinrichtung nicht geändert.
  • Die vorstehenden und anderen Zielsetzungen, Merkmale und Vorteile der Erfindung werden aus der folgenden, genaueren Beschreibung einer bevorzugten Ausführungsform der Erfindung offensichtlich, wie es in den beigefügten Zeichnungen dargestellt ist.
  • Es wird auf unsere parallele Anmeldung EP-A-0171475 hingewiesen, die Ansprüche enthält, die sich auf die obige Offenbarung beziehen.
  • BESCHREIBUNG DER ZEICHNUNGEN
  • Fig. 1 ist ein Gesamtblockdiagramm eines Rechnersystemes, das die logische Prozessoreinrichtung der vorliegenden Erfindung enthält.
  • Fig. 2 ist ein Blockdiagramm des Hauptspeichers, der die Zuordnung der Hauptspeicheradressen zu mehreren Systemsteuerprogrammen (SCP' s) zeigt.
  • Fig. 3 ist ein Blockdiagramm, das weitere Einzelheiten eines Prozessors und insbesondere die zusätzlichen Einheiten zeigt, die hinzugefügt werden, um die logische Prozessoreinrichtung zu bilden.
  • Fig. 4 ist ein Blockdiagramm, das die Hauptspeicher-Abbildungseinheit in dem Prozessor der Fig. 3 zeigt.
  • Fig. 5 ist ein Blockdiagramm der System-Adressenprüfeinrichtung, die in der Einheit der Fig. 4 verwendet wird.
  • Fig. 6 ist ein Blockdiagramm der Bereichsadressen-Abbildungseinrichtung, die in der Einheit der Fig. 4 verwendet wird.
  • Fig. 7 ist ein Blockdiagramm der Kanaladressen-Abbildungseinrichtung.
  • Fig. 8 zeigt ein Blockdiagramm einer Statuseinheit in der Einheit der Fig. 4.
  • Fig. 9 ist ein Blockdiagramm der Befehlsabfolgeeinheit, die in Verbindung mit der logischen Prozessoreinrichtung verwendet wird.
  • Fig. 10 ist ein Blockdiagramm der Takteinheit, die mit der logischen Prozessoreinrichtung verwendet wird.
  • Fig. 11 ist ein Blockdiagramm der Unterbrechungslenkeinrichtung der Fig. 1.
  • Detaillierte Beschreibung Fig. 1 - Gesamtsystem
  • In Fig. 1 ist ein verallgemeinerter Rechner gezeigt, der einen oder mehrere Prozessoren 5-1, . . . , 5-N und einen oder mehrere Eingabe/Ausgabe-(I/O)-Kanäle 6-1 bis 6-M enthält. Jeder der Prozessoren 5-1 bis 5-N und jeder der Kanäle 6-1 bis 6-M sind mit dem Hauptspeicher 4 verbunden.
  • In Fig. 1 sind die Prozessoren und die Kanäle in hohem Maße architekturmäßig die gleichen wie bei herkömmlichen Rechnern nach dem Stand der Technik, wie das IBM System/370 und der Amdahl 470. Ferner ist in Fig. 1 eine zusätzliche Architekturstruktur als ein Teil einer logischen Prozessoreinrichtung enthalten. Jeder der Prozessoren 5-1 bis 5-N enthält jeweils eine zusätzliche Struktur 7-1 bis 7-N, die Teil der logischen Prozessoreinrichtung ist. Auch die Kanaleinheiten 6-1 bis 6-M enthalten auch jeweils zusätzliche Strukturen 8- 1 bis 8-M, die Teil der logischen Prozessoreinrichtung sind. Eine Unterbrechungslenkeinrichtung 3 ist vorgesehen, um Eingabe/Ausgabe Unterbrechungen von den Kanaleinheiten 6-1 bis 6-M zu dem jeweils geeigneten der Prozessoren 5-1 bis 5- N zu lenken.
  • Das System der Fig. 1 arbeitet mit Ausnahme der logischen Prozessoreinrichtung in einer herkömmlichen Weise unter irgendeinem herkömmlichen Systemsteuerprogramm (SCP) für einen Produktionsbetrieb, der von den Ausführungsprogrammen durchgeführt wird.
  • Mit der logischen Prozessoreinrichtung in dem System der Fig. 1 ist ein Host-Rechner gebildet, der unter Steuerung von Befehlen von einem besonderen Haupt-Systemsteuerprogramm, das "ESP" genannt wird, arbeiten kann. Ein typisches, untergeordnetes Systemsteuerprogramm, das unter der Steuerung von Befehlen von dem ESP arbeitet, ist das gut bekannte Systemsteuerprogramm, das MVS genannt wird.
  • Die logische Prozessoreinrichtung enthält eine Anzahl von Mechanismen innerhalb des Host-Rechners. Erstens enthält der Host-Rechner mit der logischen Prozessoreinrichtung Mechanismen, die mehreren Systemsteuerprogrammen (SCP's) gestatten, in dem Host-Rechner unter der Steuerung von Befehlen von dem ESP zu residieren. Befehle vom ESP arbeiten, einen Teil des Gesamtsystems der Fig. 1 zu steuern, während andere Systemsteuerprogramme den Produktionsbetrieb steuern.
  • Zweitens enthält der Host-Rechner Mechanismen, die gestatten, daß Befehle von dem ESP bewirken, daß die gemeinsame Verwendung des Host-Rechners wirksam unter den Systemsteuerprogrammen aufgeteilt wird.
  • Drittens enthält der Host-Rechner Mechanismen, die Befehlen von dem ESP gestatten, daß der Host-Rechner für irgendeines oder mehrere Systemsteuerprogramme als eine Variante erscheint und wirksam bei der Produktion von jedem Systemsteuerprogramm arbeitet.
  • Fig. 2 - Hauptspeicherbereiche
  • In Fig. 2 ist eine Adressenzuordnung für die Systemsteuerprogramme (SCP's) gezeigt. Die Adressenzuordnung ist zwischen der untersten Systemadresse (LSA) und der maximalen Systemadresse (MSA). Der Bequemlichkeit halber wird das Haupt-Systemsteuerprogramm, das ESP genannt wird, in dem untersten Bereich des Hauptspeichers zwischen der untersten Systemadresse LSA und einer Systemadressengrenze (SAL) angeordnet. Natürlich kann das ESP irgendeinen Ort haben. Die dem ESP zugeordnete Speichergröße kann irgendeine Größe sein und bei einem Beispiel ist sie 256 K Byte. In einer ähnlichen Weise wird jedem "r" der "n" Systemsteuerprogrammen SCP(1), SCP(r), . . . , SCP(n) irgendein Block des Hauptspeichers zugeordnet, der für dieses Systemsteuerprogramm einzig ist. Bei einem typischen Adressenschema besitzt jedes Systemsteuerprogramm seinen Block an Hauptspeicher, der in Größen einer Basisadresse und einer Versetzung zugeordnet ist, die, wenn sie zu der Basis addiert wird, die obere Grenze für den Adressenbereich für dieses Systemsteuerprogramm bildet. Ein typisches der Systemsteuerprogramme ist beispielsweise das Systemsteuerprogramm SCP(r), das eine Basisadresse DMSBr und eine obere Adressengrenze DMSLr hat.
  • Jedes der Systemsteuerprogramme (das heißt für r gleich irgendeinem der Werte von 1, . . . , n) weist eine entsprechende DMSB und DMSL auf. Auf diese Weise besitzen die mehreren Systemsteuerprogramme einschließlich des ESP getrennte Adressenzuordnungen in dem Hauptspeicher 4 der Fig. 1. Diese getrennten Zuordnungen werden "Bereiche" genannt. Jeder Bereich ist durch eine Bereichsnummer "r" gekennzeichnet.
  • Steuerungshierarchie
  • Die Steuerungshierarchie enthält ein Haupt-Systemsteuerprogramm, das das ESP genannt wird, und eine Mehrzahl von untergeordneten Systemsteuerprogrammen SCP&sub1;, . . . , SCPr, . . . , SCPn. Jedes untergeordnete Systemsteuerprogramm steuert eine Anzahl von Anwendungsprogrammen, die Jobs genannt werden. Die Steuerungshierarchie ist durch die folgende TABELLE 6 dargestellt.
  • TABELLE 6 Steuerungshierarchie mit logischer Prozessoreinrichtung
  • Die Steuerungshierarchie der TABELLE 6 scheint ähnlich der Steuerungshierarchie eines virtuellen Maschinensystems VMS zu sein, wie es in TABELLE 2 angegeben ist, aber die Betriebsmodi sind beträchtlich unterschiedlich. In dieser Beschreibung werden die Ausdrücke "Modi" und "Zustände" allgemein verwendet, auf die Steuerungsbedingungen hinzuweisen, die beispielsweise durch den "1" oder "0" Zustand von einem oder mehreren Steuerbits bestimmt sind.
  • Der Host-Rechner der Fig. 1 mit der logischen Prozessoreinrichtung weist zwei Betriebszustände auf, einen Systemzustand und einen Benutzerzustand für jeden Prozessor 5-1, . . . , 5-N und für jeden Kanal 6-1, . . . , 6-M. Zusätzlich haben der Systemzustand und der Benutzerzustand einen Kontrollmodus und einen Aufgabenmodus. Der Zustand, das System oder Benutzer, wird durch eines oder mehrere Systemsteuerbit "S" in jedem Prozessor und in jedem Kanal festgelegt. Ähnlich werden der Kontrollmodus und der Aufgabenmodus durch eines oder mehrere Modussteuerbit "P" festgelegt.
  • Wenn der Systemzustand der bestätigte (S=1) ist, dann arbeitet der Prozessor oder Kanal für das ESP. Wenn der Benutzerzustand der bestätigte (S=0) ist, arbeitet der Prozessor oder der Kanal für ein Systemsteuerprogramm SCP. Die folgende TABELLE 7 stellt die Steuerbitzustände dar.
  • TABELLE 7 LPF Steuerbit "S" und "P"
  • Übergänge zwischen dem Benutzerzustand und dem Systemzustand werden durch das Umschalten von einem oder mehreren Zustandsbit erreicht und treten bei einer Anzahl von Mitteln auf. Für einen Kanal treten Zustandsbitübergänge bei der Initiierung eines Kanalprogrammes auf, und Kanalprogramme werden seitens eines Benutzerzustandes oder Systemzustandes initiiert. Ein Kanalprogramm wird in einer herkömmlichen Weise mit einer START Eingabe/Ausgabe Befehl, SIOF, initiiert. Für einen Prozessor treten Übergänge von einem Systemzustand in einen Benutzerzustand bei der Ausführung eines "Zustandsänderungs"-Befehles auf, und die Übergänge von einem Benutzerzustand zu einem Systemzustand begleiten das Auftreten von Unterbrechungen.
  • System/370 Befehle können, ob im Kontrollmodus oder Aufgabenmodus, entweder im Benutzerzustand oder im Systemzustand ohne Unterbrechung ausgeführt werden. Einige Befehle, wie der "Zustandsänderungs"-Befehl sind nur zur Ausführung im Systemzustand gültig.
  • Das ESP, das im Systemzustand arbeitet, führt den "Zustandsänderungs"-Befehl aus, um zu dem Benutzerzustand zurückgeben, bevor die Steuerung an das Systemsteuerprogramm gegeben wird. Es ist für das ESP nicht notwendig, die Steuerung zu erhalten, damit ein Systemsteuerprogramm einen privilegierten Befehl ausführt.
  • Das Modussteuerbit P wird in dem Systemzustand und in dem Benutzerzustand verwendet, um entweder einen Aufgabenmodus oder einen Kontrollmodus des Betriebes anzuzeigen. Das Zustandssteuerbit S wird verwendet, entweder einen Systemzustand oder einen Benutzerzustand in dem Aufgabenmodus und in dem Kontrollmodus anzugeben. Die kombinierte Arbeitsweise des S und P Bit liefert einen Mechanismus, der eine Betriebs-Variante erlaubt. In dem Aufgaben- und dem Kontrollmodus unter dem Systemzustand kann jede unterschiedliche Variante, die einem unterschiedlichen Systemsteuerprogramm entspricht, aufgenommen werden. Ferner kann der Systemzustand einen Aufgabenmodus und einen Kontrollmodus enthalten.
  • Der Wirkungsgrad verschiedener Systemsteuerprogramme SCP, die in einem System von der Art der Fig. 1 laufen, kann relativ zu ihrer Leistung bestimmt werden, wenn sie im Eigenmodus (native mode) und nicht unter der Kontrolle eines Haupt-Steuerprogrammes, wie des ESP, laufen. Um sich mit einem annehmbaren Leistungswert für den Produktionsbetrieb zu qualifizieren, muß die Leistung des Systemsteuerprogrammes in der logischen Prozessoreinrichtung unter Steuerung eines Haupt-Systemsteuerprogrammes im allgemeinen wenigsten 95% der Eigenmodusleistung haben und sollte wünschenswerterweise größer als 99% der Eigenmodusleistung haben.
  • Aus diesem Grund wird die logische Prozessoreinrichtung allgemein mit Bauteilen ausgerüstet, die helfen, sicherzustellen, daß die Systemsteuerprogramme für die Produktion laufen können, das heißt, mit einer Leistung von mehr als 95 % der Eigenmodusleistung. Unterschiedliche Teile der logischen Prozessoreinrichtung werden nachfolgend beschrieben, um zu zeigen, wie sie mit einem herkömmlichen System/370 Rechner verbunden sind.
  • Fig. 3 - Typischer Prozessor
  • In Fig. 3 sind weitere Einzelheiten eines typischen Prozessors, wie des Prozessors 5-1 der Fig. 1, gezeigt. In Fig. 3 ist der Prozessor 5-1 ein herkömmlicher System/370 Prozessor, der zusätzlich die Einheit 7-1 enthält, die Teil der logischen Prozessoreinrichtung bildet. Die Einheit 7-1 enthält das S-Register 9, das das Zustandsbit S zum Angeben speichert, ob der Prozessor in dem Benutzerzustand oder in dem Systemzustand ist.
  • Die Einheit 7-1 enthält ein Bereichsnummernregister 10 zum Anzeigen, welcher Bereichsnummer "r" der Prozessor 5-1 zugeordnet ist. Der "Bereich" ist der Adressenbereich über den dem Systemsteuerprogramm gestattet wird, zu arbeiten, wie es in Verbindung mit Fig. 2 beschrieben worden ist. Jedes der Systemsteuerprogramme wird im allgemeinen durch eine unterschiedliche Bereichsnummer repräsentiert. Wo nur ein einziges Systemsteuerprogramm verwendet wird, kann das Register 10 außer Acht gelassen werden. Im allgemeinen werden jedesmal, wenn einem unterschiedlichen Systemsteuerprogramm die Steuerung des Prozessors 5-1 durch Laden einer unterschiedlichen Bereichsnummer in das Register 10 gegeben wird, werden die Inhalte aller anderen Register in der logischen Prozessoreinrichtung 7-1 erneut geladen. Das Laden der logischen Prozessorregister geschieht unter der Steuerung des Befehls vom ESP, wie Lade Systemregister (LSR).
  • Die Einheit 7-1 enthält ein Nummernregister 11 für den Bereich der CPU. Das Register 11 speichert eine Nummer, die eindeutig einen Prozessor kennzeichnet, der als einer der Prozessoren 5-1 bis 5-N wirkt. Bei einer Ausführungsform, wo nur ein einzelner Prozessor, wie der Prozessor 5-1, verwendet wird, kann das Register 11 außer Acht gelassen werden. Die Nummer "N" bezeichnet die Nummer aktiver Prozessoren, die dem System zugeordnet sind. Irgendeine Nummer "X" der Prozessoren, wo X größer als N ist, kann in dem System verbunden werden, aber nur ein Teilsatz N von X wird jeweils als aktiv definiert.
  • Die Einheit 7-1 enthält eine Statuseinheit 12 für den Bereich der CPU. Die Statuseinheit 12 enthält zusätzliche Programmstatuswort-(PSW)-Register und andere Struktur, die bei der logischen Prozessoreinrichtung zweckmäßig ist. Die Statuseinheit 12 als Teil der Einheit 7-1 der logischen Prozessoreinrichtung gibt es zusätzlich zu irgendwelchen Statusregistern und Schaltung, die der Prozessor 5-1 für den normalen Betrieb ohne eine logische Prozessoreinrichtung aufweist.
  • Die Einheit 7-1 enthält auch eine Nummer, beispielsweise 16, der Allgemeinzweckregister 13 des Systems. Die Allgemeinzweckregister (GPR) des Systems gibt es zusätzlich zu den Allgemeinzweckregistern in dem Prozessor 5-1, da der Prozessor 5-1 als ein System/370 Prozessor ohne das Hinzufügen der logischen Prozessoreinrichtung 7-1 besteht.
  • Die Überwachungseinheit 14 ist enthalten, um den Betrieb des Host-Rechners mit der logischen Prozessoreinrichtung zu überwachen.
  • Die Einheit 7-1 enthält die Hauptspeicher-Abbildungseinrichtung 16, die sicherstellt, daß eine Adressierung durch den Prozessor 5-1 für die geeigneten Speicherplätze in dem Hauptspeicher 4 erfolgt, der in der in Verbindung mit Fig. 2 vorhergehend beschriebenen Weise unterteilt ist.
  • Die Einheit 7-1 enthält eine Kanaladressen-Abbildungseinrichtung 17, die arbeitet, sicherzustellen, daß das Adressieren zwischen dem Prozessor 5-1 und irgendeinem der Kanäle 6-1 bis 6-M das richtige Adressieren aufweist.
  • Die Einheit 7-1 enthält ein Merkmalssteuerwortregister 15, das identifiziert, welches Merkmal in dem Prozessor 5-1 aktiviert worden ist.
  • Die Einheit 7-1 enthält eine Zeitvarianten-Einheit 79, die jedem Systemsteuerprogramm erlaubt, daß es einen unterschiedlichen Tageszeit-Taktgeber hat, der eine unterschiedliche Zeit gegenüber dem Tageszeit-Taktgeber des Prozessors 5-1 hat, wenn der Prozessor 5-1 ein System/370 Prozessor ohne die logische Prozessoreinrichtung der Einheit 7- 1 ist.
  • Im Systemzustand kann ein Prozessor, wie der Prozessor 5-1 der Fig. 3, die aktuellen physikalischen Adressen (absoluten Adressen) des Hauptspeichers verwenden, und diese Adressen werden "System-Hauptspeicheradressen" genannt. Der Bereich des Adressierens ist jedoch durch eine Systemadressenprüfeinrichtung in der Hauptspeicher-Abbildungseinrichtung 16 begrenzt, um die Systemsteuerprogramme gegenüber Fehlern in dem ESP zu schützen.
  • Im Benutzerzustand sieht ein Prozessor, wie der Prozessor 5- 1, effektive Adressen, die von dem Systemsteuerprogramm erwartet werden und "Bereichs-Hauptspeicheradressen" oder einfacher "Bereichsadressen" genannt werden. Im Systemzustand sieht der Prozessor effektive Adressen, wie sie von dem ESP erwartet werden und "System-Hauptspeicheradressen" oder einfacher "Systemadressen" genannt werden.
  • Fig. 4 - Hauptspeicher-Abbildungseinrichtung
  • In Fig. 4 sind weitere Einzelheiten der Hauptspeicher-Abbildungseinrichtung 16 gezeigt, wie sie in dem Prozessor der Fig. 3 auftritt. In Fig. 4 bilden die schraffierten Kästen Teil des herkömmlichen System/370 Prozessors 5-1. Das effektive Adressenregister 21 liefert eine Adresse an die dynamische Adreßumsetzungseinheit 22. Die umgesetzte Adresse von der Einheit 22 liefert einen Eingang an die Vorsatzcode- Einheit 26. Die Vorsatzcode-Einheit 26 ist in Übereinstimmung mit der System/370 Architektur mit Ausnahme für den führenden Feldbereich 29 herkömmlich. Der führende Feldbereich 29 empfängt einen Vorsatzcode von der Auswähleinheit 25. Die Auswähleinheit 25 wählt entweder einen Benutzer- Vorsatzcode von einem Benutzer-Vorsatzcoderegister 24 oder einen System-Vorsatzcode von einem System-Vorsatzcoderegister 23. Das System- und Benutzer-Vorsatzcoderegister 23 bzw. 24 werden von einem Datenregister 20 unter Programmsteuerung während der Initialisierung durch den Prozessor 5- 1 geladen. Das Datenregister 20 kann das Hauptspeicher-Datenregister 49 oder irgendein anderes Datenregister in einem herkömmlichen System/370 Prozessor sein. Das Laden der Register 23 und 24 wird typischerweise durchgeführt, indem ein Lade System Register (LSR) Befehl des ESP ausgeführt wird.
  • Die Auswahl der Vorsatzcode von den Registern 23 und 24 erfolgt unter Steuerung des Systembit S. Wenn S eine logische 1 ist, dann wird der System-Vorsatzcode von dem Register 23 ausgewählt, und wenn das Systembit eine logische 0 ist, wird der Vorsatzcode von dem Register 24 ausgewählt. Wenn das richtige Vorsatzcodieren auf die Adresse angewendet wird, werden die Adressen in die Systemadressen-Prüfeinrichtung 27 und die Bereichsadressen-Abbildungseinrichtung 28 eingegeben. Dann prüft die Systemadressen-Prüfeinrichtung, um zu bestimmen, daß irgendeine Systemadresse die Systemadressengrenze SAL nicht überschreitet. Die Bereichsadressen-Abbildungseinrichtung 28 prüft, um zu bestimmen, daß irgendeine Benutzeradresse für ein bestimmtes Systemsteuerprogramm innerhalb des Adressenbereiches dieses Systemsteuerprogrammes ist. Die Ausgabe von der Adressenprüfeinrichtung 27 oder der Abbildungseinrichtung 28 wird in dem Adressenregister 31 gespeichert, das zum Adressieren des Hauptspeichers 4 der Fig. 1 verwendet wird.
  • Da das System der Fig. 1 eine Mehrprozessor-Umgebung (mehr als einen Prozessor) erwägt, ist ein Vorcodierungsmechanismus mit einem Prozessor für die führenden Bit (Register 23 und 24 und Auswähleinrichtung 25) in Fig. 4 für Systemadressen und für Bereichsadressen vorgesehen. Es gibt eine unterschiedliche Vorcode-Abbildungseinrichtung für das Bereichsadressieren und für das Systemadressieren, weil das Vorcode-Abbilden, das von dem Systemsteuerprogramm verwendet wird, für das ESP nicht geeignet sein mag, und weil es ferner wünschenswert ist, das unterschiedliche Systemsteuerprogramme unterschiedliche Vorcode haben dürfen.
  • Anders als das Vorcodieren höherer Ordnung ist die Vorcode- Abbildung ein Duplikat des gut bekannten System/370-Abbildens.
  • Fig. 5 - Systemadressen-Prüfeinrichtung
  • In Fig. 5 ist ein typisches Beispiel der Systemadressen- Prüfeinrichtung 27 der Fig. 4 mehr einzelnen gezeigt. Der Bus 32 von der Vorcode-Einheit 26 ist als ein Eingang mit einem Komparator 34 verbunden. Der Komparator 34 vergleicht die Adresse auf dem Bus 32 mit der Adresse von dem SAL (Seze und Lade) Register 35. Wenn der Inhalt des Registers 35 größer als die Adresse auf dem Bus 32 ist, dann ist das SOK Signal eine logische 1, die anzeigt, daß die Systemadresse innerhalb des vorbestimmten Adressenbereiches für das ESP ist, wie es vorhergehend in Verbindung mit Fig. 2 angegeben worden ist. Wenn SOK eine logische 0 ist, dann bewirkt die Unterbrechungssteuerung 68 der Fig. 9, daß eine Unterbrechung vorgenommen wird. Die Torschaltungen 36 lenken die Adresse auf dem Bus 32 als einen Eingang zu dem Register 31 der Fig. 4, wenn das Systembit S eine logische 1 ist.
  • Das SAL-Register 35 wird mit der SAL-Adresse von irgendeinem Datenregister, wie dem Datenregister 20 der Fig. 4, während der Initialisierung des Systems geladen. Das Register 35 wird beispielsweise durch Ausführung eines Lade System Register (LSR) Befehls geladen.
  • Fig. 6 - Bereichsadressen-Abbildungseinrichtung
  • In Fig. 6 sind weitere Einzelheiten der Bereichsadressen- Abbildungseinrichtung 28 gezeigt. Die Adresse von der Vorcode-Einheit 26 liefert eine Eingabe an die Addiereinrichtung 39 und an den Komparator 40. Die Addiereinrichtung 39 addiert die Adresse zu der Basisadresse in dem DMSB-Register. Die Basisadresse in dem Register 41 wird während der Initialisierung vorgesehen, wenn immer ein Systemsteuerprogramm dasjenige ist, das die Steuerung des Systems für die Produktion hat. Die richtige Basisadresse für irgendein Systemsteuerprogramm wird in das Register 41 während der Initialisierung, beispielsweise durch einen Lade System Register (LSR) Befehl geladen. Während des Betriebes wird die Basisadresse zu allen Adressen auf dem Bus 33 für dieses
  • Systemsteuerprogramm hinzuaddiert. Die Adresse auf dem Bus 33, wenn sie zu der Größe des Basisregisters 41 addiert worden ist, kann normalerweise die Adresse der Bereichssystemgrenze DMSL nicht überschreiten. Damit die Adresse der Bereichssystemgrenze DMSL nicht überschritten wird, wird der Wert der Versetzungserhöhung auf dem Bus 33 in dem Komparator 40 geprüft. Wenn die Adresse auf dem Bus 33 kleiner als die Größe DMSL in dem Register 42 für die Bereichssystemgrenze ist, liefert der Komparator 40 das DOK Signal als eine logische 1. Wenn die Adresse auf dem Bus 33 die Größe der Bereichssystemgrenze überschreitet, dann ist das DOK Signal eine logische 0, die anzeigt, daß die Adressengrenze überschritten worden ist, und bewirkt, daß eine Unterbrechung vorgenommen wird.
  • Das Register 42 für die Bereichssystemgrenze wird von einem Datenregister ähnlich dem Datenregister 20 in Fig. 4 zur Zeit der Initialisierung eines Systemsteuerprogrammes als das Produktions-Systemsteuerprogramm in dem Prozessor 5-1 geladen. Das Laden erfolgt durch ein Lade System Register (LSR) Befehl.
  • Die Prüfeinrichtung 27 und die Abbildungseinrichtung 28 der Fig. 4, 5 und 6 sind zusätzlich zu den bestehenden Tabellen der Systemsteuerprogramme vorhanden, die in einem herkömmlichen System/370 durch die Einheit 22 für die dynamischen Adreßenumsetzung (DAT) ausgeführt sind. Dieses zweite Abbilden ist eine bedeutende Änderung gegenüber der VM Unterstützung, die nur einen Mechanismus für Umsetzungen verwendet.
  • Die neuen Abbildungen werden durch besondere Befehle gesteuert, die nur im Systemzustand gültig sind. Lade System Register (LSR) ist ein typischer Befehl zum Laden der Systemregister in den Strukturen der Fig. 4, 5 und 6.
  • Mittels der obigen Tabellen wird der Hauptspeicher 4 in einem Rechner mit einer logischen Prozessoreinrichtung gemeinsam benutzt, so daß das ESP den untersten Bereich des Hauptspeichers einnimmt und ihn mit Systemadressen adressieren kann. Den anderen Steuerprogrammen werden typischerweise nicht überlappende, aneinander angrenzende und höhere Bereiche eines Systemhauptspeichers für ihren Verbleib und Verwendung zugeordnet. ESP wird beträchtlich durch diesen Mechanismus vereinfacht. Statt mit der Hauptspeicher-Abbildung für jedes Systemsteuerprogramm einbezogen zu sein, lädt das ESP nur das Systemregister in den Fig. 4 und 6, wodurch die Parameter des Abbildens, die für ein Systemsteuerprogramm geeignet sind, gesteuert werden, bevor diesem Systemsteuerprogramm die Kontrolle gegeben wird.
  • Kanäle
  • In dem Rechner der Fig. 1 können unterschiedliche Systemsteuerprogramme die Systemkanäle gleichzeitig benutzen und Kanaladressen ohne Konflikt verwenden.
  • ESP und die Systemsteuerprogramme können alle Eingabe/Ausgabe Operationen initiieren, indem ein Eingabe/Ausgabe Befehl des System/370 (wie SIOF) ausgeführt wird, der eine Kanaladresse enthält. Der adressierte Kanal wird über den Status des Prozessors, wenn die Operation initiiert wird, einschließlich des Zustandes des Prozessors und der Inhalte der Register der Hauptspeicher-Adressenabbildungseinrichtung informiert. Ein Kanal, der im Benutzerzustand initiiert worden ist, bildet in der Weise ab, wie es in dem Prozessor bei der Initiierung des Systemsteuerprogrammes eingestellt worden ist. Eine Operation, die in einem Systemzustand initiiert worden ist, kann eine System-Hauptspeicheradresse oder eine Bereichs-Hauptspeicheradresse in Abhängigkeit von der Operation verwenden.
  • Eine Unterbrechung, die den Abschluß einer Eingabe/Ausgabe Operation unter der Steuerung der Unterbrechungslenkeinrichtung 3 bedeutet, wird nur von einem Prozessor empfangen, der im Auftrag des Initiators der Kanaloperation wirkt, wodurch somit die erneute Lenkung von Gesamtaufwand in dem ESP verringert wird. Das ESP wird nicht benötigt, einzugreifen, um herkömmliche System/370 Eingabe/Ausgabe Unterbrechungen zu lenken oder zu kontrollieren.
  • Um sicherzustellen, daß das ESP und ein Systemsteuerprogramm dieselben Kanaladressen ohne Konflikt verwenden können, werden die Kanaladressen, die im Benutzerzustand verwendet werden, als Bereichskanaladressen unterschieden, und werden auf Systemkanaladressen abgebildet, wobei eine neue Kanaladressen-Abbildungseinrichtung verwendet wird, die Teil der logischen Prozessoreinrichtung bildet. Die Systemkanaladressen können unmittelbar vom ESP verwendet werden.
  • Fig. 7 - Kanaladressen-Abbildungseinrichtung
  • In Fig. 7 ist die Kanaladressen-Abbildungseinrichtung 17 der Fig. 3 mehr im einzelnen gezeigt. Die Abbildungseinrichtung enthält ein Basisregister 45 für die Bereichskanaltabelle, einen Addierer 46 und ein Kanaladressenregister 47 mit einem Verriegelungsfeld (SL) 47'. Wenn immer ein Kanal durch den Prozessor 5-1 adressiert werden soll, erzeugt der Prozessor 5-1 in Übereinstimmung mit der System/370 Architektur in Reaktion auf einen START Eingabe/Ausgabe Befehl eine Kanaladresse, die, um sie von einer Systemkanaladresse zu unterscheiden, als die Bereichskanaladresse bezeichnet wird. Die Bereichskanaladresse wird in dem Register 48 in Fig. 7 gespeichert. Das Register 48 ist ein herkömmliches System/370 Register. Der Addierer 46 addiert die Basisadresse von dem Register 45 zu der Bereichskanaladresse von dem Adressenregister 48. Der Ausgang von dem Addierer 46 wird in dem Speicheradressenregister 31 zum Adressieren des Hauptspeichers gespeichert, um eine der Einsprungstellen für die Bereichskanaltabelle von einer Tabelle 50 solcher Einsprungstellen in dem Hauptspeicher 4 der Fig. 1 zu erhalten. Die Systemkanaladresse von dem Hauptspeicher 4 wird in dem Hauptspeicher-Datenregister 49 gespeichert, wo sie von der Auswähleinrichtung 91 zur Verriegelung in dem Systemkanaladressenregister 47 in der Kanaladressen-Abbildungseinrichtung 17 ausgewählt werden kann.
  • Die Auswähleinrichtung 91 erhält auch die direkte Eingabe von dem Register 48. Die Auswähleinrichtung 91 wählt in Reaktion auf das SIO-G Signal entweder die Adresse von dem Register 48 im Systemzustand oder die Adresse von dem Register 49 im Benutzerzustand. Das SIO-G Signal wird von dem Zuordner 66 in Reaktion auf einen decodierten START Eingabe/Ausgabe Befehl bereitgestellt. SIO-G bestätigt, im Systemzustand den Inhalt des Registers 48 auszuwählen, und im Benutzerzustand, den Inhalt des Registers 49 nicht auszuwählen.
  • Jede Einsprungsstelle in die Hauptspeichertabelle der Bereichskanal-Tabelleneinsprungstellen enthält ein Systemverriegelungsbit 50, auf das zusammen mit einer Systemkanaladresse zum Speichern in dem Systemkanaladressenregister 47 zugegriffen wird.
  • Das Systemverriegelungsbit SL liefert das SLOK Signal in einem bestätigten Zustand, wenn der Zugriff auf den Kanal auf den Systemzustand begrenzt werden soll. Wenn das SL-Bit nicht bestätigt ist, dann ist dem Systemsteuerprogramm gestattet, Zugriff auf den Kanal zu haben. Es wird darauf hingewiesen, daß das SL-Bit den Zugriff zu dem Kanal beschränkt oder erlaubt, ohne den Adressenbereich zu begrenzen, der von dem Systemsteuerprogramm verwendet werden kann. Wenn SLOK bestätigt ist und ein Zugriff im Benutzerzustand versucht wird, dann bewirkt die Unterbrechungssteuerung 68 in Fig. 9, daß eine Unterbrechung vorgenommen wird.
  • Nach dem Einrichten der der Kanaltabellen in dem ESP-Bereich des Hauptspeichers, muß das ESP nur das Zeigerregister 45 laden, bevor die Kontrolle an ein Systemsteuerprogramm gegeben wird. ESP muß überhaupt nicht bei normalen Eingabe/Ausgabe Operationen des Systemsteuerprogrammes involviert werden. ESP lädt das Register 45, wobei ein Befehl Lade Systemregister verwendet wird.
  • Mit den obigen Hardware-Erweiterungen für eine logische Prozessoreinrichtung können mehrere Systemsteuerprogramme unter Einschluß eines steuernden ESP die Betriebsmittel eines einzelnen Host-Rechners gemeinsam benutzen. Die unterschiedlichen Systemsteuerprogramme werden durch unterschiedliche Adressenabbildungen unterschieden. Die Mechanismen der logischen Prozessoreinrichtung sind nützlich, ob es ein Systemsteuerprogramm oder viele gibt, und sie helfen, Leistung bei den Systemsteuerprogrammen, insbesondere für die Produktion, zu erzielen.
  • Der Host-Rechner der Fig. 1 hat einen oder mehrere Prozessoren, die für einen zeitgemultiplexten Betrieb mehrerer Systemsteuerprogramme fähig sind, wobei jeder Prozessor das gegenwärtige Systemsteuerprogramm in Steuerung durch die Bereichsnummer identifiziert, die in dem Register 10 in dem Prozessor der Fig. 3 enthalten ist, und den gegenwärtigen Prozessor in dem Systemsteuerprogramm durch eine Nummer in dem Register 11 identifiziert. Für ein Mehrprozessor-Systemsteuerprogramm kann irgendein Prozessor als irgendein von dem Systemsteuerprogramm kontrollierter Prozessor wirken. In der logischen Prozessoreinrichtung sind das Systemsteuerprogramm und der Prozessor des Systemsteuerprogrammes als die Bereichsnummer in dem Register 10 und die Bereichs- CPU-Nummer in dem Register 12 spezifiziert. Diese Kennzeichnungen werden bei Eingabe/Ausgabe Operationen verwendet.
  • Logische Prozessoreinrichtung für die Kanaleinheit
  • Jede der Kanaleinheiten 6-1 bis 6-M enthält die zusätzlichen Strukturen 8-1 bis 8-M, die Teil der logischen Prozessoreinrichtung bilden.
  • Jede der Strukturen enthält Register zum Speichern von einer oder mehreren Kopien der Inhalte des Systemregisters 9, des Bereichsnummernregister 10 und des Bereichs-CPU-Nummernregisters 11, wie es vorhergehend in Verbindung mit Fig. 3 beschrieben worden ist. Zu dem Zeitpunkt, zu dem einer der Eingabe/Ausgabe Kanäle 6-1 bis 6-M eine Aufgabe von einem der Prozessoren 5-1 bis 5-N erhält, werden die Inhalte der Register 9, 10 und 11 in dem Prozessor in die entsprechenden Register in dem Eingabe/Ausgabe Kanal kopiert.
  • Die Strukturen 8-1 bis 8-M enthalten auch jeweils eine Hauptspeicher-Abbildungseinrichtung 16, wie die die in Fig. 3 und mehr im einzelnen in den Fig. 5 und 6 gezeigt ist. Mit der Hauptspeicher-Abbildungseinrichtung kann jeder Kanal das Adressenüberprüfen und Adressenabbilden durchführen, um sicherzustellen, daß das Kanalprogramm den Zugriff zu dem richtigen Hauptspeicherbereich macht.
  • Zu dem Zeitpunkt, zu dem eine Kopie der Inhalte der Register 9, 10 und 11 der Fig. 3 von einem Prozessor in die entsprechenden Register in einer Struktur 8 eines Eingabe/Ausgabe Kanals gespeichert worden ist, werden die Inhalte des SAL- Registers 35 des DMSB-Registers 41 und des DMSL-Register 42 auch in entsprechende Register in dem Eingabe/Ausgabe Kanal kopiert.
  • Das Kopieren der Inhalte von logischen Prozessoreinrichtungsregistern in einem Prozessor in die entsprechenden Register eines Kanals tritt beispielsweise als ein Teil des Decodierens eines START Eingabe/Ausgabe Befehls auf.
  • Der Betrieb des Kanals wird entweder für ein Eingabe/Ausgabe Programm im Systemzustand oder im Benutzerzustand mit der Adressenabbildung in dem Kanal in derselben Weise durchgeführt, wie es in dem Prozessor auftrat, wie es in Verbindung mit der Fig. 5 und der Fig. 6 beschrieben worden ist. Bei Beendigung einer Eingabe/Ausgabe Operation wird eine Eingabe/Ausgabe Unterbrechung durch den Kanal in einer herkömmlichen Weise erzeugt, wie es für System/370 Rechner auftritt. Die Eingabe/Ausgabe Unterbrechung wird jedoch zusätzlich durch die Unterbrechungslenkeinrichtung 3 der Fig. 1 zu dem Prozessor zurückgelenkt, der dieselben Bereichsnummer und Bereichs-CPU-Nummer hat, wie sie in den entsprechenden Registern in der Kanalstruktur 8 gespeichert worden sind. Wie es in Fig. 11 gezeigt ist, vergleicht die Unterbrechungslenkeinrichtung die Bereichsnummer und die Bereichs- CPU-Nummer von dem Kanal und von dem Prozessor, und wenn sie zueinander passen, lenkt sie die Eingabe/Ausgabe Unterbrechung zu dem Prozessor.
  • Die Unterbrechungslenkeinrichtung überträgt die Eingabe- Ausgabe Unterbrechung als eine Funktion der Systemzustandsbit der Prozessoren und des Kanals. Irgendeine logische Kombination zum Bestimmen der Übertragung kann verwendet werden. Wenn beispielsweise der Prozessor und der Kanal in dem Benutzerzustand (S=0) sind, dann wird die Eingabe/Ausgabe Unterbrechung nicht übertragen und von dem Prozessor als eine normale Benutzerzustandsunterbrechung verarbeitet. Wenn der Kanal in dem Benutzerzustand (S=0) ist und der Prozessor ist in dem Systemzustand (S=1), dann wird die Lenkeinrichtung 3 die Unterbrechung übertragen, bis der Prozessor 5-1 zu dem Benutzerzustand für dieselbe Bereichsnummer zurückkehrt. Jeder Satz von Regeln kann zum Bestimmen eingesetzt werden, wann und wie die Eingabe/Ausgabe Unterbrechung übertragen und von dem Prozessor verarbeitet werden soll.
  • Fig. 11 - Unterbrechungslenkeinrichtung
  • In Fig. 11 sind weitere Einzelheiten der Unterbrechungslenkeinrichtung 3 der Fig. 1 gezeigt. Insbesondere sind die logischen Prozessoreinrichtungen 7-1 bis 7-N der Prozessoren 5-1 bis 5-N in Fig. 11 gezeigt. Ähnlich sind die logischen Prozessoreinrichtungen 8-1 bis 8-N der Kanäle 6-1 bis 6-M in Fig. 11 gezeigt. Der Register- und anderer Informationsausgang von jeder der Einheiten 7-1 bis 7-N werden einer Auswähleinrichtung 84 eingegeben, die arbeitet, jederzeit irgendeinen der N-Ausgänge auszuwählen. Ähnlich sind die Ausgänge der Einheiten 8-1 bis 8-M mit der Auswähleinrichtung 85 verbunden, die wiederum einen der M-Ausgänge auswählt. Die Steuerungseinrichtung 88 steuert in einer herkömmlichen Weise die Auswähleinrichtung 85, um zu bestimmen, ob eine Eingabe/Ausgabe Unterbrechung bestätigt worden ist. Wenn bestätigt, vergleicht die Steuerungseinrichtung 88 die Bereichsnummer von dem Kanal mit der aktiven Eingabe/Ausgabe Unterbrechungsleitung mit dem Bereichsnummernregister 10 in dem Prozessor, der in dem Bereichs-CPU-Nummernregister identifiziert ist, wie er von der Auswähleinrichtung 84 gesteuert wird. Wenn die Bereiche dieselben sind, dann gibt die Steuerungseinrichtung 88 eine Unterbrechung auf der Leitung 89 durch die Auswähltorschaltung 90 an den geeigneten der Prozessoren 7-1 bis 7-N aus. Der geeignete Prozessor, der von der Torschaltung ausgewählt worden ist, ist der gleiche Prozessor, dessen Ausgang von der Torschaltung 84 ausgewählt worden ist, um einen Eingang an den Komparator 86 zu liefern, um zu bestimmen, daß die Bereichsnummern zueinander passen. Die Steuerungseinrichtung 88 erhält durch die Auswahltorschaltungen 84 und 85 den Zustand, System oder Benutzer, von dem ausgewählten Eingabe/Ausgabe Kanal durch die Auswähltorschaltung 85 und den Prozessor durch die Auswähltorschaltung 84 als Eingänge zu der Steuerungseinrichtung 88. Selbst wenn die Bereiche zueinander passen, kann die Steuerungseinrichtung 88 die Eingabe/Ausgabe Unterbrechung auf der Leitung 89 als eine Funktion des logischen Zustandes, System oder Benutzer, von dem Prozessor und dem Eingabe/Ausgabe Kanal weitergeben oder nicht. Irgendeine logische Kombination kann das Weitergeben der Unterbrechung steuern.
  • In Fig. 11 wird die Auswahltorschaltung 87 durch die Steuereinrichtung 88 gesteuert, um die logische Prozessorinformation von einem der Prozessoren in eine ausgewählte der Kanalstrukturen 8-1 bis 8-M zu laden.
  • Alle die speziellen Register, die von der logischen Prozessoreinrichtung verwendet werden, sind als die Systemregisteranordnung gruppiert. Befehle, wie Lade System Register (LSR), die nur im Systemzustand gültig sind, sind vorgesehen, die Systemregister zu laden und darin zu speichern, wodurch die Mechanismen zum Schalten einer CPU zwischen Systemsteuerprogrammen oder zwischen mehreren CPU zu liefern, wenn ein Systemsteuerprogramm die Steuerung hat.
  • ESP lädt die Systemregister, bevor Kontrolle an das Systemsteuerprogramm gegeben wird.
  • Fig. 8 - Statuseinheit
  • In Fig. 8 sind die Teile der Statuseinheit gezeigt, die in Verbindung mit der vorliegenden Erfindung verwendet wird. In einem herkömmlichen System/370 Datenverarbeitungssystem, wie das AMDAHL 470 System, sind die Statusinformationen in einem Programmstatuswort (PSW) enthalten. In Fig. 8 wird das Programmstatuswort PSW in dem Register 56 gespeichert. Um anzugeben, daß das Programmstatuswort PSW im Register 56 das herkömmliche, mit einem Benutzer verbundene ist, wird der Index u verwendet. PSWu bezeichnet das Programmstatuswort, das von dem System in einem normalen Benutzermodus verwendet wird.
  • Ein zusätzliches Programmstatuswort zur Verwendung, wenn das System im Systemmodus arbeitet, wird als PSWs bezeichnet.
  • In Fig. 8 wird das Programmstatuswort im Benutzermodus PSWu vom Register 56 normalerweise auf die Benutzerspeicherstellen 60-1, 60-2, . . . , 60-x verteilt. Das Register 56 und die Benutzereinheit 60-1 bis 60-x sind schraffiert dargestellt, um anzuzeigen, daß dies die normale Verbindung in einem System ist, das die logische Prozessoreinrichtung der vorliegenden Erfindung nicht aufweist.
  • In Fig. 8 ist der Ausgang von dem Register 56 für das Programmstatuswort im Benutzerzustand PSWu mit einzelnen Registern 57-1, 57-2, . . . , 57-x verbunden, die Speicherstellen sind, die über den Prozessor 5-1 der Fig. 1 verteilt sind. Diese Register 57-1 bis 57-x liefern eine verteilte Kopie der Inhalte des Registers 56. Die Ausgänge der Register 57- 1, 57-2, . . . , 57-x liefern Eingänge an die jeweiligen Zweifacheingangs-Multiplexer 58-1, 58-2, . . . , 58-x.
  • Die anderen Eingänge an die Multiplexer 58-1 bis 58-x werden von den örtlichen Generatoren 59-1, 59-2, . . . , 59-x Generatoren für das Programmstatuswort im Systemmodus PSWs abgeleitet. Die Generatoren 59-1 bis 59-x für das PSWs liefern die Information über das Programmstatuswort im Systemmodus PSWs an die Multiplexer 58-1 bis 58-x.
  • Die Multiplexer 58-1 bis 58-x arbeiten, die Information über das Programmstatuswort im Benutzerzustand PSWu zum Torsteuern bei den Einheiten 60-1 bis 60-x auszuwählen, wenn immer das Schnell-Unterstützungssignal FA auf der Leitung 73 nicht bestätigt wird. Wenn das FA Signal bestätigt wird, dann wird die Information über das Programmstatuswort im Systemzustand an die Einheiten 60-1 bis 60-x torgesteuert. In Fig. 8 hält die Einheit 60-1 die laufende Befehlsadresse, die von dem System der Fig. 1 ausgeführt werden soll. Während des Betriebes wird die Befehlsadresse in dem Register 60-1 durch einen Generator 61 für die nächste Adresse auf die nächste Adresse erhöht.
  • Die erste Adresse in dem Register 60-1 wird von dem Programmstatuswort (PSW) Register 56 geladen. Nach der ersten Adresse liefert der Generator 61 für die nächste Adresse die nachfolgenden Adressen in das Register 60-1. Dieser Vorgang wird während des Benutzermodus bei einer herkömmlichen System/370 Art von Operation fortgesetzt.
  • Wenn immer das Programmstatuswort als eine Date behandelt werden muß, so, wenn das System von dem Benutzermodus in den Systemmodus umgeschaltet wird, die dann laufende Befehlsadresse in dem Register 60-1 werden durch die Torschaltung 62 zur Speicherung in dem Register 56 zurück torgesteuert. Die Inhalte des Registers 56-1 werden auf das Register 57-1 verteilt.
  • In Fig. 8 bewirkt die Bestätigung des FA Signals, daß die Information über das Programmstatuswort im Systemmodus, die eine neue Befehlsadresse enthält, zur Speicherung in den Registern 60-1 bis 60-x ausgewählt wird, vorausgesetzt, daß das Ladesignal LD PSWs auf der Leitung 74 bestätigt worden ist.
  • Die Adresse in dem Register 60-1 bewirkt, daß ein Befehl von der Hauptspeicheradresse geholt wird. Wenn das Programmstatuswort im Benutzerzustand die Adresse liefert, dann sollte die Adresse für einen Befehl von einem der Systemsteuerprogramm-Bereiche sein, wie es in Verbindung mit der Fig. 2 erörtert worden ist. Wenn das Programmstatuswort im Systemmodus die Informationsadresse liefert, dann sollte die Adresse für einen Befehl in dem ESP-Bereich der Hauptspeicheradressen sein.
  • Fig. 9 - Befehlszuordnungsvorrichtung
  • In Fig. 9 sind weitere Einzelheiten der Befehlszuordnungsvorrichtung gezeigt. Befehle, die von dem Hauptspeicher an Adressen geholt worden sind, die durch das Register 60-1 der Fig. 8 spezifiziert worden sind, werden in einem Befehlsregister 64 gespeichert. Von dem Register 64 werden Befehle in einem Decodierer 65 decodiert. Herkömmliche System/370 Befehle, die von dem Decodierer 65 direkt verarbeitet werden können, werden auf eine Befehlszuordnungseinrichtung 66 verteilt. Die Befehlszuordnungseinrichtung 66 bewirkt, daß der Befehl in einer herkömmlichen Weise ausgeführt wird. Andere Befehle, beispielsweise Befehle nicht innerhalb des System/370 Befehlssatzes, können nicht direkt durch die Zuordnungseinrichtung 66 decodiert werden. Solche Befehle werden von dem Decodierer 65 erkannt und bewirken ein Ausnahmebefehls-Signal EI Signal, das auf einer Leitung 75 bestätigt wird. Wenn das System in dem Benutzermodus ist, das heißt, das S Bit ist nicht bestätigt, dann bewirkt das Ausnahmebefehls-Signal, EI Signal, daß die Schnell-Unterstützungs-Einheit 67 aktiviert wird.
  • Wenn das EI Signal auf Leitung 75 bestätigt wird, während das System in dem Systemmodus ist, dann nimmt die Unterbrechungssteuerung 68 eine geeignete Maßnahme vor. Beispielsweise kann die Unterbrechungssteuerung 68 angeben, daß eine Programmausnahme vorliegt und daß der laufende Befehl in dem System nicht erlaubt ist. Die Unterbrechungssteuerung 68 ist zum Teil eine herkömmliche Einrichtung in irgendeinem System/370.
  • Ferner enthält die Unterbrechungssteuerung 68 einen Fortsetzungsabschnitt 68', der auf ein Unterbrechungslenksignal auf der Leitung 51 antwortet, um eine Unterbrechung des Prozessors zu bewirken. Der Fortsetzungsabschnitt 68' der Unterbrechungssteuerung 68 enthält eine herkömmliche logische Schaltung, die auf die S und P Steuerbit und die Unterbrechungssignale auf den Leitungen 51 (DOK, SOK, SLOK und 89-1) und irgendwelche anderen erwünschten Steuersignale anspricht. Beispielsweise kann der Fortsetzungsabschnitt 68' als eine programmierbare Reihenanordnungslogik aufgeführt sein. In einem typischen Beispiel bewirkt, wenn der Prozessor im Systemzustand (S=1) zu einer Zeit ist, wenn eine Unterbrechung auf der Leitung 89-1 auftritt, der Fortsetzungsabschnitt 68', daß die Ausgänge auf der Leitung 70 in derselben Weise bestätigt werden, als wenn eine Schnell- Unterstützung auftritt. Auf diese Weise wird die herkömmliche Unterbrechungssteuerung 68 durch den Betrieb des Fortsetzungsabschnittes 68' bewirken, daß das System in den Systemzustand übergeht, wenn der Eingabe/Ausgabe Kanal die Unterbrechung von dem Systemzustand bewirkte. Andererseits, wenn die Unterbrechung auf der Leitung 51 von einem Kanal bewirkt wurde, der in dem Benutzerzustand arbeitet, dann bewirkt die Unterbrechungssteuerung 68 keine Umschaltung zu dem Systemzustand, sondern bewirkt, daß eine Unterbrechung in einer herkömmlichen Weise vorgenommen wird. Demgemäß kann ein Kanal, wie der Kanal 6-1, eine Unterbrechung für einen Prozessor, wie den Prozessor 5-1, ohne irgendeine Umschaltanforderung von dem Benutzerzustand in den Systemzustand bewirken.
  • Im Benutzerzustand bewirkt die Schnell-Unterstützungs-Einheit 67, daß das System von dem Benutzermodus in den Systemmodus umschaltet, indem das SET S Signal auf der Leitung 70 bestätigt wird. Auch die Schnell-Unterstützungs-Einheit 67 bestätigt das FA Signal auf der Leitung 73, um zu bewirken, daß die Schnell-Unterstützungs-Einrichtung aktiviert wird. Das FA Signal wählt das Programmstatuswort im Systemmodus PSWs in Fig. 8 aus, wie es vorhergehend beschrieben worden ist. Die Einheit 67 bestätigt auch das LD PSW Signal auf der Leitung 74, das den geeigneten Programmstatuswort- Ausgang von dem Multiplexer 58 in die Register 60-1 bis 60-x der Fig. 8 lädt.
  • In der beschriebenen Weise wechselt das System beim Erkennen gewisser Befehle in dem Befehlsregister 64 von dem Benutzermodus in den Systemmodus. In dem Systemmodus werden Befehle auf der Grundlage der Abfolge ausgeführt, die durch den Befehl an der Adresse angegeben ist, die durch das Programmstatuswort im Systemmodus PSWs spezifiziert wurde. Nachdem diese Abfolge ausgeführt worden ist, wird das Schnell-Unterstützungs-Signal durch das RESET FA Signal von der Zuordnungseinrichtung 66 zurückgesetzt. Auch schaltet das REST S Signal von der Zuordnungseinrichtung 66 das System zurück in den Benutzermodus.
  • Nachdem das System in dem Systemzustand den Ausnahmebefehl verarbeitet hat, der die Überführung in den Systemmodus bewirkt hatte, kehrt das System in den Benutzermodus an der Stelle des Befehlsstromes gerade nach dem Ausnahmebefehl zurück.
  • Betrieb-Programmbeispiel "Aufheben der örtlichen Verriegelung"
  • Ein Beispiel der Arbeitsweise der vorliegenden Erfindung wird in Verbindung mit der Ausführung eines Befehlstromes gegeben, der einen Befehl "Freigeben der örtlichen Verriegelung", als "SSE" bezeichnet, enthält. In dem Beispiel führt das System einen Befehlsstrom aus, der Befehle I1, I2, I3 und I4 enthält. Nachdem I4 ausgeführt worden ist, wird der SSE Befehl geholt, kann aber im Benutzermodus nicht ausgeführt werden. Die Ausführung des SSE im Systemmodus für eine beispielhafte Emulation für den Fall, wenn die Verriegelung hält, ist in der folgenden TABELLE 8 angegeben. Der Befehlsstrom für den Fall, wenn die Verriegelung nicht hält, ist in der TABELLE 8 nicht gezeigt.
  • TABELLE 8 STMT * BENUTZERZUSTAND
  • 1 I1
  • 2 I2
  • 3 I3
  • 4 I4
  • 5 SSE * Freigabe der örtlichen Verriegelung; kann im Benutzerzustand nicht ausgeführt werden
  • * SCHNELL-UNTERSTÜTZUNGS-EINSPRUNG, Setze Systemzustand (S=1)
  • * Lade System GPR Register:
  • * R4 = EFFEKTIVE BEREICHSADRESSE DES 1. OPERANDEN DES BEFEHLS
  • * R5 = EFFEKTIVE BEREICHSADRESSE DES 2. OPERANDEN DES BEFEHLS
  • * R6 = LINKE HÄLFTE DES PROGRAMMSTATUSWORTES IM BENUTZERMODUS PSWu
  • * R7 = NÄCHSTE SEQUENTIELLE BEFEHLSADRESSE
  • * R8 = DASSELBE WIE R6
  • * R9 = ADRESSE DES GEGENWÄRTIGEN BEFEHLS (SSE)
  • SYSTEMZUSTAND
  • * FREIGABE DER ÖRTLICHEN VERRIEGELUNG WENN:
  • * (1) ÖRTLICHE VERRIEGELUNG WIRD GEHALTEN
  • * (2) CMS VERRIEGELUNG WIRD NICHT GEHALTEN
  • * (3) ÖRTLICHE VERRIEGELUNG AUFGEHOBEN, SCHLANGE IST LEER,
  • 6 TMD 3(R5), PSALCLLI * WIRD DIE ÖRTLICHE VERRIEGE- LUNG GEHALTEN?
  • 7 BNO NOTHELD * NEIN, ÜBERSPRINGEN
  • 8 TMD 3(R5), PSACMSLI * CMS VERRIEGELUNG GEHALTEN?
  • 9 BO NOTHELD * JA, ÜBERSPRINGEN
  • 10 LSD R14,0(,R4) * ZEIGE ZU ASCB
  • 11 LSD R0,ASCBLOCK(,R14) * HOLE ÖRTLICHE VERRIEGELUNG
  • 12 XR R1,R1 * AUFHEBEN DER SCHLANGE, KOPF MUSS LEER SEIN
  • 13 XR R2,R2 * ASCBLOCK
  • 14 XR R3,R3 * AKTUALISIERE ASCBLSQH MIT NULLEN
  • 15 CDSD R0,R2,ASCBLOCK(R14) * VERSUCHE DIE ÖRTLICHE VER- RIEGELUNG AUFZUHEBEN
  • 16 BNE NOTHELD * LASS ES, WENN DIE SCHLANGE NICHT LEER IST
  • * WENN DIE ÖRTLICHE VERRIEGELUNG AUFGEHOBEN IST,
  • * AKTUALISIERE:
  • * (1) Benutzer GPR R13 mit 0's
  • * (2) PSAHLHI/BIT 31 bis 0
  • * UND KEHRE ZUM BENUTZERZUSTAND ZURÜCK
  • 17 LTRUS R13,R2 * SETZE BENUTZER GPR R13 AUF 0
  • 18 NID 3(R5),ALLBITS-PSALCLLI * SETZE BIT 31 VON PSAHLHI AUF 0
  • 19 RUS (R7) * NIMM BENUTZERZUSTAND AN, (ZURÜCKSETZEN S=0),Lade I Register mit Befehl, der von Adresse geholt worden ist, die durch das System GPR 7 festgelegt worden ist
  • * BENUTZERZUSTAND
  • 20 I20
  • In TABELLE 8 kann der SSE Befehl in der Anweisung 5 im Benutzerzustand (S=0) nicht ausgeführt werden, und daher wird ein Schnell-Unterstützungs-Einsprung gemacht. Der Decodierer 65 in Fig. 8 erkennt das Operationscodefeld von dem Befehlsregister 64 und liefert einen Ausgang auf der Ausnahmeleitung 75 in Reaktion auf den SSE-Befehl. Bei bestätigter Leitung 75 und bei als logische 0 nicht bestätigte System- Leitung 69 wird die Schnell-Unterstützungs-Einheit 67 eingeschaltet. Die Einheit 67 bestätigt in Reaktion auf die bestätigten Eingänge auf der Leitung 69 und 75 einen Ausgang auf der Leitung 70, und den Systemzustand (S=1) zu setzen.
  • Die Inhalte der Universalsystemregister SR4, SR5, . . . , SR9 sind in TABELLE 8 gezeigt. Die Anweisungen 6 bis 14 enthalten jeweils einen herkömmlichen Befehl, die, wenn sie ausgeführt werden, das funktional äquivalente des SSE Befehl sind, der nicht direkt ausgeführt werden konnte. In der Anweisung 15 wird der Versuch gemacht, die örtliche Verriegelung freizugeben. Wenn die örtliche Verriegelung freigegeben wird, werden gewisse Aktualisierungen durchgeführt, bis in der Anweisung 20 der RUS (Rückkehr in den Benutzerszustand) Befehl bewirkt, daß das Rechnersystem in den Benutzerzustand (S=0) zurückkehrt. In Fig. 9 ist der RUS Befehl in dem Befehlsregister 64 und wird durch den Decodierer 65 decodiert. Der decodierte Ausgang von dem Decodierer 65 wird in die Zuordnungseinrichtung 66 eingegeben. In Antwort auf den decodierten Ausgang für den RUS Befehl bestätigt die Zuordnungseinrichtung 66 die REST S Leitung 21, um S gleich 0 zu setzen.
  • Im Benutzerzustand kann das Rechnersystem mit dem Ausführen des Befehls I20 fortfahren, der der nächste Befehl in diesem Programm ist, der nach dem SSE Befehl in der Anweisung 5 auftrat.
  • Bei dem Beispiel der TABELLE 8 wurde ein Befehl SSE, der in dem Benutzerzustand nicht ausgeführt werden konnte, in dem Systemzustand ausgeführt, und die Rückkehr von dem Systemzustand war zu dem nächsten Befehl (I21) der der Befehl nach dem Befehl (SSE) ist. Die Befehle in den Anweisungen 6 bis 20 werden im Systemzustand ausgeführt und sind für das Benutzerprogramm transparent.
  • Das Programm, das die Befehlsfolge I1, I2, I3, I4, SSE und I20 enthält, war beabsichtigt, auf einer Rechner-Variante betrieben zu werden, die die Möglichkeit zum Ausführen eines SSE Befehls hatte. Obgleich der Host-Rechner keine Möglichkeit zur direkten Ausführung des SSE Befehls hatte, ermöglichte die logische Prozessoreinrichtung den Host-Rechner, wie die Variante zu erscheinen und tatsächlich die Befehlsfolge einschließlich des SSE Befehls auszuführen.
  • In TABELLE 8 ist der Befehl RUS einer der Befehle, die nur im Systemzustand (S=1) ausgeführt werden können. Wenn der RUS Befehl im Register 64 der Fig. 9 auftrat, wenn sich das System im Benutzerzustand befand, würde der S=0 Eingang zu dem Decodierer 65 bewirken, daß die Ausnahmeleitung 75 bestätigt wird. Die Schnell-Unterstützungs-Einheit 67 würde bewirken, daß in den Systemzustand eingetreten wird, und würde bewirken, daß ein Programmausnahmezustand angegeben wird.
  • Fig. 10 - System-Zeiteinheit
  • In Fig. 10 ist die System-Zeiteinheit gezeigt, die manchmal Tageszeitgeber genannt wird. Die System-Zeiteinheit enthält einen Systemzeit-Taktgeber 76, der beispielsweise ein Zähler mit 64 Bit ist, der durch ein konstantes Taktsignal von einem MHz an der Bit Position 51 angesteuert wird, um die führenden Bits 52 zu erhöhen. Die in dem Taktgeber 76 gespeicherte Zeit wird als die Systemzeit bezeichnet. Während der Programmausführung wird die Zeit in dem Taktgeber 76 in dem Speicher unter Steuerung des Speicher Takt (STCK) Befehls gespeichert. Eine Decodierung des STCK Befehls tritt auf, wenn dieser Befehl in dem Befehlsregister 64 der Fig. 9 erscheint. Der Decodierer 65 erfaßt den STCK Befehl und veranlaßt die Zuordnungseinrichtung 66, die Torsignale (STC- G2 und STC-G1) zu den Torschaltungen 80 und 81 zu bestätigen. Die Torschaltungen 80 und 81 torsteuern die Systemzeit von dem Taktgeber 76 zu dem Hauptspeicher-Datenregister 49, es sei denn, die Zeit wird in einer unterschiedlichen Zeit- Variante-Eeinheit 79 abgeändert. Wenn keine Abänderung auftritt, ist die Arbeitsweise herkömmlich und dieselbe wie für irgendeinen System/370 Rechner. Bei der vorliegenden Erfindung ist die Zeit-Variante-Einheit 79 Teil der logischen Prozessoreinrichtung 7-1 der Fig. 3 und liefert die Möglichkeit, unterschiedliche Zeiten zu haben.
  • In Fig. 10 ist eine Ausführungsform der Zeit-Variante-Einheit 79 gezeigt. Die Einheit 79 enthält einen Versetzungs- Addierer 78, der die führenden 32 Bit von dem Systemzeitgeber 76 zu einer Zeitversetzung (TOFF) im Register 77 addiert. Der Ausgang von dem Addierer 78 ist über die Torschaltung 81 mit dem Hauptspeicher-Datenregister 49 verbunden. Demgemäß ist die Zeit, die in das Datenregister 49 geladen wird, entweder die Systemzeit unmittelbar von dem Taktgeber die Versetzung in dem Register 77 gleich 0 ist, oder die Zeit-Varianteh von der Systemzeit um die Größe der Versetzung im Register 77 unterscheidet. Die Größe der Versetzung der Zeit-Variante die in dem Register 77 gespeichert ist, unterscheidet sich von einer Variante zu einer anderen Variante. Die Versetzungsgröße wird in dem Register 77 unter dem Steuersignal TOFF-G gespeichert, das durch die Zuordnungseinrichtung 66 in Reaktion auf einen Setz-Takt (SCK) Befehl erzeugt wird. Der SCK Befehl wird unterschiedlich in Abhängigkeit von dem Rechnerzustand, System oder Benutzer, ausgeführt.
  • Operation - "Setze Taktgeber" und "Speichere Takt" Programmbeispiel
  • Ein Beispiel eines Programmes (eine Folge von Befehlen), die die STCK und die SCK Befehle enthält, ist in der folgenden TABELLE 9 gezeigt:
  • TABELLE 9 STMT * Systemzustand
  • 1 I1
  • 2 LSR New SR, SO, S15 * Lade System Register, lädt die LPF Register mit SAL, DMSB, DMSL, DCMP für ein bestimmtes SCP von ESP.
  • 3 I3
  • 4 I4
  • 5 SCK NewTs * Setze Taktgeber, (1) wenn Systemzustand (S=1) und Kontrollmodus (P=0), führe Setze Taktgeber direkt aus; (2) wenn Systemzustand (S=1) und Aufgabenmodus (P=1) wird eine Programmunterbrechung hervorgerufen; für S=l, P=0, holt SCIT die Neue Zeit von der Hauptspeicherstelle NEWT in dem Taktgeber 76.
  • 6 LPSWR LPBPSW * Lade PSW kehre zurück, setze 5=0 zurück, gib Kontrolle an SCP
  • * Benutzerzustand
  • 7 I7
  • 8 I8
  • 9 I9
  • 10 SCK NewTu * Setze Taktgeber; wenn Benutzerzustand (S=0), bringe Schnell-Unterstützung herein
  • * SCHNELL-UNTERSTÜTZUNGS_EINSPRUNGSTELLE, Setze Systemzustand (S=1)
  • * Lade System GPR's Register:
  • * R4 = EFFEKTIVE BEREICHSADRESSE DES 1. OPERANDEN
  • * DES BEFEHLS (NEWTu)
  • * R6 = LINKE HALFTE VOM PSWu
  • * R7 = NÄCHSTFOLGENDE BEFEHLSADRESSE
  • * R8 = DASSELBE WIE R6
  • * R9 = ADRESSE DES GEGENWÄRTIGEN BEFEHLS (SCK)
  • * Systemzustand
  • 11 N R6, LPBPSWN * Ist es vom Aufgaben- oder Kontrollmodus?
  • 12 RNZ PRIV * Wenn Aufgabenmodus, zweige zu PRIV ab
  • 13 LSD R0, 0 (,R4) * Lade R= mit Neuer Zeit von NEWTu
  • 14 STCK SYST * Speichere Takt; Systemzeit von Uhr 76 in Hauptspeicher-Speicherstelle SYST gespeichert
  • 15 SL R0, SYST * Logisches Subtrahieren von R0 von Systemzeit, um Zeitversetzung zu bilden
  • 16 ST R0, TOFF * Speichere Zeitversetzung in TOFF Speicherstelle des Hauptspeichers
  • 17 LSR R11, TOFF * Lade Zeitversetzung von TOFF in Systemregister 11
  • 18 RUS (R7) * Nimm Benutzerzustand auf, setze S=0 zurück, lade Befehl, der durch R7 festgelegt ist, in I Register
  • 19 I19
  • 20 I20
  • 21 I21
  • 22 STCK USRT * Speichere Takt; 32 Bit niederer Ordnung von dem Systemzeittaktgeber, und die führenden 32 Bit von dem Versetzungsaddierer werden in der Hauptspeicher-Speicherstelle USRT gespeichert
  • * Benutzerzustand
  • In TABELLE 9 arbeitet der Host-Rechner im Systemzustand und beendigt irgendeinen Befehl I1. In der Anweisung 2 ist der Lade System Register (SLR) Befehl ein typischer Befehl, der am Anfang der Arbeitsweise und der Steuerung des Hauptsystem-Steuerprogrammes enthalten ist. Der LSR Befehl hat die Aufgabe, die Systemregister der logischen Prozessoreinrichtung (LPF) mit Anfangswerten für die verschiedenen Register zu laden. Beispielsweise wird in Fig. 5 das Register 35 mit der Grenze der Systemadressen geladen, und in Fig. 6 werden die Register 41 und 42 mit der Basisadresse und der Grenzadresse für einen besonderen Bereich geladen. Ebenso wird die Bereichsnummer in das Register 10 geladen und das Merkmalssteuerwort wird in das Register 15 geladen. Der LSR Befehl ist ein typischer Verwaltungsbefehl zum Laden der Anfangszustände der Register unter der Programmsteuerung in einer herkömmlichen Weise.
  • Die Quelle der Daten zum Laden der logischen Prozessorregister kann das Datenregister 49 (siehe Fig. 7) aus dem Hauptspeicher 4 sein. Natürlich können Daten von irgendeinem Datenbus in dem System gemäß einem herkömmlichen Entwurf geladen werden.
  • Wenn die Register in geeigneter Weise geladen sind, fährt die Befehlsfolge mit den üblichen Befehlen I3 und I4 fort. In der Anweisung 5 erscheint der Befehl SCK. Die Ausführung des SCK Befehls variiert in Abhängigkeit davon, ob der Host- Rechner in dem Systemzustand oder in dem Benutzerzustand ist oder nicht. Wenn er in dem Systemzustand (S=1) und in dem Kontrollmodus (P=0) ist, wird der SCK Befehl direkt ausgeführt. Die Ausführung bewirkt, daß NEWT-G bestätigt wird, den Inhalt der Speicherspeicherstelle NEWTs in den Systemzeittaktgeber 76 zu laden, und TOFF-G wird bestätigt, um alle Nullen in das Register 77 zu laden. Der Zustand in dem Register 77 nur mit Nullen für den Systemzustand bedeutet, daß irgendwelche führenden Bit der Systemzeit nicht verändert werden.
  • Da in TABELLE 9, Anweisung 5 der Host-Rechner im Systemzustand war, wird der SCK Befehl direkt ausgeführt und alle 0 werden in das Register 77 geladen. Bei der Anweisung 6 bewirkt der LPSWR Befehl, daß der Host-Rechner in den Benutzerzustand zurückschaltet. Eine Decodierung des LPSWR Befehls bewirkt, daß die Zuordnungseinrichtung in Fig. 9 das Rücksetz RESET S Signal bestätigt, das das Zustandsregister 9 (S=0) in Fig. 3 zurücksetzt. Auch bewirkt die Zuordnungseinrichtung 66 als eine Decodierung des LPSWR Befehls, daß das PSWu Register 56 in Fig. 8 von dem ESP Bereich des Hauptspeichers geladen wird. Somit wird der nächste Befehl in das I Register 64 der Fig. 8 in einer herkömmlichen Weise geladen. Wenn sich der Host-Rechner in dem Systemzustand (S=1) und in dem Kontrollmodus befindet, dann kann der Befehl direkt ausgeführt werden, aber wenn er in dem Kontrollzustand und in dem Aufgabenmodus ist, dann wird eine Programmunterbrechung bewirkt, weil der SCK Befehl eine privilegierte Operation ist, die nur im Kontrollmodus gültig ist. Die Befehle I7, I8 und I9 werden im Benutzerzustand ausgeführt.
  • In der Anweisung 10 der TABELLE 9 erscheint der Setze Taktgeber (SCK) Befehl erneut, aber dieses Mal im Benutzerzustand. Der SCK Befehl kann nicht direkt im Benutzerzustand ausgeführt werden, und daher bewirkt der Decodierer 65, daß die Ausnahmeleitung 75 der Fig. 9 bestätigt wird. Da die Erfassungsleitung 69 eine 0 (S=0) für den Benutzerzustand ist, bewirkt die Schnell-Unterstützungs-Einheit 67, daß die Schnell-Unterstützungs-Operation eingebracht wird. Der Eingang der Schnell-Unterstützung bewirkt, daß der Host-Rechner in dem Systemzustand (S=1) ist und lädt die System GPR Register mit dem in TABELLE 9 gezeigten Inhalt.
  • Die Anweisungen 11 bis 18 der TABELLE 9 sind eine Befehlsroutine zur Ausführung des SCK Befehls im Systemzustand für einen Benutzerzustand, der eine Zeit-Variante statt einer Systemzeit verwendet. Bei der Anweisung 11 macht der N-Befehl eine logische UND Prüfung durch, um zu bestimmen, ob der Host-Rechner in dem Aufgaben- oder Kontrollmodus war.
  • Die Anweisung 12 bewirkt eine Verzweigung zu der PRIV Speicherstelle in der Befehlsfolge (nicht explizit gezeigt), wenn die Ergebnisse des Befehls der Anweisung 11 einen Aufgabenmodus anzeigten.
  • Wenn der Aufgabenmodus nicht vorliegt, geht die Folge zur Anweisung 13, wo das System GPR Register R0 mit dem Inhalt einer Adresse NEWTu des Hauptspeichers von der Hauptspeicheradresse geladen wird, die in dem System GPR R4 festgelegt ist. Die Adresse NEWTu speichert den neuen ZeitTakt, der von dem Systemsteuerprogramm beim Steuern der besonderen Benutzerzustandsarbeitsweise verwendet werden soll.
  • Bei der Anweisung 14 speichert der Speicher Takt (STCK) Befehl die Systemzeit für den Taktgeber 76 der Fig. 10 in die Hauptspeicher-Speicherstelle XYST. Da der Host-Rechner in dem Systemzustand und in dem Kontrollmodus ist, wird der STCK Befehl der Anweisung 14 direkt ausgeführt.
  • In der Anweisung 15 subtrahiert der Subtrahier Logisch (SL) Befehl die Neue Zeit in dem Registersystem GPR R0 von der Systemzeit von der Hauptspeicher-Speicherstelle SYST, um die Zeitversetzung in dem R0 Register zu bilden.
  • Bei der Anweisung 16 wird die bei der Anweisung 15 berechnete Zeitversetzung in der Hauptspeicher-Speicherstelle TOFF gespeichert.
  • Bei der Anweisung 17 wird die Zeitversetzung von der Hauptspeicher-Speicherstelle TOFF in dem Systemregister R11 gespeichert, das das Register 77 in Fig. 10 ist.
  • Diese Operation hat in das Register 77 die Versetzung der Zeit-Variante von der Systemzeit geladen.
  • In der Anweisung 18 bewirkt der Wiederaufnahme des Benutzerzustandes (RUS) Befehl, daß der Host-Rechner in den Benutzerzustand mit den Befehlen zurückkehrt, die durch die Adresse in dem R7 Register festgelegt sind.
  • Nach Ausführung des RUS Befehls der Anweisung 18 ist der nächste Befehl I19, dem I20 und I21 folgen. Diese sind irgendwelche herkömmlichen Benutzerzustandsbefehle. Bei der Anweisung 22 tritt der Speichere Takt (STCK) Befehl auf. Der STCK Befehl bewirkt, daß die Zeit-Variante gespeichert wird. Die Zeit-Variante sind die 32 Bit niederer Ordnung der Systemzeit von dem Taktgeber 76 der Fig. 10 zusammen mit den führenden Bit der Variante. Die führenden Bit der Variante werden als die Summe der führenden 32 Bit von dem Taktgeber 76 und der Versetzung (TOFF) vom Register 77 gebildet. Die Zeit-Variante wird in der Speicherstelle USRT des Hauptspeichers gespeichert.
  • Die bei der Anweisung 22 gespeicherte Zeit-Variante unterscheidet sich von der Systemzeit, die bei der Anweisung 14 der TABELLE 9 gespeichert worden ist. Die Anweisungen 14 und 22 stellen eine Operations-iante beim Ausführen eines einzelnen Befehls STCK als eine Funktion davon dar, ob der Host- Rechner in dem Systemzustand oder in dem Benutzerzustand ist. Diese Befehle stellen auch die Fähigkeit des Host-Rechners mit der logischen Prozessoreinrichtung dar, mit variierten Zeiten bzw. Zeit-Varianten arbeiten zu können.
  • Während die Einheit 79 für die Zeit-Variante der Fig. 10 in einer Ausführungsform als eine Einrichtung gezeigt ist, die eine Versetzung zu der Systemzeit hinzuaddiert, sind andere Einrichtungen möglich. Beispielsweise kann die Einheit 79 für eine Zeit-Variante einen Taktgeber mit 64 Bit analog zu dem Systemzeittaktgeber 76 enthalten. Beim Betrieb wird jeder Taktgeber von demselben Taktsignal von einem MHz weitergeschaltet. Vorsorge ist getroffen, die Zeitgeber-Variante auf eine von der Systemzeit unterschiedliche voreinzustellen, wo der Unterschied die Größe TOFF ist. Bei der Ausführung von STCK im Systemzustand wird der Systemzeitausgang von dem Systemzeitgeber verwendet, und bei Ausführung von STCK im Benutzerzustand wird die Zeit-Variante von der Zeitgeber-Variante direkt ausgewählt. Andere ähnliche Einrichtungen zum Liefern einer Zeit-Variante können verwendet werden.

Claims (19)

1. Ein Datenverarbeitungssystem umfassend:
eine zentrale Verarbeitungseinheit (5), die unter Steuerung einer Mehrzahl von Systemsteuerprogrammen betreibbar ist und Anforderungen für Kanaloperationen erzeugt;
eine Hauptspeichereinheit (4), die Mehrzahl von Systemsteuerprogrammen speichert;
eine Mehrzahl von Kanälen (6-1 . . . 6-M) zum Durchführen der Kanaloperationen, die von der zentralen Verarbeitungseinheit (5) verlangt worden sind und zum Erzeugen von Anforderungen auf Unterbrechungen;
eine logische Prozessoreinrichtung (7) in Verbindung mit der zentralen Verarbeitungseinheit (5) und der Hauptspeichereinheit (4), um eines aus der Mehrzahl von Systemsteuerprogrammen zur Steuerung der zentralen Verarbeitungseinheit (5) auszuwählen und um eine Kennzeichnung (10) des steuernden Systemsteuerprogrammes zu speichern; und
eine Unterbrechungslenkeinrichtung (3) in Verbindung mit der zentralen Verarbeitungseinheit (5), der logischen Prozessoreinrichtung (7) und der Mehrzahl von Kanälen (6-1 . . . 6-M) zum Lenken von Anforderungen auf Unterbrechungen, die von Kanälen an die zentrale Verarbeitungseinheit (5) gegeben worden sind, dadurch gekennzeichnet, daß es ferner enthält:
eine Mehrzahl von logischen Kanaleinrichtungen (8-1 . . . 8-M) in Verbindung mit entsprechenden der Mehrzahl von Kanälen (6-1 . . . 6-M) und ansprechend auf eine Anforderung zur Kanaloperation, die dem entsprechenden Kanal zugeführt wird, zum Lesen und Speichern der Kennzeichnung des steuernden Systemsteuerprogrammes, von dem die Anforderung an eine Kanaloperation gemacht wird; und eine Steuerungseinrichtung (85, 86, 88), die auf eine Anforderung auf eine Unterbrechung von einem Kanal anspricht und mit der logischen Prozessoreinrichtung (7) und der Mehrzahl von logischen Kanaleinrichtungen (8- 1 . . . 8-M) verbunden ist, um die Unterbrechungslenkeinrichtung (3) in Reaktion auf einen Vergleich der Kennzeichnung des steuernden Systemsteuerprogrammes, die in der logischen Prozessoreinrichtung gespeichert ist, mit der Kennzeichnung des Systemsteuerprogrammes zu steuern, die in der logischen Kanaleinrichtung gespeichert ist, von der die Anforderung auf eine Unterbrechung gemacht wird.
2. Das Datenverarbeitungssystem des Anspruches 1, bei dem die logische Prozessoreinrichtung (7) ferner enthält:
eine Einrichtung zum Informieren der Unterbrechungslenkeinrichtung (3), wenn das steuernde Systemsteuerprogramm geändert wird.
3. Das Datenverarbeitungssystem des Anspruches 1, bei dem eines der Mehrzahl von Systemsteuerprogrammen ein Haupt-Systemsteuerprogramm ist, das den Betrieb der Mehrzahl von Systemsteuerprogrammen in dem Datenverarbeitungssystem koordinieren kann, wobei die Unterbrechungslenkeinrichtung (3) ferner enthält:
eine Einrichtung in Verbindung mit der logischen Prozessoreinrichtung (7), um der logischen Prozessoreinrichtung anzugeben, zu dem Haupt-Systemsteuerprogramm zu schalten, wenn eine Übereinstimmung bei dem Vergleich nicht angegeben wird.
4. Das Datenverarbeitungssystem des Anspruches 1, in dem eines der Mehrzahl von Systemsteuerprogrammen ein Haupt-Systemsteuerprogramm ist, das zum Koordinieren der Arbeitsweise der Mehrzahl von Systemsteuerprogrammen in dem Datenverarbeitungssystem geeignet ist, und wobei die logische Prozessoreinrichtung (7) ferner enthält:
eine Zustandssteuerungs-Speicherstelle (9), die in Verbindung mit der zentralen Verarbeitungseinheit (5) steht und die unter Steuerung des Haupt-Systemsteuerprogrammes oder eines ausgewählten Systemsteuerprogrammes in Reaktion auf die Verarbeitung von Befehlen in der zentralen Verarbeitungseinheit ladbar ist, um ein Zustandssteuersignal zu speichern, das einen Systemzustand, der von dem Haupt-Systemsteuerprogramm gesteuert wird, oder einen Benutzerzustand angibt, der von dem ausgewählten Systemsteuerprogramm gesteuert wird;
eine Steuereinrichtung (70, 71) in Verbindung mit der zentralen Verarbeitungseinheit, um die Steuerung der zentralen Verarbeitungseinheit zwischen dem Systemzustand und dem Benutzerzustand in Reaktion auf das Zustandssteuersignal zu schalten;
eine Merkmalsteuereinrichtung in Verbindung mit der zentralen Verarbeitungseinheit, um die Verarbeitung von Befehlen in der zentralen Verarbeitungseinheit in dem Benutzerzustand als eine Funktion einer Variante der Host-Architektur zu steuern, wobei die genannte Merkmalsteuereinrichtung eine Merkmalsteuer-Speicherstelle (15) enthält, die unter der Steuerung des Haupt-Systemsteuerprogrammes ladbar ist, um ein Systemsteuerprogramm auszuwählen, um Parameter zu speichern, die die Variante angeben, an die das ausgewählte Systemsteuerprogramm angepaßt ist; und
eine Hauptspeicher-Abbildungseinrichtung (16) in Verbindung mit der zentralen Verarbeitungseinheit (5) und der Hauptspeichereinrichtung (4), um Adressen, die von der zentralen Verarbeitungseinheit in dem Benutzerzustand erzeugt worden sind, auf eine Adresse innerhalb eines Bereiches von Adressen zum Zugreifen auf die Hauptspeichereinheit abzubilden, und wobei jene eine Adressenabbildungs-Speicherstelle aufweist, die unter Steuerung des Haupt-Systemsteuerprogrammes ladbar ist, um einen Bereich dem ausgewählten Systemsteuerprogramm zum Speichern von Parametern zuzuordnen, die einen Bereich von Adressen angeben, der zur Verwendung von dem ausgewählten Systemsteuerprogramm zugeordnet ist.
5. Das Datenverarbeitungssystem des Anspruches 1, bei dem die logische Prozessoreinrichtung (7) ferner enthält:
eine Hauptspeicher-Abbildungseinrichtung (16) in Verbindung mit der zentralen Verarbeitungseinheit (5) und der Hauptspeichereinheit (4), um Adressen, die von der zentralen Verarbeitungseinheit erzeugt worden sind, auf eine Adresse innerhalb eines Bereiches von Adressen zum Zugreifen auf die Hauptspeichereinheit abzubilden, und eine Adressenabbildungs-Speicherstelle zum Speichern eines Bereichsparameters, der einen Bereich von Adressen angibt, die zur Verwendung durch das ausgewählte Systemsteuerprogramm zugeordnet sind.
6. Das Datenverarbeitungssystem des Anspruches 5, bei dem die Kennzeichnung (10) des steuernden Systemsteuerprogrammes der Bereichsparameter ist.
7. Das System des Anspruches 4, bei dem die zentrale Verarbeitungseinheit (5) eine Befehlsdecodierungs- und Zuordnungseinrichtung zum Steuern der Ausführung von Befehlsabfolgen in der zentralen Verarbeitungseinheit (5) enthält, und die Merkmalssteuereinrichtung die Befehlsdecodierungs- und Zuordnungseinrichtung als eine Funktion des Zustandssteuersignals und der Variante steuert, die durch die Parameter festgelegt ist, die in der Merkmalssteuer-Speicherstelle gespeichert sind.
8. Das System des Anspruches 7, bei dem die Merkmalssteuereinrichtung mit der Befehlsdecodierungs- und Zuordnungseinrichtung verbunden ist, um einen unterschiedlichen decodierten Befehl in der Befehlsabfolge als eine Funktion der Variante bereitzustellen, die durch die Parameter, die in der Merkmalssteuerspeicherstelle gespeichert sind, und des Zustandssteuersignals festgelegt ist.
9. Die Vorrichtung des Anspruches 7, bei der die Befehlsdecodierungs- und Zuordnungseinrichtung ferner auf eine Zustandsinformation und auf eine Eingangsbefehlsfolge beim Steuern der Ausführung der Befehlsfolge ansprechbar ist, und die ferner enthält eine Benutzerzustands- Speicherstelle (56) zum Speichern eines Benutzerprogramm-Zustandswortes;
eine systemzustands-Speicherstelle (55) zum Speichern eines systemsteuerprogramm-Zustandswortes; und
eine Einrichtung (58-1 . . . 58-X), die auf das Zustandsteuersignal anspricht, um das Benutzerprogramm-Zustandswort oder Systemprogramm-Zustandswort als die Zustandsinformation zum Zuführen zu der Befehlsdecodierungs- und Zuordnungseinrichtung auszuwählen.
10. Das System des Anspruches 4, das ferner enthält:
eine Systemzeitgebereinrichtung (76) zum Bereitstellen eines Systemzeitwertes,
eine Zeitgebereinrichtungs-Varianten (79) zum Bereitstellen einer Zeitwert-Variante, die von dem Systemzeitwert unterschiedlich ist; und eine Einrichtung in Verbindung mit der zentralen Verarbeitungseinheit und auf das Zustandssteuersignal ansprechbar ist, um den Systemzeitwert oder die Zeitwert-Variante zum Zuführen zu der zentralen Verarbeitungseinheit auszuwählen.
11. Ein Datenverarbeitungssystem, umfassend:
eine Mehrzahl von zentralen Verarbeitungseinheiten (5- 1 . . . 5-N), von denen jede unter Steuerung eine Mehrzahl von Systemsteuerprogrammen betreibbar ist und Anforderungen auf Kanaloperationen erzeugt;
eine Hauptspeichereinheit (4), die die Mehrzahl von Systemsteuerprogrammen speichert;
eine Mehrzahl von Kanälen (6-1 . . . 6-M) zum Durchführen von Kanaloperationen, die von den zentralen Verarbeitungseinheiten (5-1 . . . 5-N) angefordert worden sind, und zum Erzeugen von Anforderungen auf Unterbrechungen;
eine Mehrzahl von logischen Prozessoreinrichtungen (7- 1 . . . 7-N), von denen jede mit entsprechenden der Mehrzahl von zentralen Verarbeitungseinheiten (5-1 . . . 5-N) und der Hauptspeichereinheit (4) in Verbindung stehen, um eines aus der Mehrzahl von Systemsteuerprogrammen zur Steuerung der entsprechenden zentralen Verarbeitungseinheit (5-1 . . . 5-N) auszuwählen und um eine Kennzeichnung (10) des steuernden Systemsteuerprogrammes zu speichern;
eine Unterbrechungslenkeinrichtung (3) in Verbindung mit der Mehrzahl von zentralen Verarbeitungseinheiten (5-1 . . . 5-N), der Mehrzahl von logischen Prozessoreinrichtungen (7-1 . . . 7-N) und der Mehrzahl von Kanälen (6- 1 . . . 6-M), um Anforderungen auf Unterbrechungen zu lenken, die von den Kanälen den zentralen Verarbeitungseinheiten (5-1 . . . 5-N) zugeführt werden, dadurch gekennzeichnet, daß es ferner enthält:
eine Mehrzahl von logischen Kanaleinrichtungen (8-1 . . . 8-M) in Verbindung mit entsprechenden der Mehrzahl von Kanälen (6-1 . . . 6-M) und ansprechend auf eine Anforderung zur Kanaloperation, die dem entsprechenden Kanal zugeführt wird, zum Lesen und Speichern der Kennzeichnung des steuernden Systemsteuerprogrammes, von dem die Anforderung an eine Kanaloperation gemacht wird; und
eine Steuereinrichtung (85, 86, 88), die auf eine Anforderung auf eine Unterbrechung von einem Kanal anspricht und mit der Mehrzahl von logischen Prozessoreinrichtungen (7) und der Mehrzahl von logischen Kanaleinrichtungen (8-1 . . . 8-M) verbunden ist, um die Unterbrechungslenkeinrichtung (3) in Reaktion auf einen Vergleich der Kennzeichnungen des steuernden Systemsteuerprogrammes, die in der Mehrzahl von logischen Prozessoreinrichtungen gespeichert sind, mit der Kennzeichnung des Systemsteuerprogrammes zu steuern, das in der logischen Kanaleinrichtung gespeichert ist, von der die Anforderung auf einer Unterbrechung gemacht wird.
12. Das Datenverarbeitungssystem des Anspruches 11, in dem die Mehrzahl von logischen Prozessoreinrichtungen (7- 1 . . . 7-N) ferner enthält:
eine Einrichtung zum Informieren der Unterbrechungslenkeinrichtung (3), wenn das Systemsteuerprogramm, das eine besondere zentrale Verarbeitungseinheit steuert, geändert wird.
13. Das Datenverarbeitungssystem des Anspruches 11, in dem die Mehrzahl von logischen Kanaleinrichtungen (8-1 . . . 8- M) ferner eine Einrichtung zum Bestimmen und Speichern einer CPU-Kennzeichnung enthält, die die eine der Mehrzahl von zentralen Verarbeitungseinheiten (5-1 . . . 5-N) angibt, von der eine Anforderung an eine Kanaloperation gemacht wird; und die ferner enthält eine Einrichtung, die auf eine Anforderung auf einer Unterbrechung von einem Kanal ansprechbar ist und mit der Mehrzahl von logischen Prozessoreinrichtungen und der Mehrzahl von logischen Kanaleinrichtungen verbunden ist, um die Unterbrechungslenkeinrichtung zu steuern, um die verlangte Unterbrechung der zentralen Verarbeitungseinheit zuzuführen, die durch die CPU-Kennzeichnung angegeben ist.
14. Das Datenverarbeitungssystem des Anspruches 13, bei dem eines der Mehrzahl von Systemsteuerprogrammen ein Haupt-Systemsteuerprogramm ist, das zum Koordinieren der Arbeitsweise der Mehrzahl von Systemsteuerprogrammen in dem Datenverarbeitungssystem geeignet ist, wobei die Unterbrechungslenkeinrichtung (3) ferner enthält:
eine Einrichtung in Verbindung mit der Mehrzahl von logischen Prozessoreinrichtungen (7-1 . . . 7-N), um der logischen Prozessoreinrichtung, die der zentralen verarbeitenden Einheit entspricht, die durch die CPU-Kennzeichnung angegeben ist, mitzuteilen, zu dem Haupt-Systemsteuerprogramm zu schalten, wenn eine Übereinstimmung nicht festgestellt wird.
15. Das Datenverarbeitungssystem des Anspruches 11, in dem die logische Prozessoreinrichtung enthält: eine Zustandssteuer-Speicherstelle (9) in Verbindung mit der entsprechenden zentralen Verarbeitungseinheit und die unter Steuerung des Haupt-Systemsteuerprogrammes oder eines ausgewählten Systemsteuerprogrammes in Reaktion auf das Verarbeiten von Befehlen in der entsprechenden zentralen Verarbeitungseinheit ladbar ist, um ein Zustandssteuersignal zu speichern, das einen Systemzustand, der durch das Haupt-Systemsteuerprogramm gesteuert wird, oder einen Benutzerzustand angibt, der durch das ausgewählte Systemsteuerprogramm gesteuert wird;
eine Steuereinrichtung (70, 71) in Verbindung mit der entsprechenden zentralen Verarbeitungseinheit, um die Steuerung der entsprechenden zentralen Verarbeitungseinheit zwischen dem Systemzustand und dem Benutzerzustand in Reaktion auf das Zustandssteuersignal zu schalten;
eine Merkmalsteuereinrichtung in Verbindung mit der entsprechenden zentralen Verarbeitungseinheit, um die Verarbeitung von Befehlen in der entsprechenden zentralen Verarbeitungseinheit im Benutzerzustand als eine Funktion einer Variante der Host-Rechnerarchitektur zu steuern, wobei die genannte Merkmalssteuereinrichtung eine Merkmalssteuer-Speicherstelle (15) enthält, die unter Steuerung des Haupt-Systemsteuerprogrammes ladbar ist, um ein Systemsteuerprogramm auszuwählen, um Parameter zu speichern, die die Variante angeben, an die das ausgewählte Systemsteuerprogramm angepaßt ist; und eine Hauptspeicher-Abbildungseinrichtung (16) in Verbindung mit der entsprechenden zentralen Verarbeitungseinheit und der Hauptspeichereinheit, um Adressen, die von der entsprechenden zentralen Verarbeitungseinheit in dem Benutzerzustand erzeugt worden sind, auf eine Adresse innerhalb eines Bereiches von Adressen zum Zugreifen auf die Hauptspeichereinheit abzubilden, und wobei jene eine Adressenabbildungs- Speicherstelle hat, die unter Steuerung des Hauptsystemsteuerprogrammes ladbar ist, um einen Bereich dem ausgewählten Systemsteuerprogramm zum Speichern von Parametern zuzuordnen, die einen Bereich von Adressen angeben, der zur Verwendung durch das ausgewählte Systemsteuerprogramm zugeordnet ist.
16. Das Datenverarbeitungssystem des Anspruches 15, bei dem:
bei dem die Kennzeichnung (10) des steuernden Systemsteuerprogramm eine Bereichsnummer ist, die den Bereich von Adressen angibt, der zur Verwendung durch das ausgewählte Systemsteuerprogramm, das im Benutzerzustand arbeitet, zugeordnet ist; und wobei die logische Prozessoreinrichtung eine Einrichtung (11) zum Speichern einer Bereichsnummer für eine zentrale Verarbeitungseinheit enthält, die die entsprechende zentrale Verarbeitungseinheit eindeutig kennzeichnet:
die logische Kanaleinrichtung einer Einrichtung zum Speichern eines Zustandssteuersignals, einer Bereichsnummer und einer Bereichsnummer für eine zentrale Verarbeitungseinheit für jede Kanaloperation enthält, die den Zustand, den Bereich und die zentrale Verarbeitungseinheit kennzeichnet, von der die Anforderung für die Kanaloperation gemacht worden ist, und zum Zuführen des gespeicherten Zustandssteuersignals, der Bereichsnummer und der Bereichsnummer für eine zentrale Verarbeitungseinheit mit einer Anforderung auf eine Unterbrechung; und
die Unterbrechungslenkeinrichtung auf die Zustandssteuersignale, die Bereichsnummer und die Bereichsnummer für eine zentrale Verarbeitungseinheit ansprechbar ist, die von einem Kanal bei Abschluß einer Kanaloperation zugeführt werden, um Unterbrechungen unter den zentralen Verarbeitungseinheiten zu lenken.
17. Das System des Anspruches 16, bei dem die logische Kanaleinrichtung enthält:
eine Kanal-Hauptspeicher-Abbildungseinrichtung zum Abbilden von Adressen bei einer Kanaloperation auf einer Adresse innerhalb des Bereiches von Adressen zum Zugreifen auf die Hauptspeichereinheit, die durch die Bereichsnummer angegeben ist, die zur Kanaloperation gespeichert worden ist, die die Adresse erzeugt.
18. Das System des Anspruches 17, bei dem die zentralen Verarbeitungseinheiten ferner enthalten:
eine Modussteuer-Speicherstelle in Verbindung mit einer entsprechenden zentralen Verarbeitungseinheit und ladbar unter Steuerung eines gegenwärtig steuernden Systemsteuerprogrammes in der zentralen Verarbeitungseinheit, um ein Modussteuersignal zu speichern, das einen Kontrollmodus, unter dem ein privilegierter Satz von Befehlen in der zentralen Verarbeitungseinheit ausführbar ist, oder einen Aufgabenmodus festzulegen, unter dem ein nichtprivilegierter Satz von Befehlen in der zentralen Verarbeitungseinheit ausführbar ist; und
eine Einrichtung um die Steuerung der entsprechenden zentralen Verarbeitungseinheit zwischen dem Kontrollmodus und dem Aufgabenmodus in Reaktion auf das Modussteuersignal zu schalten.
19. Das System des Anspruches 18, das einen besonderen Satz an Befehlen enthält, der nur im Systemzustand in der zentralen Verarbeitungseinheit unter Steuerung des Haupt-Systemsteuerprogrammes ausführbar ist, wobei der besondere Satz Befehle zur Betriebskoordinierung der Mehrzahl von Systemsteuerprogrammen enthält.
DE3486305T 1984-08-17 1984-08-17 Datenverarbeitungssystem mit logischem Prozessormittel. Expired - Fee Related DE3486305T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP84305621A EP0171475B1 (de) 1984-08-17 1984-08-17 Datenverarbeitungssystem mit logischen Prozessormitteln

Publications (2)

Publication Number Publication Date
DE3486305D1 DE3486305D1 (de) 1994-05-19
DE3486305T2 true DE3486305T2 (de) 1994-10-27

Family

ID=8192724

Family Applications (2)

Application Number Title Priority Date Filing Date
DE8484305621T Expired - Lifetime DE3481945D1 (de) 1984-08-17 1984-08-17 Datenverarbeitungssystem mit logischen prozessormitteln.
DE3486305T Expired - Fee Related DE3486305T2 (de) 1984-08-17 1984-08-17 Datenverarbeitungssystem mit logischem Prozessormittel.

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE8484305621T Expired - Lifetime DE3481945D1 (de) 1984-08-17 1984-08-17 Datenverarbeitungssystem mit logischen prozessormitteln.

Country Status (4)

Country Link
EP (2) EP0303783B1 (de)
AU (1) AU571257B2 (de)
CA (1) CA1211848A (de)
DE (2) DE3481945D1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4975836A (en) * 1984-12-19 1990-12-04 Hitachi, Ltd. Virtual computer system
JPS63182749A (ja) * 1987-01-26 1988-07-28 Nec Corp 計算機システムのタイマ制御装置
US4843541A (en) * 1987-07-29 1989-06-27 International Business Machines Corporation Logical resource partitioning of a data processing system
JPH0291747A (ja) * 1988-09-29 1990-03-30 Hitachi Ltd 情報処理装置
AU3424293A (en) * 1992-01-02 1993-07-28 Amdahl Corporation Computer system with two levels of guests
US8135937B2 (en) 2008-11-17 2012-03-13 International Business Machines Corporation Logical partition memory
US8301863B2 (en) 2008-11-17 2012-10-30 International Business Machines Corporation Recursive logical partition real memory map
US10255463B2 (en) 2008-11-17 2019-04-09 International Business Machines Corporation Secure computer architecture

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3421150A (en) * 1966-08-26 1969-01-07 Sperry Rand Corp Multiprocessor interrupt directory
US4001783A (en) * 1975-03-26 1977-01-04 Honeywell Information Systems, Inc. Priority interrupt mechanism
US4070704A (en) * 1976-05-17 1978-01-24 Honeywell Information Systems Inc. Automatic reconfiguration apparatus for input/output processor
AU505769B2 (en) * 1977-02-24 1979-11-29 International Business Machines Corp. Configuration and control unit fora heterogeneous multisystem
CA1147420A (en) * 1978-10-31 1983-05-31 John W. Conway Intersystem cycle control logic
US4253145A (en) * 1978-12-26 1981-02-24 Honeywell Information Systems Inc. Hardware virtualizer for supporting recursive virtual computer systems on a host computer system
JPS55112651A (en) * 1979-02-21 1980-08-30 Fujitsu Ltd Virtual computer system
US4494189A (en) * 1982-04-26 1985-01-15 International Business Machines Corporation Method and means for switching system control of CPUs
US4530052A (en) * 1982-10-14 1985-07-16 Honeywell Information Systems Inc. Apparatus and method for a data processing unit sharing a plurality of operating systems

Also Published As

Publication number Publication date
EP0303783A3 (en) 1989-08-09
CA1211848A (en) 1986-09-23
EP0303783A2 (de) 1989-02-22
AU571257B2 (en) 1988-04-14
AU3205784A (en) 1986-02-20
EP0303783B1 (de) 1994-04-13
DE3481945D1 (de) 1990-05-17
EP0171475B1 (de) 1990-04-11
DE3486305D1 (de) 1994-05-19
EP0171475A1 (de) 1986-02-19

Similar Documents

Publication Publication Date Title
DE69032334T2 (de) Virtuelles Computersystem mit Ein-/Ausgabeunterbrechungssteuerung
DE68921906T2 (de) Verfahren für ein Multiprozessorsystem mit sich selbst zuordnenden Prozessoren.
DE3607889C2 (de)
DE69332663T2 (de) Datenprozessor mit einem Cachespeicher
DE3586359T2 (de) System und verfahren zum durchfuehren von ein-/ausgabeoperationen fuer ein virtuelles system.
DE3853759T2 (de) Datenprozessor mit zwei Betriebsmoden.
DE10393920B4 (de) Verfahren und Systeme zur Steuerung virtueller Maschinen
DE2722099C2 (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
DE68922769T2 (de) Verfahren zum Erzeugen eines temporären Anhaltens von Tasken, die in einem virtuellen Datenverarbeitungssystem ablaufen.
DE68924720T2 (de) Verfahren und Vorrichtung für Zugriffsrechtensteuerung.
DE3689287T2 (de) Datenverarbeitungsgerät.
DE2430127C2 (de) Einrichtung zur Steuerung des Speicherzugriffs konkurrierender Benutzer
DE3587039T2 (de) Computer mit virtuellem maschinenmodus und mehrfachen schutzringen.
DE3587622T2 (de) Emulationseinrichtung in einem Datenverarbeitungssystem.
DE3685863T2 (de) Rechnersystem zur steuerung virtueller maschinen.
DE102007025397B4 (de) System mit mehreren Prozessoren und Verfahren zu seinem Betrieb
DE3856030T2 (de) Vorrichtung und Verfahren zur Durchführung von änderbarer Betriebsmittelaufteilung in einem Datenverarbeitungssystem mit zentralen Datenverarbeitungseinheiten mit verschiedenen Betriebssystemen
DE68915074T2 (de) Integrierte Zeitgeberschaltung mit mehreren Kanälen und zugeordnetem Bedienungsprozessor.
DE2517276A1 (de) Datenverarbeitungssystem
DE2718051B2 (de) Datenverarbeitungsanlage mit Einrichtungen zur wechselnden Bearbeitung mehrerer Aufgaben
DE2411963A1 (de) Datenverarbeitungsanlage
CH619309A5 (de)
DE3750806T2 (de) Eingeschlossene Domänenadressierung.
DE68922545T2 (de) Zugeordneter Dienstprozessor mit Übertragungsmöglichkeiten zwischen Kanälen.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee