DE2948285A1 - Adressensteuersystem fuer softwaresimulation - Google Patents
Adressensteuersystem fuer softwaresimulationInfo
- Publication number
- DE2948285A1 DE2948285A1 DE19792948285 DE2948285A DE2948285A1 DE 2948285 A1 DE2948285 A1 DE 2948285A1 DE 19792948285 DE19792948285 DE 19792948285 DE 2948285 A DE2948285 A DE 2948285A DE 2948285 A1 DE2948285 A1 DE 2948285A1
- Authority
- DE
- Germany
- Prior art keywords
- address
- program
- register
- virtual machine
- address translation
- 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
Description
Adressensteuersystem für Softwaresimulation Priorität: 1. Dezember 1978 Japan 14883V1978
Die Erfindung betrifft ein Adressensteuersystem für Softwaresimulation und insbesondere ein Adressensteuersystem
für Softwaresimulation in einem virtuellen Maschinensystem mit einer virtuellen Speicherfunktion.
Es sind Versuche unternommen worden, das Konzept einer virtuellen Maschine in die Praxis umzusetzen, siehe
"IBM System Journal" 1972, Nr. 2. Die Nützlichkeit einer virtuellen Maschine kann wie folgt zusammengefaßt
werden:
1) Es ist möglich, unter Ausnutzung einer Hardware eine solche Umgebung zu schaffen, daß jeder von mehreren
sich an einem Rechnersystem beteiligenden Benutzern das gesamte System für sich selbst benutzt.
2) Es ist möglich, Rechnersysteme mit leicht unterschiedlichem Aufbau oder Systemkonfiguration virtuell zu
schaffen. Die Verwendung einer virtuellen Maschine ermöglicht demgemäß einen simultanen Lauf von Programmen,
die unter verschiedenen Betriebssystemen laufen, und erlaubt eine flexiblere Änderung der Systemkonfiguration.
Der Betriebszustand des Systems kann des weiteren überwacht werden und jeder Benutzer ist frei, die Testfunktion
der Maschine zu verwenden.
Fig. 1 zeigt schematisch das Konzept eines üblichen bisher verwendeten Rechnersystems. Fig. 2 zeigt
schematisch das Konzept des virtuellen Maschinensystems. In Fig. 1 und 2 bedeutet die reale Maschine Rechnerhardware.
Da mehrere Benutzerprogramme unter dem Betriebssystem (OS) laufen, wird ein Rechnersystemelement
(ein zentraler Prozessor, ein Hauptspeicher, Kanäle, eine Ein/Ausgabe-Steuereinrichtung, eine Ein/Ausgabevorrichtung
und ein Systembedienungsplatz) so geleitet,
030023/0878
daß die jeweiligen Programme daran Anteil haben. Zwischen dem Betriebssystem und der realen Maschine ist eine
Begriffs-Schnittstelle, mit Hardware-Schnittstelle
bezeichnet, vorgesehen und zwischen den Benutzerprogrammen
und dem Betriebssystem ist eine Schnittstelle, die als Programm/Betriebssystem-Schnittstelle bezeichnet ist,
vorgesehen. Bei dem virtuellen Maschinensystem steuert ein Programm, das mit virtuellem Maschinenmonitor (VMM)
bezeichnet ist, mehrere Betriebssysteme, so daß das Systemelement unter den jeweiligen Programmen geteilt
wird. In Fig. 2 entsprechen die Blöcke mit gestrichelten Linien jeweils einem üblichen Rechnersystem und beziehen
sich jeweils auf eine virtuelle Maschine (VM). Unter dem virtuellen Maschinensystem können gleichzeitig mehrere
virtuelle Maschinen laufen.
Die Mehrprogrammtechniken werden heute zum wirksamen Laufen eines Rechnersystems ausgenutzt und die Mehrprogrammtechniken
erlauben eine Beteiligung an dem Systemelement durch die jeweiligen Programme. Das Systemelement
wird durch das Betriebssystem gesteuert und kann durch einen Befehl Zugriff erhalten, der im allgemeinen
als "privilegierter Befehl" bezeichnet wird, den nur das Betriebssystem ausgeben kann.
Jedes Benutzerprogramm ist einer "Problembetriebsart" zugewiesen. Wenn das Benutzerprogramm den vorstehend
erwähnten privilegierten Befehl ausgibt, wird eine Programmunterbrechung, mit "privilegierte Betriebsausnähme"
bezeichnet, aufgefunden.
Bei einer virtuellen Maschine können mehrere übliche Betriebssysteme gleichzeitig laufen. Polglich wird das
Systemelement, das durch die Betriebssysteme in der Vergangenheit gesteuert worden ist, durch das Programm
gesteuert, auf das sich der virtuelle Maschinenmonitor (VMM) bezieht. Die Benutzerprogramme einschließlich der
030023/0878
verwendeten Betriebssysteme werden alle der "Problembetriebsart" zugewiesen und nur der virtuelle Maschinenmonitor
arbeitet in einer "privilegierten Betriebsart". Wenn das Betriebssystem jedes Benutzers bestrebt ist,
den "privilegierten Befehl" auszuführen, wird demgemäß eine
Programmunterbrechung festgestellt und eine Ausführungssteuerung wird auf den virtuellen Maschinenmonitor
übertragen, der diesen "privilegierten Befehl" simuliert.
Der virtuelle Maschinenmonitor hat die folgenden Funktionen: Der virtuelle Maschinenmonitor:
(1) steuert die Benutzerprogramme (einschließlich der
Betriebssysteme), um das Systemelement wirksam aufzuteilen,
(2) simuliert den "privilegierten Befehl" von jedem Betriebssystem und
(3) empfängt alle Unterbrechungen (einschließlich einer Ein/Ausgabeunterbrechung, einer äußeren Unterbrechung
und einer Unterbrechung, die mit einem virtuellen Speicher verbunden ist) und führt eine Verarbeitung
entsprechend den Unterbrechungssystemselementen aus und sendet notwendigenfalls die Unterbrechung zu
jedem Betriebssystem.
Die virtuelle Maschine hat die voranstehend erwähnten Vorteile, jedoch wird beim Lauf eines Programms unter
der virtuellen Maschine eine Leistungsverschlechterung in gewissem Umfang aufgrund eines für die virtuelle
Maschine besonderen organisatorischen Aufwands im Vergleich mit dem Lauf desselben Programms unter dem
Betriebssystem eines üblichen, bisher verwendeten
Rechners verursacht. Der organisatorische Aufwand kann
in direkten und indirekten organisatorischen Aufwand in folgender Weise geteilt werden:
030023/0878
(1) Direkter organisatorischer Aufwand.
Dieser tritt hauptsächlich im Verlauf der Verarbeitung durch Software des virtuellen Maschinenmonitors auf
und diese Art des organisatorischen Aufwands ist wie folgt:
(a) Organisatorischer Aufwand durch Simulation des privilegierten Befehls.
Wie oben beschrieben wurde, ist jedes Benutzerprogramm einschließlich des dafür benutzten
Betriebssystems der "Problembetriebsart" zugewiesen und die durch das Betriebssystem ausgegebenen
privilegierten Befehle werden alle durch den virtuellen Maschinenmonitor simuliert.
(b) Organisatorischer Aufwand zum Schalten jedes Benutzerprogramms.
(c) Organisatorischer Aufwand zum Unterstützen einer virtuellen Speicherfunktion des Betriebssystems.
(d) Organisatorischer Aufwand zum Umsetzen eines Kanalprogramms.
Ein Kanalprogramm zum Starten einer Ein/Ausgabevorrichtung durch das Betriebssystem ist eine
logische Adresse zu einem Hauptrechner. Der virtuelle Maschinenmonitor setzt deshalb die logische
Adresse in eine reale Adresse des Hauptrechners um.
(e) Organisatorischer Aufwand zum Unterstützen von Unt erbrechungen.
Bei der virtuellen Maschine wird jede Unterbrechung durch den virtuellen Maschinenmonitor indiziert,
so daß, falls diese Unterbrechung erforderlich ist, sie in das Betriebssystem reflektiert
werden muß. Diese Verarbeitung wird durch den virtuellen Maschinenmonitor ausgeführt,
(f) Organisatorischer Aufwand zum Unterstützen der Bedienungsplatzfunktion.
Der virtuelle Maschinenmonitor unterstützt die Bedienungsplatzfunktion einschließlich der Testfunk
tion.
030023/0878
(2) Indirekter organisatorischer Aufwand Bei dem bestehenden Betriebssystem werden verschiedene
Algorithmen in das System der Zuweisung und Leitung des Systemelements eingefügt, so daß dessen Verfügbarkeit
erhöht wird. Beim Lauf unter dem virtuellen
Maschinensystem können diese Algorithmen Jedoch in bestimmten Fällen ein entgegengesetztes Ergebnis
erzeugen.
Nachfolgend wird der Stand der Technik in Verbindung mit der Simulation des privilegierten Befehls beschrieben.
Da jedes Benutzerprogramm einschließlich des dafür verwendeten Betriebssystems der "Problembetriebsart", wie
oben beschrieben, zugewiesen ist, werden die durch das Betriebssystem verwendeten privilegierten Befehle alle
als "privilegierte Betriebsausnahmen11 festgestellt und in dem virtuellen Maschinenmonitor (VMM) indiziert. Der
virtuelle Maschinenmonitor (VMM) simuliert dann den privilegierten Befehl in der folgenden Weise. Wenn eine
Programmunterbrechung der "privilegierten Betriebsausnahme" festgestellt wird, werden ein Wort des alten
Programmzustands (PSW),ein Unterbrechnungskode usw. in einen Vorsatzbereich geladen. Nach dem Sicherstellen
eines Universalregisters in einem Arbeitsbereich des virtuellen Maschinenmonitors (VMM) liest der virtuelle
Maschinenmonitor (VMM) von einem Bereich einer virtuellen Maschine (VM) einen Operationskode eines Befehls, der
die privilegierte Betriebsausnahme von dem Wort des alten Programmzustands ausgegeben hat, und überträgt nach einer
Operandenadressenberechnung entsprechend dem Betriebskode von dem Inhalt eines Felds des Befehls und des sichergestellten
Universalregisters eine Steuerung zu der Befehlsverarbeitungroutine entsprechend dem Betriebskode.
Beider Befehlsverarbeitungsroutine wird ein erforderlicher
Operand ausgelesen oder eingeschrieben oder aus dem Bereich der virtuellen Maschine (VM) ausgelesen oder darin eingeschrieben.
030023/0878
Pig. 3 zeigt ein Prozeßdiagramm des virtuellen Maschinenmonitors
(VMM). In dem Flußdiagramm der Fig. 3 ist die Verarbeitung der Schriftte Θ ,(2) und Q) von einem
Lesen/Schreiben eines Operanden in dem Programmbereich der virtuellen Maschine (VM) begleitet. Das Programm
des virtuellen Maschinenmonitors (VMM) arbeitet in der
realen Adressenbetriebsart zum Unterstützen eines virtuellen Speichers des Betriebssystems. Bei der Verarbeitung
der Schritte (i) , © und (f) , wenn zu dem Programmbereich
der virtuellen Maschine (VM) zugegriffen wird, wird demgemäß die logische Adresse des Operanden in eine
reale Adresse unter Verwendung eines Befehls umgesetzt, der eine Adreßumsetzung (einen Lastbefehl der realen
Adresse) explizit befiehlt, und dann erfolgt der Zugriff zu dem Hauptspeicher mit der auf diese Weise
erhaltenen realen Adresse. Da der Lastbefehl der realen Adresse üblicherweise nicht ein Adreßumsetzregister
(TLB) zum Laden eines Paars logischer realer Adressen verwendet, erfolgt zu einer Segmenttabelle und einer
Seitentabelle in dem Hauptspeicher immer ein Zugriff für eine dynamische Adreßumsetzung (DAT), was zu einem erheblichen
organisatorischen Aufwand führt.
Insbesondere im Falle eines Zugriffs mehrerer Operanden verschiedener Stellen durch einen Befehl wird der für die
dynamische Adreßumsetzung (DAT) notwendige organisatorische Aufwand bemerkenswert.
Der Erfindung liegt die Aufgabe zugrunde, ein Adressensteuersystem
für Softwaresimulation zu schaffen, durch das der organisatorische Aufwand aufgrund der Adreßumsetzung
während der Simulation eines privilegierten Befehls verringert wird.
Diese Aufgabe wird durch die Merkmale des Kennzeichens des
Anspruchs 1 gelöst. Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
030023/0878
Die Erfindung wird beispielhaft anhand der Zeichnung beschrieben, in der sind
Fig. 1 eine Darstellung des Konzepts eines bisher verwendeten allgemeinen Maschinensystems,
Fig. 2 eine Darstellung des Konzepts eines virtuellen
Maschinensystems,
Fig. 3 ein Flußdiagramm der Verarbeitung eines virtuellen Maschinenmonitors (VMM),
Fig. 3 ein Flußdiagramm der Verarbeitung eines virtuellen Maschinenmonitors (VMM),
Fig. 4 ein Blockschaltbild des Aufbaus einer Adressensteuerschaltung
einer ersten Ausführungsform der
Erfindung,
Fig. 5 ein Blockschaltbild des Aufbaus eines Adreßumsetzkreises nach der Erfindung,
Fig. 5 ein Blockschaltbild des Aufbaus eines Adreßumsetzkreises nach der Erfindung,
Fig. 6 eine Darstellung einer Steuerinformation einer dynamischen Adreßumsetzung (DAT), die in ein
Steuerregister geladen ist,
Fig. 7 eine Darstellung des Inhalts eines Vorsatzregisters,
Fig. 8 ein Blockschaltbild eines Aufbaus einer Adressensteuerschaltung einer zweiten Ausführungsform der
Erfindung und
Fig. 9 eine Darstellung eines Beispiels des Inhalts eines Registers während der Ausführung eines Ubertragungszeichenbefehls.
In Fig. 4 bezeichnet 1 ein erstes Wort eines Registers
für ein Programmzustandswort (PSW), 2 ein zweites Wort des PSW-Registers, 3 ein Operanden- 1 -Adressenregister,
4- ein Operanden- 2 -Adressenregister, 5 eine Verriegelung
einer dynamischen Adreßumsetzung einer virtuellen Maschine (VMDAT), 6 eine Statusanzeigeverriegelung, 7 bis 9 UND-Gates
und 10 ein ODER-Gate. Nach dem Feststellen einer Programmausnahme während eines Benutzerprogramms (einschließlich
eines Betriebssystems) tritt eine Unterbrechung auf und entsprechend der Adreßumsetzsteuerinformation
in dem Programmzustandswort, das zu dieser Zeit die dynamische Adreßumsetzung (DAT) steuert, wird
die VMDAT-Verriegelung 5 eingestellt. Während des Betriebs
030023/0878
- ίο -
jedes Benutzerprogramms, wenn ein Bit (EC-Bit), das eine
erweiterte Steuerbetriebsart anzeigt, und ein Bit (T-Bit), das eine Adreßumsetzung anzeigt, beide "1" sind, wird die
VMDAT-Verriegelung 5 zum Zeitpunkt des Auftretens eines Zustandsübergangs von dem Zustand der virtuellen
Maschine (VM) zu dem Zustand des virtuellen Maschinenmonitors (VMM) eingestellt, d.h. zum Zeitpunkt des
Auftretens einer Unterbrechung in dem VM-Zustand. Dann findet ein Austausch des Programmstatusworts statt, um
ein Programmstatuswort des virtuellen Maschinenmonitors (VMM) in Jedes der PSW-Register 1 und 2 zu laden. Wenn
die Programmausführung festgestellt ist, wird ein Unterbrechungs(INT)-Eingang der Zustandsanzeigevorrichtung
"1" und die Zustandsanzeigeverriegelung 6 gibt "1" ab, was den Zustand des virtuellen Maschinenmonitors (VMM) anzeigt.
Die Zustandsanzeigeverriegelung 6 ist in der Lage, "1" an der VM-Seite und "0" an der VMM-Seite durch einen
Rückführbefehl (RTN) abzugeben, der für die Übertragung der Steuerung zu der virtuellen Maschine (VM) nach Beendigung
der Simulation durch den virtuellen Maschinenmonitor (VMM) ausgegeben wird. Der virtuelle Maschinenmonitor
(VMM) steuert das Bit 0 des Operandenadressenregisters und setzt, wenn eine Adreßumsetzung erforderlich ist,
den Wert des Bits 0 auf "1". Durch diese Einstellung zeigt die Zustandsanzeigeverriegelung 6 den Zustand des
virtuellen Maschinenmonitors (VMM) an, d.h. "1" am Ausgang der VMM-Seite. Wenn das Eit 0 des Operandenadressenregisters
"1" ist, wird zu der Operandenadresse entsprechend
zugegriffen, wodurch das UND-Gate 8 oder 9 entsprechend der zugegriffenen Operandenadresse M1" abgibt,
während von dem ODER-Gate 10 ein Signal Tx abgegeben wird, das die Ausführung einer Adreßumsetzung unter Verwendung
einer Adreßumsetzinformation während des VM-Programmbetriebs
anzeigt. Die Operandenadresse (logische Adresse) führt somit eine Adreßumsetzung durch Zugriff unter Ausnutzung
der Adreßumsetzinformation der virtuellen Maschine, eines Adreßumsetzregisters (TCB) oder einer in der virtuellen
Maschine verwendeten Umsetztabelle aus.
030023/0878
In Fig. 5 bezeichnet 11 ein Umsetzsteuerinformationsregister
einer derzeitigen Adresse, 12 ein Umsetzsteuerinformationsregister
einer vorangehenden Adresse, 13 einen Wähler für eine Segmenttabellenanfangsidentifizierung
(STO-ID), 14- eine Adreßumsetzverarbeitungseinheit
mit der DAT-Tabelle, 15 eine Vorsatzverarbeitungseinheit,
16 ein Absolutadressenregister, 17 einen Komparator,
18 eine Sammelschiene zum Übertragen des Ausgangssignals von einem später zu beschreibenden Identifizierungs(ID)-Register
28 zu dem Komparator 17 und einem später zu beschreibenden Adreßumsetzregister (TLB) 26, 19 eine
Sammelschiene für eine reale Adresse, die durch die Adreßumsetzverarbeitungseinheit 14- umgesetzt wird, 20
einen Teil einer logischen Adresse, die umgesetzt werden soll und zum Adressieren des Adreßumsetzregisters 26
verwendet wird, 21 einen Teil der logischen Adresse, die umgesetzt werden soll und die mit Daten eines logischen
Adressenfeldes verglichen wird, das von dem Adreßumsetzregister 26 gelesen wird, 22 ein Bit niederer Ordnung
der logischen Adresse, 23 eine Sammelschiene zum übertragen
eines logischen Adressenfeldes eines Einsprungs, der von dem Adreßumsetzregister 28 zu einem später zu
beschreibenden Komparator 29 gelesen wird, 24 eine Sammelschiene zum Übertragen eines Identifizierungsfelds
des Einsprungs, der von dem Adreßumsetzregister 26 zu dem Komparator 17 gelesen wird, 25 eine Sammelschiene zum
übertragen eines realen Adressenfeldes des Einsprungs, der von dem Adreßumsetzregister 26 zu einem später zu
beschreibenden Register 31 gelesen wird, 26 ein Adreß-Umsetzregister
(TLB), das durch einen Speicher gebildet ist, der in einer zentralen Verarbeitungseinheit (CPU)
zum Ausführen einer dynamischen Adreßumsetzung mit hoher Geschwindigkeit untergebracht ist, 27 ein Pufferregister
zum Empfangen des von dem Adreßumsetzregister 26 gelesenen Einsprungs, 28 ein ID-Register, 29 einen
Komparator, 30 einen UND-Kreis, 3I ein reales Adressenregister,
32 ein Gate, 33 ein Signal, das einen Fehler der Umsetzung durch das Adreßumsetzregister 26 anzeigt,
030023/0878
34 ein Signal, das einen Erfolg der Umsetzung durch
das Adreßumsetzregister 26 anzeigt, 35 ein Adresseninformationsauswahlsignal, 36 einen Inverter, 37 den
Ausgang des Inverters 36» 38 eine Sammelschiene zum
Übertragen des Inhalts des Registers 11 zu dem Register 12, 39 einen Dekodierer, 40 eine Sammelschiene für eine
Adressensteuerinformation, die durch ein Signal Tx ausgewählt ist, 41 eine Sammelschiene zum Übertragen
des Ausgangssignals von dem realen Adressenregister zu der Vorsatzverarbeitungseinheit 15 und dem Adreßumsetzregister
26, 42 ein Register zum Halten eines Vorsat zwerts eines Programms während der Verarbeitung,
ein Register zum Halten des Inhalts, der dorthin von dem Register 42 bei der Zustandsübertragung von der virtuellen
Maschine (VM) zu dem virtuellen Maschinenmonitor (VMM) verschoben worden ist, 44 eine Sammelschiene zum übertragen
eines Vorsatzwerts, der durch das Signal Tx 35 zu der Vorsatzverarbeitungseinheit I5 ausgewählt worden
ist, 45 ein Gate, 46 ein Steuersignal, das "1" wird,
wenn die Adreßumsetzung durch die dynamische Adreßumsetztabelle (DAT-Tabelle) fortschreitet, und 47 ein
logisches Adressenregister.
Gemäß Fig. 5 speichert das Umsetzsteuerinformationsregister
11 der derzeitigen Adresse das Umsetzbit (T-Bit) und das EC-Bit des derzeitigen Programmzustandsworts
und die dynamische Adreßumsetzsteuerinformation der Steuerregister CRO und CR1. Das Umsetzsteuerinformationsregister
12 der vorangehenden Adresse lädt den Inhalt des Umsetzsteuerinformationsregisters 11 beim Zustandsübergang
von der virtuellen Maschine (VM) zu dem virtuellen Maschinenmonitor (VMM). Der ID-Wähler 13 besteht aus
einem Segmenttabellen-Anfangsstapelkreis und einem Steuerkreis dafür und spricht auf die Adressensteuerinformation
des Registers 2 an, um die dazu entsprechende ID-Information auszuwählen. Die Adreßumsetzverarbeitungseinheit
14 mit der DAT-Tabelle ist eine Verarbeitungssteuereinheit, die eine dynamische Adreßumsetzung unter
030023/0878
Verwendung der DAT-Tabelle in einem Hauptspeicher ausführt,
wenn die Adreßumsetzung durch den Adreßumsetzspeicher
26 bei einem Fehler aufgehört hat. Als in diesem Fall verwendete Adreßumsetzinformation wird die
Information des Registers 11 oder 12 verwendet, die durch das Signal Tx 35 ausgewählt ist. Die zum Zeitpunkt
der Vervollständigung der Adreßumsetzung durch die DAT-Tabelle
umgesetzte reale Adresse wird in das Adreßumsetzregister 26 zusammen mit einem Teil der logischen
Adresse auf der Sammelschiene 21 und der Identifizierung auf der Sammelschiene 18 geschrieben.
Die Vorsatzverarbeitungseinheit 15 führt eine Vorsatzverarbeitung
unter Verwendung des Werts eines Vorsatzregisters aus, das durch das Signal Tx 35 ausgewählt ist.
Die durch die Vorsatzverarbeitungseinheit 15 umgesetzte
Adresse wird in ein Bit hoher Ordnung des Registers 16 eingestellt und ein Bit niederer Ordnung der logischen
Adresse 22 wird in ein Bit niederer Ordnung des Registers eingesetzt. Durch eine Adresse in dem Register 16 erfolgt
der Zugriff zu dem Hauptspeicher.
Der Komparator 17 vergleicht die ID-Information, die von
dem ID-Wähler 13 ausgelesen ist, mit einer Information,
die von dem Adreßumsetzregister 26 ausgelesen ist, und
gibt "1" im Falle der Übereinstimmung ab. Der Komparator vergleicht einen Teil der umzusetzenden logischen Adresse
und des logischen Adressenfelds des Leseeinsprungs des Adreßumsetzregisters und gibt "1" im Falle der Überein-Stimmung
ab.
Die Anordnung der Fig. 5 unterscheidet sich von der üblichen Anordnung dadurch, daß das Register zum Laden
der Adreßumsetzsteuerinformation durch das Adreßinformationswählsignal
Tx 35 ausgewählt wird. Wenn das Signal Tx "1" ist, werden eine Information des Umsetzsteuerinformationsregisters
12 der vorangehenden Adresse und eine Information
030023/Ü878
des Registers 43 zum Halten des vorangehenden Vorsatzwerts gewählt. Dies ermöglicht, daß der virtuelle
Maschinenmonitor (VMM) eine Adreßumsetzung unter Verwendung einer Adresseninformation der virtuellen
Maschine (VM) ausführt.
Wenn das Signal Tx "0" ist, werden die Information des Um3etzsteuerinformationsregisters 11 der derzeitigen
Adresse und die Information des Registers 42 zum Halten des derzeitigen Vorsatzwerts gewählt. Die Adressierung
beim Stand der Technik entspricht dem Fall, bei dem das Signal Tx "O" ist.
Wenn das Programm des virtuellen Maschinenmonitors (VMM) einen Operanden in dem Programm der virtuellen Maschine
(VM), das unmittelbar davor ausgeführt worden ist, verwendet, kann die Adressenumsetzung entsprechend dem
Operanden unter Verwendung des Adreßumsetzregisters ausgeführt werden.
20
20
Fig. 6 zeigt eine dynamische Adreßumsetzsteuerinformation, die in die Steuerregister CRO und CR1 des Umsetzsteuerinformationsregisters
11 der derzeitigen Adresse eingebracht ist. Wie Fig. 6 zeigt, belegt das Steuerregister
CR1 die ST-Länge in Bits O bis 7 und die ST-Anfangsadresse
in Bits 8 bis 25. Das Steuerregister CRO belegt
die Seitenabmessung (PS) in Bits 8 und 9 und die Segmentabmessung (SS) in Bits 11 und 12.
JO Die Steuerung zum Erreichen der dynamischen Adreßumsetzung
auf der Basis der in die Steuerregister eingesetzten Information wird nicht im einzelnen beschrieben, vielmehr
ist diese bekannt aus "IBM System/370 Principles of Operation, GA 22-700, File No. S/370-01".
Fig. 7 zeigt den Inhalt des Vorsatzregisters 42. Wie Fig.
zeigt, ist der Vorsatzwert des Programms in Bits 8 bis gehalten.
030023/0878
In Fig. 8 bezeichnen dieselben Bezugszeichen wie in Fig. 4 dieselben Teile und 50 bezeichnet ein Befehlsregister
und 5^ und 52 Komparatoren. Bei dieser Ausführungsform wird bestimmt, ob eine reale Adressensteuerung
halbfest oder eine Adreßumsetzsteuerung durch die VMDAT-Verriegelung 5 in Reaktion auf die Registerzahl,
die in einem Registeranzeigefeld eines Befehls in dem Zustand des virtuellen Naschinenmonitors (VMM) aufgezeigt
ist, ausgeführt wird.
Es wird beispielsweise angenommen, daß Universalregister 0 bis 3 der Adressensteuerung des derzeitigen Programmzustandsworts
unterworfen sind und daß Universalregister 4 bis 15 der Adreßumsetzsteuerung durch die VMDAT-Verriegelung
unterworfen sind.
Gemäß Fig. 8 wird durch den Komparator 51 geprüft, ob
die durch einen Teil B1 des Befehlsregisters 50 angezeigte
Registerzahl in den Zahlen 4 bis 15 des Universalregisters
enthalten ist. Des weiteren wird durch den Komparator 52 geprüft, ob die durch einen Teil B2 des
Befehlsregisters 50 angezeigte Registerzahl in den Zahlen
4 bis 15 des Universalregisters enthalten ist.
Wenn die Zustandsanzeigeverriegelung 6 den Zustand des virtuellen Maschinenmonitors (VMM) anzeigt ("1" am
Ausgang der VMM-Seite) und die Operandenregisterzahl in den Zahlen 4 bis 15 des Universalregisters enthalten
ist, wird zu der entsprechenden Operandenadresse zugegriffen, wodurch das Ausgangssignal von dem entsprechenden
UND-Gate 8 oder 9 "1" wird, während das Adresseninformationsauswahlsignal
Tx von dem ODER-Gate 10 abgeleitet wird. Der nachfolgende Betrieb ist derselbe wie bei
der ersten Ausführungsform.
Gemäß Fig. 9 hat der Ubertragungszeichenbefehl (MVC)
die Funktion, durch welche Daten eines Bereichs in einem
030023/0878
Hauptspeicher entsprechend der Bytezahl, die in einem Teil V
unter Verwendung des Werts als Anfangsadresse, angezeigt ist, daß der Wert des Teils D2 zu dem Wert des Universalregisters addiert wird, das durch den Teil B2 (Operanden 2)
angezeigt ist, zu einem Bereich des Hauptspeichers unter Verwendung des Werts als Anfangsadresse übertragen
wird, daß der Wert des Teils D1 zu dem Wert des Universalregisters addiert wird, das durch den
Teil B1 (Operanden 1) angezeigt ist. Gemäß Fig. 9 ist der Wert des Teils B1 "1" und nicht in den Zahlen 4
bis 15 des Universalregisters enthalten, so daß das Ausgangssignal
des Komparators 5I "O" wird und das Signal
auch "O" wird, was dazu führt, daß der Operand 1 der Adreßumsetzsteuerung durch den virtuellen Maschinenmonitor
(VMM) unterworfen wird. Da der Wert des Teils B2 "4" ist und in den Zahlen 4 bis 15 des Universalregisters enthalten
ist, wird der zweite Operand der Umsetzungssteuerung der unmittelbar vorangehenden Adresse durch
die virtuelle Maschine (VM) unterworfen. Wenn der Wert der VMDAT-Verriegelung "O" ist, wird eine reale Adresse
"00002567" erzeugt, und wenn der Wert der VMDAT-Verriegelung "1" ist, wird eine logische Adresse "00002567"
erzeugt. Bei dieser zweiten Ausführungsform kann die
Wechselbeziehung zwischen der Registerzahl und der Adreßumsetzsteuerung willkürlich entsprechend der Verarbeitung
geändert werden.
Vorangehend wurde beschrieben, daß gemäß der Erfindung, wenn ein Simulatorprogramm einen Befehl eines zu
JO simulierenden Programms simuliert, die Adreßumsetzung
einer Operandenadresse des zu simulierenden Programms unter Verwendung eines Adreßumsetzregisters ausgeführt
werden kann, so daß der organisatorische Aufwand für die Adreßumsetzung bei der Ausführung des Simulatorprogramms
wesentlich verringert werden kann. Obwohl die Erfindung im Zusammenhang mit dem Fall beschrieben wurde, bei dem
die Ausführung eines privilegierten Befehls in der
030023/0878
virtuellen Maschine durch Software, Programm des virtuellen Maschinenmonitors (VMM) genannt, simuliert ist, ist
es ersichtlich, daß die Erfindung auch in den Fällen der Simulierung der Ausführung eines Befehls nicht
nur durch die virtuelle Maschine, sondern auch durch Software angewendet werden kann.
030023/0878
Claims (4)
- REINLÄNDER & 3ERNHARDT 29Λ8285PATENTANWÄLTE6/410 Orthstraße12D-8000 München GOFUJITSU LIMITEDNo.1015, KamikodanakaNakahara-ku, Kawasaki-shiKanagawa 211, JapanPatentansprücheΛ.) Adressensteuersystem für Softwaresimulation in einem Datenprozessor mit einer Umsetzvorrichtung zum Koordinieren einer Adresse in einem Programm mit einer Hauptspeicheradresse, wobei die Ausführung eines Befehls eines zu simulierenden Programms durch die Ausführung von ein oder mehreren Befehlen des Simulatorprogramms simuliert wird,
gekennzeichnet durcherste Einrichtungen zum Halten einer Information zum Unterscheiden des Betriebszustands des Simulatorprogramms und des Betriebszustands des zu simulierenden Programms,zweite Einrichtungen zum Halten einer Steuerinformation zum Koordinieren der Adresse in dem zu simulierenden Programm mit der Adresse im Hauptprogramm im Falle der Simulierung des zu simulierenden Programms durch das Simulatorprogramm,dritte Einrichtungen zum Halten einer Steuerinformation zum Koordinieren der Adresse in dem Simulatorprogramm mit der Adresse in dem Hauptspeicher undvierte Einrichtungen zum Anzeigen der Auswahl entweder der zweiten oder der dritten Einrichtungen während des Betriebs dea Simulatorprogramms,wobei die Adreßumsetzung durch die ersten, die zweiten, die dritten und die vierten Einrichtungen gesteuert wird.030023/0878 - 2. System nach Anspruch 1, dadurch gekennzeichnet, daß eine Universalregisterzahl für eine Operandenadressenberechnung als vierte Einrichtungen verwendet ist.
- 3. System nach Anspruch 1, dadurch gekennzeichnet, daß eine Information eines Teils der Operandenadresse als vierte Einrichtungen verwendet ist.
- 4. System nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß die Adreßumsetzung unter Verwendung der in den zweiten Einrichtungen gehaltenen Adressen3teuerinformation in dem Fall ausgeführt wird, in dem die Umsetzvorrichtung zum Koordinieren der Adresse in dem Programm mit der Hauptspeicheradresse durch eine Adreßumsetzvorrichtung eines virtuellen Speichersysteme ausgeführt wird, wenn die ersten Einrichtungen den Betriebszustand des Simulatorprogramms anzeigen, die zweiten Einrichtungen eine Adreßumsetzbetriebsart anzeigen und die vierten Einrichtungen eine Adreßumsetzung anzeigen.030023/0878
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14883478A JPS5576447A (en) | 1978-12-01 | 1978-12-01 | Address control system for software simulation |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2948285A1 true DE2948285A1 (de) | 1980-06-04 |
DE2948285C2 DE2948285C2 (de) | 1984-07-12 |
Family
ID=15461768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2948285A Expired DE2948285C2 (de) | 1978-12-01 | 1979-11-30 | Adressensteuereinrichtung für einen Datenprozessor |
Country Status (7)
Country | Link |
---|---|
US (1) | US4347565A (de) |
JP (1) | JPS5576447A (de) |
AU (1) | AU530696B2 (de) |
CA (1) | CA1134052A (de) |
DE (1) | DE2948285C2 (de) |
FR (1) | FR2443100A1 (de) |
GB (1) | GB2043309B (de) |
Families Citing this family (130)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS55112651A (en) * | 1979-02-21 | 1980-08-30 | Fujitsu Ltd | Virtual computer system |
JPS5687282A (en) * | 1979-12-14 | 1981-07-15 | Nec Corp | Data processor |
JPS57143782A (en) * | 1981-03-03 | 1982-09-06 | Toshiba Corp | Information processor |
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 |
JPS5938992A (ja) * | 1982-08-26 | 1984-03-03 | Nec Corp | 仮想計算機システム |
US4530052A (en) * | 1982-10-14 | 1985-07-16 | Honeywell Information Systems Inc. | Apparatus and method for a data processing unit sharing a plurality of operating systems |
US5109522A (en) * | 1983-06-02 | 1992-04-28 | Amdahl Corporation | Data processing system with logical processing facility supporting a plurality of system control programs for production operation |
US4589092A (en) * | 1983-12-12 | 1986-05-13 | International Business Machines Corporation | Data buffer having separate lock bit storage array |
US4779188A (en) * | 1983-12-14 | 1988-10-18 | International Business Machines Corporation | Selective guest system purge control |
US4695950A (en) * | 1984-09-17 | 1987-09-22 | International Business Machines Corporation | Fast two-level dynamic address translation method and means |
US4975836A (en) * | 1984-12-19 | 1990-12-04 | Hitachi, Ltd. | Virtual computer system |
DE3689287T2 (de) * | 1985-02-18 | 1994-05-26 | Nec Corp | Datenverarbeitungsgerät. |
JPS61206043A (ja) * | 1985-03-11 | 1986-09-12 | Hitachi Ltd | 仮想計算機システムにおける割込制御方法 |
JPS61292753A (ja) * | 1985-06-20 | 1986-12-23 | Fujitsu Ltd | 仮想計算機のデ−タ処理方式 |
US4747040A (en) * | 1985-10-09 | 1988-05-24 | American Telephone & Telegraph Company | Dual operating system computer |
JPS62114045A (ja) * | 1985-11-13 | 1987-05-25 | Fujitsu Ltd | アドレスモ−ド制御方式 |
JPS62154037A (ja) * | 1985-12-26 | 1987-07-09 | Hitachi Ltd | 仮想計算機監視制御方式 |
JPS62166420A (ja) * | 1986-01-17 | 1987-07-22 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | 仮想端末制御方法 |
US4785392A (en) * | 1986-10-14 | 1988-11-15 | Amdahl Corporation | Addressing multiple storage spaces |
US4914577A (en) * | 1987-07-16 | 1990-04-03 | Icon International, Inc. | Dynamic memory management system and method |
US5167023A (en) * | 1988-02-01 | 1992-11-24 | International Business Machines | Translating a dynamic transfer control instruction address in a simulated CPU processor |
US5375213A (en) * | 1989-08-29 | 1994-12-20 | Hitachi, Ltd. | Address translation device and method for managing address information using the device |
JPH0820975B2 (ja) * | 1990-03-29 | 1996-03-04 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータシステムおよびコンピュータ上で実行されるトレース方法 |
US5381535A (en) * | 1990-10-24 | 1995-01-10 | International Business Machines Corporation | Data processing control of second-level quest virtual machines without host intervention |
AU651453B2 (en) * | 1991-03-07 | 1994-07-21 | Digital Equipment Corporation | Improved software debugging system and method especially adapted for code debugging within a multi-architecture environment |
US5652869A (en) * | 1991-03-07 | 1997-07-29 | Digital Equipment Corporation | System for executing and debugging multiple codes in a multi-architecture environment using jacketing means for jacketing the cross-domain calls |
US5649140A (en) * | 1995-03-31 | 1997-07-15 | International Business Machines Corporation | System for use in translating virtual addresses into absolute addresses |
US5850628A (en) * | 1997-01-30 | 1998-12-15 | Hasbro, Inc. | Speech and sound synthesizers with connected memories and outputs |
US6185665B1 (en) * | 1997-02-28 | 2001-02-06 | Matsushita Electric Industrial Co., Ltd. | File management apparatus, file management method, and recording medium containing file management program |
US6247172B1 (en) * | 1998-07-02 | 2001-06-12 | Hewlett-Packard Company | Method for a translation system that aggressively optimizes and preserves full synchronous exception state |
US7013481B1 (en) | 2000-03-31 | 2006-03-14 | Intel Corporation | Attestation key memory device and bus |
US6990579B1 (en) | 2000-03-31 | 2006-01-24 | Intel Corporation | Platform and method for remote attestation of a platform |
US7073071B1 (en) | 2000-03-31 | 2006-07-04 | Intel Corporation | Platform and method for generating and utilizing a protected audit log |
US6996710B1 (en) | 2000-03-31 | 2006-02-07 | Intel Corporation | Platform and method for issuing and certifying a hardware-protected attestation key |
US6934817B2 (en) | 2000-03-31 | 2005-08-23 | Intel Corporation | Controlling access to multiple memory zones in an isolated execution environment |
US7194634B2 (en) * | 2000-03-31 | 2007-03-20 | Intel Corporation | Attestation key memory device and bus |
US6769058B1 (en) | 2000-03-31 | 2004-07-27 | Intel Corporation | Resetting a processor in an isolated execution environment |
US7089418B1 (en) | 2000-03-31 | 2006-08-08 | Intel Corporation | Managing accesses in a processor for isolated execution |
US6957332B1 (en) | 2000-03-31 | 2005-10-18 | Intel Corporation | Managing a secure platform using a hierarchical executive architecture in isolated execution mode |
US7111176B1 (en) | 2000-03-31 | 2006-09-19 | Intel Corporation | Generating isolated bus cycles for isolated execution |
US7356817B1 (en) | 2000-03-31 | 2008-04-08 | Intel Corporation | Real-time scheduling of virtual machines |
US7013484B1 (en) | 2000-03-31 | 2006-03-14 | Intel Corporation | Managing a secure environment using a chipset in isolated execution mode |
US6760441B1 (en) | 2000-03-31 | 2004-07-06 | Intel Corporation | Generating a key hieararchy for use in an isolated execution environment |
US7082615B1 (en) | 2000-03-31 | 2006-07-25 | Intel Corporation | Protecting software environment in isolated execution |
US6976162B1 (en) | 2000-06-28 | 2005-12-13 | Intel Corporation | Platform and method for establishing provable identities while maintaining privacy |
US7793111B1 (en) | 2000-09-28 | 2010-09-07 | Intel Corporation | Mechanism to handle events in a machine with isolated execution |
US7389427B1 (en) | 2000-09-28 | 2008-06-17 | Intel Corporation | Mechanism to secure computer output from software attack using isolated execution |
US7215781B2 (en) * | 2000-12-22 | 2007-05-08 | Intel Corporation | Creation and distribution of a secret value between two devices |
US6907600B2 (en) | 2000-12-27 | 2005-06-14 | Intel Corporation | Virtual translation lookaside buffer |
US7035963B2 (en) * | 2000-12-27 | 2006-04-25 | Intel Corporation | Method for resolving address space conflicts between a virtual machine monitor and a guest operating system |
US7818808B1 (en) | 2000-12-27 | 2010-10-19 | Intel Corporation | Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor |
US7225441B2 (en) | 2000-12-27 | 2007-05-29 | Intel Corporation | Mechanism for providing power management through virtualization |
US7117376B2 (en) * | 2000-12-28 | 2006-10-03 | Intel Corporation | Platform and method of creating a secure boot that enforces proper user authentication and enforces hardware configurations |
US20020144121A1 (en) * | 2001-03-30 | 2002-10-03 | Ellison Carl M. | Checking file integrity using signature generated in isolated execution |
US7096497B2 (en) * | 2001-03-30 | 2006-08-22 | Intel Corporation | File checking using remote signing authority via a network |
CA2704080C (en) | 2001-07-26 | 2012-08-28 | Irise | System and process for cooperatively programming a simulation program of a computer application to be developed |
US7191440B2 (en) * | 2001-08-15 | 2007-03-13 | Intel Corporation | Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor |
US7024555B2 (en) | 2001-11-01 | 2006-04-04 | Intel Corporation | Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment |
US7092869B2 (en) * | 2001-11-14 | 2006-08-15 | Ronald Hilton | Memory address prediction under emulation |
US7103771B2 (en) * | 2001-12-17 | 2006-09-05 | Intel Corporation | Connecting a virtual token to a physical token |
US20030126454A1 (en) * | 2001-12-28 | 2003-07-03 | Glew Andrew F. | Authenticated code method and apparatus |
US7308576B2 (en) * | 2001-12-31 | 2007-12-11 | Intel Corporation | Authenticated code module |
US20030126453A1 (en) * | 2001-12-31 | 2003-07-03 | Glew Andrew F. | Processor supporting execution of an authenticated code instruction |
US7480806B2 (en) * | 2002-02-22 | 2009-01-20 | Intel Corporation | Multi-token seal and unseal |
US7631196B2 (en) | 2002-02-25 | 2009-12-08 | Intel Corporation | Method and apparatus for loading a trustable operating system |
US7124273B2 (en) * | 2002-02-25 | 2006-10-17 | Intel Corporation | Method and apparatus for translating guest physical addresses in a virtual machine environment |
US7069442B2 (en) * | 2002-03-29 | 2006-06-27 | Intel Corporation | System and method for execution of a secured environment initialization instruction |
US7028149B2 (en) * | 2002-03-29 | 2006-04-11 | Intel Corporation | System and method for resetting a platform configuration register |
US20030191943A1 (en) * | 2002-04-05 | 2003-10-09 | Poisner David I. | Methods and arrangements to register code |
US20030196096A1 (en) * | 2002-04-12 | 2003-10-16 | Sutton James A. | Microcode patch authentication |
US20030196100A1 (en) * | 2002-04-15 | 2003-10-16 | Grawrock David W. | Protection against memory attacks following reset |
US7076669B2 (en) * | 2002-04-15 | 2006-07-11 | Intel Corporation | Method and apparatus for communicating securely with a token |
US7058807B2 (en) * | 2002-04-15 | 2006-06-06 | Intel Corporation | Validation of inclusion of a platform within a data center |
US7127548B2 (en) * | 2002-04-16 | 2006-10-24 | Intel Corporation | Control register access virtualization performance improvement in the virtual-machine architecture |
US7139890B2 (en) * | 2002-04-30 | 2006-11-21 | Intel Corporation | Methods and arrangements to interface memory |
US20030229794A1 (en) * | 2002-06-07 | 2003-12-11 | Sutton James A. | System and method for protection against untrusted system management code by redirecting a system management interrupt and creating a virtual machine container |
US6820177B2 (en) * | 2002-06-12 | 2004-11-16 | Intel Corporation | Protected configuration space in a protected environment |
US7142674B2 (en) | 2002-06-18 | 2006-11-28 | Intel Corporation | Method of confirming a secure key exchange |
US7392415B2 (en) * | 2002-06-26 | 2008-06-24 | Intel Corporation | Sleep protection |
US20040003321A1 (en) * | 2002-06-27 | 2004-01-01 | Glew Andrew F. | Initialization of protected system |
US6996748B2 (en) * | 2002-06-29 | 2006-02-07 | Intel Corporation | Handling faults associated with operation of guest software in the virtual-machine architecture |
US7124327B2 (en) * | 2002-06-29 | 2006-10-17 | Intel Corporation | Control over faults occurring during the operation of guest software in the virtual-machine architecture |
US7296267B2 (en) * | 2002-07-12 | 2007-11-13 | Intel Corporation | System and method for binding virtual machines to hardware contexts |
US7165181B2 (en) | 2002-11-27 | 2007-01-16 | Intel Corporation | System and method for establishing trust without revealing identity |
US7073042B2 (en) * | 2002-12-12 | 2006-07-04 | Intel Corporation | Reclaiming existing fields in address translation data structures to extend control over memory accesses |
US20040117318A1 (en) * | 2002-12-16 | 2004-06-17 | Grawrock David W. | Portable token controlling trusted environment launch |
US7318141B2 (en) | 2002-12-17 | 2008-01-08 | Intel Corporation | Methods and systems to control virtual machines |
US7793286B2 (en) * | 2002-12-19 | 2010-09-07 | Intel Corporation | Methods and systems to manage machine state in virtual machine operations |
US7900017B2 (en) * | 2002-12-27 | 2011-03-01 | Intel Corporation | Mechanism for remapping post virtual machine memory pages |
US20040128465A1 (en) * | 2002-12-30 | 2004-07-01 | Lee Micheil J. | Configurable memory bus width |
US7076802B2 (en) * | 2002-12-31 | 2006-07-11 | Intel Corporation | Trusted system clock |
US7415708B2 (en) * | 2003-06-26 | 2008-08-19 | Intel Corporation | Virtual machine management using processor state information |
US8079034B2 (en) | 2003-09-15 | 2011-12-13 | Intel Corporation | Optimizing processor-managed resources based on the behavior of a virtual machine monitor |
US7424709B2 (en) * | 2003-09-15 | 2008-09-09 | Intel Corporation | Use of multiple virtual machine monitors to handle privileged events |
US7287197B2 (en) * | 2003-09-15 | 2007-10-23 | Intel Corporation | Vectoring an interrupt or exception upon resuming operation of a virtual machine |
US7739521B2 (en) | 2003-09-18 | 2010-06-15 | Intel Corporation | Method of obscuring cryptographic computations |
US7610611B2 (en) | 2003-09-19 | 2009-10-27 | Moran Douglas R | Prioritized address decoder |
US7366305B2 (en) * | 2003-09-30 | 2008-04-29 | Intel Corporation | Platform and method for establishing trust without revealing identity |
US7237051B2 (en) * | 2003-09-30 | 2007-06-26 | Intel Corporation | Mechanism to control hardware interrupt acknowledgement in a virtual machine system |
US7177967B2 (en) | 2003-09-30 | 2007-02-13 | Intel Corporation | Chipset support for managing hardware interrupts in a virtual machine system |
US20050080934A1 (en) * | 2003-09-30 | 2005-04-14 | Cota-Robles Erik C. | Invalidating translation lookaside buffer entries in a virtual machine (VM) system |
US7451443B2 (en) * | 2003-10-01 | 2008-11-11 | Hewlett-Packard Development Company, L.P. | Online computer maintenance utilizing a virtual machine monitor |
US7636844B2 (en) | 2003-11-17 | 2009-12-22 | Intel Corporation | Method and system to provide a trusted channel within a computer system for a SIM device |
US20050108171A1 (en) * | 2003-11-19 | 2005-05-19 | Bajikar Sundeep M. | Method and apparatus for implementing subscriber identity module (SIM) capabilities in an open platform |
US8156343B2 (en) | 2003-11-26 | 2012-04-10 | Intel Corporation | Accessing private data about the state of a data processing machine from storage that is publicly accessible |
US8037314B2 (en) | 2003-12-22 | 2011-10-11 | Intel Corporation | Replacing blinded authentication authority |
US20050133582A1 (en) * | 2003-12-22 | 2005-06-23 | Bajikar Sundeep M. | Method and apparatus for providing a trusted time stamp in an open platform |
US7802085B2 (en) | 2004-02-18 | 2010-09-21 | Intel Corporation | Apparatus and method for distributing private keys to an entity with minimal secret, unique information |
US7356735B2 (en) | 2004-03-30 | 2008-04-08 | Intel Corporation | Providing support for single stepping a virtual machine in a virtual machine environment |
US7620949B2 (en) | 2004-03-31 | 2009-11-17 | Intel Corporation | Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment |
US7490070B2 (en) | 2004-06-10 | 2009-02-10 | Intel Corporation | Apparatus and method for proving the denial of a direct proof signature |
US8621179B2 (en) * | 2004-06-18 | 2013-12-31 | Intel Corporation | Method and system for partial evaluation of virtual address translations in a simulator |
US7305592B2 (en) | 2004-06-30 | 2007-12-04 | Intel Corporation | Support for nested fault in a virtual machine environment |
US7840962B2 (en) | 2004-09-30 | 2010-11-23 | Intel Corporation | System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time |
US8146078B2 (en) | 2004-10-29 | 2012-03-27 | Intel Corporation | Timer offsetting mechanism in a virtual machine environment |
US8924728B2 (en) | 2004-11-30 | 2014-12-30 | Intel Corporation | Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information |
JP2006155272A (ja) * | 2004-11-30 | 2006-06-15 | Hitachi Ltd | 仮想計算機の制御方法及びプログラム |
US8533777B2 (en) * | 2004-12-29 | 2013-09-10 | Intel Corporation | Mechanism to determine trust of out-of-band management agents |
US7395405B2 (en) | 2005-01-28 | 2008-07-01 | Intel Corporation | Method and apparatus for supporting address translation in a virtual machine environment |
US8014530B2 (en) | 2006-03-22 | 2011-09-06 | Intel Corporation | Method and apparatus for authenticated, recoverable key distribution with no database secrets |
US8285968B2 (en) | 2009-09-29 | 2012-10-09 | International Business Machines Corporation | Performing memory accesses while omitting unnecessary address translations |
WO2012048162A2 (en) | 2010-10-08 | 2012-04-12 | Irise | System and method for extending a visualization platform |
US9703723B2 (en) * | 2011-08-29 | 2017-07-11 | International Business Machines Corporation | Method and apparatus for performing mapping within a data processing system having virtual machines |
US10592424B2 (en) | 2017-07-14 | 2020-03-17 | Arm Limited | Range-based memory system |
US10467159B2 (en) | 2017-07-14 | 2019-11-05 | Arm Limited | Memory node controller |
US10353826B2 (en) | 2017-07-14 | 2019-07-16 | Arm Limited | Method and apparatus for fast context cloning in a data processing system |
US10489304B2 (en) | 2017-07-14 | 2019-11-26 | Arm Limited | Memory address translation |
US10613989B2 (en) * | 2017-07-14 | 2020-04-07 | Arm Limited | Fast address translation for virtual machines |
US10534719B2 (en) | 2017-07-14 | 2020-01-14 | Arm Limited | Memory system for a data processing network |
US10565126B2 (en) | 2017-07-14 | 2020-02-18 | Arm Limited | Method and apparatus for two-layer copy-on-write |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2426435A1 (de) * | 1973-05-31 | 1974-12-19 | Honeywell Inf Systems | Hardware-virtualisierungsanordnung |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3544969A (en) * | 1967-11-27 | 1970-12-01 | Standard Computer Corp | Language independent computer |
US3983541A (en) * | 1969-05-19 | 1976-09-28 | Burroughs Corporation | Polymorphic programmable units employing plural levels of phased sub-instruction sets |
US3665487A (en) * | 1969-06-05 | 1972-05-23 | Honeywell Inf Systems | Storage structure for management control subsystem in multiprogrammed data processing system |
US3955180A (en) * | 1974-01-02 | 1976-05-04 | Honeywell Information Systems Inc. | Table driven emulation system |
-
1978
- 1978-12-01 JP JP14883478A patent/JPS5576447A/ja active Granted
-
1979
- 1979-11-29 GB GB7941267A patent/GB2043309B/en not_active Expired
- 1979-11-30 CA CA341,030A patent/CA1134052A/en not_active Expired
- 1979-11-30 DE DE2948285A patent/DE2948285C2/de not_active Expired
- 1979-11-30 FR FR7929516A patent/FR2443100A1/fr active Granted
- 1979-11-30 AU AU53360/79A patent/AU530696B2/en not_active Ceased
- 1979-11-30 US US06/098,989 patent/US4347565A/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2426435A1 (de) * | 1973-05-31 | 1974-12-19 | Honeywell Inf Systems | Hardware-virtualisierungsanordnung |
Non-Patent Citations (1)
Title |
---|
US-Firmendruckschrift der Firma IBM: IBM System/370 Principles of Operation, S.15-17 * |
Also Published As
Publication number | Publication date |
---|---|
US4347565A (en) | 1982-08-31 |
AU530696B2 (en) | 1983-07-28 |
DE2948285C2 (de) | 1984-07-12 |
JPS5725860B2 (de) | 1982-06-01 |
FR2443100B1 (de) | 1983-08-19 |
JPS5576447A (en) | 1980-06-09 |
CA1134052A (en) | 1982-10-19 |
AU5336079A (en) | 1980-06-05 |
GB2043309B (en) | 1983-05-05 |
GB2043309A (en) | 1980-10-01 |
FR2443100A1 (fr) | 1980-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2948285C2 (de) | Adressensteuereinrichtung für einen Datenprozessor | |
DE2350884C2 (de) | Adreßumsetzungseinheit | |
DE3607889C2 (de) | ||
DE2714805C2 (de) | ||
DE2657848C2 (de) | ||
DE2936932C2 (de) | Kanaladressen-Steuervorrichtung in einer virtuellen Maschinenanordnung | |
DE2456578C2 (de) | Datenverarbeitungsanlage | |
DE69730276T2 (de) | Vorrichtung und Verfahren zur Erleichterung der Vermeidung von exzeptionellen bestimmten Zuständen während des Ablaufs eines Programmes | |
DE2722099C2 (de) | ||
DE2517276A1 (de) | Datenverarbeitungssystem | |
DE3110378C2 (de) | ||
DE2902465A1 (de) | Datenverarbeitungsanordnung | |
DE102007025397B4 (de) | System mit mehreren Prozessoren und Verfahren zu seinem Betrieb | |
DE2318069C2 (de) | Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix | |
EP0010198A2 (de) | Vorrichtung zur Steuerung des Seitenaustausches in einem Datenverarbeitungssystem mit virtuellem Speicher | |
DE2744531A1 (de) | Elektronische datenverarbeitungsanlage | |
CH654943A5 (de) | Pruefeinrichtung fuer mikroprogramme. | |
DE2847934A1 (de) | Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher | |
DE2912738A1 (de) | System mit direkter uebertragung zwischen subsystemen | |
DE2750721A1 (de) | Ein/ausgabe-system | |
DE3833933A1 (de) | Informationsverarbeitungseinrichtung mit einer adressenerweiterungsfunktion | |
DE2737353A1 (de) | Verfahren zum testen der adressbildung in einem dv-system und vorrichtung zur durchfuehrung des verfahrens | |
EP0010185A1 (de) | Virtuell-Adressiervorrichtung für einen Computer | |
DE3228405A1 (de) | Emulator zur erzeugung einer folge von steuersignalen | |
DE2164793A1 (de) | Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/ Ausgabe-Einheiten mittels eine Zentraleinheit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OAP | Request for examination filed | ||
OD | Request for examination | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8328 | Change in the person/name/address of the agent |
Free format text: REINLAENDER, C., DIPL.-ING. DR.-ING., PAT.-ANW., 8000 MUENCHEN |
|
8339 | Ceased/non-payment of the annual fee |