DE4125194A1 - Virtuelle maschine und verfahren zur steuerung dieser virtuellen maschine - Google Patents
Virtuelle maschine und verfahren zur steuerung dieser virtuellen maschineInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/109—Address 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).
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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).
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.
Der Schritt 520A ist ähnlich dem Schritt 507A.
Der Schritt 520B ist ähnlich dem Schritt 507B.
Der Schritt 521 ist ähnlich dem Schritt 508.
Der Schritt 522 ist ähnlich dem Schritt 509.
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.
Der Schritt 523A ist ähnlich dem Schritt 510A.
Der Schritt 523B ist ähnlich dem Schritt 510B.
Der Schritt 524 ist ähnlich dem Schritt 511.
Der Schritt 525 ist ähnlich dem Schritt 512.
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.
Der Schritt 526A ist gleich dem Schritt 513A, mit der
Ausnahme, daß die GSTE durch die GPTE ersetzt wird.
Der Schritt 526B ist gleich dem Schritt 513B, mit der
Ausnahme, daß die GSTE durch die GPTE ersetzt wird.
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.
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.
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.
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.
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.
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).
Der Schritt 533 ist gleich dem Schritt 507.
Der Schritt 533A ist gleich dem Schritt 507A.
Der Schritt 533B ist gleich dem Schritt 507B.
Der Schritt 534 ist gleich dem Schritt 508.
Der Schritt 535 ist gleich dem Schritt 509.
Der Schritt 536 ist gleich dem Schritt 510.
Der Schritt 536A ist gleich dem Schritt 510A.
Der Schritt 536B ist gleich dem Schritt 510B.
Der Schritt 537 ist gleich dem Schritt 511.
Der Schritt 538 ist gleich dem Schritt 512.
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.
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.
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.
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.
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.
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.
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.
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.
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)
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)
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)
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 |
-
1990
- 1990-07-30 JP JP2199042A patent/JP2839201B2/ja not_active Expired - Lifetime
-
1991
- 1991-07-25 US US07/736,022 patent/US5390309A/en not_active Expired - Lifetime
- 1991-07-30 DE DE4125194A patent/DE4125194C2/de not_active Expired - Lifetime
-
1994
- 1994-10-25 US US08/329,649 patent/US5530820A/en not_active Expired - Lifetime
Patent Citations (4)
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)
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 |