DE3932675A1 - Virtuelles maschinensystem - Google Patents

Virtuelles maschinensystem

Info

Publication number
DE3932675A1
DE3932675A1 DE3932675A DE3932675A DE3932675A1 DE 3932675 A1 DE3932675 A1 DE 3932675A1 DE 3932675 A DE3932675 A DE 3932675A DE 3932675 A DE3932675 A DE 3932675A DE 3932675 A1 DE3932675 A1 DE 3932675A1
Authority
DE
Germany
Prior art keywords
command
processor
virtual machine
real
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE3932675A
Other languages
English (en)
Other versions
DE3932675C2 (de
Inventor
Toru Ohtsuki
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
Original Assignee
Hitachi 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 filed Critical Hitachi Ltd
Publication of DE3932675A1 publication Critical patent/DE3932675A1/de
Application granted granted Critical
Publication of DE3932675C2 publication Critical patent/DE3932675C2/de
Granted 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox

Description

Die Erfindung liegt auf dem Gebiet von Datenverarbeitungssystemen und betrifft ein virtuelles Maschinensystem, das sich vorteilhaft zum Lauf einer Vielzahl von Betriebssystemen auf einem Informationsverarbeitungssystem eignet.
Auf dem Gebiet der Informations- oder Datenverarbeitung ist bereits ein virtuelles Maschinensystem für einen Mehrprozessoraufbau bekannt (kurz virtuelles Mehrprozessormaschinensystem), in dem eine Vielzahl von realen Befehlsprozessoren (IP s) mehreren virtuellen Maschinen zugeordnet sind und für diese arbeiten. Ein Beispiel für ein solches bekanntes virtuelles Maschinensystem ist in der Druckschrift "IBM System/370 Extended Architecture Interpretive Execution SA22-7095" vom Januar 1984 beschrieben.
Damit ein Computersystem, das eine Mehrprozessorkonfiguration hat, richtig als Informationsverarbeitungssystem arbeitet, wird im allgemeinen ein Verfahren angewendet, bei dem, wenn der Inhalt eines Hauptspeichers als Ergebnis einer Befehlsausführung durch einen Befehlsprozessor fortgeschrieben wird, ein Signal zum Ungültigmachen eines Eintrags in einem Pufferspeicher, der in jedem Befehlsprozessor enthalten ist und der jeweils eine Kopie des Inhalts des Hauptspeichers enthält, zu den einzelnen Befehlsprozessoren gesendet wird, worauf in jedem Befehlsprozessor der Eintrag des Pufferspeichers ungültig gemacht wird. Auch kann im Falle des oben genannten virtuellen Maschinensystems mit Mehrprozessorkonfiguration die Möglichkeit entstehen, daß die Einträge der in den virtuellen Maschinen enthaltenen Pufferspeicher unnötigerweise vernichtet werden; dies kann nämlich auch durch anderen virtuellen Maschinen zugeordnete Befehlsprozessoren geschehen, die mit der Ausführung des betreffenden Befehls nicht direkt befaßt sind, da das Signal zum Ungültigmachen des Eintrags im Pufferspeicher an alle Befehlsprozessoren, die den virtuellen Maschinen zugeordnet sind, ausgegeben wird. Eine solche Möglichkeit ist insbesondere dann gegeben, falls in dem Informationsverarbeitungssystem die Adresse des Eintrags im Pufferspeicher nicht durch sämtliche Bits der entsprechenden Adresse des Hauptspeichers, sondern nur durch einen Teil der Adreßbits angegeben wird, wobei dieselbe Eintragsadresse im Pufferspeicher unterschiedliche Adressen des Hauptspeichers angibt. Dadurch werden solche Einträge im Übermaß vernichtet, wodurch die Verarbeitungsleistung des ganzen Systems beträchtlich verringert wird. Zusätzlich wird, wenn ein Befehl zum Vernichten eines Eintrags eines TLB (Adreßumsetzpuffer) ausgeführt wird, ein Signal zum Ungültigmachen des Eintrags des TLB s ebenfalls an sämtliche Befehlsprozessoren gesendet, was bedeutet, daß die Einträge der TLB s in den Befehlsprozessoren, die den anderen virtuellen Maschinen zugeordnet sind, zu häufig vernichtet werden. Außerdem kann auch im Falle die Eintragsadresse des TLB s durch einen Teil der virtuellen Speicheradresse definiert ist, ein übermäßig häufiges Vernichten eines Eintrags stattfinden, wodurch ebenfalls die Verarbeitungsleistung des ganzen Systems verringert wird.
Deshalb ist es Aufgabe der Erfindung, ein virtuelles Maschinensystem, das eine Mehrprozessorkonfiguration aufweist, so zu ermöglichen, daß ein übermäßig häufiges Vernichten von Einträgen in Pufferspeichern vermieden und die Verarbeitungsleistung gesteigert wird.
Zur Lösung dieser Aufgabe ist gemäß einem Merkmal der Erfindung ein Informationsverarbeitungssystem vorgesehen, das mehrere reale Befehlsprozessoren und einen mehreren virtuellen Maschinen in einer solchen Art zugeordneten Hauptspeicher aufweist, daß das so realisierte virtuelle Maschinensystem eine Vielzahl von virtuellen Maschinen aufweist, von denen jede die gleiche Zahl virtueller Befehlsprozessoren wie die Anzahl der jeweils zugeordneten realen Befehlsprozessoren enthält, wobei die Hauptspeicher der einzelnen virtuellen Maschinen aus aufeinanderfolgenden Speicherbereichen des den virtuellen Maschinen zugeordneten realen Hauptspeichers bestehen. Erfindungsgemäß ist eine Registriertabelle vorgesehen, um die Befehlsprozessoren der einzelnen virtuellen Maschinen und die entsprechenden realen Befehlsprozessoren zu verzeichnen.
Genauer sind in der Registriertabelle die korrespondierenden Beziehungen zwischen den virtuellen Maschinen und den realen Befehlsprozessoren verzeichnet. Demgemäß wird, wenn beispielshaft angenommen wird, daß vier reale Befehlsprozessoren erreichbar sind und daß zwei dieser realen Befehlsprozessoren als zu einer gegebenen virtuellen Maschine gehörende reale Befehlsprozessoren verzeichnet sind, zur Registriertabelle beim Betrieb des virtuellen Maschinensystems zugegriffen, wodurch der Einfluß der Operation eines realen Befehlsprozessors, der ein Teil der gegebenen virtuellen Maschine der Mehrprozessorkonfiguration ist, auf diese virtuelle Maschine, die diese beiden realen Befehlsprozessoren verwendet, beschränkt bleibt (d. h. auf den anderen realen Befehlsprozessor, der den anderen Teil dieser virtuellen Maschine organisiert, jedoch nicht die Operationen anderer realer Befehlsprozessoren, die anderen virtuellen Maschinen zugeordnet sind, beeinflußt).
Die Erfindung wird im folgenden anhand der Zeichnung näher beschrieben. Es zeigt
Fig. 1 ein Blockdiagramm einer prinzipiellen Anordnung eines virtuellen Maschinensystems gemäß einem bevorzugten Ausführungsbeispiel der Erfindung;
Fig. 2 ein die Korrespondenz zwischen realen Befehlsprozessoren und virtuellen Maschinenbefehlsprozessoren darstellendes Diagramm;
Fig. 3A eine Tabelle mit Korrespondenzen zwischen den virtuellen Maschinen und den zugeordneten realen Befehlsprozessoren;
Fig. 3B den Aufbau einer in dem in Fig. 1 gezeigten System verwendeten Registriertabelle gemäß der Erfindung;
Fig. 4 Einzelheiten derjenigen Teile von Strukturen eines realen Befehlsprozessors (IP) und einer Systemsteuerung (SC) in dem in Fig. 1 dargestellten System, die die vorliegende Erfindung betreffen; und
Fig. 5 im einzelnen den Aufbau eines Befehlsprozessors, der eine virtuelle Mehrprozessormaschine bildet, in Zusammenarbeit mit einem anderen Befehlsprozessor.
In Fig. 2 sind die gegenseitigen Beziehungen zwischen den die virtuellen Maschinen bildenden Befehlsprozessoren und den diesen zugeordneten realen Befehlsprozessoren eines beispielshaft angenommenen Systems dargestellt, in dem mehrere reale Befehlsprozessoren (IP) und ein Hauptspeicher einigen virtuellen Maschinen zugeordnet sind bzw. auf diese aufgeteilt sind. Genauer ist im Falle eine virtuelle Maschine einen Befehlsprozessor enthält, d. h. bei einer Ein-Prozessorkonfiguration der virtuellen Maschine, genau ein realer Befehlsprozessor, der der Ein-Prozessormaschine zugeordnet ist, vorhanden. Im anderen Fall, wenn eine virtuelle Maschine zwei Befehlsprozessoren enthält, d. h. im Falle die virtuelle Maschine eine zweiteilige Prozessorkonfiguration hat, genau zwei reale Befehlsprozessoren der virtuellen Maschine zugeordnet sind. In der gleichen Weise erhöht sich die Zahl der der virtuellen Maschine zugeordneten realen Befehlsprozessoren entsprechend der Zunahme der in einer virtuellen Maschine enthaltenen Befehlsprozessoren. Die höchste Anzahl der Befehlsprozessoren, die einer virtuellen Maschine zugeordnet werden können, ist auf die Anzahl der in dem Verarbeitungssystem insgesamt vorhandenen Zahl von realen Prozessoren beschränkt.
Fig. 1 zeigt eine prinzipielle Anordnung eines erfindungsgemäß gestalteten virtuellen Maschinensystems, bei dem die Eingabe/Ausgabe-Steuerungen nicht dargestellt sind. Im folgenden werden Operationen zum Ungültigmachen eines Eintrags eines Pufferspeichers (BS) sowie eines Eintrags in einem Adressenumsetzpufferspeicher (TLB) als derartige Ungültigkeitsoperation beschrieben, deren Auswirkung bezüglich des Bereichs, in dem die Operation Einfluß ausübt, beschränkt ist.
Eine virtuelle Maschine 0 besteht aus einem realen Befehlsprozessor (IP₀) 1, der einen Pufferspeicher (BS) 5 und einen Adressenumsetzpufferspeicher (TLB) 9 aufweist und einen Hauptspeicherbereich MS₀, der einen der virtuellen Maschine 0 zugeordneten Bereich eines geteilten Hauptspeichers 15 bildet. Außerdem besteht eine virtuelle Maschine I aus einem realen Befehlsprozessor (IP₁) 2, einem realen Befehlsprozessor (IP₂) 3, jeweils in den realen Befehlsprozessoren 2 und 3 enthaltenen Pufferspeichern (BS) 6 und 7 und Adressenumsetzpufferspeichern (TLB) 10 und 11 sowie einem dem Bereich MS₀ folgenden Speicherbereich MS₁ des Hauptspeichers 15. Schließlich besteht eine virtuelle Maschine II aus einem realen Befehlsprozessor (IP₃) 4, einem Pufferspeicher (BS) 8 und einem Adressenumsetzpufferspeicher (TLB) 12, die in dem realen Befehlsprozessor (IP₃) 4 enthalten sind, sowie einem auf den Speicherbereich MS₁ folgenden Speicherbereich MS₂ des Hauptspeichers 15. Zugriffe zum Hauptspeicher MS 15 des gesamten Systems werden insgesamt von einer Systemsteuerung (SC) 13 gesteuert, in der eine Registriertabelle 14 enthalten ist. Da die Speicherbereiche MS₀, MS₁ und MS₂ ausschließlich jeweils den virtuellen Maschinen 0, I, II zugeordnet sind, besteht Unabhängigkeit der jeweiligen in den Pufferspeichern (BS) gespeicherten Kopien des Hauptspeichers sowie der jeweiligen Adressenpaare, die in den jeweiligen Adressenumsetzpufferspeichern (TLB) gespeichert sind.
Die Fig. 3A und 3B zeigen Tabellen, die die Korrespondenzbeziehungen zwischen den Befehlsprozessoren, die die virtuellen Maschinen bilden und den ihnen zugeordneten realen Befehlsprozessoren in dem in Fig. 1 dargestellten System, darstellen. Im einzelnen zeigt Fig. 3A tabellarisch die Korrespondenzbeziehungen zwischen den virtuellen Maschinen 0, I und II und den ihnen zugeordneten realen Befehlsprozessoren IP₀ bis IP₃. Fig. 3B zeigt die entsprechenden in der Registriertabelle 14 verzeichneten Inhalte. In Fig. 3B werden die den Befehlsprozessoren zugeteilten Identifikationsnummern jeweils durch die Zeilenidentifikationsnummern eingegeben, wobei die Identifikationsnummer der Spalte, in der die Zeilenidentifikationsnummer eine "1" annimmt, die Identifikationsnummer des anderen Partner-Befehlsprozessors (IP) in der virtuellen Maschine der Mehrprozessorkonfiguration darstellt (die virtuelle Maschine I mit Zwei-Prozessorkonfiguration im Fall des dargestellten Ausführungsbeispiels). Wie die in Fig. 3B dargestellte Tabelle zeigt, bildet der Befehlsprozessor (IP₂) 3 zusammen mit dem Befehlsprozessor (IP₁) 2 die Mehrprozessormaschine I. Anders ausgedrückt, bildet der Befehlsprozessor (IP₁) 2 zusammen mit dem Befehlsprozessor (IP₂) 3 die virtuelle Zwei-Prozessormaschine. Andererseits stellen die Zeilen- und Spaltennummern IP₀ und IP₃ die Ein-Prozessormaschinen 0 und II dar.
Nun wird beispielsweise angenommen, daß ein Befehl zum Neuschreiben des Inhalts des Speicherbereichs MS₁ des Hauptspeichers 15 von dem Befehlsprozessor (IP₁) 2 ausgeführt wird. In diesem Fall, wenn der fortzuschreibende Inhalt als im Pufferspeicher (BS) 7 des Befehlsprozessors (IP₂) 3 als Ergebnis der erwähnten Befehlsausführung, gespeichert erkannt wird, muß der Eintrag des Pufferspeichers (BS) 7 vernichtet werden. Zu diesem Zweck wird auf die Befehlsausführung durch den Befehlsprozessor (IP₁) 2 nicht nur der Eintrag des Pufferspeichers (BS) 6 fortgeschrieben, sondern auch eine Speicheranforderung für den Speicherbereich MS₁ an die Systemsteuerung (SC) 13 ausgegeben. Daraufhin sendet die Systemsteuerung (SC) 13 die Anforderung zum Fortschreiben des Inhalts in dem Speicherbereich MS₁ an den Hauptspeicher 15 zusammen mit den zu ersetzenden Daten und findet gleichzeitig den anderen Partner-Befehlsprozessor (IP₂) 3 der virtuellen Maschine I wieder auf, indem sie zur Registriertabelle 14 zugreift, woraufhin die Systemsteuerung (SC) 13 ein Signal für das Ungültigmachen des Eintrags des Pufferspeichers (BS) 7 dem Partner-Befehlsprozessor (IP₂) 3 zusendet. Auf den Empfang des Vernichtungssignals für den BS-Eintrag vernichtet der Befehlsprozessor (IP₂) 3 den Inhalt des Pufferspeichers 7. In diesem Zusammenhang muß hervorgehoben werden, daß in der Registriertabelle 14, zu der die Systemsteuerung 13 zugreift, weder der Befehlsprozessor 1 (IP₀) noch der Befehlsprozessor 4 (IP₃) als zur virtuellen Maschine I zugehörige Einträge registriert sind. Demgemäß erhalten auch die Befehlsprozessoren 1 (IP₀) oder 4 (IP₃) kein Vernichtungssignal. Auf diese Weise sind die unnötigen und überflüssigen Vernichtungen der Einträge der Pufferspeicher 5 und 8 der Befehlsprozessoren 1 und 4 vermieden.
Außerdem greift die Systemsteuerung 13, wenn ein einen Eintrag im Adreßumsetzpuffer ungültig machender Befehl vom Befehlsprozessor (IP₂) 3 ausgeführt wird, zur Registriertabelle zu, um ein Vernichtungssignal für den Eintrag in Adreßumsetzpuffer (TLB) 10 im Befehlsprozessor (IP₁) 2 zu senden. Dadurch wird der Eintrag des TLB 10 vernichtet.
Die obige Beschreibung zeigt deutlich auf, daß es möglich ist, den durch die Operationen der virtuellen Mehrprozessormaschine beeinflußten Operationsbereich im virtuellen Maschinensystem durch das Vorsehen der Registriertabelle 14 auf ein ausreichendes Maß zu beschränken.
Fig. 4 zeigt im einzelnen solche Teile der realen Befehlsprozessoren (IP₁) 2 und der Systemsteuerung (SC) 13 gemäß Fig. 1, die Bezug zur vorliegenden Erfindung haben. Fig. 5 zeigt im einzelnen einen Aufbau des Befehlsprozessors (IP₂) 3, der zusammen mit dem Befehlsprozessor (IP₁) 2 die Mehr-Prozessormaschine I bildet, in Zusammenarbeit mit dem letztgenannten Befehlsprozessor (IP₁) 2.
Gemäß Fig. 4 wird bei der Ausführung einer Speicheroperation durch den Befehlsprozessor (IP₁) 2 ein Pufferspeicherfeld (BAA₁) 6 a, das als Inhaltsverzeichnis des Pufferspeichers (BS₁) 6 dient, auf assoziative Weise zur Ermittlung der Adresse des Eintrags im Pufferspeicher (BS₁) 6 wiedergewonnen. Dies geschieht unter Verwendung der in einem Speicheradreßregister 36 im Befehlsprozessor (IP₁) 2 gespeicherten Adresse.
Anders gesagt, wird unter Verwendung des Blockadressenteils und des Spaltenadressenteils der Speicheradresse als Wiedergewinnungsschlüssel assoziativ ermittelt, ob die betreffende Speicheradresse in dem Pufferadreßfeld (BAA₁) 6 a registriert ist oder nicht, d. h., ob eine Kopie eines Blocks des Hauptspeichers (MS) 15 im Pufferspeicher (BS₁) 6 gespeichert ist. Wenn diese Kopie gespeichert ist, besteht die Adresse des Eintrags des Pufferspeichers (BS₁) 6 aus einem durch einen Vergleicher 37 erzeugten Zeilenadreßteil und einem Zeilenadreßteil, den ein Adreßgenerator 38 erzeugt und einem Spaltenadreßteil der Speicheradresse im Speicheradressenregister 36, woraufhin ein im Datenregister 137 gespeichertes Datum in dem durch die Eintragsadresse angegebenen Eintrag gespeichert wird, während ein Fortschreibeauftrag und zu speichernde Daten dem Hauptspeicher (MS) 15 durch die Systemsteuerung (SC) 13 zum Fortschreiben der Daten im Hauptspeicher (MS) 1 zugesendet werden. Andererseits werden ungeachtet dessen, ob die Kopie im Pufferspeicher (BS₁) 6 steht, zu speichernde Daten dem MS 15 über die Systemsteuerung (SC) 13 zugesendet, wodurch der Inhalt des Blocks des MS 15 mit einer Kopie des fortgeschriebenen Inhalts des Speicherblocks, der im Pufferspeicher (BS₁) 6 steht, fortgeschrieben wird. In Fig. 4 sind mit 35 ein Speicherdatenregister, mit 22 bis 25 jeweils Vergleicherschaltungen und mit 26 bis 29 jeweils ODER-Schaltungen bezeichnet. Außerdem bezeichnet in Fig. 5 Ziffer 43 ein Adressenregister, 7 a ein Pufferadressenfeld und 7 den Pufferspeicher (BS₂) 7.
Bei der oben beschriebenen Prozedur arbeitet die Systemsteuerung (SC) 13 in der nachstehenden Weise. Die Systemsteuerung (SC) 13 enthält Adressenfelder (FAA₀, FAA₁, FAA₂ und FAA₃) 18, 19, 20 und 21, die vollständige Kopien der Pufferadreßfelder BAA₀, BAA₁, BAA₂ und BAA₃ in den einzelnen Befehlsprozessoren IP₀, IP₁, IP₂ und IP₃ sind. Bei Initiierung der Speicheroperation werden die Adreßfelder (FAA₀ bis FAA₃) 18 bis 21 assoziativ mittels der in dem Speicheradreßregister 34 gespeicherten Adresse in derselben Weise, wie die Pufferadreßfelder BAAs im Befehlsprozessor wiedergewonnen. Wenn ein anderer Befehlsprozessor gefunden wird, der eine Kopie des gerade fortgeschriebenen Speicherblocks oder Speicherbereichs hat, wird ein Vernichtungssignal dem anderen Befehlsprozessor (IP) zum Ungültigmachen des betreffenden Eintrags des Pufferspeichers dieses Befehlsprozessors zugesendet.
In den Fig. 4 und 5 ist gezeigt, daß eine Kopie des vom Befehlsprozessor (IP₁) fortzuschreibenden Speicherblocks in den Pufferspeicher (BS₂) 7 des Befehlsprozessors (IP₂) 3 gespeichert wird, der zusammen mit dem Befehlsprozessor (IP₁) 2 die Mehr-Prozessormaschine I bildet. Auf diese Weise gibt das Ausgangssignal der ODER-Schaltung 28, die die Ausgänge der Vergleicherschaltung 24 logisch oderiert, wenn sich als Ergebnis der assoziativen Wiedergewinnung der Adreßfelder FAA₀ bis FAA₃ in der Systemsteuerung (SC) 13 ergeben hat, daß das Pufferadreßfeld (BAA₂) den fortzuschreibenden Datenblock hat, logisch "1" an. Das Ausgangssignal der ODER-Schaltung 28 wird der Registriertabelle 14 eingegeben. Wenn die Systemsteuerung (SC) 13 die Registriertabelle 14 prüft und erfaßt, daß der Wert am Schnittpunkt der Speicheranforderung 40 vom Befehlsprozessor (IP₁) 2 (entsprechend der Spaltennummer IP₁) mit dem Ausgangssignal der ODER-Schaltung 28 (entsprechend der Zeilennummer IP₂) "1" ist, wird das Vernichtungssignal zum Befehlsprozessor (IP₂) 3 aktiviert. In diesem Zusammenhang muß hervorgehoben werden, daß der Ausgang der ODER-Schaltung 27 ebenfalls eine logische "1" annimmt, wenn die Adreßfelder FAA₀ bis FAA₃ assoziativ in der Systemsteuerung 13 wiedergewonnen werden. Jedoch ist der logische Wert am Schnittpunkt der Speicheranforderung vom Befehlsprozessor (IP₁) 2 mit dem Ausgangssignal der ODER-Schaltung 28 in der Registriertabelle 14 "0". Dementsprechend wird das Vernichtungssignal unterdrückt und nicht zum Befehlsprozessor IP₁ gesendet.
Gleichzeitig wird die BAA-Eintragsadresse 40 des Befehlsprozessors (IP₂) 3 ermittelt. Fig. 5 zeigt, daß das Vernichtungssignal zum Befehlsprozessor (IP₂) 3 über eine Leitung 32 mit der BAA-Eintragsadresse 44 dem Befehlsprozessor IP₂ durch die Adreßregister 43 zum Setzen eines Ungültigkeitsbits (I) für den Eintrag in dem Pufferadreßfeld (BAA₂) 7 a zugesendet wird, woraufhin die Vernichtung des betreffenden Eintrags des Pufferspeichers (BS) 7 beendet ist.
In der obigen Beschreibung des dargestellten Ausführungsbeispiels ist angenommen, daß die Registriertabelle 14 in der Systemsteuerung (SC) 13 enthalten ist. Jedoch soll deutlich gesagt werden, daß auch eine Anordnung verwendet werden kann, bei der die Registriertabelle 14 auf die Befehlsprozessoren (IP s) aufgeteilt ist oder bei der Teile der in der Systemsteuerung (SC) 13 enthaltenen Registriertabelle 14 den Befehlsprozessoren jeweils mitgeteilt werden.
Die vorstehende Beschreibung macht deutlich, daß ein virtuelles Maschinensystem, welches eine Mehr-Prozessormaschine enthält, die für eine hohe Befehlsverarbeitungsleistung erforderlich ist und bei der die Funktionen der virtuellen Maschinen durch Hardware implementiert sind, erfindungsgemäß der durch die Operation der virtuellen Mehr-Prozessormaschine beeinflußte Bereich auf ein notwendiges minimales Maß beschränkbar ist, wodurch die Effizienz des gesamten Informationsverarbeitungssystems wirkungsvoll gesteigert wird.

Claims (4)

1. Virtuelles Maschinensystem,
gekennzeichnet durch mehrere reale Befehlsprozessoren (1, 2, 3, 4), die mehreren virtuellen Maschinen (0, I, II) zugeteilt sind;
einen Hauptspeicher (15), der in mehrere Speicherbereiche (MS₀, MS₁, MS₂) eingeteilt ist, die jeweils den virtuellen Maschinen (0, I, II) zugeordnet sind;
eine Registriertabelle (14), in der Korrespondenzbeziehungen zwischen den einzelnen virtuellen Maschinen (0, I, II) und den diesen jeweils zugeordneten realen Befehlsprozessoren (1, 2, 3, 4) aufgezeichnet sind;
und eine Steuereinrichtung (13), die auf die Ausführung eines vorbestimmten Befehls durch einen gegebenen (2) Befehlsprozessor anspricht, um andere reale Befehlsprozessoren, die ebenfalls dieser virtuellen Maschine, zu der dieser zuerst genannte gegebene Befehlsprozessor (2) gehört, zugeordnet sind, durch Bezug auf die Registriertabelle (14) zu erfassen und um ein Ungültigkeitssignal ausschließlich an diese anderen realen Befehlsprozessoren (3) zu senden.
2. Virtuelles Maschinensystem nach Anspruch 1, dadurch gekennzeichnet, daß der vorgegebene Befehl ein Befehl zum Fortschreiben des Inhalts des Hauptspeichers (15) ist, wobei das Ungültigkeitssignal ein Signal ist, das einen diesen Inhalt betreffenden Eintrag eines Pufferspeichers (7) des anderen realen Befehlsprozessors (3) vernichtet.
3. Virtuelles Maschinensystem nach Anspruch 1, dadurch gekennzeichnet, daß der vorgegebene Befehl ein Befehl zum Vernichten eines relevanten Eintrags eines Adreßumsetzpuffers (11) des zur Ausführung dieses Befehls zugeordneten realen Befehlsprozessors (3) ist und das Ungültigkeitssignal dem anderen dieser virtuellen Maschine ebenfalls zugehörigen realen Befehlsprozessor (2) zugesendet wird, um einen relevanten Eintrag im dort vorhandenen Adreßumsetzpuffer (10) zu vernichten.
4. Virtuelles Maschinensystem nach Anspruch 2, dadurch gekennzeichnet, daß die Steuereinrichtung (13), die die Registriertabelle (14) enthält, weiterhin aufweist:
Adressierfelder (FAA₀-FAA₃), die vollständige Kopien von Pufferadressierfeldern (BAA₀-BAA₃) der realen Befehlsprozessoren (1-4) sind;
ein Adreßregister (34) zum Speichern einer Hauptspeicheradresse eines von dem genannten Befehlsprozessor ausgeführten Befehls;
Einrichtungen (22-25; 26-29) zum Wiedergewinnen der Adressierfelder (FAA₀-FAA₃) auf der Basis des Inhalts des Adreßregisters (34), um dadurch den Befehlsprozessor (3) zu erfassen, der dem Adressierfeld entspricht, das dieselbe Adresse wie die im Adreßregister gespeicherte enthält; und
Einrichtungen (13, 14), die prüfen, ob der erfaßte Befehlsprozessor zur selben virtuellen Maschine gehört, zu der der zur Ausführung des Speicherbefehls zugeordnete Befehlsprozessor gehört, um nur dann das Ungültigkeitssignal dem erfaßten Befehlsprozessor zuzusenden, wenn dieser zur selben virtuellen Maschine gehört.
DE3932675A 1988-09-30 1989-09-29 Virtuelles maschinensystem Granted DE3932675A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63247089A JPH0293952A (ja) 1988-09-30 1988-09-30 仮想計算機システム

Publications (2)

Publication Number Publication Date
DE3932675A1 true DE3932675A1 (de) 1990-04-05
DE3932675C2 DE3932675C2 (de) 1992-02-27

Family

ID=17158264

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3932675A Granted DE3932675A1 (de) 1988-09-30 1989-09-29 Virtuelles maschinensystem

Country Status (5)

Country Link
US (1) US5101346A (de)
JP (1) JPH0293952A (de)
KR (1) KR920004400B1 (de)
DE (1) DE3932675A1 (de)
GB (1) GB2224140B (de)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276815A (en) * 1988-10-24 1994-01-04 Fujitsu Limited Input and output processing system for a virtual computer
US5317705A (en) * 1990-10-24 1994-05-31 International Business Machines Corporation Apparatus and method for TLB purge reduction in a multi-level machine system
JPH0512126A (ja) * 1991-07-05 1993-01-22 Hitachi Ltd 仮想計算機のアドレス変換装置及びアドレス変換方法
JP2870254B2 (ja) * 1991-10-02 1999-03-17 日本電気株式会社 仮想計算機の入出力割り込み処理方式
JP3278457B2 (ja) * 1992-05-11 2002-04-30 株式会社東芝 プログラム実行制御装置及びプログラム実行制御方法
US6378062B1 (en) * 1994-01-04 2002-04-23 Intel Corporation Method and apparatus for performing a store operation
JPH08161185A (ja) * 1994-12-02 1996-06-21 Hitachi Ltd 仮想計算機システムのゲスト実行制御方式
US5640584A (en) * 1994-12-12 1997-06-17 Ncr Corporation Virtual processor method and apparatus for enhancing parallelism and availability in computer systems
US5765198A (en) * 1996-02-01 1998-06-09 Cray Research, Inc. Transparent relocation of real memory addresses in the main memory of a data processor
US6185611B1 (en) * 1998-03-20 2001-02-06 Sun Microsystem, Inc. Dynamic lookup service in a distributed system
US6466947B2 (en) * 1998-03-20 2002-10-15 Sun Microsystems, Inc. Apparatus and method for dynamically verifying information in a distributed system
US6421704B1 (en) * 1998-03-20 2002-07-16 Sun Microsystems, Inc. Method, apparatus, and product for leasing of group membership in a distributed system
US6938263B2 (en) 1996-04-23 2005-08-30 Sun Microsystems, Inc. System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space
US6138238A (en) 1997-12-11 2000-10-24 Sun Microsystems, Inc. Stack-based access control using code and executor identifiers
US6446070B1 (en) * 1998-02-26 2002-09-03 Sun Microsystems, Inc. Method and apparatus for dynamic distributed computing over a network
US6832223B1 (en) 1996-04-23 2004-12-14 Sun Microsystems, Inc. Method and system for facilitating access to a lookup service
US6393497B1 (en) * 1998-03-20 2002-05-21 Sun Microsystems, Inc. Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system
US6237009B1 (en) 1996-10-11 2001-05-22 Sun Microsystems, Inc. Lease renewal service
US5832529A (en) 1996-10-11 1998-11-03 Sun Microsystems, Inc. Methods, apparatus, and product for distributed garbage collection
US6957427B1 (en) 1997-10-15 2005-10-18 Sun Microsystems, Inc. Remote object activation in a distributed system
EP1057107A1 (de) * 1998-02-26 2000-12-06 Sun Microsystems, Inc. Dynamischer nachschlagedienst in einem verteilten system
EP1057272A2 (de) 1998-02-26 2000-12-06 Sun Microsystems, Inc. Verfahren und vorrichtung zur dynamischen nachprüfung von informationen in einem verteilten system
US20020046228A1 (en) * 1998-03-20 2002-04-18 Sun Microsystems, Inc. Method and system for facilitating access to a lookup service
US6901518B1 (en) 1999-04-08 2005-05-31 Sun Microsystems, Inc. Method and system for establishing trust in downloaded proxy code
US8020176B2 (en) 2000-04-06 2011-09-13 Infineon Technologies Ag Virtual machine interface for hardware reconfigurable and software programmable processors
US7703107B2 (en) * 2000-04-06 2010-04-20 Infineon Technologies Ag Virtual machine interface for hardware reconfigurable and software programmable processors
US7577834B1 (en) 2000-05-09 2009-08-18 Sun Microsystems, Inc. Message authentication using message gates in a distributed computing environment
US6957237B1 (en) 2000-06-02 2005-10-18 Sun Microsystems, Inc. Database store for a virtual heap
EP1211598A1 (de) * 2000-11-29 2002-06-05 Texas Instruments Incorporated Datenverarbeitungsvorrichtung, System und Verfahren
US7296275B2 (en) * 2001-01-04 2007-11-13 Sun Microsystems, Inc. Method and system for passing objects in a distributed system using serialization contexts
GB2376097B (en) * 2001-05-31 2005-04-06 Advanced Risc Mach Ltd Configuration control within data processing systems
US8249885B2 (en) * 2001-08-08 2012-08-21 Gary Charles Berkowitz Knowledge-based e-catalog procurement system and method
US20030051029A1 (en) * 2001-09-07 2003-03-13 Reedy Dennis G. Dynamic provisioning of sevice components in a distributed system
US7660887B2 (en) 2001-09-07 2010-02-09 Sun Microsystems, Inc. Systems and methods for providing dynamic quality of service for a distributed system
US7756969B1 (en) 2001-09-07 2010-07-13 Oracle America, Inc. Dynamic provisioning of identification services in a distributed system
US7774191B2 (en) * 2003-04-09 2010-08-10 Gary Charles Berkowitz Virtual supercomputer
US7222203B2 (en) * 2003-12-08 2007-05-22 Intel Corporation Interrupt redirection for virtual partitioning
US20050132362A1 (en) * 2003-12-10 2005-06-16 Knauerhase Robert C. Virtual machine management using activity information
US7792874B1 (en) 2004-01-30 2010-09-07 Oracle America, Inc. Dynamic provisioning for filtering and consolidating events
JP4233492B2 (ja) * 2004-06-02 2009-03-04 富士通マイクロエレクトロニクス株式会社 アドレス変換装置
US7814496B2 (en) * 2005-08-19 2010-10-12 Intel Corporation Method and system for replicating schedules with regard to a host controller for virtualization
US7765363B2 (en) * 2007-07-26 2010-07-27 Hewlett-Packard Development Company, L.P. Mask usable for snoop requests
US8255508B2 (en) 2010-03-24 2012-08-28 International Business Machines Corporation Administration of virtual machine affinity in a data center
US9367362B2 (en) 2010-04-01 2016-06-14 International Business Machines Corporation Administration of virtual machine affinity in a cloud computing environment
US9952860B2 (en) 2013-03-13 2018-04-24 Veriscape, Inc. Dynamic memory management for a virtual supercomputer
US9672159B2 (en) * 2015-07-02 2017-06-06 Arm Limited Translation buffer unit management

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0145960A2 (de) * 1983-12-14 1985-06-26 International Business Machines Corporation System zur selektiven Invalidationssteuerung von virtuellen Prozessoren

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51115737A (en) * 1975-03-24 1976-10-12 Hitachi Ltd Adress conversion versus control system
FR2431732A1 (fr) * 1978-07-19 1980-02-15 Materiel Telephonique Dispositif de conversion d'adresse virtuelle en adresse reelle
JPS55112651A (en) * 1979-02-21 1980-08-30 Fujitsu Ltd Virtual computer system
JPS6057438A (ja) * 1983-09-08 1985-04-03 Hitachi Ltd 仮想計算機システム制御装置
US4764864A (en) * 1985-04-04 1988-08-16 Nec Corporation Circuit arrangement capable of improving overhead of a control program on interrupting into a virtual machine
US4787026A (en) * 1986-01-17 1988-11-22 International Business Machines Corporation Method to manage coprocessor in a virtual memory virtual machine data processing system
JPS62184544A (ja) * 1986-02-10 1987-08-12 Nec Corp 仮想計算機システム
JPH0658650B2 (ja) * 1986-03-14 1994-08-03 株式会社日立製作所 仮想計算機システム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0145960A2 (de) * 1983-12-14 1985-06-26 International Business Machines Corporation System zur selektiven Invalidationssteuerung von virtuellen Prozessoren

Also Published As

Publication number Publication date
US5101346A (en) 1992-03-31
JPH0293952A (ja) 1990-04-04
GB2224140A (en) 1990-04-25
GB2224140B (en) 1993-01-20
DE3932675C2 (de) 1992-02-27
KR920004400B1 (ko) 1992-06-04
GB8921984D0 (en) 1989-11-15
KR900005299A (ko) 1990-04-13

Similar Documents

Publication Publication Date Title
DE3932675C2 (de)
DE3011552C2 (de)
DE3151745C2 (de)
DE3805107C2 (de)
DE2235841C2 (de) Datenverarbeitungsanlage mit Speichersteuerung für mindestens einen Prozessor und diesen zugeordneten Pufferspeichern
DE2807476C2 (de) Speichereinrichtung mit mehreren virtuellen Adreßräumen
DE2302074A1 (de) Speicherschutzanordnung in einem multiprozessorsystem
DE60003273T2 (de) Verfahren und Vorrichtung zur Erzeugung einer Eingabeadresse
DE3618163C2 (de) Speichermanagementanordnung für ein Mikroprozessorsystem
DE69635865T2 (de) Adressentransformation in einem cluster-computersystem
EP0600112A1 (de) Datenverarbeitungsanlage mit virtueller Speicheradressierung und schlüsselgesteuertem Speicherzugriff
DE2231146B2 (de) Datenverarbeitungsanlage mit virtueller Adressierung
DE3502147C2 (de)
DE10002120A1 (de) Logikstruktur eines Adressumsetzpuffers
DE3825028A1 (de) Verfahren und vorrichtung zur ungueltigkeitsoperation bei adressumsetzpuffern in computersystemen
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
DE3518818C2 (de)
DE3932695A1 (de) Datenverarbeitungssystem vom mehrfach virtuellen adressraum-typ
DE3919802A1 (de) Speicherbaustein mit vektorprozessoren und einem skalarprozessor
DE2710477A1 (de) Anordnung zur kohaerenten leitung des informationsaustauschs zwischen zwei aneinanderstossenden niveaus einer speicherhierarchie
EP0265636A1 (de) Multiprozessor mit mehreren mit Cache-Speichern ausgerüsteten Prozessoren und einem gemeinsamen Speicher
DE1774211C3 (de) Datenspeicheranordnung für ein Datenverarbeitungssystem
DE3025167C2 (de) Datenverarbeitungseinrichtung
CH495584A (de) Datenverarbeitungsanlage
DE3832758A1 (de) Computerisierte arbeitsstation

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee