DE4125194A1 - Virtuelle maschine und verfahren zur steuerung dieser virtuellen maschine - Google Patents

Virtuelle maschine und verfahren zur steuerung dieser virtuellen maschine

Info

Publication number
DE4125194A1
DE4125194A1 DE4125194A DE4125194A DE4125194A1 DE 4125194 A1 DE4125194 A1 DE 4125194A1 DE 4125194 A DE4125194 A DE 4125194A DE 4125194 A DE4125194 A DE 4125194A DE 4125194 A1 DE4125194 A1 DE 4125194A1
Authority
DE
Germany
Prior art keywords
address
level
virtual
main memory
signal line
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE4125194A
Other languages
English (en)
Other versions
DE4125194C2 (de
Inventor
Osamu Onodera
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE4125194A1 publication Critical patent/DE4125194A1/de
Application granted granted Critical
Publication of DE4125194C2 publication Critical patent/DE4125194C2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/109Address translation for multiple virtual address spaces, e.g. segmentation

Description

Die vorliegende Erfindung betrifft ein Informationsverar­ beitungssystem und insbesondere ein virtuelles Maschi­ nensystem mit einer Adressenübersetzungsfunktion und ein Verfahren zur Ausführung dieser Funktion.
In einem Informationsverarbeitungssystem, das ein vir­ tuelles Speichersystem verwendet, ist es notwendig, eine virtuelle Adresse in eine Absolutadresse des Haupt­ speichers zu übersetzen, wenn das Informationsverarbei­ tungssystem auf Daten oder Befehle im Hauptspeicher zu­ greift.
Eine herkömmliche Technik zur Übersetzung einer vir­ tuellen Adresse in eine Absolutadresse ist in allgemeinen Zügen in den IBM-Veröffentlichungen "IBM System 370 Prin­ ciples of Operation" (GA-22-7000), "IBM System 370 Exten­ ded Architecture Principles of Operation" (SA 22-7085) und "IBM Enterprise System Architecture/370 Principles of Operation" (SA 22-7200) beschrieben.
Kürzlich ist ein als virtuelles Maschinensystem bezeich­ netes Informationsverarbeitungssystem verwirklicht worden und in allgemeinen Gebrauch gekommen. Wie in Fig. 1 ge­ zeigt, wird durch das virtuelle Maschinensystem das In­ formationsverarbeitungssystem so konfiguriert, daß eine Mehrzahl von virtuellen Maschinen unter einer realen Ma­ schine erzeugt werden. Auf der realen Maschine läuft ein Steuerprogramm für die virtuellen Maschinen (VMCP), wäh­ rend in der Mehrzahl der virtuellen Maschinen unter der Steuerung des VMCP jeweils ein Betriebssystem (OS) läuft.
Wie in Fig. 2 gezeigt, erzeugt das auf der realen Ma­ schine laufende OS (welches das VMCP ist und mit Ebene-1- OS bezeichnet wird) eine Adressenübersetzungstabelle, während das auf der virtuellen Maschine laufende OS (Ebene-2-OS) in einem virtuellen Adreßraum des Ebene-1-OS (virtueller Hauptspeicher der Ebene-1) läuft.
Folglich ist es im herkömmlichen virtuellen Maschinen­ system zur Übersetzung der virtuellen Adresse des Ebene- 2-OS in die Absolutadresse des Ebene-1-OS notwendig, die Adresse unter Verwendung zweier Adressenübersetzungs­ tabellen, von denen eine vom Ebene-1-OS und die andere vom Ebene-2-OS erzeugt wird, zu übersetzen. Im Verlauf der Adressenübersetzung ist es üblicherweise erforder­ lich, daß bis zu achtmal auf die Adressenübersetzungs­ tabellen zugegriffen wird, wie in Fig. 3 gezeigt ist. Wenn daher die Adressenübersetzung mittels einer Hard­ ware-Logik erzielt werden soll, werden dadurch die Kosten erhöht. Folglich wird die Adressenübersetzung üblicher­ weise von einem Mikroprogramm, das als virtuelle Maschi­ nenunterstützung (VMA) bezeichnet wird, oder mittels ei­ ner Schattenübersetzungstabelle, die durch einen Satz von Adressenübersetzungstabellen gegeben ist, der vom Ebene- 1-OS durch die Kombination von Übersetzungsinformation zweier Sätze von Adressenübersetzungstabellen erzeugt wird, wie dies in Fig. 2 gezeigt ist, ausgeführt. In dem die Schattenübersetzungstabelle verwendeten Verfahren wird die Übersetzung von der virtuellen Adresse der Ebene-2 in die Absolutadresse der Ebene-1 quasi wie die Übersetzung der virtuellen Adresse der Ebene-1 in die Ab­ solutadresse der Ebene-1 mittels Hardware ausgeführt, so daß der zusätzliche Leistungsbedarf für die Adressenüber­ setzung gesenkt wird. Es bleibt jedoch der zusätzliche Leistungsbedarf zur Erzeugung der Schattenübersetzungsta­ belle durch das VMCP, das durch das Ebene-1-OS gegeben ist. Dieser zusätzliche Leistungsbedarf bedeutet für das System eine nicht zu vernachlässigende Absenkung der Gesamtverarbeitungsleistung.
Ein Verfahren zur Beseitigung dieses zusätzlichen Lei­ stungsbedarfs besteht in der hardwaremäßigen Verwirkli­ chung einer zweistufigen Adressenübersetzung. Ein Adres­ senübersetzungsprozeß hierfür ist in Fig. 3 gezeigt und in der IBM-Veröffentlichung "IBM System/370 Extended Ar­ chitecture Interpretive Execution" (SA 22-7095) in allge­ meinen Zügen beschrieben. Aus JP 57-2 12 680-A und aus JP 62-19 949-A ist eine Technik für spezielle Prozeduren zur Verwirklichung dieser Beschreibung bekannt.
Um die zweistufige Adressenübersetzung hardwaremäßig zu unterstützen, werden VMCPs des Ebene-1-OS und des Ebene­ 2-OS als virtuelle Maschinen erzeugt, während ein Ebene­ 3-OS als virtuelle Maschine unter der Steuerung des VMCP des Ebene-2-OS verwirklicht wird. In diesem Fall wird die Adressenübersetzung unter Verwendung dreier Adressenüber­ setzungstabellen ausgeführt, wie in Fig. 4 gezeigt ist. Es ist möglich, eine solche 3-Ebenen-Adressenübersetzung vollständig hardwaremäßig zu unterstützen, es ist jedoch erforderlich, pro Adressenübersetzung 32mal auf die Adressenübersetzungstabellen oder auf den Hauptspeicher zuzugreifen. Dies stellt ein nicht zu vernachlässigendes Problem für die Leistungsfähigkeit dar und erweist sich wegen des Anstiegs der Hardwarekosten als unpraktisch.
Eine herkömmliche Technik bezüglich eines speziellen Ver­ fahrens zur Implementierung der dreistufigen Adressen­ übersetzung ist aus US 47 92 895-A bekannt.
In der offenbarten herkömmlichen Technik wird das im Zu­ sammenhang mit Fig. 4 erläuterte VMCP als Ebene-1-OS und als Ebene-2-OS verwendet, während das Ebene-3-OS als vir­ tuelle Maschine unter der Steuerung des VMCP des Ebene-2- OS erzeugt wird, wobei durch die Kombination der Adres­ senübersetzungstabelle des Ebene-1-OS mit der Adres­ senübersetzungstabelle des Ebene-2-OS eine Schattenüber­ setzungstabelle erzeugt wird.
Das Verfahren zur Umwandlung der dreistufigen Adressen­ übersetzung in eine zweistufige Adressenübersetzung unter Verwendung der Schattenübersetzungstabelle kann den oben beschriebenen zusätzlichen Leistungsbedarf für die Adres­ senübersetzung verringern, es bleibt jedoch noch immer ein nicht zu vernachlässigender zusätzlicher Leistungsbe­ darf für die Erzeugung der Schattenübersetzungstabelle oder für deren Wartung.
Es ist eine Aufgabe der vorliegenden Erfindung, ein vir­ tuelles Maschinensystem zu schaffen, in dem ein Teil ei­ nes dreistufigen Adressenübersetzungsprozesses gegenüber entsprechenden bereits bekannten Prozessen abgewandelt ist, um eine dreistufige Adressenübersetzung ohne Erzeu­ gung einer Schattenübersetzungstabelle zu verwirklichen, so daß ein zusätzlicher Leistungsbedarf für die Vorberei­ tung und die Wartung der Schattenübersetzungstabelle eli­ miniert wird und die Gesamtleistungsfähigkeit des Systems verbessert wird.
Es ist eine weitere Aufgabe der vorliegenden Erfindung, ein virtuelles Maschinensystem zu schaffen, in dem ein Teil des dreistufigen Adressenübersetzungsprozeßes abge­ wandelt wird, um die Zunahme der Anzahl der Zugriffe auf die Adressenübersetzungstabelle bei der Adressenüberset­ zung und den zusätzlichen Leistungsbedarf zu unterdrüc­ ken, um so die Effizienz des Gesamtsystems zu verbessern.
Es ist eine weitere Aufgabe der vorliegenden Erfindung, ein virtuelles Maschinensystem zu schaffen, das die Adressenübersetzung mit drei oder mehr Stufen ohne Erhö­ hung der Anzahl der Zugriffe auf die Adressenüberset­ zungstabelle ausführen kann.
Es ist eine weitere Aufgabe der vorliegenden Erfindung, ein virtuelles Maschinensystem zu schaffen, das eine Adressenübersetzungsfunktion mit hoher Effizienz für die Adressenübersetzung besitzt, die Informationen benutzt, welche an die jeweilige Ebene des Adressenübersetzungs­ prozesses angepaßt ist.
Es ist eine weitere Aufgabe der vorliegenden Erfindung, ein virtuelles Maschinensystem zu schaffen, in dem ver­ hindert wird, daß aufgrund eines Fehlers in einer Adres­ senübersetzungstabelle in der virtuellen Maschine auf einen falschen realen Speicherbereich zugegriffen wird.
Es ist eine weitere Aufgabe der vorliegenden Erfindung, ein Verfahren zur Steuerung eines erfindungsgemäßen vir­ tuellen Maschinensystems zu schaffen.
Diese Aufgaben werden erfindungsgemäß gelöst durch die Abwandlung der Adressenübersetzungsverfahren in den ent­ sprechenden Prozessen der dreistufigen Adressenüberset­ zung, durch die Übersetzung der Adresse mittels eines Verfahrens, das im Ebene-1-OS keine Adressenübersetzungs­ tabelle verwendet, und durch die Erzielung der drei­ stufigen Adressenübersetzung bei Unterdrückung einer Zu­ nahme des Leistungs- und/oder Platzbedarfs.
Die obigen Aufgaben werden außerdem erfindungsgemäß da­ durch gelöst, daß die Beseitigung einer Schattenüber­ setzungstabelle, die eine Kombination von Adressenüber­ setzungstabellen des Ebene-1-OS und des Ebene-2-OS dar­ stellt, ermöglicht wird, indem ein Mittel verwendet wird, das bei der Adressenübersetzung des Ebene-1-OS keine Adressenübersetzungstabelle verwendet, um den Leistungs- und/oder Platzbedarf bei der Vorbereitung und der Wartung der Schattenübersetzungstabelle zu verringern.
Wie in Fig. 4 gezeigt, ist ein Ebene-1-OS in einer realen Maschine implementiert, während ein Ebene-2-OS unter der Steuerung des Ebene-1-OS und ein Ebene-3-OS unter der Steuerung des Ebene-2-OS läuft.
In Fig. 6 wird eine Übersicht über den erfindungsgemäßen Adressenübersetzungsprozeß gegeben. Eine virtuelle Adresse der Ebene-3 wird mittels einer vom Ebene-3-OS erzeugten Adressenübersetzungstabelle übersetzt, so daß eine reale Adresse der Ebene-3 erzeugt wird.
Die reale Adresse der Ebene-3 wird anschließend einer Präfix-Übersetzung mittels eines im Ebene-3-OS erzeugten Präfix-Wertes unterworfen, um eine Absolutadresse der Ebene-3 zu erzeugen.
Nun wird mit Bezug auf Fig. 5 die an sich bekannte Präfix-Übersetzungsfunktion erläutert. Diese Präfix-Über­ setzungsfunktion ist in der obenerwähnten Veröffentlichung beschrieben. Wenn in einem Informationsverarbeitungssy­ stem während eines Zugriffs auf den Hauptspeicher eine Adresse einen bestimmten Speicherbereich bezeichnet, übersetzt die Präfix-Übersetzungsfunktion die Hauptspei­ cheradresse, auf die zugegriffen werden soll, unter Ver­ wendung eines vorgegebenen Präfix-Wertes.
Wenn in der gebräuchlichen Präfix-Übersetzungsfunktion α der Präfix-Wert ist und das Informationsverarbeitungs­ system auf Adressen 0 bis 4095 des Hauptspeichers zugrei­ fen soll, werden die Adressen so übersetzt, daß auf die Adressen α + (0 bis 4095) zugegriffen wird. Wenn ferner das Informationsverarbeitungssystem auf Adressen α + (0 bis 4095) des Hauptspeichers zugreifen soll, werden die Adressen so übersetzt, daß auf die Adressen 0 bis 4095 zugegriffen wird. Die Adresse vor der Präfix-Übersetzung wird reale Adresse genannt, während die Adresse nach der Präfix-Übersetzung Absolutadresse genannt wird.
Nun wird die Erläuterung der Übersicht über den erfin­ dungsgemäßen Adressenübersetzungsprozeß mit Bezug auf Fig. 6 fortgesetzt. Nach der Präfix-Übersetzung wird zur Absolutadresse der Ebene-3 der Wert eines Startpunktes A im Hauptspeicher addiert, um eine virtuelle Adresse der Ebene-2 zu erzeugen.
Diese virtuelle Adresse der Ebene-2 wird anschließend un­ ter Verwendung einer Adressenübersetzungstabelle, die vom Ebene-2-OS erzeugt wird, einer Adressenübersetzung unter­ worfen, um eine reale Adresse der Ebene-2 zu erzeugen, die anschließend einer Präfix-Übersetzung mit einem Prä­ fix-Wert, der vom Ebene-2-OS erzeugt worden ist, unter­ worfen wird, um eine Absolutadresse der Ebene-2 zu erzeu­ gen.
Anschließend wird die Absolutadresse der Ebene-2 durch das Ebene-1-OS einer Adressenübersetzung unterworfen. Durch diese Adressenübersetzung wird erfindungsgemäß le­ diglich zur Absolutadresse der Ebene-2 der Wert eines Startpunktes B im Hauptspeicher addiert. Die Abso­ lutadresse der Ebene-2 ist die virtuelle Adresse der Ebene-1, die durch die Addition des Wertes des Startpunk­ tes B im Hauptspeicher in eine Absolutadresse der Ebene-1 übersetzt wird, ohne daß eine Adressenübersetzungstabelle verwendet wird.
Die erzeugte Absolutadresse wird daraufhin geprüft, ob sie in der spezifizierten Erweiterung des Hauptspeichers liegt, nachdem der Wert des entsprechenden Startpunktes im Hauptspeicher im Verlauf der Adressenübersetzung hin­ zuaddiert worden ist. Diese Prüfung wird ausgeführt, um einen Zugriff auf einen falschen realen Hauptspeicherbe­ reich zu verhindern, wenn in der Adressenübersetzungsta­ belle der virtuellen Maschine ein Fehler vorhanden ist.
Erfindungsgemäß werden in getrennten Adressenüberset­ zungsprozessen zwei oder mehr Startpunkte im Hauptspei­ cher verwendet, außerdem wird erfindungsgemäß im Ebene-1- OS keine Adressenübersetzungstabelle verwendet. Daher ist es nicht notwendig, eine Schattenübersetzungstabelle zu erzeugen, so daß die Anzahl der Zugriffe auf die Adres­ senübersetzungstabelle während des Adressenübersetzungs­ prozesses trotz der Verwendung einer dreistufigen Adres­ senübersetzung auf das Niveau der zweistufigen Adressen­ übersetzung gedrückt werden kann.
Weitere Aufgaben, Merkmale und Vorteile der Erfindung sind in den Neben- und Unteransprüchen, die sich auf be­ sondere Ausführungsformen der vorliegenden Erfindung be­ ziehen, angegeben.
Die Erfindung wird im folgenden anhand bevorzugter Aus­ führungsformen mit Bezug auf die Zeichnungen näher erläu­ tert; es zeigen:
Fig. 1 eine Darstellung einer Beziehung zwischen einer realen Maschine und einer virtuel­ len Maschine;
Fig. 2 eine schematische Darstellung einer ein­ stufigen Adressenübersetzung in einer virtuellen Maschine;
Fig. 3 ein Flußdiagramm zur Erläuterung eines einstufigen Adressenübersetzungsprozesses in der virtuellen Maschine;
Fig. 4 eine schematische Darstellung einer zwei­ stufigen Adressenübersetzung in der vir­ tuellen Maschine;
Fig. 5 eine Darstellung zur Erläuterung einer Präfix-Übersetzung;
Fig. 6 ein Flußdiagramm zur Erläuterung einer Übersicht über einen erfindungsgemäßen Adressenübersetzungsprozeß;
Fig. 7 die gegenseitige Beziehung der Hauptspei­ cher der jeweiligen Ebenen gemäß einer Ausführungsform der vorliegenden Erfin­ dung;
Fig. 8A, 8B eine Verarbeitung eines Ebene-1-OS, wenn ein Ebene-2-OS ein Ebene-3-OS startet;
Fig. 9 ein Blockdiagramm einer Ausführungsform der vorliegenden Erfindung;
Fig. 10A-10C Einzelheiten des Adressenüberset­ zungsprozesses für die in Fig. 9 gezeigte Ausführungsform der vorliegenden Erfin­ dung; und
Fig. 11A-11F Diagramme zur Erläuterung der Dar­ stellungen in Fig. 9 und in den Fig. 10A bis 10C.
In Fig. 6 ist ein Flußdiagramm zur Erläuterung eines Adressenübersetzungsprozesses gezeigt, während in Fig. 7 die gegenseitige Beziehung von Hauptspeichern der jewei­ ligen Ebenen gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt ist. In den Fig. 6 und 7 bezeichnen die Bezugszeichen 701 bis 707 Adressenübersetzungsprozesse und die Bezugszeichen 801 bis 803 die Hauptspeicher der Ebenen 1 bis 3.
In Fig. 7, in der die gegenseitige Beziehung der Haupt­ speicher der jeweiligen Ebenen im virtuellen Maschinen­ system gezeigt ist, stellt ein Hauptspeicher 801 der Ebene-1 einen realen Hauptspeicher der realen Maschine dar, der eine Hauptspeichererweiterung XB besitzt, wäh­ rend ein Hauptspeicher 802 der Ebene-2 bei einer Adresse beginnt (der Adresse 0 des Hauptspeichers 802 in Fig. 7), die durch eine Summe einer Adresse niedriger Ordnung des Hauptspeichers der Ebene-1 und der Hauptspeichererweite­ rungs-Ursprungsadresse B des Hauptspeichers 801 der Ebene-1 gegeben ist. Daher wird der Hauptspeicher­ erweiterungsbereich 811 des Hauptspeichers 801 der Ebene­ 1 als Hauptspeicher 802 der Ebene-2 behandelt.
Der Hauptspeicher 802 der Ebene-2 besitzt eine Adressen­ übersetzungstabelle 821, mit der ein virtueller Adreßraum 812 der Ebene-2 erzeugt wird, und eine Hauptspeicherer­ weiterung XA. Ein Hauptspeicher 803 der Ebene-3 beginnt bei einer Adresse eines virtuellen Adreßraums, die durch eine Summe der virtuellen Adresse der Ebene-2, die durch die Adressenübersetzungstabelle 821 im Hauptspeicher 802 der Ebene-2 erzeugt wird, und eine Hauptspeicher-Ur­ sprungsadresse A des Hauptspeichers 802 der Ebene-2 gege­ ben ist.
Der Hauptspeicher 801 der Ebene-1 kann einer Mehrzahl von Ebene-2-Speichern reale Hauptspeicher der Ebene-1 zu­ teilen, indem er eine Mehrzahl von beliebig gewählten Hauptspeicher-Ursprungsadressen B und Hauptspeicher­ erweiterungen XB festlegt. Das bedeutet, daß der Haupt­ speicher 801 der Ebene-1 den realen Hauptspeicher unter­ teilt und den virtuellen Maschinen der Ebene-2 zuweist. Entsprechend kann der virtuelle Raum in der Ebene-2 lo­ gisch unterteilt und den virtuellen Maschinen der Ebene-3 zugewiesen werden.
Nun wird mit Bezug auf die Fig. 8A und 8B erläutert, wie das Ebene-1-OS das Ebene-2-OS und das Ebene-3-OS startet.
Zum Starten des als virtuelle Maschine arbeitenden Ebene­ 2-OS durch das Ebene-1-OS wird ein Befehl SIE, der einen Befehl zum Starten der virtuellen Maschine darstellt, verwendet. Eine Operandenadresse des SIE-Befehls bezeich­ net einen Bereich, in dem eine Statusbeschreibung (SD) gespeichert ist, die ein Feld zum Speichern der Haupt­ speicher-Ursprungsadresse B und ein Feld für die Angabe einer Hauptspeichererweiterung XB enthält. Der SIE-Be­ fehl, die Spezifikation der SD und deren Funktion werden in der obenerwähnten IBM-Veröffentlichung und in US 47 92 895-A beschrieben.
Wenn im virtuellen Maschinensystem durch den Befehl SIE mit der Ausführung von Befehlen des Ebene-2-OS begonnen wird, erzeugt das Ebene-2-OS eine SD (virtuelle SD), mit der das Ebene-3-OS, das vom Ebene-2-OS gesteuert wird, gestartet wird, ferner gibt das Ebene-2-OS einen SIE-Be­ fehl (virtueller SIE-Befehl) aus (Fig. 8A).
Der vom Ebene-2-OS ausgegebene SIE-Befehl, d. h. der vir­ tuelle SIE-Befehl, wird vom Ebene-1-OS aufgefangen, weil das Ebene-2-OS selbst keine reale Hardware verwaltet, so daß die Steuerung an das Ebene-1-OS zurückgegeben wird.
Das Ebene-1-OS prüft den Grund des Auffangens und simu­ liert den virtuellen SIE-Befehl, falls es feststellt, daß der Grund durch den vom Ebene-2-OS ausgegebenen virtuel­ len SIE-Befehl gegeben ist. In dieser Simulation wird auf der Grundlage der virtuellen SD, die vom Ebene-2-OS er­ zeugt wurde, und auf der Grundlage der Zuweisung der re­ alen Hardware, die vom Ebene-1-OS selbst erkannt wird, eine weitere SD (Schatten-SD) zum Starten des Ebene-3-OS erzeugt; dann gibt das Ebene-1-OS einen SIE-Befehl mit der Schatten-SD als Operanden aus, so daß dieser vom Ebene-1-OS ausgegebene SIE-Befehl wie ein vom Ebene-2-OS ausgegebener und die virtuelle SD verwendender SIE-Befehl erscheint.
Zur Ausführung des virtuellen SIE-Befehls werden in die Schatten-SD ein Feld zum Speichern der Hauptspeicher-Ur­ sprungsadresse A in der vom Ebene-2-OS erzeugten virtu­ ellen SD und ein Feld für die Angabe der Hauptspeicher­ erweiterung XA unverändert kopiert. Die Schatten-SD wird in einem Übersetzungsprozeß von der Absolutadresse der Ebene-3 in die virtuelle Adresse der Ebene-2 verwendet. In die Schatten-SD des Ebene-1-OS werden ein Feld zum Speichern der Hauptspeicher-Ursprungsadresse B und ein Feld zum Speichern der Hauptspeichererweiterung XB als Werte des dem Ebene-2-OS zugewiesenen realen Haupt­ speichers gespeichert. Diese Werte werden für den Adres­ senübersetzungsprozeß der virtuellen Adresse der Ebene-1 in die Absolutadresse der Ebene-1 verwendet.
Der Wert des Feldes für die Hauptspeicher-Ursprungs­ adresse A, der als Parameter für die Adressenübersetzung der realen Hardware verwendet wird, und der Wert des Fel­ des zum Speichern der Hauptspeicher-Erweiterung XA sind als SIE-Funktionen bekannt und in den obenerwähnten IBM-Veröffentlichungen im einzelnen beschrieben.
In der vorliegenden Erfindung werden das Feld für die Hauptspeicher-Ursprungsadresse B und das Feld für die Hauptspeicher-Erweiterung XB, die weitere Parameter dar­ stellen, als SD-Information verwendet, um eine neue Funk­ tion zu erhalten, mit der die Absolutadresse der Ebene-1 auf der Grundlage der virtuellen Adresse der Ebene-1 be­ stimmt wird.
Nun wird mit Bezug auf Fig. 6 der Adressenübersetzungs­ prozeß gemäß einer Ausführungsform der vorliegenden Er­ findung erläutert.
  • a) Eine virtuelle Adresse 750 der Ebene-3, die sich auf den virtuellen Raum des Ebene-3-OS bezieht, wird unter Verwendung der Adressenübersetzungstabelle, die vom Ebene-3-OS erzeugt wird, in eine reale Adresse 751 der Ebene-3 übersetzt (Schritt 701).
  • b) Die übersetzte reale Adresse 751 der Ebene-3 wird un­ ter Verwendung eines Präfix-Wertes, der vom Ebene-3-OS erzeugt wird, einer Präfix-Übersetzung unterworfen und in eine Absolutadresse 752 der Ebene-3 umgewandelt (Schritt 702).
  • c) Dann wird festgestellt, ob die übersetzte Abso­ lutadresse 752 der Ebene-3 gleich oder größer als der Wert der Hauptspeichererweiterung XA ist, d. h. ob die übersetzte Absolutadresse 752 der Ebene-3 in der Haupt­ speichererweiterung XA liegt. Wenn sie gleich oder größer ist, wird dies mittels einer Adressenangabeverletzungs- Programmunterbrechung an das Ebene-3-OS gemeldet; falls sie nicht größer als der Wert der Haupt­ speichererweiterung XA ist, wird die von der Schatten-SD bezeichnete Hauptspeicher-Ursprungsadresse A zur Abso­ lutadresse 752 der Ebene-3 addiert. Auf diese Weise wird die virtuelle Adresse 753 der Ebene-2 erzeugt (Schritt 703).
  • d) Die virtuelle Adresse 753 der Ebene-2 wird unter Ver­ wendung der Adressenübersetzungstabelle, die vom Ebene-2- OS erzeugt wird, einer Adressenübersetzung in eine reale Adresse 754 der Ebene-2 unterworfen (Schritt 704).
  • e) Die im Schritt 704 bestimmte reale Adresse 754 der Ebene-2 wird einer Präfix-Übersetzung in eine Abso­ lutadresse der Ebene-2, d. h. in eine virtuelle Adresse 755 der Ebene-1 unterworfen, indem der vom Ebene-2-OS er­ zeugte Präfix-Wert verwendet wird (Schritt 706).
  • f) Anschließend wird die virtuelle Adresse 755 der Ebene-1 mit der von der Schatten-SD bezeichneten Haupt­ speichererweiterung XB verglichen. Wenn die virtuelle Adresse 755 der Ebene-3 gleich oder größer als die Haupt­ speichererweiterung XB ist, wird dies mittels einer Adressenangabeverletzungs-Programmunterbrechung an das Ebene-2-OS gemeldet. Andernfalls wird die von der Schat­ ten-SD bezeichnete Hauptspeichererweiterungs-Ursprungs­ adresse B zur virtuellen Adresse 755 der Ebene-3 addiert, um eine Absolutadresse 756 der Ebene-1 zu erzeugen (Schritt 707).
Mit der Absolutadresse 756 der Ebene-1 wird auf den re­ alen Hauptspeicher zugegriffen.
Die durch die Adressenübersetzung bestimmte Abso­ lutadresse 756 der Ebene-1 wird mit der virtuellen Adresse 750 der Ebene-3 zusammengeführt und zusammen mit einer Identifizierungsnummer einer virtuellen Maschine des Ebene-3-OS in den Übersetzungs-Zwischenablagepuffer (TLB) im Prozessor eingetragen. Wenn anschließend ein Zu­ griff auf den Hauptspeicher auf derselben Seite ausge­ führt werden soll, kann die Absolutadresse der Ebene-1 anhand des Übersetzungspaares im TLB bestimmt werden, ohne daß die obige Adressenübersetzung ausgeführt werden muß.
In der vorliegenden Ausführungsform wird ein Adres­ senübersetzungsprozeß in einem sogenannten auslagerbaren Speichermodus, in dem das VMCP des Ebene-2-OS den Haupt­ speicher des Ebene-3-OS dem virtuellen Adreßraum zuweist, beschrieben. Wenn das Ebene-2-OS der Zuweisung des Haupt­ speichers des Ebene-3-OS einen bevorzugten Speichermodus zuordnet, wird die Absolutadresse 752 der Ebene-3 ohne einen weiteren Prozeß als virtuelle Adresse 755 der Ebene-1 behandelt.
Die Spezifikationen und die Funktionen des auslagerbaren Speichermodus und des bevorzugten Speichermodus sind in den obenerwähnten Veröffentlichungen beschrieben.
In Fig. 9 ist ein Blockschaltbild einer Adressenüberset­ zungseinheit gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt.
In Fig. 9 bezeichnet das Bezugszeichen 1001 eine Steuereinheit (CU), die das Setzen der Register in der Adressenübersetzungseinheit und die Datenübertragung steuert. Das Bezugszeichen 1002 bezeichnet eine Adressen­ übersetzungs-Steuerschaltung (DATCTL), die die Datenüber­ tragung auf der Adressenübersetzungs-Ausführungsstufe, die Adressenübersetzungseinheit und den Austausch von Steuerdaten mit der CU 1001 steuert. Das Bezugszeichen 1003 bezeichnet einen Adressenaddierer (AA) zur Ausfüh­ rung einer binären Addition zweier Eingaben. Die Summe des AA 1003 wird in einem Übersetzungsadressen-Auffang­ speicher (TAL) 1004 gespeichert. Die im TAL 1004 gespei­ cherten Daten werden über eine Signalleitung 1109 an die CU 1001 geschickt. Das Bezugszeichen 1005 bezeichnet eine Wähleinrichtung (SEL B), die eines von sechs Eingangs­ signalen wählt und dieses auf eine Signalleitung 1301 ausgibt. Das Bezugszeichen 1021 bezeichnet eine Wählein­ richtung (SEL C), die eines von zwei Eingangssignalen auswählt, um es über eine Leitung 1308 an einen Adressen­ komparator (ACOMP) 1022 auszugeben. Das Bezugszeichen 1006 bezeichnet eine Wähleinrichtung (SEL A), die eines von zwei Eingangssignalen auswählt, um es über eine Lei­ tung 1302 sowohl an den Adressenaddierer 1003 als auch an den Komparator 1022 auszugeben.
Das Bezugszeichen 1007 bezeichnet einen Übersetzungs-Lo­ gikaddressen-Auffangspeicher (TLAX), der eine zu über­ setzende Adresse zwischenspeichert und den zwischen­ gespeicherten Inhalt über eine Signalleitung 1201 an die DATCTL 1002 ausgibt. Eine solche während der Adressen­ übersetzung zu übersetzende Adresse wird von der CU 1001 über die Leitung 1101 gesetzt.
Die Bezugszeichen 1008 und 1009 bezeichnen jeweils Formatregister (HTFR und GTFR), die Übersetzungsformate halten, die bei der Adressenübersetzung einer virtuellen Maschine der Ebene-2 (Ebene-2-Gast) bzw. einer virtuellen Maschine der Ebene-3 (Ebene-3-Gast) verwendet werden. Die Daten der Übersetzungsformate der virtuellen Maschine der Ebene-2 und der virtuellen Maschine der Ebene-3 werden von der CU 1001 über die Signalleitung 1102 im HTFR 1008 bzw. im GTFR 1009 gesetzt.
Die Bezugszeichen 1010 und 1011 bezeichnen jeweils Seg­ menttabellen-Startpunktregister (HSTOR und GSTOR), die die Segmenttabellen-Ursprungsadressen und die Segmentta­ bellen-Längen der virtuellen Maschine der Ebene-2 bzw. der virtuellen Maschine der Ebene-3 halten. Die Segment­ tabellendaten der virtuellen Maschine der Ebene-2 und der virtuellen Maschine der Ebene-3 werden von der CU 1001 im HSTOR 1010 bzw. im GSTOR 1011 gesetzt.
Das Bezugszeichen 1012 bezeichnet ein Segmenttabellen- Eintragungsregister (STER), das eine im Verlauf der Adressenübersetzung entnommene Segmenttabelleneintragung hält, während das Bezugszeichen 1013 ein Seitentabellen- Eintragungsregister (PTER) bezeichnet, das eine Seitenta­ bellen-Eintragung hält. Sowohl das STER 1012 als auch das PTER 1013 wird dazu verwendet, Tabelleneintragungen der virtuellen Maschine der Ebene-2 und der virtuellen Ma­ schine der Ebene-3 zu halten.
Die Bezugszeichen 1014 und 1015 bezeichnen Übersetzungs- Logikadressen-Register (HTLAR und GTLAR), die die zu übersetzenden virtuellen Adressen der virtuellen Maschine der Ebene-2 bzw. der virtuellen Maschine der Ebene-3 (HVA bzw. GVA) halten. Die entsprechenden virtuellen Adressen werden von der CU 1001 während der Ausführung des Über­ setzungsprozesses im HTLAR 1014 bzw. im GTLAR 1015 ge­ setzt.
Das Bezugszeichen 1016 bezeichnet ein Hauptspeicher-Ur­ sprungsadressen-Register A (MSOAR A), das eine Haupt­ speicher-Ursprungsadresse hält, um die Startadresse des Hauptspeicherbereichs der virtuellen Maschine der Ebene-3 im Hauptspeicher der virtuellen Maschine der Ebene-2 zu definieren. Die entsprechende Hauptspeicher-Ursprungs­ adresse der virtuellen Maschine der Ebene-3 wird von der CU 1001 über eine Signalleitung 1103 im NSOAR A 1016 ge­ setzt.
Das Bezugszeichen 1019 bezeichnet ein Hauptspeicher-Ur­ sprungsadressen-Register B (MSOAR B), das eine Haupt­ speicher-Ursprungsadresse hält, um eine Startadresse des Hauptspeicherbereichs der virtuellen Maschine der Ebene-2 im Hauptspeicher der realen Maschine der Ebene-1 zu defi­ nieren. Die entsprechende Hauptspeicher-Ursprungsadresse der virtuellen Maschine der Ebene-2 wird von der CU 1001 über die Signalleitung 1103 im MSOAR B 1019 gesetzt.
Das Bezugszeichen 1017 bezeichnet ein Übersetzungsaus­ nahme-Adressenregister (TEAR), das eine solche virtuelle Adresse setzt und hält, bei der während des Adressenüber­ setzungsprozesses eine Ausnahme aufgetreten ist. Das Be­ zugszeichen 1018 bezeichnet ein Hauptspeicher-Erweite­ rungsadressen-Register A (MSEAR A), das eine Haupt­ speicherbereich-Adresse hält, mit der die Hauptspeiche­ rerweiterung der virtuellen Maschine der Ebene-3 defi­ niert wird. Die entsprechende Hauptspeicher-Erweiterungs­ adresse der virtuellen Maschine der Ebene-3 wird von der CU 1001 über die Signalleitung 1103 im MSEAR A 1018 ge­ setzt.
Das Bezugszeichen 1020 bezeichnet ein Hauptspeicher-Er­ weiterungsadressen-Register B (MSEAR B), das eine Haupt­ speicherbereich-Adresse hält, mit der die Haupt­ speichererweiterung der virtuellen Maschine der Ebene-2 definiert wird. Die entsprechende Hauptspeicher-Erweite­ rungsadresse wird von der CU 1001 über die Signalleitung 1103 im MSEAR B 1020 gesetzt.
Die Ausgaben der Register 1018 und 1020 werden an die Wähleinrichtung 1021 ausgegeben.
In den Fig. 10A bis 10C sind Flußdiagramme zur Erläu­ terung der Operation der in Fig. 9 gezeigten Adressen­ übersetzungseinheit gezeigt, während in den Fig. 11A bis 11F diese Operationen diagrammartig dargestellt sind. Die Zahlen in den Kreisen entsprechen den Prozeßschritten in den Fig. 10A bis 10C. Nun wird die Operation der in Fig. 9 gezeigten Adressenübersetzungseinheit anhand des in den Fig. 10A bis 10C gezeigten Prozesses und der in den Fig. 11A bis 11F gezeigten Diagramme erläutert.
Zunächst werden die Schritte 501 bis 506 erläutert (Fig. 11A).
Schritt 501
Die CU 1001 setzt über die Signalleitungen 1106 bzw. 1101 die zu übersetzende virtuelle Adresse der virtuellen Ma­ schine der Ebene-3 (Ebene-3-Gast) im GTLAR 1015 und im TLAX 1007 der Adressenübersetzungseinheit und schickt über die Signalleitung 1108 einen Auslösebefehl für die Adressenübersetzungsanforderung an die DATCTL 1002. Daher wird sowohl im GTLAR 1015 als auch im TLAX 1007 dieselbe virtuelle Adresse gesetzt.
In der folgenden Beschreibung wird angenommen, daß beide Adressenübersetzungsmodus-Bits der Programmstatuswörter (PSW) des Ebene-2-Gastes und des Ebene-3-Gastes den Wert "1" besitzen, d. h. daß sowohl der Ebene-2-Gast als auch der Ebene-3-Gast eine Adressenübersetzung erfordern.
Schritt 502
Aufgrund des Auslösebefehls zum Start der Adressenüber­ setzung prüft die DATCTL 1002 das Format der im GTFR 1009 gehaltenen Gastübersetzungs-Formatdaten. Wenn das Format nicht in Ordnung ist, wird dies über die Signalleitung 1108 an die CU 1001 gemeldet, um die nachfolgende Adres­ senübersetzungsoperation anzuhalten.
Die im GTFR 1009 gehaltenen Übersetzungsformatdaten des Ebene-3-Gastes definieren die Segmentgröße und die Sei­ tengröße der Adressenübersetzungsarchitektur des Ebene-3- Gastes. Beispielsweise ist gemäß den IBM-Ver­ öffentlichungen "IBM System 370 Principles of Operation" (GA-22-7000) und "IBM System 370 Extended Architecture Principles of Operation" (SA-22-7085) der Wert für eine Segmentgröße von 64 KB und eine Seitengröße von 2 KB durch (01000)2, für eine Segmentgröße von 1 MB und eine Seitengröße von 2 KB durch (010010)2, für eine Segment­ größe von 64 KB und eine Seitengröße von 4 kB durch (10000) 2 und für eine Segmentgröße von 1 MB und eine Sei­ tengröße von 4 KB durch (10010)2 oder (10110)2 gegeben.
Die DATCTL 1002 gibt über die Signalleitung 1303 an die SEL B 1005 einen Befehl aus, damit diese die im GSTOR 1011 gehaltenen Segmenttabellendaten des Ebene-3-Gastes auf die Signalleitung 1105 ausgibt. Dann vergleicht die DATCTL 1002 das vom TLAX 1007 über die Signalleitung 1201 gelieferte Segmentfeld (GSX) der virtuellen Adresse des Ebene-3-Gastes (GVA) mit der Segmenttabellenlänge der über die Signalleitung 1305 gelieferten Segmenttabellen­ daten; wenn das Segmentfeld des Ebene-3-Gastes größer ist, wird dies über die Signalleitung 1108 an die CU 1001 gemeldet, um die nachfolgende Adressenübersetzungsopera­ tion anzuhalten.
Die DATCTL 1002 gibt ferner über die Signalleitung 1304 an die SEL A 1006 einen Befehl aus, damit diese die im GTLAR 1015 gehaltene virtuelle Adresse des Ebene-3-Gastes (GVA) über die Signalleitung 1306 im TEAR 1017 setzt. Weiterhin gibt die DATCTL 1002 über die Signalleitung 1303 an die SEL B 1005 einen Befehl aus, damit diese nur die Segmenttabellen-Startadressendaten des auf die Si­ gnalleitung 1206 gegebenen Inhaltes des GSTOR 1011 ent­ nimmt und diese auf die Signalleitung 1301 ausgibt. Schließlich gibt die DATCTL 1002 über die Signalleitung 1304 an die SEL A 1006 einen Befehl aus, damit diese das Segmentfeld GSX der im GTLAR 1015 gehaltenen GVA, das auf die Leitung 1210 ausgegeben wird, entnimmt und auf die Signalleitung 1302 ausgibt.
Der in Fig. 9 gezeigte Adressenaddierer AA 1003 addiert die Segmenttabellen-Ursprungsadresse des Ebene-3-Gastes (GSTO) und das Segmentfeld SX des Ebene-3-Gastes (GSX), die auf die Signalleitungen 1301 bzw. 1302 ausgegeben werden, und setzt die Summe im TAL 1004. Der Inhalt des TAL 1004 stellt die reale Adresse der Ebene-3 (GR) der Segmenttabelleneintragung des Ebene-3-Gastes (GSTE) dar, die über die Signalleitung 1109 an die CU 1001 geschickt wird.
Schritt 503
Die CU 1001 unterwirft die über die Signalleitung 1109 gelieferte reale Adresse der Ebene-3 (GR) der GSTE unter Verwendung des Präfix-Wertes des Ebene-3-Gastes einer Präfix-Übersetzung und setzt das Ergebnis über die Si­ gnalleitung 1106 im HTLAR 1014. Die im HTLAR 1014 ge­ setzte Adresse stellt die Absolutadresse (GA) der Ebene-3 der GSTE dar.
Schritt 504
Die DATCTL 1002 gibt über die Signalleitung 1303 an die SEL C 1021 einen Befehl aus, damit diese die Haupt­ speichererweiterungs-Adresse A, die den Inhalt des MSEAR A 1018 darstellt und über die Signalleitung 1211 ausgege­ ben wird, auswählt und auf die Signalleitung 1308 aus­ gibt. Ferner gibt die DATCTL 1002 über die Signalleitung 1304 an die SEL A 1006 einen Befehl aus, damit diese die Absolutadresse der Ebene-3 der GSTE, die auf die Signal­ leitung 1209 ausgegeben wird, auswählt und auf die Si­ gnalleitung 1302 ausgibt. Der ACOMP 1022 vergleicht die Hauptspeichererweiterungs-Adresse A und die Abso­ lutadresse der Ebene-3 der GSTE, die auf die Signal­ leitungen 1308 bzw. 1302 ausgegeben wurden. Wenn die Ab­ solutadresse der Ebene-3 der GSTE größer als die Haupt­ speichererweiterungs-Adresse A ist, meldet dies der ACOMP 1022 über die Signalleitung 1307 an die DATCTL 1002, indem er ein "1"-Signal ausgibt. Wenn die DATCTL 1002 das Meldesignal empfängt, meldet sie dies über die Signalleitung 1108 an die CU 1001, damit diese die nach­ folgende Adressenübersetzungsoperation anhält.
Schritt 505
Wenn die Absolutadresse der Ebene-3 der GSTE kleiner als die Hauptspeichererweiterungs-Adresse A ist, gibt die DATCTL 1002 über die Signalleitungen 1303 bzw. 1304 an die SEL B 1005 bzw. SEL A 1006 einen Befehl aus, damit die erstere die Hauptspeicher-Ursprungsadresse, die den Inhalt des MSOAR A 1016 darstellt und auf die Signal­ leitung 1204 ausgegeben wird, auswählt und auf die Si­ gnalleitung 1301 ausgibt und damit die letztere die Abso­ lutadresse der Ebene-3 (GA) der GSTE, die den Inhalt des HTLAR 1014 darstellt und auf die Signalleitung 1209 aus­ gegeben wird, auswählt und auf die Signalleitung 1302 ausgibt. Dieses Signal auf der Signalleitung 1302 wird zusammen mit der Ausgabe 1308 der SEL C 1021 in den Kom­ parator 1022 eingegeben.
Der Adressenaddierer AA 1003 addiert die Hauptspeicher- Ursprungsadresse und die Absolutadresse der Ebene-3 der GSTE, die auf die Signalleitungen 1301 bzw. 1302 aus­ gegeben werden, und setzt die Summe im TAL 1004. Die im TAL 1004 gesetzte Adresse stellt die virtuelle Adresse der Ebene-2 der GSTE dar und ist gleich der realen Adresse der Ebene-2 der GSTE, wenn das Adressenüber­ setzungs-Knotenbit des Programmstatuswortes (PSW) des Ebene-2-Gastes den Wert "0" besitzt. Wenn dieses Bit den Wert "0" besitzt, geht der Prozeß weiter zum Schritt 514. Im vorliegenden Beispiel wird jedoch angenommen, daß das Bit den Wert "1" besitzt.
In diesem Fall wird die im TAL 1004 gesetzte virtuelle Adresse der Ebene-2 der GSTE über die Signalleitung 1109 an die CU 1001 geschickt.
Schritt 506
Die CU 1001 setzt die auf die Signalleitung 1109 aus­ gegebene virtuelle Adresse der Ebene-2 der GSTE über die Signalleitung 1106 im HTLAR 1014 und über die Signallei­ tung 1101 im TLAX 1007.
Nun wird der Prozeß der Schritte 507 bis 513 erläutert (Fig. 11B).
Schritt 507
Die DATCTL 1002 prüft die im HTFR 1008 gehaltenen Über­ setzungsformatdaten des Ebene-2-Gastes mittels der Adres­ senübersetzungsarchitektur des Ebene-2-Gastes; wenn die geprüften Daten kein korrektes Format darstellen, meldet dies die DATCTL 1002 über die Signalleitung 1108 an die CU 1001, damit diese die nachfolgende Adressenüber­ setzungsoperation anhält.
Ferner gibt die DATCTL 1002 über die Signalleitung 1303 an die SEL B 1005 einen Befehl aus, damit diese die im HSTOR 1010 gehaltenen Segmenttabellendaten des Ebene-2- Gastes auf die Leitung 1305 schickt, und vergleicht die Segmenttabellenlänge der über die Signalleitung 1305 ge­ schickten Segmenttabellendaten mit dem Segmentfeld HSX der vom TLAX 1007 über die Signalleitung 1201 geschickten virtuellen Adresse des Ebene-2-Gastes (HVA) entsprechend der Adressenübersetzungsarchitektur des Ebene-2-Gastes. Wenn das HSX des Ebene-2-Gastes größer ist, wird dies über die Signalleitung 1108 an die CU 1001 gemeldet, da­ mit diese die nachfolgende Adressenübersetzungsoperation anhält.
Ferner gibt die DATCTL 1002 über die Signalleitung 1304 an die SEL A 1006 einen Befehl aus, damit diese die im HTLAR 1014 gehaltene HVA über die Signalleitung 1306 im TEAR 1017 setzt; ferner gibt die DATCTL 1002 über die Si­ gnalleitung 1303 an die SEL B 1005 einen Befehl aus, da­ mit diese nur die Segmenttabellen-Ursprungsadressendaten (HSTO) des auf die Signalleitung 1205 ausgegebenen Inhal­ tes des HSTOR 1010 entnimmt und auf die Signalleitung 1301 ausgibt; schießlich gibt die DATCTL 1002 über die Signalleitung 1304 an die SEL A 1006 einen Befehl aus, damit diese das HSX der HVA, die den auf die Signal­ leitung 1209 ausgegebenen Inhalt des HTLAR 1014 dar­ stellt, entnimmt, entsprechend der Adressenübersetzungs­ architektur des Ebene-2-Gastes verschiebt und "0" einfügt und auf die Signalleitung 1302 ausgibt.
Der Adressenaddierer 1003 addiert die Segmenttabellen-Ur­ sprungsadresse (HSTO) der Ebene-2 und das HSX-Feld der HVA, die über die Signalleitungen 1301 bzw. 1302 gelie­ fert werden und setzt die sich ergebende Summe im TAL 1004. Die im TAL 1004 gesetzte Adresse ist die reale Adresse der Ebene-2 (HR) der Segmenttabelleneintragung (HSTE) des Ebene-2-Gastes, die über die Signalleitung 1109 an die CU 1001 geschickt wird.
Schritt 507A
Die DATCTL 1002 gibt über die Signalleitung 1303 an die SEL C 1021 einen Befehl aus, damit diese die Hauptspei­ cher-Erweiterungsadresse B, die den auf die Signalleitung 1213 ausgegebenen Inhalt des MSEAR B 1020 darstellt, aus­ wählt und auf die Signalleitung 1308 ausgibt; ferner gibt die DATCTL 1002 über die Signalleitung 1304 an die SEL A 1006 einen Befehl aus, damit diese die Absolutadresse der Ebene-2 (= virtuelle Adresse der Ebene-1) der HSTE, die den auf die Signalleitung 1209 ausgegebenen Inhalt des HTLAR 1014 darstellt, auswählt und auf die Signalleitung 1302 ausgibt. Der ACOMP 1022 vergleicht die Hauptspei­ cher-Erweiterungsadresse B und die Absolutadresse der Ebene-2 der HSTE, die über die Signalleitungen 1308 bzw. 1302 geschickt werden, und meldet über die Signalleitung 1307 an die DATCTL 1002, ob die Absolutadresse der Ebene­ 2 der HSTE größer als die Hauptspeicher-Erweiterungs­ adresse B ist. Wenn die DATCTL 1002 das Meldesignal emp­ fängt, meldet sie dies über die Signalleitung 1108 an die CU 1001, damit diese die nachfolgende Adressenüberset­ zungsoperation anhält.
Schritt 507B
Wenn sich die Absolutadresse der Ebene-2 der HSTE inner­ halb der Hauptspeicher-Erweiterungsadresse B befindet, gibt die DATCTL 1002 über die Signalleitungen 1303 und 1304 an die SEL B 1005 bzw. SEL A einen Befehl aus, damit die erstere die Hauptspeicher-Ursprungsadresse B, die den über die Signalleitung 1212 ausgegebenen Inhalt des MSOAR B 1019 darstellt, auswählt und auf die Signalleitung 1301 ausgibt bzw. damit die letztere die Absolutadresse der Ebene-2 der HSTE, die den auf die Signalleitung 1209 aus­ gegebenen Inhalt des HTLAR 1014 darstellt, auswählt und auf die Signalleitung 1302 ausgibt.
Der Adressenaddierer 1013 addiert die Hauptspeicher-Ur­ sprungsadresse B und die Absolutadresse der Ebene-2 der HSTE (= virtuelle Adresse der Ebene-1), die über die Si­ gnalleitungen 1301 bzw. 1302 geschickt werden, und setzt die Summe im TAL 1004. Die im TAL 1004 gesetzte Adresse stellt die reale Adresse der Ebene-1 der HSTE dar, die über die Signalleitung 1109 an die CU 1101 geschickt wird.
Schritt 508
Die CU 1001 gibt unter Verwendung der über die Signal­ leitung 1109 geschickten realen Adresse der Ebene-1 der HSTE eine Leseanforderung für die HSTE an den Haupt­ speicher aus.
Schritt 509
Die CU 1001 setzt die vom Hauptspeicher gelesene HSTE über die Signalleitung 1105 im STER 1012 und meldet dies über die Signalleitung 1108 an die DATCTL 1002.
Schritt 510
Wenn die DATCTL 1002 über die Signalleitung 1108 die Mel­ dung über die Beendigung der Ausführung des Schrittes 509 empfängt, stellt sie fest, ob das HSTE-Ungültigkeitsbit (I-Bit) den Wert "1" besitzt. Wenn dies der Fall ist, meldet sie dies über die Signalleitung 1108 an die CU 1001, damit diese die nachfolgende Adressenübersetzungs­ operation anhält. Ferner gibt die DATCTL 1002 über die Signalleitung 1303 an die SEL B 1005 einen Befehl aus, damit diese den Inhalt des STER 1012 über die Signal­ leitung 1305 an die DATCTL 1002 schickt, und prüft die HSTE entsprechend der Adressenübersetzungsarchitektur des Ebene-2-Gastes. Falls eine Formatverletzung festgestellt wird, wird dies über die Signalleitung 1108 an die CU 1001 gemeldet, damit diese die nachfolgende Adressenüber­ setzungsoperation anhält.
Die DATCTL 1002 gibt über die Signalleitung 1303 an die SEL B 1005 einen Befehl aus, damit diese den Inhalt der im STER 1012 gehaltenen HSTE auf die Signalleitung 1305 ausgibt, und vergleicht die Seitentabellenlänge der über die Signalleitung 1305 geschickten HSTE mit dem über die Signalleitung 1201 vom TLAX 1007 geschickten HSX-Segment­ feld der virtuellen Adresse des Ebene-2-Gastes entspre­ chend der Adressenübersetzungsarchitektur des Ebene-2- Gastes. Wenn das HSX-Segmentfeld des Ebene-2-Gastes grö­ ßer ist, wird dies über die Signalleitung 1108 an die CU 1001 gemeldet, damit diese die nachfolgende Adressenüber­ setzungsoperation anhält.
Ferner gibt die DATCTL 1002 über die Signalleitung 1303 an die SEL B 1005 einen Befehl aus, damit diese nur die Seitentabellen-Ursprungsadressendaten (HPTO) des über die Signalleitung 1207 geschickten Inhaltes des STER 1012 entnimmt und auf die Signalleitung 1301 ausgibt. Ferner gibt die DATCTL 1002 über die Signalleitung 1304 an die SEL A 1006 einen Befehl aus, damit diese das HSX-Segment­ feld der HVA, die den auf die Signalleitung 1209 ausge­ gebenen Inhalt des HTLAR 1014 darstellt, entnimmt, diesen entsprechend der Adressenübersetzungsarchitektur des Ebene-2-Gastes verschiebt und "0"-Zeichen einfügt und auf die Signalleitung 1302 ausgibt.
Der Adressenaddierer 1003 addiert die Seitentabellen-Ur­ sprungsadresse (HPTO) und das PX-Feld (HPX) der HVA, die über die Signalleitungen 1301 bzw. 1302 geliefert werden, und setzt die Summe im TAL 1004. Die im TAL 1004 gesetzte Adresse ist die reale Adresse (HR) der Ebene-2 der Sei­ tentabelleneintragung (HPTE) des Ebene-2-Gastes, die über die Signalleitung 1109 an die CU 1001 geschickt wird.
Schritt 510A
Die DATCTL 1002 gibt über die Signalleitung 1303 an die SEL C 1021 einen Befehl aus, damit diese die Haupt­ speicher-Erweiterungsadresse B, die den auf die Signal­ leitung 1213 ausgegebenen Inhalt das MSEAR B 1020 dar­ stellt, auswählt und auf die Signalleitung 1308 ausgibt. Ferner gibt die DATCTL 1002 über die Signalleitung 1304 an die SEL A 1006 einen Befehl aus, damit diese die Abso­ lutadresse der Ebene-2 (= virtuelle Adresse der Ebene-1) der HPTE, die den auf die Signalleitung 1209 ausgegebenen Inhalt des HTLAR 1014 darstellt, auswählt und auf die Si­ gnalleitung 1302 ausgibt. Der ACOMP 1022 vergleicht die Hauptspeicher-Erweiterungsadresse B mit der Abso­ lutadresse der Ebene-2 der HPTE, die über die Signal­ leitungen 1308 bzw. 1302 geliefert werden, und meldet über die Signalleitung 1307 an die DATCTL 1002, ob die Absolutadresse der Ebene-2 der HPTE größer als die Haupt­ speicher-Erweiterungsadresse B ist. Wenn die DATCTL 1002 das Meldesignal empfängt, meldet sie dies über die Si­ gnalleitung 1108 an die CU 1001, damit diese die nach­ folgende Adressenübersetzungsoperation anhält.
Schritt 510B
Wenn die Absolutadresse der Ebene-2 der HPTE in der Hauptspeicher-Erweiterungsadresse B liegt, gibt die DATCTL 1002 über die Signalleitung 1303 an die SEL B 1005 einen Befehl aus, damit diese die Hauptspeicher-Ur­ sprungsadresse B, die den auf die Signalleitung 1212 aus­ gegebenen Inhalt des MSOAR B 1019 darstellt, auswählt und auf die Signalleitung 1301 ausgibt; ferner gibt die DATCTL 1002 in diesem Fall über die Signalleitung 1304 an die SEL A 1006 einen Befehl aus, damit diese die Abso­ lutadresse der Ebene-2 der HPTE, die den auf die Signal­ leitung 1209 ausgegebenen Inhalt des HTLAR 1014 dar­ stellt, auswählt und auf die Signalleitung 1302 ausgibt.
Der Adressenaddierer 1003 addiert die Hauptspeicher-Ur­ sprungsadresse B und die Absolutadresse der Ebene-2 der HPTE, die über die Signalleitungen 1301 bzw. 1302 gelie­ fert werden, und setzt die Summe im TAL 1004. Die im TAL 1004 gesetzte Adresse ist die reale Adresse der Ebene-1 der HPTE, die über die Signalleitung 1109 an die CU 1001 geschickt wird.
Schritt 511
Die CU 1001 gibt unter Verwendung der über die Signal­ leitung 1109 gelieferten realen Adresse der Ebene-1 der HPTE eine Leseanforderung für die HPTE an den Haupt­ speicher aus.
Schritt 512
Die CU 1001 setzt die aus dem Hauptspeicher ausgelesene HPTE über die Signalleitung 1105 im PTER 1013 und meldet dies über die Signalleitung 1108 an die DATCTL 1002.
Schritt 513
Wenn die DATCTL 1002 die Meldung über den Abschluß der Ausführung des Schrittes 512 über die Signalleitung 1108 empfängt, stellt sie anhand der Adressenübersetzungs­ architektur des Ebene-2-Gastes fest, ob das Ungültig­ keitsbit (I-Bit) der HPTE den Wert "1" besitzt. Wenn dies der Fall ist, meldet sie dies über die Signalleitung 1108 an die CU 1001, damit diese die nachfolgende Adressen­ übersetzungsoperation anhält.
Ferner gibt die DATCTL 1002 über die Signalleitung 1303 an die SEL B 1005 einen Befehl aus, damit diese den In­ halt des PTER 1013 über die Signalleitung 1305 an die DATCTL 1002 schickt, und prüft das Format der HPTE ent­ sprechend der Adressenübersetzungsarchitektur des Ebene- 2-Gastes; falls die DATCTL 1002 eine Formatverletzung er­ mittelt, meldet sie dies über die Signalleitung 1108 an die CU 1001, damit diese die nachfolgende Adressenüber­ setzungsoperation anhält.
Ferner gibt die DATCTL 1002 über die Signalleitung 1303 an die SEL B 1005 einen Befehl aus, damit diese entspre­ chend der Adressenübersetzungsarchitektur des Ebene-2- Gastes nur die reale Adresse des Seitenrahmens (PFRA) des auf die Signalleitung 1208 ausgegebenen Inhaltes des PTER 1013 entnimmt und diese auf die Signalleitung 1301 aus­ gibt; ferner gibt die DATCTL 1002 über die Signalleitung 1304 an die SEL A 1006 einen Befehl aus, damit diese das BX-Feld (HBX) der auf die Signalleitung 1209 ausgegebenen HVA entnimmt, diese entsprechend der Adressen­ übersetzungsarchitektur des Ebene-2-Gastes verschiebt und "0" einfügt und das Ergebnis auf die Signalleitung 1302 ausgibt.
Im Schritt 510 oder 513 wird in Übereinstimmung mit der entsprechenden Architektur von der DATCTL 1002 ein Spei­ cherschutz-Bit der Adressenübersetzungstabelle gesichert.
Der Adressenaddierer 1003 addiert die PFRA des Ebene-2- Gastes (HPFRA) und das BX-Feld (HBX) der HVA, die über die Signalleitungen 1301 bzw. 1302 geliefert werden, und setzt die Summe im TAL 1004. Die im TAL 1004 gesetzte Summe ist die reale Adresse der Ebene-2 (HR) der Segment­ tabelleneintragung (GSTE) des Ebene-3-Gastes, die über die Signalleitung 1109 an die CU 1001 geschickt wird.
Schritt 513A
Die DATCTL 1002 gibt über die Signalleitung 1303 an die SEL C 1021 einen Befehl aus, damit diese die Haupt­ speicher-Erweiterungsadresse B, die den auf die Signal­ leitung 1213 ausgegebenen Inhalt des MSEAR B 1020 dar­ stellt, auswählt und auf die Signalleitung 1308 ausgibt. Ferner gibt die DATCTL 1002 über die Signalleitung 1304 an die SEL A 1006 einen Befehl aus, damit diese die Abso­ lutadresse der Ebene-2 der GSTE (= virtuelle Adresse der Ebene-1), die über die Signalleitung 1209 geliefert wird, auswählt und auf die Signalleitung 1302 ausgibt. Der ACOMP 1022 vergleicht die Hauptspeicher-Erweiterungs­ adresse B und die Absolutadresse der Ebene-2 der GSTE, die über die Signalleitungen 1308 bzw. 1302 geliefert werden, und meldet über die Signalleitung 1307 an die DATCTL 1002, ob die Absolutadresse der Ebene-2 der GSTE größer als die Hauptspeicher-Erweiterungsadresse B ist. Wenn die DATCTL 1002 das Meldesignal empfängt, meldet sie dies über die Signalleitung 1108 an die CU 1001, damit diese die nachfolgende Adressenübersetzungsoperation an­ hält.
Schritt 513B
Wenn die Absolutadresse der Ebene-2 der GSTE in der Hauptspeicher-Erweiterungsadresse B liegt, gibt die DATCTL über die Signalleitung 1303 an die SEL B 1005 einen Befehl aus, damit diese die Hauptspeicher-Ur­ sprungsadresse B, die den über die Signalleitung 1212 ge­ lieferten Inhalt des MSOARB 1019 darstellt, auswählt und auf die Signalleitung 1301 ausgibt; ferner gibt die DATCTL 1002 in diesem Fall über die Signalleitung 1304 an die SEL A 1006 einen Befehl aus, damit diese die Abso­ lutadresse der Ebene-2 der GSTE, die den über die Signal­ leitung 1209 gelieferten Inhalt des HTLAR 1014 darstellt, auswählt und auf die Signalleitung 1302 ausgibt.
Der Adressenaddierer 1003 addiert die Hauptspeicher-Ur­ sprungsadresse B und die Absolutadresse der Ebene-2 der GSTE, die über die Signalleitungen 1301 bzw. 1302 gelie­ fert werden, und setzt die Summe im TAL 1004. Die im TAL 1004 gesetzte Adresse ist die reale Adresse der Ebene-1 der GSTE. Diese wird über die Signalleitung 1109 an die CU 1001 geschickt.
Nun wird der Prozeß in den Schritten 514 bis 519 be­ schrieben (Fig. 11C).
Schritt 514
Die CU 1001 gibt über die Signalleitung 1304 an die SEL A 1006 einen Befehl aus, damit diese den Inhalt des GTLAR 1015 an das TEAR 1017 schickt und in diesem setzt. Ferner setzt die CU 1001 die GVA über die Signalleitung 1101 im TLAX 1007. Ferner setzt die CU 1001 die GSTE über die Si­ gnalleitung 1105 im STER 1012 und meldet dies über die Signalleitung 1108 an die DATCTL 1002.
Schritt 515
Wenn die DATCTL 1002 die Meldung über den Abschluß der Ausführung des Schrittes 514 über die Signalleitung 1108 empfängt, stellt sie auf der Grundlage der Adressenüber­ setzungsarchitektur des Ebene-3-Gastes fest, ob das Un­ gültigkeitsbit der GSTE den Wert "1" besitzt. Wenn dies der Fall ist, meldet die DATCTL 1002 dies über die Si­ gnalleitung 1108 an die CU 1001, damit diese die nach­ folgende Adressenübersetzungsoperation anhält.
Ferner gibt die DATCTL 1002 über die Signalleitung 1303 an die SEL B 1005 einen Befehl aus, damit diese den In­ halt des STER 1012 auf die Signalleitung 1305 ausgibt, um entsprechend der Adressenübersetzungsarchitektur des Ebene-3-Gastes das Format der GSTE zu prüfen. Wenn das Format ungültig ist, meldet dies die DATCTL 1002 über die Signalleitung 1108 an die CU 1001, damit diese die nach­ folgende Adressenübersetzungsoperation anhält.
Ferner sichert die DATCTL 1002 gemäß der entsprechenden Architektur das gemeinsame Segmentbit oder das Speicher­ schutz-Bit der GSTE in der DATCTL 1002.
Außerdem gibt die DATCTL 1002 über die Signalleitung 1303 an die SEL B 1005 einen Befehl aus, damit diese den im STER 1012 gesicherten Inhalt der GSTE auf die Signal­ leitung 1305 ausgibt, vergleicht die Seitentabellenlänge (GPTL) der auf die Signalleitung 1305 ausgegebenen GSTE mit dem vom TLAX 1007 über die Signalleitung 1201 gelie­ ferten PX-Feld (GPX) der virtuellen Adresse des Ebene-3- Gastes gemäß der Adressenübersetzungsarchitektur des Ebene-3-Gastes; wenn das PX-Feld (GPX) des Ebene-3-Gastes größer ist, meldet dies die DATCTL 1002 über die Signal­ leitung 1108 an die CU 1001, damit diese die nachfolgende Adressenübersetzungsoperation anhält.
Ferner gibt die DATCTL 1002 über die Signalleitung 1303 an die SEL B 1005 einen Befehl aus, damit diese nur die Seitentabellen-Ursprungsadressendaten (GPTO) des über die Signalleitung 1207 gelieferten Inhaltes des STER 1012 entnimmt und auf die Signalleitung 1301 ausgibt. Ferner gibt die DATCTL 1002 über die Signalleitung 1304 an die SEL A 1006 einen Befehl aus, damit diese nur das PX-Feld (GPX) der GVA, die den über die Signalleitung 1210 gelie­ ferten Inhalt des GTLAR 1015 darstellt, entnimmt, es durch eine Verschiebung und/oder ein Einschieben von "0" entsprechend der Adressenübersetzungsarchitektur des Ebene-3-Gastes bearbeitet und auf die Signalleitung 1302 ausgibt.
Der Adressenaddierer 1003 addiert die Seitentabellen-Ur­ sprungsadresse des Ebene-3-Gastes (GPTO) zum PX-Feld (GPX) der GVA, die über die Signalleitungen 1301 bzw. 1302 geliefert werden, und setzt die Summe im TAL 1004. Die im TAL 1004 gesetzte Adresse ist die reale Adresse der Ebene-3 (= virtuelle Adresse der Ebene-2) der Seitentabelleneintragung der Ebene-3 (GPTE) und schickt diese über die Signalleitung 1109 an die CU 1001.
Schritt 516
Die CU 1001 unterwirft die reale Adresse der Ebene-3 (GR) der GPTE, die über die Signalleitung 1109 geliefert wird, unter Verwendung des Präfix-Wertes des Ebene-3-Gastes ei­ ner Präfix-Übersetzung und setzt das Ergebnis über die Signalleitung 1106 im HTLAR 1014. Die im HTLAR 1014 ge­ setzte Adresse ist die Absolutadresse der Ebene-3 (GA) der GPTE.
Schritt 517
Der Schritt 517 ist gleich dem Schritt 504, mit der Aus­ nahme, daß die Absolutadresse der Ebene-3 der GSTE durch die Absolutadresse der Ebene-3 der GPTE ersetzt wird.
Schritt 518
Der Schritt 518 ist gleich dem Schritt 505, mit der Aus­ nahme, daß die Absolutadresse der Ebene-3 der GSTE durch die Absolutadresse der Ebene-3 der GPTE ersetzt wird.
Die im TAL 1004 gesetzte Adresse ist die virtuelle Adresse der Ebene-2 der GPTE und ist gleich der realen Adresse der Ebene-2 der GPTE, wenn das Adressenüber­ setzungsmodus-Bit des PSW des Ebene-2-Gastes den Wert "0" besitzt. Wenn das letztere der Fall ist, geht der Prozeß weiter zum Schritt 524. Im vorliegenden Beispiel wird an­ genommen, daß das Bit den Wert "1" besitzt.
Die virtuelle Adresse der Ebene-2 (HV) der GPTE, die im TAL 1004 gesetzt ist, wird über die Signalleitung 1109 an die CU 1001 geschickt.
Schritt 519
Die CU 1001 setzt die über die Signalleitung 1109 gelie­ ferte virtuelle Adresse der Ebene-2 (HV) der GPTE über die Signalleitung 1106 im HTLAR 1014 und ferner über die Signalleitung 1101 im TLAX 1007.
Nun wird der Prozeß in den Schritten 520 bis 526 be­ schrieben (Fig. 11D).
Schritt 520
Der Schritt 520 ist ähnlich dem Schritt 507. In diesem Schritt wird die Gültigkeit des Formats geprüft, wird die Segmentlänge des Ebene-2-Gastes (HSTL) mit dem SX-Feld des Ebene-2-Gastes (HSX) verglichen und wird die Segment­ tabellen-Ursprungsadresse des Ebene-2-Gastes (HSTO) zum SX-Feld des Ebene-2-Gastes (HSX) addiert.
Schritt 520A
Der Schritt 520A ist ähnlich dem Schritt 507A.
Schritt 520B
Der Schritt 520B ist ähnlich dem Schritt 507B.
Schritt 521
Der Schritt 521 ist ähnlich dem Schritt 508.
Schritt 522
Der Schritt 522 ist ähnlich dem Schritt 509.
Schritt 523
Der Schritt 523 ist ähnlich dem Schritt 510. In diesem Schritt 523 wird das Ungültigkeitsbit (I-Bit) der HSTE und das Format der HSTE geprüft, wird die Seitentabellen­ länge des Ebene-2-Gastes (HPTL) mit dem PX-Feld des Ebene-2-Gastes (HPX) verglichen und wird die Seiten­ tabellen-Ursprungsadresse des Ebene-2-Gastes (HPTO) zum PX-Feld des Ebene-2-Gastes (HPX) addiert. Die vom TAL 1004 bestimmte der Adresse der HPTE wird an die CU 1001 geschickt.
Schritt 523A
Der Schritt 523A ist ähnlich dem Schritt 510A.
Schritt 523B
Der Schritt 523B ist ähnlich dem Schritt 510B.
Schritt 524
Der Schritt 524 ist ähnlich dem Schritt 511.
Schritt 525
Der Schritt 525 ist ähnlich dem Schritt 512.
Schritt 526
Der Schritt 526 ist ähnlich dem Schritt 513. In diesem Schritt 526 werden das Ungültigkeitsbit (I-Bit) der HPTE und das Format geprüft, wird die PFRA (HPFRA) des PTER 1013 zum BX-Feld (HBX) des HTLAR 1014 addiert und wird die Summe im TAL 1004 gesetzt. Die im TAL 1004 gesetzte Adresse ist die reale Adresse der Ebene-2 (HR) der PTE des Ebene-3-Gastes, die über die Signalleitung 1109 an die CU 1001 geschickt wird.
Schritt 526A
Der Schritt 526A ist gleich dem Schritt 513A, mit der Ausnahme, daß die GSTE durch die GPTE ersetzt wird.
Schritt 526B
Der Schritt 526B ist gleich dem Schritt 513B, mit der Ausnahme, daß die GSTE durch die GPTE ersetzt wird.
Schritt 527
Die DATCTL 1002 gibt über die Signalleitung 1304 an die SEL A 1006 einen Befehl aus, damit diese den Inhalt des GTLAR 1015 an das TEAR 1017 schickt und in diesem setzt. Ferner setzt die CU 1001 die GVA über die Signalleitung 1101 im TLAX 1007. Ferner setzt sie die GPTE im PTER 1013 und meldet dies über die Signalleitung 1108 an die DATCTL 1002.
Schritt 528
Wenn die DATCTL 1002 über die Signalleitung 1108 die Mel­ dung über den Abschluß der Ausführung des Schrittes 527 empfängt, prüft sie gemäß der Adressenübersetzungs­ architektur des Ebene-3-Gastes, ob das Ungültigkeits-Bit (I-Bit) der GPTE im PTER 1013 den Wert "1" besitzt.
Wenn dies der Fall ist, meldet sie dies über die Signal­ leitung 1108 an die CU 1001, damit diese die nachfolgende Adressenübersetzungsoperation anhält.
Ferner gibt die DATCTL 1002 über die Signalleitung 1303 an die SEL B 1005 einen Befehl aus, damit diese den In­ halt des PTER 1013 auf die Signalleitung 1305 ausgibt und damit das Format der GPTE entsprechend der Adressenüber­ setzungsarchitektur des Ebene-3-Gastes geprüft werden kann. Wenn das Format ungültig ist, meldet dies die DATCTL 1002 über die Signalleitung 1108 an die CU 1001, damit diese die nachfolgende Adressenübersetzungs­ operation anhält.
Außerdem sichert die DATCTL 1002 gemäß der entsprechenden Architektur das Speicherschutz-Bit der GPTE in der DATCTL 1002.
Ferner gibt die DATCTL 1002 über die Signalleitung 1303 an die SEL B 1005 einen Befehl aus, damit diese entspre­ chend der Adressenübersetzungsarchitektur des Ebene-3- Gastes nur das PFRA-Feld des Ebene-3-Gastes (GPFRA) des auf die Signalleitung 1208 ausgegebenen Inhaltes des PTER 1013 entnimmt und auf die Signalleitung 1301 ausgibt. Au­ ßerdem gibt die DATCTL 1002 über die Signalleitung 1304 an die SEL A 1006 einen Befehl aus, damit diese das BX-Feld (GBX) der auf die Signalleitung 1210 ausgegebenen GVA entnimmt, diese entsprechend der Adressen­ übersetzungsarchitektur des Ebene-3-Gastes bearbeitet, etwa durch eine Verschiebung und eine Einfügung von "0", und auf die Signalleitung 1302 ausgibt.
Der Adressenaddierer 1003 addiert die PFRA des Ebene-3- Gastes (GPFRA) zum BX-Feld der GVA (GBX), die über die Signalleitungen 1301 bzw. 1302 geliefert werden und setzt die Summe im TAL 1004. Die im TAL 1004 gesetzte Adresse ist die reale Adresse der Ebene-3 (GR), die über die Si­ gnalleitung 1109 an die CU 1001 geschickt wird.
Schritt 529
Die CU 1001 unterwirft die über die Signalleitung 1109 gelieferte reale Adresse der Ebene-3 (GRA) unter Verwen­ dung des Präfix-Wertes des Ebene-3-Gastes einer Präfix- Übersetzung und setzt das Ergebnis über die Signalleitung 1106 im HTLAR 1014. Die im HTLAR 1014 gesetzte Adresse ist die Absolutadresse der Ebene-3 des Ebene-3-Gastes.
Schritt 530
Der Schritt 530 ist gleich dem Schritt 504, mit der Aus­ nahme, daß die Absolutadresse der Ebene-3 der GSTE durch die Absolutadresse der Ebene-3 der GPTE ersetzt wird.
Schritt 531
Der Schritt 531 ist gleich dem Schritt 505, mit der Aus­ nahme, daß die Absolutadresse der Ebene-3 der GSTE durch die Absolutadresse der Ebene-3 der GPTE ersetzt wird.
Die im TAL 1004 gesetzte Adresse ist die virtuelle Adresse der Ebene-2 des Ebene-3-Gastes, die gleich der realen Adresse der Ebene-2 des Ebene-3-Gastes ist, wenn das Adressenübersetzungsmodus-Bit des PSW des Ebene-2- Gastes den Wert "0" besitzt. Wenn dies der Fall ist, geht die Verarbeitung weiter zum Schritt 540. Im vorliegenden Beispiel wird angenommen, daß dieses Bit den Wert "1" be­ sitzt.
Die virtuelle Adresse der Ebene-2 (HV) des Ebene-3- Gastes, die im TAL 1004 gesetzt ist, wird über die Si­ gnalleitung 1109 an die CU 1001 geschickt.
Schritt 532
Der Schritt 532 ist gleich dem Schritt 519, mit der Aus­ nahme, daß die virtuelle Adresse der Ebene-2 der GPTE durch die virtuelle Adresse der Ebene-2 des Ebene-3- Gastes ersetzt wird.
Nun wird der Prozeß in den Schritten 533 bis 540 be­ schrieben (Fig. 11F).
Schritt 533
Der Schritt 533 ist gleich dem Schritt 507.
Schritt 533A
Der Schritt 533A ist gleich dem Schritt 507A.
Schritt 533B
Der Schritt 533B ist gleich dem Schritt 507B.
Schritt 534
Der Schritt 534 ist gleich dem Schritt 508.
Schritt 535
Der Schritt 535 ist gleich dem Schritt 509.
Schritt 536
Der Schritt 536 ist gleich dem Schritt 510.
Schritt 536A
Der Schritt 536A ist gleich dem Schritt 510A.
Schritt 536B
Der Schritt 536B ist gleich dem Schritt 510B.
Schritt 537
Der Schritt 537 ist gleich dem Schritt 511.
Schritt 538
Der Schritt 538 ist gleich dem Schritt 512.
Schritt 539
Der Schritt 539 ist gleich dem Schritt 513. Die im TAL 1004 gesetzte Adresse ist die reale Adresse der Ebene-2 des Ebene-3-Gastes, die über die Signalleitung 1109 an die CU 1001 geliefert wird.
Schritt 539A
Der Schritt 539A ist gleich dem Schritt 513A, mit der Ausnahme, daß die Absolutadresse der Ebene-2 der GSTE durch die Absolutadresse der Ebene-2 des Ebene-3-Gastes ersetzt wird.
Schritt 539B
Der Schritt 539B ist gleich dem Schritt 513B, mit der Ausnahme, daß die Absolutadresse der Ebene-2 der GSTE durch die Absolutadresse der Ebene-2 des Ebene-3-Gastes ersetzt wird.
Schritt 54
Die CU 1001 empfängt über die Signalleitung 1109 die Ab­ solutadresse der Ebene-1 und liest über die Signalleitung 1108 das gemeinsame Segmentbit und das Speicherschutz- Bit, die in der DATCTL 1002 gesichert sind. Dann schickt sie eine Daten-Leseanforderung an den Hauptspeicher.
Hiermit ist die Ausführungsform der vorliegenden Erfin­ dung beschrieben. Die virtuelle Adresse des Ebene-3- Gastes kann vom GTLAR 1015 gelesen und an die CU 1001 zu­ rückgeschickt werden, ferner können das STER 1012 und das PTER 1013 gemeinsam ein Register benutzen. Weiterhin kön­ nen das HSTOR 1010 und das GSTOR 1011 ein gemeinsames Re­ gister benutzen, wobei die CU 1001 die Verwendung der einzelnen Register auswählt. Ebenso können der TLAX 1007 und das HTLAR 1014 ein Register gemeinsam benutzen.
Das HTLAR 1014 und GTLAR 1015 können ein Register gemein­ sam benutzen, wobei die CU 1001 die Verwendung der ein­ zelnen Register auswählt.
In den Flußdiagrammen der Fig. 10A bis 10C können die Schritte je nach Anforderung zusammengefaßt oder aufge­ teilt werden.
Im Adressenübersetzungsprozeß gemäß der vorliegenden Aus­ führungsform der Erfindung stellt der in Fig. 6 gezeigte Schritt 706 einen einfachen Adressenübersetzungsschritt dar, der die Prüfung der Hauptspeichererweiterung XB und die Addition der Hauptspeicher-Ursprungsadresse B ent­ hält. Wenn dieselbe Funktion ohne diesen Schritt erzielt werden soll, ist es erforderlich, anstelle der Adressen­ übersetzungstabelle des Ebene-2-OS für das Ebene-1-OS entsprechend der im Schritt 705 vom Ebene-2-OS erzeugten Adressenübersetzungstabelle, der Hauptspeichererweiterung XB und der Hauptspeicher-Ursprungsadresse B eine Schattenübersetzungstabelle zu erzeugen. Somit spielt der Schritt 706 in der vorliegenden Erfindung eine wichtige Rolle, obwohl er, wie erwähnt, einen einfachen Adressenübersetzungsschritt darstellt.

Claims (8)

1. Verfahren zur Übersetzung einer Adresse, die in einer Mehrzahl von virtuellen Maschinen erzeugt wird, wo­ bei die virtuellen Maschinen in einem eine reale Maschine (100) enthaltenden virtuellen Maschinensystem konfigu­ riert werden, gekennzeichnet durch die Schritte
des Konfigurierens (802) einer virtuellen Ma­ schine einer zweiten Ebene unter der Steuerung eines Betriebssystems (OS) einer ersten Ebene, das auf der re­ alen Maschine (erste Ebene) läuft;
des Konfigurierens (803) einer virtuellen Ma­ schine einer dritten Ebene unter der Steuerung eines wei­ teren Betriebssystems (OS), das auf der virtuellen Ma­ schine der zweiten Ebene läuft;
des Übersetzens (701-703, 750-753) einer in der virtuellen Maschine der dritten Ebene erzeugten virtuel­ len Adresse der dritten Ebene in eine virtuelle Adresse der zweiten Ebene;
des Übersetzens (704, 754, 705) der virtuellen Adresse der zweiten Ebene in eine virtuelle Adresse der ersten Ebene; und
des Addierens (755, 706, 756) einer dritten vor­ gegebenen Hauptspeicheradresse zu der virtuellen Adresse der ersten Ebene, um die letztere in eine Absolutadresse der ersten Ebene zu übersetzen.
2. Verfahren zur Übersetzung einer Adresse gemäß An­ spruch 1, gekennzeichnet durch die Schritte
des Feststellens (703; 504, 517, 530), ob die virtuelle Adresse der zweiten Ebene in einem vorgegebenen Hauptspeicherbereich liegt; und
des Feststellens (706; 513A, 526A, 539A), ob die Absolutadresse der ersten Ebene in einem vorgegebenen Hauptspeicherbereich liegt.
3. Virtuelles Maschinensystem mit einer Adressen­ übersetzungsfunktion, gekennzeichnet durch
eine Adressenübersetzungsschaltung mit Einrich­ tungen (1002, 1005, 1006, 1021, 1003, 1022), die parallel eine Adressenübersetzung auf einer realen Maschine und eine Adressenübersetzung auf einer in der realen Maschine konfigurierten virtuellen Maschine ausführen können;
Einrichtungen (1016 bis 1020), die gleichzeitig Sätze einer Hauptspeicher-Startadresseninformation und einer Hauptspeicher-Bereichsinformation einer Mehrzahl von virtuellen Maschinen halten.
4. Virtuelles Maschinensystem gemäß Anspruch 3, ge­ kennzeichnet durch Einrichtungen (1010-1015, 1004) zum Lesen der Sätze der Hauptspeicher-Startadresseninforma­ tion und der Hauptspeicher-Bereichsinformation nachein­ ander entsprechend ihrer Lage in einer Adressenüber­ setzungstabelle, deren Adressen übersetzt werden sollen, um die übersetzte Adresse zu erzeugen.
5. Virtuelles Maschinensystem gemäß Anspruch 3 oder 4, gekennzeichnet durch Einrichtungen (1205-1210), die aus den Hauptspeicher-Startadresseninformationen eine auswählen, wenn auf den Hauptspeicher der unterteilten realen Maschine zugegriffen werden soll, und die die Hauptspeicher-Startadresseninformation zu der Adresse, die entsprechend der Stufe des Adressenübersetzungsprozes­ ses zur Erzeugung einer Adresse eines realen Hauptspei­ chers bereits übersetzt worden ist, addieren.
6. Virtuelles Maschinensystem gemäß einem der An­ sprüche 3, 4 oder 5, gekennzeichnet durch Einrichtungen (703, 706), die dazu dienen, daß nur auf diejenige Adres­ senübersetzungstabelle (821, 831) des virtuellen Maschi­ nensystems Bezug genommen wird, die die Adressenüber­ setzungstabelle für die aktuelle Adressenübersetzung dar­ stellt, und daß der Zugriff auf einen nicht korrekten re­ alen Hauptspeicherbereich selbst dann verhindert wird, wenn in der Adressenübersetzungstabelle der virtuellen Maschine ein Fehler enthalten ist, indem sie die bezeich­ nete Hauptspeicher-Bereichsinformation verwenden.
7. Verfahren zur Übersetzung einer Adresse in einem virtuellen Maschinensystem durch Betreiben eines Be­ triebssystems (OS) einer ersten Ebene oder einer realen Maschine (erste Ebene) (100), wobei unter der Steuerung des Betriebssystems der ersten Ebene eine virtuelle Ma­ schine einer zweiten Ebene konfiguriert wird, auf dieser virtuellen Maschine der zweiten Ebene ein weiteres Be­ triebssystem (OS) betrieben wird und unter der Steuerung dieses weiteren Betriebssystems (OS) eine virtuelle Ma­ schine einer dritten Ebene konfiguriert wird, gekennzeichnet durch
einen ersten Schritt (701-703, 750-753) des Über­ setzens einer in der virtuellen Maschine der dritten Ebene erzeugten virtuellen Adresse der dritten Ebene in eine reale Adresse der dritten Ebene unter Verwendung ei­ ner Adressenübersetzungstabelle, die von dem auf der vir­ tuellen Maschine der dritten Ebene betriebenen Betriebs­ system erzeugt wird, und des Addierens einer ersten vor­ gegebenen Hauptspeicheradresse zur realen Adresse der dritten Ebene, um eine virtuelle Adresse der zweiten Ebene zu erzeugen;
einem zweiten Schritt (704, 754, 705) des Über­ setzens der virtuellen Adresse der zweiten Ebene in eine reale Adresse der zweiten Ebene unter Verwendung einer weiteren Adressenübersetzungstabelle, die von dem auf der virtuellen Maschine der zweiten Ebene betriebenen weite­ ren Betriebssystem erzeugt wird, und des Addierens einer zweiten vorgegebenen Hauptspeicheradresse zur realen Adresse der zweiten Ebene, um eine virtuelle Adresse der ersten Ebene zu erzeugen; und
einem dritten Schritt (755, 706, 756) des Addie­ rens einer dritten vorgegebenen Hauptspeicheradresse zur virtuellen Adresse der ersten Ebene, um eine Abso­ lutadresse der ersten Ebene zu erzeugen.
8. Verfahren zur Übersetzung einer Adresse gemäß An­ spruch 7, dadurch gekennzeichnet, daß der erste Schritt einen Schritt (703; 504, 517, 530) enthält, in dem fest­ gestellt wird, ob die virtuelle Adresse der zweiten Ebene in einem vorgegebenen Hauptspeicherbereich liegt, und der dritte Schritt einen Schritt (706, 513A, 526A, 539A) ent­ hält, in dem festgestellt wird, ob die Absolutadresse der ersten Ebene in einem vorgegebenen Hauptspeicherbereich liegt.
DE4125194A 1990-07-30 1991-07-30 Virtuelles Maschinensystem und Verfahren zur Steuerung dieses virtuellen Maschinensystems Expired - Lifetime DE4125194C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2199042A JP2839201B2 (ja) 1990-07-30 1990-07-30 仮想計算機システム

Publications (2)

Publication Number Publication Date
DE4125194A1 true DE4125194A1 (de) 1992-02-27
DE4125194C2 DE4125194C2 (de) 1997-01-09

Family

ID=16401150

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4125194A Expired - Lifetime DE4125194C2 (de) 1990-07-30 1991-07-30 Virtuelles Maschinensystem und Verfahren zur Steuerung dieses virtuellen Maschinensystems

Country Status (3)

Country Link
US (2) US5390309A (de)
JP (1) JP2839201B2 (de)
DE (1) DE4125194C2 (de)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5692193A (en) * 1994-03-31 1997-11-25 Nec Research Institute, Inc. Software architecture for control of highly parallel computer systems
US5678047A (en) * 1995-05-22 1997-10-14 Bull Hn Information Systems Inc. Automatically invoked operating system translator
DE19717102A1 (de) * 1997-04-23 1998-10-29 Siemens Nixdorf Inf Syst Verfahren zur Übertragung eines Betriebssystems in Datenverarbeitungsanlagen
US6223270B1 (en) * 1999-04-19 2001-04-24 Silicon Graphics, Inc. Method for efficient translation of memory addresses in computer systems
US7228337B1 (en) * 2001-09-11 2007-06-05 Cisco Technology, Inc. Methods and apparatus for providing a network service to a virtual machine
US6801993B2 (en) * 2001-09-28 2004-10-05 International Business Machines Corporation Table offset for shortening translation tables from their beginnings
US8108843B2 (en) 2002-09-17 2012-01-31 International Business Machines Corporation Hybrid mechanism for more efficient emulation and method therefor
US9043194B2 (en) * 2002-09-17 2015-05-26 International Business Machines Corporation Method and system for efficient emulation of multiprocessor memory consistency
US7953588B2 (en) * 2002-09-17 2011-05-31 International Business Machines Corporation Method and system for efficient emulation of multiprocessor address translation on a multiprocessor host
US7496494B2 (en) * 2002-09-17 2009-02-24 International Business Machines Corporation Method and system for multiprocessor emulation on a multiprocessor host system
US7069413B1 (en) 2003-01-29 2006-06-27 Vmware, Inc. Method and system for performing virtual to physical address translations in a virtual machine monitor
US8347297B2 (en) 2005-05-20 2013-01-01 International Business Machines Corporation System and method of determining an optimal distribution of source servers in target servers
JP4978008B2 (ja) * 2006-01-11 2012-07-18 株式会社日立製作所 仮想計算機上でのページテーブルアドレスの変更を高速化する方法
US8510596B1 (en) * 2006-02-09 2013-08-13 Virsec Systems, Inc. System and methods for run time detection and correction of memory corruption
US7868897B2 (en) * 2006-06-30 2011-01-11 Intel Corporation Apparatus and method for memory address re-mapping of graphics data
US8819647B2 (en) * 2008-01-25 2014-08-26 International Business Machines Corporation Performance improvements for nested virtual machines
US8099570B2 (en) * 2008-02-22 2012-01-17 International Business Machines Corporation Methods, systems, and computer program products for dynamic selective memory mirroring
US8380907B2 (en) * 2008-02-26 2013-02-19 International Business Machines Corporation Method, system and computer program product for providing filtering of GUEST2 quiesce requests
US8458438B2 (en) * 2008-02-26 2013-06-04 International Business Machines Corporation System, method and computer program product for providing quiesce filtering for shared memory
US8140834B2 (en) 2008-02-26 2012-03-20 International Business Machines Corporation System, method and computer program product for providing a programmable quiesce filtering register
US8527715B2 (en) 2008-02-26 2013-09-03 International Business Machines Corporation Providing a shared memory translation facility
US8387031B2 (en) * 2009-01-23 2013-02-26 International Business Machines Corporation Providing code improvements for nested virtual machines
JP2016534479A (ja) 2013-09-12 2016-11-04 ヴァーセック・システムズ・インコーポレーテッドVirsec Systems,Inc. マルウェアのランタイム中の自動検出
US10114760B2 (en) * 2014-01-14 2018-10-30 Nvidia Corporation Method and system for implementing multi-stage translation of virtual addresses
WO2015200508A1 (en) 2014-06-24 2015-12-30 Virsec Systems, Inc Automated root cause analysis of single or n-tiered applications
AU2015279923B9 (en) 2014-06-24 2018-01-25 Virsec Systems, Inc. System and methods for automated detection of input and output validation and resource management vulnerability
US11150928B2 (en) 2016-06-08 2021-10-19 Red Hat Israel, Ltd. Hypervisor translation bypass
KR102419574B1 (ko) 2016-06-16 2022-07-11 버섹 시스템즈, 인코포레이션 컴퓨터 애플리케이션에서 메모리 손상을 교정하기 위한 시스템 및 방법
US10353669B2 (en) 2016-09-02 2019-07-16 International Business Machines Corporation Managing entries in a mark table of computer memory errors
US10297335B2 (en) 2016-09-02 2019-05-21 International Business Machines Corporation Tracking address ranges for computer memory errors
US10338999B2 (en) 2016-09-02 2019-07-02 International Business Machines Corporation Confirming memory marks indicating an error in computer memory
US10304560B2 (en) * 2016-09-02 2019-05-28 International Business Machines Corporation Performing error correction in computer memory

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57212680A (en) * 1981-06-15 1982-12-27 Ibm Virtual computer system
US4792895A (en) * 1984-07-30 1988-12-20 International Business Machines Corp. Instruction processing in higher level virtual machines by a real machine
DE3841602A1 (de) * 1987-12-11 1989-06-22 Hitachi Ltd Virtuelles maschinensystem
JPH06219949A (ja) * 1993-01-25 1994-08-09 Mitsubishi Kasei Corp 抗トロンビン剤及びその製造方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4253145A (en) * 1978-12-26 1981-02-24 Honeywell Information Systems Inc. Hardware virtualizer for supporting recursive virtual computer systems on a host computer system
US4456959A (en) * 1980-07-17 1984-06-26 Terumo Corporation Period measurement system
US4494189A (en) * 1982-04-26 1985-01-15 International Business Machines Corporation Method and means for switching system control of CPUs
JPS6057438A (ja) * 1983-09-08 1985-04-03 Hitachi Ltd 仮想計算機システム制御装置
US4695950A (en) * 1984-09-17 1987-09-22 International Business Machines Corporation Fast two-level dynamic address translation method and means
JPS6219949A (ja) * 1985-07-18 1987-01-28 Hitachi Ltd アドレス変換装置
JPH0658650B2 (ja) * 1986-03-14 1994-08-03 株式会社日立製作所 仮想計算機システム
JP2523502B2 (ja) * 1986-06-04 1996-08-14 株式会社日立製作所 リカ−シブ仮想計算機の制御方式
US4843541A (en) * 1987-07-29 1989-06-27 International Business Machines Corporation Logical resource partitioning of a data processing system
US5230069A (en) * 1990-10-02 1993-07-20 International Business Machines Corporation Apparatus and method for providing private and shared access to host address and data spaces by guest programs in a virtual machine computer system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57212680A (en) * 1981-06-15 1982-12-27 Ibm Virtual computer system
US4792895A (en) * 1984-07-30 1988-12-20 International Business Machines Corp. Instruction processing in higher level virtual machines by a real machine
DE3841602A1 (de) * 1987-12-11 1989-06-22 Hitachi Ltd Virtuelles maschinensystem
JPH06219949A (ja) * 1993-01-25 1994-08-09 Mitsubishi Kasei Corp 抗トロンビン剤及びその製造方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
IBM Enterprise System Architecture/370 Principles of Operation (SA 22-7200) *
IBM Journal of Research and Development, Vol. 27, Nr. 6, November 1983, S. 530-544 *
IBM System 370 Extended Architecture Principles of Operation (SA22-7085) *
IBM System 370 Principles of Operation (GA-22- 7000) *
IBM Systems/370 Extended Architecture Interpre- tise Execution (SA 22-7095) *

Also Published As

Publication number Publication date
JP2839201B2 (ja) 1998-12-16
US5390309A (en) 1995-02-14
US5530820A (en) 1996-06-25
JPH0485642A (ja) 1992-03-18
DE4125194C2 (de) 1997-01-09

Similar Documents

Publication Publication Date Title
DE4125194C2 (de) Virtuelles Maschinensystem und Verfahren zur Steuerung dieses virtuellen Maschinensystems
DE3607889C2 (de)
DE69721590T2 (de) Ein bereichsbasiertes seiten-table-walk-bit verwendendes verfahren sowie vorrichtung
DE2350884C2 (de) Adreßumsetzungseinheit
DE60130178T2 (de) Programmentwicklungsunterstützungsapparat
DE2230987C2 (de)
DE2948285A1 (de) Adressensteuersystem fuer softwaresimulation
DE3131204A1 (de) Adressumrechnungs- und generatoranordnung
DE2737353A1 (de) Verfahren zum testen der adressbildung in einem dv-system und vorrichtung zur durchfuehrung des verfahrens
DE2360303C2 (de) Datenverarbeitungsanlage mit Adreßübersetzung für Ein-/Ausgabekanäle
EP0097725A1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE3718750C2 (de)
DE3911182C2 (de)
EP0010185A1 (de) Virtuell-Adressiervorrichtung für einen Computer
DE3841602A1 (de) Virtuelles maschinensystem
DE2658950A1 (de) Mikroprogrammierte verarbeitungseinheit sowie verfahren zur organisation derselben
DE2245284A1 (de) Datenverarbeitungsanlage
DE3931505C2 (de) Speichersteuerung in einer Datenverarbeitungsanlage
DE2847737C2 (de) Schaltung zur Umsetzung virtueller Adressen in eine reelle Adresse von größerer Länge
DE1499286A1 (de) Datenbearbeitungsanlage
DE2331394B1 (de) Datenverarbeitungsanlage mit virtueller adressierung
DE2611897A1 (de) Verfahren zur datenabrufsteuerung und dv-system zur durchfuehrung des verfahrens
DE2419836C3 (de) Schaltungsanordnung zur Durchführung von Unterprogramm-Sprungbefehlen in Datenverarbeitungsanlagen
DE3015876A1 (de) Anordnung und verfahren zur einen digitalprozessor zur vorauslesung eines operationscodeteils und eines operandenteils eines befehlswortes
DE2014729A1 (de) Datenverarbeitungssystem mit mindestens einer Datenverwendungseinheit

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
R071 Expiry of right
R071 Expiry of right