DE3932675A1 - Virtuelles maschinensystem - Google Patents
Virtuelles maschinensystemInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/167—Interprocessor 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.
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.
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.
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)
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)
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)
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 | 株式会社日立製作所 | 仮想計算機システム |
-
1988
- 1988-09-30 JP JP63247089A patent/JPH0293952A/ja active Pending
-
1989
- 1989-09-27 US US07/413,068 patent/US5101346A/en not_active Expired - Fee Related
- 1989-09-27 KR KR1019890013884A patent/KR920004400B1/ko not_active IP Right Cessation
- 1989-09-29 DE DE3932675A patent/DE3932675A1/de active Granted
- 1989-09-29 GB GB8921984A patent/GB2224140B/en not_active Expired - Fee Related
Patent Citations (1)
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 |