DE2936932C2 - Kanaladressen-Steuervorrichtung in einer virtuellen Maschinenanordnung - Google Patents
Kanaladressen-Steuervorrichtung in einer virtuellen MaschinenanordnungInfo
- Publication number
- DE2936932C2 DE2936932C2 DE19792936932 DE2936932A DE2936932C2 DE 2936932 C2 DE2936932 C2 DE 2936932C2 DE 19792936932 DE19792936932 DE 19792936932 DE 2936932 A DE2936932 A DE 2936932A DE 2936932 C2 DE2936932 C2 DE 2936932C2
- Authority
- DE
- Germany
- Prior art keywords
- channel
- address
- register
- virtual machine
- area
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Description
Seit einigen Jahren ist ein Konzept einer »virtuellen Maschine« eingeführt, und verschiedene Versuche werden
unternommen, dieses in die Praxis umzusetzen. Das Konzept einer visuellen Maschine ist detailliert
z. B. in der Literaturstelle »IBM SYSTEM JOURNAL« 1972, Nr. 2 beschrieben. Die Wirkung der virtuellen
Maschine kann in den beiden folgenden Punkten zusammengefaßt werden.
1) Anwender, die ein Maschinensystem benutzen, können Bedingungen realisieren, als ob sie das
Maschinensystem mit nur einem einzigen Hardware-System belegen.
2) Es ist möglich, Maschinensysteme virtuell einzurichten, die einige Unterschiede in der Architektur
öler einen Unterschied in der Systemstruktur aufweisen.
Deshalb ist es möglich, Programme, die unter der Steuerung eines Betriebssystems (OS) laufen, simultan
ablaufen zu lassen und die Systemstruktur durch Benutzung eines virtuellen Maschinensystems flexibel zu
modifizieren. Auf diese Weise wird die Überwachung der Betriebsbedingungen des Systems möglich, und die
Anwender können die dazu vorgesehenen Testfunktionen wirkungsvoll nutzen.
Fig. 1 zeigt das Konzept eines allgemein verwendeten Maschinensystems und Fig. 2 das Konzept eines virtuellen
Maschinensystems.
In den Fig. 1 und 2 bedeutet ein reelles Maschinensystem
eine Hardware-Maschine. Das Betriebssystem (OS) überwacht jedes Programm, um die Maschinen-Betriebsmittel
(Zentraleinheit, Hauptspeicher, Kanal, Ein/Ausgabe-Steuereinheit, Ein/Ausgabe-Einrichtung
und Systemkonsole usw.) gemeinsam zu nutzen, da solche Programme unter der Steuerung des genannten
Betriebssystems ablaufen. Zusätzlich ist eine konzeptbedingte Schnittstelle, als Hardware-Schnittstelle bezeichnet,
zwischen dem Betriebssystem und der reellen Maschine eingefügt. Zwischen Anwenderprogrammen
und Betriebssystem ist die Anwenderprogramm/OS-Schnittstelle eingefügt. Im Falle eines virtuellen
Maschinensystems überwacht ein als virtueller Maschinen-Monitor (VMM) bezeichnetes Programm eine Vielzahl
von Betriebssystemen, so daß jedes Programm gemeinschaftlich die System-Betriebsmittel benutzen
kann. Der Teil, der durch die gestrichelte Linie in der Fig. 2 eingegrenzt wird, entspricht einem allgemein
existierenden Maschinensystem, als eine virtuelle Maschine (VM) bezeichnet, und eine Vielzahl von virtuellen
Maschinen kann unter der Steuerung des virtuellen Maschinensystems laufen.
Gegenwärtig wird häufig eine Mehrprogrammbetriebs-Technik für den effektiven Betrieb eines Maschinensystems
angewendet, und jedes Programm kann gemäß einer solchen Mehrprogrammbetriebs-Technik
die System-Betriebsmittel (Zentraleinheit, Hauptspeicher,
Kanal, Ein/Ausgabe-Steuereinheit, Ein/Ausgabe-Einrichtung und Systemkonsole usw.) gemeinschaftlich
nutzen.
Diese System-Betriebsmittel werden durch das Betriebssystem überwacht, und im allgemeinen kann ein
Zugriff auf diese System-Betriebsmittel nur mit einem als »priviligierter Befehl« bezeichneten Befehl, den nur
das Betriebssystem abgeben kann, durchgerührt werden.
Jedem Anwenderprogramm wird ein »nichtpriviligierter Modus« zugewiesen, und wenn ein Anwenderprogramm
den genannten »privilegierten Befehl« abgibt, wird eine Programm-Unterbrechnung, als »außergewöhnlicher
priviligierter Befehl« bezeichnet, erkannt.
Im Falle eines virtuellen Maschinensystems kann eine Vielzahl von existierenden Betriebssystemen
simultan ablaufen, und deshalb werden die Jystem-Betriebsmittel,
die im aligemeinen durch das Betriebssystem überwacht werden, im Ergebnis durch das als
virtueller Maschinen-Monitor (VMM) bezeichnete Programm überwacht. Die Programme von jedem Anwender,
eingeschlossen das benutzte Betriebssystem, bekommen den »nichtpriviligierten Modus« zugewiesen,
und nur der virtuelle Maschinen-Monitor arbeitet im »priviligierten Modus«. Wenn im Ergebnis ein von
jedem Anwender benutztes Betriebssystem versucht, den »priviligierten Befehl« zu benutzen, wird eine Programm-Unterbrechnung
erkannt, die Ausführungssteuerung wird an den virtuellen Maschinen-Monitor
übergeben, und der virtuelle Maschinen-Monitor simuliert auf diese Weise diesen »priviligierten Befehl«.
Im Falle eines virtuellen Maschinensystems, wie oben erklärt, laufen verschiedene Betriebssysteme
simultan, und deshalb ist es von der Leistung her gesehen wünschenswert, die Existenz eines Hauptspeicherraumes
der reellen Maschine von mindestens (gewöhnlicher Raum) x (Anzahl der Betriebssysteme) zuzulassen.
Gegenwärtig wird infolge des Kostenproblems des <to
Hauptspeichers ein virtuelles Speichersystem verwendet.
In diesem Fall wird der Hauptspeicher, wie unten erklärt wird, durch den virtuellen Maschinensystem-Monitor
überwacht. Deshalb kann die Rolle des virtuellen Maschinen-Monitors wie folgt beschrieben werden.
(1) Effektives Kontrollieren jedes Anwender-Programmes
(einschließlich des Betriebssystems), um die System-Betriebsmittel gemeinsam leistungsfähig
zu nutzen.
(2) Simulieren des »priviligierten Befehls«, der von jedem Betriebssystem abgegeben wird.
(3) Empfangen aller Befehle (einschließlich ier I/O-L'nterbrechung,
der externen Unterbrechnung und der Unterbrechung bezogen auf den virtueiien
Speicher), Durchführen der Bearbeitung gemäß den Unterbrechungsursachen und, falls notwendig,
Melden des Unterbrechnungsvorganges an jedes Betriebssystem.
Das Überwachen des Hauptspeichers in einem virtueüen
Maschinensystem wird wie unten erläutert durchgeführt.
Fig. 3 zeigt das Konzept des Adressen-Raumes in einem virtuellen Maschinensystem. Fig. 4 zeigt ein
Ausrührungsbeispiel eines solchen Adressen-Raumes. In diesem Beisniel verwenden die Betriebssysteme, die
unter der Steuerung des virtuellen Maschinensystems ablaufen, ein virtuelles Speichersystem. In Fig. 3 sind
virtuelle und reelle Adresse Adressen in einem virtuellen Speicher, der durch das Betriebssystem überwacht
wird, und eine dynamische Adressen-Übersetzung (DAT) wird realisiert unter der Benutzung einer Adressen-Übersetzungs-Tabelle,
die durch das Betriebssystem überwacht wird. In einem existierenden Maschinensystem
(kein virtuelles Maschinensystem)entspricht diese reelle Adresse der Hauptspeicheradresse, aber in
einem virtuellen Maschinensystem, da dort eine Vielzahl von Betriebssystemen simultan existiert, geht der
Raum des aktuell angepaßten Hauptspeichers einer Gastmaschine aus. Aus diesem Grund wird die reelle
Adresse, die durch das Betriebssystem überwacht wird, als logische Adresse in der Gastmaschine aufgefaßt, und
der Hauptspeicher-Raum der Gastmaschine wird durch den virtuellen Maschinensystem-Monitor überwacht.
Dieses wird doppeltes Seitenwechsel verfahren genannt. Dieses doppelte Seitenwechselverfahren wird in der
Ausführung eine beachtliche Organisation erfordern. Daher wird ein Beispiel vorgeschlagen, wo eine Hochgeschwindigkeitsoperation
durch Bereitstellung einer Tabelle (Schattentabelle genannt) realisiert wird, die
durch Kombination zweier DAT-Tabellen für den virtuellen
Maschinensystem-Monitor erhalten wird. Der virtuelle Maschinensystem-Monitor überwacht nämlich
eine entsprechende Tabelle zwischen der logischen Adresse, die durch das Betriebssystem überwacht wird,
und einer Hauptspeicher-Adresse der Gastmaschine.
Wenn eine beliebige der vorher genannten DAT-Tabellen verändert wird, ist dies in die Schattentabelle
zu übertragen, und solch eine Bearbeitung wird durch den virtuellen Maschinensystem-Monitor durchgeführt.
Ein Ausführungsbeispiel wird in Fig. 4 erläutert. Fig. 4 zeigt ein Beispiel, wo die logische Seitenadresse
16, überwacht durch das Betriebssystem, der reellen Seitenadresse 100 der Gastmaschine, überwacht durch
den virtuellen Maschinensystem-Monitor, entspricht. In Fig. 4 stellt A die durch das Betriebssystem generierte
DAT-Tabelle dar, und eine logische Seitenadresse 16 wird in eine reelle Seitenadresse 6 kopiert. C ist die
durch den virtueiien Maschinensystem-Monitor generierte DAT-Tabelle, und die reelic Seitenadresse 6 des
Betriebssystems wird in die reelle Seitenadresse 100 der Gastmaschine kopien. B ist die Schattentabelle, und
die logische Seitenadresse 16 wird damit in entsprechender Weise in die reelle Seitenadresse 100 der Gastmaschine
kopiert.
Wie oben erklärt, befindet sich der Monitor des Hauptspeichers in der Zentraleinheit (CPU), aber die
folgende Bearbeitung für Kanäle wird durch den virtuellen Maschinensystem-Monitor ausgeführt. Wenn ein
Betriebssystem eines virtuellen Maschinensystems einen Ein/Ausgabe-Einrichtungs-Startbefehl abgibt, ist
dieser Befehl ein priviligierter Befehl, und er wird an den virtuellen Maschinensystem-Monitor ausgegeben.
Ein Kanal-Programm, das für das Betriebssystem auf der virtuellen Maschinensystemseite zum Start der Ein/
Ausgabe-Einrichtungen erforderlich ist, wird durch die von dem Betriebssystem überwachte reelle Adresse beschrieben.
Deshalb generiert der virtuelle Maschinensystem-Monitor dieses Kanal-Programm im Hauptspeicher,
das durch den virtuellen Maschinensystem-Monitor überwacht wird, zur Umwandlung von Datenadressen,
Biefehlsteuerwort-Adresse (CCW) usw. nochmals in den reellen Adressen der Gastmaschine. Auf diese
Weise wird eine CCW-Änderung durch ein Anwender-
Programm nicht unterstützt.
Wie zu Beginn dieser Beschreibung erläutert wurde, besitzt ein virtuelles Maschinensystem verschiedene
Vorzüge, aber wenn ein bestimmtes Programm unter der Steuerung eines virtuellen Maschinensystems ab- s
läuft, wird die Leistungsfähigkeit infolge der Organisation, die ein eigenes Phänomen in einem virtuellen Maschinensystem
ist, auf eine bestimmte Stufe herabgesetzt im Vergleich zu dem Fall, wc das gleiche Programm
unter der Steuerung eines existierenden, gewöhnlichen Maschinensystems abläuft. Solch eine
Organisation kann unterteilt werden in eine direkte und in eine indirekte Organisation, die in entsprechender
Weise unten beschrieben werden.
15
(1) Direkte Organisation:
Eine Organisation, die hauptsächlich während der Bearbeitung gemäß der Software des virtuellen
Maschinensystem-Monitors vorkommt und folgendermaßen eingeteilt werden kann.
(a) Organisation infolge der Simulation des priviligierten Befehls.
Da jedem Anwender-Programm einschließlich dem benutzten Betriebssystem, wie oben
erklärt, der »nichtpriviligierte Modus« zugewiesen wird, wird der priviligierte Befehl, der
durch das Betriebssystem abgegeben wird, durch den virtuellen Maschinensystem-Monitor
simuliert.
(b) Organisation zur Änderung jedes Anwenderprogrammes.
(c) Organisation zur Unterstützung der virtuellen Speicherfunktion des Betriebssystems.
Dies ist eine Organisation zur Überwachung der oben erwähnten Schattentabelle.
(d) Organisation zur Umwandlung des Kanal-Programms. Da das Kanal-Programm, das von
dem Betriebssystem zum Starten der Ein/ Ausgabe-Einrichtung verwendet wird, eine
logische Adresse für das Gastmaschinensystem darstellt, wird es durch den virtuellen
Maschinensystem-Monitor in eine reelle Adresse des Gastmaschinensysiems übertragen.
(e) Organisation zur Unterstützung von Unterbrechungen.
Da alle Unterbrechungen durch den virtuellen Maschinensystem-Monitor erkannt werden,
falls solch eine Unterbrechung notwendig ist, müssen sie dem Betriebssystem übergeben
werden, und solch eine Bearbeitung wird durch den virtuellen Maschinensystem-Monitor
ausgeführt.
(0 Unterstützung der Konsole-Funktion.
Der virtuelle Maschinensystem-Monitor unterstützt die Konsole-Funktionen einschließlich
der Testfunktion.
(2) Indirekte Organisation Ein gegenwärtig benutztes Betriebssystem enthält
verschiedene Algorithmen für die Zuweisung und Überwachung der Betriebsmittel im Hinblick auf
den Erhalt einer hochleistungsfähigen Anwendung der System-Betriebsmittel, aber wenn diese unter es
der Steuerung eines virtuellen Maschinensystems ablaufen, tritt eine entgegengesetzte Wirkung auf.
Wie schon erklärt, besitzt ein virtuelles Maschinensystem verschiedene Vorzüge und gleichzeitig
verursacht es eine Verringerung der Leistungsfähigkeit.
Bekannt ist auch ein Datenverarbeitungssystem mit dynamischer Adreßübersetzung für Kanalprogramme,
das Einrichtungen zum Aussenden und Speichern von Adreßumsetzparametern für die Kanäle aufweist (DE-OS
23 60 303). Die bekannte Einrichtung ist ein auf eine zentrale Verarbeitungseinheit und auf die Kanäle angepaßter
Speicher.
Des weiteren ist eine Datenverarbeitungsanordnung mit Zugriff mehrerer Verarbeitungseinheiten auf einen
gemeinsamen Speicher zum Zwecke der Adreßumsetzung und des damit verbundenen Datenschutzes
bekannt, wobei mehrere jeder der Verarbeitungseinheiten zugeordnete Register vorgesehen sind (GB-PS
12 00 564). Diese bekannte Anordnung ist ein gemeinsames Belegungssystem eines Speichers bei der Mehrlachverarbeitung
mit mehreren Prozessoren.
Die Aufgabe der Erfindung besteht darin, eine Kanaladressen-Steuervorrichtung
in einer virtuellen Maschinenanordnung nach dem Oberbegriff des Anspruchs 1 zu schaffen, die einen Datenschutz zwischen
mehreren virtuellen Maschinen einfach sicherstellt. Gelöst wird diese Aufgabe durch die Merkmale des Anspruchs
1. Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
Bei der erfindungsgemäßen Vorrichtung wird für jeden Anwender ein kontinuierlicher reeller Raum des
Hauptspeichers der Gastmaschine zugewiesen (dieser Raum wird ein Bereich genannt), um auf diese Weise
eine Organisation bezüglich des doppelten Seitenwechselverfahrens völlig auszuschließen. Die Erfindung
kann auch auf einen Pufferspeicher des Hauptspeichers angewendet werden.
Die Erfindung wird anhand der Zeichnung erläutert.
Fig. 1 zeigt das Konzept einer allgemeinen Maschinenanordnung.
Fig. 2 zeigt das Konzept einer virtuellen Maschinenanordnung.
Fig. 3 zeigt das Konzept des Adressenraumes der virtuellen Maschinenanordnung.
Fig. 4 zeigt ein Ausführungsbeispiel des Adressenraumes in der virtuellen Maschinenanordnung.
Fig. 5 zeigt das Konzept der Erfindung.
Fig. 6 zeigt ein Verfahren der Adressenübersetzung.
Fig. 7 zeigt das Konzept der Adressenverschiebung.
Fig. 8 zeigt die Struktur des AMR-Registers.
Fig. 9 zeigt das Format des TVM-Befehls.
Fig. iö zeigt das Koiizcpiuei Kaiialprograrürnausfuhrung.
Fig. 11 zeigt das Blockdiagramm eines Ausführungsbeispiels der Hardware der reellen Maschinenanordnung.
F i g. 12 zeigt die Blockstruktur der Speichersteuereinheit
(SCU).
Fig. 13 zeigt die Blockstruktur eines Ausführungsbeispiels
der Kanalsteuereinheit und eines Kanals.
Fig. 14 zeigi die Biocksiruklur eines anderen Ausführungsbeispiels
der Kanalsteuereinheit und eines Kanals.
In Fig. 5 sind das BASE- und LIMIT-Register Register
zur Speicherung der Kopf- und Schlußadresse des Bereichs mit der absoluten Adresse und werden
benutzt, wenn ein Zugriff auf den Hauptspeicher durch die Zentraleinheit ausgeführt wird. Außerdem wird das
MPREX-Register zur Anzeige des Präfix-Bereiches des
virtuellen Maschinensystem-Monitors verwendet. Das AMR-Register speichert die Start- und Endadresse des
Bereiches, der mit der absoluten Adresse in einem Kanal vorbereitet wird, und wird benutzt, wenn von
einem Kanal ein Zugriff auf den Hauptspeicher ausgeführt wird.
Die Verarbeitung der Adressen-Änderung verläuft in der CPU folgendermaßen. Ein Zugriff auf den Hauptspeicher
wird mit einer Adresse durchgeführt, zu der der Wert des BASE-Registers für die absolute Adresse
addiert wird, die generiert wird, wenn ein Zugriff auf den Hauptspeicher von der CPU durchgeführt wird.
Dies wird »Adressen-Verschiebung« genannt. Diese addierte Adresse wird mit dem Wert des LIMIT-Registers
verglichen, und wenn die erstgenannte größer ist, tritt eine Programm-Unterbrechnung wegen einer
Adressen-Ausnahme ein.
F i g. 6 zeigt die Verarbeitung einer Adressen-Übersetzung und Fig. 7 ein Konzept der Adressen-Verschiebung.
In Fig. 6 wird eine logische Adresse durch die DAT-Übersetzung in eine reelle Adresse, durch Verwendung
eines Präfix in eine absolute Adresse und dann durch Adressen-Verschiebung in eine absolute
Systemadresse übersetzt.
In Fig. 7 wird ein Wert des BASE-Registers zu den oberen Bits einer absoluten Adresse addiert und in eine
absolute Systemadresse umgewandelt. Dann wird eine obere Begrenzungsadresse von dem LIMIT-Register
generiert, und eine absolute Systemadresse wird mit der oberen Begrenzungsadresse verglichen. Der virtuelle
Maschinensystem-Monitor lädt die Kopfadresse des Bereiches, der einem virtuellen Maschinensystem bei
Abfertigung des genannten virtuellen Maschinensystems zugewiesen wird, in das B ASE-Register und die
Schlußadresse in das LIMIT-Register. Auf diese Weise wird während des Betriebes eines solchen virtuellen
Maschinensystems ein Zugriff auf einen anderen als den dem genannten virtuellen Maschinensystem zugewiesenen
Bereich durch die Hardware verhindert.
Dann wird eine Adressen-Änderung in einem Kanal, wie unten erklärt, ausgeführt. Falls durch einen Kanal
ein Zugriff auf den Hauptspeicherausgeführt wird, wird eine Adressen-Verschiebung ebenfalls, wie im Falle
eines Zugriffs durch die CPU, durchgerührt. Die Verwendung einer solchen »Adressen-Verschiebung«
macht eine Unterstützung einer »CCW-Änderung durch Anwender-Programme«, die nicht durch das existierende
virtuelle Maschinensystem unterstützt worden ist, möglich.
Für eine Kanaladressen-Änderung werden verschiedene.
Register AMR genannt, vorgesehen, und der Registertyp entspricht dem BASE-und LIMIT-Register
in der CPU. Außerdem wird die Adressenberechnung der »Adressen-Verschiebung« auch in der gleichen
Weise wie bei der CPU ausgeführt. Für verschiedene AMR-Register wird eine als Bereichs-Kennzeichnung
bezeichnete Zahl festgelegt, und der virtuelle Maschinensystem-Monitor richtet jeden Bereich und die
Wechselbeziehungen zwischen den Kopf- und Schlußadressen eines solchen Bereiches unter Benutzung
eines speziellen Befehls ein.
Mit einer unten erläuterten Methode wird eine Bereichs-Kennzeichnung über die CPU/Kanal-Steuereinrichtung
zu einem Kanal oder Unterkanal übertragen, und solch eine Bereichs-Kennzeichnung wird
durch den Kanal oder Unterkanal gespeichert. Außerdem unterliegt ein Speicherzugriff mit Hilfe eines
Kanals einer Adressen-Änderung durch »Adressen-Verschiebung« des AMR-Registers entsprechend der
Bereichszahl, die durch die Bereichs-Kennzeichniing angezeigt wird.
Fig. 8 zeigt die AMR-Register-Struktur.
Als Verfahren zur Übertragung einer Bereichskennzeichnung zu einem Kanal/Unterkanal werden die folgenden
beiden Methoden betrachtet.
Bei der ersten fvieihode wird eine Bereichskcnrizeichnung
unter Benutzung eines Kanal-Befehls übertragen. Für diesen Zweck wird ein TVM genannter Kanal-Befehl
vorgesehen, und dieser Befehl kennzeichnet eine Bereichskennzeichnung für diesen Kanal. Wenn
dieser Befehl durch den Kanal ausgeführt wird, wird ein nachfolgender Speicherzugriff durch die Kanäle einer
Adressen-Änderung infolge »Adressen-Verschiebung« des AMR-Registers entsprechend der Bereichszahl
unterworfen. Fig. 9 zeigt den Typ des TVM-Befehls. Ein Befehl für das Betriebssystem eines virtuellen Maschinensystems
zum Start von Ein-ZAusgabe-Einrichtungen wird vorliegenderweise, wie unten erklärt, durch
den virtuellen Maschinensystem-Monitor behandelt. Wenn das Betriebssystem eines virtuellen Maschinensystems
einen Befehl zum Starten von Ein-Ausgabe-Einrichtungen abgibt, wird dieser Befehl durch den virtuellen
Maschinensystem-Monitor erkannt, da er ein priviligierter Befehl ist. Der virtuelle Maschinensystem-Monitor
setzt den TVM-Befehl, der entsprechend der Bereichskennzeichnung gekennzeichnet ist, in den
Kopfteil des Kanalprogramms und gibt nochmals einen Befehl zum Starten von EinVAusgabe-Einrichtungen.
Fig. 10 zeigt das Konzept einer Kanal-Programm-Ausführung.
In Fig. 10 bedeutet ©ein durch das Betriebssystem des virtuellen Maschinensystems # 2 vorbereitetes
Kanal-Programm, @ein durch das Anwender-Programm vorbereitetes Kanal-Programm, <D ein für den
virtuellen Maschinensystem-Monitor zur Übertragung der Bereichskennzeichnung »2« zu dem Kanal vorbereiteter
TVM-Befehl. Die nächste CCW-Adresse kennzeichnet © mit der relativen Adresse in dem Bereich
# 2.
Fig. 13 zeigt die Kanal-Steuer-Einrichtung, die die in
Fig. 10 dargestellt Methode benutzt, und ein Kanal-Blockdiagramm. Die Wirkungsweise der Fig. 13 wird
später erklärt. Bei der zweiten Methode wird für die Übertragung der Bereichskennzeichnung zu einem
Kanal/Unterkanal ein Bereichskennzeichnungs-Speicherregister benutzt. Ein Register zur Speicherung
einer Bereichskennzeichnung des virtuellen Maschinensystems, das jetzt die Befehle ausführt, wird in
der CPU oder in der Kanal-Steuer-Einrichtung vorbereitet, und wenn die CPU einen Ein-/Ausgabe-Befehl
erkennt, überträgt die Kanal-Steuer-Einheit den Inhalt des genannten Registers zu einem Kanal/Unterkanal.
Der nachfolgende Hauptspeicherzugriff durch die Kanäle wird einer Adressenänderung durch »Adressen-Verschiebung«
des AMR-Registers entsprechend solch einer Bereichszahl unterworfen. F i g. 14 zeigt die Kanal-Steuer-Einheit
bei dieser Methode und ein Kanal-Blockdiagramm. Die Wirkungsweise der Fig. 14 wird
später erklärt.
Im folgenden werden unter Bezugnahme auf die Zeichnungen Ausfuhrungsbeispiele der vorliegenden
Erfindung erläutert.
Fig. 11 zeigt das Blockdiagramm eines Ausführungsbeispiels der Hardware eines reellen Maschinensystems,
das als virtuelles Maschinensystem arbeitet.
In dieser Figur ist 1 ein Hauptspeicher; 2 ist eine Speichersteuereinheit
(SCU); 3 ist eine Befehlseinheit (I),
J 4 ist eine Ablaufeinheit (E); 5 ist eine Konsole (Bedien-
Ii; platz); 6 ist eine Kanalsteuereinheit (CHC); 7 ist eine
|f Ein/Ausgabeeinheit (I/O). Die vorliegende Erfindung
,ί';ί bezieht sich hauptsächlich auf die Speichersleuerein-
ΐί| heit (SCU) und die Kanalsteuereiriheit (CHC) in
η Fig. 11.
r: Die Blockstruktur der Speichersteuereinheit (SCU)
A und ein Teil der Befehlseinheit (I) sind in Fig. 12 gezeigt.
InFig. 12ist3eineBefeh!seinheit;10isteinTBL-I/
Register; 11 ist ein CR 1-Register; 12 ist ein CHR-Regi-
I' ster; 13 ist ein RGN-ID-Register; 14 ist ein BASE-Regi-
K ster, LIMIT-Register; 15 ist ein AMR-Register; 16 ist ein
Auswahlgatter; 17 ist ein DAT-Addierer; 18 ist ein Präfix-Register;
19 ist ein TR-Register; 20 ist eine Verglei-ϊϊ
cherschaltung; 21 ist eine Präfix-Schaltung; 22 ist eine
ji Vergleicherschaltung; 23 ist ein STO-1D-Register; 24 ist
^! ein LAR-Register; 25 ist ein Auswahlgatter; 26 ist ein
|i TLB-Puffer; 27 und 28 sind Vergleicherschaltungen; 29
ψ ist ein TWR-Register; 30 ist ein Auswahlgatter; 31 ist ein
■:■■ DATA-Register; 32 ist ein Befehlszähler; 33 ist ein
\< Befehlspuffer; 34 ist ein Decoder; und 35 ist ein RGN-
f- ID-Register.
ρ Das TBL-Register 10 speichert Daten der aus dem
Il Hauptspeicher gelesenen Adressenüberselzungs-
K tabelle. Das CR 1-Register speichert die Segmentlänge
t% und die Kopfadresse der Segmenttabelle der Adressen-
J£ Übersetzungstabelle. Das CHR-Register 12 speichert
ΐ die Adresse und die Daten, wenn von den Kanälen eine
|| Speicherzugriffsanforderung ausgesendet wird. Das
H RGN-IN-Register 13 speichert die Bereichskennzeich-
■jfl nung, die von den Kanälen zusammen mit der Adresse
|| gesendet wird, wenn von den Kanälen eine Speicher-
f| Zugriffsanforderung ausgesendet wird. Das AMRl-
J? Register speiche« die Information, die die von den
|: Kanälen gesendete Adresse modifiziert. Das STO-ID-
p Register 23 speiche« die laufend wirksame STO-Num-
I mer unter den in der CPU vorbereiteten STO-Stapeln.
I Das STO-1D-Register 23 wird mit dem in dem TLB 26
ji gespeicherten ID verglichen und dann geprüft, ob der
% entsprechende TLB-Eintrag relevant ist oder nicht. Das k| LAR-Register 24 speichert die logischen Adressen, die
Ü gebraucht werden, um von der CPU einen Zugriff zu
II Operand und Befehl indem Hauptspeicher durchzufühp
ren. Dieses Register wird für den Vergleich mit dem I Inhalt des TLB und für den Zugriff zu der DAT-Tabelle
& gebraucht. Das TLB 26 ist ein Puffer für schnelle Adreß- || übersetzung ohne Indizierung der DAT-Tabelle in dem
j| Hauptspeicher.
1 Das TLB 26 wird durch Verwendung eines Teiles der
p Information der logischen Adresse indiziert, und die
£ Bits der logischen Seilenadresse, die nicht für die lndi-
|t zierung gebraucht werden, die der logischen Seitenil adresse entsprechende physikalische Seitenadresse und
& ein Wert des STO-ID, der wirksam war, als der TLB-Ein-
|f trag gespeichert wurde, werden in einem Eintrag des TLB
26 gespeichert. Gewöhnlich wird die logische Adresse in dem LAR-Register 24 durch Indizierung von TLB 26
in eine physikalische Adresse übersetzt. Das TWR-Register 29 wird zum Lesen und Schreiben von Daten
aus/in das TLB 26 benutzt. Die Arbeitsweise von Fig. 12 ist folgende:
Die reelle dynamische logische Adresse wird durch Hardware auf der Grundlage des BASE-Registers, des
in dem Programm bezeichneten Indexregisters und der Relativadresse auf der Seite erhalten und dann in das
LAR-Register 24 eingegeben. Diese logische Adresse kann individuell angesehen werden als zerfallend in
eine Segmentnummer, eine Seilennummer bzw. Relativadresse innerhalb der Seite. Ein Teil der Segmentnummer
und der Seitennummer werden über das Auswahlgatter 25 in das TLB 26 eingegeben, wodurch
ein entsprechender TLB-Eintrag ausgelesen wird.
Dadurch werden der aus dem TLB gelesene Teil der logischen Adresse und ein Teil der Segmentnummer in
dem LAR-Register, der nicht für die TLB-Indizierung gebraucht wird, durch die Vergleicherschaltung 27 verglichen.
Gleichzeitig werden der Inhalt des STO-ID-
lü Registers 23 und der ID-Teil zu dem TLB-Eintrag durch
die Vergleicherschaltung 28 verglichen. Wenn beide Vergleicher 27 und 28 koinzidente Augangssignale abgeben,
ist die Adreßübersetzung durch das TLB erfolgreich, der physikalische Adressenteil in dem TLB-Eintrag
und die Relativadresse innerhalb der Seite, in dem LAR-Register 24 werden in dem Auswahlgatter 30 kombiniert,
und die physikalische Adresse zum Zugreifen auf den Hauptspeicher wird gewonnen. Der Hauptspeicherzugriff
wird mit dieser erhaltenen physikalischen Adresse ausgeführt, und die Operation geht weiter.
Wenn andererseits mindestens einer der Vergleicher 27 und 28 das Koinzidenzausgangssignal nicht abgibt,
mißlingt die Adreßübersetzung durch das TLB. In diesem Zeitpunkt wird die in dem Hauptspeicher gespeicherte
Adreßübersetzungstabelle (Segmenttabelle, Seitentabelle) ausgelesen und die physikalische Adresse
erzeugt. Als erstes werden die in dem CR 1-Register gespeicherte Kopfadresse der Segmenttabelle und die in
dem LAR-Register 24 gespeicherte Segmentnummer in dem DAT-Addierei 17 addiert und das Ergebnis vorübergehend
in dem TR-Register 19 gespeichert. Dann wird für den Inhalt des TR-Registers 19 die bekannte
Präfixverarbeitung in Kombination mit dem Präfixregister 18, dem Vergleicher 20 und dem Präfixregister 21
durchgeführt. Danach werden der Inhalt des TR-Registers 19 und der Inhalt des BASE-Registers 14, die mit
einem Präfix versehen sind, in dem DAT-Addierer 17 addiert und dann das Ergebnis wieder in dem TR-Register
19 gespeichert. Der Inhalt dieses TR-Registers 19 und der Inhalt des LIMIT-Registers 14 werden in der
Vergleichsschaltung 22 verglichen. Wenn der Inhalt des TR-Registers 19 größer ist als der des LIMIT-Registers
14, tritt eine Adressenausnahme auf, und die Adreßübersetzung wird unterbrochen. Andererseits ist im
normalen Zustand der Inhalt des TR-Registers 19 klei-. ner als der des LIMIT-Registers 14, und die Verarbeitung
geht weiter. Im allgemeinen speichert das TR-Register 19 einen Wert, der durch Addieren der Kopfadresse
der Segmenttabelle in dem CR 1-Register U,
so der Segmentnummer in dem LAR-Register 24 und eines Wertes des BASE-Registers 14 gewonnen wird
und überträgt diesen Wert über das Auswahlgatter 30 in den Hauptspeicher und speichert ihn in dem TBL-Register
10 durch Lesen des Tabelleneintrags von der Segmenttabelle in dem Hauptspeicher. Weil ein Teil der
Bits in dem in das TBL-Register gelesenen Segmenttabelleneintrags die Kopfadresse der Seitentabelle ist,
wird er zu der Seitennummer in dem LAR-Register 24 addiert und dann das Ergebnis vorübergehend in dem
TR-Register 19 gespeichert. Hier wird, wie im obigen Fall, die Präfixverarbeitung für den Inhalt des TR-Registers
19 durchgeführt. Der der Präfixverarbeitung unterzogene Inhalt des TR-Registers und der Inhalt des
BASE-Registers 14 werden in dem DAT-Addierer 17 addiert, und das Ergebnis wird wieder in dem TR-Register
gespeichert. Der Inhalt dieses TR-Registers 19 und der Inhalt des LIMIT-Registers 14 werden in der Vergleicherschaltung
22 verglichen, und eine Adressenaus-
nähme wird wie im obigen Fall behandelt. Wenn keine Adressenausnahme auftritt, geht die Verarbeitung weiter.
Nun speichert das TR-Register 19 einen Wert, der gewonnen wurde durch Addition der Kopfadresse der
Seitentabelle in dem TBL-Register 10, der Seitennummer in dem LAR-Register 24 und eines Wertes des
BASE-Registers 14, überträgt diesen Wert über das Auswahlgatter 30 in den Hauptspeicher, liest den
Seitentabelleneintrag von der Seitentabelle des Hauptspeichers und speichert ihn in das TBL-Register 10 ein.
Weil ein Teil der Bits in dem in das TBL-Register ausgelesenen Seitentabelleneintrag den oberen Bits der
reellen Seitenadresse entspricht, werden die Präfixverarbeitung, das Addieren des Inhalts des BASE-Registers
14 und das Vergleichen mit dem LIMIT-Register so ausgeführt, wie oben für derartige Bits erläutert
wurde.
Wenn keine Adressenausnahme auftritt, speichert das TR-Register 19 einen Wert, der gewonnen wird durch
Addieren eines Teiles der Bits des Seitentabelleneintrags in dem TBL-Register und eines Wertes des BASE-Registers
14 und sendet diesen Wert zu dem Auswahlgatter 30. Dadurch kann die physikalische Adresse des
Hauptspeichers durch Koppeln des genannten Wertes mit der relativen Adresse innerhalb der Seite in dem
LAR 24 gewonnen werden. Diese Verbindung wird in dem TLB gespeichert. Dadurch wird die Adreßübersetzung
vervollständigt.
Im folgenden werden die Wirkungsweise der Kanalsteuereinheit und des Kanals gemäß einer ersten
Methode zum Übertragen der oben erwähnten Bereichskennzeichnung unter Bezugnahme auf Fig. 13
erläutert.
In Fig. 13 ist 40 eine Kanaisteuereinheit; 41 ist ein
Blockmultiplexkanal; 42 ist ein Bytemultiplexkanal; 50
ist ein Register zum Speichern der von/zu dem Hauptspeicher zu sendenden Daten; 51 ist ein Register zum
Speichern von Befehl und Adresse, die von der Befehlseinheit der CPU gesendet werden; 52 ist ein Decoder für
die Befehlsdecodierung; 53 ist ein Register zum Speiehern der Flag-Information, der Zählinformation und
der Bereichskennzeichnung, die von der Befehlseinheit gesendet werden; 54 ist das Register zum Speichern der
von den Kanälen gesendeten Bereichskennzeichnung; 55 ist ein Register zum Speichern der von den Kanälen
gesendeten Adressen; 56 ist ein Steuerteil zum Steuern der Kanalauswahl und der Anforderung an die Speichersteuereinheit
(SCU); 60 ist ein Register zum Speichern einer vcn der Kanalsteuereinheit gesendeten
Bereichskennzeichnung; 61 ist ein Register zum Speiehern der von der Kanalsteuereinheit gesendeten
Adressen und der zu übertragenden Zählbytes von dem Bytezähler; 62 ist ein Register zum Speichern mehrerer
Bytes von Eingabedaten, die von Ein/Ausgabeeinheiten gesendet werden; 63 ist ein Register zum Speichern
mehrerer Bytes von Ausgabedaten, die an Ein/ Ausgabeeinheiten zu senden sind; 64 ist ein Tag-Steuerteil
zum Steuern verschiedener Tag-Informationsleitungen zwischen dem Kanal und Ein/Ausgabeeinheiten;
70 ist ein Register zum Speichern der von der Kanal-Steuereinheit gesendeten Bereichskennzeichnung; 71
ist ein Register zum Speichern von Adressen, die von der Kanalsteuereinheit und dem die Übertragungsbytes
zählenden Bytezähler gesendet werden; 72 ist ein Register zum Speichern eines Bytes von Eingabedaten, die
von Ein/Ausgabeeinheiten gesendet werden; 73 ist ein Register zum Speichern eines Bytes von Ausgabedaten,
die an Ein/Ausgabeeinheiten zu senden sind; 74 ist ein Tag-Steuerteil zum Steuern verschiedenerTag-Informationsleitungen
zwischen dem Kanal und Ein/Ausgabeeinheiten. In der Struktur der Fig. 13, die aus dem
Kanalüteucrteil 40, dem Blockmultiplexkanal 41 und dem Bytemultiplexkanal 42 besteht, ist die Struktur des
Teiles außerhalb der Bereichskennzeichnung die gleiche wie die von bestehenden Systemen. Deshalb ist
die detallierte Beschreibung dieses Teiles hier weggelassen. Beschrieben wird im folgenden der Teil, der
die Bereichskennzeichnung betrifft. Wie in Fig. 9 gezeigt, wird dem TVM-Befehl eine Bereichskennzeichnung
gegeben, und wenn das Befehlssteuerwort (CCW) über die Befehlseinheit der CPU an die Kanalsteuereinheit
4(1 gesendet wird, damit der Kanal den TVM-Befehl ausführt, gibt die Kanalsteuereinheit 40 den TVM-Befehl
in den Befehlsspeicherteil des Registers 51 ein und gibt außerdem die Bereichskennzeichnung in den
Bereichskennzeichnungsspeicherteil des Registers 53 ein. Wenn der Decoder den TVM-Befehl identifiziert,
sendet er eine Bereichskennzeichnung, die in dem Speicher 53 gespeichert ist. an den Kanal und gibt sie in das
Register 60 (oder 70) des Kanals. Danach, wenn die Adresseninformation über die Kanalsteuereinheit 40 an
die Speichersteuereinheit (SCU) gesendet wird, um einen Zugriff zu dem Hauptspeicher auszuführen, sendet
der Kanal gleichzeitig eine Adresseninformation mit einer Bereichskennzeichnung. Die in dem Register
60 (oder 70) in dem Kanal gespeicherte Bereichskennzeichnung wird über das Register 54 in der Kanalsteuereinheit
40 an die Speichersteuereinheit (SCU) gesendet. In der Speichersteuereinheit (SCU) wird die gesendete
Bereichskennzeichnung in das in Fig. 12 gezeigte Register 13 eingegeben. Andererseits wird die von dem
Kanal gesendete Adresseninformation in das in Fig. 12 gezeigte Register 12 in der Speichersteuereinheit (SCU)
eingegeben. Dann wird, im Zeitpunkt eines Zugriffs von dem Kanal zum Hauptspeicher, die Adreßübersetzung
entsprechend dem Inhalt des AMR-Registers 15 ausgeführt. Die in dem Register 13 in Fig. 12 gespeicherte
Bereichskennzeichnung wählt mit Hilfe des Auswahlgatters 16 eines aus einer Vielzahl von AMR-Registern
aus. Als nächstes werden die in dem Register 12 gespeicherte Adresse und die BASE-Adresse des ausgewählten
AMR-Registers in dem DAT-Addierer 17 addiert und dann vorübergehend in dem TR-Register 19 gespeichert.
Dadurch werden der Inhalt des Registers 19 und die LIMIT-Adresse des ausgewählten AMR-Registers
in der Vergleichsschaltung 22 verglichen. Wenn der Inhalt des TR-Registers 19 kleiner ist als die LIMIT-Adresse,
wird der Inhalt über das Auswahlgatter 30 zu dem Hauptspeicher gesendet und der Zugriff ausgeführt.
Wenn andererseits das Ergebnis des Vergleichs durch die Vergleichsschaltung 22 beweist, daß der
Inhalt des TR-Registers 19 größer ist als die LIMIT-Adresse, tritt eine Adressenausnahme auf, die einen
Zugriff zu dem Hauptspeicher unterbricht.
Im folgenden wird unter Bezugnahme auf Fig. 14 die Wirkungsweise der Kanalsteuereinheit und des Kanals
nach einer zweiten Methode zum Übertragen einer Bereichskennzeichnung erläutert. In Fig. 14 ist 53 ein Register
zum Speichern der Flag-Information sowie der von der Befehlseinheit gesendeten Zählinformationen,
und diejenigen Teile, die die gleichen Bezugszeichen wie in Fig. 13 haben, sind auch gleich. Der Unterschied
zur Methode von Fig. 13 besteht darin, daß die Bereichskennzeichnung von der Befehlseinheit (I) der
CPU gesendet wird.
Die Bereichskennzeichnungen werden in dem Re-
13
gister 35 der in Fig. 12 gezeigten Befehlseinheit 3 gespeichert. Ein Zugriff ?.u dem Hauptspeicher wird entsprechend
dem Inhalt des Befehlszählers 32 ausgeführt. Der aus dem Hauptspeicher gelesene Befehl wird über
das DATA-Register 31 der Speichersteuereinheit in den Bsfehlspuffer 33 eingegeben. Wenn als Ergebnis der
Decodierung des Befehlsccdes durch den Decoder 34 bekannt ist, daß dieser Befehl den Datentransfer zu dem
Kanal befiehlt, werden die Bereichskennzeichnungen
in dem Register 35 in das RGN-ID-Register 60 (oder 70) ;o (;
in dem Kanal über die Kanalsteuereinheit 40 eingege- |jj
ben. Der nachfolgende Zugriff von dem Kanal zu dem \ü
Hauptspeicher wird in dergleichen Weise wie in Fig. 13 f
durchgeführt. Deshalb ist die Erläuterung eines solchen |
Zugriffs weggelassen. Nach den in den Fig. 13 und 14 gezeigten Methoden wird eine Adressenverschiebung
durch die Bereichskennzeichnung und das AMR-Register ausgeführt, dadurch kann ein Zugriff zu dem bestimmten
kontinuierlichen Bereich, beginnend von der Adresse 0 indem Programm, in jedem Kanal frei durch- 2u
geführt werden.
Wie oben beschrieben, ist gemäß der vorliegenden Erfindung eine Einrichtung zum Bestimmen eines
zugreifbaren Bereiches in dem Hauptspeicher vorgesehen, und eine Adreßübersetzung wird automatisch ausgeführt,
wenn von der CPU oder einem Kanal ein Zugriff zu dem Hauptspeicher ausgeführt wird.
Dadurch kann die Organisation zur Unterstützung der virtuellen Speicherfunktion in dem virtuellen Maschinensystem,
wo eine Vielzahl von Betriebssystemen gleichzeitig ablaufen, verringert werden. Zusätzlich
kann außerdem die CCW-Modifikation durch Benutzerprogramnie
unterstützt werden.
Es ist klar, daß viele Modifikationen und Abänderungen vorgenommen werden können, ohne den Umfang a
des neuen Konzeptes der vorliegenden Erfindung zu verlassen.
Hierzu 10 Blatt Zeichnungen
4U
45
55
<JÜ
Claims (5)
1. Kanaladressen-Sieuervorrichtung in einer virtuellen
Maschinenanordnung, in welcher Steuerprogramme und Monitorprogramnie zum Überwachen
der Steuerprogramme vergesehen sind, mit einem Hauptspeicher (1), in dem ein kontinuierlicher
Bereich ausschließlich für jedes Steuerprogramm oder gemeinsam fur Steuerprogrammgruppen zu- iu
gewiesen ist, wobei der Zugriff zu dem zugewiesenen Bereich mit einer fortlaufenden Adresse für
jedes der Steuerprogramme oder für jede der Steuerprogrammgruppen
ausgeführt wird, mit einer Speichersteuereinheit (SCU), mit einer Kanalsteuereinheit
(CHC), die mehrere Kanäle und Unttrkanäle aufweist, und mit einer Befehiseinheit (I),
gekennzeichnet durch mehrere Register (14, 15) zum jeweiligen Speichern der Kopfadresse (BASE) und der Schlußadresse (LIMIT) des den Steuerprogrammen in entsprechender Weise jeweils zugewiesenen Bereichs in dem Hauptspeicher,
durch eine in der Befehlseinheit (3) angeordnete Einrichtung (35) zum Aussenden einer Information, die den Bereich für einen Kanal oder Unterkanal kennzeichnet,
gekennzeichnet durch mehrere Register (14, 15) zum jeweiligen Speichern der Kopfadresse (BASE) und der Schlußadresse (LIMIT) des den Steuerprogrammen in entsprechender Weise jeweils zugewiesenen Bereichs in dem Hauptspeicher,
durch eine in der Befehlseinheit (3) angeordnete Einrichtung (35) zum Aussenden einer Information, die den Bereich für einen Kanal oder Unterkanal kennzeichnet,
durch eine Einrichtung (53; 60, 70) zum Speichern der Information, die den Bereich für einen Kanal
oder Unterkanal kennzeichnet,
durch eine Einrichtung (12,13,16,17) zum Addieren 3U der Kopfadresse in dem Register (AMR 15), das durch die Information ausgewählt ist, die den Bereich für einen Kanal oder Unterkanal kennzeichnet, und der von dem Kanal oder Unterkanal ausgesandten Hauptspeicheradresse und durch Einrichtungen (13,15,16,19,32) zum Vergleichen der addierten Hauptspeicheradresse und der in dem ausgewählten Register (AMR 15) stehenden Schlußadresse und zum Erzeugen eiiier Adressenausnahmeinformation, wenn die addierte Haupt-Speicheradresse größer als die Schluöadresse ist.
durch eine Einrichtung (12,13,16,17) zum Addieren 3U der Kopfadresse in dem Register (AMR 15), das durch die Information ausgewählt ist, die den Bereich für einen Kanal oder Unterkanal kennzeichnet, und der von dem Kanal oder Unterkanal ausgesandten Hauptspeicheradresse und durch Einrichtungen (13,15,16,19,32) zum Vergleichen der addierten Hauptspeicheradresse und der in dem ausgewählten Register (AMR 15) stehenden Schlußadresse und zum Erzeugen eiiier Adressenausnahmeinformation, wenn die addierte Haupt-Speicheradresse größer als die Schluöadresse ist.
2. Kanaladressen-Steuervorrichtung in einer virtuellen Maschinenanordnung nach Anspruch !,gekennzeichnet
durch eine Einrichtung (52) zum Decodieren eines Datenübertragungsbefehls fiir
einen Kanal, durch eine Einrichtung zum Aussenden der Information, die einen Bereich für einen
Kanal oder Unterkanal kennzeichnet, von der Einrichtung (53; 60, 70) zum Speichern dieser Information
zu einem Kanal oder Unterkanal und durch eine weitere Einrichtung (54, 13) zum Speichern dieser
Information für die Auswahl eines der Register (15).
3. Kanaladressen-Steuervorrichtung in einer virtuellen Maschinenanordnung nach Anspruch 1,
gekennzeichnet durch eine Einrichtung (33,35) zum Aussenden und Speichern eines Kanalbefehls einschließlich
der Information, die den Bereich für einen Kanal oder Uuterkanal kennzeichnet, in der
Befehlseinheit (3) und eine Einrichtung (34) zum Decodieren des Kanalbefehls. M)
4. Kanaladressen-Steuervorrichtung in einer virtuellen Maschinenanordnung nach Anspruch 1,
dadurch gekennzeichnet, daß die Register zum jeweiligen Speichern der Kopiadresse (BASE) und
der Schlußadresse (LIMIT) des jedem Steuerprogramni zugewiesenen Bereichs in dem Hauptspeieher,
die jeweils aus einem Paar Register bestehen, die Einrichtung (12, 13, 16, 17) /um Addieren und
die Einrichtung (13,15,16,19,32) zum Vergleichen
gemeinsam durch eine Vielzahl von Kanälen oder Unterkanälen benutzt werden.
5. Kanaladressen-Steuervorrichtung in einer virtuellen Maschinenanordnung nach einem der
Ansprüche I bis 4, gekennzeichnet durch eine Einrichtung zum Ausführen eines Zugriffs zu dem
Hauptspeicher mit Hilfe des Pufferspeichers.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP53114345A JPS6013501B2 (ja) | 1978-09-18 | 1978-09-18 | 仮想計算機システムにおけるチヤネルアドレス制御方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2936932A1 DE2936932A1 (de) | 1980-04-03 |
DE2936932C2 true DE2936932C2 (de) | 1985-05-23 |
Family
ID=14635431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19792936932 Expired DE2936932C2 (de) | 1978-09-18 | 1979-09-12 | Kanaladressen-Steuervorrichtung in einer virtuellen Maschinenanordnung |
Country Status (7)
Country | Link |
---|---|
US (1) | US4459661A (de) |
JP (1) | JPS6013501B2 (de) |
AU (1) | AU525998B2 (de) |
CA (1) | CA1123109A (de) |
DE (1) | DE2936932C2 (de) |
FR (1) | FR2436443B1 (de) |
GB (1) | GB2033116B (de) |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4500952A (en) * | 1980-05-23 | 1985-02-19 | International Business Machines Corporation | Mechanism for control of address translation by a program using a plurality of translation tables |
EP0072107B1 (de) * | 1981-08-03 | 1989-05-31 | International Business Machines Corporation | Periphere Subsysteme zur Anpassung von Gast-Betriebssystemen |
US4597044A (en) * | 1982-10-14 | 1986-06-24 | Honeywell Information Systems, Inc. | Apparatus and method for providing a composite descriptor in a data processing system |
US4545016A (en) * | 1983-01-07 | 1985-10-01 | Tandy Corporation | Memory management system |
JPS59198513A (ja) * | 1983-04-26 | 1984-11-10 | Nec Corp | デイジタル信号処理装置 |
US5109522A (en) * | 1983-06-02 | 1992-04-28 | Amdahl Corporation | Data processing system with logical processing facility supporting a plurality of system control programs for production operation |
JPH0619747B2 (ja) * | 1984-01-18 | 1994-03-16 | 株式会社日立製作所 | I/o命令実行方法、i/o割込処理方法およびそれらを用いた計算機システム |
US5392409A (en) * | 1984-01-18 | 1995-02-21 | Hitachi, Ltd. | I/O execution method for a virtual machine system and system therefor |
US4809156A (en) * | 1984-03-19 | 1989-02-28 | Trw Inc. | Address generator circuit |
US4757438A (en) * | 1984-07-12 | 1988-07-12 | Texas Instruments Incorporated | Computer system enabling automatic memory management operations |
US4975836A (en) * | 1984-12-19 | 1990-12-04 | Hitachi, Ltd. | Virtual computer system |
DE3689287T2 (de) * | 1985-02-18 | 1994-05-26 | Nippon Electric Co | Datenverarbeitungsgerät. |
JPS61190638A (ja) * | 1985-02-20 | 1986-08-25 | Hitachi Ltd | 仮想計算機のフアイル制御方式 |
US4979107A (en) * | 1985-02-21 | 1990-12-18 | International Business Machines Corporation | Modification of device configuration wherein the system specifies and prompts the user with only parameters required to be changed |
JPS61206057A (ja) * | 1985-03-11 | 1986-09-12 | Hitachi Ltd | アドレス変換装置 |
JPS61206043A (ja) * | 1985-03-11 | 1986-09-12 | Hitachi Ltd | 仮想計算機システムにおける割込制御方法 |
FR2580096B1 (de) * | 1985-04-04 | 1988-08-19 | Nec Corp | |
JPH0792761B2 (ja) * | 1985-07-31 | 1995-10-09 | 株式会社日立製作所 | 仮想計算機システムの入出力制御方法 |
JPS62154037A (ja) * | 1985-12-26 | 1987-07-09 | Hitachi Ltd | 仮想計算機監視制御方式 |
JPS62159239A (ja) * | 1985-12-30 | 1987-07-15 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | 仮想マシンの編集システム |
JPH0821009B2 (ja) * | 1986-09-22 | 1996-03-04 | 日本電気株式会社 | チャネル制御装置のイニシャライズ方法及びそのイニシャライズのためのシステム |
US5003466A (en) * | 1987-02-06 | 1991-03-26 | At&T Bell Laboratories | Multiprocessing method and arrangement |
US5127094A (en) * | 1987-11-09 | 1992-06-30 | Hitachi, Ltd. | Virtual storage type computer system |
JPH0291747A (ja) * | 1988-09-29 | 1990-03-30 | Hitachi Ltd | 情報処理装置 |
US5341484A (en) * | 1988-11-02 | 1994-08-23 | Hitachi, Ltd. | Virtual machine system having an extended storage |
US7447069B1 (en) | 1989-04-13 | 2008-11-04 | Sandisk Corporation | Flash EEprom system |
EP0617363B1 (de) | 1989-04-13 | 2000-01-26 | SanDisk Corporation | Austausch von fehlerhaften Speicherzellen einer EEprommatritze |
US7190617B1 (en) * | 1989-04-13 | 2007-03-13 | Sandisk Corporation | Flash EEprom system |
JP2825550B2 (ja) * | 1989-09-21 | 1998-11-18 | 株式会社日立製作所 | 多重仮想空間アドレス制御方法および計算機システム |
JPH0820975B2 (ja) * | 1990-03-29 | 1996-03-04 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータシステムおよびコンピュータ上で実行されるトレース方法 |
JPH0512126A (ja) * | 1991-07-05 | 1993-01-22 | Hitachi Ltd | 仮想計算機のアドレス変換装置及びアドレス変換方法 |
AU3424293A (en) * | 1992-01-02 | 1993-07-28 | Amdahl Corporation | Computer system with two levels of guests |
US5426748A (en) * | 1992-01-03 | 1995-06-20 | International Business Machines Corporation | Guest/host extended addressing method and means with contiguous access list entries |
JPH0695898A (ja) * | 1992-09-16 | 1994-04-08 | Hitachi Ltd | 仮想計算機の制御方法および仮想計算機システム |
US5367661A (en) * | 1992-11-19 | 1994-11-22 | International Business Machines Corporation | Technique for controlling channel operations in a host computer by updating signals defining a dynamically alterable channel program |
US5526503A (en) * | 1993-10-06 | 1996-06-11 | Ast Research, Inc. | Virtual addressing buffer circuit |
US5590297A (en) * | 1994-01-04 | 1996-12-31 | Intel Corporation | Address generation unit with segmented addresses in a mircroprocessor |
US5649140A (en) * | 1995-03-31 | 1997-07-15 | International Business Machines Corporation | System for use in translating virtual addresses into absolute addresses |
US5918248A (en) * | 1996-12-30 | 1999-06-29 | Northern Telecom Limited | Shared memory control algorithm for mutual exclusion and rollback |
US6003041A (en) * | 1998-01-05 | 1999-12-14 | Gateway 2000, Inc. | Method and managing multiple channel maps from multiple input devices in a multimedia system |
US6687858B1 (en) | 2000-05-16 | 2004-02-03 | Phillip M. Adams | Software-hardware welding system |
US6691181B2 (en) * | 2001-10-09 | 2004-02-10 | Phillip M. Adams | Programmatic time-gap defect detection apparatus and method |
US7472207B2 (en) * | 2001-10-09 | 2008-12-30 | Aftg-Tg, L.L.C. | Optimized-incrementing, time-gap defect detection apparatus and method |
US6842802B2 (en) | 2001-11-30 | 2005-01-11 | Aftg-Tg, L.L.C. | Programmatic time-gap defect correction apparatus and method |
US7177967B2 (en) * | 2003-09-30 | 2007-02-13 | Intel Corporation | Chipset support for managing hardware interrupts in a virtual machine system |
JP4333370B2 (ja) * | 2004-01-08 | 2009-09-16 | 株式会社日立製作所 | データ処理システム |
US7519792B2 (en) * | 2006-02-21 | 2009-04-14 | Intel Corporation | Memory region access management |
JP4926120B2 (ja) * | 2007-04-26 | 2012-05-09 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | データ処理システムおよびデータ処理方法 |
US10037150B2 (en) * | 2016-07-15 | 2018-07-31 | Advanced Micro Devices, Inc. | Memory controller with virtual controller mode |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3510847A (en) * | 1967-09-25 | 1970-05-05 | Burroughs Corp | Address manipulation circuitry for a digital computer |
US3555513A (en) * | 1967-10-11 | 1971-01-12 | Burroughs Corp | Multiprocessor digital computer system with address modification during program execution |
GB1329721A (en) * | 1970-05-26 | 1973-09-12 | Plessey Co Ltd | Data processing devices |
US3786427A (en) * | 1971-06-29 | 1974-01-15 | Ibm | Dynamic address translation reversed |
US3723976A (en) * | 1972-01-20 | 1973-03-27 | Ibm | Memory system with logical and real addressing |
GB1447297A (en) * | 1972-12-06 | 1976-08-25 | Amdahl Corp | Data processing system |
US3828327A (en) * | 1973-04-30 | 1974-08-06 | Ibm | Simplified storage protection and address translation under system mode control in a data processing system |
US4104718A (en) * | 1974-12-16 | 1978-08-01 | Compagnie Honeywell Bull (Societe Anonyme) | System for protecting shared files in a multiprogrammed computer |
US4044334A (en) * | 1975-06-19 | 1977-08-23 | Honeywell Information Systems, Inc. | Database instruction unload |
US4037215A (en) * | 1976-04-30 | 1977-07-19 | International Business Machines Corporation | Key controlled address relocation translation system |
US4149244A (en) * | 1976-06-07 | 1979-04-10 | Amdahl Corporation | Data processing system including a program-executing secondary system controlling a program-executing primary system |
US4092715A (en) * | 1976-09-22 | 1978-05-30 | Honeywell Information Systems Inc. | Input-output unit having extended addressing capability |
US4084227A (en) * | 1976-09-24 | 1978-04-11 | Sperry Rand Corporation | Virtual address translator |
US4128875A (en) * | 1976-12-16 | 1978-12-05 | Sperry Rand Corporation | Optional virtual memory system |
US4155119A (en) * | 1977-09-21 | 1979-05-15 | Sperry Rand Corporation | Method for providing virtual addressing for externally specified addressed input/output operations |
US4253145A (en) * | 1978-12-26 | 1981-02-24 | Honeywell Information Systems Inc. | Hardware virtualizer for supporting recursive virtual computer systems on a host computer system |
-
1978
- 1978-09-18 JP JP53114345A patent/JPS6013501B2/ja not_active Expired
-
1979
- 1979-09-12 DE DE19792936932 patent/DE2936932C2/de not_active Expired
- 1979-09-14 CA CA335,678A patent/CA1123109A/en not_active Expired
- 1979-09-17 AU AU50891/79A patent/AU525998B2/en not_active Ceased
- 1979-09-17 FR FR7923089A patent/FR2436443B1/fr not_active Expired
- 1979-09-18 GB GB7932253A patent/GB2033116B/en not_active Expired
-
1982
- 1982-04-21 US US06/370,193 patent/US4459661A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
AU525998B2 (en) | 1982-12-09 |
GB2033116A (en) | 1980-05-14 |
JPS5542326A (en) | 1980-03-25 |
US4459661A (en) | 1984-07-10 |
CA1123109A (en) | 1982-05-04 |
GB2033116B (en) | 1983-03-30 |
FR2436443B1 (fr) | 1988-03-25 |
FR2436443A1 (fr) | 1980-04-11 |
AU5089179A (en) | 1980-03-27 |
JPS6013501B2 (ja) | 1985-04-08 |
DE2936932A1 (de) | 1980-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2936932C2 (de) | Kanaladressen-Steuervorrichtung in einer virtuellen Maschinenanordnung | |
DE2948285C2 (de) | Adressensteuereinrichtung für einen Datenprozessor | |
DE69032334T2 (de) | Virtuelles Computersystem mit Ein-/Ausgabeunterbrechungssteuerung | |
DE2350884C2 (de) | Adreßumsetzungseinheit | |
DE69023018T2 (de) | Prozessor-Unterbrechungssteuerung. | |
DE4016667C2 (de) | Nachrichtenübertragungsverfahren in einem Multiprozessorsystem mit einer Vielzahl von Untersystemen und ein zugehöriges Multiprozessorsystem | |
DE2760322C2 (de) | ||
DE2455047C2 (de) | Datenverarbeitungssystem mit einem Informationsspeicher | |
DE3011552C2 (de) | ||
DE3689696T2 (de) | Datenverarbeitungssystem mit einem Hauptprozessor und einem Ko-Prozessor mit gemeinsamen Betriebsmitteln. | |
DE3689287T2 (de) | Datenverarbeitungsgerät. | |
DE3607889C2 (de) | ||
DE3508291A1 (de) | Realzeit-datenverarbeitungssystem | |
DE2912738A1 (de) | System mit direkter uebertragung zwischen subsystemen | |
DE4217444A1 (de) | Verfahren und einrichtung zur dynamischen verlagerung von virtuellen maschinen in einem hauptspeicher | |
DE4208924A1 (de) | Verfahren zur kommunikation zwischen prozessoren und parallelverarbeitungscomputer hierfuer | |
DE19522807A1 (de) | Eingabe-/Ausgabe-Steuerungssystem mit mehreren Kanalpfaden zu E/A-Einheiten | |
DE3502147C2 (de) | ||
DE3885780T2 (de) | Adressierung in einer Computer-Anordnung. | |
DE2054830C3 (de) | Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge | |
DE68924992T2 (de) | Symmetrische Steuerungsanordnung für Multiverarbeitung. | |
DE3825028A1 (de) | Verfahren und vorrichtung zur ungueltigkeitsoperation bei adressumsetzpuffern in computersystemen | |
DE2558417C3 (de) | Datenverarbeitungssystem | |
DE1774039A1 (de) | Rechner | |
EP0141245B1 (de) | Verfahren zum Betrieb eines in Normalbetriebszeit parallel betriebenen Speicherblockpaares |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OD | Request for examination | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8328 | Change in the person/name/address of the agent |
Free format text: REINLAENDER, C., DIPL.-ING. DR.-ING., PAT.-ANW., 8000 MUENCHEN |
|
8339 | Ceased/non-payment of the annual fee |