DE3850906T2 - Gastmaschinenablaufsteuerungssystem für virtuelles Maschinensystem. - Google Patents
Gastmaschinenablaufsteuerungssystem für virtuelles Maschinensystem.Info
- Publication number
- DE3850906T2 DE3850906T2 DE3850906T DE3850906T DE3850906T2 DE 3850906 T2 DE3850906 T2 DE 3850906T2 DE 3850906 T DE3850906 T DE 3850906T DE 3850906 T DE3850906 T DE 3850906T DE 3850906 T2 DE3850906 T2 DE 3850906T2
- Authority
- DE
- Germany
- Prior art keywords
- virtual machine
- instruction
- guest
- guest virtual
- execution
- 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 - Fee Related
Links
- 230000004044 response Effects 0.000 claims description 7
- 238000006073 displacement reaction Methods 0.000 claims description 2
- 230000000873 masking effect Effects 0.000 claims 1
- 230000007704 transition Effects 0.000 claims 1
- 238000000034 method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Executing Machine-Instructions (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf ein virtuelles Maschinensystem und insbesondere auf ein Gastmaschinen-Ausführungssteuersystem, das zum Verarbeiten von Gastanweisungen bei hoher Geschwindigkeit geeignet ist.
- Wie in dem US-Patent Nr. 4,456,954 gezeigt, beginnt in dem virtuellen Maschinensystem der Betrieb einer virtuellen Maschine (hiernach mit VM bezeichnet) nur, nachdem eine Start-Interpreter-Ausführungsanweisung (hiernach als SIE-Anweisung bezeichnet) zum Anzeigen eines Ausführungsbeginnes der virtuellen Maschine ausgeführt worden ist.
- Fig. 2 der begleitenden Zeichnungen zeigt das Format einer SIE-Anweisung, das als Operanden einen Zustandsdeskriptor (hiernach mit SD bezeichnet) auf einem Hauptspeicher (hiernach MS genannt) bestimmt durch Verwendung eines Basisregister-Nummernfeldes B2 und eines Verschiebungsfeldes D2. Eine Anweisungseinheit einer zentralen Verarbeitungseinheit (hiernach als CPU bezeichnet) decodiert die SIE-Anweisung, um die jeweiligen SD-Felder von dem MS auszulesen und die Felder in Hardware-Betriebsmitteln der CPU zu plazieren, um dadurch der CPU zu erlauben, als eine Gast-VM zu arbeiten. Als die Hardware- Betriebsmittel, in denen die SD-Felder plaziert werden können, können ein Gastmodus-Zwischenspeicher, ein Programmstatuswort (PSW)-Register, ein Steuerregister (CR), ein allgemeines Register (GR), ein Präfix-Register ein MS-Bereichsregister und ähnliches erwähnt werden. Demgemäß beschreibt der SD die Architektur der Gast-VM, wie sie seitens einer Gastanweisung gesehen wird. Auf der anderen Seite ist der Zustand des Hauptrechners in der CPU reserviert.
- Die Gast-VM, die in Antwort auf die SIE-Anweisung gestartet worden ist, fährt fort ein Gastprogramm zu emulieren, bis eine Unterbrechung oder ein Abfangen zum Steuerungstransfer zu der VMCP stattfindet. Mit dem Begriff "Unterbrechung" sollen Unterbrechungen gemeint sein, wie z. B. Eingabe-/Ausgabe-Unterbrechung und externe Unterbrechung, die das Verarbeiten durch den Hauptrechner erfordern. Das Abfangen kann z. B. auftreten, wenn eine Anweisung, die das Verarbeiten durch den Hauptrechner erfordert, ausgeführt werden muß. Ob das Abfangen für einige der privilegierten Anweisungen ausgegeben werden soll oder nicht, kann durch ein Abfang-Maskenfeld gekennzeichnet werden, das in dem SD enthalten ist. Nach Auftreten der Unterbrechung oder des Abfangens, stoppt die Operation der Gast-VM, woraufhin die CPU in den Hauptrechner-Modus gesetzt wird, zu dem Zustand, der fertig für das Ausführen der SIE-Anweisung ist.
- In einem virtuellen Maschinensystem werden alle oder Teile der I/O-Verarbeitungen durch den Gast mit der VMCP simuliert. Wenn nämlich eine I/O-Aktivierungsanweisung in einem Gastprogramm bestimmt ist, stoppt die Gast-VM seinen Betrieb und ein Abfangen wird der VMCP bekanntgegeben, die dann die I/O-Aktivierungsanweisung des Gastprogrammes simuliert, um das I/O-Verarbeiten für eine reale I/O-Vorrichtung zu starten. Eine entsprechende I/O-Unterbrechungsanweisung wird durch die VMCP quittiert gemäß einer I/O-Maske des Hauptrechners. Die VMCP hält die Gast-I/O-Unterbrechung an oder hält sie, bis die Gast-I/O-Maske einschaltet, woraufhin die Gast-I/O-Unterbrechung freigegeben wird. Ahnliche Verarbeitungen werden für einige der externen Unterbrechungen von dem Gast durchgeführt. In der folgenden Beschreibung wird ein Begriff "Interventions-Anforderung" verwendet, um anzuzeigen, daß eine Quittierung einer Gastunterbrechung durch die VMCP dem Gast mitgeteilt worden ist, und daß die Gastunterbrechung durch die VMCP angehalten worden ist, bis die Maske des Gastes einschaltet.
- In dem virtuellen Maschinensystem ist ein Interventions-Anforderungs-Feld in dem SD, wie in Fig. 2 gezeigt, für die VMCP bereitgestellt, um die Gastunterbrechung anzuhalten. Das Interventions-Anforderungs-Feld ist aus Bits aufgebaut, von denen jedes zu einer Hauptursache einer Unterbrechung in Verbindung steht, die angehalten werden soll. Insbesondere ist es aus einem I/O-Interventions-Anforderungs-Bit aufgebaut, das sich auf eine I/O-Unterbrechung bezieht, einem externen Interventions-Anforderungs-Bit, das sich auf eine externe Unterbrechung bezieht und ähnlichem.
- Ein Flußdiagramm der Verarbeitung der I/O-Unterbrechung, die durch die VMCP angehalten werden soll, ist in Fig. 3 gezeigt. In Schritt 28 quittiert die VMCP eine I/O-Unterbrechungsanforderung von einer bestimmten Gast-VM (durch Gast 1 gekennzeichnet). Bei Schritt 29 setzt die VMCP das I/O-Interventions-Anforderungs-Bit in dem Interventions- Anforderungs-Feld des SD auf "1", um die quittierte Gast-I/O-Unterbrechungsanforderung anzuhalten. Danach fährt die VMCP fort, das Verarbeiten durchzuführen und gibt die SIE-Anweisung aus, um den Gast 1 zu aktivieren. Wenn das I/O-Interventions-Anforderungs-Bit des SD "1" ist, stoppt der Gast 1 seinen Betrieb, wenn die I/O-Maske (durch GPSW (IO) gekennzeichnet) der Gast-PSW "1" wird und teilt der VMCP ein Abfangen mit.
- Insbesondere beginnt bei Schritt 31 der Gast 1 Gastanweisungen auszuführen, da die GPSW (IO) 0 in dem in Fig. 3 gezeigten Beispiel ist. Schritt 32 zeigt an, daß die GPSW (IO) von "0" auf "1" und zwar nach Ausführung einer Lade-PSW-(LPSW)-Anweisung wechselt, wodurch Daten- Auslesungen von dem Hauptspeicher an der Stelle, die durch die Operanden der Anweisung bestimmt sind, in das laufende PSW-Register geladen werden, einer Speichere-Dann-Verknüpfe-Mit-OR-Systemmasken- (STOSM)-Anweisung, durch die die derzeitige Systemmaske in dem Hauptspeicher an der gekennzeichneten Stelle gespeichert wird, und dann Daten der Anweisung mit der Systemmaske oder-verknüpft werden, einer Setze-System-Masken-(SSM)-Anweisung, durch die die Datenauslesungen von dem Hauptspeicher an der Stelle, die durch die Operanden gekennzeichnet ist, in die Systemmaske gesetzt werden, oder anderer Anweisungen, die der Systemmaske zugeordnet sind. Die Abfangbedingung ist erfüllt, wenn solch eine Änderung auftritt, woraufhin der Gast 1 das Ausführen der Gastanweisung beendet und der VMCP das Abfangen mitteilt (Schritt 33). Die VMCP simuliert die I/O-Unterbrechung des Gastes 1 (Schritt 34), um wieder den Gast 1 zu aktivieren (Schritt 35). Der Gast 1 nimmt das Verarbeiten nach der Unterbrechung durch den I/O-Unterbrechungs-Handler wieder auf.
- Die VMCP hält die gast-externe Unterbrechung auf ähnliche Weise wie oben an, so daß die folgende Beschreibung nur auf die Gast-I/O-Unterbrechung gerichtet ist.
- Wie aus Schritt 32 von Fig. 3 gesehen wird, wird es notwendig, wenn eine Anweisung ausgeführt wird, die die Systemmaske der Gast-VM ändert, und das GPSW (IO) von "0" auf "1" wechselt, zu beurteilen, ob der Betrieb der Gast-VM nach Empfang eines Abfangens beendet werden soll, oder ansonsten fortgesetzt werden soll, basierend auf der Anwesenheit oder Abwesenheit der I/O-Interventionsanforderung.
- Fig. 4 zeigt die Verarbeitungsfolge einer LPSW-Anweisung. Die Prozeßfolge wird beispielhaft unter Verwendung einer LPSW-Anweisung beschrieben werden, wobei die gleiche Folge auf andere Anweisungen angewandt werden kann, die die Systemmaske ändern. Es wird zuerst bei Schritt 14 überprüft, ob es eine Zugriffsausnahme oder eine Bestimmungsausnahme gibt. Wenn der Fall einer Ausnahme vorliegt, wird ein Unterbrechungsprozeß bei Schritt 23 durchgeführt. Wenn er nicht vorliegt, wird ein Flag initialisiert (Schritt 15). Wenn das neu zu setzende GPSW (IO) "1" ist (Schritt 16), wird das Interventionsanforderungs-Feld von der SD der Gast-VM gelesen, die jetzt betroffen ist (Schritt 17). Wenn das I/O-Anforderungsbit des Auslese-Interventionsanforderungs-Feldes "1" ist (Schritt 18), wird das Flag auf "1" gesetzt (Schritt 19). Das Flag "1" zeigt an, daß die Bedingung der Ausgabe eines Abfangens in Antwort auf die I/O-Interventionsanforderung vorlag. Als nächstes wird das PSW-Register gesetzt (Schritt 20). Wenn sowohl das Flag als auch das GPSW (IO) "1" sind, dann wird ein Abfang-Prozeß durchgeführt (Schritt 21, 22). Wenn nicht, dann wird das Verarbeiten der LPSW-Anweisung beendet.
- Die Auftrittsfrequenz von einer I/O-Interventionsanforderung ist im allgemeinen so gering, daß die Leistung, die von dem System erreicht werden soll, den Fall in Betracht zieht, bei dem eine LPSW-Anweisung normal über einen Prozeß-Hauptpfad ausgeführt wird, der die Schritte 14, 15, 16, 20, 21 und 37 umfaßt, oder einen Prozeß-Hauptpfad, der die Schritte 14, 15, 16, 17, 18, 20, 21 und 37 umfaßt. Schritte zum Lesen eines Interventionsanforderungs-Feldes und zum Überprüfen eines I/O-Interventionsanforderungs-Bits sind zusätzlich zu denen durch die Hauptrechner-LPSW-Anweisung bereitgestellt. Solche zusätzliche Schritte betreffen den Verarbeitungs-Overhead einer Gastanweisung.
- Gemaß der oben beschriebenen Technik wird es jedesmal, wenn eine Anweisung, die die Gastsystemmaske ändert, ausgeführt wird, notwendig, die Anwesenheit oder Abwesenheit einer I/O-Interventionsanforderung zu überprüfen, und zu überprüfen, ob die Bedingung eines Abfangens durch die I/O-Interventionsanforderung vorliegt, durch Verweisen auf den SD auf dem Hauptspeicher (oder eine temporäre Kopie des SD auf dem lokalen Speicher der CPU). Demgemäß ergibt sich das Problem einer wesentlichen Verminderung der Verarbeitungsleistung einer Anweisung, die die Gastsystemmaske ändert.
- Es ist ein Ziel der vorliegenden Erfindung, ein Gastmaschinen-Ausführungssteuerungssystem in einem virtuellen Maschinensystem bereitzustellen, das in der Lage ist, eine Gastanweisung zu verarbeiten, die die Gastsystemmaske ändert, bei einer Geschwindigkeit, die im wesentlichen gleich der des Verarbeitens einer Hauptrechner-Anweisung ist.
- Es ist ein anderes Ziel der Erfindung, eine Schaltung zum Überprüfen eines Interventionsanforderungs-Satzes in dem VM-Zustandsdeskriptor durch die VMCP während der Ausführung einer Gastmaschine in einem virtuellen Maschinensystem bereitzustellen.
- Die obigen Ziele werden durch ein virtuelles Maschinensystem gemäß Anspruch 1 erreicht. Insbesondere ist eine Zwischenspeichergruppe (ein Zwischenspeicher für eine anhängige Interventionsanforderung) in der CPU bereitgestellt, um den Wert des Interventionsanforderungs-Feldes des SD einer Gast-VM bei Ausführung zu speichern, worin der Zwischenspeicher für eine anhängige Interventionsanforderung gesetzt wird, wenn eine SIE-Anweisung ausgeführt wird, und zu einer geeigneten Periode erneuert wird, und wobei, wenn der Interventionsanforderungs-Zwischenspeicher "1" während der Ausführung der Gast-VM ist, und das Bit, das der Systemmaske der Gast-VM entspricht, ein ist, eine Unterbrechung zu dem Mikroprogramm der CPU ausgegeben wird. Nach der Unterbrechung veranlaßt der Mikroprogrammausführungs-Controller, daß die Ausführung der Gast-VM nach Ausgabe eines Abfangens angehalten wird.
- Die Bedingung der Unterbrechungsanforderung an die VMCP, die eine Gast-VM ausführt, und die Gastsystemmaske wird auf Hardwareweise überprüft. Daher muß die Bedingung nicht durch das Mikroprogramm überprüft werden, wenn eine Anweisung, die die Gastsystemmaske ändert, ausgeführt werden soll, um dadurch die Leistungsfähigkeit des Verarbeitens einer Anweisung zu verbessern, die die Gastsystemmaske ändert.
- Fig. 1 ist ein Blockdiagramm, das ein Ausführungsbeispiel eines Steuerungssystemes gemäß der vorliegenden Erfindung zeigt;
- Fig. 2 zeigt das Format einer Start-Interpreter-Ausführung-(SIE)-Anweisung zum Starten der Ausführung einer virtuellen Maschine;
- Fig. 3 zeigt ein Flußdiagramm, das den Fall veranschaulicht, bei dem die VMCP eine Gastunterbrechung anhält;
- Fig. 4 ist ein Flußdiagramm, das das Verarbeiten einer LPSW-Anweisung zeigt; und
- Fig. 5 ist ein Flußdiagramm, das das Verarbeiten einer LPSW-Anweisung gemäß der vorliegenden Erfindung zeigt.
- Das Ausführungsbeispiel dieser Erfindung wird jetzt mit Bezug auf die begleitenden Zeichnungen beschrieben werden.
- Fig. 1 zeigt die Anordnung des Steuersystems dieser Erfindung. In der Figur bezeichnet das Bezugszeichen 1 ein Adreßregister; 2 einen Hauptspeicher und 3 einen Anweisungsausführungs-Controller. Bezugszeichen 4 kennzeichnet einen Zwischenspeicher für eine anhängige I/O-Interventionsanforderung, 5 einen Zwischenspeicher für eine Gast-PSWIO-Maske, und 6 ein AND-Gatter zum Erhalten eines logischen Produktes des I/O-Interventionsanforderungs-Zwischenspeichers 4 und des Zwischenspeichers 5 für die Gast-PSWIO-Maske. Die Elemente 4 bis 6 werden für eine Gast-I/O-Unterbrechung verwendet. Für eine externe Gastunterbrechung werden ähnliche Elemente verwendet, die in diesem Ausführungsbeispiel weggelassen worden sind. Der Anweisungsausführungs-Controller 3 veranlaßt, daß der Zwischenspeicher 4 für eine anhängige I/O-Interventionsanforderung über eine Steuerleitung 8 gesetzt und über eine Steuerleitung 9 zurückgesetzt wird, um dadurch die Daten zu erneuern, die in dem Zwischenspeicher 4 gespeichert sind. Eine Ausgabe von dem AND-Gatter 6 dient als ein Unterbrechungstrigger 11, der einem Mikroprogrammausführungs-Controller 7 eine Unterbrechung des Mikroprogrammes mitteilt.
- Der Betrieb des Steuersystems, das in Fig. 1 gezeigt ist, wird mit Bezug auf Fig. 3 beschrieben werden. Eine SIE-Anweisung wird bei Schritt 30 ausgegeben, um den Gast 1 zu aktivieren. Beim Verarbeiten der SIE-Anweisung wird eine Adresse, die durch die B2- und D2-Felder der SIE-Anweisung gekennzeichnet ist, an dem Adreßregister 1 gesetzt, um den SD von dem Hauptspeicher 3 zu lesen. Auf den Auslese-SD werden das I/O-Interventionsanforderungs-Bit und die Gast-PSWIO-Maske von dem Zwischenspeicher 4 für eine anhängige I/O-Interventionsanforderung bzw. der Zwischenspeicher 5 für die Gast-PSWIO-Maske über den Anweisungsausführungs-Controller 3 gesetzt. Der Zwischenspeicher 4 für eine anhängige I/O-Intervention wird bei einer geeigneten Periode während dem Ausführen der Gast-VM erneuert durch Lesen des SD auf dem Hauptspeicher 3. Dieses Erneuern wird ausgeführt, um eine I/O-Interventionsanforderung, die durch eine andere CPU in einem Multi-Prozessor-System quittiert und angehalten worden ist, während der Gast 1 seine eigene I/O-Interventionsanforderung ausführt, wiederzugeben. Auf der anderen Seite wird der Zwischenspeicher 5 für die Gast-PSWIO-Maske nach Ausführung einer Anweisung erneuert, die die Gastmaske ändert, wobei die Anweisung beispielsweise eine LPSW-Anweisung, eine STOSM-Anweisung, eine STNSM-Anweisung, eine SSM-Anweisung und ähnliches umfaßt.
- Wenn der Zwischenspeicher 4 für eine anhängige I/O-Interventionsanforderung "1" ist und der Zwischenspeicher 5 für die Gast-PSWIO-Maske ein ist, dann gibt das AND-Gatter .6 einen Unterbrechungstrigger 11 von "1" aus, um dem Mikroprogrammausführungs-Controller 7 eine Unterbrechung mitzuteilen. Insbesondere, wenn die VMCP die Gast-I/O-Unterbrechung anhält, wird der Zwischenspeicher 4 für eine anhängige I/O-Interventionsanforderung "1", so daß die Gast-VM läuft, während der Zwischenspeicher 5 für eine Gast-PSWIO-Maske ein ist. Jedoch wird unmittelbar nachdem die Gast-PSWIO-Maske ein wird (Schritt 32) nach Ausführung einer Anweisung, die die Gastsystemmaske ändert, der Unterbrechungstrigger 11 ein, um die Ausführung der Gast-VM bei dem Abfangsprozeß (Schritt 33) durch die Unterbrechung des Mikroprogrammes zu beenden. Wenn die Ausführung der Gast-VM aus anderen Gründen endet, wird der Zwischenspeicher 4 für die anhängige I/O-Interventionsanforderung nach der Beendigung zurückgesetzt.
- Da die Bedingung eines Abfangens, das durch die Gastunterbrechung veranlaßt werden soll, die durch die VMCP angehalten worden ist, während der Ausführung der Gast-VM überprüft wird, muß die Bedingung nicht durch das Mikroprogramm überprüft werden, wenn eine Steueranweisung der Gast-VM ausgeführt werden soll. Dieser Betrieb wird dann mit Bezug auf Fig. 5 beschrieben werden, die das Verarbeiten einer Anweisung zeigt, die eine Systemmaske der Gast-PSW ändert, unter Verwendung eines LPSW als Beispiel. Eine Zugriffsausnahme und eine Bestimmungsausnahme werden bei Schritt 24 überprüft. Wenn es keine Ursache einer Ausnahme gibt, wird das PSW bei Schritt 25 gesetzt, um danach das Ausführen der Anweisung zu beenden. Dies eliminiert den Verarbeitungs-Overhead der Gastanweisung wie zuvor diskutiert. Auf der anderen Seite, wenn es irgendeine Ausnahmeursache gibt, wird ein Unterbrechungsprozeß durchgeführt (Schritt 26). Wenn die Abfangbedingung nach der I/O-Interventionsanforderung vorliegt, dann gibt das Mikroprogramm eine Unterbrechung wie zuvor diskutiert aus, um einen Abfangsprozeß durchzuführen (Schritt 27).
Claims (9)
1. Virtuelles Maschinensystem, das einen Hauptspeicher (2) zum
Speichern eines Zustandsdeskriptors für eine virtuelle Gastmaschine, eine
Anweisungsausführungseinheit (3) zum Starten der Ausführung der
virtuellen Gastmaschine, so daß beim Ausführen einer Anweisung
zum Starten der Ausführung der virtuellen Maschine der
Zustandsdeskriptor für die virtuelle Gastmaschine auf dem Hauptspeicher an
dem Ort, der durch die Anweisung gekennzeichnet ist, in einem
Hardwarebetriebsmittel gesetzt wird, aufweist, worin der
Zustandsdeskriptor Information zur Anzeige umfaßt, ob die Ausführung der
virtuellen Gastmaschine beendet werden soll, gekennzeichnet durch:
(a) eine erste Einrichtung (4), die in dem Hardwarebetriebsmittel
enthalten ist und mit der Anweisungsausführungseinheit
verbunden ist, um die Information, die in dem Zustandsdeskriptor der
virtuellen Gastmaschine enthalten ist, zu speichern, die anzeigt,
ob die Ausführung der virtuellen Gastmaschine beendet werden
soll oder nicht;
(b) eine zweite Einrichtung (8, 9), die zwischen der
Anweisungsausführungseinheit und der ersten Einrichtung verbunden sind, um
die Information, die in der ersten Einrichtung gespeichert ist, zu
einer geeigneten Periode zu setzen und rückzusetzen gemäß
dem Zustandsdeskriptor in Antwort auf die Ausführung einer
Anweisung zum Starten der Ausführung der virtuellen
Gastmaschine;
(c) eine dritte Einrichtung (5), die in dem Hardwarebetriebsmittel
enthalten ist, und die mit der Anweisungsausführungseinheit
verbunden ist, um Maskendaten als den Zustand der virtuellen
Gastmaschine zu halten, wobei die Maskendaten darstellen, ob
die virtuelle Gastmaschine eine Unterbrechung akzeptieren kann,
wobei die dritte Einrichtung durch Ausführung der
Startanweisung initialisiert wird und nach Ausführung einer Anweisung, die
die Maskendaten ändert, wieder erneuert wird; und
(d) eine vierte Einrichtung (6, 7, 11), die mit der ersten Einrichtung
und der dritten Einrichtung verbunden ist, um Ausführungen,
die durch eine virtuelle Gastmaschine durchgeführt werden,
anzuhalten und, um die Ausführung der Anweisung zum Starten
der Ausführung der virtuellen Gastmaschine in Antwort auf eine
vorbestimmte Beziehung zwischen Ausgaben von der ersten und
dritten Einrichtung zu beenden.
2. Virtuelles Maschinensystem gemäß Anspruch 1, worin die erste
Einrichtung eine Flag-Zwischenspeicherschaltung zum Speichern eines
Flags aufweist, dessen Inhalt zu der virtuellen Gastmaschine gesandt
wird, um eine Intervention zu der virtuellen Gastmaschine
anzufordern, und wobei die Anweisungsausführungseinheit das Flag in der
Zwischenspeicherschaltung über die zweite Einrichtung setzt und
zurücksetzt.
3. Virtuelles Maschinensystem gemäß Anspruch 1, worin die dritte
Einrichtung (5) eine Masken-Zwischenspeicherschaltung zum Halten
von Maskendaten als Zustand der virtuellen Gastmaschine ist, die
zur selektiven Erlaubnis von Betriebsunterbrechungen der virtuellen
Gastmaschine verwendet wird.
4. Virtuelles Maschinensystem gemäß Anspruch 1, worin die vierte
Einrichtung eine logische Gatterschaltung (6) zum Durchführen einer
AND-Operation der Ausgaben von der
Flag-Zwischenspeicherschaltung und der Masken-Zwischenspeicherschaltung aufweist.
5. In einem virtuellen Maschinensystem gemäß Anspruch 1 zum
Laufenlassen einer Vielzahl von virtuellen Gastmaschinen unter Steuerung
einer Hauptmaschine eine Steuerschaltung zum Steuern des
Zustandsüberganges zwischen hauptvirtuellen Maschinen in
Übereinstimmung mit einem Zustandsdeskriptor einer virtuellen Gastmaschine
und Maskendaten zum selektiven Maskieren einer Vielzahl von
Unterbrechungen, um die Ausführung der virtuellen Gastmaschine
abzufangen, die jeweils in einem Hardwarebetriebsmittel in Antwort
auf eine Startanweisung zum Starten der Ausführung der virtuellen
Gastmaschine gesetzt sind, wobei die Steuerschaltung aufweist:
(a) eine logische Produktschaltung (6) zum Erhalten eines logischen
Produktes aus zumindest zwei Eingaben;
(b) eine Masken-Zwischenspeicherschaltung (5), die in dem
Hardwarebetriebsmittel enthalten und mit einer der zumindest zwei
Eingaben zum Speichern der Maskendaten verbunden ist;
(c) eine Zwischenspeicherschaltung (4) für eine anhängige
Interventionsanforderung, die mit einer anderen der zumindest zwei
Eingaben zum Halten eines Flags verbunden ist, das für eine
Ausführungsintervention zu der virtuellen Gastmaschine
repräsentativ ist, die von einem Interventionsanforderungs-Feld
genommen wurde, das in dem virtuellen Gastmaschinen-Deskriptor
enthalten ist; und
(d) eine Anweisungsausführungseinheit (3, 7) zum Durchführen einer
Abfangoperation, die den Zustand der Maschine von einer
virtuellen Gastmaschine zu der Hauptmaschine in
Übereinstimmung
mit einer Ausgabe von der logischen Produktschaltung
ändert.
6. Steuerschaltung gemäß Anspruch 5, worin die
Anweisungsausführungseinheit eine Einrichtung (25) zum Festlegen eines PSW in Antwort
auf eine Anweisung aufweist, die Maskendaten in der Systemmaske
des Hardwarebetriebsmittels der virtuellen Gastmaschine ändert, und
eine Abfangeinrichtung (27) zum Durchführen einer Abfangoperation,
die den Zustand der Maschine von der virtuellen Gastmaschine zu
der Hauptmaschine durch eine Unterbrechung ändert.
7. Steuerschaltung gemäß Anspruch 6, die eine Einrichtung (3) zum
Setzen und Rücksetzen der Maskendaten in der
Masken-Zwischenspeicherschaltung in Antwort auf irgendeine der Anweisungen
aufweist, die durch die virtuelle Gastmaschine ausgeführt werden, wobei
die Anweisungen eine Lade-PSW-Anweisung, eine Speichere-Dann-
Verknüpfe-Mit-OR-Systemmasken-Anweisung, eine Speichere-Dann-
Verknüpfe-Mit-AND-Systenunasken-Anweisung und eine
Setze-Systemmaske-Anweisung umfassen.
8. Steuerschaltung gemäß Anspruch 7, wenn die Startanweisung eine
Start-Interpreter-Ausführungsanweisung ist, die von der
Hauptmaschine geliefert wird, wobei die Anweisung eine Basisregisternummer
(B2) und eine Verschiebung (D2) hat.
9. Steuerschaltung gemäß Anspruch 1, worin die zweite Einrichtung
periodisch die erste Einrichtung (4) mit Inhalten des Hauptspeichers
(2) erneuert, um eine andere Interventionsanforderung
wiederzugeben, die durch eine andere CPU quittiert und angehalten worden ist,
während die Gastmaschine eine Interventionsanforderung ausführt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62114243A JPH0810437B2 (ja) | 1987-05-11 | 1987-05-11 | 仮想計算機システムのゲスト実行制御方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3850906D1 DE3850906D1 (de) | 1994-09-08 |
DE3850906T2 true DE3850906T2 (de) | 1994-12-08 |
Family
ID=14632865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3850906T Expired - Fee Related DE3850906T2 (de) | 1987-05-11 | 1988-05-04 | Gastmaschinenablaufsteuerungssystem für virtuelles Maschinensystem. |
Country Status (5)
Country | Link |
---|---|
US (1) | US5003468A (de) |
EP (1) | EP0290942B1 (de) |
JP (1) | JPH0810437B2 (de) |
KR (1) | KR920003044B1 (de) |
DE (1) | DE3850906T2 (de) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5430862A (en) * | 1990-06-29 | 1995-07-04 | Bull Hn Information Systems Inc. | Emulation of CISC instructions by RISC instructions using two pipelined stages for overlapped CISC decoding and RISC execution |
US5345567A (en) * | 1991-06-10 | 1994-09-06 | International Business Machines Corporation | System and method for modifying program status word system mask, system access key, and address space code with overlap enabled |
JPH08161185A (ja) * | 1994-12-02 | 1996-06-21 | Hitachi Ltd | 仮想計算機システムのゲスト実行制御方式 |
US5694587A (en) * | 1995-03-31 | 1997-12-02 | International Business Machines Corporation | Specialized millicode instructions for test PSW validity, load with access test, and character translation assist |
US5611062A (en) * | 1995-03-31 | 1997-03-11 | International Business Machines Corporation | Specialized millicode instruction for string operations |
US5621909A (en) * | 1996-03-12 | 1997-04-15 | International Business Machines Corporation | Specialized millicode instruction for range checking |
US5754810A (en) * | 1996-03-12 | 1998-05-19 | International Business Machines Corporation | Specialized millicode instruction for certain decimal operations |
US6088791A (en) * | 1998-04-30 | 2000-07-11 | International Business Machines Corporation | Computer processor system for implementing the ESA/390 STOSM and STNSM instructions without serialization or artificially extending processor execution time |
US7237051B2 (en) * | 2003-09-30 | 2007-06-26 | Intel Corporation | Mechanism to control hardware interrupt acknowledgement in a virtual machine system |
US8527673B2 (en) | 2007-05-23 | 2013-09-03 | Vmware, Inc. | Direct access to a hardware device for virtual machines of a virtualized computer system |
US7853744B2 (en) * | 2007-05-23 | 2010-12-14 | Vmware, Inc. | Handling interrupts when virtual machines have direct access to a hardware device |
JP5201176B2 (ja) * | 2010-07-09 | 2013-06-05 | 株式会社日立製作所 | 情報処理装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS55112651A (en) * | 1979-02-21 | 1980-08-30 | Fujitsu Ltd | Virtual computer system |
JPS56135249A (en) * | 1980-03-25 | 1981-10-22 | Fujitsu Ltd | Interruption control system |
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 |
US4779188A (en) * | 1983-12-14 | 1988-10-18 | International Business Machines Corporation | Selective guest system purge control |
JPH0658650B2 (ja) * | 1986-03-14 | 1994-08-03 | 株式会社日立製作所 | 仮想計算機システム |
-
1987
- 1987-05-11 JP JP62114243A patent/JPH0810437B2/ja not_active Expired - Fee Related
-
1988
- 1988-05-04 EP EP88107159A patent/EP0290942B1/de not_active Expired - Lifetime
- 1988-05-04 DE DE3850906T patent/DE3850906T2/de not_active Expired - Fee Related
- 1988-05-05 US US07/190,648 patent/US5003468A/en not_active Expired - Lifetime
- 1988-05-10 KR KR1019880005393A patent/KR920003044B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
JPS63279328A (ja) | 1988-11-16 |
EP0290942A3 (de) | 1991-04-10 |
DE3850906D1 (de) | 1994-09-08 |
EP0290942B1 (de) | 1994-08-03 |
JPH0810437B2 (ja) | 1996-01-31 |
EP0290942A2 (de) | 1988-11-17 |
KR880014471A (ko) | 1988-12-23 |
US5003468A (en) | 1991-03-26 |
KR920003044B1 (ko) | 1992-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69810064T2 (de) | Verfahren und Anordnung zur Veränderung der Durchführung eines Nachfolgebefehls in einem Dataprozessor | |
DE3689394T2 (de) | Informationsverarbeitungsanlage mit einem Allzweckprozessor und einem Sonderzweckprozessor. | |
DE69129565T2 (de) | Hochleistungsfähiger Emulator mit Pipelining | |
DE2714805C2 (de) | ||
DE3789345T2 (de) | Erweiterte Gleitkommaoperationen zur Unterstützung der Emulation von Quellbefehlsausführungen. | |
DE3750306T2 (de) | System zum Gewährleisten der logischen Unversehrtheit von Daten. | |
DE2722099C2 (de) | ||
DE69317149T2 (de) | Mikrocomputer mit Befehlsspeicher für Befehle zum Auslesen interner Bedingungen | |
DE2629459C2 (de) | ||
DE69227664T2 (de) | Hardwarekonfiguriertes Betriebssystemkern für einen Multitaskprozessor | |
DE69032334T2 (de) | Virtuelles Computersystem mit Ein-/Ausgabeunterbrechungssteuerung | |
DE68921775T2 (de) | Prozessorssimulation. | |
DE3685863T2 (de) | Rechnersystem zur steuerung virtueller maschinen. | |
DE3685876T2 (de) | Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher. | |
DE2744531A1 (de) | Elektronische datenverarbeitungsanlage | |
DE69031547T2 (de) | Befehlsausgabe für ein Rechnersystem | |
DE3942669A1 (de) | Virtuelles maschinensystem | |
DE2953861C2 (de) | ||
DE3850906T2 (de) | Gastmaschinenablaufsteuerungssystem für virtuelles Maschinensystem. | |
DE60224774T2 (de) | Datenverarbeitungssystem mit Lese-, Änderungs- und Schreibeinheit | |
DE2948285A1 (de) | Adressensteuersystem fuer softwaresimulation | |
DE10206422A1 (de) | System und Verfahren zum Überwachen der Ausführung privilegierter Befehle | |
DE69414592T2 (de) | Ausführung von datenverarbeitungsbefehlen | |
DE3751108T2 (de) | Mikroprozessor mit der Fähigkeit, an einen Koprozessor geschaltet zu werden. | |
DE3228405A1 (de) | Emulator zur erzeugung einer folge von steuersignalen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |