DE68923386T2 - Informationsverarbeitungssystem. - Google Patents

Informationsverarbeitungssystem.

Info

Publication number
DE68923386T2
DE68923386T2 DE68923386T DE68923386T DE68923386T2 DE 68923386 T2 DE68923386 T2 DE 68923386T2 DE 68923386 T DE68923386 T DE 68923386T DE 68923386 T DE68923386 T DE 68923386T DE 68923386 T2 DE68923386 T2 DE 68923386T2
Authority
DE
Germany
Prior art keywords
access
register
entry
access list
address
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
DE68923386T
Other languages
English (en)
Other versions
DE68923386D1 (de
Inventor
Richard Irwin Baum
Terry Lee Borden
Justin R Butwell
Carl Edward Clark
Alan George Ganek
James Lum
Michael Gerard Mall
Kenneth Ernest Plambeck
Casper Anthony Scalzi
Richard John Schmalz
Ronald Morton Smith
Julian Thomas
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE68923386D1 publication Critical patent/DE68923386D1/de
Publication of DE68923386T2 publication Critical patent/DE68923386T2/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/468Specific access rights for resources, e.g. using capability register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list

Landscapes

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

Description

  • Die Erfindung bezieht sich auf eine Methode und Mittel, mit denen ein Programm oder mehrere Programme, die in einem Datenverarbeitungssystem ausgeführt werden, gleichzeitigen Zugriff auf mehrere virtuelle Adreßräume erhalten.
  • In diesem System enthalten Zugriffsregister, die Universalregistern entsprechen, Token, mit denen das System Adreßräume ermitteln kann. Die Token werden für die Angabe eines Zugriffslisteneinganges verwendet, mit dem in einem Umsetzungsprozeß eine Bezeichnung für eine Segmenttabelle ermittelt werden kann. Durch die Verwendung von Token kann die Systemsteuerung der Adreßräume getrennt von der Programmsteuerung der Adreßräume ablaufen.
  • Datenverarbeitungssysteme, die die virtuelle Adressierung in mehreren virtuellen Adreßräumen verwenden, z. B. die Systeme IBM/370 mit MVS-gesteuerter Programmierung, sind in der Technik gut bekannt. Organisation und Hardware/Systemarchitektur des Systems IBM/370 werden in "IBM System/370-XA Principles of Operation", IBM Form SA22-7085-1 beschrieben. Das beschriebene MVS- System umfaßt eine Zentraleinheit, die die Folgesteuerungs- und Verarbeitungseinrichtungen für die Ausführung von Instruktionen, den Unterbrechungsvorgang, Zeitsteuerungsfunktionen, das erstmalige Programmladen sowie weitere programmspezifische Funktionen enthält. Es umfaßt ferner einen Hauptspeicher, der direkt adressierbar ist und die Hochgeschwindigkeitsverarbeitung von Daten durch die Zentraleinheit gestattet. Der Hauptspeicher kann entweder physikalisch in die Zentraleinheit integriert oder in separaten Einheiten untergebracht sein.
  • US-Patentschrift 4,096,573 von A. R. Heller et. al. mit dem Titel "DLAT Synonym Control Means for Common Portions of All Address Spaces" sowie US-Patentschrift 4,136,385 von P. M. Gannon et. al. mit dem Titel "Synonym Control Means for Multiple Virtual Storage Systems", die beide an denselben Rechtsnachfolger wie die vorliegende Erfindung übertragen wurden, beschreiben MVS- Systeme, bei denen der Hauptspeicher als unterschiedliche Adreßräume für die Nutzung durch mehrere Benutzer zugeordnet werden kann, wobei jeder Adreßraum einen Bereich enthält, der als für alle Benutzer zugänglicher, gemeinsamer Bereich definiert ist. Hierdurch kann ein Benutzer Programme oder Daten von anderen Benutzern isolieren, indem er sie in einen "privaten" Bereich des diesem Benutzer zugeordneten Adreßraumes stellt, oder er kann sie für alle anderen Benutzer zugänglich machen, indem er die Programme oder Daten in den "gemeinsamen" Bereich stellt. In einem solchen System können Daten zwischen zwei Adreßräumen verschoben werden, indem ein Programm im ersten Adreßraum die Daten von seinem privaten Bereich in den gemeinsamen Bereich verschiebt und anschließend einem Programm in dem anderen Adreßraum anzeigt, daß die Daten verarbeitet oder weitergeleitet werden sollen. Die Nutzung des gemeinsamen Bereiches als Kommunikationsbereich zwischen den Adreßräumen erhöht die Größe des gemeinsamen Bereiches und reduziert so die Größe des privaten Bereiches, der allen Benutzern zur Verfügung steht. Die Meldung zwischen den Programmen kann nur durch Teilsysteme oder das Steuerprogramm erfolgen. Die Daten werden durch Speicherschutzschlüssel geschützt. Es gibt jedoch lediglich 16 solcher Schlüssel; diese Zahl reicht nicht aus, um ein unbeabsichtigtes Speichern der Informationen durch ein anderes Teilsystem oder berechtigtes Programm zu verhindern, da die Informationen gemeinsam adressierbar sind.
  • US-Patentschrift 4,355,355, die an denselben Rechtsnachfolger übertragen wurde wie die vorliegende Anmeldung, beschreibt Zugriffsregister (ARs), die den Universalregistern (GPRs) in einer Datenverarbeitungseinheit zugeordnet sind. Die ARs sind jeweils mit einem eindeutigen Segmenttabellendeskriptor (STD) geladen. Der STD enthält eine Segmenttabellenadresse im Hauptspeicher und ein Feld für die Segmenttabellenlänge. Es gibt eine vorgegebene Anzahl von ARs, die jeweils den GPRs in einem Prozessor zugewiesen sind, um eine Teilmenge aus maximal der vorgegebenen Anzahl von Datenadreßräumen mit maximal einem Adreßraum pro GPR zu definieren. Der STD in einem AR wird für die Adreßumsetzung ausgewählt, wenn das zugeordnete GPR als ein Basisadreßregister für einen Speicheroperanden ausgewählt wird, wie dies beispielsweise bei dem vom Feld B in einer Instruktion des Systems IBM/370 ausgewählten GPR der Fall ist. Jedes einzelne AR kann außerdem festlegen, daß es für die Definition seines Datenadreßraumes nicht den STD in seinem zugeordneten AR, sondern den STD im AR des Programmadreßraumes verwendet. Der Inhalt des STD eines AR wird jedoch nicht für eine Adreßumsetzung ausgewählt, wenn das zugeordnete GPR nicht als Speicheroperandenbasisregister verwendet wird, z. B., wenn ein GPR als ein Indexregister (X-Register) oder als ein Datenquell- oder Senkenregister (R-Register) für eine Instruktion verwendet wird. Ein sechzehntes AR kann für die Definition und Steuerung des Adreßraumes des ausführenden Programmes vorgesehen werden, der auch Daten enthalten kann.
  • US-Patentschriften 4,366,537, 4,430,705 und 4,500,952, die an denselben Rechtsnachfolger übertragen wurden wie die vorliegende Anwendung, behandeln alle das Konzept des Doppeladreßraumes (DAS), gegenüber dem das hier beschriebene Konzept des Zugriffsregister-Mehrfachadreßraumes (MAS) eine Verbesserung darstellt. Diese Patentschriften beschreiben Systeme, bei denen ein einzelnes Programm in einem einzelnen Adreßraum Zugriff auf Daten in einem anderen Adreßraum erhält oder ein Programm in einem anderen Adreßraum aufrufen kann, ohne ein Supervisor-Programm aufzurufen. Jeder einzelne einer Mehrzahl von Adreßräumen, denen eine Adreßraumnummer (ASN) zugewiesen wurde, verfügt über einen zugeordneten Satz von Adreßumsetzungstabellen. Ein zweiter Adreßraum kann durch ein Programm zugewiesen werden; wenn das Programm dazu berechtigt ist, kann es die Übertragung von Daten im Hauptspeicher von einem physikalischen Speicherplatz zu einem anderen Speicherplatz veranlassen, der einem anderen Adreßraum zugeordnet ist. Ein vom Programm änderbares Steuerbit für die Adreßraumauswahl steuert die Verwendung zweier verschiedener Sätze von Adreßumsetzungstabellen, die zwei verschiedenen Adreßräumen zugeordnet sind. Ohne Aufrufen eines Supervisor-Programmes kann ein bestimmtes Programm in einem zugeordneten Adreßraum ein Programm in einem anderen Adreßraum aufrufen oder Adressierbarkeit für Daten in einem anderen Adreßraum mit einem zugeordneten Satz von Adreßumsetzungstabellen erhalten.
  • US-Patentschrift 4,037,214, die an denselben Rechtsnachfolger übertragen wurde wie die vorliegende Anmeldung, beschreibt ein horizontales Adressierungssystem, in dem Mehrfachzugriffsschlüssel in einem Zugriffsschlüsselregister (AKR) den Adreßraum eines Speicherzugriffs als eine Funktion einer Instruktionsadresse, einer Senkenoperandenadresse bzw. einer Quelloperandenadresse wechseln.
  • US-Patentschriften 4,521,846 (und EP-A-0 058 844), die an denselben Rechtsnachfolger übertragen wurde wie die vorliegende Erfindung und den Titel trägt "Mechanism for Accessing Multiple Virtual Spaces", zeigt in Fig. 6 einen Mechanismus für die Steuerung des Zugriffs auf mehrere virtuelle Adreßräume gemäß dem Abschnitt vor den kennzeichnenden Merkmalen in Anspruch 1, d. h. unter Verwendung von Zugriffsregistern, die Universalregistern zugeordnet sind. Dieser Mechanismus verwendet lediglich eine einstufige Tabelle für die Umsetzung eines Spezifikationselementes für einen Adreßraum in einem ausgewählten Zugriffsregister in eine Adresse für den Segmenttabellenursprung, die für die Umsetzung einer logischen Adresse in eine reale Adresse verwendet wird.
  • US-Patentschrift 3,787,813 beschreibt das Konzept von Datenverarbeitungsvorrichtungen, die Vollmachtregister verwenden. Die Patentschrift behandelt eine Datenverarbeitungsvorrichtung mit einer zentralen Verarbeitungseinheit und einer Speichereinheit, wobei die Informationen in der Speichereinheit in Segmenten angeordnet sind und die Zentraleinheit eine Mehrzahl von Vollmachtregistern besitzt, die jeweils so angeordnet sind, daß sie die Deskriptoreninformationen für die Basis- und Begrenzungsadressen eines Informationssegments speichern. Eines der Leistungsregister enthält Informationen, die die Basis- und Begrenzungsadressen eines Informationssegments definieren, das eine Segmentzeigertabelle enthält, die spezifisch für das zu diesem Zeitpunkt von der zentralen Verarbeitungseinheit ausgeführte Programm ist; ein weiteres Register enthält Informationen, die die Basis- und Begrenzungsadressen eines Informationssegments definieren, das eine Stammvollmachtstabelle mit einem Eintrag für jedes Informationssegment in der Speichereinheit enthält, das aus Informationen besteht, die die Basis- und Begrenzungsadressen eines Segmentes definieren. Die Segmentzeigertabelle enthält eine Liste mit Datenwörtern, die als Zeiger verwendet werden, um verschiedene Eingänge in der Stammsegmenttabelle zu definieren.
  • US-Patentschrift 4,366,536 beschreibt ein digitales Computersystem für die Auswahl und Verbindung von mehreren, getrennt voneinander gespeicherten Datenverarbeitungsprozeduren, die aus Befehlen auf Assemblerebene bestehen, sowie für die Auswahl eines variablen Datenbereichs aus einer Mehrzahl von variablen Datenbereichen. Das System umfaßt Speicher für die Speicherung der Datenverarbeitungsprozeduren, der variablen Datenbereiche und Verbindungsadressen, einen Programmzähler für den Zugriff auf den Speicher mit den gespeicherten Datenverarbeitungsprozeduren, Register für den Zugriff auf die Speicher mit den Daten und den Verbindungsadressen sowie eine Hardwareeinheit, die für die Ausführung der Befehle auf Assemblerebene ausgelegt ist, die in ausgewählten Datenverarbeitungsprozeduren enthalten sind, gemäß der Befehle auf Assemblerebene in der ausgeführten Datenverarbeitungsprozedur und gemäß zuvor ausgewählter Adressen.
  • US-Patentschrift 4,268,903 beschreibt eine Registergruppe für die Stapelsteuerung, mit der ein Stapelbereich gesteuert wird. Ein Register mit einem Datenstapelzeiger enthält die Anfangsadresse des Datenstapelbereiches, der in der Stapeleinrichtung gebildet und direkt vom Benutzerprogramm gesteuert wird.
  • US-Patentschrift 4,454,580 mit dem Titel "Program Call Method and Call Instruction Execution Apparatus", die an denselben Rechtsnachfolger übertragen wurde wie die vorliegende Erfindung, umfaßt eine Methode für die Weitergabe der Ausführung von einem Programm in einem Logikadreßraum zu einem anderen Programm in einem anderen Logikadreßraum. Das aufrufende Programm steuert die selektive Zuordnung von Segmenten zum aufgerufenen Programm, wobei das aufgerufene Programm jedoch die Länge der zugeordneten Segmente steuert. Auf diese Weise können rekursive Aufrufe desselben Programmes nicht die Funktion oder die Daten von anderen Programmen oder desselben Programmes in einem früheren Aufruf beeinträchtigen. Die Zuordnung der Datensegmente kann außerdem bis zur Ausführung verzögert werden, so daß eine flexiblere Ausführung von Programmen möglich ist, die ohne genaue Kenntnisse von anderen gleichzeitig ausgeführten Programmen geschrieben wurden.
  • US-Patentschrift 4,297,743 mit dem Titel "Call and Stack Mechanism for Procedures Executing in Different Rings" beschreibt eine Architektur, die auf einer Hierarchie von Ringen basiert, wobei jeder Ring eine andere Privilegebene darstellt. Sprunganweisungen sind erlaubt auf Ringe, mit einem geringeren Privileg und für Nur-Lese-Status können andere Privilegebenen gelten als für Schreib-/Lesestatus. Die Patentschrift beschreibt einen Stapelrahmen mit drei Ebenen: einem Arbeitsbereich für die Speicherung von Variablen, einem Speicherbereich für die Speicherung des Registerinhalts und einem Kommunikationsbereich für die Weitergabe von Parametern zwischen Prozeduren. Vor dem Aufrufen einer Prozedur muß der Benutzer die zu rettende Register angeben und diejenigen Parameter, die an die aufgerufene Prozedur weitergegeben werden sollen, in den Kommunikationsbereich laden. Das System stellt ein Protokoll der Aufrufe in einer Folge von Stapelrahmen bereit, so daß eine Zurückkehr möglich ist. Schließlich beschreibt die US-Patentschrift 4,044,334 mit dem Titel "Database Instruction Unload" ein System, mit dem ein Datenbankzeiger aufgefunden werden kann, um Datenbanksätze in einem Segment einer Mehrzahl von Segmenten eines adressierbaren Adreßraumes lokalisieren zu können.
  • Ein Artikel im IBM Technical Disclosure Bulletin, Januar 1982, Bd. 24, Nr. 8, Seiten 4401-4403 mit dem Titel "Method of Revoking a Capability Containing a Pointer-Type Identifier Without Accessing The Capability" beschreibt eine Adreßraumnummer (ASN) als einen Zeigernamen für die Adreßraumvollmacht. Diese Veröffentlichung bezieht sich auf die Doppeladreßraumeinrichtung sowie darauf, daß nicht auf dem Adreßraum eingegriffen werden muß, um die Gültigkeit des Zugriffs zu ermitteln, da diese Informationen mit dem ASN-Sekundärtabelleneingang (ASTE), der der Adreßumsetzung zugeordnet ist, bestimmt werden können. Prinzipiell ist der Zugriff auf ein Objekt über die Vollmacht nur dann gestattet, wenn die eindeutigen Codes der Vollmacht und des Objektes übereinstimmen. Die Vollmacht kann einfach durch Ändern des eindeutigen Codes des Objektes widerrufen werden, ohne daß hierfür die Vollmacht lokalisiert und auf sie zugegriffen werden muß.
  • Während die bisher beschriebene herkömmliche Technik zwar einen erheblichen funktionalen Fortschritt für den Computerbenutzer darstellt, gibt es dennoch bedeutende Gebiete, auf denen weitere Verbesserungen wünschenswert sind. Insbesondere besteht Bedarf für eine Einrichtung, mit der Daten zwischen beliebigen Adreßräumen bewegt werden können. Darüber hinaus besteht Bedarf für eine Einrichtung zur Steuerung eines Berechtigungsindexes für mehrere Programme in einem Adreßraum, so daß verschiedene Berechtigungsindices in ein und demselben Adreßraum verwendet werden können. Und schließlich ist es wünschenswert, die Möglichkeit zu verbessern, häufig zwischen Adreßräumen wechseln und die zusätzlichen Adressierungsvollmachten beim Wechseln der Adressierungsumgebungen erwerben oder abgeben zu können. Steuer- und Berechtigungsmechanismen müssen dabei besonders berücksichtigt werden. Der Inhalt eines AR sollte vom Benutzer geändert werden können; der Benutzer sollte jedoch keinen direkten Zugriff auf die tatsächlichen Adressierungsinformationen, z. B. den STD, erhalten. Einfache Benutzung der Adreßraummechanismen und geeignete Berechtigungs- und Steuermechanismen müssen daher kombiniert werden, um ungewollten Zugriff auf Adreßräume zu verhindern.
  • Aufgabe der vorliegenden Erfindung ist es daher, eine bessere Leistung im Hinblick auf die oben genannten wünschenswerten Merkmale zu erzielen.
  • Diese Lösung wird im charakterisierenden Teil der Ansprüche 1 und 10 beschrieben.
  • Diese Erfindung ist ein Datenverarbeitungssystem, das über mehrere systemgesteuerte virtuelle Adreßräume verfügt, und in dem der Benutzer die Adreßräume mit Hilfe von Tokens verwaltet, die vom System für die Identifizierung der Adreßräume bereitgestellt werden. Über die Tokens kann der Benutzer die Adreßräume identifizieren, auf die durch das System zugegriffen werden soll; sie gestatten jedoch nicht die direkte Steuerung von realen oder virtuellen Adreßräumen durch den Benutzer. Auf diese Weise gewährleistet das System eine ausreichende Berechtigung und Steuerung des Zugriffs auf Adreßräume, da der Benutzer nicht direkt mit einer systemverwalteten Ressource arbeiten kann. Der Benutzer hat außerdem die Möglichkeit, unter mehreren Betriebsmodi auszuwählen, welches Adressierungssystem aus verschiedenen zur Auswahl stehenden Systemen aufgerufen wird.
  • In einem Computersystem gemäß der vorliegenden Erfindung wird ein Zugriffsregister (AR) bereitgestellt, das allen Universalregistern, die für Benutzer in der Architektur vorhanden sind, entspricht. Im AR-Modus enthält jedes Zugriffsregister ein Token für einen Zugriffslisteneingang (ALET), das für einen Adreßraum steht, auf den das Universalregister Zugriff erhält. Das ALET verweist auf einen Zugriffslisteneingang (ALE). Die dynamische Adreßumsetzung (DAT) erfolgt unter Verwendung eines Operanden im Universalregister für den Adreßraum, der durch das ALET angegeben wird. Der Prozeß, bei dem der STD mittels Zugriffsregisterumsetzung (ART) ermittelt wird, besteht aus zwei Schritten. Zunächst wird das ALET verwendet, um einen Zugriffslisteneingang in einer Zugriffsliste zu identifizieren, die eine Adreßraumnummer für eine Sekundärtabelleneingangsadresse (ASTE ADR) enthält. Die ASTE ADR wird dann für den Zugriff auf den ASTE verwendet, der den STD aus der dynamischen Adreßumsetzung (DAT) enthält. Daraufhin werden bestimmte Prüfungen mit den Komponenten des ALET, der Zugriffsliste und des ASTE durchgeführt, bevor der STD aus dem ASTE ermittelt wird.
  • Die ART umfaßt Zuverlässigkeits-, Integritäts- und Berechtigungsprüfungen. Wenn das ALET im Zugriffsregister zum ersten Mal verwendet wird, um den korrekten Zugriffslisteneingang (ALE) in einer Zugriffsliste zu ermitteln, wird eine Verifizierung vorgenommen, um zu überprüfen, ob der Eintrag gültig ist. Daraufhin wird der Inhalt des ALE für die Ermittlung des korrekten ASTE verwendet, aus dem der STD ermittelt wird. Zusätzlich wird ein Vergleich der ASTE-Folgenummern (ASTESN) zwischen dem Inhalt des ALE und demjenigen des ASTE vorgenommen, um sicherzustellen, daß die Referenz auf den ASTE korrekt ist.
  • Diese Vergleiche stehen mit der Verwendung einer Vollmacht im Zusammenhang, wie sie in der Informatik definiert ist. Eine Vollmacht ist ein nicht weiter änderbares Objekt, das seinem Besitzer die Durchführung von Operationen an einem anderen Objekt gestattet. Im Falle von Zugriffsregistern bestehen diese Objekte, auf die sich die Vollmacht bezieht, aus Adreßräumen. Falls es einem Zugriffsregister erlaubt wäre, die Vollmacht, d. h. den STD für den Adreßraum, direkt zu enthalten, dann dürfte der Inhalt des AR ausschließlich durch privilegierte Instruktionen manipuliert werden, damit die Merkmale der Nicht-Veränderbarkeit erhalten blieben. Die Verwendung von privilegierten Instruktionen für die Steuerung von Adreßräumen nimmt jedoch zusätzliche Zeit und Computerressourcen in Anspruch, da hierfür die Steuerung zwischen dem Anwendungsprogramm und dem privilegierten Steuerprogramm übertragen werden muß.
  • Eine Zugriffsliste enthält die maximal mögliche Adressierbarkeit für Adreßräume zu einem gegebenen Zeitpunkt. Der ART-Prozeß umfaßt ferner die Ermittlung der Berechtigungsebene eines ALE, die die maximale Adressierbarkeit durch Berechtigungsprüfungen einschränken könnte. Der gesamte Programmcode operiert auf einer vorbestimmten Berechtigungsebene; der Zugriff auf einen ALE wird durch Berechtigungsprüfungen gesteuert. Es gibt drei verschiedene Prüfstufen. Die erste Stufe ist das Bit gemeinsam/Privat im ALE. Wenn es gemeinsam lautet, können alle Benutzer auf der Zugriffsliste den Eintrag verwenden. Wenn es Privat lautet, wird in einer Prüfung auf der zweiten Stufe ermittelt, ob ein Index der erweiterten Berechtigung (EAX) im Steuerregister 8 mit dem Berechtigungsindex (ALEAX) übereinstimmt, der dem Adreßraum im ALE zugeordnet ist, auf den zugegriffen wird. Das Steuerregister 8 gibt die Zugriffsberechtigung des ausführenden Programmes für den Adreßraum an. Hierbei handelt es sich um den Besitzer eines überwachten Adreßraumes, der auf den Adreßraum zugreift. Schließlich wird eine dritte Prüfung durchgeführt, wenn der EAX nicht mit dem ALEAX übereinstimmt. Eine Berechtigungstabelle des ASTE, auf den zugegriffen wird, wird vom EAX-Wert des Steuerregisters 8 indiziert. Wenn der betreffende EAX einen zulässigen Zugriff in der Berechtigungstabelle feststellt, wird der Zugriff gestattet. Dies entspricht einem Besitzer eines Adreßraumes, der eine spezielle Nutzung gestattet.
  • Ein Vorteil der vorliegenden Erfindung besteht darin, daß die ARs ALETs enthalten, wodurch eine Steuerung der Adreßräume ohne die Verwendung von privilegierten Instruktionen möglich ist. Da der AR ein ALET enthält, das einen Adreßraum indirekt durch einen Zugriffslisteneingang angibt, kann eine nicht privilegierte Instruktion oder Teilroutine den Inhalt des Zugriffsregisters speichern, das Zugriffsregister für einen anderen Zweck verwenden und den gespeicherten Inhalt dann wiederherstellen, ohne daß hierfür ein Steuerprogrammeingriff erforderlich ist. Auf diese Weise steuert die Zugriffsliste die Berechtigung des Benutzers. Der Zugriffslisteneingang verweist auf den ASTE mit dem STD und nicht auf die Zugriffsliste, die den STD direkt enthält, da die Steuerung von Adreßräumen und die Berechtigung für Adreßräume durch eine Änderung des ASTE auf diese Weise modifiziert werden kann, ohne daß alle Zugriffslisteneingänge ermittelt werden müssen, die auf den Adreßraum Bezug nehmen. Die Adreßraumsekundärtabelle (AST) stellt eine Definition aller Programmadreßräume im System bereit, so daß das System über einen zentralen Steuerpunkt für alle Adreßräume verfügt. Eine Vielzahl von Benutzern kann Zugriff auf einen Adreßraum haben, und der betreffende Adreßraum sollte hierfür in den Zugriffslisten der Benutzer enthalten sein. Es können mehrere ALE in mehreren Zugriffslisten auf denselben ASTE verweisen. Auf diese Weise gibt es zwischen dem AR und dem STD zwei Ebenen der indirekten Bezugnahme, wodurch eine getrennte Steuerung durch die Vollmacht des Benutzers und durch die Verantwortlichen für Adreßräume ermöglicht wird.
  • Ein weiteres Beispiel für die Steuerung, die durch die indirekte Bezugnahme zwischen AR und STD vereinfacht wird, ist die Vereinfachung der Verwaltung der realen Adressen, in die das System die STD-Informationen stellt. Die Segmenttabellenursprünge werden durch reale Adressen angegeben und befinden sich üblicherweise an einer Seitengrenze. Die Segmenttabelle selbst nimmt üblicherweise vollständige reale Speicherrahmen in Anspruch. Daher ist es wichtig, daß beim Auslagern eines Adreßraumes aus dem Hauptspeicher oder beim Beenden seiner Nutzung die realen Rahmen, die seine Segmenttabelle abbilden, erneut verwendet werden können, um andere Segmenttabellen oder virtuelle Adressen abbilden zu können. Diese Bedingung wird durch den ASTE erfüllt, den das Steuerprogramm als einzige Angabe für die Aktualisierung von Informationen benötigt, bevor die reale Adresse im STD wiederverwendet wird.
  • Die ausgewählte Zugriffsliste kann aus einer oder mehreren verfügbaren Domänen stammen. Die beschriebene Ausführungsform zeigt beispielsweise sowohl eine Domäne mit zuteilbaren Einheiten (DUAL) als auch eine Domäne mit einem Primäradreßraum (PSAL). Auch wenn eine Zugriffsliste sowohl einer zuteilbaren Einheit als auch einem Primäradreßraum zugeordnet sein kann, sollten die gültigen Eingänge in der Liste den unterschiedlichen Programmen zugewiesen werden, die ausgeführt werden, um die Aufgabe der zuteilbaren Einheit durchzuführen. Die DUAL gehört zu dem betreffenden Benutzer und kann für unterschiedliche Benutzer auch dann verschieden sein, wenn dasselbe Programm ausgeführt wird.
  • Die PSAL gehört unabhängig von der zuteilbaren Einheit zu einem Programm, das in dem zugeordneten Primäradreßraum ausgeführt wird. Die Domäne mit einem Primäradreßraum hat zwei Hauptvorteile. Erstens stehen allen Benutzern der Primäradreßraumdomäne die Einrichtungen der Domäne zur Verfügung, ohne daß die Einrichtung der Domäne mit zuteilbaren Einheiten den jeweiligen Benutzern einzeln zugeordnet oder durch diese erlangt werden muß. Zweitens kann eine zuteilbare Einheit durch Wechseln von Domänen mit Primäradreßräumen Vollmachten erlangen, ohne diese Einrichtungen einzeln erlangen zu müssen.
  • Die Zugriffsliste der zuteilbaren Einheit (DUAL) enthält die maximal mögliche Adressierbarkeit des gesamten Codes, der unter der zuteilbaren Einheit ausgeführt wird, unabhängig von dem Adreßraum, in dem der Code sich befindet; die PSAL enthält die maximale Adreßraumadressierbarkeit des gesamten Codes, der in einem bestimmten Adreßraum ausgeführt wird, und zwar unabhängig davon, unter welcher zuteilbaren Einheit der Code ausgeführt wird. In beiden Fällen wird für den ART-Prozeß die EAX-Berechtigungsprüfung durchgeführt. So kann ein Programm z. B. einen Service in einem anderen Adreßraum aufrufen, wodurch eine Kommunikation in einem gemeinsamen Adreßraum möglich ist, während demselben Service aus Gründen der Integrität oder des Datenschutzes Zugriff auf den aufrufenden Adreßraum verboten ist. Da der EAX durch einen Programmaufruf (Program Call, PC) geändert werden kann, läßt sich dies einfach realisieren. Auch wenn die Zugriffsliste im Adreßraum des Services verwendet werden kann, kann der Eintritt in den privaten Adreßraum gesperrt werden, während die zuteilbare Einheit sich im zweiten Adreßraum befindet.
  • Zusätzlich hierzu umfaßt die vorliegende Erfindung einen ART- Umsetzpuffer (ALB), der die Anzahl der Bezugnahmen auf den Speicher für ALD, ALE, ASTE und die Berechtigungstabelle reduziert, die ansonsten immer dann erforderlich sind, wenn das zugeordnete GPR eine Speicheroperandenreferenz enthält. Da die Anzahl der Speicherreferenz während des ART-Prozesses verhältnismäßig groß sein kann, lassen sich durch die Verwendung eines ALB, der die Ergebnisse der ART-Funktion bereitstellt, die Zugriffsregisterfunktionen mit einer effizienten Nutzung der Computerressourcen bereitstellen.
  • Bei der Verwendung eines ALB führt die Zentraleinheit einen ART- Prozeß im Hauptspeicher lediglich für den anfänglichen Zugriff durch, der diesen AR-Eintrag verwendet. Die Informationen aus dem ART-Prozeß werden in den ALB gestellt, und darauffolgende ART-Operationen werden solange mit den Informationen im ALB durchgeführt, bis diese Informationen ungültig sind oder durch Ergebnisse anderer ART-Operationen ersetzt werden. Der ALB stellt darüber hinaus die erforderlichen Berechtigungsprüfungen zur Verfügung, bevor eine Ausgabe erzeugt wird. Der ALB beeinflußt den ART-Prozeß dergestalt, daß sich eine Änderung der Informationen, die für die Durchführung des ART-Prozesses im Realspeicher verwendet werden, nicht notwendigerweise sofort (eventuell sogar überhaupt nicht) darauf auswirkt, ob ein STD ermittelt wird, oder welcher STD vom ALB ermittelt wird.
  • In logischer Hinsicht ist der ALB eine Tabelle, die einer Zentraleinheit lokal zugeordnet ist und aus einer bestimmten Anzahl von Eintragstypen und einer bestimmten Anzahl von Einträgen pro Eintragstyp besteht. Bei der komplexesten Implementierung eines ALB ist die Wahrscheinlichkeit am größten, daß ein oder mehrere ALB-Eingänge für einen bestimmten ART-Prozeß verwendet werden können, und daß so für diesen Prozeß eine oder mehrere Referenzen auf den Realspeicher vermieden werden können. Bei der einfachsten Implementierung eines ALB ist die Wahrscheinlichkeit am geringsten, daß Referenzen auf den Realspeicher vermieden werden können.
  • Eine Verbindungsstapeleinrichtung gestattet, daß Programme, die auf beliebigen verschiedenen Berechtigungsebenen ausgeführt werden, ohne Eingreifen des Steuerprogrammes direkt miteinander verbunden werden können. Die Berechtigungsebenen der einzelnen Programme in einer Folge von aufrufenden und aufgerufenen Programmen können beliebig variieren, so daß eine nicht hierarchische Programmorganisation errichtet werden kann. Mit den Optionen für die Änderung des EAX und des PSW-Schlüssels sowie den Optionen für die PSW-Schlüsselmaske und den Sekundäradreßraum können unterschiedliche Berechtigungen verschiedenen Programmen oder demselben aufgerufenen Programm zugewiesen werden. Die Berechtigung für die einzelnen Programme ist in den Eingangstabellen vorgeschrieben, die vom Steuerprogramm verwaltet werden. Indem die Eingangstabellen so eingerichtet werden, daß ein Programm mit verschiedenen PC-Nummern aufgerufen werden kann, können dem Programm je nach der beim Aufrufen verwendeten PC-Nummer unterschiedliche Berechtigungen zugewiesen werden. Mit den Eingangstabellen kann außerdem gesteuert werden, welche PC-Nummern von einem Programm verwendet werden können, um andere Programme aufzurufen.
  • Durch die Verbindungsoperationen PROGRAM CALL und PROGRAM RETURN für die Stapelung mittels der Verbindungsstapeleinrichtung können Programme in verschiedenen Adreßräumen mit unterschiedlichen Berechtigungsebenen verbunden werden. Der Ausführungsstatus und der Inhalt der Universalregister sowie der Zugriffsregister werden während der Ausführung einer Stapelanweisung PROGRAM CALL gerettet und während der Ausführung einer Instruktion PROGRAM RETURN teilweise wiederhergestellt. Ein Verbindungsstapel stellt ein wirksames Mittel für das Retten und Wiederherstellen des Ausführungsstatus und des Inhalts von Registern während Verbindungsoperationen dar.
  • Die Erfindung wird in den folgenden Zeichnungen erläutert:
  • Fig. 1 zeigt ein Diagramm der Verwendung eines Zugriffsregisters bei der Adressierung von Operanden gemäß der vorliegenden Erfindung;
  • Fig. 2 zeigt ein Diagramm einer Zugriffsregisterumsetzung des Inhalts eines Zugriffsregisters aus Fig. 1;
  • Fig. 3 zeigt die Organisation und den Inhalt der Steuerregister, die für die MAS-Einrichtung der vorliegenden Erfindung verwendet werden;
  • Fig. 4 zeigt den Inhalt des PSW, der für die MAS-Einrichtung verwendet wird;
  • Fig. 5 zeigt das Format eines Tokens für einen Zugriffslisteneingang, das für die MAS-Einrichtung verwendet wird;
  • Fig. 6 zeigt das Format eines Zugriffslisteneinganges, der für die MAS-Einrichtung verwendet wird;
  • Fig. 7 zeigt das Format eines Verbindungstabelleneinganges gemäß der vorliegenden Erfindung;
  • Fig. 8 zeigt das Format eines Einganges der Eingangestabelle, der für die MAS-Einrichtung verwendet wird;
  • Fig. 9 zeigt ein Diagramm eines Verbindungsstapels, der für die MAS-Einrichtung verwendet wird;
  • Fig. 10 zeigt das Format eines Einganges des Verbindungsstapels aus Fig. 9;
  • Fig. 11 zeigt das Format eines ASN-Primärtabelleneinganges;
  • Fig. 12 zeigt das Format eines ASN-Sekundärtabelleneinganges gemäß der vorliegenden Erfindung;
  • Fig. 13 zeigt das Format eines Berechtigungstabelleneinganges, der für die MAS-Einrichtung verwendet wird;
  • Fig. 14 zeigt das Format einer Steuertabelle für die zuteilbare Einheit, die für die MAS-Einrichtung verwendet wird;
  • Fig. 15 zeigt ein logisches Flußdiagramm der Umsetzung einer PC-Nummer bei einer Operation PROGRAM CALL;
  • Fig. 16 zeigt ein logisches Flußdiagramm einer Stapeloperation einer Stapelanweisung PROGRAM CALL;
  • Fig. 17 zeigt ein logisches Flußdiagramm einer ASN-Umsetzung bei einer Operation PROGRAM CALL;
  • Fig. 18 zeigt ein logisches Flußdiagramm einer Zugriffsregisterumsetzung aus Fig. 2;
  • Fig. 19A und 19B zeigen zusammen ein Flußdiagramm der Operation und Ausnahmebedingungen einer Zugriffsregisterumsetzung;
  • Fig. 20 zeigt die Verwendung der Instruktion TEST ACCESS REGI- STER, die für die MAS-Einrichtung verwendet wird;
  • Fig. 21 zeigt eine erste Ausführungsform eines ALB-Einganges gemäß der vorliegenden Erfindung;
  • Fig. 22 zeigt eine zweite Ausführungsform eines ALB-Einganges gemäß der vorliegenden Erfindung;
  • Fig. 23 zeigt eine dritte Ausführungsform eines ALB-Einganges gemäß der vorliegenden Erfindung;
  • Fig. 24 zeigt eine vierte Ausführungsform eines ALB-Einganges gemäß der vorliegenden Erfindung; und
  • Fig. 25 zeigt eine fünfte Ausführungsform eines ALB-Einganges gemäß der vorliegenden Erfindung, in der die ALB-Eingänge und die Berechtigung in getrennten Tabellen ermittelt werden.
  • Mehrfachadreßraum-Einrichtung (MAS) der vorliegenden Erfindung stellt eine Verbesserung des Leistungsmerkmals mit Doppeladreßräumen und des Zugriffsregistersystemes dar. Das MAS-Leistungsmerkmal ist so konzipiert, daß es kompatibel mit dem DAS-Leistungsmerkmal ist und zusätzlich zu diesem ausgeführt werden kann; außerdem verwendet es, mit gewissen Änderungen und Verbesserungen, größtenteils dieselben Tabellen- und Registeranordnungen wie das DAS-Leistungsmerkmal. Das System für die Zugriffsregisterumsetzung (ART) stellt eine Verbesserung dar, die die vollständige Nutzung des Zugriffsregistersystemes durch den Benutzer gestattet, während die Maschinenadressierungsfunktionen vom Benutzer isoliert und vor der Verarbeitung durch den Benutzer geschützt werden. Die Verwendung des ART-Umsetzpuffers (ALB) erhöht die Leistung der ART.
  • Ein Servicegeber besitzt üblicherweise einen oder mehrere Adreßräume mit Daten oder Programmen bzw. beidem, von denen der Servicegeber möchte, daß sie für Benutzer verfügbar sind. Der Servicegeber macht Programme für Benutzer verfügbar, indem er ihnen Programmaufrufnummern (PC-Nummern) zuordnet. Diese Zuordnung umfaßt die Erzeugung von Verbindungen für die Übertragung der Programmsteuerung, die Angabe der Berechtigungsmerkmale, die die Serviceanforderer benötigen, und die Zuordnung der Berechtigungsmerkmale der Programme des Servicegebers. Die Übertragung der Programmsteuerung kann zwischen verschiedenen Adreßräumen oder innerhalb desselben Adreßraumes erfolgen. In beiden Fällen kann hierdurch die Berechtigungsebene geändert werden, um eine erweiterte, eingeschränkte oder andere Berechtigung bereitzustellen. Der Servicegeber kann über eine andere Berechtigungsebene verfügen als der Aufrufer, so daß die Routinen des Servicegebers auf Daten in Adreßräumen zugreifen können, auf die der Aufrufer keinen Zugriff hat. Der Benutzer und der Servicegeber können auf alle Adreßräume in der Zugriffsliste zugreifen, die nicht als private Adreßräume bezeichnet wurden. Zusätzlich kann der Servicegeber auf ausgewählte Adreßräume zugreifen, auf die der Benutzer keinen Zugriff hat. Entsprechend kann dem Servicegeber der Zugriff auf ausgewählte Adreßräume verweigert werden, auf die der Benutzer zugreifen kann.
  • Die Ausführung einer Programmanweisung läßt sich in zwei Operationen unterteilen. Bei der ersten Operation wird die auszuführende Instruktion abgerufen. Bei der zweiten Operation werden die Operanden adressiert, die die Daten abrufen und speichern, die von der Instruktion während ihrer Ausführung verarbeitet werden. Bei einem MAS im AR-Modus wird die Instruktion aus dem Adreßraum abgerufen, der als Primäradreßraum festgelegt wurde. Für die Festlegung des Primäradreßraumes muß möglicherweise der Adreßraum gewechselt werden.
  • Fig. 1 zeigt die Verwendung eines Zugriffsregisters gemäß der vorliegenden Erfindung bei der Adressierung von Operanden. Der Prozeß, bei dem der Inhalt eines Zugriffsregisters verwendet wird, um einen STD für eine dynamische Adreßumsetzung zu erhalten, wird als Operation für die Zugriffsregisterumsetzung (ART- Operation) bezeichnet, die allgemein in Schritt 10 dargestellt wird. Eine Instruktion 12 verfügt über einen Operationscode, ein Feld B, das ein allgemeines Register 14 mit einer Basisadresse bezeichnet, und ein Versuch D, der bei Kombination mit der Basisadresse des Universalregisters 14 durch ein Addierglied 15 eine logische Adresse eines Speicheroperanden bildet. Im Zugriffsregistermodus bezeichnet das Feld B auch ein Zugriffsregister 16, das ein ALET enthält, das bei der Umsetzung an ART 10 den STD für den Adreßraum bereitstellt, in dem die Daten gespeichert sind. Der STD aus der ART 10 kann mit der logischen Adresse aus dem Addierglied 15 kombiniert werden; bei der gemeinsamen Umsetzung während der dynamischen Adreßumsetzungsoperation (DAT- Operation), die allgemein in Schritt 18 dargestellt wird, ergibt sich daraus die vom System verwendete reale Adresse des Operanden. Zusätzlich zum Feld B und der Distanz D aus Fig. 1 kann ein Feld R verwendet werden, um ein Universalregister zu bezeichnen, das eine logische Adresse eines Speicheroperanden enthält.
  • Die Verwendung eines Zugriffsregisters gemäß der vorliegenden Erfindung läßt sich weiter durch die folgende Verschiebungsinstruktion (MVC-Instruktion) erläutern:
  • MVC 0(L,1), 0 (2)
  • Der zweite Operand dieser Instruktion mit einer Länge L wird an die Position des ersten Operanden verschoben. Die logische Adresse des zweiten Operanden befindet sich im Universalregister 2, die logische Adresse der Position des Erstoperanden befindet sich im Universalregister 1. Der Adreßraum mit dem zweiten Operanden wird durch das ALET im Zugriffsregister 2 angegeben, der Adreßraum des Erstoperanden wird durch das ALET im Zugriffsregister 1 angegeben. Diese beiden Adreßräume müssen nicht identisch sein und können jeweils von dem aktuellen Adreßraum der Instruktion abweichen.
  • Fig. 2 gibt einen Überblick über die Umsetzung eines ALET in eine reale Adresse. 20 zeigt eine Anordnung von Universalregistern, die mit 0 bis 15 numeriert sind. Eine Anordnung 22 von Zugriffsregistern, die ebenfalls mit 0 bis 15 numeriert sind, wird so angeordnet, daß jedes Zugriffsregister paarweise einem der Universalregister der Anordnung 20 zugewiesen wird, wie dies oben mit Bezug auf Fig. 1 beschrieben wurde. Eine Nummer des Zugriffslisteneinganges (ALEN) im ALET wählt einen Eingang aus einer der Zugriffslisten 24 oder 25 aus. Die Zugriffsliste 24 ist dabei die DUAL, während die Zugriffsliste 25 die PSAL ist. In dem Beispiel aus Fig. 2 verweist die ALEN des Zugriffsregisters 2 auf Eingang 3 der PSAL 25. Der Ursprung der DUAL wird durch eine Bezeichnung für die Zugriffsliste der zuteilbaren Einheit (DUALD) 26 angegeben, die durch die Decodierung eines Einganges im Steuerregister 2 ermittelt wird, wie weiter noch beschrieben wird. Der Ursprung der PSAL wird durch eine Bezeichnung für die Zugriffsliste des Primäradreßraumes (PSALD) 27 angegeben, die durch die Decodierung eines Einganges im Steuerregister 5 ermittelt wird, wie weiter noch beschrieben wird. Die bei der ART verwendete Zugriffslistenbezeichnung wird als die tatsächliche Zugriffslistenbezeichnung (ALD) bezeichnet.
  • Jeder Eingang in der Zugriffsliste enthält eine ASTE-Adresse, die auf einen Eingang in der ASN-Sekundärtabelle (ASTE) 98 verweist, der in einer ASN-Sekundärtabelle (AST) 30 enthalten oder auch nicht enthalten sein kann. Ein ASTE kann vollkommen unabhängig davon erstellt werden und seine Funktion für die ART ausführen, ob er sich tatsächlich in einer AST befindet; ASTE, die von dem PC verwendet werden, müssen sich jedoch in einer AST befinden. Jeder ASTE hat Ahnlichkeit mit demjenigen in der DAS- Einrichtung und umfaßt einen STD-Wert für die Ermittlung der realen Adressen durch die DAT 18, wie mit Bezug auf Fig. 1 erläutert wurde.
  • Einem Programm stehen gleichzeitig zwei Zugriffslisten zur Verfügung, die jeweils für einen anderen Vollmachtsbereich stehen. Eine Zugriffsliste wird als Zugriffsliste der zuteilbaren Einheit (DUAL) und die andere als Zugriffsliste des Primäradreßraumes (PSAL) bezeichnet. Ein Bit im ALET ermittelt, ob die ALEN des ALET auf einen Eingang in der DUAL 24 oder in der PSAL 25 verweist. Alle Eingänge in den Zugriffslisten 24 und 25 können von Programmen verwendet werden.
  • Die DUAL-Domäne ist für eine permanente Zuordnung zu der zuteilbaren Einheit ("Task" oder "Prozeß") für das/die Programm(e) ausgelegt, die aufgrund der zuteilbaren Einheit ausgeführt werden. Jede zuteilbare Einheit im System verfügt über eine eindeutige DUAL. Die DUAL für eine zuteilbare Einheit wird auch dann nicht geändert, wenn diese Programme in vielen verschiedenen Adreßräumen ausführt. Die PSAL-Domäne ist einem Primäradreßraum zugeordnet. Alle in einem Primäradreßraum ausgeführten Programme verwenden die PSAL des betreffenden Adreßraumes. Auf diese Weise können Programme, die innerhalb eines Primäradreßraumes ausgeführt werden, gemeinsamen Zugriff auf eine gemeinsame Menge von Adreßräumen haben. Die PSAL ändert sich dann, wenn der Primäradreßraum sich ändert, z. B. beim Wechsel des Adreßraumes durch eine PC-Operation. Ein Benutzer mit einem gültigen ALET kann auf einen Zugriffslisteneintrag sowohl in der DUAL 24 als auch in der PSAL 25 zugreifen, wobei dieser Eintrag den gewünschten Adreßraum angibt. Es können auch andere Domänen auf eine ähnliche Weise mit dem ALET und ausgewählten Steuerregistern implementiert und gesteuert werden. So kann z. B. eine systemumfassende Zugriffslistendomäne (SWAL-Domäne) mit den Vollmachten aller Programme im System erstellt werden. Je nach den Erfordernissen können verschiedene Teilbereiche von Domänen erstellt werden, z. B. eine SASN-Domänenzugriffsliste (SSAL), um einen vorhandenen Mechanismus noch effektiver nutzen zu können.
  • Die Eingänge 0 und 1 der DUAL werden nicht genutzt, da die betreffenden ALET für den Zugriff auf Operanden in den Primäradreßraumen bzw. im AR-Adressierungsmodus in den Sekundäradreßräumen vorbehalten sind. Der Adressierungsmodus der CPU wird durch Bits des PSW dargestellt, wie weiter unten beschrieben wird. Wenn sich die CPU sich im AR-Adressierungsmodus befindet, bezieht sich ein ALET von Null stets auf den Primäradreßraum und ein ALET von Eins stets auf den Sekundäradreßraum. Dies geht aus Fig. 2 hervor, wobei im Feld 28 diese speziellen ALET identifiziert und die korrekten STD-Werte für die PASN und die SASN an die DAT bereitgestellt werden, wenn sie auftreten. Wenn sich die Zentraleinheit im Ausgangsadressierungsmodus befindet, dient der Ausgangsadreßraum als Quelle für die auszuführenden Instruktionen und für Daten. Der Ausgangsadreßraum ist als derjenige Adreßraum definiert, der über die Supervisor-Steuerinformationen für das ausgeführte Programm verfügt. Laut den Konventionen ordnet das Betriebssystem jedem Ausgangsadreßraum für den Datenzugriff die ALEN 2 zu; der STD-Wert für den Ausgangsadreßraum wird für einen solchen Zugriff durch die ART ermittelt. Da die STD- Werte für die Primär- und Sekundäradreßräume in den Steuerregistern 1 und 7 gespeichert werden (siehe Fig. 3), werden die Zugriffslisteneingänge 0 und 1 nicht genutzt. Entsprechend der Implementierung werden die Eingänge 0, 1 und 2 in der PSAL nicht genutzt und sind als ungültig gekennzeichnet.
  • Ein ART-Umsetzpuffer (ALB) 199 empfängt und rettet die Eingaben des AR 22, der AL 25 und der AST 30 und erhält so den STD-Wert aus der ART. Der ALB hält ferner die Zugriffslistenbezeichnung, d. h. DUAL oder PSAL. Wenn dasselbe ALET erneut verwendet wird, stellt der ALB 199 die korrekte Ausgabe direkt der DAT 18 zur Verfügung, so daß die ART nicht wiederholt werden muß.
  • Fig. 3 und 4 zeigen die Steuerregister und das PSW-Wort, mit denen Informationen für die Steuerung eines Programmes und über den Status der Zentraleinheit während der Ausführung von Instruktionen bereitgestellt werden.
  • Fig. 3 zeigt den Inhalt der Steuerregister 0 bis 15 für die MAS- Einrichtung der vorliegenden Erfindung. An dieser Stelle wird nicht der gesamte Inhalt der Steuerregister aus Fig. 3 erläutert, da die Funktionen der Mehrzahl der Steuerregister mit denen der Steuerregister der oben beschriebenen DAS-Einrichtung übereinstimmen und daher bereits bekannt sind. Daher werden hauptsächlich die Änderungen behandelt, die für die Bereitstellung der MAS-Einrichtung erforderlich sind. Eine 1 in Bit 15 des Steuerregisters Null gibt an, daß die Zentraleinheit sich im MAS-Modus befindet und das Steuerprogramm MAS unterstützt. Die MAS-Einrichtung umfaßt neue Formate für den Eintrag der Eingangstabelle, den Eintrag der ASN-Sekundärtabelle, die Verfügbarkeit eines Verbindungsstapels und die Fähigkeit, in den Zugriffsregistermodus zu wechseln.
  • Das Steuerregister 1 enthält die Bezeichnung für die Primärsegmenttafel (PSTD). Die Bits 1 bis 19 geben den Ursprung der Primärsegmenttafel (PSTO) an, während die Bits 25 bis 31 die Länge der Primärsegmenttafel (PSTL) bezeichnen. Die Bits 1 bis 25 des Steuerregisters 2 bezeichnen den Ursprung der Steuertabelle für die zuteilbare Einheit (DUCTO), die von der MAS-Einrichtung für die Lokalisierung der DUALD verwendet wird (siehe weiter unten). Die Bits 1 bis 25 des Steuerregisters 5 bezeichnen den Primär- ASTE-Ursprung (PASTEO). Wie weiter unten beschrieben wird, verweist der Eintrag im Steuerregister 5 auf den ASTE-Eingang für die Ermittlung des PSAL-Ursprungs und anderer Informationen aus dem ASTE für den Primäradreßraum.
  • Das Steuerregister 7 umfaßt die Bezeichnung für die Sekundärsegmenttabelle (SSTD) in einem Format, in dem die Bits 1 bis 19 den Ursprung der Sekundärsegmenttabelle (SSTO) und die Bits 25 bis 31 die Länge der Sekundärsegmenttabelle (SSTL) angeben. Die Bits 0 bis 15 des Steuerregisters 8 enthalten einen Index der erweiterten Berechtigung (EAX), der von der MAS-Einrichtung der vorliegenden Erfindung verwendet wird. Wie weiter unten beschrieben wird, kann der EAX gemäß Biteingängen im Eintrag der Eingangstabelle unter der Steuerung durch den Servicegeber so modifiziert werden, daß die Zugriffsberechtigung für Adreßräume für ein Programm geändert werden kann.
  • Das Steuerregister 13 enthält einen Verweis auf die Ausgangssegmenttabelle (HSTD), wobei die Bits 1 bis 19 den Ursprung der Ausgangssegmenttabelle (HSTO) und die Bits 25 bis 31 die Länge der Ausgangssegmenttabelle (HSTL) angeben. Die Bits 1 bis 28 des Steuerregisters 15 enthalten die Adresse eines in der letzten Verbindungsstapeloperation definierten Verbindungsstapeleinganges, der weiter unten beschrieben wird.
  • Fig. 4 zeigt das Format eines Programmstatusworts (PSW). Bits 5 des PSW ist ein DAT-Modusbit (T), das festlegt, ob die DAT 18 aus Fig. 1 und 2 aktiviert ist. Bits 16 und 17 werden kombiniert und geben den Adressierungsmodus an. Wenn die DAT aktiviert ist, legt die Kombination der Bits 16 und 17 fest, ob die Zentraleinheit sich im Primärmodus (00), im Sekundärmodus (10), im Zugriffsregistermodus (01) oder im Ausgangsmodus (11) befindet. Bits 32 des PSW ist eine Adressierungsmodusbit, das das Format der Instruktionsadresse in den Bits 33 bis 63 des PSW angibt. Funktion und Format der übrigen Felder des PSW sind hinreichend bekannt und hinreichend definiert für den Betrieb des Systems IBM/370.
  • Fig. 5 und 6 zeigen das Format des ALET und des Zugriffslisteneinganges, mit denen die Beziehung zwischen einem Zugriffsregister und einem Adreßraum definiert wird.
  • Fig. 5 zeigt das Format des ALET aus Fig. 2. Bits 7 des ALET ist ein Primärlistenbit; hat das Bit den Wert 1, bezieht sich die ALEN auf eine PSAL. Ist das Primärlistenbit 7 gleich 0, bezieht sich die ALEN auf die DUAL. Die Bits 16 bis 31 enthalten die ALEN aus Fig. 2. Wird die ALEN mit 16 multipliziert, ist das Produkt gleich der Anzahl der Byte vom Anfang der aktuellen Zugriffsliste bis zum angegebenen Zugriffslisteneintrag. Während der ART wird eine Ausnahmebedingung erkannt, wenn die ALEN einen Eintrag angibt, der sich nicht in der aktuellen Zugriffsliste befindet, oder wenn die 7 Bits vom linken Ende der ALEN nicht alle gleich Null sind. Der Zugriffslisteneintrag befindet sich außerhalb der aktuellen Zugriffsliste, wenn die ALEN auf eine Adresse verweist, die sich nach dem Ende der Zugriffsliste befindet, wie es durch die Zugriffslistenlänge (ALL) der aktuellen ALD angegeben wird. Die ALL wird weiter unten mit Bezug auf Fig. 14 erläutert. Das beschriebene Format des ALETs ist nicht anwendbar, wenn das ALET 00000000 oder 00000001 (Hexadezimalschreibweise) ist, da diesen Werten im ART-Prozeß eine spezielle Bedeutung zugewiesen wurde.
  • Ein ALET kann in einem Zugriffsregister, in einem Universalregister oder im Speicher vorhanden und ist nicht gegen die Manipulation durch das Anwendungsprogramm des Benutzers geschützt. Durch Instruktionen kann ein beliebiges Programm den Wert eines ALET zwischen Zugriffsregistern, Universalregistern und dem Speicher hin- und herübertragen. Ein aufgerufenes Programm kann den Inhalt des Zugriffsregisters in einem beliebigen Speicherbereich retten, auf den es Zugriff hat, es kann die Zugriffsregister für seine eigenen Zwecke laden und verwenden und anschließend den ursprünglichen Inhalt der Zugriffsregister wiederherstellen, bevor es zum Aufrufer zurückkehrt. Die Bits 8 bis 15 des ALET enthalten eine Folgenummer für den Zugriffslisteneingang (ALESN). Da der ALET nicht vor dem Anwendungsprogramm geschützt ist, und ein Benutzer seinen Inhalt möglicherweise unbeabsichtigt zu einem beliebigen Wert ändert, enthält das ALET die ALESN als Zuverlässigkeitsmechanismus, der während einer ART überprüft wird.
  • Fig. 6 zeigt das Format eines Zugriffslisteneinganges (ALE). Bit 0 des ALE ist ein Ungültigkeits-Bit, das anzeigt, das der ALE nicht gültig ist. Bit 7 ist ein Privat-Bit; wenn es gleich 0 ist, gibt es an, daß dieser Zugriffslisteneintrag von einem beliebigen Programm in einer ART-Operation verwendet werden kann. Wenn das Bit 7 den Wert 1 hat, wird mit einem Wert für den Index der erweiterten Berechtigung für eine Zugriffsliste (ALEAX) in den Bits 16 bis 31 des ALE ermittelt, ob ein aufrufendes Programm berechtigt ist, diesen Zugriffslisteneintrag zu verwenden. Der ALE umfaßt einen ALESN-Wert in den Bits 8 bis 15, der mit dem ALESN-Wert des bezeichnenden ALET verglichen wird, (siehe Erläuterungen zu Fig. 5, um eine Gültigkeitsprüfung durchzuführen. Die Bits 65 bis 89 des ALE enthalten die entsprechende ASTE-Adresse des zugeordneten Adreßraumes. Eine ASTE-Folgenummer (ASTESN) befindet sich in den Bits 96 bis 126 des ALE und wird für eine Gültigkeitsprüfung für einen ASTE-Eingang verwendet, wie weiter unten erläutert wird.
  • Die Eingänge in den Zugriffslisten 24 und 25 sollen durch das Steuerprogramm bereitgestellt werden, so daß sie vor der direkten Verarbeitung durch ein beliebiges Anwendungsprogramm geschützt sind. Dieser Schutz kann durch eine Schlüsselsteuerung erfolgen, oder indem die Zugriffslisten in den Realspeicher gestellt werden, auf den Anwendungsprogramm durch die DAT keinen Zugriff haben. Wie durch Bit 0 im Eingang bestimmt wird, ist ein ALE entweder gültig oder nicht gültig. Ein gültiger ALE gibt einen Adreßraum an, der durch ein Programm mit einer entsprechenden Berechtigung für den Zugriff auf diesen Adreßraum verwendet werden kann. Ein ungültiger ALE steht für die Zuordnung oder die erneute Zuordnung als gültiger Eingang zur Verfügung. Das Steuerprogramm stellt einen Service bereit, der gültige ALE zuordnet und zuvor zugeordnete ALE ungültig macht.
  • Die Zuordnung eines ALE besteht aus den folgenden Schritten. Ein Anwendungsprogramm übergibt die Identifizierung eines Adreßraumes an das Steuerprogramm und außerdem einen Anzeiger, der die DUAL 24 oder die PSAL 25 spezifiziert. Diese Anzeige ist das Primärlistenbit 7 des ALET. Das Steuerprogramm überprüft dann die Berechtigung des Anwendungsprogrammes für den Zugriff auf den Adreßraum, wie weiter unten beschrieben wird. Wenn das Anwendungsprogramm zugriffsberechtigt ist, wählt das Steuerprogramm einen ungültigen Eintrag aus der angegebenen Zugriffsliste aus, ändert ihn zu einem gültigen Eintrag, fügt die ASTE-Adresse und die ASTESN für den betreffenden Adreßraum hinzu, und gibt anschließend dem Anwendungsprogramm den Wert eines ALET für den aktuellen zugeordneten ALE zurück. Das Anwendungsprogramm kann dann das neue ALET in ein Zugriffsregister stellen, um auf den Adreßraum zuzugreifen. Zu einem späteren Zeitpunkt kann der zugeordnete ALE mit einem speziellen Service des Steuerprogrammes wieder ungültig gemacht werden.
  • Auf diese Weise kann ein bestimmter ALE zugeordnet, ungültig gemacht und anschließend erneut zugeordnet werden, wobei er einen anderen Adreßraum als in der ursprünglichen Zuordnung angibt. Um eine irrtümliche Verwendung eines ALET, der einen in konzeptioneller Hinsicht falschen Adreßraum bezeichnet, durch den Benutzer zu vermeiden, wird die ALESN sowohl im ALE als auch im ALET gespeichert. Wenn das Steuerprogramm einen ALE zuordnet, stellt es dieselbe ALESN sowohl in den ALE als auch in das zugeordnete ALET, das es an das Anwendungsprogramm zurückgibt. Wenn das Steuerprogramm ein ALE erneut zuordnet, ändert es den Wert der ALESN in dem erneut zugeordneten ALE so, daß der Wert der ALESN des zuvor bezeichneten ALET nicht mehr mit der ALESN des neuen ALE übereinstimmt.
  • Obwohl der ASTESN-Teilbereich des ALE weiter unten in Zusammenhang mit dem ASTE und den zugehörigen Figuren behandelt werden wird, muß an diese Stelle erwähnt werden, daß der Vergleich des ASTESN-Wert im ALE mit dem Wert des ASTE den Mechanismus darstellt, mit dem die Berechtigung des ALE für einen Verweis auf den ASTE bestätigt wird. Auf diese Weise kann ein ASTE erneut zugeordnet werden, und eine andere ASTESN kann für die Steuerung seiner Verwendung bestimmt werden, ohne daß alle ALE-Einträge zurückverfolgt werden müssen, die auf den ASTE Bezug genommen haben. Durch die ASTESN muß das Steuerprogramm nicht jedes Programm oder jede zuteilbare Einheit merken, das/die den ASTE verwenden konnte. So kann die Berechtigung geändert werden, indem die ASTESN und Ausnahmebedingungen oder Unterbrechungen geändert werden, die bei einem Versuch erzeugt werden, den ASTE ohne die korrekte ASTESN zu verwenden. Hierdurch kann das Betriebssystem Versuche erkennen, auf den ASTE mit einer Vollmacht zuzugreifen, die in einem ALE erteilt wurde, bevor die ASTESN geändert wurde. Das Betriebssystem verfügt so über einen Mechanismus, um einen ASTE gefahrlos für einen neuen und/oder anderen Adreßraum verwenden zu können, oder um die Berechtigung der aktuellen Benutzer eines vorhandenen Adreßraumes für die Verwendung des ASTE wieder gültig machen zu können.
  • Die Fig. 7, 8 und 10 zeigen die Formate von Eingängen in der Verbindungstabelle, der Eingangstabelle und dem Verbindungsstapel. Diese Tabellen werden gemäß der vorliegenden Erfindung verwendet, um eine Verbindung für die Steuerungsübertragung zwischen Programmen in demselben oder in verschiedenen Adreßräumen zu ermöglichen.
  • Wie weiter oben bereits beschrieben wurde, gibt eine PC-Nummer die jeweilige PC-Routine an, die das System aufrufen soll, und wird durch einen Servicegeber bereitgestellt. Jeder Servicegeber, der PC-Routinen bereitstellt, besitzt eine oder mehrere Eingangstabellen, in denen seine Routinen definiert sind. Die Eingangstabellen sind mit Verbindungstabellen derjenigen Adreßräume verbunden, die Zugriff auf die PC-Routinen erfordern. Jeder Eingang in einer Eingangstabelle definiert eine PC-Routine, einschließlich des betreffenden Eingangspunktes, der Betriebsmerkmale, und ob es sich bei der PC-Instruktion um einen Stapel- PC handelt. Fig. 7 zeigt das Format eines Verbindungstabelleneintrages, wobei jeder Eintrag ein Ungültigkeitsbit bei Bit 0, einen Eingangstabellenursprung (ETO) und eine Eingangstabellenlänge (ETL) enthält, die zusammen einen Eingangstabellenverweis definieren.
  • Fig. 8 zeigt das Format eines Einganges der Eingangstabelle, auf die durch den Verbindungstabelleneingang aus Fig. 7 verwiesen wird. Die Bits 0 bis 15 des Einganges der Eingangstabelle enthalten eine Berechtigungsschlüsselmaske (AKM), mit der verifiziert wird, ob das die PC-Instruktion ausgebende Programm, wenn es sich im Anwendungsstatus befindet, dazu berechtigt ist, diesen Eingangspunkt aufzurufen. Die Bits 16 bis 31 enthalten eine Eingangsadreßraumnummer (EASN), die angibt, ob ein PC-ss oder ein PC-cp vorgenommen werden soll. Wenn die EASN ausschließlich aus Nullen besteht, wird ein PC-cp angegeben; wenn die EASN nicht ausschließlich aus Nullen besteht, wird eine PC-ss angegeben, und die EASN bestimmt die Adreßraumnummer (ASN), die die Primär-ASN (PASN) ersetzt. Bit 32 ist ein Bit für den Adressierungsmodus, das als Teil der PC-Operation das Bit für den Adressierungsmodus im PSW ersetzt. Die Instruktionsadresse des Einganges ist diejenige Instruktionsadresse, die als Teil der PC- Operation die Instruktionsadresse im PSW ersetzt. Bit 63 ist ein Anwendungsstatusbit des Einganges, das das Anwendungsstatusbit 15 des aktuellen PSW als Teil der PC-Operation ersetzt. Die Bits 64 bis 95 sind ein Eingangsparameter, der als Teil der PC-Operation in das Universalregister 4 gestellt wird. Die Bits 96 bis 111 sind eine Eingangsschlüsselmaske (EKM), die je nach dem Wert des M-Bit ODER-verknüpft werden oder den Inhalt des Steuerregisters 3 ersetzen können, wie weiter unten beschrieben wird. Bit 128 ist ein PC-Type-Bit (T), das bei einem Wert gleich 1 angibt, daß die Instruktion für den Programmaufruf eine Stapeloperation durchführen soll. Bit 131 ist eine PSW-Schlüsselsteuerung (K), das bei einem Wert gleich 1 angibt, daß der Eingangsschlüssel (EK) der Bits 136 bis 139 als Teil der PC-Stapeloperation den PSW-Schlüssel im PSW ersetzen soll. Wenn das K-Bit den Wert 0 hat, wird der PSW-Schlüssel nicht geändert. Bit 132 ist eine PSW-Schlüsselmaskensteuerung (M), das bei einem Wert gleich 1 angibt, daß die EKM als Teil der PC-Stapeloperation die PSW- Schlüsselmaske im Steuerregister 3 ersetzen soll. Wenn dieses Bit gleich 0 ist, wird als Teil der PC-Stapeloperation eine ODER-Verknüpfung der EKM mit der PSW-Schlüsselmaske im Steuerregister 3 durchgeführt. Bit 133 ist eine Steuerung für den Index der erweiterten Berechtigung (E), das bei einem Wert gleich 1 angibt, daß der Eingang EAX der Bits 144 bis 159 als Teil der PC-Stapeloperation den aktuellen EAX in Steuerregister 8 ersetzt. Wenn das E-Bit gleich 0 ist, wird der aktuelle EAX im Steuerregister 8 nicht geändert. Bit 134 ist eine Steuerung für die Adreßraumsteuerung (C), das bei einem Wert gleich 1 angibt, daß Bit 17 des aktuellen PSW als Teil der PC-Stapeloperation den Wert 1 erhalten soll. Wenn dieses Bit gleich 0 ist, erhält das Bit 17 des aktuellen PSW ebenfalls den Wert 0. Da sich die Zentraleinheit entweder im Primäradreßraummodus oder im Zugriffsregistermodus befinden muß, wenn eine PC-Stapeloperation ausgegeben wird, wird die Zentraleinheit aufgrund des C-Bits in den Zugriffsregistermodus gesetzt, wenn das Bit 134 gleich 1 ist, oder sie wird in den Primäradreßraummodus gesetzt, wenn das Bit 134 gleich 0 ist. Bit 135 ist eine Sekundär-ASN-Steuerung (S), das bei einem Wert gleich 1 angibt, daß als Teil der PC-ss-Stapeloperation die EASN der Bits 16 bis 31 als neue Sekundär-ASN verwendet werden sollen, und daß ein neuer Verweis auf die Sekundärsegmenttabelle (SSTD) gleich dem neuen Verweis der Primärsegmenttabelle (PSTD) gesetzt werden soll. Wenn dieses Bit gleich 0 ist, werden die neuen Nummern für den Sekundäradreßraum (SASN) und die SSTD gleich der alten Nummer für den Primäradreßraum (PASN) bzw. der PSTD des aufrufenden Programmes gesetzt. Wenn die EASN nicht ausschließlich aus Nullen besteht, bildet die ASTE-Adresse der Bits 161 bis 185 mit sechs Nullen, die rechts angefügt werden, die reale ASTE-Adresse, die sich aus der Anwendung der ASN-Umsetzung der EASN ergibt. Die EASN- und ASTE- Adreßeinträge in dem Eintrag der Eingangstabelle verweisen also auf einen Eingang in der AST 30, die den STD enthält, wie in Bezug auf Fig. 2 beschrieben wurde. Es läßt sich nicht vorhersagen, ob eine ASN-Umsetzung des EASN durchgeführt wird, um die ASTE-Adresse zu erhalten, oder ob die ASTE-Adresse der Bits 161 bis 185 verwendet wird, um den betreffenden ASTE zu lokalisieren. Die Zentraleinheit kann die letztgenannte Operation durchführen, um eine höhere Leistung zu erzielen.
  • Fig. 9 zeigt einen Verbindungsstapel 35, der vom Steuerprogramm für jede einzelne zuteilbare Einheit erzeugt werden kann. Der Verbindungsstapel wird verwendet, um den Ausführungsstatus sowie den Inhalt der Universalregister und Zugriffsregister während einer Stapeloperation zu retten. Der Verbindungsstapel wird außerdem verwendet, um einen Teil des Ausführungsstatus sowie des Inhalts des Universalregisters und des Zugriffsregisters während einer Rückkehroperation wiederherzustellen. Verbindungsstapel sind im virtuellen Speicher gespeichert, wobei sich der Verbindungsstapel für eine zuteilbare Einheit im Ausgangsadreßraum für diese zuteilbare Einheit befindet. Wie im Zusammenhang mit den Steuerregistern aus Fig. 3 beschrieben wurde, wird der auf Ausgangsadreßraum durch die HSTD im Steuerregister 13 verwiesen. Hierdurch sind die Informationen im Verbindungsstapel geschützt und können bei einem Fehler im Adreßraum des Benutzers wiederhergestellt werden.
  • Der Verbindungsstapel soll vor dem Zugriff durch Anwendungsprogramme geschützt sein, so daß diese Programme die in dem Verbindungsstapel gespeicherten Informationen mit Ausnahme durch spezifische Extrahierungs- und Modifizierungsinstruktionen nicht überprüfen oder modifizieren können. Der Verbindungsstapel 35 kann aus einer Anzahl von Abschnitten 36, 37 und 38 des Verbindungsstapels bestehen, die durch Vorwärtszeiger und Rückwärtszeiger verkettet sind.
  • Es gibt drei Arten von Einträgen im Verbindungsstapel: Kopfeintrag 40 mit einem Rückwärtszeiger, Schlußeinträge 42 mit einem Vorwärtszeiger und Statuseinträge 43 (siehe Abschnitt 36 des Verbindungsstapels). Ein Kopf- und ein Schlußeintrag befinden sich am Anfang bzw. am Ende eines Abschnittes des Verbindungsstapels und verketten die einzelnen Abschnitte des Verbindungsstapels miteinander. Kopf- und Schlußeinträge werden durch das Steuerprogramm erzeugt; ein Statuseintrag mit dem Ausführungsstatus und dem bei den Stapeloperationen gespeicherten Registerinhalten wird hinzugefügt. Die Adresse für den Eingang des Verbindungsstapels im Steuerregister 15 verweist entweder auf den aktuellen Statuseintrag 44 oder, wenn der letzte Statuseingang in einem Abschnitt vom Stapel genommen wurde, auf den Kopfeintrag des aktuellen Abschnittes. Fig. 10 zeigt den Inhalt des Statuseintrages für einen Verbindungsstapel, der für eine PC- Stapeloperation die Inhalte der Universalregister, die Inhalte der der Zugriffsregister, die PSW-Schlüsselmaske, die Nummer für den Sekundäradreßraum, den EAX aus Steuerregister 8, die Nummer für den Primäradreßraum und den Inhalt des PSW enthält; diese gesamten Informationen sowie die verwendete PC-Nummer befinden sich am Anfang der Stapelinstruktion. Bei einer Instruktion BRANCH AND STACK (siehe unten) werden anstelle der PC-Nummer das Bit für den Adressierungsmodus und die Verzweigungsadresse gespeichert.
  • Die Länge der verschiedenen Eintragsarten eines Verbindungsstapels beträgt jeweils ein Vielfaches von acht Byte. Kopf- und Schlußeinträge haben jeweils eine Länge von 16 Byte. Ein Statuseintrag hat eine Länge von 168 Byte (siehe die Nummern in Fig. 10). Am Ende der verschiedenen Eintragsarten befindet sich ein acht Byte umfassender Eingangsdeskriptor (siehe Fig. 10, Nummer 46, für einen Statuseintrag eines Verbindungsstapels)
  • Bit 0 des Eingangsdeskriptors ist ein Bit für die Entstapelungsunterdrückung (U). Wenn Bit U des Eingangsdeskriptors eines Kopf- oder Statuseintrages den Wert 1 hat, wird während des Stapelabbauprozesses in PROGRAM RETURN eine Ausnahmebedingung für die Stapeloperation erkannt. Bit U des Eingangsdeskriptors eines Statuseintrages wird auf 0 gesetzt, wenn der Eintrag während eines Stapelprozesses erzeugt wird.
  • Die Bits 1 bis 7 des Eingangsdeskriptors sind ein Code für die Eingangsart (ET), der die Art des Eintrages für den Verbindungsstapel angibt, der den Eingangsdeskriptor enthält. Die Codes lauten:
  • 0000001 Kopfeintrag
  • 0000010 Schlußeintrag
  • 0000100 Statuseintrag der Verzweigung
  • 0000101 Statuseintrag für den Programmaufruf.
  • Die Bits 8 bis 15 des Eingangsdeskriptors sind ein Abschnittsverweis (SI), der vom Steuerprogramm bereitgestellt wird. In dem durch einen Stapelprozeß erzeugten Eintrag setzt der Prozeß den Wert der SI auf den der SI des vorhergehenden Eintrages des Verbindungsstapels. Die Bits 16 bis 31 des Eingangsdeskriptors bilden das Feld für den verbleibenden freien Platz (RFS), der die Anzahl der Byte zwischen dem Ende dieses Eintrages und dem Anfang des Schlußeintrages in demselben Abschnitt des Verbindungsstapels angibt. Die Bits 32 bis 47 des Eingangsdeskriptors bilden das Feld für die Größe des nächsten Eintrages (NES), das die Größe des nächsten Eintrages des Verbindungsstapels in demselben Abschnitt des Verbindungsstapels in Byte angibt, sofern dieser kein Schlußeintrag ist.
  • Wenn in dem Verbindungsstapel während des Stapelprozesses ein neuer Statuseintrag erzeugt wird, wird er unmittelbar nach dem Eingangsdeskriptor des aktuellen Eintrages des Verbindungsstapels gesetzt, sofern ausreichend freier Platz für den neuen Eintrag im aktuellen Abschnitt des Verbindungsstapels vorhanden ist. Wenn im aktuellen Abschnitt nicht ausreichend freier Platz vorhanden ist und wenn der Schlußeintrag in dem aktuellen Abschnitt angibt, daß nach dem aktuellen Abschnitt ein weiterer Abschnitt folgt, wird der neue Eintrag unmittelbar nach den Eingangsdeskriptor des Kopfeinganges dieses darauffolgenden Abschnittes gesetzt, sofern in diesem Abschnitt ausreichend freier Platz vorhanden ist. Wenn der Schlußeintrag angibt, daß kein Abschnitt mehr folgt, wird eine Ausnahmebedingung erkannt, und das Programm wird unterbrochen. Das Steuerprogramm ordnet in diesem Fall einen anderen Abschnitt zu, verbindet ihn mit dem aktuellen Abschnitt und veranlaßt, daß die Stapeloperation erneut ausgeführt wird. Wenn ein Abschnitt folgt, jedoch nicht ausreichend freier Platz vorhanden ist, wird eine Ausnahmebedingung erkannt.
  • Wenn die Stapeloperation erfolgreich einen neuen Statuseintrag 44 erzeugt hat, aktualisiert sie die Adresse für den Eintrag des Verbindungsstapels im Steuerregister 15, so daß die Adresse das äußerste linke Byte des Eingangsdeskriptors des neuen Eintrages bezeichnet, das so zum neuen aktuellen Eintrag des Verbindungsstapels wird. Wenn während des Stapelprozesses ein Statuseintrag erzeugt wird, werden in das Feld NES des erzeugten Eintrages Nullen eingetragen, und die Länge des erzeugten Statuseintrages wird in das Feld NES des vorhergehenden Eintrages eingetragen. Während einer Rückkehroperation wird die Inhalte der Universalregister, der Zugriffsregister und die verschiedenen Inhalte der Steuerregister aus dem Statuseingang 44 des Verbindungsstapels wiederhergestellt; die Adresse für den Eintrag des Verbindungsstapels im Steuerregister 15 wird so geändert, daß sie auf den vorhergehenden Eintrag des Verbindungsstapels verweist. Wenn der Statuseintrag während des Stapelabbauprozesses einer Rückkehroperation logisch gelöscht wird, werden in das Feld NES des vorhergehenden Eintrages Nullen eingetragen. Auf diese Weise können mit einem Verbindungsstapel die Betriebsumgebung und Berechtigungsebene des aufrufenden Programmes wiederhergestellt werden, wenn die Programmsteuerung durch eine Rückkehrinstruktion von dem aufgerufenen Programm zurückgegeben wird. So kann die Verbindungsoperation sowohl an den Anfangspunkt zurückverfolgt werden, als auch gegenüber dem Benutzer erzwungen werden, so daß keine ungültigen Änderungen vorgenommen werden können.
  • Das Steuerprogramm ordnet jedem Adreßraum, der Programme enthält, eine ASN-Nummer zu. Die ASN kann bei einer PC-ss-Operation umgesetzt werden, wie dies für die DAS-Einrichtung beschrieben wurde. Da sich die ASTE-Adresse jedoch in dem ETE befindet (siehe Fig. 8), kann der Zugriff auf den ASTE bei einer PC-ss-Operation ohne ASN-Umsetzung direkt über den ETE erfolgen. Das Steuerprogramm ordnet jeder ASN einen STD, eine AT und eine Verbindungstabelle zu, indem es Zeiger in dem ASTE setzt, der dem Adreßraum zugeordnet ist. Der Zugriff auf die Daten in diesen Adreßräumen ist auch möglich, indem das Steuerprogramm einen Zugriffslisteneingang erzeugt, der auf den ASTE verweist. Bestimmte Adreßräume können nur Daten, keine Programme enthalten. Diese Adreßräume verfügen nicht über ASNs. Im Falle, daß nur Daten vorliegen, werden lediglich Füllzeichen, lediglich ASTE, STD, AT und ALE verwendet.
  • Die Fig. 11 und 12 zeigen das Format der Einträge der ASN-Primärtabelle bzw. der ASN-Sekundärtabelle und weisen große Ahnlichkeit mit denen der oben beschriebenen DAS-Einrichtung auf. Jeder Eintrag der ASN-Tabellen aus den Fig. 11 und 12 steht für einen Adreßraum und wird von einem Steuerprogramm erzeugt, um eine Verbindung herzustellen und eine Berechtigung für die Adressierbarkeit des zugeordneten Adreßraumes zu erteilen.
  • Fig. 12 zeigt das Format eines ASTE. Bit 0 des ASTE ist ein Ungültigkeitsbit und gibt an, ob der ASTE gültig ist. Der Berechtigungstabellenursprung (ATO) und die Berechtigungstabellenlänge (ATL) geben den Berechtigungstabellenverweis (ATD) auf die zugeordneten Berechtigungstabelle an. Die Bits 96 bis 127 enthalten den zugeordneten Verbindungstabellenverweis (LTD), und die Bits 128 bis 160 enthalten den zugeordneten Zugriffslistenverweis. Die Bits 160 bis 191 enthalten eine ASTE-Folgenummer (ASTESN) für den ASTE. Da der ASTE bei der Erzeugung und Löschung von Adreßräumen durch das Steuerprogramm neu zugeordnet werden kann, wird jedem neu erzeugten ASTE eine neue, eindeutige ASTESN zugewiesen. Bei einer ART-Operation wird die ASTESN in der Zugriffsliste mit der ASTES des ASTE verglichen, um dessen Gültigkeit zu überprüfen, so daß der ASTE gefahrlos für einen anderen Adreßraum oder eine andere Berechtigung wiederverwendet werden kann.
  • Fig. 13 zeigt eine Berechtigungstabelle, die den einzelnen ASTE zugeordnet wird. Entsprechend der DAS-Einrichtung hat jeder Berechtigungstabelleneintrag ein P-Bit und ein S-Bit. Die Einträge in der Berechtigungstabelle werden so indiziert, daß es für jeden EAX-Wert, der für den Zugriff auf den zugehörigen Adreßraum verwendet wird, einen Eingang in der Berechtigungstabelle gibt. Wie weiter unten beschrieben wird, läßt sich mit dem Eintrag der Berechtigungstabelle, der dem EAX-Wert im Steuerregister 8 entspricht, ermitteln, ob ein Programm auf den Adreßraum zugreifen darf, der dem ASTE zugeordnet ist.
  • Fig. 14 zeigt das Format der Steuertabelle für die zuteilbare Einheit (DUCT), deren Adresse, wie weiter oben beschrieben, im Steuerregister 2 gespeichert ist. Die Bezeichnung für die Steuertabelle für die zuteilbare Einheit ist in den Byte 16 bis 19 des ETE gespeichert. Die übrigen Byte der DUCT werden für die MAS-Einrichtung nicht verwendet und an dieser Stelle nicht weiter erläutert.
  • Die Instruktion PROGRAM CALL wurde erweitert, um eine funktionale Verbesserung der Verbindungseinrichtung zu erzielen. Wenn das Bit T, d. h. Bit 128, des ETE (siehe Fig. 8) gleich Eins ist, wird als Reaktion auf eine Instruktion PROGRAM CALL eine Stapeloperation PROGRAM CALL ausgeführt. Eine Stapeloperation PROGRAM CALL (Stapel-PC) ist durch die Berechtigungsschlüsselmaske in einem Eintrag der Eingangstabelle berechtigt, an einem Punkt in der Eingangstabelle zu beginnen. Ein Stapel-PC, der u. a. über eine Funktion für den Adreßraumwechsel verfügt, kann einen neuen (dem neuen Programm zugeordneten) EAX in das Steuerregister 8 stellen. Der Stapel-PC speichert die Inhalte der Universalregister 0 bis 15, die Inhalte der Zugriffsregister 0 bis 15, das vollständige PSW mit der aktualisierten Instruktionsadresse (d. h. der Rückkehradresse), die Primär- und Sekundär-ASN, die PKM, den EAX, einen Anzeiger, daß der Eingang durch PROGRAM CALL erzeugt wurde, die verwendete PC-Nummer und einen zwei Wörter umfassenden modifizierbaren Bereich in dem Eintrag. Mit dem modifizierbaren Bereich kann ein Programm, seinen Verlauf zurückverfolgen, so daß bei einem Fehler im Programm geeignete Fehlerbehebungsmaßnahmen durchgeführt werden können.
  • Die Verbindungsfunktion wurde mit zwei neuen Instruktionen verbessert:
  • BRANCH AND STACK
  • PROGRAM RETURN
  • Die Instruktion BRANCH AND STACK ändert die Instruktionsadresse im PSW und erzeugt einen Statuseintrag, der im Verbindungsstapel aus Fig. 9 als Statuseintrag der Verzweigung bezeichnet wird. Der Statuseintrag der Verzweigung entspricht einem Statuseintrag für den Programmaufruf, zeigt jedoch an, daß er durch BRANCH AND STACK erzeugt wurde und enthält anstelle der PC-Nummer die Verzweigungsadresse. Die Instruktion BRANCH AND STACK kann entweder im aufrufenden Programm oder am Eingangspunkt (oder in der Nähe des Eingangspunktes) des aufgerufenen Programmes verwendet werden. Durch die Verwendung einer Instruktion BRANCH AND STACK kann der Verbindungsstapel ohne Änderung vorherig aufgerufener Programme verwendet werden.
  • Die Instruktion PROGRAM RETURN gestattet die Rückkehr von einer vom Programm bestimmten Steuerung mit einer Stapelinstruktion PROGRAM CALL oder BRANCH AND STACK. Mit PROGRAM RETURN wird der letzte Statuseintrag des Verbindungsstapels logisch gelöscht, wobei dieser entweder ein Statuseintrag für den Programmaufruf oder ein Statuseingang der Verzweigung sein kann. Wenn es sich um einen Statuseintrag für den Programmaufruf handelt, stellt PROGRAM RETURN alle in dem Eingang gespeicherten Statusinformationen sowie die Inhalte der Universalregister 2 bis 14 und der Zugriffsregister 2 bis 14 wieder her. Die Universal- und Zugriffsregister 0, 1 und 15 werden durch PROGRAM RETURN nicht geändert. Wenn es sich um einen Statuseintrag der Verzweigung handelt, stellt PROGRAM RETURN lediglich das vollständige PSW (mit der erwähnten Ausnahme) und die Inhalte der Universalregister 2 bis 14 und der Zugriffsregister 2 bis 14 wieder her. Das PER-Maskenbit R aus Fig. 4 wird durch die PR-Operation jedoch nicht wiederhergestellt. Die Kombination einer Stapelinstruktion PROGRAM CALL und PROGRAM RETURN ermöglicht die nicht hierarchische Verbindung von Programmen, d. h. die Verbindung eines Programmes mit einer bestimmten Berechtigung mit einem Programm mit einer eingeschränkteren, erweiterten oder völlig anderen Berechtigung.
  • Fig. 15, 16 und 17 zeigen dem logischen Fluß der Schritte, die für die Ausführung einer PC-Stapeloperation erforderlich sind. Wie offensichtlich ist, kann der logische Fluß der Fig. 15, 16 und 17 auch für die Ausführung einer Instruktion DAS PROGRAM CALL verwendet werden. Aus den Textinformationen in den Abbildungen geht hervor, wie die verschiedenen Werte für die Adressenerzeugung mathematisch verarbeitet werden können. Wenn im Hinblick auf Fig. 3 das Bit 15 des Steuerregisters 0 (CR 0.15) gleich Null ist, weist der ETE 16 Byte auf, und es kann lediglich eine Operation DAS PROGRAM CALL ausgeführt werden. Wenn CR 0.15 den Wert Eins hat, weist der ETE 32 Byte auf, und das ETE- Bit 128 steuert die Ausführung eines DAS-PC oder eines Stapel- PC.
  • Fig. 15 ist ein Logikflußdiagramm der Operation zur Umsetzung der PC-Nummer durch einen Programmaufruf. Bei CR 0.15 = 1 wird der ASTE abgerufen, auf den durch den PASTEO-Eingang im Steuerregister 5 verwiesen wird (siehe Fig. 3). Dieser Primär-ASTE enthält eine LTD in den Bits 96 bis 127 (siehe Fig. 12). Wenn es sich bei der Instruktion PROGRAM CALL um einen DAS PROGRAM CALL handelt (CR 0.15 = 0), befindet sich die LTD wie bei der normalen DAS-Operation im Steuerregister 5. Die Instruktion PROGRAM CALL 50 enthält einen LX 51 und einen EX 52, wie sie ähnlich im Zusammenhang mit der DAS-Einrichtung behandelt wurden. Der LX 51 ist durch eine Addieroperation 53 mit dem Verbindungstabellenursprung (LTO) 53 verbunden und ergibt die reale Adresse eines Verbindungstabelleneintrages 55. Der Eingangstabellenursprung (ETO) des Verbindungstabelleneintrages 55 wird durch eine Addieroperation 56 mit dem EX 52 verbunden und ergibt die reale Adresse eines Eingangtabelleneintrages (ETE) 57 in der Eingangstabelle.
  • Fig. 16 ist ein logischer Fluß der Schritte, die zusätzlich zu den in Fig. 15 enthaltenen Schritten durchgeführt werden, um eine Stapeloperation PROGRAM CALL TO CURRENT PRIMARY (PC-cp) und eine Stapeloperation PROGRAM CALL WITH SPACE SWITCHING (PC-ss) auszuführen. Wie weiter oben bereits beschrieben, wird eine Stapeloperation durchgeführt, wenn das Bit T 60 des ETE 57 gleich 1 ist. Zunächst wird der Wert der ARM 62 in Schritt 63 mit der PKM im Steuerregister 3 UND-verknüpft, wie sie vor der Ausführung der Instruktion PROGRAM CALL im Anwendungsstatus vorlag (siehe 64). Wenn die UND-Verknüpfungsoperation in Schritt 63 ausschließlich Nullen ergibt, darf die Instruktion PROGRAM CALL nicht an diesem Punkt ausgeführt werden, und die Operation PRO- GRAM CALL wird beendet. Wenn in der UND-Verknüpfungsoperation in Schritt 63 eines der Bits übereinstimmt, kann das Programm an diesem Eingang PROGRAM CALL ausführen, und die Operation wird fortgesetzt. Wenn PROGRAM CALL ausgeführt werden darf, werden das PSW bei 65, der EAX bei 66, die PKM 64, die SASN 68 und die PASN 69 mit den Werten, die sie vor PROGRAM CALL aufgewiesen haben, in den Verbindungsstapel gestellt. An dieser Stelle nicht abgebildet, werden außerdem die Inhalte der Universalregister, die Inhalte der Zugriffsregister und die PC-Nummer in den Verbindungsstapel gestellt (siehe Fig. 10). Das Bit für den Adressierungsmodus A und die Eingangsinstruktionsadresse werden bei 70 und 71 in den Schlüssel des PSW gestellt. Das P-Bit und das C-Bit des ETE 57 werden bei 72 und 73 in das PSW gestellt. Wenn das K-Bit gleich 1 ist, wird der Eingangsschlüssel des ETE 57 bei 74 in den Schlüssel des PSW gestellt. Wenn das E-Bit gleicht 1 ist, wird der Eingang EAX bei 75 in das Steuerregister 8 gestellt. Der Eingangsparameter (EP) wird bei 76 in das Universalregister 4 gestellt. Wenn das M-Bit des ETE 57 gleich 1 ist, ersetzt die Eingangsschlüsselmaske (EKM) bei 77 die PKM im Steuerregister 3. Wenn jedoch das M-Bit gleich 0 ist, wird die EKM durch die ODER-Verknüpfungsoperation 78 mit der PKM des Steuerregisters 3 ODER-verknüpft. Wenn eine PC-cp-Operation oder eine PC-ss-Stapeloperation ausgeführt wird und das 5-Bit gleich 0 ist, ersetzt die PASN bei 69 die SASN bei 79 im Steuerregister 3, und die PSTD bei 80 im Steuerregister 1 ersetzt die SSTD 81 im Steuerregister 7. Wenn eine PC-ss-Stapeloperation ausgeführt wird und das 5-Bit gleich 1 ist, wird die SASN im Steuerregister 3 durch die neue PASN und die SSTD im Steuerregister 7 durch die neue PSTD ersetzt. Nach diesen Operationen wird die ASN des ETE 56 bei 83 geprüft. Wenn die ASN gleich 0 ist, wird eine PC-cp- Operation ausgeführt und abgeschlossen. Wenn jedoch die ASN nicht gleich 0 ist, wird eine PC-ss-Operation ausgeführt, und der ASTE wird für den Zieladreßraum ermittelt.
  • Die Instruktion PROGRAM CALL kann den PSW-Schlüssel 74 mit EK (K-Bit = 1) ändern, um das Abrufen eines geschützten Codes der nächsten Instruktion zu ermöglichen.
  • Indem der EAX im Steuerregister 8 geändert wird (siehe 75), kann jedes Programm, mit dem die Aufgabe der zuteilbaren Einheit durchgeführt wird, unterschiedliche Berechtigungen für die Verwendung der ALE in der DUAL und der PSAL erhalten. Der EAX 75 im Steuerregister 8 kann mit PROGRAM CALL (E-Bit = 1) auf einen Wert gesetzt werden, der gleich dem EEAX ist. Der ursprüngliche EAX wird dann mit PROGRAM RETURN aus dem Verbindungsstapel wiederhergestellt. Auf diese Weise kann jedes Programm mit einem EAX ausgeführt werden, der in dem ETE angegeben ist, der für das Aufrufen des Programmes verwendet wird. Alternativ hierzu kann der EAX bei einer Aufrufverbindung (E-Bit = 0) unverändert erhalten bleiben, so daß das aufgerufene Programm dieselbe Berechtigung haben kann wie das betreffende aufrufende Programm.
  • Indem die PKM 77 im Steuerregister 3 mit PROGRAM CALL (M-Bit = 1) auf einen Wert gleich der EKM gesetzt wird, verfügt das aufgerufene Programm über eine PKM, die unabhängig von der PKM des aufrufenden Programmes ist. So kann das aufgerufene Programm z. B. im Hinblick auf die PSW-Schlüsselwerte, die es setzen kann, eine eingeschränktere Berechtigung haben als das aufrufende Programm. Alternativ hierzu kann die neue PKM 77, wenn gewünscht, auf einen Wert gleich der ODER-Verknüpfung der alten PKM 64 und der EKM (M-Bit = 0) gesetzt werden (siehe 78)
  • Indem die neue SASN und die neue SSTD auf einen Wert gleich der neuen PASN bzw. der neuen PSTD (S = 1) gesetzt werden, erhält das aufgerufene Programm über das ALET 00000001 (Hexadezimalschreibweise) nicht automatisch Zugriff auf den Primäradreßraum des Aufrufers (der Zugriff ist durch einen ALE oder die Instruktion DAS SET SECONDARY ASN auch dann noch möglich). Auch auf diese Weise läßt sich erreichen, daß das aufgerufene Programm über eine eingeschränktere Berechtigung verfügt als das aufrufende Programm. Alternativ hierzu können die neue SASN 79 und die neue SSTD 81 auf einen Wert gesetzt werden, der gleich der alten PASN 69 bzw. der alten PSTD 80 (5-Bit = 0) ist.
  • Fig. 17 zeigt einen logischen Fluß der Schritte, einer ASN-Umsetzung. Wie bei der DAS-Einrichtung wird jedem Adreßraum mit Programmen eine ASN zugeordnet, deren Wert im Schritt 90 des entsprechenden ETE 57 gespeichert wird. Ebenso wie bei der DAS- Einrichtung besteht die ASN 90 ferner aus zwei Nummern, einem AFX 91 und einem ASX 92. Das Steuerregister 14 enthält einen ASN-Primärtabellenursprung (AFTO) 93, der bei einer Verbindung mit dem AFX 91 durch eine Addieroperation 94 die reale Adresse eines AFTE 95 in der ASN-Primärtabelle ergibt. Der AFTE 95 enthält einen ASN-Sekundärtabellenursprung (ASTO) 96, der bei einer Verbindung mit dem ASX 92 durch eine Addieroperation 97 die reale Adresse des ASTE 98 in der ASN-Sekundärtabelle 30 ergibt, wie bereits im Zusammenhang mit Fig. 2 beschrieben wurde. Da die ASTE-Adresse 100 im ETE 57 gespeichert wird, wenn CR 0.15 den Wert Eins hat, kann sie anstelle der beschriebenen ASN-Umsetzung verwendet werden. Das Steuerbit T 101 in Bit 12 des Steuerregisters 14 ist ein ASN-Umsetzungsbit. Wenn Bit 12 des Steuerregisters 14 gleich Null ist, kann weder die ASTE-Adresse 100 noch die ASN 90 verwendet werden. Wenn Bit 12 gleich Eins ist, stehen beide zur Auswahl. Der AX 102 des ASTE 98 und die ASN 90 des ETE 57 werden in Schritt 103 bzw., für PC-ss-Operationen, in Schritt 104 des Steuerregisters 4 gesetzt. Der STD 105 des ASTE 98 wird in Schritt 106 in das Steuerregister 1 gestellt. Wenn CR 0.15 = 1, wird die ASTE-Adresse in Schritt 107 als PASTEO in das Steuerregister 5 gestellt. Wenn CR 0.15 = 0, wird die LTD des ASTE 98 bei 108 in Schritt 107 in das Steuerregister 5 gestellt. Auf diese Weise gilt die ASN-Umsetzung aus Fig. 17 sowohl für DAS- als auch für MAS-Operationen.
  • Die in Zusammenhang mit den Fig. 15, 16 und 17 beschriebene PC- ss-Operation kann verwendet werden, um die Steuerung für Instruktionsabrufoperationen an einen neuen Adreßraum zu übertragen und damit den neuen Adreßraum als Primäradreßraum festzulegen. Wenn die PC-Nummer, der Eingang der Eingangstabelle und der Eingang der Verbindungstabelle durch einen Servicegeber bereitgestellt werden, wird üblicherweise eine ARM angegeben, mit der die Berechtigung der Programme festgelegt wird, die die PC-Nummer aufrufen. Wenn ein aufrufendes Programm das durch den Eintrag der Eingangstabelle definierte Programm aufrufen darf, wie dies durch die UND-Verknüpfungsoperation 63 aus Fig. 16 festgelegt wird, kann die PC-Operation den im Steuerregister 8 gespeicherten EAX ändern.
  • Die PC-Operation kann z. B. auch zum Aufrufen eines Systemservices verwendet werden, um einen neuen ALE zu einer der Zugrifflisten 24 oder 25 hinzuzufügen, wie dies im Hinblick auf den Zugriffslisteneintrag aus Fig. 6 beschrieben wurde. Das Serviceprogramm kann einen neuen Zugriffslisteneintrag erzeugen und ein neues ALET bereitstellen, das für Operation im Zugrifflistenmodus durch den aufrufenden Benutzer verwendet wird. Wenn ein Zugriffslisteneintrag erzeugt wird, wird der EAX aus dem Steuerregister 8 des Aufrufers als ALEAX in den ALE gestellt. Nachdem der ALE erzeugt wurde, überträgt das Serviceprogramm das ALET für diesen ALE an das Benutzerprogramm. Das ALET kann dann gespeichert oder an andere Adreßräume übertragen werden, wobei eine beliebige Art des Abrufens oder Speicherns von Operanden verwendet werden kann. Durch die beschriebenen Berechtigungsprozeduren wird verhindert, daß ein nicht berechtigtes Programm das ALET verwendet.
  • Einige Zugriffslisteneingänge können bei der Erzeugung von ihren jeweiligen Besitzern entweder als private Eingänge, für die lediglich ein Adreßraumzugriff durch den Besitzer oder einen berechtigten Benutzer gewährt wird, oder als gemeinsame Eingänge für alle Benutzer bezeichnet werden. Bei gemeinsamen Eingängen (das P-Bit, Bit 7, ist gleich Null), ist der ALE offen und kann von einem beliebigen Programm verwendet werden. Wenn das P-Bit (Bit 7) des ALE den Wert Eins hat, kann der ALE nur von berechtigten Programmen verwendet werden. Das Steuerprogramm stellt Einrichtungen bereit, mit denen Eingänge zur AT des zugeordneten Adreßraumes hinzugefügt werden können, wenn mehr als einen EAX den ALE verwenden können.
  • Fig. 18 zeigt in Diagrammform die Zugriffsregisterumsetzung mit Überprüfungen der Programmberechtigung. Wenn ein ALET in einer Zugriffsregisteroperation für das Abrufen oder Speichern Operanden verwendet wird, werden die Bits 0 bis 16 des ALET in Schritt 115 daraufhin überprüft, ob das ALET gültig ist. Wenn das P-Bit 116 im ALET gleich 0 ist, handelt es sich um eine DUAL- Zugriffsliste; wenn das P-Bit 116 gleich 1 ist, handelt es sich um eine PSAL-Zugriffsliste. Bei einer DUAL-Zugriffsliste wird die aktuelle ALD aus der DUCT abgerufen, deren Adresse im Steuerregister 2 gespeichert ist. Bei einer PSAL-Zugriffsliste wird die aktuelle ALD aus dem Primär-ASTE (PASTE) abgerufen, dessen Adresse im Steuerregister 5 gespeichert ist. Die aktuelle ALD umfaßt einen Zugriffslistenursprung und eine Zugriffslistenlänge (ALL). In Schritt 117 wird die ALEN mit der ALL verglichen, um zu überprüfen, ob sich die ALEN außerhalb der Begrenzungen der Zugriffsliste befindet. Wenn die ALEN diese Gültigkeitsprüfung besteht, wird der aktuelle Zugriffslistenursprung in einer Addieroperation 119 mit der ALEN verbunden, um die Adresse des ALE 120 in der Zugriffsliste 121 zu ermitteln. In Schritt 121 wird überprüft, ob das Ungültigkeitsbit, d. h. Bit 0 des ALE 120, gleich 0 ist, wodurch ermittelt wird, ob der ALE 120 gültig ist. Wenn der ALE 120 gültig ist, wird die ALESN 122 des ALET mit der ALESN 123 des ALE 120 in Schritt 124 verglichen. Wenn die ALESN 122 gleich der ALESN 123 ist, kann das ALET dennoch auf den ALE 120 verweisen und der ASTE 126 wird mit der ASTE-Adresse 125 abgerufen. Die Gültigkeit des ASTE 126 wird ermittelt, indem im Schritt 128 das Ungültigkeitsbit 127 überprüft wird. Wenn der ASTE 126 gültig ist, wird die ASTESN 130 in Schritt 132 mit der ASTESN 131 verglichen, um zu überprüfen, ob der ALE 120 immer noch berechtigt ist, auf den ASTE 126 zu verweisen. Mit diesen Überprüfungen ist der Gültigkeitsteil der ART abgeschlossen.
  • Als nächstes wird die Berechtigung des aufrufenden Programmes für einen Zugriff auf den Adreßraum überprüft. Die erste Überprüfung erfolgt in Schritt 135, um zu ermitteln, ob das P-Bit 136 gleich 0 ist. Wenn das P-Bit 136 gleich 0 ist, können alle Programme auf den dem ALE zugeordneten Adreßraum zugreifen, und es werden keine weiteren Überprüfungen durchgeführt. Wenn das P- Bit 136 gleich 1 ist, wird der ALEAX 137 durch den Vergleicher 139 mit dem EAX 138 im Steuerregister 8 verglichen. Wenn der Vergleich in Schritt 139 eine Gleichheit ergibt, erhält das Programm die Berechtigung für den Zugriff auf den Adreßraum, und es werden keine weiteren Überprüfungen durchgeführt. Wenn der Vergleich in Schritt 139 eine Ungleichheit ergibt, wird in Schritt 140 eine Prüfung der erweiterten ASN-Berechtigung durchgeführt. Für die Prüfung der erweiterten ASN-Berechtigung 140 wird der EAX im Steuerregister 8 mit der Berechtigungstabellenlänge (ATL) 141 verglichen, um sicherzustellen, daß der EAX auf keinen Eintrag außerhalb der Begrenzungen der Berechtigungstabelle verweist. Der EAX im Steuerregister 8 wird als Index für die Berechtigungstabelle verwendet, deren Ursprung ATO 142 ist. Wenn das S-Bit in der Berechtigungstabelle für den EAX gleich 1 ist, kann das Programm auf den Adreßraum zugreifen. Wenn das Programm, wie dargestellt, Zugriff auf den Adressen hat, wird der STD 144 für die DAT-Operation 145 bereitgestellt.
  • Das Privat-Bit und das Feld ALEAX im Zugriffslisteneintrag stellen sehr schnelle Berechtigungsmechanismen bereit, mit denen der Zugriff eines Programmes auf einen durch den ALE dargestellten Adreßraum gestattet oder verweigert werden kann. Das Privat-Bit kann gleich 0 sein, wodurch alle Programme, die unter Verwendung der Zugriffsliste ausgeführt werden, auf den Adreßraum zugreifen können, der durch den ALE dargestellt wird. Das ALE-Privat-Bit kann gleich 1 und der EAX des Benutzers im Steuerregister 8 kann gleich dem Feld ALEAX sein. Auf diese Weise können Programme mit einem bestimmten EAX auf den Adreßraum zugreifen, der durch einen bestimmten ALE dargestellt wird. Außerdem kann das ALE-Privat-Bit gleich Eins sein, und der EAX des Benutzers im Steuerregister 8 kann einen Eingang in der Berechtigungstabelle des Zieladreßraumes auswählen, dessen 5-Bit gleich Eins ist. So können mehrere Programme mit verschiedenen EAX auf den Adreßraum zugreifen, der durch den ALE dargestellt wird.
  • Die Fig. 19A und 19B zeigen zusammen ein Flußdiagramm der einzelnen Schritte und Ausnahmebedingungen bei der Zugriffsregisterumsetzung. Wenn die ART-Logik aufgerufen wird, wird in Schritt 150 überprüft, ob auf das Zugriffsregister 0 verwiesen wurde. Wird, wie dargestellt, auf das Zugriffsregister verwiesen, wird in Schritt 151 überprüft, ob die ART durch eine Operation TEST ACCESS (siehe unten) aufgerufen wurde. Wenn das Zugriffsregister 0 nicht bezeichnet wurde, oder wenn es sich um eine Operation TEST ACCESS handelt, wird in Schritt 152 angegeben, daß das ALET im Zugriffsregister verwendet werden soll. Wenn auf das Zugriffsregister 0 verwiesen wurde und es sich nicht um eine Operation TEST ACCESS handelt, wird in Schritt 153 dem ALET eine Hexadezimalziffer 00000000 zugeteilt. In Schritt 154 wird überprüft, ob das ALET gleich der Hexadezimalziffer 00000000 ist. Ist dies der Fall, wird in Schritt 155 der STD für den Primäradreßraum aus dem Steuerregister 1 ermittelt. In Schritt 156 wird überprüft, ob das ALET die Hexadezimalziffer 00000001 beträgt. Falls ja, wird in Schritt 157 der STD für den Sekundäradreßraum aus dem Steuerregister 7 ermittelt. In Schritt 158 wird überprüft, ob die Bit 0 bis 6 des ALET gleich 0 sind. Sind die Bit 0 bis 6 des ALET gleich 0, ist der dem ALET zugeordnete Wert nicht gültig, es wird in Schritt 159 eine Ausnahmebedingung für die ALET-Bezeichnung ausgelöst, und die Operation wird unterdrückt.
  • In Schritt 160 wird überprüft, ob das Bit 7 des ALET gleich 1 ist. Wenn ja, wird der PASTEO-Eingang im Steuerregister 5 in Schritt 161 decodiert, und die aktuelle ALD wird für die PSAL abgerufen. Wenn das Bit 7 des ALET gleich 0 ist, wird in Schritt 162 der DUCTO-Eingang im Steuerregister 2 decodiert, und die aktuelle ALD wird für die DUAL abgerufen. Wenn die Abrufadresse nicht gültig ist (Schritt 163), wird in Schritt 164 eine Ausnahmebedingung für die Adressierung ausgelöst, und die Operation wird unterdrückt. Wenn die Adresse gültig ist (Schritt 163), wird in Schritt 165 überprüft, ob die ALEN des ALET außerhalb der Begrenzungen der aktuellen ALL (Bit 25 bis 31 der aktuellen ALD) liegt. Ist dies der Fall, wird in Schritt 166 eine Ausnahmebedingung für die ALEN-Umsetzung ausgelöst, und die Operation wird aufgehoben. Wenn die Antwort in Schritt 165 Nein lautet, wird der ALE in Schritt 167 ermittelt, und es wird überprüft, ob die ALE-Adresse gültig ist. Wenn die ALE-Adresse nicht gültig ist, wird in Schritt 168 eine Ausnahmebedingung für die Adressierung ausgelöst, und die Operation wird unterdrückt. Wenn die Adresse in Schritt 167 gültig ist, wird in Schritt 169 das Gültigkeitsbit im ALE daraufhin überprüft, ob der ALE gültig ist. Wenn der ALE nicht gültig ist, wird in Schritt 170 eine Ausnahmebedingung für die ALEN-Umsetzung ausgelöst, und die Operationen werden aufgehoben. Wenn der ALE in Schritt 169 gültig ist, wird in Schritt 171 die ALESN des ALET mit der ALESN des ALE verglichen. Ergibt der Vergleich in Schritt 171 eine Ungleichheit, wird in Schritt 172 eine Ausnahmebedingung für die ALE- Reihenfolge ausgelöst, und die Operation wird aufgehoben. Ergibt der Vergleich bei 171 eine Gleichheit, wird in Schritt 173 mit der ASTE-Adresse im ALE der ASTE ermittelt. Es wird überprüft, ob die ASTE-Adresse gültig ist. Wenn die Adresse nicht gültig ist, wird in Schritt 174 eine Ausnahmebedingung für die Adressierung ausgelöst, und die Operation wird unterdrückt. Wenn die ASTE-Adresse in Schritt 173 gültig ist, wird in Schritt 175 das Gültigkeitsbit des ASTE daraufhin überprüft, ob der ASTE gültig ist. Wenn der ASTE nicht gültig ist, wird in Schritt 176 eine Ausnahmebedingung für die ASTE-Gültigkeit ausgelöst, und die Operation wird aufgehoben. In Schritt 177 wird die ASTESN des ALE mit der ASTESN des ASTE verglichen. Wenn der Vergleich in Schritt 177 eine Ungleichheit ergibt, wird in Schritt 178 eine Ausnahmebedingung für die ASTE-Reihenfolge ausgelöst, und die Operation wird aufgehoben.
  • Mit den oben beschriebenen Blöcken 163-178 wird so ermittelt, ob die erhaltenen Einträge gültig sind. In Schritt 179 wird das Privat-Bit des ALE, Bit 7, daraufhin überprüft, ob es gleich 0 ist. Ebenfalls in Schritt 179 wird der ALEAX-Eintrag des ALE mit dem EAX im Steuerregister 8 verglichen. Wenn beide Überprüfungen eine Gleichheit ergeben, wird der STD für den Operanden aus dem ASTE des Adreßraumes ermittelt (Schritt 180). Wenn das Privat- Bit gleich 0 ist, erhält das Programm eine Zugriffsberechtigung, und der Berechtigungsteilschritt der Zugriffsregisterumsetzung ist somit abgeschlossen. Wenn das Privat-Bit gleich 1, der ALEAX jedoch gleich dem EAX ist, erhält das Programm ebenfalls eine Zugriffsberechtigung, und der Berechtigungsteilschritt der Zugriffsregisterumsetzung ist damit abgeschlossen.
  • Wenn das Programm in Schritt 179 keine Zugriffsberechtigung erhält, wird in Schritt 181 die Gültigkeit des ASTE überprüft, indem ermittelt wird, ob die Bit 30, 31 und 60 bis 63 des ASTE gleich 0 sind. Ist dies nicht der Fall, wird in Schritt 182 eine Ausnahmebedingung für die ASN-Umsetzungsspezifizierung ausgelöst, und die Operation wird unterdrückt. In Schritt 183 wird der Wert der Bits 0 bis 11 des EAX in Steuerregister 8 mit der Berechtigungstabellenlänge verglichen, um zu überprüfen, ob der EAX einen Eingang außerhalb der Begrenzungen der Berechtigungstabelle bezeichnet. Wenn der Vergleich in Schritt 183 eine Überschreitung ergibt, wird in Schritt 184 eine Ausnahmebedingung für die erweiterte Berechtigung ausgelöst, und die Operation wird unterdrückt. Wenn der EAX einen Eingang innerhalb der Begrenzungen der Berechtigungstabelle bezeichnet, wird der zugehörige EAX-Eintrag in Schritt 185 in der Berechtigungstabelle ermittelt. Wenn die Adresse des Berechtigungstabelleneinganges nicht gültig ist, wird in Schritt 186 eine Ausnahmebedingung für die Adressierung ausgelöst, und die Operation wird unterdrückt. In Schritt 187 wird eine Prüfung der erweiterten Berechtigung durchgeführt, indem ermittelt wird, ob das Sekundärberechtigungsbit (S-Bit) des Berechtigungstabelleneintrages in 185 gleich 1 ist. Wenn die Überprüfung in Schritt 187 ein positives Ergebnis ergibt, erhält das Programm eine Zugriffsberechtigung durch die dem Adreßraum zugeordnete Berechtigungstabelle, und der STD für den Adreßraum wird in Schritt 188 aus dem ASTE ermittelt. Wenn der Vergleich in Schritt 187 ein negatives Ergebnis ergibt, erhält das Programm keine Zugriffsberechtigung, in Schritt 189 wird eine Ausnahmebedingung für die erweiterte Berechtigung ausgelöst, und die Operation wird aufgehoben.
  • Die MAS-Einrichtung umfaßt eine Instruktion TEST ACCESS REGISTER (TAR), mit der die oben erwähnte Operation für die Zugriffsprüfung durchgeführt wird. TEST ACCESS hat das folgende Format:
  • TAR A1, R2
  • Das ALET im Zugriffsregister des ersten Operanden A1 wird auf Ausnahmebedingungen für die ALET-Umsetzung überprüft, indem der EAX im Universalregister verwendet wird, das durch den zweiten Operanden R2 angegeben wird. Wie aus den Fig. 19A und 19B hervorgeht, veranlaßt die Instruktion TEST ACCESS REGISTER (siehe Schritt 151 aus Fig. 19A) die Durchführung einer ART-Operation. Die TAR-Instruktion gibt die folgenden Prüfergebnisse an den PSW-Bedingungscode (CC) zurück (siehe Fig. 4)
  • 0 = Angegebenes ALET ist gleich 0 und gestattet den Zugriff.
  • 1 = Angegebenes ALET ist nicht gleich 0 oder 1, wird in der DUAL durch das Steuerregister 2 adressiert und gestattet den Zugriff mit dem angegebenen EAX.
  • 2 = Angegebenes ALET ist nicht gleich 0 oder 1, wird in der PSAL durch das Steuermittel des Registers 5 adressiert und gestattet den Zugriff mit dem angegebenen EAX.
  • 3 = Angegebenes ALET ist entweder 1 oder ist ungültig für den Zugriff mit dem angegebenen EAX.
  • Durch die Überprüfung eines ALET auf Ausnahmebedingungen für die Berechtigung unter Verwendung eines Eingangs-EAX kann das Programm ermitteln, ob das ALET sich auf die PASN (ALET = 0), die DUAL oder die PSAL des Benutzers bezieht. Auf diese Weise ist das Programm unabhängig von dem internen Format des ALET.
  • Wenn die TAR-Instruktion verwendet und eine ART durchgeführt wird, wird ein ALB-Eintrag erzeugt. Wenn das ALET im AR tatsächlich verwendet wird, enthält der ALB also den Eintrag, sofern während der ART keine Ausnahmebedingung auftrat.
  • Fig. 20 zeigt eine beispielhafte Anwendung der TAR-Instruktion.
  • Ein in Schritt 200 ausgeführter Tasksteuerblock für die zuteilbare Einheit TCB1 hat einen EAX von 5. Dieser EAX gestattet dem Programm die Verwendung spezifischer Einträge in seiner Zugriffsliste der zuteilbaren Einheit für den TCB1. In Schritt 201 gibt das erste Programm einen PC-Aufruf an ein zweites Programm aus, das sich im Adreßraum ASN2 befindet; das erste Programm überträgt ein ALET, das vom zweiten Programm verwendet werden muß. In Schritt 202 wird das Programm in ASN2 mit einem EAX = 8 ausgeführt, die von dem EAX des Aufrufers abweicht. Wenn in Schritt 202 das Programm das ALET verwenden würde, das von dem aufrufenden Programm bereitgestellt wird, könnte ein Fehler bei der Systemintegrität auftreten. Das aufrufende Programm verfügt möglicherweise nicht über die EAX-Berechtigung für eine Bezugnahme auf das ALET, das Programm in ASN2 hat diese Berechtigung jedoch. Das Programm in ASN2 muß eine Gültigkeitsprüfung durchführen, um zu ermitteln, ob der Aufrufer berechtigt ist, das übertragene ALET zu verwenden. In Schritt 203 führt das Programm in ASN2 die Gültigkeitsprüfung durch und verwendet hierzu die TAR-Instruktion mit dem Eingangs-ALET und dem EAX = 5 des Aufrufers. Der EAX des Aufrufers wird aus dem Verbindungsstapeleintrag ermittelt, der bei dem Programmaufruf an ASN2 vorgenommen wird. Wenn die TAR-Instruktion einen Bedingungscode ergibt, der angibt, daß der Aufrufer berechtigt ist, das ALET zu verwenden, fährt das Programm in ASN2 mit der Durchführung seiner Funktion fort. Wenn der Aufrufer keine Berechtigung hat, beendet das Programm in ASN2 die Task entweder mit einer Instruktion ABEND oder kehrt mit einem Rückkehrcode zum Aufrufer zurück, der angibt, daß der Aufruf nicht erfolgreich durchgeführt wurde. Wenn die Steuerung in Schritt 204 mit einer Instruktion RETURN zurückgegeben wird, wird der EAX (EAX = 5) des Aufrufers von dem Stapel wiederhergestellt, und das Programm in ASN1 fährt bei der Ausführung mit dieses EAX fort.
  • Die Funktion für die Überprüfung der ALET-Gültigkeit wird verhältnismäßig häufig benötigt. In dem Beispiel aus Fig. 20 ist sie bei jedem Aufrufen des Programmes in ASN2 erforderlich. Diese Funktion könnte auch durch eine Serviceroutine des Betriebsprogrammes bereitgestellt werden, der Leistungsmehraufwand wäre jedoch erheblich. Wenn die TAR-Funktion nicht bereitgestellt wird, müssen Programme, die sich auf das ALET eines Aufrufers beziehen und den EAX ändern müssen, gegebenenfalls zwei PC-Instruktionen verwenden. Der erste PC ändert dabei nicht den EAX, und die Parameter des Aufrufers beziehen sich auf den EAX des Aufrufers. Daraufhin wird ein zweiter PC ausgeführt, um den neuen EAX bereitzustellen, der von dem aufgerufenen Programm verwendet werden soll. Der aufgerufene Service benötigt eventuell einen anderen EAX für die Durchführung seiner Funktion; dieser Mechanismus gestattet die Verwendung des korrekten EAX. Die TAR- Funktion bietet so einen effizienteren Durchsatz. Es ist offensichtlich, daß die TAR-Instruktion, obwohl sie das Beispiel aus Fig. 20 mit einem ALET in der DUAL zeigt, auch mit ALET in der PSAL verwendet werden kann.
  • Mit Bezug auf die Fig. 21 bis 25 wird der Mechanismus der Zugriffsregisterumsetzung (ART) üblicherweise so implementiert, daß die Verweise auf die Zugriffslisten und die Informationen in den Zugriffslisten, ASN-Sekundärtabellen und Berechtigungstabellen in einem speziellen Puffer gespeichert werden, der als ART- Umsetzpuffer (ALB) bezeichnet wird (siehe Schritt 199, Fig. 2) Die Verweise auf Zugriffslisten, Zugriffslisteneinträge, Einträge der ASN-Sekundärtabellen und der Berechtigungstabellen werden insgesamt als ART-Tabelleneinträge bezeichnet. Die Zentraleinheit muß auf einen ART-Tabelleneintrag im Realspeicher nur für den anfänglichen Zugriff auf diesen Eintrag Bezug nehmen. Die Informationen in diesem Eintrag können in den ALB gestellt werden, und nachfolgende ART-Operationen können mit den Informationen in dem ALB durchgeführt werden. Der ALB beeinflußt insofern den ART-Prozeß, als eine Änderung eines ALD-, ARL-, ASTE- oder ATE-Eintrages im Realspeicher sich nicht unbedingt sofort, wenn überhaupt, auf die Umsetzung auswirkt.
  • Die Größe und Struktur des ALB variieren mit verschiedenen möglichen Ausführungsformen. Der ALB kann z. B. so implementiert werden, daß er maximal 15 Einträge enthält, wobei die einzelnen Einträge den Zugriffsregistern 1 bis 15 entsprechen und jeder Eintrag nur aus einen Verweis auf die Segmenttabelle besteht (siehe Fig. 24); er kann jedoch auch Fehler von Werten enthalten, die ausgehend von einem ALET, dem aktuellen Steuertabellenursprung der zuteilbaren Einheit oder dem Ursprung des Primär- ASTE und dem aktuellen Index der erweiterten Berechtigung ausgewählt werden. Im ersten Fall wird ein ALB-Eintrag gelöscht, wenn das zugehörige Zugriffsregister erneut geladen wird; der gesamte ALB wird bei einer Änderung des Inhalts der Steuerregister 2, 5 oder 8 gelöscht. Im zweiten Fall bleiben die Informationen im ALB trotz Änderungen im Inhalt der Zugriffsregister oder der Steuerregister erhalten.
  • Einträge im ALB sind nicht explizit durch das Programm adressierbar.
  • Die Informationen bleiben im ALB nicht notwendigerweise unter allen Bedingungen erhalten, unter denen dies prinzipiell möglich ist. Außerdem können Informationen im ALB auch zusätzlich noch unter anderen Bedingungen gelöscht werden zusätzlich zu denen, wo es unerläßlich ist. Die gesamten Informationen im ALB werden nur dann notwendigerweise gelöscht, wenn PURGE ALB oder SET PRE- FIX ausgeführt werden oder wenn eine Zentraleinheit zurückgesetzt wird.
  • Ein ALB-Eintrag enthält Informationen, die aus einem ART-Tabelleneintrag im Realspeicher abgerufen werden, sowie die Informationen, die für die Auswahl des ART-Tabelleneintrages im Realspeicher verwendet werden. Mit einem Quellursprung für die Bezeichnung für die Zugriffsliste (ALDSO) wird eine ALD im Realspeicher ausgewählt. Der ALDSO ist der Steuertabellenursprung der zuteilbaren Einheit im Steuerregister 2, wenn das Primärlistenbit im umgesetzten ALET gleich Null ist; oder er ist der Ursprung des Sekundärtabelleneintrages der Primär-ASN im Steuerregister 5, wenn das Primärlistenbit im ALET gleich Eins ist.
  • Der Teil einer ALD mit dem Zugriffslistenursprung wird zusammen mit einem ALET für die Auswahl eines ALE im Realspeicher verwendet.
  • Die ASTE-Adresse in einem ALE wird für die Auswahl eines ASTE im Realspeicher verwendet.
  • Der Berechtigungstabellenursprung in einem ASTE wird zusammen mit dem EAX im Steuerregister 8 für die Auswahl eines ATE im Realspeicher verwendet.
  • Bezugnehmend auf Fig. 21 werden in einer ersten Ausführungsform eines ALB der ALB-ALD und der ALB-ALE zu einem ALB-ALD/ALE kombiniert, so daß der Zugriffslistenursprung nicht in dem ALB-Eintrag enthalten sein muß. Wenn der ALDSO und das ALET für die ART-Anforderung mit dem Inhalt des ALB-Eintrages übereinstimmen, stellt der ALB die folgenden Informationen bereit: P-Bit, ALEAX, ASTE-Adresse und ASTESN, wobei alle Informationen aus dem ALE entnommen werden. Auf diese Weise gestattet diese Eintragsart die erneute Überprüfung der Berechtigungsverifizierung und den Zugriff auf den ASTE für den STD, wobei der ASTESN-Eingang verifiziert wird. Dies ermöglicht die effiziente Nutzung des ALB, da verschiedene ALET auf denselben ASTE und STD verweisen können. Diese Konzeption des ALB ersetzt also die Verwendung der eigentlichen Zugriffsliste und die Ermittlung des ALE. Die ASTE- und Berechtigungsmechanismen werden jedoch auch dann wie gehabt verwendet.
  • Bezugnehmend auf Fig. 22 kann die Funktion des ASTE auch in einer anderen Ausführungsform des ALB kombiniert werden, bei der der STD direkt aus dem ALB ermittelt wird. In diesem Fall stellen der ALDSO und das ALET, wenn im ALB eine Übereinstimmung vorliegt, die folgenden Informationen bereit: P-Bit, ALEAX, Ursprung der Berechtigungstabelle (ATO), Berechtigungstabellenlänge (ATL) und STD. Es erfolgt also kein Zugriff auf den ASTE, um den STD, ATO und die ATL zu erhalten, da diese im ALB enthalten sind. Wenn jedoch eine ASTESN im ASTE geändert wird, muß der ALB gelöscht werden, da er den STD ohne erneute Verifizierung der Vollmacht durch die ASTESN enthält.
  • Bezugnehmend auf Fig. 23 werden in einer dritten Ausführungsform eines ALB in einem einzigen ALB-Eintrag die Informationen und Attribute aus ALD, ALE, ASTE und ATE kombiniert, so daß lediglich der in der Abbildung gezeigte ALB-Eintrag erforderlich ist.
  • Als zusätzliche Vereinfachung ist beim automatischen Löschen aller Einträge des ALB in der Ausführungsform aus Fig. 23, das immer dann vorgenommen wird, wenn im Steuerregister 2 oder 5 ein ALD-Quellursprung geändert wird, das Feld ALDSO in den ALB-Einträgen nicht erforderlich. Als weitere Vereinfachung müssen die Felder P, ALEAX, EAX und S nicht implementiert werden, wenn die Maschine die Eingänge des ALB immer dann löscht, wenn das Feld EAX im Steuerregister 8 geändert wird. Eine solche vereinfachte Ausführungsform wird in Fig. 24 gezeigt, wobei jedes ALET abhängig von den erforderlichen ALB-Löschoperationen, die die STD vor nicht ordnungsgemäßer Verwendung schützen, lediglich einen STD abruft. Außerdem wird das Feld ALET nicht benötigt, wenn die einzelnen Einträge jeweils den Zugriffsregistern 1 bis 15 entsprechen und beim Neuladen des Zugriffsregisters gelöscht werden.
  • Die ALET-Werte dürfen bei Verwendung des ALB nicht in Null und Eins umgesetzt werden. Wenn die tatsächliche Implementierung über zusätzliche Kopien des Inhalts der Steuerregister 1 und 7 verfügt, muß die Maschine möglicherweise eine spezielle Aktion durchführen, um Änderungen in diesen Steuerregistern verfolgen zu können.
  • Die Erzeugung von ALB-Einträgen und die Auswirkung einer Änderung eines ART-Tabelleneintrages im Realspeicher durch das Programm sind davon abhängig, ob der ART-Tabelleneintrag einer bestimmten Zentraleinheit zugeordnet wurde und ob er gültig ist.
  • Der Zuordnungsstatus eines ART-Tabelleneintrages legt fest, daß die Zentraleinheit, der der Eingang zugeordnet ist, den Eingang für die Zugriffsregisterumsetzung verwenden kann. Der ART-Tabelleneintrag kann dabei mehreren Zentraleinheiten gleichzeitig zugeordnet sein.
  • Ein Zugriffslisteneintrag oder ein Eintrag einer ASN-Sekundärtabelle ist dann gültig, wenn das dem Eintrag zugeteilte Ungültigkeitsbit gleich Null ist. Zugriffslistenverweis und Berechtigungstabelleneinträge haben kein Ungültigkeitsbit und sind daher immer gültig. Der Zugriffslistenverweis auf Primäradreßraum ist gültig unabhängig vom Wert des Ungültigkeitsbit im Primär-ASTE.
  • Ein ART-Tabelleneintrag kann immer dann in den ALB gestellt werden, wenn der Eintrag zugeordnet und gültig ist. Ein Zugriffslistenverweis wird einer Zentraleinheit zugeordnet, wenn der Verweis sich innerhalb der Begrenzungen der Steuertabelle der zuteilbaren Einheit befindet, die durch den Steuertabellenursprung der zuteilbaren Einheit in Steuerregister 2 festgelegt sind, oder wenn er sich innerhalb der Werte des Primär-ASTE befindet, die durch den Primär-ASTE-Ursprung (PASTEO) in Steuerregister 5 festgelegt sind. Das Steuerregister 5 soll dabei den Primär-ASTE-Ursprung unabhängig vom Wert der Mehrfachadreßraumsteuerung, d. h. Bit 15 des Steuerregisters 0, enthalten.
  • Bezugnehmend auf Fig. 25 wird die vorzuziehende Ausführungsform eines ALB gezeigt, in der der ALB aus mehreren unterschiedlichen Tabellen besteht, auf die bei der Nutzung des ALB einzeln und sequentiell zugegriffen wird, und die dadurch mehrere Pfade zu einem STD bereitstellen kann. Im ersten Schritt greift ein aus einem ALDSO und einem ALET bestehender Eintrag auf eine als ALB- ALD/ALE-Tabelle bezeichnete Tabelle oder ein Feld zu, wobei der Eintrag (in den mit C bezeichneten Blöcken) mit allen Tabelleneinträgen verglichen wird; wenn eine Übereinstimmung festgestellt wird, wird das korrekte Ergebnis an die Blöcke G für die Ausführung des nächsten Schrittes geleitet. Die ALB-ALD/ALE-Tabelleneinträge stellen als Ergebnis das P-Bit (Privat-Bit), den ALEAX, die ASTE-Adresse und die ASTESN bereit. Im zweiten Schritt wird die ASTE-Adresse als Suchbegriff in einer ALB-ATE-Tabelle oder Anordnung verwendet, wie ebenfalls aus den C-Blöcken (Vergleichsblöcken) ersichtlich wird. Wenn eine Übereinstimmung ausgelöst wird, wird ein ALB-ASTE-Eintrag (siehe G) weiter verknüpft, der aus einer ASTESN, einem ATO, einer ATL und einem STD besteht. Die ASTESN wird wiederum mit der ASTESN verglichen, die von dem ALB-ALD/ALE-Eintrag bereitgestellt wird; dabei muß eine Übereinstimmung vorliegen, andernfalls wird der ALB-Prozeß nicht fortgesetzt. Wenn das P-Bit des ALB-ALD/ALE-Eintrages gleich Eins ist, und der EAX in CR8 nicht gleich dem ALEAX im ALB-ALD- /ALE-Eintrag ist, wird in einem letzten Schritt die Berechtigung mit einer ALB-ATE-Tabelle oder einem Feld überprüft. ATO und EAX werden zusammen als Suchschlüssel verwendet. Der EAX wird dabei aus dem Steuerregister 8 und der ATO aus dem Ergebnis des zweiten Schrittes ermittelt. Wenn eine Übereinstimmung festgestellt wird, wird erneut ein Eingang, der aus einem Sekundärbit, 5-Bit, des ATE besteht, als Ergebnis der Berechtigungsprüfung weiter verknüpft.
  • Ein Eintrag einer ASN-Sekundärtabelle wird einer Zentraleinheit zugeordnet, wenn er durch die ASTE-Adresse in einem Eintrag einer ALB-ALD/ALE-Anordnung oder einem zugeordneten und gültigen ALE bezeichnet wird.
  • Ein Eintrag einer Berechtigungstabelle wird einer Zentraleinheit zugeordnet, wenn er innerhalb der Begrenzungen der Berechtigungstabelle liegt, die durch einen Eintrag einer ALB-ASTE-Anordnung oder einen zugeordneten und gültigen ASTE bezeichnet wird.
  • Ein ALB-ALD/ALE-Eintrag kann nur dann für die ART verwendet werden, wenn die folgenden Bedingungen alle erfüllt sind:
  • 1. Das umzusetzende ALET hat einen Wert größer 1. (Wenn das ALET gleich 0 oder 1 ist, wird der Inhalt von CR1 oder CR7 verwendet.)
  • 2. Das Feld ALDSO im ALB-ALD/ALE-Eintrag stimmt mit dem verwendeten ALDSO überein.
  • 3. Das Feld ALET im ALB-ALD/ALE-Eintrag stimmt mit dem umzusetzenden ALET überein.
  • 4. Der ALB-ALD/ALE-Eintrag besteht die ALE-Berechtigungsprüfung, d. h. eine der folgenden Bedingungen ist wahr:
  • a. Das Privat-Bit im ALB-ALD/ALE-Eintrag ist gleich Null.
  • b. Der ALEAX im ALB-ALD/ALE-Eintrag ist gleich dem aktuellen EAX.
  • c. Der aktuelle EAX wählt ein/mehrere Sekundärbit(s) aus, das/die für die Berechtigungstabelle den Wert Eins hat/haben, die durch den ASTE bezeichnet wird, der von dem ALB-ALD/ALE-Eingang adressiert wird.
  • Ein ALB-ASTE-Eintrag kann für die ART verwendet werden, wenn die ASTE-Adresse und die ASTESN des ALB-ASTE-Eintrages mit der ASTE- Adresse und der ASTESN des verwendeten ALE oder ALB-ALD/ALE-Eintrages übereinstimmen.
  • Zusätzlich können zwei oder mehr ALB-ALD/ALE-Einträge denselben ALB-ASTE-Eintrag bezeichnen und so mehr Pfade für die ALB-ASTE- Anordnung bereitstellen, die die Verwendung getrennter Feldtypen im ALB rechtfertigen.
  • Ein ALB-ATE-Eintrag kann für die ART verwendet werden, wenn die beiden folgenden Bedingungen erfüllt sind:
  • 1. Der ATO des ALB-ATE-Eintrages stimmt mit dem ATO des verwendeten ASTE oder ALB-ASTE-Eintrages überein.
  • 2. Der EAX des ALB-ATE-Eintrages stimmt mit dem aktuellen EAX überein.
  • Wenn ein zugeordneter, aber ungültiger Eintrag einer ART-Tabelle gültig gemacht wird, oder wenn ein nicht zugeordneter, aber gültiger Eintrag einer ART-Tabelle zugeordnet wird und sich noch kein verwendbarer Eintrag, der aus dem Eintrag der ART-Tabelle erzeugt wurde, im ALB befindet, wird die Änderung spätestens am Ende der aktuellen Instruktion wirksam.
  • Eine Änderung des AR-Inhalts wirkt sich nicht notwendigerweise auf den Inhalt des ALB aus. Der ALB kann Informationen enthalten, die zu einem anderen AR-Inhalt oder anderen EAX-Domänen mit verschiedenen zuteilbaren Einheiten gleichzeitig gehören. Wenn eine Task erneut zugeteilt wird, nachdem sie zuvor nicht zugeteilt war, kann der ALB auch dann noch verwendbare Einträge für die ART enthalten.
  • Wenn ein zugeordneter und gültiger Eintrag einer ART-Tabelle geändert wird und versucht wird, eine ART durchzuführen, für die dieser Eintrag erforderlich ist, bevor die Kopien dieses Einganges im ALB gelöscht wurden, können die folgenden unvorhersagbaren Ergebnisse resultieren. Die Verwendung des neuen Wertes kann zwischen verschiedenen Instruktionen oder während der Ausführung einer Instruktion beginnen, einschließlich der Instruktion, die die Änderung veranlaßt hat. Darüber hinaus kann der ALB, solange nicht alle Kopien des Eintrages gelöscht wurden, sowohl die alten als auch die neuen Werte enthalten; in diesem Fall läßt sich nicht vorhersagen, ob die alten oder die neuen Werte für eine bestimmte ART-Operation verwendet werden.
  • Wenn die der ART zugeordneten Parameter durch LOAD ACCESS MUL- TIPLE oder LOAD CONTROL geändert werden, bleiben die Werte dieser Parameter zu Beginn der Operation während der Dauer der Operation wirksam.
  • Durch die Ausführung der Instruktionen PURGE ALB und SET PREFIX und durch ein Zurücksetzen der Zentraleinheit werden alle Einträge aus dem ALB gelöscht. Diese Instruktionen müssen verwendet werden, um unerwünschte Bedingungen im ALB zu vermeiden.
  • Die Mehrfachadreßraum-Einrichtung (MAS-Einrichtung) bietet Verbesserungen auf den folgenden beiden Hauptgebieten:
  • 1. Datenzugriff: Auf Daten in bis zu 16 verschiedenen Adreßräumen, einschließlich des Instruktionsadreßraumes, kann durch das Programm gleichzeitig zugegriffen werden, ohne daß Steuerparameter geändert werden. Diese Einrichtung wird durch 16 neue Register ermöglicht, die als Zugriffsregister bezeichnet werden. Der Zugriff auf weitere Adreßräume ist möglich, wenn der Inhalt der Zugriffsregister geändert wird.
  • 2. Programmverbindung: Die Inhalte eines Eintrages einer Eingangstabelle wird erweitert, um während einer Programmaufrufoperation eine bessere Statusänderung durchführen zu können. Ein Verbindungsstapel wird bereitgestellt, mit dem der Status während eines Programmaufrufs gespeichert und durch eine neue Instruktion PROGRAM RETURN wiederhergestellt wird. Außerdem wird eine neue Verzweigungsverbindung bereitgestellt, die den Verbindungsstapel nutzt.
  • MAS stellt sechzehn 32-Bit-Zugriffsregister bereit, die mit 0 bis 15 numeriert sind. Die Zugriffsregister werden für die Adressierung von Speicheroperanden in einem neuen Adressierungsmodus verwendet, der als Zugriffsregistermodus bezeichnet wird. Der Zugriffsregistermodus wird durch neue Biteinstellungen im PSW ermöglicht.
  • Im Zugriffsregistermodus bezeichnet ein Feld B oder R einer Instruktion, das auf ein Universalregister mit einer Speicheroperandenadresse verweist, außerdem das Zugriffsregister mit der entsprechenden Nummer. Der Inhalt des Zugriffsregisters wird in einem als Zugriffsregisterumsetzung (ART) bezeichneten Prozeß verwendet, um die Segmenttabellenbezeichnung zu erhalten, die für die Umsetzung der Speicheroperandenadresse mit der DAT verwendet wird.
  • Ein Adreßraum, der durch ein Zugriffsregister bezeichnet wird, wird als ein AR-Adreßraum bezeichnet.
  • Zugriffsregister beziehen sich ausschließlich auf Datenadressen, nicht auf Instruktionsadressen. Im Zugriffsregistermodus werden Instruktionen stets aus dem Primäradreßraum abgerufen. (Verzweigungen zwischen verschiedenen Adreßräumen sind nicht möglich.)
  • Der Inhalt des Zugriffsregisters, das durch das Feld X einer Instruktion mit dem Format RX bezeichnet wird, wird ignoriert; nur ein Zugriffsregister, das durch das Feld B oder R bezeichnet wird, wird für die ART verwendet.
  • Mit den Zugriffsregistern können Daten zwischen zwei beliebigen Adreßräumen verschoben werden; der gesamte Instruktionssatz kann für die Bearbeitung von Daten im mehreren verschiedenen Adreßräumen gleichzeitig verwendet werden.
  • Die Ausführung der DAS-Instruktionen MOVE TO PRIMARY und MOVE TO SECONDARY ist im Zugriffsregistermodus nicht zulässig. Die DAS- Instruktion move with key kann jedoch ausgeführt werden, so daß verschiedene Zugriffsschlüssel für die Ursprungs- und Zieldatenbereiche zur Verfügung stehen.
  • Der Inhalt eines Zugriffsregisters wird als Token für einen Zugriffslisteneintrag (ALET) bezeichnet, da er im allgemeinen auf einen Eintrag in einem Zugriffsliste genannten Datenbereich verweist. Die ART verwendet den Inhalt des bezeichneten Zugriffslisteneintrages, um den von der DAT verwendete Segmentabellenverweis zu erhalten.
  • Der Begriff "Token" wird verwendet, da ein ALET keine Vollmacht für den Zugriff auf einen Adreßraum direkt überträgt; ein ALET verweist lediglich auf einen Zugriffslisteneintrag, der für die aktuelle Vollmacht steht.
  • ALET können wie gewöhnliche Daten verarbeitet werden. MAS umfaßt Instruktionen für die Übertragung von ALET zwischen Zugriffsregistern, Universalregistern und dem Speicher. Genauer ausgedrückt kann ein aufgerufenes Programm den Inhalt der Zugriffsregister im Speicher retten, die Zugriffsregister für seine eigenen Zwecke laden und den ursprünglichen Inhalt dann so wiederherstellen, daß sie dem aufrufenden Programm unverändert zur Verfügung stehen.
  • Ein ALET kann zum und vom Zugriffsregister 0 übertragen werden, obwohl das Zugriffsregister 0 nicht an der Adressierung eines Speicheroperanden beteiligt ist.
  • Ein ALET kann zwei besondere Werte, 0 und 1, für Bezeichnung des Primäradreßraumes bzw. des Sekundäradreßraumes aufweisen, ohne daß ein Zugriffslisteneintrag erforderlich ist. Auf diese Weise kann ein Programm auf seinen eigenen Instruktionsadreßraum zugreifen, ohne daß ein Zugriffslisteneintrag für diesen Adreßraum erzeugt werden muß; nach einem Programmaufruf für den Adreßraumwechsel kann das aufgerufene Programm auf ähnliche Weise Zugriff auf den Adreßraum des Aufrufers erhalten. Einem aufgerufenen Programm kann der Zugriff auf den Adreßraum des Aufrufers verweigert werden.
  • Einträge in der Zugriffsliste sind diejenigen Adressierungsvollmachten, die mit Zugriffsregistern genutzt werden können. Die Zugriffsliste sollte vor dem Anwendungsprogramm geschützt werden, um die Integrität der Adressierungsvollmachten zu gewährleisten.
  • Das Steuerprogramm stellt einen Service bereit, der einen Zugriffslisteneintrag zuordnet und ein ALET zurückgibt, das auf den Eintrag verweist. Das ALET kann dann vom anfordernden Programm für den Zugriff auf den Adreßraum verwendet werden, auf den durch den Eintrag verwiesen wird. Das Steuerprogramm stellt außerdem einen Service bereit, mit dem die Zuordnung eines Zugriffslisteneintrages aufgehoben wird, so daß der Eintrag neu verwendet werden kann.
  • Ein Zugriffslisteneintrag wird als ungültig gekennzeichnet, wenn er nicht zugeordnet ist. Eine Ausnahmebedingung wird erkannt, wenn ein ungültiger Zugriffslisteneintrag verwendet werden soll.
  • Dem Programm stehen gleichzeitig zwei verschiedene Zugriffslisten zur Verfügung. Die eine wird als Zugriffsliste der zuteilbaren Einheit, die andere als Zugriffsliste des Primäradreßraumes bezeichnet. Die Zugriffsliste der zuteilbaren Einheit soll der zuteilbaren Einheit (der Architekturbegriff für "Task" oder "Prozeß") permanent zugeordnet sein, für die das Programm ausgeführt wird. Die Zugriffsliste des Primäradreßraumes ist ein Merkmal des Primäradreßraumes, in dem das Programm ausgeführt wird. Ein Bit des ALET gibt an, auf welche zuteilbare Einheit und welche Zugriffslisten des Primäradreßraumes durch das ALET verwiesen werden.
  • Ein Bit des Zugriffslisteneintrages gibt an, ob der Eingang gemeinsam oder privat ist. Für die Verwendung eines gemeinsamen Zugriffslisteneintrages ist keine Berechtigung erforderlich. Für die Verwendung eines privaten Zugriffslisteneintrages ist ein Index der erweiterten Berechtigung (EAX) erforderlich. Der Index der erweiterten Berechtigung kann entweder ein Merkmal der zuteilbaren Einheit oder des Programmes sein, wie weiter unten beschrieben wird. Er ist kein Merkmal des Primäradreßraumes, in dem das Programm ausgeführt wird.
  • Durch den Index der erweiterten Berechtigung kann ein Eingang in einer Zugriffsliste der zuteilbaren Einheit von manchen, jedoch nicht von allen Programmen verwendet werden, die für die zuteilbare Einheit ausgeführt werden. Ahnlich kann ein Eintrag in einer Zugriffsliste des Primäradreßraumes von manchen, jedoch nicht von allen Programmen verwendet werden, die in dem entsprechenden Primäradreßraum ausgeführt werden.
  • Der DAS-Berechtigungsindex wirkt sich auf die Zugriffsregister aus, da er die Verwendung von festgelegten Sekundär-ASN bei der Einrichtung eines Sekundäradreßraumes gestattet; der Zugriff auf den Sekundäradreßraum ist über ein ALET mit dem Wert 1 möglich. Wie bereits erwähnt, ist der Berechtigungsindex ein Merkmal des Primäradreßraumes.
  • Bei MAS wird der Programmaufruf geändert, um ein neues Bit, das sogenannte PC-Bit, im Eintrag der Eingangstabelle zu prüfen. Wenn dieses Bit den Wert Null hat, führt der Programmaufruf die bei der DAS-Programmverbindung beschriebene DAS-Operation aus, die in diesem Zusammenhang als Basisoperation bezeichnet wird. Wenn das Bit gleich Eins ist, führt der Programmaufruf eine neue Operation aus, die als Stapeloperation bezeichnet wird. Die Stapeloperation unterscheidet sich in einigen Statusänderungen von der Basisoperation und speichert den alten Status in einem Eintrag, den sie in einem Verbindungsstapel erzeugt. Durch eine neue Instruktion PROGRAMM RETURN wird der Statuseintrag des Verbindungsstapels logisch gelöscht und der alte Status wiederhergestellt.
  • Für jede zuteilbare Einheit soll ein eigener Verbindungsstapel vorhanden sein; der Verbindungsstapel soll vor dem direkten Zugriff durch die zuteilbare Einheit geschützt werden. Die MAS umfaßt Instruktionen für die Extrahierung von Informationen aus einem Statuseintrag und für die Modifizierung eines Feldes in dem Eintrag.
  • MAS umfaßt ferner die Instruktion branch and stack, die anstelle von branch and link verwendet werden kann. branch and stack ändert lediglich die Statusinformationen in Form der Instruktionsadresse im PSW. branch and stack erzeugt einen Statuseintrag, der als Statuseintrag der Verzweigung bezeichnet wird; dieser Statuseintrag ist identisch mit einem Statuseintrag für den Programmaufruf, enthält jedoch eine Angabe, daß er durch branch and stack erzeugt wurde, und anstelle einer PC-Nummer die Verzweigungsadresse.
  • Das Bit für den Adressierungsmodus und die Instruktionsadresse, die Teil des vollständigen, in einem Statuseintrag der Verzweigung gespeicherten PSW sind, können entweder die aktuellen Werte des PSW aufweisen oder in einem Register als Operand von BRANCH AND STACK angegeben werden. Dieses Register kann seine Verbindungsinformationen durch die Instruktion BRANCH AND LINK, BRANCH AND SAVE AND SET MODE oder BRANCH AND SET MODE erhalten haben. Auf diese Weise kann BRANCH AND STACK entweder in einem aufrufenden Programm oder am Eingangspunkt (bzw. in der Nähe des Eingangspunktes) eines aufgerufenen Programmes verwendet werden; in beiden Fällen wird eine Instruktion PROGRAM RETURN am Ende des aufgerufenen Programmes korrekt an das aufrufende Programm zurückgegeben. Durch BRANCH AND STACK an einem Eingangspunkt kann der Verbindungsstapel ohne Änderung von vorherigen aufrufenden Programmen verwendet werden.
  • Die MAS-Instruktion PROGRAM RETURN (PR) dient der Rückkehr von einer vom Programm vorgegebenen Steuerung mit einem Stapelprogrammaufruf oder der Instruktion BRANCH AND STACK. PROGRAM RE- TURN veranlaßt die logische Löschung des letzten Statuseintrages des Verbindungsstapels, bei dem es sich entweder um einen Statuseintrag für den Programmaufruf oder um einen Statuseintrag der Verzweigung handeln kann. Wenn der letzte Statuseintrag ein Statuseintrag für den Programmaufruf ist, stellt PROGRAM RETURN die gesamten in dem Eintrag gespeicherten Statusinformationen wieder her, läßt jedoch die Inhalte der Universalregister 15, 0 und 1 sowie der Zugriffsregister 15, 0 und 1 unverändert. Wenn der letzte Statuseintrag ein Statuseintrag der Verzweigung ist, stellt PROGRAM RETURN lediglich das vollständige PSW und den Inhalt der Universalregister 2 bis 14 sowie der Zugriffsregister 2 bis 14 wieder her. PROGRAM RETURN läßt die PER-Maske im PSW jedoch immer unverändert, um eine PER-Aktivierung oder Deaktivierung nicht aufzuheben, die möglicherweise während der Ausführung des aufgerufenen Programmes erfolgt ist.
  • Ein Bit kann in einem Statuseintrag des Verbindungsstapels auf Eins gesetzt werden, um eine Programmunterbrechung zu veranlassen, wenn PROGRAM RETURN den Eintrag verarbeitet. Das Steuerprogramm kann dieses Bit auf Eins setzen, um eine ungewollte Verwendung von PROGRAM RETURN zu verhindern, z. B. wenn die zuletzt ausgeführte Verbindungsinstruktion eine Instruktion für eine Supervisor-Aufruf war; in diesem Fall sollte vor PROGRAM RETURN der EXIT-Service des Steuerprogrammes verwendet werden.
  • Der Beginn eines Jobabschnittes, der zumindest anfänglich aus einer einzigen zuteilbaren Einheit besteht, erfolgt in einem Adreßraum, der diesem Jobabschnitt eindeutig zugeordnet ist. Dieser Adreßraum wird als Ausgangsadreßraum des Jobabschnittes bezeichnet. Das System stellt die Hauptsteuerblöcke, die für den Jobabschnitt stehen (z. B. die Position, in der der Status gespeichert wird, wenn der Jobabschnitt nicht zugeteilt wird) in den Ausgangsadreßraum des Jobabschnittes. Wenn der Jobabschnitt mit der Instruktion PROGRAM CALL die Steuerung an einen anderen Adreßraum überträgt und anschließend eine Ein-/Ausgabe oder eine externe Unterbrechung auftritt, muß der Inhalt des Steuerregisters ohne MAS geändert werden, damit der Zugriff auf den Ausgangsadreßraum möglich ist und der Status des Abschnitts gerettet werden kann.
  • Um den Zugriff auf den Ausgangsadreßraum effektiver zu gestalten, umfaßt MAS einen Verweis auf die Ausgangssegmenttabelle sowie einen anderen Adreßraummodus, den sogenannten Ausgangsadreßraummodus, der durch Biteinstellungen im PSW definiert wird. Das neue PSW, das bei einer Unterbrechung durch die Maschine geladen wird, kann den Ausgangsadreßraummodus angeben und so den sofortigen Zugriff auf den Ausgangsadreßraum gestatten.
  • Die Zugriffsregister sind 32-Bit-Hardwareregister, die dem Anwendungsprogramm zur Verfügung stehen. Ein Zugriffsregister (AR) kann verwendet werden, um bei Bezugnahme auf den Speicher ein Operandenbasisadreßregister einem Adreßraum zuzuordnen. Die grundlegende Funktion von AR besteht in der Erweiterung des 370/XA Instruktionssatzes für die Verarbeitung von Instruktionen und Speicheroperanden in Mehrfachadreßräumen.
  • Es gibt sechzehn ARs, die jeweils direkt einem GPR zugeordnet sind; d. h. AR0 ist GPR0, AR1 ist GPR1, . . . und AR15 ist GPR15 zugeordnet. ARs sind nur am Adressierungsmechanismus beteiligt, wenn die Zentraleinheit sich im Zugriffsregistermodus befindet, der durch die Bits 16 und 17 des Programmstatuswortes (PSW) bestimmt wird.
  • ARs haben die folgenden allgemeinen Attribute:
  • 1. Die Inhalte der Zugriffsregister können durch ein Programm im Anwendungs- oder Supervisor-Status beliebig verarbeitet werden, unabhängig davon, ob es sich im Zugriffsregistermodus befindet oder nicht.
  • 2. Instruktionen in der Architektur dienen dem Laden und Speichern der AR-Inhalte aus dem Speicher, der Übertragung der AR-Inhalte in GPRs und umgekehrt und dem Kopieren von Werten aus einem Zugriffsregister in ein anderes.
  • 3. Der Inhalt eines Zugriffsregisters ist ein Token, das einen Adreßraum über einen Hardware-Referenztabellenprozeß, die Zugriffsregisterumsetzung ART, bestimmen kann. Dieses Token wird als Token für einen Zugriffslisteneingang (ALET) bezeichnet.
  • 4. Die Hardware ordnet den ALET-Wert in einem AR einem Adreßraum zu, wenn im Zugriffsregistermodus auf den Speicher Bezug genommen wird. Das Zugriffsregister wird in der Hardware implizit durch die Verwendung des Basisadreßregisterfeldes der Instruktion bestimmt. Der implizite Verweis auf das AR gestattet die Erweiterung der Zugriffsfunktion auf Mehrfachadreßräume für vorhandene 370/XA Instruktionen, ohne daß deren Maschinencodeformat geändert werden muß.
  • 5. Das dem GPR entsprechende AR, das im Indexregisterfeld einer RX-Instruktion angegeben ist, ist an der Auswahl eines Adreßraumes nicht beteiligt.
  • 6. Alle Instruktionen sowie das Ziel einer Instruktion EXECUTE werden bei Ausführung im Zugriffsregistermodus immer aus dem Primäradreßraum abgerufen.
  • 7. Der gleiche ALET-Wert kann in mehreren ARs enthalten sein.
  • 8. Das AR wird nur im Zugriffsregistermodus für die Adressierung verwendet, wenn die PSW-Bit 16 und 17 den Wert 0 bzw. 1 haben.
  • Die Zugriffsliste ist eine Tabelle der Adressierungseinrichtung, die mit Zugriffsregistern (AR) verwendet wird und in Form einer Zugriffsliste der zuteilbaren Einheit (DUAL) oder einer Zugriffsliste des Primäradreßraumes (PSAL) vorliegen kann. Die Eingänge in der AL definieren die Adreßräume, die mit AR für eine gegebene DU adressiert werden können. Wenn eine Speicherbezugsinstruktion im Zugriffsregistermodus ausgeführt wird, wird das Basisadreßregisterfeld der einzelnen Operanden einem Eintrag in der AL zugeordnet, der durch ein Token für einen Zugriffslisteneingang (ALET) bestimmt wird, das wiederum in dem entsprechenden Zugriffsregister enthalten ist.
  • Ein Zugriffsliste stellt eine Liste von Adressierungsvollmachten dar. Diese Vollmachten definieren Adreßräume, auf die die zugeordnete zuteilbare Einheit zugreifen kann. Bei der Adressierung im Zugriffsregistermodus kann die Hardware über Zugriffslisteneingänge einen alternativen Segementtabellenursprung ermitteln, der für die dynamische Adreßumsetzung für einen Speicheroperanden einer Instruktion verwendet werden soll. Dies ist über Zugriffslisteneinträge möglich, da diese die reale Adresse eines Eintrages der ASN-Sekundärtabelle (ASTE) enthalten, die wiederum die Adressen der dem Adreßraum zugeordneten Segmenttabelle und der Berechtigungstabelle enthält.
  • Glossar
  • ARM Berechtigungsschlüsselmaske
  • AL Zugriffsliste - Eine Tabelle der Adressierungseinrichtung
  • AR Zugriffsregister - Jedes Zugriffsregister ist einem GPR zugeordnet
  • ART Zugriffsregisterumsetzung - Eine Methode der Zuordnung einer STD (Segmenttabellenbezeichnung) zu einem Zugriffsregister
  • AX Berechtigungsindex
  • ALB ART-Umsetzpuffer - Eine ART wird immer dann ausgeführt, wenn ein AR von einem B-Feld-Speicheroperandenbezug in einem GPR bezeichnet wird; der ALB reduziert die Anzahl Speicherreferenzen während einer ART
  • ALE Zugriffslisteneingang
  • ALEAX Index der Berechtigung für einen Zugriffslisteneingang
  • ALEN Nummer des Zugriffslisteneinganges - Die Bits 16 bis 31 des ALET bilden die Nummer des Zugriffslisteneintrages des bezeichneten ALE
  • ALL Zugriffslistenlänge - Wird in einem Steuerregister als vorbestimmte Nummer gespeichert und gestattet maximal 1024 Zugriffslisteneingänge
  • ALET Token für einen Zugriffslisteneingang - Ein ALET bezeichnet einen Eintrag in einer Zugriffsliste
  • ALESN Folgenummer für den Zugriffslisteneintrag - Die Bits 8 bis 15 des ALET und des ALE
  • ASN Adreßraumnummer - Steht für einen Adreßraum
  • ASTE ASN-Sekundärtabelleneingang - Eine Erweiterung des 370/XA ASTE in der herkömmlichen Technik; enthält ein 1-Bit und eine STD
  • ASTESN ASTE-Folgenummer - Die ASTESN im ALE wird auf Übereinstimmung mit der ASTESN im ASTE überprüft
  • ATL Berechtigungstabellenlänge
  • DAS Doppeladreßraum
  • DASD Direktzugriffspeicher
  • DAT Dynamische Adreßumsetzung - Verwendet eine STD für die Umsetzung einer virtuellen Adresse in eine reale Hauptspeicheradresse
  • DUAL Zugriffsliste der zuteilbaren Einheit
  • DUALD Die DUAL-Bezeichnung - Besteht aus dem realen Ursprung und der Länge der DUAL
  • DUCT Steuertabelle der zuteilbaren Einheit - Enthält die DUALD, wird durch CR2 angegeben
  • EAX Index der erweiterten Berechtigung
  • EHM Eintragsschlüsselmaske
  • ETE Eintrag der Eingangstabelle
  • GPR Universalregister - Enthält Operanden und Adressen
  • LTD Bezeichnung für die Verbindungstabelle
  • MAS Mehrfachadreßraum
  • P-Bit Bit des ALET für die Auswahl von DUAL oder PSAL
  • PRIVAT-Bit P-Bit des ALE, das angibt, ob alle Benutzer Zugriff haben oder ob ein Berechtigungsmechanismus aufgerufen wird
  • PASTE Primär-ASN-Sekundärtabelleneingang - Enthält PSAL und LTD
  • PC-cp PROGRAM CALL TO CURRENT PRIMARY (Programmaufruf für aktuellen Primäradreßraum)
  • PC-ss PROGRAM CALL WITH SPACE SWITCHING (Programmaufruf mit Adreßraumwechsel)
  • PHM PSW-Schlüsselmaske
  • PSAL Zugriffsliste des Primäradreßraumes
  • PSALD PSAL-Bezeichnung - Besteht aus dem realen Ursprung und der Länge im Primär-ASTE
  • PSTD Bezeichnung für die Primärsegmenttabelle
  • PSW Programmstatuswort
  • SSTD Bezeichnung für die Sekundärsegmenttabelle
  • STD Segmenttabellenbezeichnung

Claims (15)

1. Steuerungsmittel für die Umsetzung von virtuellen Adressen, die folgendes umfassen
eine Mehrzahl von Universalregistern (GPR), die eine erste Komponente einer virtuellen Adresse enthalten,
eine Mehrzahl von Zugriffsregistern (AR), die jeweils einem bestimmten Universalregister (GPR) zugeordnet sind, wobei jedes Zugriffsregister (AR) ein Zugriffslisteneingangs-Token (ALET) enthalten kann,
ein Zugriffslistenmittel (AL 25) mit Zugriffslisteneingängen, die jeweils durch ein Zugriffslisteneingangs-Token (ALET) identifiziert werden, und die die Ermittlung einer zweiten Komponente (STD) für die Umsetzung der virtuellen Adresse ermöglichen,
Mittel für die Bestimmung eines Zugriffslisteneinganges (ALE) in dem Zugriffslistenmittel (25), der einem Zugriffslisteneingangs-Token (ALET) in einem Zugriffsregister (AR) entspricht, der dann ausgewählt wird, wenn das zugeordnete Universalregister (GPR) bei einer Adressierungsoperation aktiviert wird,
Mittel für die Umsetzung einer virtuellen Adresse (DAT 18), mit dem die erste und zweite Komponente für die Umsetzung der virtuellen Adresse verwendet wird, um die entsprechende reale Adresse zu erhalten,
wobei das Steuermittel gekennzeichnet ist durch
eine Sekundärtabelle für die Adreßraumnummer (AST 30), die die Sekundärtabelleneingänge für die Adreßraumnummer (ASTE) enthält, und
ein Mittel für die Bestimmung eines Sekundärtabelleneinganges für die Adreßraumnummer (ASTE), der durch den Inhalt des Zugriffslisteneinganges (ALE) identifiziert wird, wobei der Sekundärtabelleneingang für die Adreßraumnummer (ASTE) die zweite Komponente für die Umsetzung der virtuellen Adresse enthält.
2. Steuerungsmittel für die Umsetzung einer virtuellen Adresse aus Anspruch 1, wobei jedes Adreßregister (AR) ferner folgendes umfaßt
eine Zugriffsliste der zuteilbaren Einheit (DUAL), die der aktuellen Arbeitseinheit zugeordnet ist,
eine Zugriffsliste der Primäradreßräume (PSAL), die dem Primäradreßraum des Programmes zugeordnet wird, das den Service ausführt, und
ein Mittel, mit dem aus dem Zugriffslisteneingangs-Token (ALET) ermittelt wird, ob die Zugriffsliste der zuteilbaren Einheit (DUAL) oder die Zugriffsliste der Primäradreßräume (PSAL) verwendet werden soll, und mit dem ferner der Zugriffslisteneingang (ALE) aus der zutreffenden Zugriffsliste (AL) für die Zugriffsregisterumsetzung (ART) ausgewählt wird.
3. Steuerungsmittel für die Umsetzung einer virtuellen Adresse aus den Ansprüchen 1 und 2, die ferner gekennzeichnet sind durch
Mittel, mit denen ermittelt wird, ob ein Zugriffslisteneingangs-Token (ALET) einen vorbestimmten Wert aufweist,
Steuerregistermittel, die einen vorausgewählten Wert einer zweiten Komponente (STD) für die Umsetzung einer virtuellen Adresse enthalten, und
Mittel, mit denen aus den Steuerregistermittels der vorausgewählte Wert der zweiten Komponente (STD) für die Mittel zur Steuerung der Umsetzung einer virtuellen Adresse bereitgestellt wird, wenn die Mittel für die Bestimmung des Werts feststellen, daß das Zugriffslisteneingangs-Token (ALET) den vorbestimmten Wert aufweist.
4. Steuerungsmittel für die Umsetzung einer virtuellen Adresse gemäß einem der Ansprüche 1 bis 3, die gekennzeichnet sind durch
einen Umsetzpuffer für die Zugriffsregisterumsetzung (ALB), der so verbunden ist, daß er Zugriffslisteneingangs-Token (ALET) von den Zugriffsregistern (AR) und die Ergebnisse der Zugriffsregisterumsetzung (ART) von dem Eingang der ASN-Sekundärtabelle (ASTE) empfangen und die Ergebnisse speichern kann,
Mittel für die Erzeugung eines Bezeichners TAG für jedes Zugriffslisteneingangs-Token (ALET) und für jedes Ergebnis der Zugriffsregisterumsetzung (ART), so daß bei der erneuten Verwendung eines bestimmten Tokens für einen Zugriffslisteneingang (ALET) das korrekte Ergebnis der Zugriffsregisterumsetzung (ART) zur Verfügung gestellt wird, so daß die Zugriffsregisterumsetzung (ART) nicht wiederholt werden muß.
5. Verfahren der Zugriffsregisterumsetzung für Mittel zur Steuerung der Umsetzung einer virtuellen Adresse, die eine Mehrzahl von Universalregistern (20) mit einer ersten Komponente einer virtuellen Adresse und eine Mehrzahl von Zugriffsregistern (22) enthalten, die jeweils einem bestimmten Universalregister (20) zugeordnet sind, wobei das Verfahren die folgenden Schritte umfaßt:
a. Gleichzeitiges Auswählen eines Universalregisters (20) und des zugeordneten Zugriffsregisters (22) und Ermitteln eines Zugriffslisteneinganges (ALE) in einer Zugriffsliste (25, 24), die durch den Inhalt des Zugriffsregisters angegeben wird, aus dem Adreßbereich des Inhalts des ausgewählten Zugriffsregisters (22) mittels eines vorbestimmten arithmetischen Prozesses;
b. Auswählen des Zugriffslisteneinganges aus Schritt a. und Ermitteln eines Sekundärtabelleneinganges für die Adreßraumnummer (ASTE) aus dem betreffenden Inhalt;
c. Auswählen eines Sekundärtabelleneinganges für die Adreßraumnummer (ASTE) aus Schritt b. und Ermitteln einer Segmenttabellenbezeichnung (STD), die eine zweite Komponente der virtuellen Adresse ergibt, aus dem betreffenden Inhalt, und
d. Ermitteln einer realen Adresse aus der ersten Komponente des ausgewählten Universalregisters (20) sowie aus der zweiten Komponente aus Schritt c. unter Verwendung des Mittels für die Umsetzung einer virtuellen Adresse.
6. Das Verfahren aus Anspruch 5, das weiter folgendes umfaßt
a. (1) Verifizieren des in Schritt a. ermittelten Zugriffslisteneinganges (ALE), indem ein Identifizierungsbereich des Inhalts des Zugriffsregisters (AR) mit einen entsprechenden Identifizierungsbereich des Zugriffslisteneinganges (ALE) verglichen wird, und
a. (2) Erzeugen einer Ausnahmebedingung, wenn der Vergleich keine Übereinstimmung ergibt, oder Fortsetzen des Umsetzungsprozesses mit weiteren Schritten, wenn der Vergleich eine Übereinstimmung ergibt.
7. Das Verfahren nach Anspruch 5, das folgendes umfaßt
b. (1) Verifizieren der Berechtigung für die Verwendung des ASN-Sekundärtabelleneinganges (ASTE) aus Schritt b., indem ein Identifizierungsbereich des ANS-Sekundärtabelleneinganges (ASTE) mit einem Identifizierungsbereich des Zugriffslisteneinganges (ALE) verglichen wird, und
b. (2) Erstellen einer Ausnahmebedingung, wenn der Vergleich keine Übereinstimmung ergibt, oder Fortsetzen des Umsetzungsprozesses mit weiteren Schritten, wenn der Vergleich eine Übereinstimmung ergibt.
8. Das Verfahren nach Anspruch 5, das ferner folgendes umfaßt
Ermitteln eines Zugriffslistenbezeichners aus dem Inhalt des Zugriffsregisters (AR), um festzustellen, ob die im Zugriffsregister (AR) angegebene Zugriffsliste (AL) die Zugriffsliste der zuteilbaren Einheit (DUAL) oder die Zugriffsliste der Primäradreßräume (PSAL) ist, und
Ermitteln der Position der Zugriffsliste der zuteilbaren Einheit (DUAL) aus einem ersten vorausgewählten Steuerregister oder der Position der Zugriffsliste der Primäradreßräume (PSAL) aus einem zweiten vorausgewählten Steuerregister, wie aus dem Inhalt des Zugriffsregisters (AR) im vorherigen Schritt hervorgeht.
9. Das Verfahren nach Anspruch 5, das ferner folgendes umfaßt
a. (1) Verifizieren des in Schritt a. ermittelten Zugriffslisteneinganges (ALE), indem ein Identifizierungsbereich des Inhalts des Zugriffsregisters (AR) mit einem entsprechenden Identifizierungsbereich des Zugriffslisteneinganges (ALE) verglichen wird, und
a. (2) Erzeugen einer Ausnahmebedingung, wenn der Vergleich keine Übereinstimmung ergibt, oder Fortsetzen des Umsetzungsprozesses mit weiteren Schritten, wenn der Vergleich eine Übereinstimmung ergibt.
10. Das Verfahren nach Anspruch 5, das folgendes umfaßt
b. (1) Verifizieren der Berechtigung für die Verwendung des ASN-Sekundärtabelleneinganges (ASTE) aus Schritt b., indem ein Identifizierungsbereich des ANS-Sekundärtabelleneinganges (ASTE) mit einem Identifizierungsbereich des Zugriffslisteneinganges (ALE) verglichen wird, und
b. (2) Erzeugen einer Ausnahmebedingung, wenn der Vergleich keine Übereinstimmung ergibt, oder Fortsetzen des Umsetzungsprozesses mit weiteren Schritten, wenn der Vergleich eine Übereinstimmung ergibt.
11. Das Verfahren nach Anspruch 5, das folgendes umfaßt
a. (1) Verifizieren des in Schritt a. ermittelten Zugriffslisteneinganges (ALE), indem ein Identifizierungsbereich des Inhalts des Zugriffsregisters (AR) mit einem entsprechenden Identifizierungsbereich des Zugriffslisteneinganges (ALE) verglichen wird, und
a. (2) Erzeugen einer Ausnahmebedingung, wenn der Vergleich keine Übereinstimmung ergibt, oder Fortsetzen des Umsetzungsprozesses mit weiteren Schritten, wenn der Vergleich eine Übereinstimmung ergibt.
12. Das Verfahren nach Anspruch 5, das folgendes umfaßt
e. Bereitstellen einer Kopie des Tokens für einen Zugriffslisteneingang (ALET) für den Umsetzpuffer für die Zugriffsregisterumsetzung (ALB), wenn ein Zugriffslisteneingangs-Token (ALET) von einem Zugriffsregister (AR) ausgegeben wird;
f. Bereitstellen einer Segmenttabellenbezeichnung (STD) für die Umsetzung einer virtuellen Adresse aus dem Umsetzpuffer für die Zugriffsregisterumsetzung (ALB), wenn das Token für die Zugriffsregisterumsetzung (ALET) sich in dem Umsetzpuffer für die Zugriffsregisterumsetzung (ALB) befindet, und wenn die resultierende Segmenttabellenbezeichnung (STD) aus einem vorherigen Umsetzpuffer für die Zugriffsregisterumsetzung (ALB) stammt;
g. Speichern des Tokens für die Zugriffsregisterumsetzung (ALET) in dem Umsetzpuffer für die Zugriffsregisterumsetzung (ALB), wenn das Token für die Zugriffsregisterumsetzung (ALET) nicht bereits in dem Umsetzpuffer für die Zugriffsregisterumsetzung (ALB) gespeichert ist, und ferner Speichern der Ergebnisse der Operation zur Zugriffsregisterumsetzung (ART) in dem Token für die Zugriffsregisterumsetzung (ALET), so daß die Ergebnisse zur Verfügung stehen, wenn das Token für die Zugriffsregisterumsetzung (ALET) erneut ausgegeben wird.
13. Das Verfahren nach Anspruch 5, das gekennzeichnet ist durch
a. (3) Ermitteln unter Verwendung eines Bezeichners für einen Privatbereich des Zugriffslisteneinganges (ALE) aus Schritt a., ob der Zugriffslisteneingang (ALE) von einem beliebigen Benutzer verwendet werden kann, oder ob der Berechtigungsmechanismus verwendet werden muß, und
a. (4) Fortfahren mit weiteren Schritten, wenn der Zugriffslisteneingang (ALE) von einem beliebigen Benutzer verwendet werden kann, oder Verwenden des Berechtigungsmechanismus, wenn der Privatbezeichnermechanismus dies erforderlich macht.
14. Das Verfahren nach den Ansprüchen 4 und 5, das ferner folgendes umfaßt
a. (5) Ermitteln, ob der Inhalt des Adreßregisters (AR) mit einem oder mehreren vorbestimmten Werten übereinstimmt, und
a. (6) Auswählen eines angegebenen Steuerregisters mit einer Segmenttabellenbezeichnung (STD) zur Verwendung bei der Umsetzung einer virtuellen Adresse, die einem bestimmten, vorgegebenen Wert in dem Adreßregister (AR) entspricht.
15. Das Verfahren nach Anspruch 14, wobei gilt
wenn das Zugriffsregister (AR) nicht einen oder mehrere vorbestimmte Werte enthält, dann;
Ermitteln eines Zugriffslistenbezeichners aus dem Inhalt des Zugriffsregisters (AR), um festzustellen, ob die in dem Zugriffsregister (AR) angegebene Zugriffsliste (AL) die Zugriffsliste der zuteilbaren Einheit (DUAL) oder die Zugriffsliste der Primäradreßräume (PSAL) ist, und Ermitteln der Position der Zugriffsliste der zuteilbaren Einheit (DUAL) aus einem ersten vorausgewählten Steuerregister oder der Position der Zugriffsliste der Primäradreßräume (PSAL) aus einem zweiten vorausgewählten Steuerregister, wie aus dem Inhalt des Zugriffsregisters (AR) im vorherigen Schritt hervorgeht.
DE68923386T 1988-02-10 1989-01-17 Informationsverarbeitungssystem. Expired - Fee Related DE68923386T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US15468988A 1988-02-10 1988-02-10

Publications (2)

Publication Number Publication Date
DE68923386D1 DE68923386D1 (de) 1995-08-17
DE68923386T2 true DE68923386T2 (de) 1996-03-28

Family

ID=22552346

Family Applications (1)

Application Number Title Priority Date Filing Date
DE68923386T Expired - Fee Related DE68923386T2 (de) 1988-02-10 1989-01-17 Informationsverarbeitungssystem.

Country Status (5)

Country Link
EP (1) EP0327839B1 (de)
JP (1) JPH01228038A (de)
BR (1) BR8900553A (de)
CA (1) CA1308202C (de)
DE (1) DE68923386T2 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0690688B2 (ja) * 1990-10-20 1994-11-14 富士通株式会社 変換バッファを具備する情報処理装置
US5381537A (en) * 1991-12-06 1995-01-10 International Business Machines Corporation Large logical addressing method and means
US5426748A (en) * 1992-01-03 1995-06-20 International Business Machines Corporation Guest/host extended addressing method and means with contiguous access list entries
US5764969A (en) * 1995-02-10 1998-06-09 International Business Machines Corporation Method and system for enhanced management operation utilizing intermixed user level and supervisory level instructions with partial concept synchronization
US8572345B2 (en) 2011-09-16 2013-10-29 Freescale Semiconductor, Inc. Memory management unit (MMU) having region descriptor globalization controls and method of operation

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5850B2 (ja) * 1976-11-01 1983-01-05 株式会社日立製作所 主記憶拡張装置のアクセス方式
US4355355A (en) * 1980-03-19 1982-10-19 International Business Machines Corp. Address generating mechanism for multiple virtual spaces
EP0040703B1 (de) * 1980-05-23 1986-07-16 International Business Machines Corporation Verbesserung eines Datenverarbeitungsapparates vom Typ System/370
US4521846A (en) * 1981-02-20 1985-06-04 International Business Machines Corporation Mechanism for accessing multiple virtual address spaces

Also Published As

Publication number Publication date
DE68923386D1 (de) 1995-08-17
BR8900553A (pt) 1989-10-10
EP0327839A2 (de) 1989-08-16
EP0327839A3 (en) 1990-09-05
EP0327839B1 (de) 1995-07-12
JPH01228038A (ja) 1989-09-12
CA1308202C (en) 1992-09-29

Similar Documents

Publication Publication Date Title
DE68924720T2 (de) Verfahren und Vorrichtung für Zugriffsrechtensteuerung.
DE3854616T2 (de) Nichthierarchischer Programmberechtigungsmechanismus.
DE68923627T2 (de) Steuerungsverfahren und -vorrichtung für Nullursprungsdatenräume.
DE10357804B4 (de) Neu-Beanspruchung vorhandener Felder in Adressübersetzungsdatenstrukturen zum Erweitern der Kontrolle über Speicherzugriffe
DE69029504T2 (de) Verfahren zum Übersetzen und Kopieren von Adressen
DE3688978T2 (de) Seitenspeicherverwaltungseinheit mit der fähigkeit nach wahl mehrere adressräume zu unterstützen.
DE69721590T2 (de) Ein bereichsbasiertes seiten-table-walk-bit verwendendes verfahren sowie vorrichtung
DE112005003863B3 (de) Verwalten von Prozessorressourcen während Architekturereignissen
DE4040963C2 (de) Datenverarbeitungssystem
DE68923863T2 (de) Ein-/Ausgabecachespeicherung.
DE3280446T2 (de) Digitales Datenverarbeitungssystem.
DE10297433B4 (de) Speicherverwaltungseinheit, Verfahren zum Bereitstellen einer Speicherzugriffssicherheit auf der Basis einer linearen Adresse und Prozessor
DE3587694T2 (de) Speicherzugriffssteuergerät zur Realisierung von geschützten Gebieten in einem Speicher, und mit solchem Speicherzugriffssteuergerät ausgerüsteter Speicher.
DE602004011018T2 (de) Ungültigkeitserklärung eines speichers und löschen von puffereinträgen
DE3751645T2 (de) Anteilige Nutzung von Kopie-beim-Schreiben-Segmenten in einer Datenverarbeitungsanlage mit virtuellen Maschinen und virtuellem Speicher
DE3889816T2 (de) Virtuelle Ein/Ausgabebefehle.
DE69022716T2 (de) Mehrrechnersystem mit verteilten gemeinsamen Betriebsmitteln und dynamischer und selektiver Vervielfältigung globaler Daten und Verfahren dafür.
DE3689961T2 (de) Verfahren zur Verarbeitung von Unterbrechungen in einem digitalen Rechnersystem.
DE69738101T2 (de) Verwaltung des Zugangs zu Objekten mit Hilfe von Referenzen mit drei Zuständen
DE112007001988T5 (de) Gemeinsames Nutzen von Informationen durch Gäste in einer Virtuelle-Maschine-Umgebung
DE4040994A1 (de) Datenverarbeitungssystem und -verfahren
DE69028269T2 (de) Virtuelles Adressierungsverfahren zum Betrieb eines Speichers in einer Datenverarbeitungsanlage und Einrichtung zur Ausführung besagten Verfahrens
DE112013006590T5 (de) Handhabung von Speicherzugriffsvorgängen in einer Datenverarbeitungsvorrichtung
DE102014014076A1 (de) Reduzierte Adressenkonvertierung mit mehreren Seitengrößen
DE69818135T2 (de) Verfahren zum Zugriff auf Datenbankinformation

Legal Events

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