DE2948285C2 - Adressensteuereinrichtung für einen Datenprozessor - Google Patents
Adressensteuereinrichtung für einen DatenprozessorInfo
- Publication number
- DE2948285C2 DE2948285C2 DE2948285A DE2948285A DE2948285C2 DE 2948285 C2 DE2948285 C2 DE 2948285C2 DE 2948285 A DE2948285 A DE 2948285A DE 2948285 A DE2948285 A DE 2948285A DE 2948285 C2 DE2948285 C2 DE 2948285C2
- Authority
- DE
- Germany
- Prior art keywords
- address
- virtual machine
- register
- program
- machine monitor
- 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.)
- Expired
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
Die Erfindung betrifft eine Adressensleuereinrichtung für einen Datenprozessor nach dem Oberbegriff
des Anspruchs 1.
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 einsm Rechnersystem beteiligenden Benutzern das gesamte System für sich
selbst benutzt.
2) Es ist möglich, Rechnersysteme mit leicht unterschiedlichein 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 Koivept eines üblichen
bisher verwendeten Rechnersystems. Fig. 2 zeigt schematise!! das Konzern des virtuellen Maschinensystems.
In Fig. 1 und 2 bedeutet die reale Maschine Rechnerhardware. Da mehrere Benuizerprogramme
unter einem Betriebssystem (OS) laufen, wira ein Rechnersystemelement (ein zentraler Prozessor, ein Hauptspeicher,
Kanäle, eine Ein/Ausgabe-Steuereinrichtung, eine Ein/Ausgabevorrichtung und Systembedienuajsplatz)
so geleitet, 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 Systemelemen: unter den jeweiligen Programmen geteilt wird. In Fig. 2 entsprechen die Blöcke mit
gestrichelten Linien jeweils einem üblichen Rechnersystern 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
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
jo ZugrilT 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
Betriebsausnahme« bezeichnet, aufgefunden.
Bei einer virtuellen Maschine können mehrere übliche Betriebssysteme gleichzeitig laufen. Folglich
wird das Systemelement, das in der Vergangenheit durch die Betriebssysteme gesteuert worden ist. durch
das Programm gesteuert, auf das sich der virtuelle Masrhinenmonitor (VMM) bezieht. Die Benutzerprogramme
einschließlich der 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 hat die folgenden Funktionen:
Der virtuelle Maschinenmonitor:
1) steuert die Benutzerprogramme (einschließlich der Betriebssysteme), um das Systemelement wirkho
sam aufzuteilen,
T) simuliert den »privilegierten Befehl« von jedem Betriebssystem und
3) empfängt alle Unterbrechungen (einwhließlich
einer Ein/Ausgabeunterbrechung, einer äußeren hi Unterbrechung und einer Unterbrechung, die mit
einem virtuellen Speicher verbunden ist) und führt
eine Verarbeitung entsprechend den L'nterbrechuimssvstemelemcnten
aus und sendet not-
wendigenfalls 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 fu«·
die virtuelle Maschine besonderen organisatorischen Aufwands im Vergleich mit dem Lauf desselben
Programms unter dem Betriebssystem eines üblichen, m bisher verwendeten Rechners verursacht. Der organisatorische
Aufwand kann in direkten und indirekten organisatorischen Aufwand in folgender Weise geteilt
werden:
15
1) Direkter organisatorischer Aufwand.
Dieser tritt hauptsächlich im Verlauf der Verarbeitung durch Software des virtuellen MascLinenmonitors
auf und diese Art des organisatorischen Aufwands ist wie folgt:
a) Organisatorischer Aufwand durch Simultation des privilegierten Befehls.
Wie oben beschrieben wurde, is» 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 Unterbrechungen.
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.
Organisatorischer Aufwand zum Unterstützen der Bedienungsplatzfunktion.
Der virtuelle Maschinenmonitor unterstützt die Bedienungsplatzfunktion einschließlich der Testfunktion.
Der virtuelle Maschinenmonitor unterstützt die Bedienungsplatzfunktion einschließlich der Testfunktion.
2) Indirekter organisatorischer Aufwand.
Bei dem bestehenden Betriebssystem werden verschiedene Algorithmen in das System der Zuweisung
und Leitung des Systemelemenls 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 iirgebnis 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 Betriebsausnahmen« 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 Unterbrechungskode 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 Befehlsverarbeitungsroutine
entsprechend dem Betriebskode.
Bei der Befehlsverarbeitungsroutine wird ein erforderlicher Operand ausgelesen oder eingeschrieben oder
aus dem Bereich der virtuellen Maschine (VM) ausgelesen oder darin eingeschrieben.
Fig. 3 zeigt ein Prozeßdiagramm des virtuellen Maschinenmonitors (VMM). In dem Flußdiagramm der
F i g. 3 ist die Verarbeitung der Schritte ©, © und ® 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 (D, © und ®, 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 und realer Adressen verwendet, erfolgt zu einer Segmenttafrelle 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.
Bekannt ist auch eine Hardware-Virtualisierungsanordnung,
die einen Zustandsanzeiger für die Anzeige des gegenwärtigen Zustands einer virtuellen Maschine
aufweist (DE-OS 24 26435).
Der Erfindung liegt die Aufgabe zugrunde, eine Adressensteuereinrichtung für einen Datenprozessor,
der mehreren Benutzern virtuelle Maschinen zur Verfügung stellt, zu schaffen, durch die der Wechsel
zwischen Programmen von einzelnen virtuellen
Maschinen und einem übergeordneten virtuellen Maschinenmonitor vereinfacht wird.
Diese Autgabe wird durch die Merkmale des Kennzeichens des Anspruchs 1 gelöst. Eine Weiterbildung
der Erfindung ist im Unteranspruch angegeben.
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. 4 ein Blockschaltbild des Aufbaus einer Adressensteuereinrichtung
einer ersten Ausführungsform der Erfindung,
Fig. 5 ein Blockschaltbild des Aufbaus einer Adreßumsetzeinrichtung
nach der Erfindung,
Fig. 6 eine Darstellung einer Adressensteuerinformation,
die in einem Register gespeichert ist,
Fig. 7 eine Darstellung des Inhalts eines Vorsatzregisters,
F i g. 8 ein Blockschaltbild eines Aufbaus einer Adressensteuereinrichtung
einer zweiten Ausführungsform der Erfindung und
Fig. 9 eine Darstellung eines Beispiels des Inhalts eines Registers während der Ausführung eines Übertragungszeichenbefehls.
In F i g. 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 S eingestellt. Während des Betriebs 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)-Emgang der Zustandsanzeigevorrichtung
6 »1« und die Zustandsanzeigeverriegelung
6 gibt »1« ab, was den Zustand des virtuellen Maschinenmonitors
(VMM) anzeigt. Die Zustandsanzeigeverriegelung 6 ist in der Lage, »I« an der VM-Seite und »0«
an der VMM-Seite durch einen Rückfuhrbefehl (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 Bit 0 des Operandenadressenregisters »1« ist, wird zu
der Operandenandresse entsprechend zugegriffen, wodurch das UND-Gate 8 oder 9 entsprechend der
zugegriffenen Operandenadresse »Ί« abgibt, während
von dem ODER-GAte 10 ein Signal Txabgegeben wird,
das die Ausführung einer Adreßumsetzung unter Ver-Wendung 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, eine Adreßumsetzregisters
(TCB) oder einer in der virtuellen Maschine verwendeten Umsetztabelle aus.
In Fig. 5 bezeichnet 11 ein zweites Register für eine
Adressensteuerinformation, 12 ein erstes Register für eine Adressensteuerinformation, 13 einen Wähler für
eine Segmenttabellenanfangsidentifizierung (STO-ID), 14 eine Adreßumsetzverarbeitungseinheit mit der
DAT-Tabelle, 15 eine Vorsatzverarbeitungseinheil, 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 26 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 dynamisehen 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,31 ein reales Adressenregister, 32 ein
Gate, 33 ein Signal, das einen Fehler der Umsetzung durch das Adreßumsetzregister 26 anzeigt, 34 ein
Signal, das einen Erfolg derUmsetzung 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 Adressensteuerinformaiion, die durch ein Sjgnal 73c 35
ausgewählt ist, 41 eine Sammelschiene zum Übertragen des Ausgangssignals von dem realen Adressenregister
31 zu der Vorsatzverarbeitungseinheit 15 und dem Adreßumsetzregister 26, 42 ein Register zum Halten
eines Vorsatzwerts eines Programms während der Ver-
arbeitung. 43 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 7x35 zu der Vorsatzverarbeitungseinheit
15 ausgewählt worden ist, 45 eine 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 Register 11 das Umsetzbit
(T-Bit) und das EC-Bit des derzeitigen Programmzustandsworts und die dynamische Adreßumsetzsteuerinformation
der Steuerregister CRO und CRl. Das Register 12 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 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ßumsetzregister26 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 73c 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 16 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 29 vergleicht einen Teil der
umzusetzenden logischen Adresse und des logischen Adressenfelds des Leseeinsprungs des Adreßumsetzregisters
und gibt »1« im Falle der Übereinstimmung ab.
Die Anordnung der F i g. 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 73c»l« ist, werden eine Information des Umsetzsteuerinformationsregisters 12 der vorangehenden
Adresse und eine Information 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 Umsetzsteuerinformationsregisters 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 »0« ist.
Wenn das Programm des virtuellen Maschinenmonitors (VMM) einen Operanden in dem Programm der
virtuellen Maschine (VM), das unmittelbar davor
ίο ausgeführt worden is', verwendet, kann die Adressenumsetzung
entsprechend dem Operanden unter Verwendung des Adreßumsetzregisters ausgeführt werden.
Fig. 6 zeigt eine dynamische Adreßumsetzsteuerinformation, die in die Steuerregister CRO und CRl des
Umsetzsteuerinformationsregisters ii der derzeitigen Adresse eingebracht ist. Wie Fig. 6 zeigt, belegt das
Steuerregister CRl die ST-Länge in Bits 0 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.
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
F i g. 7 zeigt, ist der Vorsatzwert des Programms in Bits 8 bis 19 gehalten.
In Fig. 8 bezeichnen dieselben Bezugszeichen wie in F i g. 4 dieselben Teile und 50 bezeichnet ein Befehlsregister
und 51 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 Registeranzeigenfeld eines Befehls in dem Zustand des virtuellen Maschinenmoniiors
(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äß F i g. 8 wird durch den Komparator 51 geprüft, ob die durch einen Teil B 1 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 B 2 des Befehlsreisters 50 angezeigte Registerzahl in den
Zahlen 4 bis 15 des Universalregisters enthalten ist.
Wenn die Zustandsanzeigeverriegeiung 6 den Zustand des virtuellen Maschinenmonitors (VMM)
anzeigt (»1« am Ausgang der VMM-Seite) und die Operandenregisterzahl in den Zahlen 4 bis 15 des Uni-
versalregisters enthalten ist, wird zu der entsprechenden
Operandenadresse zugegriffen, wodurch das Ausgangssignal von dem entsprechenden UND-Gate 8 oder
9 »1« wird, während das Addresseninformationsauswahlsignal 73c von dem ODER-Gate 10 abgeleitet wird.
Der nachfolgende Betrieb ist derselbe wie bei der ersten Ausführungsform.
Gemäß Fig. 9 hat der Übertragungszeichenbefehl (MVC) die Funktion, durch welche Daten eines
Bereichs in einem Hauptspeicher entsprechend der Bytezahl, die in einem Teil V unter Verwendung des
Werts als Anfangsadresse, angezeigt ist, daß der Wert des Teils Dl zu dem Wert des Universalregisters addiert
wird, das durch den Teil B 2 (Operanden 2 ) angezeigt
ist, zu einem Bereich des Hauptspeicher? unter Verwendung
des Werts als Anfangsadresse übertragen wird, daß der Wert des Teils Dl zu dem Wert des Universalregisters
addiert wird, das durch den Teil B1 (Operanden 1) angezeigt ist. Gemäß F i g. 9 ist der Wert des Teils B1
»1« und nicht in den Zahlen 4 bis 15 des Universalregisters enthalten, so daß das Ausgangssignal des !Comparators
51 »0« wird und das Signal auch »0« wird, was dazu führt, daß der Operand 1 der Adreßumsetzsteuerung
durch den virituellen Maschinenmonitor (VMM) unterworfen ist. Da der Wert des Teils Bl »4« ist und in
den Zahlen 4 bis 15 des Universalregisters enthalten ist, wird der zweite Operand der Umsetzungsstcuerung der
unmittelbar vorrangehenden Adresse durch die virtuelle Maschine (VM) unterworfen. Wenn der Wert
der VMDAT-Verriegelung »0« 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 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 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 angewandt werden kann.
Hierzu 6 Blatt Zeichnungen
Claims (2)
1. Adressensteuereinrichtung für einen Datenprozessor, der mehreren Benutzern jeweils eine
bestimmte von mehreren virtuellen Maschinen zur Verfügung steilt, mit einer Umsetzeinrichtung zum
Umsetzen einer Adresse aus Programmen der bestimmten virtuellen Maschine in eine Hauptspeicheradresse,
wobei privilegierte Befehle der bestimmten virtuellen Maschine durch einen oder mehrere Befehle eines virtuellen Maschinenmonitors
ausgeführt werden und mit einer Einrichtung zum Speichern einer Information zum Unterscheiden
des Betriebszustandes des virtuellen Maschinenmonitors oder des Betriebszustandes der
bestimmten virtuellen Maschine, gekennzeichnet durch
ewi erstes Register (12) zum Speichern einer Adressensteuerinformalion
für das Umsetzen der Adresse der Programme der bestimmten virtuellen Maschine in die Adresse des Hauptspeichers,
ein zweites Register (11) zum Speichern einer Adressensteuerinformation für das Umsetzen der Adresse des virtuellen Maschinenmonitors in die Adresse des Hauptspeichers,
eine Auswahlschaltung (3, 4, 8, 9,10, 35,36; 50, 51, 52, 35, 36), wobei die Adreßumsetzung unter Verwendung der in dem ersten Register gespeicherten Adressensteurinformation bei Betriebszustand des virtuellen Maschinenmonilors stattfindet und wobei die Adreßumseuung im anderen Falle unter Verwendung der in dem zweiten Register gespeicherten Adressensteuerinformation stattfindet.
ein zweites Register (11) zum Speichern einer Adressensteuerinformation für das Umsetzen der Adresse des virtuellen Maschinenmonitors in die Adresse des Hauptspeichers,
eine Auswahlschaltung (3, 4, 8, 9,10, 35,36; 50, 51, 52, 35, 36), wobei die Adreßumsetzung unter Verwendung der in dem ersten Register gespeicherten Adressensteurinformation bei Betriebszustand des virtuellen Maschinenmonilors stattfindet und wobei die Adreßumseuung im anderen Falle unter Verwendung der in dem zweiten Register gespeicherten Adressensteuerinformation stattfindet.
2. Adressensteuereinrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Auswahlschaltung
ein Operandenadressenregister (3, 4) zum Berechnen der Operandenadresse enthält.
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 DE2948285A1 (de) | 1980-06-04 |
DE2948285C2 true 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3607889A1 (de) * | 1985-03-11 | 1986-09-11 | Hitachi Ltd | Verfahren zum steuern von unterbrechungen in einem virtuellen maschinensystem und virtuelles maschinensystem zur durchfuehrung des verfahrens |
Families Citing this family (129)
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 |
JPS625441A (ja) * | 1985-02-18 | 1987-01-12 | Nec Corp | 情報処理装置 |
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 |
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 |
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 |
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 |
US6934817B2 (en) | 2000-03-31 | 2005-08-23 | Intel Corporation | Controlling access to multiple memory zones in an isolated execution environment |
US6990579B1 (en) | 2000-03-31 | 2006-01-24 | Intel Corporation | Platform and method for remote attestation of a platform |
US6996710B1 (en) | 2000-03-31 | 2006-02-07 | Intel Corporation | Platform and method for issuing and certifying a hardware-protected attestation key |
US6957332B1 (en) | 2000-03-31 | 2005-10-18 | Intel Corporation | Managing a secure platform using a hierarchical executive architecture in isolated execution mode |
US7082615B1 (en) | 2000-03-31 | 2006-07-25 | Intel Corporation | Protecting software environment in isolated execution |
US6769058B1 (en) | 2000-03-31 | 2004-07-27 | Intel Corporation | Resetting a processor in an isolated execution environment |
US7356817B1 (en) | 2000-03-31 | 2008-04-08 | Intel Corporation | Real-time scheduling of virtual machines |
US7073071B1 (en) | 2000-03-31 | 2006-07-04 | Intel Corporation | Platform and method for generating and utilizing a protected audit log |
US7194634B2 (en) * | 2000-03-31 | 2007-03-20 | Intel Corporation | Attestation key memory device and bus |
US7013481B1 (en) | 2000-03-31 | 2006-03-14 | Intel Corporation | Attestation key memory device and bus |
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 |
US7089418B1 (en) | 2000-03-31 | 2006-08-08 | Intel Corporation | Managing accesses in a processor for isolated execution |
US7111176B1 (en) | 2000-03-31 | 2006-09-19 | Intel Corporation | Generating isolated bus cycles for isolated execution |
US6976162B1 (en) | 2000-06-28 | 2005-12-13 | Intel Corporation | Platform and method for establishing provable identities while maintaining privacy |
US7389427B1 (en) | 2000-09-28 | 2008-06-17 | Intel Corporation | Mechanism to secure computer output from software attack using isolated execution |
US7793111B1 (en) | 2000-09-28 | 2010-09-07 | Intel Corporation | Mechanism to handle events in a machine with isolated execution |
US7215781B2 (en) * | 2000-12-22 | 2007-05-08 | Intel Corporation | Creation and distribution of a secret value between two devices |
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 |
US7225441B2 (en) | 2000-12-27 | 2007-05-29 | Intel Corporation | Mechanism for providing power management through virtualization |
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 |
US6907600B2 (en) * | 2000-12-27 | 2005-06-14 | Intel Corporation | Virtual translation lookaside buffer |
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 |
EP2290532A3 (de) | 2001-07-26 | 2013-04-24 | IRiSE | System und Verfahren zur Erfassung, Aufzeichnung und Validierung von Anforderungen für Computeranwendungen |
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 |
US7028149B2 (en) * | 2002-03-29 | 2006-04-11 | Intel Corporation | System and method for resetting a platform configuration register |
US7069442B2 (en) | 2002-03-29 | 2006-06-27 | Intel Corporation | System and method for execution of a secured environment initialization instruction |
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 |
US7058807B2 (en) * | 2002-04-15 | 2006-06-06 | Intel Corporation | Validation of inclusion of a platform within a data center |
US7076669B2 (en) * | 2002-04-15 | 2006-07-11 | Intel Corporation | Method and apparatus for communicating securely with a token |
US20030196100A1 (en) * | 2002-04-15 | 2003-10-16 | Grawrock David W. | Protection against memory attacks following reset |
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 |
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 |
US6996748B2 (en) * | 2002-06-29 | 2006-02-07 | Intel Corporation | Handling faults associated with 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 |
US7287197B2 (en) * | 2003-09-15 | 2007-10-23 | Intel Corporation | Vectoring an interrupt or exception upon resuming operation of a virtual machine |
US7424709B2 (en) * | 2003-09-15 | 2008-09-09 | Intel Corporation | Use of multiple virtual machine monitors to handle privileged events |
US8079034B2 (en) | 2003-09-15 | 2011-12-13 | Intel Corporation | Optimizing processor-managed resources based on the behavior of a virtual machine monitor |
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 |
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 |
US7366305B2 (en) * | 2003-09-30 | 2008-04-29 | Intel Corporation | Platform and method for establishing trust without revealing identity |
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 |
JP2006155272A (ja) * | 2004-11-30 | 2006-06-15 | Hitachi Ltd | 仮想計算機の制御方法及びプログラム |
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 |
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 |
EP2625606A4 (de) | 2010-10-08 | 2014-11-26 | Irise | System und verfahren zur erweiterung einer visualisierungsplattform |
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 |
US10565126B2 (en) | 2017-07-14 | 2020-02-18 | Arm Limited | Method and apparatus for two-layer copy-on-write |
US10353826B2 (en) | 2017-07-14 | 2019-07-16 | Arm Limited | Method and apparatus for fast context cloning in a data processing system |
US10613989B2 (en) * | 2017-07-14 | 2020-04-07 | Arm Limited | Fast address translation for virtual machines |
US10467159B2 (en) | 2017-07-14 | 2019-11-05 | Arm Limited | Memory node controller |
US10592424B2 (en) | 2017-07-14 | 2020-03-17 | Arm Limited | Range-based memory system |
US10534719B2 (en) | 2017-07-14 | 2020-01-14 | Arm Limited | Memory system for a data processing network |
US10489304B2 (en) | 2017-07-14 | 2019-11-26 | Arm Limited | Memory address translation |
Family Cites Families (5)
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 |
CA1015063A (en) * | 1973-05-31 | 1977-08-02 | Honeywell Information Systems Inc. | Hardware virtualizer |
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 DE DE2948285A patent/DE2948285C2/de not_active Expired
- 1979-11-30 FR FR7929516A patent/FR2443100A1/fr active Granted
- 1979-11-30 CA CA341,030A patent/CA1134052A/en not_active Expired
- 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
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3607889A1 (de) * | 1985-03-11 | 1986-09-11 | Hitachi Ltd | Verfahren zum steuern von unterbrechungen in einem virtuellen maschinensystem und virtuelles maschinensystem zur durchfuehrung des verfahrens |
Also Published As
Publication number | Publication date |
---|---|
DE2948285A1 (de) | 1980-06-04 |
JPS5725860B2 (de) | 1982-06-01 |
GB2043309A (en) | 1980-10-01 |
US4347565A (en) | 1982-08-31 |
CA1134052A (en) | 1982-10-19 |
GB2043309B (en) | 1983-05-05 |
FR2443100A1 (fr) | 1980-06-27 |
AU5336079A (en) | 1980-06-05 |
FR2443100B1 (de) | 1983-08-19 |
JPS5576447A (en) | 1980-06-09 |
AU530696B2 (en) | 1983-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2948285C2 (de) | Adressensteuereinrichtung für einen Datenprozessor | |
DE3607889C2 (de) | ||
DE2936932C2 (de) | Kanaladressen-Steuervorrichtung in einer virtuellen Maschinenanordnung | |
DE2350884C2 (de) | Adreßumsetzungseinheit | |
DE69730276T2 (de) | Vorrichtung und Verfahren zur Erleichterung der Vermeidung von exzeptionellen bestimmten Zuständen während des Ablaufs eines Programmes | |
DE2714805C2 (de) | ||
DE2318069C2 (de) | Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix | |
DE102007025397B4 (de) | System mit mehreren Prozessoren und Verfahren zu seinem Betrieb | |
DE2328058C2 (de) | Fehlerdiagnoseeinrichtung in einer digitalen Datenverarbeitungsanordnung | |
DE2456578C2 (de) | Datenverarbeitungsanlage | |
DE3942669A1 (de) | Virtuelles maschinensystem | |
CH654943A5 (de) | Pruefeinrichtung fuer mikroprogramme. | |
DE2912738A1 (de) | System mit direkter uebertragung zwischen subsystemen | |
DE2847934A1 (de) | Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher | |
DE2030812A1 (de) | Modulare Datenrechnersysteme | |
DE3508291A1 (de) | Realzeit-datenverarbeitungssystem | |
DE2902465A1 (de) | Datenverarbeitungsanordnung | |
DE2744531A1 (de) | Elektronische datenverarbeitungsanlage | |
DE3833933A1 (de) | Informationsverarbeitungseinrichtung mit einer adressenerweiterungsfunktion | |
DE2556661A1 (de) | Steuerschaltung mit adressenerweiterung | |
DE2339741A1 (de) | Anordnung zur bildung einer relativen adresse fuer einen speicher | |
DE2737353A1 (de) | Verfahren zum testen der adressbildung in einem dv-system und vorrichtung zur durchfuehrung des verfahrens | |
DE3911182C2 (de) | ||
DE2054830A1 (de) | Informationsverarbeitungssystem mit wortstrukturiertem Speicher und Verfahren fur einen Zugriff zu einem derar tigen Speicher | |
DE1801620B2 (de) | Einrichtung zum ansteuern von speicherzellen eines rechenspeichers einer datenverarbeitungsanlage |
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 |