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
Application number
DE3850906T
Other languages
English (en)
Other versions
DE3850906D1 (de
Inventor
Shuichi Abe
Fujio Wakui
Masaya Watanabe
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Hitachi Computer Engineering Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Computer Engineering Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd, Hitachi Computer Engineering Co Ltd filed Critical Hitachi Ltd
Publication of DE3850906D1 publication Critical patent/DE3850906D1/de
Application granted granted Critical
Publication of DE3850906T2 publication Critical patent/DE3850906T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; 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.
DE3850906T 1987-05-11 1988-05-04 Gastmaschinenablaufsteuerungssystem für virtuelles Maschinensystem. Expired - Fee Related DE3850906T2 (de)

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)

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

* 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
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 株式会社日立製作所 仮想計算機システム

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