DE2936932C2 - Kanaladressen-Steuervorrichtung in einer virtuellen Maschinenanordnung - Google Patents

Kanaladressen-Steuervorrichtung in einer virtuellen Maschinenanordnung

Info

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
Application number
DE19792936932
Other languages
English (en)
Other versions
DE2936932A1 (de
Inventor
Fujio Yokohama Kanagawa Ikegami
Masamichi Kawasaki Kanagawa Ishibashi
Saburo Yokohama Kanagawa Kaneda
Yoshikatsu Seta
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of DE2936932A1 publication Critical patent/DE2936932A1/de
Application granted granted Critical
Publication of DE2936932C2 publication Critical patent/DE2936932C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems

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)

Patentansprüche:
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,
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.
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.
DE19792936932 1978-09-18 1979-09-12 Kanaladressen-Steuervorrichtung in einer virtuellen Maschinenanordnung Expired DE2936932C2 (de)

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)

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

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

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