DE3825028A1 - Verfahren und vorrichtung zur ungueltigkeitsoperation bei adressumsetzpuffern in computersystemen - Google Patents

Verfahren und vorrichtung zur ungueltigkeitsoperation bei adressumsetzpuffern in computersystemen

Info

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
Application number
DE3825028A
Other languages
English (en)
Other versions
DE3825028C2 (de
Inventor
Mari Ara
Hideo Sawamoto
Ryo Yamagata
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE3825028A1 publication Critical patent/DE3825028A1/de
Application granted granted Critical
Publication of DE3825028C2 publication Critical patent/DE3825028C2/de
Granted legal-status Critical Current

Links

Classifications

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

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:
(1) Anwendung der Erfindung bei PTLB-Befehlen im VM- Betrieb
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.
(2) Anwendung der Erfindung im Host-Betrieb
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.
DE3825028A 1987-07-24 1988-07-22 Verfahren und vorrichtung zur ungueltigkeitsoperation bei adressumsetzpuffern in computersystemen Granted DE3825028A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0657449A (ja) * 1992-08-11 1994-03-01 Sumitomo Metal Ind Ltd 耐食性と溶接性に優れた自動車用高強度めっき鋼板

Family Cites Families (14)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0657449A (ja) * 1992-08-11 1994-03-01 Sumitomo Metal Ind Ltd 耐食性と溶接性に優れた自動車用高強度めっき鋼板

Cited By (5)

* Cited by examiner, † Cited by third party
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