DE3825028A1 - Verfahren und vorrichtung zur ungueltigkeitsoperation bei adressumsetzpuffern in computersystemen - Google Patents
Verfahren und vorrichtung zur ungueltigkeitsoperation bei adressumsetzpuffern in computersystemenInfo
- Publication number
- DE3825028A1 DE3825028A1 DE3825028A DE3825028A DE3825028A1 DE 3825028 A1 DE3825028 A1 DE 3825028A1 DE 3825028 A DE3825028 A DE 3825028A DE 3825028 A DE3825028 A DE 3825028A DE 3825028 A1 DE3825028 A1 DE 3825028A1
- Authority
- DE
- Germany
- Prior art keywords
- information
- address
- virtual
- vmid
- holding
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
Die Erfindung betrifft ein Verfahren und eine Vorrichtung
zur Ungültigkeitsoperation bei Adreßumsetzpuffern in
Computersystemen, die zur Beschleunigung der Ungültigkeitsoperation
geeignet sind.
Im Stand der Technik sind zur Realisierung eines Simultanbetriebs
mehrerer Betriebssysteme in einem einzelnen Computersystem
simulierte Computersysteme, die sog. "Virtuellen
Maschinen" (VM) bekannt. Im Gegensatz dazu heißt
ein Echtzeitcomputer "Reale Maschine". Die virtuellen
Maschinen werden durch die Verteilung der Betriebsmittel
der realen Maschine durch ein virtuelles Maschinensteuerprogramm
und die Simulation durch die reale Maschine erzeugt,
so daß Betriebssysteme unter den jeweiligen virtuellen
Maschinen laufen. Durch diese Technik erhält ein
einzelnes reales Computersystem die Fähigkeit, gleichzeitig
parallel mit mehreren Betriebssystemen zu arbeiten.
Bei der Verwirklichung eines solchen virtuellen Computersystems
mittels eines ein virtuelles Speichersystem aufweisenden
Computersystems gibt es drei Adressenebenen:
Ebene 1: | |
Reale Adresse des Hauptspeichers (reale Adresse für die reale Maschine; | |
Ebene 2: | virtuelle Adresse für die reale Maschine (reale Adresse für eine virtuelle Maschine); |
Ebene 3: | virtuelle Adresse für eine virtuelle Maschine. |
Gewöhnlich weist ein Computer mit virtuellem Speichersystem
im Prozessor einen Adressenumsetzpufferspeicher
(TLB) auf und speichert Paare von virtuellen Adressen und
entsprechenden realen Adressen ab, so daß die Adressenumsetzung
in kurzer Zeit durchführbar ist. Im virtuellen
Speichersystem eines virtuellen Computersystems weist
der TLB einen Satz von Adressenpaaren der Ebene 3 und
der Ebene 1 auf, die zur zweistufigen Adressenumsetzung
von der Ebene 3 zur Ebene 2 und dann von der Ebene 2 zur
Ebene 1 dienen, die einem virtuellen Computersystem eigen
ist.
Die JP-Offenlegungsschriften Kokai Nr. 53-101234 und 54-
34723 beschreiben ein solches virtuelles Computersystem,
bei dem TLB-Einträge mit Adressenpaaren der Ebene 3 und
der Ebene 1, virtuelle Maschinenidentifikatoren (VMID)
und Gültigkeitsbits (V-Bits) vorgesehen sind. Der Zweck,
weshalb im TLB VMID-Einträge stehen, besteht in der
Unterscheidung von Adressen der Ebene 3 verschiedener
virtueller Maschinen durch den TLB.
Im virtuellen Computersystem wird die Ungültigkeitsoperation
für den TLB einer laufenden VM durch Rücksetzen des
Gültigkeitsbits eines TLB-Eintrags durchgeführt, dessen
VMID gleich dem im VMID-Register gehaltenen VMID ist. Der
Eintrag mit einer in Frage kommenden VMID wird im TLB ge
sucht und sein Gültigkeitsbit zurückgesetzt.
Die JP-OS Kokai Nr. 60-57449 beschreibt ein virtuelles
Computersystem, das zur Registrierung mehrerer VMID′s
einen VMID-Kellerspeicher (VMID-STACK) enthält, wobei
der Adressenumsetzpufferspeicher TLB zur Aufnahme und
Speicherung von Information ausgelegt ist, die die Position
in dem VMID-STACK (VM-Stack-Nummer) angibt, anstatt
der VMID. Das in der zuletzt genannten JP-OS beschriebene
System soll das Anwachsen der Bitzahlen im VMID-Feld
im Falle wachsender VM-Multiplexoperationen vermeiden.
Die VM-Stack-Nummer hat eine geringere Bitzahl als die
VMID, und die Korrespondenz zwischen der VM-Stack-Nummer
und der VMID ist im VMID-STACK erhalten. Jedoch beschreibt
die zuletzt genannte Druckschrift nicht die gesamte Löschung
der eine laufende VM betreffenden TLB-Einträge.
Heutzutage werden an Adreßumsetztechniken in Computersystemen
solche Anforderungen an eine bessere Adressenumsetzverarbeitung
gestellt, die die obigen und andere
Probleme durch eine bezüglich ihrer Löschprozedur im
Adressenumsetzpuffer im Computersystem verbesserte
Adressenumsetzprozedur lösen sollen.
Es ist demnach Aufgabe der Erfindung, ein Verfahren und
eine Vorrichtung zur Ungültigkeitsoperation bei Adressenumsetzpuffern
in Computersystemen zu ermöglichen, mit
denen sich die für die Ungültigkeitsoperation im Adressenumsetzpuffer
nötige Zeit reduziert und außerdem die
gesamte Systemleistungsfähigkeit verbessern läßt, indem
VMID nicht nur bei der VM-Betriebsart sondern auch bei
der -Betriebsart (in der Realmaschinen-Betriebsart) verwendet
werden.
Zur Lösung dieser Aufgabe weist ein Computer mit einem
Adressenumsetzpuffer zur Umsetzung einer virtuellen Adresse
in eine reale Adresse erfindungsgemäß ein Register, das
eine erste Information speichert, die ein momentan laufendes
Programm definiert, wobei der Adressenumsetzpuffer
ein Bit zum Halten erster Information und eine Vergleichsschaltung
aufweist, die die erste in dem Bit gehaltene
Information mit der im Register vorhandenen ersten Information
vergleicht und den Erfolg der Umsetzung von einer
virtuellen Adresse in eine reale Adresse auf der Basis
eines übereinstimmenden Vergleichsergebnisses angibt,
eine Tabelle, die Daten hält, die erste Information angeben,
die Programme definiert, die bis zum momentanen
Zeitpunkt bereits liefen und eine Steuerschaltung auf,
die, wenn ein Ungültigkeitsbefehl für den Adressenumsetzpuffer
während des Laufs eines Programms ausgegeben wird,
unbenutzte erste Information als erste Information zur
Definition dieses einen Programms auf der Basis der Inhalte
der Tabelle ausgewählt und die ausgewählte erste Information
in das Register setzt.
Im folgenden wird die Erfindung in Ausführungsbeispielen
anhand der Zeichnung näher beschrieben. Es zeigt:
Fig. 1 ein Blockschaltbild eines Ausführungsbeispiels
der Erfindung, wobei nur der in der virtuellen
Maschinenbetriebsart ausgegebene PTLB-Befehl
angewendet ist;
Fig. 2 ein Flußdiagramm, das die Funktionsweise der in
Fig. 1 dargestellten Steuerschaltung gemäß der
Erfindung erläutert;
Fig. 3 ein Blockschaltbild eines Ausführungsbeispiels der
Erfindung bei Anwendung des in der VM-Betriebsart
und der Host-Betriebsart des virtuellen
Computersystems ausgegebenen PTLB-Befehls;
und
Fig. 4 ein Diagramm, das den Übergang der Inhalte des
ID-Registers gemäß dem in Fig. 3 dargestellten
Ausführungsbeispiel darstellt.
In Fig. 1, die in Form eines Blockschaltbilds ein erstes
Ausführungsbeispiel der Erfindung in Anwendung auf ein
virtuelles Computersystem zeigt, geben 1 ein Register
(VMNR) für das Halten der Identifikationsnummer (VMID)
eines laufenden VM′s, 2 einen Umsetzpuffer (TLB), der
Einträge enthält, die jeweils aus einem Bit (V), das die
Gültigkeit des Eintrags angibt, einem VMID-Feld (SID),
das die VM-Identifikationsnummer, zu der der Eintrag gehört,
einem virtuellen Adressenfeld (L) und einem realen
Adressenfeld (P) bestehen und 3 ein Register an (LAR), das die
virtuelle Adresse, die der Adressenumsetzung unterworfen
wird und außerdem die virtuelle Adresse des virtuellen
Computersystems hält. Weiterhin geben 4 und 5 Vergleichsschaltungen
und 6 ein UND-Glied an. Die Bezugsziffer 8
gibt einen VMID-Stackspeicher an, der Einträge in der
Anzahl m hat. Die Einträge sind von 1 bis m (Stacknummer)
numeriert. Darin sind die jeweiligen VMIDs′ registriert.
Schließlich geben 9 eine VMID-Stackspeicherverwaltungstabelle
und 11 eine Steuerschaltung an, die die im Flußdiagramm
von Fig. 2 dargestellte Operation aufgrund
eines Mikroprogramms ausführt.
Nachstehend wird das Zugriffsverfahren zum TLB der virtuellen
Maschine beschrieben. Ein Teil der virtuellen
Adresse des LAR 3 wird für den Zugriff zu einem betreffenden
Eintrag verwendet, und ein Vergleich durch die Vergleichsschaltung
5 dahingehend durchgeführt, ob das aus
dem Eintrag ausgelesene Adressenfeld L mit dem höherwertigen
Adressenabschnitt des LAR 3 übereinstimmt. Der
Eintrag des TLB 2 hat in seinem VMID-Feld (SID) eine Aufzeichnung
des Werts des VMNR 1 bei der Registrierung des
Eintrags, und die Vergleichsschaltung 4 vergleicht, ob
das aus dem Eintrag ausgelesene VMID-Feld mit der im
VMNR 1 gehaltenen Identifikationsnummer der momentan
laufenden VM übereinstimmt. Jede der Vergleichsschaltungen
4 und 5 erzeugt an ihrem Ausgang eine "1", wenn
ihr jeweils gleiche Eingänge anliegen. Die Ausgangssignale
der Vergleichsschaltungen 4 und 5 liegen dem
UND-Glied 6 zusammen mit dem Gültigkeitsbit (V) an, das
ebenfalls vom Eintrag ausgelesen wurde. Auf die Übereinstimmung
des VMID-Felds des betrachteten Eintrags des
TLB 2 mit der VMID des VMNR 1 und die Übereinstimmung
des L-Felds des Eintrags mit dem höherwertigen Adressenabschnitt
des LAR 3 und die Anwesenheit eines "1" V-Bits
des Eintrags wird das UND-Glied 6 freigegeben und erzeugt
ein "1" INTLB-Signal. Die aus dem Eintrag des TLB
2 ausgelesene reale Adresse (P) ist unter dieser Voraussetzung
die resultierende reale Adresse des realen Computers.
Nun wird der bei der Ausgabe eines TLB-Ungültigkeitsbefehls
(PTLB-Befehl) während eines Laufs eines VM-
Betriebssystems (VMOS) mit VMID="α" ablaufende Prozeß
erläutert. Der Zweck des PTLB-Befehls besteht darin,
einen im TLB registrierten Eintrag ungültig zu machen.
Wenn für ein VMOS mit dem VMID="α" (d. h. ein α-VMOS)
ein solcher Befehl ausgegeben wird, wird der TLB-Eintrag,
der mit VMID-"α" registriert wurde, ungültig gemacht,
so daß er nicht mehr benutzt wird.
In Fig. 1 kellert der VMID-Stackspeicher 8 die VMIDs′ zugeteilter
VMs ab. Die VMID-Stackverwaltungstabelle 9 enthält
drei Informationsfelder. Diese sind:
- (1) Ein Feld 91, das die Stacknummer speichert, unter der die laufende VMID registriert ist;
- (2) ein Feld 92, das den maximalen Wert der im VMID- Stack registrierten VMIDS′ speichert;
- (3) ein Feld 93, das die Anzahl der verwendeten VM- Stacks speichert.
Die folgende Beschreibung der Funktion des Ausführungsbeispiels
beruht auf der Annahme, daß das Feld 91 der Verwaltungstabelle
9 "3" enthält, was bedeutet, daß die momentan
laufende VMID im Stackabschnitt mit der Stacknummer 3 gespeichert
ist, daß das Feld 92 "β" enthält, was bedeutet,
daß die höchste VMID unter den zugeteilten VM-OS gleich
"β" ist und daß das Feld 93 "l" enthält, was bedeutet,
daß momentan l Stacks verwendet werden.
Bislang war es üblich, zur Ausführung des PTLB-Befehls im
TLB den Eintrag zu suchen, dessen VMID="α" ist. Nach
dem Auffinden dieses Eintrags wurde dessen V-Bit auf"0"
zurückgesetzt. Bei der vorliegenden Erfindung wird der
PTLB-Befehl eines α-VMOS gemäß dem Flußdiagramm in Fig. 2
ausgeführt. Wenn die Bitzahl des VMNR n beträgt, ergibt
sich der Wert von m zu 2 n oder weniger.
- (1) Der laufende Identifikator VMID "α" im Feld 91 wird
mit dem Höchstwert 2 n -1 des VMID verglichen, der im
System vorkommen kann.
Die Prozedur im Falle α=2 n -1 wird später beschrieben.
Die Prozedur im Falle α<2 n -1 wird nachstehend im Abschnitt (2) beschrieben.
Der Fall α<2 n -1 kann nicht auftreten. - (2) Der Höchstwert "b" des im VMID-Stack 8 registrierten VMID ergibt sich aus der Verwaltungstabelle 9. Der Wert β+1 wird als neuer VMID in das VNMR gesetzt. Der in der dritten Ebene des VMID-Stacks gespeicherte Wert "α" wird durch "β+1" ersetzt. In der Verwaltungstabelle 9 wird "β" durch β+1 ersetzt.
Bei diesem Ausführungsbeispiel wird durch Änderung der
durch die Stacknummer, unter der der laufende VMID in
der Verwaltungstabelle 9 registriert ist, gekennzeichneten
Stackebene in β+1, der laufende VMID von α in β+1 geändert.
Dabei erfolgt der folgende TLB-Zugriff mit dem
VMNR-Wert=β+1, und der mit VMID="α" registrierte
Eintrag wird von der Vergleichsschaltung 4 als ungleich
erfaßt. Folglich bleibt bei einem diesem PTLB-
Befehl folgenden TLB-Zugriff der mit dem VMID-Feld gleich
"α" registrierte TLB-Eintrag unberücksichtigt. Dies ersetzt
das Ungültigmachen des TLB-Eintrags mit dem VMID="α".
Im Falle α=2 n -1 werden alle Einträge des TLB ungültig,
da es keinen VMID-Wert gibt, der neu verwendet werden kann.
Ein neuer VMID "1" wird für das VNMR gesetzt ("0" stellt
die -Betriebsart dar). Es wird angenommen, daß die Verwaltungstabelle
9 von links nach rechts "1", "1", "1"
enthält. Eine "1" wird im ersten Eintrag des VMID-Stackspeichers
8 registriert. Wenn alle VMIDs′ verwendet wurden,
werden der VMID-Stackspeicher 8 und der TLB komplett
erneuert und VMID "1" wird registriert.
Obwohl die vorliegende Erfindung in Anwendung bei einem
virtuellen Computersystem beschrieben wurde, ist sie
nicht auf diese beschränkt.
Fig. 3 zeigt ein zweites Ausführungsbeispiel der Erfindung,
bei dem sie bei einem PTLB-Befehl angewendet wird, der ausgegeben
wird, wenn im System kein VM-Lauf stattfindet.
Teile, die mit denen in Fig. 1 identisch sind, tragen die
selben Bezeichnungen und Bezugsziffern.
Bei der folgenden Beschreibung heißt die Betriebsart, wenn
das System nicht in der VM-Betriebsart läuft, d. h., wenn
der Host-Betrieb durchgeführt wird, "Host-Betriebsart" im
Gegensatz zur "VM-Betriebsart" beim VM-Lauf.
In Fig. 3 wird der in Fig. 1 gezeigte VMID-Stack durch
einen ID-Stack 10 ersetzt, dessen Inhalte aus ID- und
SDA-Feldern bestehen, und ein ID-Register 11 wird hinzugefügt.
Das SDA-Feld enthält die Startadresse von Daten
(SD), die für den Lauf des VMOS-Betriebssystems nötig
sind, und ist einzeln für jede VM vorgesehen. Das ID-Feld
ist ein für den Zugriff zum TLB im Host-Betrieb verwendeter
Identifikator, der mit dem VMID im VM-Betrieb identisch
ist.
Nachfolgend wird die Operationsfolge für die Zuteilung
von VM1, VM2 und VM1 nach der Ausgabe des PTLB-Befehls im
Host-Betrieb beschrieben. Diese Operationsfolge wird von
dem in der Steuerschaltung 13 befindlichen Mikroprogramm
durchgeführt.
- (1) Das System läuft im Host-Betrieb mit ID="0". Das ID-Register 11 wird auf "0" gesetzt.
- (2) Der PTLB-Befehl wird im Host-Betrieb ausgegeben. Das ID-Register 11 wird um Eins inkrementiert. Wenn der laufende Wert der Höchstwert ist, den das ID-Register 11 annehmen kann, wird das ID-Register 11 auf "0" zurückgesetzt, und der TLB 2 für sämtliche Einträge ungültig gemacht.
- (3) VMOS1 wird zugeteilt. Außer wenn das ID-Register 11 beim Übergang vom Host-Betrieb zum VM-Betrieb "0" ist, werden alle Einträge des TLB ungültig gemacht. Dann wird das ID-Register 11 unbeachtet seiner Inhalte auf "1" gesetzt, und die Verwaltungstabelle 9 und das ID- Feld des ID-Stackspeichers 10 werden, wie im ersten Ausführungsbeispiel, aufgefrischt. Das ID-Feld des ersten Eintrags des ID-Stackspeichers wird nämlich auf "1" gesetzt, und das SDA-Feld wird auf die SD-Adresse des VMOS1 gesetzt (das sind die Inhalte des SDA-Registers 11).
- (4) Wenn der PTLB-Befehl während des Laufs des VMOS1 ausgegeben wird, werden die Verwaltungstabelle 9, das ID-Feld des ID-Stackspeichers 10 und das ID-Register in Übereinstimmung mit dem ersten Ausführungsbeispiel fortgeschrieben.
- (5) Dann wird das VMOS2 zugeteilt. Sobald ein neues VMOS zugeteilt wurde, erhält die VM einen neuen Identifikator ID auf die Bestätigung, daß die SD-Adresse 11 nicht im ID-Stackspeicher 10 registriert ist. Es reicht aus, den ID-Stackspeicher 10 auf die Stackeinträge abzusuchen, die den Stackumfang der Verwaltungstabelle 9 haben. Da sich die selbe SDA im ID-Stack 10 nicht findet, erhält das VMOS2 die maximale ID+1 ("3"), und die Verwaltungstabelle 9 wird für jedes Feld fortgeschrieben. Ein ID-Feld wird hinzugefügt.
- (6) VMOS1 wird zugeteilt. Der ID-Stackspeicher 10 wird nach dem Eintrag abgesucht, der eine SDA des VMOS1 hat, wie in (5). Der in (4) registrierte Stackeintrag ist relevant, und der ID des Eintrags wird in das ID-Register 1 gesetzt. Der Stackpointer der Verwaltungstabelle 9 wird fortgeschrieben, so daß er auf den Eintrag zeigt. Der maximale ID und der Stackumfang bleiben unverändert.
- (7) Das System kehrt zum Host-Betrieb zurück. Bei der Rückkehr vom VM-Betrieb zum Host-Betrieb wird das ID- Register 1 auf "0" gesetzt.
Fig. 3 zeigt den Übergang des ID-Registers gemäß dem vorangehend
beschriebenen Ausführungsbeispiel. Die Erfindung
verbessert die Leistungsfähigkeit des PTLB-Befehls. Nachfolgend
werden die Fähigkeiten und Vorteile des
oben beschriebenen Ausführungsbeispiels erläutert:
Bei der herkömmlichen Technik des Ungültigmachens des TLB-
Eintrags mit einer VMID einer laufenden VM kostet es,
wenn der PTLB-Befehl in der VM-Betriebsart n mal ausgegeben
wird, Zeit zum Absuchen sämtlicher Einträge im
TLB bei jedem PTLB-Befehl und Zeit zum Ungültigmachen
sämtlicher TLB-Einträge, die den VMID haben.
Erfindungsgemäß wird der TLB abgesucht und nur dann ungültig
gemacht, wenn die VMID den Maximalwert überschritten
hat. Da die Verarbeitungszeit für den PTLB-Befehl
sehr viel kürzer ist als die für das Absuchen des TLB,
wird die Prozedur im Vergleich mit der herkömmlichen
Technik um die TLB-Zugriffszeit schneller.
Die Verarbeitungszeit für den PTLB-Befehl wird im Vergleich
mit der herkömmlichen Technik auf 1/n reduziert.
(n ist der Maximalwert der VMID).
Claims (4)
1. Verfahren zur Ungültigkeitsoperation in einem Adreßumsetzpufferspeicher
eines Computersystems, der eine virtuelle
Adresse in eine reale Adresse umsetzt,
gekennzeichnet durch folgende Schritte:
- - Speichern erster Information, die ein momentan laufendes Programm definiert, in eine erste Speichereinrichtung und Vorsehen eines Bits für das Halten dieser ersten Information in dem Adressenumsetzpufferspeicher;
- - Vergleichen des Bits zum Halten der ersten Information mit der ersten in dem Bit gehaltenen Information und mit der von der ersten Speichereinrichtung zur Verfügung gestellten ersten Information und daraus Erzeugung eines Signals, das den Erfolg der Umsetzung von einer virtuellen in eine reale Adresse angibt, auf der Basis eines Übereinstimmungsergebnisses des Vergleichs;
- - Halten von Daten, die erste Information zur Definition solcher Programme angeben, die bis zum momentanen Zeitpunkt gelaufen sind, in einer Tabelle, und
- - Auswählen, wenn ein Ungültigkeitsbefehl für den Adressenumsetzpufferspeicher während des Laufs eines Programms ausgegeben wird, unbenutzter erster Information als erste Information für die Definition dieses Programms auf der Basis der in der Tabelle gehaltenen Daten und Setzen der ausgewählten ersten Information in die erste Speichereinrichtung.
2. Vorrichtung zur Durchführung von Ungültigkeitsoperationen
bei einem Adreßumsetzpufferspeicher (2) eines Computersystems,
der eine virtuelle Adresse in eine reale Adresse
umsetzt,
gekennzeichnet durch
- - eine Speichereinrichtung (1), die erste Information speichert, die ein momentan laufendes Programm definiert, wobei der Adreßumsetzpufferspeicher ein Bit (V) zum Halten der ersten Information und Glieder (4, 5, 6) aufweist, die die in dem Bit (V) gehaltene erste Information mit der von der Speichereinrichtung (1) gelieferten ersten Information vergleichen und ein Signal erzeugen, das den Erfolg der Umsetzung von einer virtuellen Adresse in eine reale Adresse auf der Basis eines die Übereinstimmung angebenden Vergleichsergebnisses angibt,
- - Haltemittel (8), die Daten halten, die erste Information für die Programme angeben, die bis zum momentanen Zeitpunkt liefern, und
- - eine Einrichtung (12), die, wenn ein Ungültigkeitsbefehl für den Adreßumsetzpufferspeicher während eines Laufs eines Programms ergeht, unbenutzte erste Information als erste Information zur Definition des einen Programms auf der Basis der Inhalte der Haltemittel wählt und die gewählte erste Information in die Speichereinrichtung (1) setzt.
3. Vorrichtung zur Ungültigkeitsoperation bei einem Adreßumsetzpufferspeicher
(2) eines Computersystems, der
eine virtuelle Adresse in eine reale Adresse umsetzt,
gekennzeichnet durch
- - eine Speichereinrichtung (1), die erste Information speichert, die eine momentan laufende virtuelle Maschine definiert, wobei der Adreßumsetzpufferspeicher ein Bit (V) für das Halten erster Information, die eine virtuelle Maschine definiert und Glieder (4, 5, 6) aufweist, die die erste in dem Bit gehaltene Information mit der von der Speichereinrichtung gelieferten ersten Information vergleichen und aus einem die Übereinstimmung angebenden Vergleichsergebnis ein Signal erzeugt, das den Erfolg einer Umsetzung von einer virtuellen Adresse in eine reale Adresse angibt,
- - eine Halteeinrichtung (8), die Daten über die erste Information hält, die zur Definition bis zum jetzigen Zeitpunkt gelaufener virtueller Maschinen verwendet wird, und
- - eine Einrichtung (12), die, wenn während eines Laufs einer virtuellen Maschine ein Ungültigkeitsbefehl für den Adreßumsetzpufferspeicher ergeht, unbenutzte erste Information als erste Information zur Definition der laufenden virtuellen Maschine auf der Basis der Inhalte der Halteeinrichtung (8) wählt und die gewählte erste Information in die Speichereinrichtung (1) setzt.
4. Informationsverarbeitungssystem mit einem ein virtuelles
Speichersystem aufweisenden Computer,
gekennzeichnet durch
ein Register (11) zum Halten eines Ausführungszustandskennzeichens für das Verarbeitungssystem und eines Ausführungszustandskennzeichens für das Verarbeitungssystem in einem Eintrag eines Adressenumsetzpufferspeichers (2), wobei
die Übereinstimmung des Ausführungszustandskennzeichens des Eintrags im Adreßumsetzpufferspeicher (2) mit dem im Ausführungszustandskennzeichenregister eine der Bedingungen für eine in dem Adreßumsetzpufferspeicher (2) zu registrierende virtuelle Adresse ist, wenn das Verarbeitungssystem die virtuelle Adresse in eine entsprechende reale Adresse umsetzt, und wobei
das Verarbeitungssystem eine Ungültigkeitsoperation für den Adreßumsetzpufferspeicher durch Setzen eines Werts, der in Ausführungszustandskennzeichen der Einträge des Adreßumsetzpufferspeichers nicht registriert ist, in das Register zum Halten des Ausführungszustandskennzeichens für das Verarbeitungssystem ausführt.
ein Register (11) zum Halten eines Ausführungszustandskennzeichens für das Verarbeitungssystem und eines Ausführungszustandskennzeichens für das Verarbeitungssystem in einem Eintrag eines Adressenumsetzpufferspeichers (2), wobei
die Übereinstimmung des Ausführungszustandskennzeichens des Eintrags im Adreßumsetzpufferspeicher (2) mit dem im Ausführungszustandskennzeichenregister eine der Bedingungen für eine in dem Adreßumsetzpufferspeicher (2) zu registrierende virtuelle Adresse ist, wenn das Verarbeitungssystem die virtuelle Adresse in eine entsprechende reale Adresse umsetzt, und wobei
das Verarbeitungssystem eine Ungültigkeitsoperation für den Adreßumsetzpufferspeicher durch Setzen eines Werts, der in Ausführungszustandskennzeichen der Einträge des Adreßumsetzpufferspeichers nicht registriert ist, in das Register zum Halten des Ausführungszustandskennzeichens für das Verarbeitungssystem ausführt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62183322A JP2510605B2 (ja) | 1987-07-24 | 1987-07-24 | 仮想計算機システム |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3825028A1 true DE3825028A1 (de) | 1989-02-02 |
DE3825028C2 DE3825028C2 (de) | 1993-01-07 |
Family
ID=16133676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3825028A Granted DE3825028A1 (de) | 1987-07-24 | 1988-07-22 | Verfahren und vorrichtung zur ungueltigkeitsoperation bei adressumsetzpuffern in computersystemen |
Country Status (3)
Country | Link |
---|---|
US (1) | US5317710A (de) |
JP (1) | JP2510605B2 (de) |
DE (1) | DE3825028A1 (de) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7890731B2 (en) | 2003-05-12 | 2011-02-15 | International Business Machines Corporation | Clearing selected storage translation buffer entries based on table origin address |
US9182984B2 (en) | 2012-06-15 | 2015-11-10 | International Business Machines Corporation | Local clearing control |
US9454490B2 (en) | 2003-05-12 | 2016-09-27 | International Business Machines Corporation | Invalidating a range of two or more translation table entries and instruction therefore |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07248974A (ja) * | 1994-03-10 | 1995-09-26 | Hitachi Ltd | 情報処理装置 |
JPH0981459A (ja) * | 1995-09-19 | 1997-03-28 | Hitachi Ltd | アドレス変換バッファ装置 |
DE19717102A1 (de) * | 1997-04-23 | 1998-10-29 | Siemens Nixdorf Inf Syst | Verfahren zur Übertragung eines Betriebssystems in Datenverarbeitungsanlagen |
JP2001051900A (ja) * | 1999-08-17 | 2001-02-23 | Hitachi Ltd | 仮想計算機方式の情報処理装置及びプロセッサ |
EP1391820A3 (de) * | 2002-07-31 | 2007-12-19 | Texas Instruments Incorporated | Gleichzeitige Taskausführung in einer Mehrfachprozessorumgebung mit einzelnem Betriebssystem |
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 |
US7530067B2 (en) * | 2003-05-12 | 2009-05-05 | International Business Machines Corporation | Filtering processor requests based on identifiers |
JP4718869B2 (ja) * | 2005-03-11 | 2011-07-06 | エヌイーシーコンピュータテクノ株式会社 | エミュレータ、エミュレータにおけるアドレス計算例外検出方法、プログラム |
CN100447702C (zh) * | 2005-05-23 | 2008-12-31 | 联想(北京)有限公司 | 一种防止未被授权程序在计算机系统运行的方法及其系统 |
US7543131B2 (en) * | 2005-08-12 | 2009-06-02 | Advanced Micro Devices, Inc. | Controlling an I/O MMU |
US7793067B2 (en) * | 2005-08-12 | 2010-09-07 | Globalfoundries Inc. | Translation data prefetch in an IOMMU |
US7480784B2 (en) * | 2005-08-12 | 2009-01-20 | Advanced Micro Devices, Inc. | Ensuring deadlock free operation for peer to peer traffic in an input/output memory management unit (IOMMU) |
US7548999B2 (en) * | 2006-01-17 | 2009-06-16 | Advanced Micro Devices, Inc. | Chained hybrid input/output memory management unit |
EP2169557A4 (de) * | 2007-06-20 | 2010-08-04 | Fujitsu Ltd | Prozessor, tlb-steuerverfahren, tlb-steuerprogramm und informationsprozessor |
US8631212B2 (en) | 2011-09-25 | 2014-01-14 | Advanced Micro Devices, Inc. | Input/output memory management unit with protection mode for preventing memory access by I/O devices |
US9619387B2 (en) * | 2014-02-21 | 2017-04-11 | Arm Limited | Invalidating stored address translations |
US9626221B2 (en) | 2015-02-24 | 2017-04-18 | Red Hat Israel, Ltd. | Dynamic guest virtual machine identifier allocation |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0657449A (ja) * | 1992-08-11 | 1994-03-01 | Sumitomo Metal Ind Ltd | 耐食性と溶接性に優れた自動車用高強度めっき鋼板 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4053948A (en) * | 1976-06-21 | 1977-10-11 | Ibm Corporation | Look aside array invalidation mechanism |
US4426682A (en) * | 1981-05-22 | 1984-01-17 | Harris Corporation | Fast cache flush mechanism |
US4456954A (en) * | 1981-06-15 | 1984-06-26 | International Business Machines Corporation | Virtual machine system with guest architecture emulation using hardware TLB's for plural level address translations |
US4714990A (en) * | 1982-09-18 | 1987-12-22 | International Computers Limited | Data storage apparatus |
US4731739A (en) * | 1983-08-29 | 1988-03-15 | Amdahl Corporation | Eviction control apparatus |
US4682281A (en) * | 1983-08-30 | 1987-07-21 | Amdahl Corporation | Data storage unit employing translation lookaside buffer pointer |
JPS6091462A (ja) * | 1983-10-26 | 1985-05-22 | Toshiba Corp | 演算制御装置 |
US4779188A (en) * | 1983-12-14 | 1988-10-18 | International Business Machines Corporation | Selective guest system purge control |
JPS60209862A (ja) * | 1984-02-29 | 1985-10-22 | Panafacom Ltd | アドレス変換制御方式 |
GB8405491D0 (en) * | 1984-03-02 | 1984-04-04 | Hemdal G | Computers |
JPS61206057A (ja) * | 1985-03-11 | 1986-09-12 | Hitachi Ltd | アドレス変換装置 |
JPH0685156B2 (ja) * | 1985-05-24 | 1994-10-26 | 株式会社日立製作所 | アドレス変換装置 |
JPH0658650B2 (ja) * | 1986-03-14 | 1994-08-03 | 株式会社日立製作所 | 仮想計算機システム |
US4843541A (en) * | 1987-07-29 | 1989-06-27 | International Business Machines Corporation | Logical resource partitioning of a data processing system |
-
1987
- 1987-07-24 JP JP62183322A patent/JP2510605B2/ja not_active Expired - Fee Related
-
1988
- 1988-07-22 DE DE3825028A patent/DE3825028A1/de active Granted
-
1991
- 1991-04-03 US US07/681,446 patent/US5317710A/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0657449A (ja) * | 1992-08-11 | 1994-03-01 | Sumitomo Metal Ind Ltd | 耐食性と溶接性に優れた自動車用高強度めっき鋼板 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7890731B2 (en) | 2003-05-12 | 2011-02-15 | International Business Machines Corporation | Clearing selected storage translation buffer entries based on table origin address |
US8122224B2 (en) | 2003-05-12 | 2012-02-21 | International Business Machines Corporation | Clearing selected storage translation buffer entries bases on table origin address |
US8452942B2 (en) | 2003-05-12 | 2013-05-28 | International Business Machines Corporation | Invalidating a range of two or more translation table entries and instruction therefore |
US9454490B2 (en) | 2003-05-12 | 2016-09-27 | International Business Machines Corporation | Invalidating a range of two or more translation table entries and instruction therefore |
US9182984B2 (en) | 2012-06-15 | 2015-11-10 | International Business Machines Corporation | Local clearing control |
Also Published As
Publication number | Publication date |
---|---|
DE3825028C2 (de) | 1993-01-07 |
JP2510605B2 (ja) | 1996-06-26 |
JPS6428758A (en) | 1989-01-31 |
US5317710A (en) | 1994-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3825028C2 (de) | ||
DE3932675C2 (de) | ||
DE3805107C2 (de) | ||
DE69033540T2 (de) | Verfahren zur Verwaltung von in Familien aufgeteilten mehrfachen virtuellen Speichern und entsprechende Struktur | |
DE3011552C2 (de) | ||
DE2936932C2 (de) | Kanaladressen-Steuervorrichtung in einer virtuellen Maschinenanordnung | |
DE3586359T2 (de) | System und verfahren zum durchfuehren von ein-/ausgabeoperationen fuer ein virtuelles system. | |
DE3689287T2 (de) | Datenverarbeitungsgerät. | |
DE112005003863B3 (de) | Verwalten von Prozessorressourcen während Architekturereignissen | |
DE69721590T2 (de) | Ein bereichsbasiertes seiten-table-walk-bit verwendendes verfahren sowie vorrichtung | |
DE69032334T2 (de) | Virtuelles Computersystem mit Ein-/Ausgabeunterbrechungssteuerung | |
DE68902193T2 (de) | Datenspeicheranordnung. | |
DE3751645T2 (de) | Anteilige Nutzung von Kopie-beim-Schreiben-Segmenten in einer Datenverarbeitungsanlage mit virtuellen Maschinen und virtuellem Speicher | |
DE69635865T2 (de) | Adressentransformation in einem cluster-computersystem | |
DE3833933A1 (de) | Informationsverarbeitungseinrichtung mit einer adressenerweiterungsfunktion | |
DE2226382A1 (de) | Datenverarbeitungsanlage | |
DE2339741A1 (de) | Anordnung zur bildung einer relativen adresse fuer einen speicher | |
DE10002120A1 (de) | Logikstruktur eines Adressumsetzpuffers | |
DE2856715B2 (de) | Verfahren zum Durchführen einer Pufferspeicher-Koinzidenz in einem Mehrprozessorsystem | |
DE3518818C2 (de) | ||
DE4123550A1 (de) | Informationsverarbeitungssystem mit direktem speicherzugriff | |
DE3932695A1 (de) | Datenverarbeitungssystem vom mehrfach virtuellen adressraum-typ | |
DE3650021T2 (de) | Cache-Speicherübereinstimmungsvorrichtung mit Verriegelung. | |
DE2710477A1 (de) | Anordnung zur kohaerenten leitung des informationsaustauschs zwischen zwei aneinanderstossenden niveaus einer speicherhierarchie | |
DE69429503T2 (de) | Übersetzungsmechanismus für Ein-/Ausgabeadressen |
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 | ||
8339 | Ceased/non-payment of the annual fee |