DE2948285C2 - Adressensteuereinrichtung für einen Datenprozessor - Google Patents

Adressensteuereinrichtung für einen Datenprozessor

Info

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
Application number
DE2948285A
Other languages
English (en)
Other versions
DE2948285A1 (de
Inventor
Fujio Yokohama Kanagawa Ikegami
Sabzro Yokohama Kanagawa Kaneda
Kazuyuki Machida Tokyo Shimizu
Takamitsu Kawasaki Kanagawa Tsuchimoto
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of DE2948285A1 publication Critical patent/DE2948285A1/de
Application granted granted Critical
Publication of DE2948285C2 publication Critical patent/DE2948285C2/de
Expired legal-status Critical Current

Links

Classifications

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

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
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:
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.
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)

Patentansprüche:
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.
2. Adressensteuereinrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Auswahlschaltung ein Operandenadressenregister (3, 4) zum Berechnen der Operandenadresse enthält.
DE2948285A 1978-12-01 1979-11-30 Adressensteuereinrichtung für einen Datenprozessor Expired DE2948285C2 (de)

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)

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

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

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

Cited By (1)

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