DE2500006A1 - Wirtsdatenverarbeitungssystem und verfahren zur emulation von eingabe/ausgabe- befehlen - Google Patents
Wirtsdatenverarbeitungssystem und verfahren zur emulation von eingabe/ausgabe- befehlenInfo
- Publication number
- DE2500006A1 DE2500006A1 DE19752500006 DE2500006A DE2500006A1 DE 2500006 A1 DE2500006 A1 DE 2500006A1 DE 19752500006 DE19752500006 DE 19752500006 DE 2500006 A DE2500006 A DE 2500006A DE 2500006 A1 DE2500006 A1 DE 2500006A1
- Authority
- DE
- Germany
- Prior art keywords
- control
- address
- register
- entry
- command
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/105—Program control for peripheral devices where the programme performs an input/output emulation function
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
Description
Anmelder: Honeywell Information Systems Inc. 200 Smith Street Waltham, Mass.
V. St. A.
V. St. A.
Y/irtsdatenverarbeitungssystem und Verfahren zur Emulation von üingabe/Ausgabe-Befehlen
Die vorliegende Erfindung bezieht sich auf eine Umsetz-Anordnung
und insbesondere auf eine Anordnung zur Emulation einer Vielzahl von unterschiedlichen Ziel- bzw.
Objekt-Systemen-
Vfenn ältere Datenverarbeitungssysteme durch ein neues
System ersetzt werden, welches wesentlich andere Architektur- bzw. Aufbaueigenschaften besitzt, muß im allgemeinen
ein wesentlicher Anteil der Jobs, die zur Ausführung
509828/067 8
durch die alten Systeme programmiert waren, ebenfalls auf dem neuen System ausgeführt werden. Es sind bereits
verschiedene bekannte Verfahren angewandt worden, um das neue System bei der Ausführung der Jobs zu unterstützen.
Ein derartiges Verfahren besteht darin, dass jeder Befehl aus der Maschinensprache des alten Systems in das Befehlsformat des neuen Systems oder Wirts-Systems übersetzt wird.
Ein Beispiel für ein System, welches das vorstehende Verfahren anwendet, wird an anderer Stelle näher beschrieben
(siehe US-Patentanmeldung, Ser.No. 228 776). Weitere Verfahren umfassen die Simulation und die Emulation. Diese
Verfahren sind in folgenden Artikeln erläutert: "Emulation of Large Systems" von S.G. Tucker, "1401 Compatibility
Feature on the IBM System/360 Model 30" von M.McCormack,
T.Schansman, K.Womack, und "The Spectra 70/45 Emulator for the RCA 301", von R.I.Benjamin. Sämtliche Artikel
stammen aus der Druckschrift "Communications of the ACM" Dezember 1965. Darüber hinaus sind diese Verfahren
in einem Artikel mit dem Titel "System 370" Integrated Emulation under OS and DOS" von Gay R. Allred inkier
Zeitschrift "Afips Conference Proceedings", Vol. 38, 1971,
erläutert.
Eine der bedeutendsten Funktionen, die von einem Emulator ausgeführt wird, besteht darin, dass die Eingabe/Ausgabe-Befehle eines Zielsystems effektiv ausgeführt werden. Bei
den bisherbekannten Systemen sind im allgemeinen ziemlich
spezielle Lösungen hinsichtlich der Emulation der Eingabe/Ausgabefunktionalität von Zielsystemen angewandt worden. Das
Ergebnis besteht darin, dass derartige Systeme ausser Stande sind, Zielmaschinenoperationen für eine Anzahl von Zielsystemen mit unterschiedlichen Eingabe/Ausgabe-Anforderungen
zu emulieren. Deshalb erfordern die bisher bekannten Systeme zur Anpassung an die Anforderungen unterschiedlicher Systeme
509828/0678
einen beträchtlichen Anteil an Software und eine vermehrte Organisation, um solche Operationen auszuführen, die für
die Emulation der Eingabe/Ausgabe-Struktur jedes derartigen Systems erforderlich sind.
Der Erfindung liegt demgemäss die Aufgabe zugrunde, ein
System zur Emulierung der Eingabe/Ausgabestruktur einer Vielzahl von unterschiedlichen Zielsystemen zu schaffen.
Darüber hinaus soll ein Emulator-System geschaffen werden, welches die Anzahl von Operationen verringert, die von
der abstutzenden Software des Systems ausgeführt werden. Schliesslich soll ein System geschaffen werden, welches
mit einem Minimum an Kompliziertheit und einer maximalen Geschwindigkeit die Forderungen einer Vielzahl von unterschiedlichen Eingabe/Ausgabe-Systemen effektiv emulieren
kann.
Gelöst wird die vorstehend aufgezeigte Aufgabe erfindungsgemäss durch ein mikroprogrammiertes Datenverarbeitungs-System, welches Firmenware-Einrichtungen oder Mlkroprogrammierungseinrichtungen und eine Vielzahl von Tabellen aufweist, die im Hauptspeicher des Systems enthalten sind.
Die Tabellen sind in einer Anzahl von Klassen organisiert, die denjenigen Hilfsquellen entsprechen, die von einem
Programm angegeben werden müssen, um einen Eingabe/Ausgabe-Befehl in den Zielsystemen auszuführen. Zu den Tabellen
erfolgt ein Zugriff unter der Steuerung der Mikroprogrammierungs-Einrichtungen in einer bestimmten Weise.
Eine erste Tabelle ist auf einer Pro-System-Basis codiert, um eine Vielzahl von Einträgen zu enthalten, und zwar einen
Eintrag für jede Kanal-Hilfsquelle. Diese Einträge können
durch ein ZielSystemprogramm genau angegeben' werden. Wie
an sich bekannt, ist ein "Kanal" ein Datenweg, der über
509828/0678
eine Schnittstelle zwischen dem Hauptspeicher und einer
peripheren Einrichtung eines Systems verläuft. Die zu emulierenden Zielsysteme können irgendeine Anzahl von
Lese/Schreibkanälen benutzen,die vorgesehen sind, um eine "gleichzeitige" Verarbeitung von Eingabe/Ausgabe-Operationen
zu ermöglichen. Wenn eine Eingabe/Ausgabe-Operation auszuführen ist, ist normalerweise ein Code,
der eine einem Lese/Schreib-Kanal zugeteilte Programmierungs-Einrichtung
angibt, erforderlich, um in den Befehl einbezogen zu werden, damit der Weg zwischen der bezeichneten
peripheren Einrichtung und dem Hauptspeicher abgeschlossen
werden kann. Bezüglich weiterer Einzelheiten im Hinblick auf die Zuteilung derartiger Kanäle sei auf die US-PS
3 369 221 hingewiesen.
Bei der bevorzugten Ausführungsform enthält das System eine zweite Tabelle, die ebenfalls auf einer Pro-System-Basis
organisiert ist und die eine Vielzahl von Einträgen enthält. Diese Einträge sind so codiert, dass sie eine
weitere Hilfsquelle bzw. einen weiteren Hilfsquellentyp bezeichnen, die bzw. der in dem Zielsystem vorhanden ist
und von einem Zielsystan-Eingabe/Ausgabe-Befehl genau angegeben werden muss. Die Tabelle enthält einen Eintrag
für Jeden Sektor, der in einem Zielsystem vorhanden sein kann. Ein "Sektor" in den betrachteten Zielsystemen
entspricht einem übertragungsweg, der eine vorgegebene Anzahl von peripheren Einrichtungen gemeinsam verbindet.
In der oben erwähnten US-Patentschrift ist ein "Einzel"-Sektor-System
angegeben. Gemäss der vorliegenden Erfindung kann der Sektor eines Zielsystems eine bestimmte maximale
Zeichenübertragungsfrequenz ausgleichen bzw. eine Anpassung daran vornehmen (das sind 500 000 Zeichen pro Sekunde).
Jeder Sektor ist einer festen Anzahl von Speicherzyklen (das sind 6) zugeordnet, die hier als"Zeitfächer" bezeichnet
werden. In den Zielsystemen werden aufeinander-
509828/0678
folgende Speicherzyklen unterschiedlichen Lese/Schreib-Kanälen für die Übertragung von Zeichen zwischen einer
peripheren Einrichtung, die an einem vorgegebenen Sektor angeschlossen ist, und dem Hauptspeicher über den zugeteilten Kanal angeboten. Jeder der Lese/Schreib-Kanäle
von einigen Zielsystemen, wie die Kanäle des patentierten Systems, sind bestimmten Zeitfächern dauernd zugeordnet.
In Systemen dieser Arten wird eine Erhöhung in der Übertragungsfrequenz eines gegebenen Kanals dadurch erzielt,
dass mehrere Kanäle "verschachtelt11 werden, so dass sämtliche
Zyklen, die für die verschachtelten Kanäle aufgewandt werden, für eine einzige Ubertragungsoperation verfügbar gemacht werden können. Die Verschachtelung erfolgt über
den Programmbefehl, der die Datenübertragungsoperation
auslöst.
Eine dritte Tabelle ist auf einer Pro-Sektor-Basis organisiert. Diese Tabelle enthält eine Vielzahl von Einträgen,
die so codiert sind, dass sie jede periphere Steuereinheits-Adresse (das sind bis 16 Adressen) angibt, die von einem
Zielprogramm für den Sektor bezeichnet werden kann. In dem Zielsystem ist die periphere Steuereinheit PCU eine
adressierbare Einrichtung, die eine periphere Einrichtung über einen Sektor mit dem zentralen Prozessor verbindet.
Die Anzahl der Einrichtungen, die von einem Befehl eines Zielprogramms für eine gegebene periphere Steuereinheit
angegeben werden kann, ist in einer vierten Tabelle enthalten. 1IeSe Tabelle ist auf einer sogenannten PCU-Basis
organisiert; sie enthält Einträge, die so codiert sind, dass sämtliche mögliche Einrichtungsadressencodesangegeben
werden, die von dem Zielprogramm für eine gegebene periphere Steuereinheit PCU bezeichnet werden kann.
Gemäss der vorliegenden Erfindung wird das System unter
der Steuerung des MikroprogrammsteuerSpeichers während der
509828/0678
Verarbeitung des JeweELigen Eingabe /Ausgabe-Befehls derart
betrieben, dass automatisch bei Bedarf ein Zugriff zu dem Inhalt der vier Tabellen erfolgt, und zwar in einer
bestimmten Reihenfolge, um die unterschiedlichen Teile der Zielprogramm-Eingabe/Ausgabe-Befehle im Hinblick
auf den Informationsgehalt, der die Eigenschaften des
bestimmten Zielsystems, welches emuliert wird, zu überprüfen und zu bestätigen. Jede Tabelle enthält eine
Information, die dem System ermöglicht, nacheinander auf die richtige Tabelle für jede aufeinanderfolgende
Operation Bezug zu nehmen.
Der erste Fall einer Anzeige darüber, dass ein Eingabe/ Ausgabe-Befehl nicht ausgeführt werden kann oder nicht
ausgeführt werden sollte, liegt dann vor, wenn das unter Mikroprogrammsteuerung stehende System auf die
in dem System enthaltene Emulation-Software springt oder zu dieser hin Signale sendet und eine Zustandsinformation an eine derartige Software abgibt. Auf
die Feststellung, dass der Eingabe/Ausgabe-Befehl ausgeführt werden kann, gibt, was noch weit wichtiger ist,
das System einen Code aus einer Anzahl von Codes an die Software ab, welcher Code anzeigt, auf welche
Routine einer begrenzten Anzahl von Software-Routinen Bezug zu nehmen ist für die Ausführung des Befehls
unter Heranziehung der Eingabe/Ausgabe-Einrichtungen des Wirts-Systems. Auf diese Weise vermindert das System
die Anzahl der für die Anpassung an eine Vielzahl von unterschiedlichen Zielmaschinen erforderlichen Software-Routinen.
Darüber hinaus ist die Emulations-Anordnung gemäss der
vorliegenden Erfindung, die die in den Tabellen enthaltene Information benutzt, im Stande, bestimmte Typen von Eingabe/
Ausgabe-Steuerbefehlen vollständig auszuführen, wie zum
509828/0678
solche Befehle, die eine Überprüfung bezüglich der Verfügbarkeit bestimmter Hilfsquellen vornehmen (zum Beispiel
der RWC- oder perlpheren Steuereinheit, etc.)» die zu
der Beendigung einer vorhergehenden Datenübertragungsoperation und dem Zustand einer Unterbrechungsfunktion
während derartiger Operationen in Beziehung stehen. Bei denjenigen Typen von Steuerbefehlen, bei denen die fortgesetzte Ausführung des Befehls zu einem Verlust an
Systemverarbeitungszeit führt, gibt der Emulator an das System Signale in der gleichen Veise ab, wie im
Falle von DatenUbertragungsbefehlen.
Gemäss der vorliegenden Erfindung können die in die
unterschiedlichen Klassen von Tabellen eingefügten Einträge in einer bestimmten Weise codiert sein, um eine
Lockerung bestimmter "Verschachtelungen" oder Zwangsmaßnahmen zu ermöglichen, die von den ZielSystemprogrammen auferlegt sind, bei denen die Logik des bestimmten Programms nicht beeinflusst wird. Dies bedeutet, dass das ZielSystemprogramm nicht die Verschachtelungen benötigt, die den Programmablauf richtig
gestalten. Auf diese Weise kann der Emulator in wirksamerer Weise jene Zielsystemprogramme ausführen, die
nicht von bestimmten Beschränkungen abhängig sind, wie sie in den Zielsystemen vorhanden sind. Demgemäss unterstützt der Emulator lediglich diejenigen Verschachtelungen,
die erforderlich sind, um das ZielSystemprogramm richtig
ablaufen zu lassen. Dies kann seinerseits die Systemorganisation verringern.
Anhand von Zeichnungen wird die Erfindung nachstehend
beispielsweise hinsichtlich ihrer Organisation und ihres Betriebsverfahrens erläutert.
509828/0678
Fig. 1 zeigt in einem Blockdiagramm ein die vorliegende Erfindung verkörperndes System.
Fig. 1a zeigt schematisch die Auslegung eines Hauptspeichers gemäss der vorliegenden Erfindung.
Fig. 1b zeigt die Auslegung eines in dem Hauptspeicher gemäss Fig. 1 enthaltenen Brozess-Steuerblockes.
Fig. 1c zeigt in einem Blockdiagramm ein zentrales Prozessor-Untersystem
gemäss Fig. 1.
Fig. 2a zeigt im einzelnen einen Steuerspeicher-Schnittstellen-Adapter
(CIA) und eine Steuerspeicher-Einheit (CSU) gemäss Fig. 1 und Ic.
Fig. 2b zeigen im einzelnen unterschiedliche Teile der bis 2d Rechen- und Verknüpfungseinheit (ALU) gemäss
Fig. 1 und 1c).
Fig. 2e zeigt im einzelnen eine Adressensteuereinheit (ACU) gemäss Fig. 1 und 1c.
Fig. 3 zeigt die Auslegung eines örtlichen Speichers gemäss Fig. 1 und 1c.
Fig. 4 zeigt das Format eines Abrufes, wie er in einem örtlichen Speicher codiert wird.
Fig. 5 zeigt die Formate von Mikrobefehlen, die von der Steuerspeichereinheit gemäss Fig. 1 und 2a
benutzt werden.
Fig. 6 zeigt die Auslegung von Eingabe/Ausgabe-Tabellen eines Hauptspeichersegmentes gemäss der vorliegenden
Erfindung.
509828/0678
Fig. 7a zeigt das Formateines Lese/Schreib-Kanal-Tabelleneintrags gemäss der vorliegenden Erfindung.
Fig. 7b zeigt das Format eines Sektortabelleneintrags gemäss der vorliegenden Erfindung.
Fig. 7c zeigt das Format eines peripheren Steuereinheits-(PCU)-Tabelleneintrags gemäss der vorliegenden
Erfindung.
Erweiterungstabelleneintrags der peripheren Steuereinheit (PCU) gemäss der vorliegenden Erfindung.
Fig. 7e zeigt das Format eines Einrichtungstabelleneintrags gemäss der vorliegenden Erfindung.
Fig. 7f zeigt das Format eines genau festgelegten Typs eines Einrichtungstabelleneintrags gemäss dem
System der vorliegenden Erfindung.
Fig. 7g zeigt das Format eines genau festgelegten Typs eines Einrichtungs-Erweiterungstabelleneintrags
gemäss dem System der vorliegenden Erfindung.
Fig. 7h zeigt das Format eines End-Tabelleneintrag gemäss
dem System der vorliegenden Erfindung.
Fig. 8a zeigt in einem Flussdiagramm die Verarbeitung eines Eingabe/Ausgabe-Befehls durch das System
gemäss Fig. 1 in Übereinstimmung mit der vorliegenden Erfindung.
Fig. 8b zeigen in Flussdiagrammen bestimmte Operationen,
bis 8j die von entsprechenden Blöcken der in dem Flussdiagramm gemäss Fig. 8a enthaltenen Blöcke ausgeführt werden.
509828/0678
Fig. 9a zeigt in einem Flussdiagramm im einzelnen einen Lese/Schreib-Kanal-Test gemäss Fig. 8a.
Fig. 9b zeigt in einem Flussdiagramm im einzelnen einen Sektor-Test gemäss Fig. 8a.
Fig. 9c zeigt in einem Flussdiagramm im einzelnen eine das Abholen eines nächsten Varianten-Zeichens
betreffende Routine gemäss Fig. 8a.
Fig. 9d zeigt in einem Flussdiagramm im einzelnen eine periphere Steuereinheits-Zustands-Abholroutine
gemäss Fig. 8a.
Fig. 9e zeigt in einem Flussdiagramm im einzelnen eine die Belegung der Steuereinheit überprüfende
Testroutine gemäss Fig. 8a.
Testroutine gemäss Fig. 8a.
Fig. 9f zeigt in einem Flussdiagramm im einzelien eine
Einrichtungs-Zuetands-Abholroutine gemäss Fig. 8a
Fig· 9g zeigt in einem Flussdiagramm im einzelnen eine
Einrichtungs-Springs und Zustands-Testroutine gemäss
Fig. 8a.
Fig. 9h zeigt in einem Flussdiagramm im einzelnen eine Magazin-Testroutine gemäss Fig. 8a.
Fig. 10 zeigt in einem Flussdiagramm im einzelnen die Teile des Hauptflusses gemäss Fig.8a.
Fig. 11 zeigt im einzelnen die Codierung von gemäss der
vorliegenden Erfindung verarbeiteten Eingabe/Ausgabe-Datenübertragungsbefehlen der Zielsysteme.
509828/0678
Fig. 12a veranschaulichen die Operationen, die im Zuge
^1 der Verarbeitung eines genau festgelegten Typs
des Eingabe/Ausgabe-Steuerbefehls ausgeführt
werden.
Aus Fig. 1 geht hervor, dass das System der vorliegenden Erfindung eine Vielzahl von Untersystemen 100-1 bis
100-4 enthält. Die dargestellten Untersysteme entsprechen einem zentralen Verarbeitungseinheits-Untersystem 1ΟΟ-1,
einem Eingabe/Ausgabe-Steuereinrichtungs-Uritersystem 100-2,
einem peripheren Untersystem 100-3, einem Hauptspeicher-Untersystem 100-4 und einem Speicher-Schnittstelleneinheits-Untersystem 100-5. Das zentrale Verarbeitungseinheits-
oder Zentraleinheits-Untersystem 100-1 umfasst eine Datenleiteinheit (DMU) 100-1, eine Befehlsabholeinheit (IFU)
101-3, eine Rechen- und Verknüpfungseinheit (AUJ) 101-6, einen Steuerspeicher-Schnittstellen-Adapter (CIA) 101-4
und eine SteuerSpeichereinheit (CSU) 101-5. Sämtliche
d ieser Einheiten sind in der aus Fig. 1 dargestellten Anordnung angeschlossen. Das Zentraleinheits- Untersystern
führt die Rechenoperationen fttrdas System aus. Diese Operationen laufen unter der Steuerung von Mikrobefehlen ab,
die in dem Steuerspeicher 105 gespeichert sind. Bei einer
Bevorzugten AusfUhrungsform werden diese Befehle in den Steuerspeicher 101-5 von einer Steuerspeicher-Ladeschaltung
her geladen, die von herkömmlichem Aufbau ist und die sich ausserhalb des Zentraleinheits-Untersystems 100 befindet.
Der Steuerspeicher-Schnittstellenadapter 101-4 enthält die Verknüpf ungsschaltungen, die für die Leitung der Steuerablauffolge des für die Verarbeitung von Operationen erforderlichen Steuerspeichers 101-5 notwendig sind.
509828/0671
Der Steuerspeicher-Schnittstellenadapter 101-4 beispielsweise
nimmt die erforderliche Adressenmodifikation, Adressenerzeugung und Überprüfung vor und stellt die Verzweigungs-Einrichtungen
auf der Grundlage von Signalen bereit, die kennzeichnend sind sowohl für interne als auch für externe
Zustände bzw. Bedingungen.
Die verschiedenen Operationen, die von Natur aus Rechenoperationen
sind, werden von der Rechen- und Verknüpfungseinheit 101-6 ausgeführt, die Wort- und Byte-Datenverarbeitungseinrichtungen
enthält. Darüber hinaus ist der Rechen- und Verknüpfungseinheit die örtliche Speichereinheit
(ISU) 101-7 zugeordnet bzw. zugehörig, die einen kleinen Hilfsspeicher und diesem zugehörige Verknüpfungsschaltungen enthält, die von herkömmlichem Aufbau sind
und die derart arbeiten, dass sowohl die Steuerinformation als auch Operanden und Teilergebnisse gespeichert werden,
die durch verschiedene Rechen- und Datenverarbeitungsoperationen hervorgerufen werden.
Die Adressensteuereinheit (ACU) 101-2, die mit der Rechen-
und Verknüpfungseinheit 101-6 verbunden ist, enthält eine Anordnung zur Erzeugung von Adressen für die Bezugnahme
auf die Information, die in dem Speicher-Untersystem gespeichert ist. Darüber hinaus ist die Adressensteuereinheit
101-2 mit der Befehlsabholeinheit 101-3 verbunden, die
Schaltungen enthält, mit deren Hilfe Befehle im Voraus abgeholt werden, um Befehle verfügbar zu halten, bevor ein
gerade ausgeführter Befehl abgeschlossen ist.
Die Datenleiteinheit 101-1 stellt eine Scnuittstelle
zwischen dem Zentraleinheits-Un±ersystem und/oder einem Pufferspeicher 300-2, wie dies dargestellt ist. Die betreffende
Datenleiteinheit enthält Schaltungen, die angeben, welcher Teil des Speichers des Hauptspeicher-Untersystems
509828/0678
eine Information enthält, die während nachfolgender Speicherzyklen wieder aufzufinden ist. Sie betreffende Einheit
wird derart betrieben, dass die Information in das Zentraleinheits-Untersystem zu dem geeigneten Zeitpunkt übertragen
wird.
Das Hauptspeicher-Schnittstelleneinheit-Untersystem 100-3 enthält einen Pufferspeicher 103-2, eine Pufferspeicher-Adressliste 103-3 und eine Hauptspeicher-Folgesteuereinrichtung 103-1. Der Pufferspeicher 103-2 bewirkt eine
Kurzzeitspeicherung für die Information, die als nächste
Information von dem Zentraleinheits-Untersystem zu benutzen ist. Ferner bewirkt der betreffende Speicher eine Kurzzeitspeicherung bezüglich der Information, die verschiedentlich während der Verarbeitungsoperationen zu benutzen ist.
Die Pufferspeicher-Adressliste 103-3 enthält die Schattungen für die Erzeugung einer Adresse, wobei die Adressenerzeugung
dann erfolgt, wenn die Information, die von einer Operation angefordert ist, in dem Pufferspeicher 103-2 gespeichert
ist. Die Hauptspeicher-Folgesteuereinrichtung 103-1 stellt eine Schnittstelle zwischen den verschiedenen Moduln des
Hauptspeicher-Untersystems 100-4 und den verschiedenen dargestellten Untersystemen dar (das sind die Eingabe/Ausgabe-Steuereinrichtung 100-2 und die Zentraleinheit 100-1).
Das Hauptspeicher-Untersystem 100-4f das mit der Hauptspeicher-Folgesteuereinrichtung des Speicher-Schnittstelleneinheit-Untersystems verbunden ist, enthält bei
einer bevorzugten Ausführungsform vier Speichermoduln
104-1 bis 104-4. Diese Moduln werden unter der Steuerung der Hauptspeicher-Folgesteuereinrichtung in einerAnzahl
von unterschiedlichen Betriebsarten betrieben, einschliesslich einer Verschachtelungs-Betriebsart. Diese Moduln bewirken die Speicherung für die Information, die von den
509828/0878
Verarbeitungs-Komponenten des Systems während der Ausführung von laufenden Anforderungen benötigt wird. Weitere
Einzelheiten bezüglich der Hauptspeicher-Polgesteuereinrichtung werden an anderer Stelle näher beschrieben
(siehe US-Patentanmeldung, Ser.No. 295 331 v. 5.10.72).
Wie in Fig. 1 gezeigt, ist die Eingabe/Ausgabe-Steuereinrichtung 1OO-2 mit dem peripheren Untersystem 100-5
verbunden. Das Untersystem enthält eine Vielzahl von "pheripheren Prozessoren11, die die Operationen einer Anzahl
von peripheren Einrichtungen steuern, welche mit ihnen verbunden sind (hierbei handelt es sich um Einrichtungen,
wie zum Beispiel um Magnetbandantriebe, Massenspeichereinheiten, wie Platten, und um Einheitsauf Zeichnungs-Einrichtungen,
wie Drucker, Kartenleser, Kartenlocher. Zum Zwecke einer geeigneten Bezugnahme werden der Ausdruck
"pheripherer Prozessor" sowie weitere hier benutzte Ausdrücke in einer Anhangtabelle weiter unten näher erläutert.
Die Eingabe/Ausgabe-Steuereinrichtung steuert Informationsübertragungen zwischen den pheripheren Untersystemen und
dem Hauptspeicher-Untersystem. Die betreffende Steuereinrichtung kann zum Beispiel bis zu 16 pheriphere Untersysteme
aufnehmen, deren jedes, wie oben erwähnt, eine Ergänzung von Magnetband, Platten, Kartenleser oder Lochungseinrichtungen,
Drucker etc. leitet. Die Eingabe/Ausgabe-Steuer-Einrichtung besitzt eine Schnittstelle zu dem Hauptspeichersystem
hin, um zwischen dem Hauptspeicher und den pheripheren Untersystemen Informationen zu übertragen und Gruppen von
zugehörigen Befehlen, die als "Kanalprogramme11 bezeichnet
werden, aus dem Hauptspeicher abzuholen und diese Befehle ohne Unterbrechung des Betdebs des Zentraleinheits-Untersystems
auszuführen.
509828/0678
Darüber hinaus besitzt die Eingabe/Ausgabe-Steuereinrichtung eine Schnittstelle zu dem Zentraleinheits-Untersystem hin,
um Zustandsinformationen der p__eripheren Untersysteme an die
Zentraleinheit für die Bewertung und/oder für ein entsprechendes Einwirken abzugeben und auf Anforderungen von
der Zentraleinheit hin mit der Ausführung von "Kanalprograromen" zu beginnen, sowie die Zentraleinheit darüber zu
informieren, wenn eine Kanalprogrammausführung beendet worden ist. Bei der bevorzugten Ausführungsform der vorliegenden Erfindung werden Eingabe/Ausgabe-Operationen grundsätzlich unter der Steuerung eines Kanalprogramms ausgeführt, welches einen vollständigen Satz von Befehlen und
Adresseninformation für die Ausführung einer bestimmten Eingabe/Ausgabe-Operation enthält. Die Eingabe/Ausgabe-Steuereinrichtung enthält die für die Ausführung eines
Kanalprogramms erforderliche Hardware/Firmenware. Die Ausführung eines Programms durch die Eingabe/Ausgabesteuereinrichtung wird über eine Vielzahl von Kanälen bewirkt.
Ein "Kanal" ist ein Zugriffsweg von der Zentraleinheit zu der peripheren Einrichtung, und zwar zum Zwe^pke der
Ausführung einer Eingabe/Ausgabe-Operation· Der Kanal enthält die Eingabe/Ausgabe-Steuereinrichtungs-Einrichtungen,
einen physikalischen Kanal zwischen der Eingabe/Ausgabe-Steuereinrichtung und dem peripheren Untersystem und einen
Verknüpfungskanal, der die Einrichtungen in dem peripheren Untersystem enthält, die für die Ausführung einer gegebenen
Eingabe/Ausgabe-Operation erforderlich sind· Bei der bevorzugten Ausführungsform kann ein peripherer Prozessor bis
zu 255 Verknüpfungskanälen bedienen bzw. verarbeiten· Wie aus Fig. 1 hervorgeht, enthält das Eingabe/Ausgabe-Steuereinrichtungs-Untersystem eine Speicherleiteinheit 102-1,
eine Bedienungscodeeinheit 102-2 und eine Vielzahl von Kanalsteuereinheiten. Da die Eingabe/Ausgabe-Steuereinrichtung bis zu 16 periphere Untersysteme aufnehmen kann, ent-
509828/0678
hält sie eine entsprechende Anzahl von Kanalsteuereinheiten.
Wie oben erwähnt, werden die Eingabe/Ausgabe-Operationen
durch Kanalprogramme festgelegt. Sie Kanalprogramme werden durch den peripheren Prozessor über
"Verknüpfungskanäle" ausgelöst, die den peripheren Einrichtungen zugeordnet sind. Sie Eingabe/Ausgabe-Steuereinrichtung
hält die gesamte Information fest, die sich auf den Zustand des jeweiligen Verknüpfungskanals bezieht
und auf die damit in Verbindung stehenden Kanalprogramme. Sie Kanalprogramme werden gleichzeitig mit den zentralen
Verarbeitungsoperationen ausgeführt. Auf diese Weise erhält man eine Mehrprozessverarbeitung und Mehrprogramm-Verarbeitung.
Für die Zwecke der vorliegenden Erfindung kann die Anordnung zur Ausführung von Eingabe/Ausgabe-Operationen als herkömmlich
aufgebaut angesehen werden. Bezüglich weiterer Informationen darüber, wie die Kanäle benutzt werden,
um Eingabe/Ausgabe-Operationen auszuführen, sei auf die Sruckschrift "Computer Organization and the System/370"
von Harry Katzan, Jr., 1971, Van Nostrand Rinehold Company, hingewiesen.
Bevor die verschiedenen Elemente der Fig. 1 erläutert
werden, sei zunächst die Organisation des Hauptspeichers 104 unter Bezugnahme auf Fig. 1a erläutert.
Ein Bereich, der dem unteren Ende des Hauptspeicher-Adressenraumes
entspricht, ist für die Benutzung durch die System-Hardware und -Firmenware reserviert. Sie obere
Grenze dieses Bereichs wird durch den Inhalt eines "Grenzadressregisters11 (BAR) genau angegeben, zu dem
die System-Software Zugriff hat. Im allgemeinen ist der
509828/0678
Inhalt des Grenzadressregisters auf einen bestimmten
Wert zum Zeitpunkt der Inbetriebsetzung des Systems gesetzt. Der Bereich oder der Platz unterhalb der durch den
Inhalt des Grenzadressregisters bezeichneten Adresse enthält normalerweise !Tabellen, die von der Eingabe/Ausgabe-Steuereinrichtung verwendet werden und die die
bestimmte periphere Untersystem-Konfiguration sowie Firmenware-Befehle für die Steuerung des Betriebs der
Zentraleinheit bezeichnen. Wie aus Pig. 1a hervorgeht, ist der Speicher in eine Vielzahl von Segmenten unterteilt,
zu denen ein vorgegebener Prozess Zugriff besitzt, der durch die arbeitende System-Software festlegbar ist.
Der Hauptspeicher kann als segmentierter virtueLer
Speicher gekennzeichnet werden, in welchem die Adressen von Programmen Daten sind, die durch den Namen des
Segmentes, in welchem sie untergebracht sind, und durch eine Versetzung innerhalb des Segmentes dargestellt sind.
Den Segmenten sind Schutz-"Ringe" zugeordnet, die den
Inhalt des Segments vor Zugriffen schützen. Ausserdem sind die dem Segment zugehörigen Schutz-Ringe Teil der
Daten, die dem betreffenden Segment zugehörig sind. Bezüglich einer zusätzlichen Information darüber, wie
die Ausführung eines virtuellen Speichers und eines Programmschutzes erfolgt, sei auf die Druckschrift
"The Multics Virtual Memory11, von Honeywell Information
Systems Inc., veröffentlicht 1972, hingewiesen.
Die Hauptspeicher-Emulator-Information und die Datenstrukturen gemäss Fig. 1a enthalten eine Vielzahl von
Segmenten (A bis D)·
Das Segment A ist so codiert, dass es ein Abbild des Zielsystem-Steuerspeichers speichert. Entsprechend enthält
509828/0678
es die Verarbeitungsregiater (zum Beispiel Lese-Schreibzähler
- anfangend und laufend, technisch-wissenschaftliche Register, Arbeitsregister, etc.). Das Segment A
wird dem System durch den Inhalt des Basisadressregisters (BR3) genau angegeben. Das Segment B enthält die Eingabe/
Ausgabe-Tabellen, die in Übereinstimmung mit der vorliegenden Erfindung organisiert sind. Zu diesem Segment
erfolgt durch den Inhalt des Basisadress-Registers 4 (BR4) Zugriff.
Der Zielsystem-Hauptspeicher ist dem Segment C zugeordnet, und das System wird dem Emulations-System durch den Inhalt
des Basisadressregisters 2 (BR2) bekannt-gegeben. Die Segmentgrösse ist so ausgelegt, dass sie gleich der
Speichergrösse des Zielsystems ist, das emuliert wird.
Bei einer vorgegebenen absoluten Adresse M oder einem Zeichen, würde das Zeichen durch Indizierung des Inhalts
des Basisadress-Registers 2 durch M festgelegt werden. Bei der bevorzugten Ausfühxungaform entspricht das Format
der in dem Hauptspeicher enthaltenen Information dem Format der Information, die von dem Zielsystem benutzt
wird. Dies bedeutet, dass beide Systeme ein "Zeichen"verwenden,
welches acht Bits enthält, und zwar sechs Datenbits und zwei Zeichensetzungsbits (das sind ein Wortmarkierungsbit-Bit
1 und ein Datenwortmarkierungsbit-Bit O), Der einzige Unterschied zwischen der Art und Weise, in
der die Information in dem Wirts-System dargestellt wird, liegt in der Numerierung der Bits von links nach rechts
als Bits Null bis 7 anstatt von rechts nach links als Bits 1 bis 8. Das Segment D enthält die TabelLen und
Routinen für die Verarbeitung solcher Funktionen, die nicht von der Hardware oder Firmenware des Systems
ausgeführt werden. So wird zum Beispiel der Softwareteil, der Emulationstragsatz (ESF) derart betrieben, dass Eingabe/
Ausgabe-Befehle der Zielsysteme übersetzt und ausgeführt
509828/0678
werden* Ausserdem können verschiedene Hartwareteile
der Zielsystem-Architekturen simuliert werden, ebenso
wie bestimmte Operationen bisher von Zielsyatemen ausgeführt wurden«
Ea dürfte selbstverständlich einzusehen sein, dass die
eigentliche Ausführung der Eingäbe/Ausgabe-Operationen über die Eingabe/Auegabe-Struktur des Wirte-Systems abläuft. Die-in dem Segment D zum Beispiel enthaltenen
Tabellen weisen periphere Adressen auf, die von den Zielsystemen benutzt werden und die dem Eingabe/Ausgabe-System für eine bestimmte Konfiguration entsprechen, die
unter Emulation steht· Weitere Tabellen werden dazu herangezogen, den Zustand einer bestimmten übertragung, deren
Steuereinheit8-Einriohtung8adresse sowie den Zustand für
sämtliche Lese/Schreibkanäle des Zielsystems aufzuzeichnen.
In dem Hauptspeicher ist ein Segment oder ein Teil eines Segments enthalten, obwohl dies In Fig. 1a nicht gezeigt ist· Dieses Segment oder dieser Segmentteil enthält
den Prozess-Steuerblock (PCB) · Der Prozess-Steuerblock enthält die relevante Information, die für den Ablauf
oder Betrieb eines vorgegebenen Prozesses erforderlich ist· Der Typ der in dem Prozess-Steuerblook enthaltenen
Information ist in Fig· 1b veranschaulicht· Wie aus dieser Fig· hervorgeht, ist diese Information die gesamte
Information, die erforderlich ist,um das System gemäss Fig. 1 in den Stand zu versetzen, eine bestimmte Ziel·
maschine zu emulieren. Der Inhalt des Prozess-Steuerblockes wU hier In Verbindung Bit der vorliegendes Erfindung beschrieben werden·
509828/0678
250000a
Nunmehr werden die verschiedenen Teile des Zentraleinheits-Untersystems
gemäss Fig. 1, die für die Emulation benutzt werden, näher beschrieben.
Steuerspeicher-Schnittstellenadapter und Steuerspeichereinheit - Pig. 2a
Das Steuerspeicherfeld 205-1 der Steuerspeichereinheit enthält bei der bevorzugten Ausführungsform sowohl festliegende
als auch änderbare Bereiche. Der festliegende Bereich kann unter Ausnutzung eines programmierbaren Pestwertspeichers
(PROM) aufgebaut sein, und der änderbare Teil des Speichers enthält einen durch eine integrierte
Schaltung gebildeten Lese/Schreibspeicher. Der gesamte Speicher ist über ein Adress-Register KS adressierbar;
sein oberer Teil ist veränderbar, um die Fähigkeiten zu erhalten, das System in einer Vielzahl von unterschiedlichen
Betriebsarten steuern zu können. Eine daartige
Betriebsart ist jene, die bei der Emulation des Betriebs in eine Anzahl von unterschiedlichen Zielsystemen benutzt
wird. Eine weitere Betriebsart umfasst eine Diagnose-Fähigkeit zum Zwecke der Feststellung, welcher Systemteil
oder welche Systemteile ausgefallen sein können. Bei der vorliegenden Ausführungsform besitzt das Steuerspeicherfeld
eine Grosse von 7K (K = 1024 Bits), und die Breite jedes Steuerspeicherwortes beträgt 84 Bits. Das Steuerspeicherfeld
ist in folgende Bereiche unterteilt: 1K für Mikro-Diagnosen bzw. -Fehlerdiagnosen; 2K für die
Emulation und 4K für den Maschinencodebetrieb. Es dürfte einzusehen sein, dass die Steuerspeicherplätze, die
einen bestimmten Bereich umfassen, entweder aneinander grenzend bzw. abhängig oder nicht aneinandergrenzend sein
können. Der 1K-Bereich, der für Mikro-Fehlerdiagnosen
509828/0678
benutzt wird, ist dynamisch veränderbar. Dasselbe trifft
auch für Teile zu, die für die Emulation und für den Maschinencodebetrieb benutzt werden. Die übrigen Speicherplätze des Steuerspeichers sind nicht änderbar oder festgelegt. Es sei bemerkt, dass die Struktur des Steuerspeicher·
feldes in Abhängigkeit von den Kosten, der Geschwindigkeit und Flexibilität zusätzlich in Abhängigkeit von anderen
Erwägungen geändert werden kann. Bezüglich weiterer Einzelheiten betreffend Pestwertspeicher sei auf einen Artikel
mit dem Titel "Universal Logic Modules Implemented Using LSI Memory Techniques" von Kenneth J. Thurber und
Robert O. Berg, veröffentlicht in der "Pail Joint Computer
Conference", 1971, hingewiesen.
Jedes Steuerspeicherwort besitzt, wie oben erwähnt, eine Länge von 24 Bits; es ist in eine Vielzahl von Feldern
(6) unterteilt, wie dies in Pig. 5 veranschaulicht ist. Ein erstes^ als "E"-Peld bezeichnetes PeId ist ein Verzweigungs-Steuerfeld, welches den Typ der vorzunehmenden
Verzweigung angibt. Wie aus Pig. 2a hervorgeht, sind bis zu acht verschiedene Typen von Verzweigungscodes
vorgesehen, die mit EO bis E7 bezeichnet sind.
Die Auswahlschaltungen 204-1 bis 204-7 des Steuerspeicher-Schnittstellenadapters benutzen die Felder A, B, C, D
und L eines Mikrobefehlswortes, um Verzweigungsadressen zu erzeugen. Wenn das E-PeId so codiert ist, dass beispielsweise alle Bits Nullen^ind, gibt dies eine bedingte
(oder, wenn kein Test angegeben ist, eine unbedingte) Verzweigungsoperation von vier möglichen Verzweigungsoperationen unter Verwendung der C- und D-Felder als
Testfelder an. Die Verzweigung erfolgt zu einer Basisadresse, die gleich dem Wert der A- und B-Felder ist.
Dieser Wert wird auf der Basis der Ergebnisse modifiziert, e durch die Schaltungen 204-1 und 204-3 auf die Über-
509828/0678
25000Q6 --22-
prüfung der durch die Felder C und D angegebenen Bedingungen gebildet werden. Jedes Testfeld besitzt
eine Länge von sechs Bits; es ermöglicht vierundsechzig unterschiedliche Tests pro Feld. Das Ergebnis der Überprüfung
der Bedingungen bzw. Zustände, die durch die Felder C und D angegeben sind, veranlasst die Schaltungen 204-1
und 204-3, die Steueradressenbits 11 bzw. 12 auf binäre Einsen zu setzen. Das Steuerspeicheradressenbit 13
wird in einen Zustand gesetzt, der gleich dem Zustand des Bits L ist.
Wenn das Verzweigungssteuerfeld E auf einen Code von "1"
gesetzt ist, ermöglicht dies bis zu eine 64-fache Verzweigung unter Verwendung der Felder D, C und D als
Testfunktionen auszuführen. Das B-Feld wird als Testmaske
verwendet, wenn die Testfunktionen überprüft werden (das heisst, dass die Testfunktionen mit dem B-Testfeld
in einer UND-Operation verknüpft werden). Wenn das E-FeId
so codiert ist, dass es einen Code von "2" enthält, gibt dies eine Unterbrechungs-Rückkehroperation an, die die
vorliegende Erfindung nicht betrifft und daher hier auch nicht weiter beschrieben zu werden braucht. Wenn das E-FeId
so codiert ist, dass es eine "3" enthält, zeigt dies
eine
eine die Rückkehr von einer/Mikroprogramm-Unterroutine betreffenden Operation an, auf die eine weitere Verzweigungs-Operation folgt, um die Rückkehr zu beenden. Bei dieser Operation wird der Adresseninhalt eines KR-Rückführregisters 204-12 als nächste Steueradresse benutzt. DSs Rückführregister 204-12 wird normalerweise mit einem Wert entsprechend dem Adresseninhalt eines Steuerspeicher-Adressregisters KS+1 über nicht dargestellte Inkrement-Schaltungen geladen. Wenn das E-FeId als "4" codiert ist, ermöglicht dies einer Inkrement-Sehaltung 204-11} den Inhalt des KS-Registers 204-1 um 1 zu erhöhen. Dies tritt lediglich
eine die Rückkehr von einer/Mikroprogramm-Unterroutine betreffenden Operation an, auf die eine weitere Verzweigungs-Operation folgt, um die Rückkehr zu beenden. Bei dieser Operation wird der Adresseninhalt eines KR-Rückführregisters 204-12 als nächste Steueradresse benutzt. DSs Rückführregister 204-12 wird normalerweise mit einem Wert entsprechend dem Adresseninhalt eines Steuerspeicher-Adressregisters KS+1 über nicht dargestellte Inkrement-Schaltungen geladen. Wenn das E-FeId als "4" codiert ist, ermöglicht dies einer Inkrement-Sehaltung 204-11} den Inhalt des KS-Registers 204-1 um 1 zu erhöhen. Dies tritt lediglich
509828/0678
250QQQ6 -23-
nach einer bedingten Operation oder einer
Rückführ-Verzweigungsoperation auf· Ferner sindthier
nicht näher dargestellte Einrichtungen vorgesehen, die in das Adress-Register ES einen bestimmten Wert auf
bestimmte externe Bedingungen hin einführen·
Wie aus Flg. 5 hervorgeht, enthält das Steuerspeicherwort
ein zusätzliches Feld K. Dieses Feld ist ein 14-Bit-Feld,
von welchem sechs Bits für die Angabe einer Eonstanten, vier Bits für die Angabe einer weiteren Eonstanten oder
eines Steuerungsfeldes und die letzten vier Bits als Steuerungsfeld für eine Eonstante ausgenutzt sind. Ein
QA-QB-FeId besitzt acht Bits, von denen vier Bits die
an eine erste Busleitung abzugebende Information bezeichnen (das ist die QA-Busleitung) und von denen die nächsten
vier Bits die an eine andere Busleitung (das 1st die QB-Busleitung) abgegebene Information steuern· Die beiden
Busleitungen sind bidirektional betreibbar; sie verbinden die verschiedenen Einheiten der Zentraleinheit für die
Übertragung und Aufnahme von Daten und Steuerinformation·
Bei Fehlen einer Verzweigungsoperation wird der Steuerspeicher während eines OperationsZyklus durch den Inhalt
des ES-Adressregisters 204-9 adressiert, und der Inhalt eines adressierten Speicherplatzes wird in eine Vielzahl
von Daten-Verriegelungsschaltungen 205-2 ausgelesen. Danach wird ein Teil der Ausgangssignale (das sind die
Bits 26ULs 79) aus diesen Verriegelungsschaltungen an Speicherregister (nicht gezeigt) verteilt oder zu diesen
übertragen, die innerhalb jeder der Einheiten des Zentraleinheits-Untersystems enthalten sind. Jede derartige
Einheit enthält Decodier-Verknüpfungsachaltungen (nicht
gezeigt), die die Form von programmierbaren Festwertspeichern (PROM) besitzen und die die erforderlichen
509828/0678
Unterbefehls-Steuersignale für ihre entsprechende Einheit liefern. Auf diese Weise kann jede Einheit die von ihrem
PROM-Speicher gelieferten Steuersignale verknüpfen bzw. kombinieren, diese Signale in Gruppen für die Kombination
mit anderen Signalen unterteilen, die innerhalb der betreffenden Einheit erzeugt worden sind, und zwar entsprechend
der Forderung zur Ausführung verschiedener Operationen. Sie Dekoderschaltungen 203-4 decodieren bestimmte
Felder (zum Beispiel Verzweigungsfelder) und erzeugen Signale, die für AblaufSteueroperationen erforderlich sind.
Wie aus Fig. 2a ferner ersichtlich ist, enthält die Steuerspeichereinheit
ein örtliches Register KN 205-6 welches über das Register KW 205-3 mit dem Steuerspeieherfeld
205-1 verbunden ist. Diese Anordnung ermöglicht ein Zurückschreiben der während eines Speicheroperatiaszyklus ausgelesenen
Information in einen adressierten Speicherplatz. Aufgrund der Registergrösse wird die ausgelesene Information
in das Steuerspeicherfeld 12 in Form von Bits zu einem Zeitpunkt wieder eingeschrieben.
Diese Einheit, die in Fig. 1c in Blockdiagrammform dargestellt
ist, führt sämtliche erforderlichen Rechen- und Verknüpfungsoperationen für das Zentraleinheits-Untersystem
aus. Die Einheit enthält eine Wort-Rechen- und Verknüpfungseinheit 206-1, die in Fig. 2a dargestellt ist, und die
Rechen- und Verknüpfungsoperationen auf zwei Operanden hin ausführt. Diese Operanden haben eine Länge von vier Bits;
sie werden in zwei Operanden-Registern 206-3 und 206-5 gespeichert. Die Inhalte der Operanden-Register 206-3
und 206-5 werden über in herkömmlicher Weise aufgebaute Auswahlschaltungen 206-7 und 206-9 abgegeben. Die von
509828/0678
einem Wortaddierer 206-1 erzeugten Ausgangsergebnis-Signale werden dem Register 206-3 und einem Register LY
zugeführt. Eine Dekoderschaltung 206-2 überprüft das AC-Register hinsichtlich des Vorliegens von Nullen·
Zwei Register 206-11 und 206-12 dienen als Hilfsregister;
sie sind mit den Elementen und den angegebenen Busleitungen verbunden. Das AP-Register 206-12 erhält ferner Datensignale von einem AG-Register 206-88, und zwar über die
SPS-Auswahlschaltung 206-14 auf Steuersignale von einem
dreistufigen Zähler 206-16 her. Der SE-Zähler 206-16 wird in seiner Zählerstellung durch eine Inkrement-Dekrement-Schaltung 206-18 um 1 erhöht/verringert. Dieser
Zähler wird von Registern her geladen, die in dem Byte-Addierer und in der Steuerspeicher-Schnittstellenadapter-Einheit enthalten sind·
Die Rechen- und Verknüpfungseinheit enthält ferner ein AI-Operationscode-Register 206-20, Dekoderschaltungen
206-22 und ein Betriebsart-Steuerregister; diese Register bzw. Schaltungen sind in der dargestellten Weise angeordnet.
Der Inhalt des Registers 206-24 veranlasst den Addierer, Operationen auszuführen, wie sie durch den Operations-Code eines Befehls angegeben sind. Die Rechen- und Verknüpfungseinheit enthält ferner eine 64-Bit-Verschiebeschaltung 206-30, die die Form von Yerknüpfungsschaltungen
besitzen kann, wie sie an anderer Stelle näher beschrieben werden (siehe US-Patentanmeldung Ser.No. 320 011
v. 2.1.73). Die Verschiebeschaltung 206-30 ist mit den
AC- und AE-Registern 206-3 und 206-11 verbunden; sie wird von einem 8-Bit-Steuerregister 206-32 gesteuert.
Das Register 206-32 wird direkt von den dargestellten Quellen her geladen oder indirekt über eine Auswahl-
509828/0678
Schaltung 206-34.
Wie aus Fig. 1c hervorgeht, enthält die Rechen- und Verknüpfungseinheit
einen 8-Bit-(Byte)-Addierer 206-50, der in fig. 2c in einzelnen gezeigt ist. Für die Zwecke der
vorliegenden Erfindung kann der Addierer 206-50 als in herkömmlicher Weise aufgebaut angesehen werden. Der Addierer
206-50 arbeitet auf die Operanden eines Bytes hin, und zwar zu einem Zeitpunkt; er enthält Decodier-Verknüpfungsschaltungen,
die diejenigen Operationen ausführen, die von den Zielsystemen benötigt werden. Darüber hinaus enthält der
Addierer dezimale Korrekturschaltungen 206-72, Nullergebnis-Dekoderschaltungen
206-74, ein Ausgabe-Flipflop 206-75 und Ausgabe/Auswahlschaltungen 206-76. Ausserdem enthält
der Addierer 206-50 eine Vielzahl von Speicherregistern, die an der gemeinsamen Busleitung QA und QB angeschlossen
sind sowie an eine weitere in Fig. 2c gezeigte Busleitung. Dabei ist ersichtlich, dass ein Register 206-53 an der
gemeinsamen Daten-Steuerungs-Busleitung QB und an Quellen angeschlossen ist, die mit LSM, AA und ARB bezeichnet sind.
Die Verbindung erfolgt dabei über die Schaltungen 206-78. Die Quelle LSM entspricht dem Hilfsspeicher gemäss Fig. 2d,
der in der örtlichen Speichereinheit 101-7 gemäss Fig. 1 enthalten ist. Wie zuvor erwähnt, bewirkt dieser Speicher
eine Kurzzeitspeicherung für die Rechen- und Verknüpfungseinheit sowie eine Kurzzeitspeicherung für die Steuerungsinformation und Adresseninformation, die die Verarbeitung
dnes bestimmten Befehls betrifft. Die Anwendungen bestimmter Speicherplätze innerhalb des örtlichen Speichers sind in
Fig. 3 und 4 veranschaulicht. Die Quellen AA und ARB
entsprechen dem Register 206-52 bzw. dem Byte-Addjfarer
206-50. Das Register 206-52 ist mit den beiden Busleitungen QA und Q-B sowie mit dem AC-Register 206-3 über eine Auswahlschaltung
206-65 verbunden.
509828/0678
Wie aus Pig. 2b ersichtlich ist, dienen die AA- und
AB-Register 206-52 und 206-54 hauptsächlich als A- und B-Operanden-Register, die über die AAS- bzw. ABS-Ausmhlschaltung 206-56 bzw. 206-58 mit den Byte-Addierer
206-50 verbunden sind. Ein Betriebsart-Steuerregister 206-57 ist direkt an den Addierer 206-50 angeschlossen.
Der Inhalt des Registers veranlasst den Addierer, die Operation auszuführen, wie sie durch eine Konstante angegeben ist, die in das Register geladen ist· Das AB-Register
206-52 nimnt ein bezeichnetes Byte von vier Bytes auf, die in den AD-Register des Wort-Addierers gespeichert sind.
Das ausgewählte bestinte Byte ist durch den Inhalt eines SD-Zählers 206-60 festgelegt, der eine Inkrenent/Dekrement-Schaltung 206-61 enthält. Der Zählerinhalt dient als
Zeiger, der eines der Bytes angibt, das als nächstes Byte in das AB-Register 206-58 zu laden ist· In ähnlicher
Weise enthält der SO-Zähler 206-62 eine Inkrenent/Dekrement·
Schaltung 206-63f die als Zeiger dient, welcher angibt,
welches Byte in das AA-Register 206-52 von den AC-Register
206-3 des Wort-Addierers her zu laden ist· Dies bedeutet, dass die Zähler SD und SC die Auswahlschaltungen 206-65
bzw. 206-66 veranlassen, die AA- und AB-Operanden-Register
von den AC- und AD-Registern her zu laden· Ausserden können
die AB- und AA-Register 206-58 und 206-55 über Verknüpfungs- bzw. Gatterschaltungen 206-78 und 206-80 geladen werden. Die Auswahlschaltungen 206-65 und 206-66
können zwei Steuerregister 206-82 und 206-84 laden. Diese Register bewirken eine Kurzzeitspeicherung für bestimmte Varianten-Steuerzeichen eines Befehls, der verarbeitet wird (zum Beispiel Operationscode und Cl-Zeichen).
Eine Dekoderschaltung 206-86 ist nit dem Register 206-84 zum Zwecke der Dekodierung der Bits des Cl-Zeichens verbunden.
509828/0678
Die Steuerregister enthalten ein weiteres Register 206-88,
welches dazu herangezogen wird, bestimmte Maskierungsbzw. Ausblendoperationen auszuführen, gemäss denen Signale
in das Register über eine Auswahlschaltung 206-90 geladen und der Reihe nach über die Auswahlschaltung 206-34
an den Byte-Addierer 206-50 abgegeben werden. Das Register 206-58 wird ferner dazu benutzt, einen dreistufigen Dekrement-Zähler
206-92 zu laden. Dieser Zähler wird dazu benutzt, die Anzahl der Steuerzeichen festzuhalten, die
von dem Emulator verarbeitet werden. Der betreffende Zähler enthält ferner eine Dekoderschaltung 206-94»
die signalisiert, wenn der Zählerinhalt des Zählers auf Null verringert ist.
Darüber hinaus enthält der Byte-Addierer 206-50 eine Vielzahl von Flipflops, die von dem Wirts-System für
Steuerungs- und Speicherzwecke benutzt werden. Ein derartiges Flipflop ist ein Emulationsbetrieb-Flipflop
206-80, das durch Firmenware setzbar und zurückstellbar ist. Weitere Flipflops umfassen eine Vielzahl von Steuerungs-Flipflops
CFO bis CF7, die mit den Steuerspeicher-Testschaltungen
gemäss Fig. 2a verbunden sind.
örtliche Speichereinheit - Fig. 2d
in Fig. 2d ist die örtliche Speichereinheit der Rechen-
und Verknüpfusgs@ish.eit gesäss Fig, 1 and 1e im einzelnen
dargestellt. Wie aus Fig. 2d hervorgeht, enthält die betreffende Einheit einen adressierbaren Hilfsspeicher
207-1, der eine 32iger Breite besitzt. Der Speicher enthält, wie dargestellt, bis zu 256 Speicherplätzen. Er
ist über ein LR-Register 207-2 adressierbar, welches
Eingangssignale von der QA-Busleitung sowie von dem EW-Register 206-84 über ein Register 207-4 und Verknüpfungs-
509828/0678
25000Q6
Schaltungen 207-3 in der dargestellten Weise erhält. Das LR-Register 207-2 enthält ferner eine Inkrement/Dekrement-Schaltung 207-5· Während eines Operationszyklus
wird der Inhalt eines adressierten Speicherplatzes in ein Ausgaberegister 207-9 ausgelesen und an die dargestellten Register und Busleitungen abgegeben.
Wie erwähnt, zeigt Fig. 3 die Auslegung des Speichers 207-1· Aus .Fig. 3 ergibt sich dabei, dass die ersten
sechzehn Speicherplätze der Speicherung von Informationen zugeteilt sind, und /den Mehrzweckregistern QRO bis GR15
des Prozess-Steuerblockes entsprechend· Wie hier erläutert, werden diese Speicherplätze dazu benutzt, den Emulationstragsatz ESF aufzurufen, wenn sie so codiert sind, dass
sie eine Information enthalten, die in einem format, wie dem in Fig. 4 gezeigten, untergebracht ist. Eine
weitere Gruppe von Speicherplätzen 30 bis 3F dient als Arbeitsspeicherplätze, die eine Information speichern,
welche aus den Eingabe/Ausgabe-Tabellen erhalten wird, wie dies hier beschrieben wird· Die übrigen Speicherplätze betreffen nicht die Erfindung und werden daher
hier auch nicht weiter beschrieben.
In Fig. 2e sind die Schaltungen gezeigt, die effektive und absolute Adressen eines Hauptspeichersegments erzeugen,
und zwar unter Verwendung einer 16 Bit breiten Zuordnungsschaltung oder eines inhaltsadressierbaren Speichers 202-1.
Der Speicher 202-1 ist mit einem Codierer 202-3 verbunden, der seinerseits dazu benutzt wird, eine Bezugnahme auf den Inhalt eines entsprechenden Speicherplatzes
509828/0678
von sechzehn Speicherplätzen eines Zuordnungsschaltungs-Pufferspeichers
206-5 zu "bewirken, der eine Breite von vierundsechzig Bit besitzt. Eine Information wird in
den Puffer über ein Register 202-4 eingeschrieben. Die
UAS-Zuordnungsschaltung 202-1 ist ausserdem mit einem
Eingaberegister 202-7 verbunden, welches eine Segmentnummarn-Information
aus einem Register 202-9 aufnimmt. Wie hier erläutert, wird die obige Anordnung dazu benutzt,
eine absolute Adresseninformation für die Bezugnahme auf den Hauptspeicher zu erzeugen. Diese besondere Anordnung
wird an anderer Stelle näher beschrieben (siehe US-Patentanmeldung, Ser.No. 283 617 v. 24.8.72).
Die Adressen-Zuordnungsschaltung 202-1 enthält im einzelnen die Segmentzahlen bzw. Segmentnummern "STN/STE"
von bis zu sechzehn Segmentdeskriptoren, die in dem Zuordnungspuffer 202-5 gespeichert sind. Jeder der sechzehn
Speicherplätze in der Zuordnungsschaltung enthält zwölf
Datenbits zuzüglich vier Prüf- und Steuerbits. Während der Entwicklung einer absoluten Adresse wird die Nummer
eines gewünschten Segments in ein US-Register 202-7 geladen. Dieses Register dient als Adressregister, dessen
Inhalt parallel an die sechzehn Speicherplätze der Zuordnungsschaltung 202-1 abgegeben wird. Wenn ein 1-Vergleich
ermittelt wird, wird der Codierer 202-4 durch ein Aus gangs signal von der Zuordnungs schaltung 202-1 veranlasst,
einen 4-Bit-Code zu erzeugen, der seinerseits den in Frage kommenden Speicherplatz der 16 Speicherplätze
auswählt, die in dem der betreffenden Nummer bzw. Zahl zugeordneten Segmentdeskriptor enthalten sind. In dem
Fall, dass kein 1-Vergleich vorliegt, muss der Deskriptor für die betreffende Segmentnummer aus dem Hauptspeicher
über die QA-Busleitung abgeholt werden. Der Deskriptor wird, wenn er abgeholt ist, in den Zuordnungspuffer 202-5
über das Register 202-4 eingeschrieben, und ausserdem
509828/0678
250Q006 _31_
wird ein zugehöriges Treffer-Bit gesetzt.
Aus Fig· 2e geht hervor, dass die Ädressensteuereinheit
101-2 ebenfalls eine Einheitsregister-Datei (TSRF) 202-20 enthält, die eine Vielzahl von eine Breite von 32 Bits
besitzenden Basisadress-Register-Speicherplätzen BRO bis BR7 zusätzlich zu den Arbeitsregister-Speicherplätzen
UW4 bis UW7 aufweist. Sämtliche Speicherplätze sind dabei über eine Auswahlschaltung 202-22 durch die Inhalte
der Register 202-24, 202-26 und 202-30 adressiert. Bestimmte Register dieser Register enthalten normalerweise
Basisregisteradressen, die aus einem Befehl oder Mikrobefehl etc. abgeleitet sind und die über die Busleitungen
QA und QB in der dargestellten Weise abgegeben werden. Die URF-Datei ist unter Verwendung von Verknupfungsschaltungen aufgebaut; sie besitzt eine solche Struktur, dass
das Auslesen des Inhalts aus mehr als einem Register zu einem Zeitpunkt ermöglicht ist· Das Register 202-24
enthält eine Iηkrement-Sehaltung 202-28. Während eines
Schreib-Operationszyklus ist die Auswahlschaltung 202-22
durch Steuersignale, die von dem Steuerspeicher her erzeugt werden, veranlasst, den Inhalt der Register 202-24, 202-26
und 202-30 auszuwählen, um den Speicherplatz anzugeben, in den eine Information einzuschreiben ist. Die Adresseninhalte jedes der Register 202-24 und 202-26 werden
insbesondere dazu herangezogen, einen der ersten acht Speicherplätze auszuwählen. Der Inhalt des Registers 202-30
wird dazu benutzt, einen der zwölf Regiderspeicherplätze
auszuwählen. Bei Fehlen von Steuersignalen von dem Steuerspeicher her wird das Register 202-30 als Quelle der
Adressensignale ausgewählt. Die Register 202-24 und 202-26 werden auf bestimmte Steuereignale hin ausgewählt.
Während eines Lese-Operationszyklus ist eine Auswahlschaltung 202-32 derart betrieben, dass der Adresseninhalt
509828/0678
eines der Register 202-24 und 202-26 oder eine Konstante aus einem nicht dargestellten Register an eine Ausgabe/Auswahlschaltung
202-40 abgegeben wird, um einen der ersten acht Speicherplätze zum Zwecke des Auslesens auszuwählen.
Die Steuersignale bezeichnen ebenfalls das bestimmte Register, das von der Schaltung 202-32 auszuwählen ist·
Daten, die über die Busleitung QA oder die Busleitung QB, die Auswahlschaltung 202-36, das Byte-Adressregister
202-48 oder über die Inkrement/Dekrement-Schaltungen 202-46 abgegeben werden, werden in einen adressierten Speicherplatz
über eine Daten-Auswahlschaltung 202-34 eingeschrieben. Die Verknüpfungsschaltungen einer Auswahlsteuereinheit
202-47 erzeugen auf Signale von dem Steuerspeicher und einem Emulatorbetriebs-(UEMU)-Flipflop 202-49 Signale,
die die Auswahlschaltung 202-34 veranlassen, ausgewählte Bits von der QB-SannnelLeitung mit Bits von der in Präge
kommenden Quelle zu dem richtigen Format entsprechend dem angegebenen Zeichenbetrieb zusammenzufassen bzw. zu kombinieren.
Das Adressensteuereinheits-Emulatorbetriebs-Flipflop veranlasst die Auswahlschaltungssteuereinrichtung, Signale
für einen Zeichenbetrieb zu erzeugen, wie er durch die Verarbeitung von Zielsystembefehlen angegeben ist. Dieses
Flipflop wird anfänglich durch Firmenware eingeschaltet, wie dies hier erläutert wird. Der Zustand eines Steuerungs-Inkrement/Dekrement-(UID)-Flipflops
202-4 legt fest, ob die Schaltungen 202-46 in einem Inkrement- oder Dekrementbetrieb
zu benutzen sind. Darüber hinaus nehmen die Inkrement-Dekrement-Schaltungen 202-46 Signale von einem
adressierten Speicherplatz über eine Auswahlschaltung 202-36 und von einem Register 202-48 her auf. Die Schaltungen
202-46 können aus herkömmlichen Addierer/Subtrahier-Schaltungen aufgebaut sein.
509828/0678
Wenn die Register 202-42 und 202-44 direkt von den
Steuerspeicher-Verriegelungsschaltungen her geladen werden, veranlassen sie die Auswahlschaltungen 202-36
bzw. 202-38, einen derJLetzten acht Registerspeicherplätze
für das Auslesen auszuwählen· Die Auswahlschaltung 202-36 gibt Signale an die Busleitungen QA und QB ab, und zwar
zusätzlich zur Abgabe an die Increment/Dekrement-Schaltungen
202-46. Sie Auswahlschaltung 202-38 gibt Signale an eine Addiererschaltung 202-50 ab, die an einem Ausgaberegister
202-52 und an der Auswahlschaltung 202-34 angeschlossen ist, während die Auswahlschaltung 202-40 mit einem Basis-Versetzungsregister 202-54 verbunden ist, dessen übrige
Eingänge in der dargestellten Weise beschaltet sind.
Während der Erzeugung einer absoluten.Adresse wird die
Segmentnummer "SEG" der Basisregisteradresse in das US-Register 202-7 über die UBS-Auswahlschaltung 202-40
geladen, während der "Versetzungs"-Wert der Basisregisteradresse in das UN-Register 202-54 geladen wird. Der Inhalt des UN-Registers 202-54 wird danach an den Addierer
202-50 abgegeben, der den Inhalt zu einem Verschiebewert hinzuaddiert, den er aus dem Adressenteil eines
Befehls erhalten hat, der verarbeitet wird. Die durch den Addierer 202-50 erzeugte Summe wird in eines der
Arbeitsregister (zum Beispiel UW2) über die UY/B-Datenauswahlschaltung 202-34 für eine weitere Bezugnahme
geladen. Die Zuordnungsschaltung 202-1 wird abgefragt, um zu bestimmen, ob die Adresse des Segments in dem US-Register 202-7 in dem Puffer 202-5 gespeichert ist.
Wenn sie dort gespeichert ist, wird die in dem Puffer 202-5 gespeicherte Segmentbasisadresse in das UN-Register 202-54
geladen. Der Arbeitsregister-Speicherplatz, der den Versetzungs- und Verschiebewert für das Segment enthält,
wird über die Auswahlschaltung 202-38 an den Addierer 202-50 abgegeben und zu der Segmentbasisadresse hinzuaddiert,
609828/0678
Die Summe bildet eine absolute Adresse, die in das UA-Register
202-52 geladen wird, um den Hauptspeicher zu adressieren. Ferner kann die absolute Adresse in einem
Arbeitsregisterspeicherplatz der Einheitregister-Datei zum Zwecke einer weiteren Bezugnahme (zum Beispiel UW2)
gespeichert werden.
Bezüglich einer weiteren Information betreffend die Art und Weise, in dar bestimmte,gerade beschriebene Elemente
aufgebaut sein können (zum Beispiel Auswahlschaltungen, Addiererschaltungen, Inkrement/Dekrement-Schaltungen,
Hilfsspeicher, etc.) sei auf eine Veröffentlichung mit dem Titel "The Integrated Circuits Catalog for
Design Engineers" von Texas Instruments Inc., 1972 gedruckt, hingewiesen. Es sei bemerkt, dass die angegebenen
Addiererschaltungen dazu benutzt werden können, den erforderlichen Typ von Inkrement/Dekrement-Operationen
auszuführen.
Bevor die Arbeitsweise der vorliegenden Erfindung beschrieben wird, sei zunächst auf Pig. 6 Bezug genommen,
in der die Organisation der Eingabe/Ausgabe-Tabellen gemäss der vorliegenden Erfindung angegeben ist. Bei
der vorliegenden Ausführungsform, wie sie aus Pig. 6
hervorgeht, sind sechs allgemeine Klassen oder Tabellen vorgesehen· Diese enthalten: Eine Lese/Schreib-Kanal-Tabelle,
eine Sektor-Tabelle, eine Beendigungs-Tabelle, periphere Steuereinheit-Tabellen, PCU-Erweiterungstabellen,
Einrichtungs-Tabellen und Einrichtungs-Erweiterungstabellen,
Die Lese/Schreib-Eanal (RWC)-Tabelle ist auf einer Basis
pro emuliertes Zielsystem organisiert. Dies heisst, dass
509828/0678
eine derartige Tabelle für jedes emulierte System vorgesehen ist. Der Inhalt des Basisadressregiders 4 (BR4)
gibt den Beginn oder die Basis der RWC-Tabelle an.
Jede !DaDeIIe enthält einen Adressenraum von 256 Bytes·
Diese Bytes sind in vierundsechzig Einträge gruppiert. Ein Eintrag ist für jeden möglichen Lese/Schreib-Kanal-Code vorgesehen, der durch ein Zielsystemprogramm bezeichnet werden kann. Jeder Eintrag ist so codiert, wie
dies in Fig. 7a angegeben ist. Aus Fig. 7a geht hervor, dass jeder Eintrag ein 6-Bit-Zeitfach-Ausblendfeld, ein
6-Bit-Zählercodefeld, ein einzelnes erweitertes Eingabe/
Ausgabe-Bit (EXX), ein 3-Bit-Sektor-Codefeld und ein
16-Bit-RWC-Belegungs-Ausblendfeld enthält. In Fig. 7a
ist ferner ein Beispiel für einen RWC-Feldeintrag gezeigt, wie er für ein bestimmtes Zielsystem angegeben ist.
Wie aus der betreffenden Figur hervorgeht, kann ein Maximum von sechs Zeitfächern in einem emulierten Zielsystem vorgegeben werden (das sind die Zeitfächer 1, 1a bis 3a).
Bei diesem Beispiel werden zwei Zeitfächer von dem RWC-Code benötigt; dies entspricht einer Datenübertragungsfrequenz von 167 Zeichen pro Sekunde in dem Zielsystem·
Dieses Feld zeigt jedoch nicht an, welche Zeitfächer belegt sind·
Der Zählercode entspricht der Adresse in Oktalschreibweise des den gegenwärtigen Speicherplatz angebenden Zählers,
der für die Adressenspebherung durch einen Datenübertragungsbefehl mit dem bezeichneten RWC-Code benutzt wird.
Bei diesem Beispiel ist die Zählercodeadresse gegeben mit 22 (Oktalschreibweise)· Der Code besitzt normalerweise
einen Wert im Bereich von OO Oktal bis 27 Oktal.
509828/0678
Jeglicher Lese/Schreib-Kanal-Code, der für die emulierte
Konfiguration unzulässig ist, wird als solcher durch den Zählercodeeintrag bezeichnet. Für den einem Code von OO Oktal
entsprechenden RWC-Eintrag und für sämtliche den RWC-Codes,
die in den Zielsystemen unzulässig sind, entsprechenden RWC-Einträge ist das Zählercodefeld so codiert, daß ein Bit hoher
Wertigkeit eine 1 ist (d.h. 1XXXXX). Dieser Zählercode wird in einer speziellen Weise behandelt. Wenn jemals der Emulator
einen Zählercode mit einem 1-Bit hoher Wertigkeit feststellt,
das während der Verarbeitung eines Datenübertragungs-Eingabe/ Ausgabe-Befehls ermittelt wird, so erzeugt er eine Bestimmungsnachricht, wie dies erläutert wird.
Das nEXT"-Bit ist 0. Dies bedeutet, daß die erweiterte Eingabe/Ausgabe-Eigenschaft
nicht benutzt wird und daß der abgeholte Eintrag bei der Verarbeitung des Befehls benutzt wird.
Wenn dieses Bit auf eine binäre 1 gesetzt ist, zeigt dies an, daß es erforderlich sein kann, einen "effektiven" RWC-Code
anstelle des genau angegebenen RWC-Codes zu verwenden, und zwar in Abhängigkeit von dem Status eines erweiterten Eingabe/Ausgabe-Zielsystem-Anzeigegliedes.
Wenn das Anzeigeglied eine binäre 1 ist (d.h. EIN ist), wird die Information in dem
gegenwärtigen Eintrag benutzt. Wenn das Anzeigeglied eine binäre 0 ist, wird die Information in einem Wechseleintrag
abgerufen und benutzt. FUr solche Zielsysteme, die diese Art der Eigenschaft nicht aufweisen, wird dieses Bit stets auf
0 gesetzt sein. Die durch dieses Merkmal hervorgebrachte Eigenschaft ist in dem oben erwähnten Programmierungsmanual
im einzelnen beschrieben.
509828/0678
Der dem RWC-Code zugehörige physikalische Sektor 1st der
Sektor 2; er 1st durch die Bits 13 bis 15 des Sektorfeldes
angegeben. Im Falle von Steuerungstypen der Eingabe/Ausgabe-Befehle, die keine Datenübertragung erfordern und die lediglich ein Cl-Steuerzeichen enthalten, werden die Sektorcodebits 13 bis 15 dazu benutzt, einen richtigen Zeitfach-Status-Eintrag abzurufen, wie dies hier erläutert wird. In derartigen
Fällen schließt eine überprüfung eines Lese/Schreib-Kanals
eine Überprüfung der Sektor-Zeitfächer ein. Der Grund liegt darin, daß eine festliegende Beziehung zwischen dem Sektor,
einem Zeitfach und dem RWC-Code in den Zielsystemen vorhanden ist. Im Falle eines Befehles, der eine Datenübertragung erfordert (z.B. ein PDDT-Befehl) werden die Sektorcodebits jedoch nicht benutzt.
Das 16 Bit umfassende RWC-BeIegungs-Ausblendfeld wird dazu
benutzt, anzuzeigen, welche Lese/Schreib-Kanäle zu belegen sind (d.h., welche Kanäle für einen Datenübertragungsbefehl
verfügbar sein müssen) oder überprüft werden nüssen (das ist
ein Steuerbefehl). Wie in Fig. 7a dargestellt, kann ein Zielsystem maximal 16 genau angegebene Lese/Schrelb-Kanäle aufweisen, wie dies veranschaulicht ist. Der Buchstabe HAM bezeichnet dabei einen Hilfskanal im Unterschied zu einem Hauptkanal. In einigen Zielsystemen ist eine feste Beziehung
zwischen den Lese/Schreib-Kanälen und den Zeitfächern vorhanden. Um höhere Ubertragungsraten bzw. -Frequenzen zu erzielen, die mehr als ein Zeitfach erfordern, sind die Lese/
Schreib-Kanäle "miteinander verbunden", was bedeutet, daß mehr als ein Kanal und damit Zähler für die Ausführung des Befehls
erforderlich ist. Da zwei Zeitfächer für eine Frequenz von 167 Hz erforderlich sind, sind in dem gegebenen Beispiel auch
509828/0678
2500Q06
zwei Lese/Schreib-Kanäle erforderlich. Infolgedessen ist
das RWC-Belegungs-Ausblendfeld so codiert, daß es Lese/Schreib-Kanäle
5 und 5a spezifiziert.
Es gibt zwei RWC-Tabellen-Einträge, die in einer bestimmten
Weise codiert sind. Diese Einträge entsprechen den Einträgen, die in Speicherplätzen gespeichert sind, welche durch die
Adresse 00 Oktal und 77 Oktal bezeichnet sind. Der RWC-1'abellen-Eintrag
an der Stelle (00)Q besitzt stets ein Zählercodefeld
von (1XXXX). Wie oben erläutert, wird dieser Code von dem Emulator im Falle eines Datenübertragungsbefehls als
unzulässig behandelt. Im Falle eines Steuerungs-Eingabe/Ausgabe-Befehls bewirkt der Emulator Jedoch eine Umgehung bestimmter
Testoperationen, wie dies erläutert wird, und beendet die Verarbeitung des Befehls.
Der RWC-Tabellen-Eintrag an der Stelle (77)8 besitzt ebenfalls
ein Zählercodefeld von 1XXXXX, welches den Emulator im Zuge
der Verarbeitung eines Datenübertragungsbefehls veranlaßt, eine Spezifikationsnachricht zu erzeugen, wie dies oben erwähnt
worden ist. Im Falle eines Steuerungs-Eingabe/Ausgabe-Befehls erzwingt der Emulator Jedoch eine Verzweigung, wie
dies erläutert wird. Das RWC-Belegungs-Ausblendfeld in diesem
Tabellen-Eintrag wird dazu benutzt anzuzeigen, welche Lese/ Schreib-Kanäle in dem Zielsystem, das emuliert wird, gerade
zugeteilt sind (d.h. belegt sind). Jedes Feld wird durch den Emulator-Tragsatz ESP aktualisiert, wenn ein Datenübertragungsbefehl ausgelöst oder beendet wird. Wie hier erläutert wird,
bewirkt der Emulator einen Zugriff zu dem Inhalt dieses Feldes, ohne indessen diesen Inhalt Jemals zu ändern, wenn er eine
509828/0678
"RWC-Belegungs-PrUfung" mit einem zulässigen RWC-Code ausführt, der weder (0O)8 noch (77)e für einen Datenübertragungsbefehl oder Steuerbefehl ist.
Ein weiterer, in Fig. 6 enthaltener Typ einer Tabelle ist
eine Sektor-Tabelle. Eine Sektor-Tabelle ist, wie dargestellt,
für jedes Zielsystem vorhanden, das emuliert wird. Die Sektor-Tabelle besitzt einen Adressenraum von 32 Bytes, der, wie
Fig. 6 zeigt, dem letzten Byte folgt, das einer RVC-Tabelle
zugeordnet ist. Die Sektor-Tabelleneinträge sind in der aus Fig. 7b ersichtlichen Weise codiert. Wie aus Fig. 7b hervorgeht, enthält der Sektortabelleneintrag ein Zeitfach-Status-Feld (Bits O bis 5), das so codiert ist» daß es anzeigt,
welche Zeitfächer in dem Sektor gerade benutzt werden (das ist der HBelegungsH-Status sämtlicher Sektor-Zeitfächer).
Ein 7-Bit-Feld (das sind die Bits 6 bis 12) ist für die Benutzung durch die Emulator-Software (ESP) reserviert. Der
Sektor-Tabelleneintrag enthält ferner ein 3-Bit-Status-Feld
(das sind die Bits 13 bis 15), wobei das Bit 13 in dem Fall,
daß es eine binäre 1 ist, anzeigt, daß der Sektor für das bestimmte Zielsystem nicht vorhanden ist (d.h., daß er nicht
existiert). Die Bits 14 uriL15 des Status-Feldes sind für eine
zukünftige Benutzung reserviert. Das letzte Feld (das sind die Bits 16 bis 31) des Sektoreintrags ist ein 16-Bit-Verschiebungs-Feld, welches die Basisstelle der peripheren
Steuereinheit-(PCU)-Tabelle für den Sektor in bezug auf die Stelle angibt, die durch den Inhalt des Basisregisters 4 bezeichnet ist bzw. auf die dieser Inhalt hinzeigt.
Ein eindeutiger Eintrag in die Sektor-Tabelle wird dadurch
festgelegt, daß demInhalt des Basisadressregisters 4 ein
509828/0678
Wert von 2561O plus ein Wert des Vierfachen des Sektorcodes
addiert wird, wobei der Sektor-Code einem 3-Bit-Feld entspricht, das wie folgt gebildet ist: a) Wenn das erste
Varianten-Zeichen Cl das einzige in dem Befehl vorhandene Varianten-Zeichen ist, wird der Sektor-Code aus dem RWC-Eintrag
entnommen, auf den durch das Cl-Zeichen Bezug genommen wird (lediglich Steuer-Eingabe/Ausgabe-Befehle-PCB);
b) wenn die Varianten-Zeichen C1 und C2 in dem Befehl vorhanden sind, wird der Sektor-Code dadurch gebildet, daß die
drei Bits hoher Wertigkeit des C2-Varianten-Zeichens herangezogen werden und daß das Bit hoher Wertigkeit auf den Binärwert
O gesetzt wird; c) wenn der Befehl ein Varianten-Zeichen C1 und ein Umschaltcodezeichen mit oder ohne der C2-Variante
enthält, wird der Sektor-Code dadurch gebildet, daß die drei Bits niedriger Wertigkeit des CE-Zeichens herangezogen werden.
Dies wird im einzelnen unter Bezugnahme auf Fig. 11 erläutert werden.
Die periphere Steuereinheit (PCU) ist ein dritter Tabellentyp, der in Fig. 6 enthalten ist. Dabei ist eine PCU-Tabelle
für jeden Sektor in dem Zielsystem vorhanden, das emuliert wird. Außerdem ist ein Eintrag in der Tabelle für jede mögliche
PCU-Adresse vorhanden, die durch das Zielsystemprogramm spezifiziert werden kann. Demgemäß sind 16 Einträge in der
Tabelle vorhanden, die jeweils vier Bytes aufweisen.
Das Format der PCU-Tabelle ist in Fig. 7c dargestellt.
aus Fig. 7c hervorgeht, enthält der Eintrag eine Information bezüglich des Typs der peripheren Steuereinheit, bezüglich
des Vorhandenseins der peripheren Steuereinheit und bezüglich
509828/0678
ihres Belegungs/Unterbrechungs-Zustandes. Dabei zeigt insbesondere ein Code 0 an, daß eine periphere Steuereinheit für
diesen PCU-Adreßcode nicht existiert. Wenn die ersten vier Bits als 0001 codiert sind, zeigt dieser Wert an, daß eine
Zielsystem-Druckersteuereinheit emuliert wird. Wenn diese Bits als 0010 codiert sind, zeigt dieser Wert an, daß ein
Zielsystem-Zeitgeber oder eine Taktschaltung emuliert wird.
Wenn die betreffenden Bits als 0111 codiert sind, zeigt dieser Wert in entsprechender Weise an, daß eine Zielsystem-Magnetbandsteuereinheit emuliert wird. Wenn die betreffenden
Bits als 1000 bis 1111 codiert sind, werden diese Werte dazu benutzt anzuzeigen, daß die periphere Steuereinheit, die
emuliert wird, als Spezialeinheit zu behandeln ist. Wenn ein Spezialeinheit-Code festgestellt wird, bewirkt, wie
hier erläutert wird, der Emulator unverzüglich ein überspringen des Befehls auf den Emulatorstutzsatz ESP für
die gesamte weitere Verarbeitung.
Das Bit 4 zeigt, wenn es auf den Binärwert 1 gesetzt ist, an, daß die periphere Steuereinheit kurzzeitig nicht verfügbar oder adressierbar ist. Wenn dieses Bit eine binäre 1
ist, ist das PCU-Belegungs-Bit (CB), das dem Bit 7 entspricht, ebenfalls auf eine binäre 1 gesetzt. Das Bit 5 ist ein KeinStatus-Bit, das als binäre 1 anzeigt, daß kein Status in den
Bits 4 und 7 bis 13 dieses Eintrags vorhanden ist und daß die Bits 10 bis 15 einen wechselnden C2-Code enthalten, der
den PCU-Tabelleneintrag angibt, in welchem die gewünschte Information untergebracht ist (in demselben Sektor). In diesem
Fall sind die Bits 4 und 7 bis 11 für Software reserviert.
Wenn das Bit 5 auf den Binärwert 0 gesetzt ist, enthalten
die Bits 4 und 7 bis 15 den Status. In sämtlichen Fällen sind
509828/0678
der Verschiebewert des Einrichtungs-Tabellenfeldes und des
PCU-Typ-Feldes gültig, und das Bit 6 ist auf einen Binärwert 1 gesetzt. Wenn das Bit 7 auf einen Binärwert 1 gesetzt
ist, zeigt dies an, daß das Zielsystem PCU, das emuliert wird,
belegt ist. Die Bits 8 und 9 sind für eine Software-Benutzung reserviert, während die Bits 10 bis 15 einen wechselnden
PCU- oder Unterbrechungs-Status angeben, und zwar in Abhängigkeit vom Zustand des Bits 5. Wenn das NS-Bit 5 eine
binäre 1 ist, enthält dieses Feld insbesondere einen weiteren oder wechselnden C2-Code für den durch den Befehl bezeichneten
Sektor. Dieser wechselnde C2-Code wird in derselben Weise verarbeitet wie der C2-Code des Befehls, um nämlich die
Adresse des Tabelleneintrags zu erhalten," der eine Status-Information
von Bedeutung enthält. Der Zweck dieser Anordnung besteht darin, periphere Steuereinheiten des Zielsystems
emulieren zu können, die mehr als eine PCU-Adresse benutzen, da diese Steuereinheiten mehr als eine angeschlossene Einrichtung
aufweisen, jedoch lediglich eine Eingabe/Ausgabe-Operation zu einem Zeitpunkt unterstützen oder steuern können
{z.H. nicht gleichzeitig arbeitende Magnetband-Steuereinrichtungen, Kartenleser-Lochsteueranordnungen). Demgemäß sind
zwei Einträge in der PCU-Tabelle vorhanden, die durch einen
einzigen PCU-Code adressiert werden und die sich ein gemeinsames Belegungs-Status-Bit teilen, welches die zugehörigen
Operationen mit den beiden Einträgen verbindet, wie dies im einzelnen erläutert wird.
Wenn das Bit 5 auf den Binärwert O gesetzt ist, enthält das
Feld einen Unterbrechungs-Status, der wie folgt definiert ist: Die Bits 10 und 11 sind für Softwaregebrauch reserviert; das
Bit 12 ist ein Steuereinheit-Unterbrechungsbit, das in dem
509828/0678
- 43 -
Fall, daß es gesetzt ist, anzeigt, daß die Steuereinheit-Unterbrechungsfunktion für die periphere Steuereinheit des
fraglichen Zielsystems gesetzt ist; das Bit 13 ist ein Steuereinheit-Zulassungsbit, das als binäre 1 anzeigt, daß die
PCU-Zulassungs-Unterbrechungsfunktion für die periphere
Steuereinheit des Zielsystems eingeschaltet ist (das bedeutet, daß Unterbrechungen zugelassen sind); das Bit 14
ist ein Einrichtungs-Unterbrechungsbit, das als binäre 1 anzeigt, daß die Einrichtungs-Uhterbrechungsfunktion für
die periphere Steuereinheit PCU des Zielsystems eingeschaltet ist (dies bedeutet, daß eine Einrichtungsunterbrechung gespeichert ist); das Bit 13 ist ein Einrichtungs-Unterbrechungs-Zulassungsbit, das als binäre 1 anzeigt, daß die
Einrichtungs-Unterbrechungs-Zulassungsfunktion in der emulierten Steuereinheit eingeschaltet ist (d.h., daß Einrichtungs-Unterbrechungen zugelassen sind); die Bits 16
bis 31 sind schließlich Verschiebungsbits, die die Grundstelle der Einrichtungstabelle für die periphere Steuereinheit in bezug auf die Stelle festlegen, die durch den Inhalt
des Basisadressregisters 4 bezeichnet ist.
Wie aus Fig. 6 hervorgeht, kann eine weitere Tabelle, die einer peripheren Steuereinheit-Erweiterungstabelle entspricht,
unmittelbar oberhalb einer zu beschreibenden Einrichtungs-Tabelle untergebracht sein. Dabei sind zwei Typen von peripheren Steuereinheiten-Erweiterungstabellen vorhanden, eine
für Zielsystem-Massenspeicher-Peripheriesteuereinheiten und eine für Magnetband-Peripherie Steuereinheiten, die emuliert
werden. Ib allgemeinen bewirken die Tabellen die Speicherung der Status-Information zum Zwecke der Benutzung durch das
509828/0678
Wirtssystem, und zwar ohne ein direktes Gegenstück in dem Zielsystem oder dem Informationsspeicher, der in dem Zielsystem
vorhanden ist. Außerdem ist kein unmittelbares Gegenstück in dem Wirtssystem vorhanden.
In Fig. 7d ist das Format der Massenspeicher-Periphenesteuereinheit-Erweiterungstabelle
gezeigt. Eine derartige Tabelle existeiert für jede Zielsystem-Massenspeicher-Peripheriesteuereinheit,
die emuliert wird. Wie aus Fig. 7d hervorgeht, enthält jede Tabelle vier abhängige bzw. aneinandergrenzende Worte;
sie nimmt vier vorangehende Hauptspeicherworte ein und grenzt an dem Wort MO" der zugehörigen Einrichtungstabelle an, wie
dies aus Fig. 6 hervorgeht. Im Unterschied zu anderen Tabellen ändern sich die Erweiterungs-Tabellen in der Größe, und zwar
in Abhängigkeit von der Art der Steuereinrichtung. Aus Fig. geht dabei hervor, daß diese Tabellen an der Basis des festliegenden
Teiles der Tabelle beginnen und daß die Adressen in einer entgegengesetzten Richtung verlaufen, und zwar soweit
dies in Anpassung an die benötigten Größen erforderlich ist.
Jede Zielsystem-Massenspeicher-PCU-Erweiterungstabelle enthält
ein 10-Zeichen-Adreßregister, welches eine Aufzeichnungsadressen und Status-Anzeigeglieder angebende Information
speichert. Diese in dem Adreßregister gespeicherte Information wird in zehn abhängigen bzw. aufeinanderfol genden Bytes
untergebracht, von denen Jeweils lediglich die sechs Bits niedriger Wertigkeit für diesen Zweck benutzt werden. Die
Emulator-Software ESP lädt diesen Bereich auf einen Spezialbefehl hin, der als Lade-Adreßregister-PDT-Befehl bezeichnet
ist. Die Emulator-Software überträgt anschließend eine Information
in dem in Fig. 7d dargestellten Format zu dem Massen-
509828/0678
Speicher-Prozessor hin, und zwar als Teil des Eingabe/Ausgabe-Befehls.
Wie aus Fig. 7d hervorgeht, enthält der Bereich die folgende Information: a) Ein 6-Bit-Feld gibt die Zielsystem-Verknüpfungs-
an
adresse der Einrichtung], zu der von einem nachfolgenden Lese/ Sehreib-PDT-Befehl ein Zugriff erfolgt, welcher als Einrichtungsfeld angegeben ist; b) ein 6-Bit-Magazin-Feld, das eine Gruppe von Einrichtungen angibt, auf die durch einen nachfolgenden Lese/Schreib-PDT-Befehl ein Zugriff auszuführen ist (eine Einrichtungsadresse bezieht sich auf eine Einrichtung in dem adressierten Magazin); c) ein 12-Bit-Zylinder-Feld, das die Binäradresse eines Zylinders in der Einrichtung angibt, die durch die Einrichtungs- und Magazin-Felder bezeichnet ist; d) ein 12-Bit-Spur-Feld, das die Binäradresse der Spur angibt, auf die durch einen nachfolgenden Lese/Schreib-PDT-Befehl ein Zugriff zu erfolgen hat; e) ein 12-Bit-Aufzeichnungsfeld, das die Binäradresse einer durch einen nachfolgenden Such-PDT-Befehl zu suchenden Aufzeichnung angibt.
adresse der Einrichtung], zu der von einem nachfolgenden Lese/ Sehreib-PDT-Befehl ein Zugriff erfolgt, welcher als Einrichtungsfeld angegeben ist; b) ein 6-Bit-Magazin-Feld, das eine Gruppe von Einrichtungen angibt, auf die durch einen nachfolgenden Lese/Schreib-PDT-Befehl ein Zugriff auszuführen ist (eine Einrichtungsadresse bezieht sich auf eine Einrichtung in dem adressierten Magazin); c) ein 12-Bit-Zylinder-Feld, das die Binäradresse eines Zylinders in der Einrichtung angibt, die durch die Einrichtungs- und Magazin-Felder bezeichnet ist; d) ein 12-Bit-Spur-Feld, das die Binäradresse der Spur angibt, auf die durch einen nachfolgenden Lese/Schreib-PDT-Befehl ein Zugriff zu erfolgen hat; e) ein 12-Bit-Aufzeichnungsfeld, das die Binäradresse einer durch einen nachfolgenden Such-PDT-Befehl zu suchenden Aufzeichnung angibt.
Wie aus Fig. 7d ersichtlich ist, enthält die Information zusätzlich zwei Status-Felder S1 und S2, die jeweils zwölf
festgelegte Bits enthalten, um folgende Status-Information aufzunehmen. Das Bit 2 ist ein Unwirksamkeits-Bit, das im
Binärzustand 1 anzeigt, daß die durch das Adreßregister bezeichnete
Einrichtung unwirksam ist bzw. nicht zu arbeiten imstande ist. Die Bedingungen, die dieses Bit setzen, umfassen
den Umstand, daß die Einrichtung im Off-line-Betrieb arbeitet, daß ein Hardware-Ausfall bzw. -Fehler in der Einrichtung ermittelt
worden ist oder daß die Einrichtung nicht richtig angegeben worden ist. Das Bit 3 ist ein Einrichtungsfehler-
509828/0678
Bit, das im Binärzustand 1 anzeigt, daß ein Einrichtungsfehlerzustand
bezüglich der durch das Adreßregister bezeichneten Einrichtung existiert. Ein Einrichtungsfehlerzustand
existiert Jeweils dann, wenn durch einen Steuerbefehl, wie eine Suchoperation, versucht wird, die Lese/Schreib-Köpfe
der Massenspeichereinrichtung auf eine Zylinderadresse einzustellen, die außerhalb der Zylinderadressierungsgrenzen für
die fragliche Einrichtung liegt. Das Bit 4 ist ein Schutz-Verletzungs-Bit, das als binäre 1 anzeigt, daß ein Such- und
Schreibbefehl ermittelt worden war, der die Schreib-Zu-Iassungsbedingungen
verletzte, die von den Steuereinheit-Datei-Schutzschaltern und/oder dem Kopfteil-Kennzeichen der
Aufzeichnung zugelassen waren, zu der ein Zugriff erfolgt ist. Das Bit 5 ist ein Lesefehlerbit, das als binäre 1 anzeigt, daß
ein Lesefehler in dem letzten Lesebefehl ermittelt worden ist, der in dieser speziellen Einrichtung ausgeführt worden ist.
Das Bit 6 ist ein Befehle-Unvollständigkeits-Bit, das als
binäre 1 anzeigt, daß ein Befehl aus bestimmten angegebenen Gründen nicht beendet worden ist. Das Bit 7 ist ein Spur-Verbindungs-Auf
zeichnungs-TLR- Bit, das als binäre 1 anzeigt, daß die letzte Aufzeichnung, auf die durch einen Such- und
Lese/Schreib-Befehl Bezug genommen worden ist, eine Spur-Verbindungs-Auf
zeichnung war. Das Bit 10 ist ein Format-Verletzungs-Bit, das in dem Fall, daß es auf eine binäre 1
gesetzt ist, bestimmte unzulässige Formatzustände bzw. Formatbedingungen anzeigt. Das Bit 11 ist ein Spur-Uberlauftfit,
das als binäre 1 anzeigt, daß durch einen Lese/Schreib-Befehl versucht worden ist, auf einen Indexteil einer Spur
Bezug zu nehmen. Die Bits 12 bis 15 sind Datei-Schutz-Bits, die solche Größen bzw. Datenworte angeben, wie sie in Fig.7d
gezeigt sind.
509828/0678
Darüber hinaus enthält die PCU-Erweiterungstabelle 16 Mehrzweck-Statue-Bits, die von der Emulator-Software dazu herangezogen werden, bestimmte Steuerschalter zu simulieren, die
in dem emulierten Zielsystem vorhanden sind (Schreib-Zulassungs-Schalter). Außerdem werden die betreffenden Bits für
die Speicherung von verschiedenen Zielsystem-Anzeigegliedern benutzt.
Eine weitere, in Fig. 6 enthaltene Tabelle ist eine Einrichtungs-Tabelle; dabei ist eine Einrichtungs-Tabelle pro periphere Steuereinheit des Zielsystems in dem emulierten System
vorhanden. Jeder Eintrag in der Einrichtungs-Tabelle weist vier Informationsbytes auf, und ein Eintrag ist in der Tabelle
für Jede, mögliche VerknUpfungs-Einrichtungs-Adresse vorgesehen, die von dem Zielsystemprogramm für einen bestimmten
Typ der peripheren Steuereinheit bezeichnet werden kann. Das generelle Format eines Einrichtungs-Tabellen-Eintrags ist
in Fig. 7e veranschaulicht. Wie aus Fig. 7e ersichtlich ist, enthält der Einrichtungs-Tabellen-Eintrag ein 16-Bit-Status-FeId, zu dessen Bits O bis 7 ein Zugriff sowohl von der
Emulator-Firmenware als auch von der Software erfolgt. Die Bits 8 bis 15 sind für die Emulator-Softwarebenutzung reserviert; die betreffenden Bits sind einrichtungsspezifisch.
Das Bit O ist insbesondere ein Zielsystemeinrichtungs-Belegungs-Bit, das als binäre 1 anzeigt, daß die in Frage
stehende Einrichtung belegt ist. Anders ausgedrückt bedeutet dies, daß die Einrichtung kurzzeitig für die Auslösung einer neuen peripheren Operation nicht verfügbar ist,
da sie sich gerade in dem Prozeß der Ausführung einer Operation befindet. Außerdem kann dieses Bit, wenn es auf eine
509828/0678
binäre 1 gesetzt ist, einen Einrichtungsfehlerzustand anzeigen. Die Bits 1 bis 6 sind "Ausnahme"-Test-Bits (XT1
bis XT6); diese Bits sind in einer einrichtungsspezifischen Yteise zugeteilt und ausgenutzt. Das Bit 7 ist ein Einrichtungs-Sprung-Bit,
das als binäre 1 anzeigt, daß die Emulator-Firmenware für diese Einrichtung adressierte Befehle für die Emulator-Software
festhält, und zwar für eine weitere Verarbeitung. Anders ausgedrückt heißt dies, daß ein Sprung- bzw. Festhalte-Aufruf
zu der Emulator-Software (ESP) hin erfolgt. Die Bits
bis 15 sind einrichtungsspezifische Status-Bits, und die Bits 16 bis 31 stellen ein Verschiebungsfeld dar, welches die
Basisstelle der Einrichtungs-Erweiterungstabelle für die Einrichtung in bezug auf den Adresseninhalt des Basisadreßregisters
4 angibt.
In Fig. 7f ist ein spezielles Format für einen Massenspeichereinrichtungs-Tabellen-Eintrag
gezeigt. Der Eintrag ist dabei wie folgt definiert. Das Bit O zeigt als binäre 1 an, daß die
Einrichtung belegt ist, und zwar auf Grund einer Datenübertragung, einer Suchoperation oder auf Grund der Tatsache, daß
sie nicht verfügbar ist. Das Bit 1 wird nicht benutzt, und das Bit 2 ist das die Nichtbetreibbarkeit der Einrichtung
anzeigende Bit, das als binäre 1 anzeigt, daß die durch das Adreßregister bezeichnete Einrichtung nicht betreibbar ist.
Die Massenspeichereinrichtung des Zielsystems wird in folgenden Fällen als nichtbetreibbar angesehen: die Einrichtung
arbeitet im Off-line-Betrieb, d.h. rechnerunabhängig, ein Hardwarefehler ist in der Einrichtung ermittelt worden, oder
die Einrichtung ist unrichtig "korrigiert" oder in das System "gewählt" worden. Das Bit 3 ist das Einrichtungsfehlerbit,
das im Binärzustand 1 anzeigt, daß ein Einrichtungsfehlerzustand bezüglich der durch das Adreßregister bezeichneten
509828/0678
Einrichtung existiert. Wie zuvor erwähnt, existiert ein Einrichtungsfehlerzustand in einer Massenspeichereinrichtung
Jeweils dann, wenn ein Suchbefehl versucht, die Lese/Schreib-Köpfe
auf eine Zylinderadresse außerhalb der Zylinderadressengrenzen einzustellen. Das Bit 4 ist ein Varianten-Sprungbit,
das als binäre 1 anzeigt, daß unzulässige oder nicht genau angegebene Varianten bestimmter Zielsystem-Eingabe/Ausgabe-Steuerbefehle
(periphere Steuer- und Verzweigungsbefehle) durch die Emulator-Firmenware zu überspringen bzw. festzuhalten
sind und daß ein Aufruf zu der Emulator-Software hin
erfolgt. Das Bit 5 ist ein allgemeines Ausnahme-Bit, das als binäre 1 anzeigt, daß ein Ausnahmezustand (wie er durch die
DI-, DE-, II- ect. Bits definiert ist) während des letzten Datenübertragungsbefehls ermittelt worden ist, der zu der
durch das Adreßregister bezeichneten Einrichtung hin geleitet worden ist. Das Bit 6 ist ein "Spur —Verbindungs"-Äufzeichnungsbit,
das als binäre 1 anzeigt, daß die letzte gesuchte und erfolgreich geschriebene/gelesene Aufzeichnung
eine Spur-Verbindungs-Aufzeichnung war. Das Bit 7 ist ein
Sprungbit, das stets auf eine binäre O im Falle einer Massenspeichereinrichtung
gesetzt ist. Das Bit 8 ist ein eingestelltes Aus-Bit, das in dem Fall, daß es auf eine binäre 1
gesetzt ist, anzeigt, daß die Einrichtung nicht ausgewählt oder in dem Steuerfeldschalter des Zielsystems nicht "eingestellt"
worden ist. Das Bit 9 ist ein die NichtVerfügbarkeit betreffendes Bit, das von der Emulator-Software dazu herangezogen
wird, zu bestimmen, ob die in Frage stehende Einrichtung eine periphere Operation ausführt oder ob sie infolge
ihrer Nichtbetreibbarkeit belegt ist (die Bits O bis 9 werden
zur Vornahme dieser Bestimmung benutzt). Die Bits 10 bis 15 sind für Softwaregebrauch reserviert, und die Bits 16 bis
509828/0678
stellen ein Verschiebungsfeld dar, welches die Verschiebung in bezug auf den Inhalt des Basisadreßregisters 4 der zugehörigen
Einrichtungserweiterungstabelle für die Einrichtung enthält.
Die letzten beiden Typen von Tabellen, die in Fig. 6 enthalten sind, entsprechen einer Beendigungs- bzw. Abschluß-Tabelle
und einer Einrichtungs-Erweiterungs-Tabelle. Zu der Beendigungs-Tabelle erfolgt ein Zugriff über eine Beendigungs-Eintragzeiger-Tabelle
(TEPT). Die TEP-Tabelle enthält 128 Zwei-Byte-Einträge, die Verknüpfungseinrichtungszahlen (LDNS)
O bis 127 darstellen. Jeder Eintrag ist entweder "Null", was einer nicht vorhandenen LDN-Zahl entspricht, oder "Eins",
was einer Einrichtung entspricht, die dem Emulator nicht zugeteilt ist. Es ist aber auch möglich, daß der Jeweilige
Eintrag einen Indexwert enthält, der bei Addition zu dem Wert des Basisregisters 4 auf den Anfang des Beendigungs-Tabelleneintrags
hinzeigt, der der LDN-Zahl zugehörig ist. Die Verknüpfungseinrichtungszahl (Name) ist eine 16-Bit-Binärzahl,
die der jeweils angeschlossenen Wirtssystemeinrichtung zugeteilt ist. Diese Nummer bzw. Zahl wird anschließend
von der Emulator-Software in einen Eingabe/Ausgabe- "Steuerblock" geladen, und zwar jeweils dann, wenn ein
"Kanalprogramm" für die in Frage stehende Einrichtung gebildet worden ist.
Der Inhalt eines Beendigungs-Tabellen-Eintrags ist in Fig. 7h gezeigt. Wie ersichtlich, enthält der betreffende Eintrag ein
16-Bit-Feld, das als RWC-Zeiger dient. Der in diesem Feld
gespeicherte Wert zeigt bei Addition zu dem Basisregister 4
509828/0678
zu dem RWC-Eintrag in der RWC/PCU-Tabelle hin, die dem
gegenwärtigen Befehl zugehörig ist. Der betreffende Wert wird durch den Zielsystem-nProzeßn auf jegliche Eingabe/Ausgabe-Befehle hin aktualisiert, die einen Lese/Schreib-Kanal
betreffen, der "belegt" worden ist.
Ein zweites, in dem Beendigungs-Tabellen-Eintrag enthaltenes
Feld ist ein 16-Bit-CPU-Zeigerfeld. Der in diesem Feld enthaltene Wert liefert in dem Fall, daß er zu den Bits des
Inhalts des Basisadreßregisters 4 hinzuaddiert wird, die Adresse des CPU-Eintrags für diese Einrichtung. Ein weiteres,
als Teil des Wortes Eins enthaltenes Feld ist ein 16-Bit-PCU-Erweiterungs-Zeigerfeld. Der in diesem Feld enthaltene Wert
liefert in dem Fall, daß er zu dem Inhalt des Basisadreßregisters 4 hinzuaddiert wird, die Adresse des PCU-Erweiterungs-Eintrags für diese Einrichtung. Ein weiteres Feld des Wortes
Eins ist ein Einrichtungs-Tabellenzeiger. Der in diesem Feld enthaltene Wert zeigt auf den Einrichtungs-Tabelleneintrag,
der den Zielsystem-Status für diese Einrichtung enthält. Das erste Feld des Wortes Zwei ist ein 16-Bit-Zielsystem-Verknüpfungsname-Feld. Dieses Feld ist der Zielsystem-Name,
und zwar ausgedrückt in Form von "XN", wobei X ein alphanumerisches Zeichen ist, welches den Sektor und die Prozeßsteuereinheit kennzeichnet, und wobei N ein numerischer
Zifferncode ist, der die Einrichtung kennzeichnet. Die Worte Drei und Vier des Eintrags enthalten Einrichtungstyp/
Untertyp/Einrichtungs-Nummernfeider. Diese Felder besitzen eine Länge von fünf Zeichen; sie kennzeichnen die emulierten
externen Namen. Außerdem enthält das Wort Vier ein 3-Bit-Sektor-Codefeld, welches den Zielsystem-Sektorcode angibt.
509828/0678
Schließlich enthält das Wort Vier ein Einrichtungs-Bereitschafts-Bit,
welches den Status der emulierenden Einrichtung angibt.
In Fig. 7g ist der Typ der Einträge gezeigt, die innerhalb eines Typs der Erweiterungs-Tabelle auftreten, die der Massenspeicher-Erweiterungs-Tabelle
gemäß Fig. 6 entsp rieht. Im allgemeinen dienen Einrichtungs-Erweiterungs-Tabellen
ähnlichen Zwecken wie die oben beschriebenen PCU-Erweiterungs-Tabellen. Aus Fig. 7g dürfte dabei ersichtlich sein, daß die
Massenspeicher-Einrichtungs-Erweiterungs-Tabelle 23 Worte aufweist,
die sich ändernde Informationsarten enthalten. Diese Informationen können die Form einer Adresseninformation,
einer Steuerinformation, einer detaillierten Einrichtungsstatus-Information und einer Eingabe/Ausgabe-Steuereinrichtung-Nachrichteninformation
haben. Diese Tabelle wird lediglich insoweit erläutert, als dies die vorliegende Erfindung
betrifft; sie ist lediglich der Vollständigkeit halber mit aufgenommen. Es dürfte ersichtlich sein, daß der Typ der
in einer Einrichtungs-Erweiterungs-Tabelle gespeicherten Information sich ändert in Abhängigkeit von der Einrichtung.
Unter Bezugnahme auf die Fig. 1 bis 7h sowie auf Fig. 11 und auf die Flußdiagramme gemäß Fig. 8a bis 8i, 9a bis 9h und
Fig. 10 wird nunmehr die Arbeitsweise des Emulatorsystems gemäß der vorliegenden Erfindung näher erläutert, und zwar
zunächst in Ausdrücken betreffend die Verarbeitung eines Eingabe/Ausgabe-Peripheriedatenübertragungs-(PDT)-Befehls,
der in einem Zielsystemprogramm enthalten ist. Wie erwähnt,
509828/0678
bewirkt dieser Befehl, wenn er in dem Zielsystem ausgeführt
wird, eine übertragung von Datenzeichen zwischen einem Bereich des Hauptspeichers und einer peripheren Einrichtung
bzw. Peripherieeinrichtung.
Aus Fig. 8a geht hervor, daß zunächst ein Befehl abgerufen oder ausgeblendet bzw. extrahiert wird. Tatsächlich ruft
die Befehlsabrufeinheit IFU gemäß Fig. 1c Befehle im Voraus ab, um einen bestimmten Wert einer "Vorschau" im Zuge der
Verarbeitung zu erzielen* Die abgerufenen Befehle werden in einem Befehlspuffer 203-1 gespeichert, und danach an die
QA- und QB-Busleitungen abgegeben. Vie in Fig. 8a angegeben,
wird die Operationscode-Adresse in dem Mehrzweckregister 7 des Hauptspeichers gespeichert. Darüber hinaus berechnet die
Adressensteuereinheit 101-2 die erforderlichen absoluten Adressen und speichert sie in dem AC-Register 206-3 der
Wort-Rechen- und Verknüpfungseinheit gemäß Fig. 2b. Darüber hinaus wird das in dem Befehlspuffer 203-1 enthaltene Varianten-Zeichen
in dem in Frage kommenden Register der Rechen- und Verknüpfungseinheit ALU gespeichert; dieses Register
entspricht dem EV-Register 202-82 in Fig. 2c. Zu diesem Zeitpunkt führt der Steuerspeicher gemäß Fig. 2a eine Verzweigung
auf die Bits des Operationscode des Befehles hin aus und tritt in die Haupt-Routine ein, wie dies in Fig. 8a
und 10 veranschaulicht ist.
Aus Fig. 6 und 11 geht hervor, daß die Zielsystem-Eingabe/Ausgabe-Befehle
eine Vielzahl von unterschiedlichen Formaten anzunehmen vermögen. Im allgemeinen besitzt der PDT-Befehl
eines Zielsystemprogramms ein solches Format, daß ein Operationscodezeichen, ein/mehrere A-Adressenzeichen und
509828/0678
eine Anzahl von Steuerzeichen C1 bis CN vorhanden sind. Wie in dem oben angegebenen Programmierungsmanual und dem oben
angegebenen US-Patent beschrieben, bewirkt der PDT-Befehl, daß Datenzeichen zwischen einer peripheren Einrichtung und
einem Hauptspeicherbereich des Zielsystems übertragen werden, dessen am weitesten links stehende Stelle durch die A-Adresse
bezeichnet ist. Wenn die Befehlsabrufeinheit 101-3 einen Befehl
abruft, ruft sie zunächst das Operationscodezeichen, die A-Adressen-Zeichen und ein erstes Steuer- oder Varianten-Zeichen
(das ist das C1-Zeichen) des Befehls ab bzw. auf. Die Anzahl der in der Α-Adresse enthaltenen Zeichen hängt
von dem Zeichenbetrieb ab, der von dem Programmierer gewählt worden ist (siehe Programmanual). Die Befehlsabrufeinheit 101-3
ist so ausgelegt, daß sie ihren Betrieb beendet, nachdem sie das erste Varianten-Zeichen extrahiert oder abgerufen hat.
Dies bedeutet, daß die Befehlsabrufeinheit 101-3 Formatprüfschaltungen
(nicht gezeigt) enthält, die auf das PDT-Befehls-Operationscodezeichen
hin die Befehlsextraktion beenden, wenn das erste Varianten-Zeichen extrahiert worden ist. Mit anderen
Worten ausgedrückt heißt dies, daß die Befehisabrufeinheit IFU
101-3 annimmt, daß ein vollständiger Zielsystem-Befehl lediglich einen Operationscode, eine Α-Adresse und ein erstes
Varianten-Zeichen enthält.
Der bestimmte Operationscode, der zuvor den Steuerspeicher veranlaßt hatte, eine Verzweigung zu einem bestimmten Punkt
hin vorzunehmen, an dem Mikrobefehle ausgelesen und decodiert wurden, legt die verschiedenen Einheiten der Zentraleinheit
für die Emulation fest. So erzeugen z.B. die decodierten Mikrobefehle linterbefehlssignale, die das Emulationsbetrieb-Flipflop
und das ACU-Steuerungs-Flipflop 202-49 des Byte-Addierers
206-50 bzw. der Adressensteuereinheit 101-2 in
509828/0678
den BinJBrzustand 1 setzen. Das Emulationsbetrieb-(EMM)-Flipflop veranlaßt im Binärzustand 1 die Befehlsabrufeinheit 101-3,
die erforderlichen FormatprUfungen auszuführen und Ausnahmen zu verarbeiten, die die Speicherung, der Statusinformation ermöglichen, welche anzeigt, daß/die Zentraleinheit ein Zielsystem auf das Auftreten einer Ausnahme hin emuliert wird.
Das Adressensteuereinheit-(ACU)-Steuerungs-Flipflop veranlaßt
im Binärzustand 1 die Adressensteuereinheit 101-2, daß die Datenauswahlschaltung 202-34 veranlaßt wird, Daten in den
URF-Bereich zu laden, und zwar in einem Format, das vereinbar ist bzw. Übereinstimmt mit dem Zeichenoperationsbetrieb des
Zielsystems.
Aus Fig. 8a geht hervor, daß auf die Extraktion hin die
Emulator-Software ESP verschiedene Register in den Einheiten der Zentraleinheit auf Werte voreinstellt, die die betreffenden Einheiten normalerweise enthalten wurden, wenn ein Zielsystem mit einer ProgrammausfUhrung beginnt. Der Prozeßsteuerblock (PCB) gemäß Fig. 4 enthält z.B. die in den Basisadreßregistern BRO bis BR7 enthaltenen Werte, die auf unterschiedliche Segmente zeigen, welche von der Emulator-Firmenware
benutzt werden. Wie zuvor erwähnt, zeigt das Register BR2 auf den Anfang des Zielsystem-Hauptspeichers, das Register BR3
zeigt auf den Beginn des Zielsystem-Steuerspeichers, und das Register BR4 zeigt auf den Anfang der Eingabe/Ausgabe-Tabellen.
Wie oben beschrieben, enthalten diese Tabellen die zuvor durch die Emulator-Software ESP geladene Information, und zwar auf
der Basis der Information, die der betreffenden Software zugeführt worden ist und die die Zielsystem-Eingabe/Ausgabe-Konfiguration festlegt. Diese Operationen finden während
einer Initialisierungsphase statt. Darüber hinaus lädt die
509828/0678
25ÜU006 -56-
Emulator-Software verschiedene Register des URF-Bereichs
gemäß Fig. 2e mit der aus dem Prozeßsteuerblock PCB gemäß Fig. 1b abgeleiteten Information. Diese Werte entsprechen
jenen Werten, die in dem Neuzuordnungs-Register (BRO), den Indexregistern, den Sperregistern, dem Ablaufzähler (UW1)
sowie den AC- und BC-Registern (UW1 und UW6) gespeichert sind. Diese Werte werden zum Abruf der Information aus dem
Hauptspeicher während der Verarbeitung eines Eingabe/Ausgabe-Befehls benutzt. In diesen Registern enthaltene Werte werden
aktualisiert und in dem LSM-Bereich der örtlichen Speichereinheit
101-7 gespeichert.
Am Ende der Extraktion hat somit die Zentraleinheit eine Firmenware-Ablauffolge ausgeführt, die für die Verarbeitung
sämtlicher Zielsystembefehle gemeinsam ist, und zwar unter Verwendung eines Ablaufzählerwertes, der in den Hauptspeicher
übertragen worden ist, um einen Operationscode, A-Adressenzeichen und ein erstes Varianten-Zeichen des Befehls
zu extrahieren. Außerdem wird die Zentraleinheit die effektive Adresse des Befehls berechnet haben. Schließlich
wird die betreffende Zentraleinheit das Operationscodezeichen des PDT-Befehls überprüft haben, um zu ermitteln, wie der
Befehl auszuführen ist. Der Ablaufzähler bzw. Folgesteuerungszähler
und der AC-Zähler werden aktualisiert sein, und außerdem werden sie dazu herangezogen, den Befehl herauszuholen
und die Arbeits-AC-Adresse zu indizieren und zu bilden.
Da die Zentraleinheit tatsächlich mit der Verarbeitung des Befehls beginnt, werden die Inhalte der verschiedenen LSM-Registerspeicherstellen
solange nicht aktualisiert, bis die eigentliche Ausführung des PDT-Befehls ausgelöst ist. Während
509828/0678
der Extraktionsphase nimmt die Zentraleinheit nicht auf das Basisadreßregister 4 Bezug, welches auf die Eingabe/Ausgabe-Tabellen
hinzeigt. Die Zentraleinheit benutzt jedoch den Inhalt des Basisadreßregisters 2, um den Eingabe/Ausgabe-Befehl
aus dem Hauptspeicher abzurufen. Das 6-Bit-Operationscodezeichen,
das abgerufen und in der Befehlsabrufeinheit
101-3 gemäß Fig. 1c gespeichert ist, wird dazu herangezogen, die Verzweigungs-Testverknüpfungsschaltungen gemäß Fig. 2a
zu konditionieren. Insbesondere werden dabei die Bits des Operationscodes an eine 6Afache Verzweigungen überprüfende
Prüfschaltung abgegeben, die einen ersten Mikrobefehl innerhalb einer Folge von Mikrobefehlen auswählt, die in dem
Steuerspeicherfeld enthalten sind, und zwar für die Emulierung dieses Typs von Befehl.
Aus Fig. 8a geht hervor, daß die Firmenware zunächst bestimmte Überprüfungen ausführt, wie eine Startadressenprüfung (SAC).
Diese Prüfung legt fest, wann der Speicherschutz im Falle einer Adressenverletzung wirklich vorhanden ist. Unter der
Annahme, daß keine Adressenverletzung vorliegt, gelangt die Firmenware sodann in eine Initialisierungsroutine, in der
bestimmte Register gelöscht werden, die für den "Abruf" der Emulator-Software ESP benutzt werden. Dies beendet erforderlichenfalls
die Verarbeitung des Zielsystembefehls. Normalerweise umfaßt dies das Löschen der Inhalte unterschiedlicher
Registerspeicherplätze des LSM-Speichers gemäß Fig. 2d auf Nullen. Demgemäß bewirkt die Firmenware über den Mikrobefehl
102-104, daß das in dem AC-Register 206-3 der Wort-Rechen- und Verknüpfungseinheit 206-1 gespeicherte Operationscodezeichen
in das örtliche Register 207-9 des LCM-Speichers gemäß Fig. 2c geladen und sodann in den Speicherplatz GRC
B09828/0678
geschrieben wird. Wie in *'ig. 10 dargestellt, wird insbesondere
der PDT-Operationscodewert "36" zu dem AG-Register 206-88 gemäß Fig. 2c übertragen. Von diesem Register wird
der betreffende Wert in das AF-Register 206-12 gemäß Fig. 2b geladen, und zwar über die SFS-Auswahlschaltung 206-14. Das
Operationscodezeichen wird an die QA-Busleitung abgegeben und in das örtliche Register 207-9 geladen und sodann in
den Speicherplatz GRC eingeschrieben, der durch den Inhalt des Adreßregisters 207-2 angegeben ist.
Wie aus Fig. 8a und 10 hervorgeht, tritt die Firmenware in eine RWC-Status-Testroutine gemäß Fig. 8b ein. Diese Routine
ist in Fig. 9a im einzelnen dargestellt. In Fig. 9a sind dabei
die Operationen veranschaulicht, die ausgeführt werden, um auf den in Frage kommenden Eintrag Bezug zu nehmen, der
in der RWC-Tabelle gespeichert ist. Hierzu wird das C1-Varianten-Zeichen
als "Indexwert" benutzt. Zunächst setzen die Mikrobefehle 100-102 auf ihre Ausführung hin das 6-Bit-C1-Varianten-Zeichen
in ein 8-Bit-Zeichen (C1Q) um. Dieser Wert
wird dann zu der absoluten Startadresse der Eingabe/Ausgabe-Tabellen
hinzuaddiert, im folgenden als "Basiswert" bezeichnet. Dies bedeutet, daß der Mikrobefehl 103 zunächst das
C1-Zeichen von dem AF-Register über die QA-Busleitung zu dem AC-Register hin überträgt. Anschließend wird der Versetzungswert
für die Eingabe/Ausgabe-Tabelle aus dem Speicherplatz Nr. 2 des URF-Bereiches (BR2) abgerufen und
in dem UN-Register 202-54 gespeichert, während die Segment-Nummer (STN, STE) in das US-Register 202-7 übertragen wird.
509828/0678
Der Mikrobefehl 104 bewirkt, daß der Versetzungswert in den Arbeitsspeicherplatz UW5 des URF-Bereiches eingeschrieben
wird und daß das verschobene C1-Zeichen in das AC-Register 206-3 geladen wird. Außerdem wird der Speicherplatz UW5
durch die Auswahlschaltung 202-38 ausgewählt, und die Segmentbasis aus dem Puffer 202-5 wird in das UN-Register 202-54
geladen. Der Mikrobefehl 103 bewirkt, daß die durch den
Addierer 202-50 gebildete Summe aus der Basis und der Versetzung in den Arbeitsspeicherplatz UW5 über die Auswahlschaltung 202-34 eingeschrieben wird. Nunmehr enthält der
Arbeitsspeicherplatz UW5 den berechneten "Basiswert". Der
Basiswert wird ferner dem Addierer von der USB-Auswahlschaltung 202-38 zugeführt, und das verschobene C1-Zeichen
wird über die QA-Busleitung in das UN-Register 202-54 geladen.
Die durch den UBO-Addierer 202-50 gebildete Summe wird in das Ausgaberegister 202-52 geladen. Dieser Wert wird dazu
herangezogen, den bestimmten RWC-Tabellen-Eintrag abzurufen, der durch das C1-Zeichen angegeben ist.
Der Mikrobefehl 106 erzeugt ein Signal MMGOP, welches den
Hauptspeicher-Schnittstellenschaltungen signalisiert, daß ein Speicheroperationszyklus zu beginnen ist, um den Inhalt
des bezeichneten Speicherplatzes abzurufen. Der aus dem Hauptspeicher abgerufene Inhalt stellt einen 4-Byte-Eintrag dar,
der in das DN-Register 201-1 gemäß Fig. 1c geladen und danach an den Wort-Addierer 206-1 abgegeben wird. Der Mikrobefehl
108 stellt die Verschiebeschaltung 206-30 derart ein, daß
eine Verschiebung nach links um vier Bitstellen erfolgt. Der RWC-Eintrag-Inhalt des DN-Reglsters 201-1 wird dann in das
AC-Register 206-3 geladen und in den Speicherplatz 30 des LSM-Speichers eingeschrieben. Wie in Fig. 8b und 9a angegeben,
B0982Ö/0678
läuft die Firraenware dann weiter, um den RWC-Zählercode zu
überprüfen und damit festzustellen, ob er unzulässig ist. Dies wird dadurch bewirkt, daß der Zustand des Bits hoher
Wertigkeit überprüft wird. Ist das betreffende Bit auf eine binäre 1 gesetzt, so bedeutet dies, daß der RWC-Zählercode
unzulässig ist, um in dem betreffenden Zielsystem verwendet zu werden. Dies veranlaßt den Steuerspeicher, einen bestimmten
Code (das ist "11111") in das AG-Register 206-88 abzugeben. Dieser Code ist ein Betriebsklassennummern-(SCN)-Code, der
der Software ESP signalisiert, daß der RWC-Zählercode unzulässig ist. Der vollständig aus Einsen bestehende SCN-Code
wird später in einen Teil des Speicherplatzes GR12 des
LSM-Speichers eingeschrieben, wie dies in Fig. 4 veranschaulicht ist. Außerdem ist auch die übrige Information
enthalten, so daß die Software ESP den in der Folge nächsten Befehl ausführen kann. So wird z.B. der Ablaufzähler SC derart
eingestellt sein, daß die Adresse des Operationscodes des nächsten Befehls angezeigt wird; der Varianten-Teil des
Speicherplatzes GRO enthält das C1-Varianten-Zeichen des Eingabe/Ausgabe-Befehls, während der Speicherplatz GR12
das Operationscodezeichen des Befehls enthält. Die übrigen Speicherplätze enthalten eine Information, die anfänglich
durch die Software ESP in diese Speicherplätze geladen worden ist (z.B. die INA-, INB-, INC-, BC- und AC-Bereiche, etc.).
Noch weitere Speicherplätze werden derart modifiziert, daß sie eine zusätzliche Statusinformation enthalten, wenn der
Eingabe/Ausgabe-Befehl weiter verarbeitet worden ist. Wie hier erläutert wird, werden diese Operationen von einer
Eingabe/Ausgabe-Betriebsroutine ausgeführt.
509828/0678
Der obige Test wird unter Bezugnahme auf Fig. 9a im einzelnen
betrachtet werden. Die in dem AC-Register gespeicherte, aus der RWC-Tabelle abgerufene Information besitzt ein Format,
wie es in Fig. 7a angegeben ist. Auf die Mikrobefehle 110 bis 112 hin werden die Inhalte des AC-Registers ausgerichtet,
und zwar dadurch, daß sie nach links verschoben werden. Dies ermöglicht die Auswahl und Übertragung der RWC-Eintrag-Bits
bis 11 von dem AD-Register 206-5 zu dem AB-Register 206-58
zum Zwecke der Überprüfung. Wie ferner angegeben, enthält das AC-Register 206-3 bei der Beendigung des Mikrobefehls
die Sektorcodebits 13 bis 15, die um zwei Stellen nach links verschoben sind. Der Mikrobefehl 113 führt auf seine Ausführung
zur Erzeugung von Signalen, die das EXT-Bit 12 aus dem AD-Register
206-5 in die Bitstelle 7 des AB-Registers 206-58 laden,
und zwar über die SDS-Auswahlschaltung 206-66. Der Inhalt
des SD-Zählers 206-60 wird ferner zu dem betreffenden Zeitpunkt durch die Schaltung 206-61 um 1 erhöht. Darüber hinaus
wird der Speicherplatz GRC des LSM-Speichers adressiert, und der Inhalt des betreffenden Speicherplatzes wird in das örtliche
LY-Register 207-9 ausgelesen. Aus Fig. 3 und 4 geht hervor, daß der GRC-Speicherplatz dem Speicherplatz GR12
entspricht, der das SCN-Codefeld enthält. Der Mikrobefehl
bewirkt ferner, daß der Sektorcode in das AD-Register 206-5 übertragen wird.
Der Mikrobefehl 114 veranlaßt auf seine Ausführung hin den
Byte-Addierer 206-50 eine Verknüpfungs-Produkt-Operation auszuführen, gemäß der verschiedene Bitstellen des AB-Register
s 206-58 maskiert bzw. ausgeblendet werden, um den Zustand bestimmter Bitpositionen überprüfen zu können. Der
Zustand der Bitposition 2 des AB-Registers 206-58, welche
509828/0678
250U006 "62~
dem ersten Bit des Zählercodes entspricht, wird durch den Mikrobefehl 114 überprüft. Das Ergebnis des Testes veranlaßt
den Steuerspeicher, entweder auf den nächsten Mikrobefehl vorzurücken oder auf den Mikrobefehl 134 hin eine Verzweigung vorzunehmen.
Wenn der Test positiv ausfällt, führt der Steuerspeicher eine Verzweigung zu dem Mikrobefehl 134 hin aus.
Dies signalisiert, daß der RWC-Zählercode unzulässig ist.
Der Mikrobefehl 134 gibt auf seine Ausführung hin einen insgesamt aus Einsen bestehenden Code in das AG-Register 206-88
ein; dieser Code wird anschließend in den Speicherplatz GRC des LSM-Speichers eingeschrieben.
Wie aus Fig. 9a hervorgeht, wird als nächster Mikrobefehl der
Mikrobefehl 115 ausgeführt; er veranlaßt, daß der Sektorcodeinhalt
des AD-Registers 206-5 über die SDS-Auswahlschaltung
206-66 in das AB-Register 206-58 geladen wird. Außerdem führt der betreffende Mikrobefehl einen bestimmten Konstanten-Code
aus dem Steuerspeicher in das AG-Register 206-88 ein, so daß die Bits in dem AB-Register 206-58 ausgeblendet werden, um
den Zustand der Bitstelle 7 zu überprüfen, die das EXT-Bit enthält. Der Mikrobefehl 116 bewirkt, daß die Sektorcodebits
in das AG-Register 206-88 von der Byte-Addierer-Ergebnis-Busleitung
ARB her geladen werden, während das AF-Register 206-12 gelöscht wird, so daß in ihm Nullen enthalten sind. Der Mikrobefehl
veranlaßt ferner die Steuerspeicher-Testschaltungen, eine 2-Weg-Verzweigungsoperation auf der Grundlage des Zustande
des EXT-Bits 12 des RWC-Eintrags hin auszuführen.
Wie erwähnt, gibt das EXT-Bit an, ob das bestimmte Zielsystem, das emuliert wird, eine erweiterte Eingabe/Ausgabe-Fähigkeit
besitzt. Dies bedeutet, daß der durch den Eingabe/Ausgabe-
509828/067
Befehl festgelegte Sektorcode nicht ohne weiteres in einen
Code übersetzt werden kann, der einen bestimmten Sektor angibt. Demgemäß legt der Zustand des EXT-Bits 12 fest, ob der RWC-Code
durch die erweiterte Eingabe/Ausgabe-Eigenschaft bzw. -Fähigkeit
beeinflußt wird. Es sei darauf hingewiesen, daß das erweiterte Eingabe/Ausgabe-Bit den Zustand der Status-Anzeigeglieder darstellt, die den Zielsystemen zugehörig sind. In einem Zielsystem wird dieses Anzeigeglied unter Programmsteuerung ein-
und ausgeschaltet.
Wenn das EXT-Bit eine binäre O ist, wird der RWC-Code als
unterschiedlicher RWC-Code behandelt, wie dies hier erläutert wird. Wenn das EXT-Bit 12 jedoch eine binäre 1 ist, wird es
in einer anderen Weise behandelt, indem der Inhalt des zuvor abgerufenen RWC-Tabelleneintrags herangezogen wird. Wenn das
erweiterte Eingabe/Ausgabe-Bit 12 eine binäre O ist, bewirkt im einzelnen der Steuerspeicher eine Verzweigung zu dem Mikrobefehl 132,, gefolgt yon dem Mikrobefehl 133; dadurch wird das
Bit hoher Wertigkeit des in dem EV-Register 206-82 gespeicherten C1-Zeichens auf eine binäre 1 gesetzt. Wie aus Fig. 8b
und 9a ersichtlich ist, kehrt der Steuerspeicher sodann auf den Mikrobefehl 100 zurück und beginnt wieder mit der Indizierung in der RWC-Tabelle unter Verwendung des modifizierten C1-Varianten-Zeichens. Der aus der RWC-Tabelle abgerufene Eintrag besitzt ebenfalls das in Fig. 7a gezeigte
Format. Die Codierung eines derartigen'Eintrags ändert sich jedoch entsprechend der Forderung durch den bestimmten Typ
des Zielsystems, das emuliert wird. So gibt z.B. eine derartige Codierung unterschiedliche Zeitfach-Ausblendcodes, etc. an.
309828/0678
Unter der Annahme, daß ein gültiger RWC-Tabelleneintrag verarbeitet
worden ist und daß das EXT-Bit 12 getestet worden ist, führt der Steuerspeicher nunmehr den Mikrobefehl 117
aus. Wie aus Fig. 9a ersichtlich ist, bewirkt dies, daß der
Sektorcodeinhalt des AG-Registers 206-88 über die SFS-Auswahlschaltung
206-14 in das AF-Register 206-12 geladen wird. Außerdem bewirkt dies, daß eine Konstante "01" von dem
Steuerspeicher in das AG-Register 206-88 geladen wird und daß die Schaltung 206-18 den Inhalt des SE-Zählers 206-16
um 1 verringert. Auf den Mikrobefehl 118 hin wird der Konstanten-Inhalt des AG-Registers 206-88 in das AF-Register
206-12 geladen. Dieses Register speichert nunmehr einen Wert, der dem zweimal nach links verschobenen Sektorcode zuzüglich
einem Wert von 256 entspricht. Die Schaltung 208-18 erhöht den Inhalt des SE-Zählers 206-16 um 1, und ferner wird eine
Konstante aus dem Steuerspeicher in das AG-Register 206-88 geladen, um die Zielsystem-RWC-Belegungs-Statusinformation
aus dem Speicherplatz 77o d©r RWC-Tabelle gemäß Fig. 6 abzurufen.
Auf den Mikrobefehl 119 hin werden die Sektorbits aus der Tabelle in dem "Sektorcode"-Speicherplatz UW2 des
URF-Bereiches gemäß Fig. 2b kurzzeitig gespeichert.
Der Mikrobefehl 120 lädt auf seine Ausführung hin den Inhalt des AG-Registers 206-88 in das AF-Register 206-12, während
der Mikrobefehl 121 die weitere Übertragung der Adresse aus dem AF-Register 206-12 in das UN-Register 202-54 bewirkt.
Außerdem ist das Adreßregister des LSM-Speichers auf den Adressenspeicherplatz 30 eingestellt. Der Mikrobefehl 122
bewirkt, daß der "Basiswert" der Eingabe/Ausgabe-Tabellen in den Addierer 202-50 geladen wird, und zwar aus der Arbeitsspeicherstelle
UW5 des URF-Bereiches 202-20. Die resultierende
&09828/0678
Adresse, die dem Speicherplatz 77g entspricht, wird zusammen mit dem Speichersignal MMGOP zu dem Hauptspeicher hin geleitet.
Während desselben Zyklus wird der RWC-Eintrag aus dem Speicherplatz 30 in das AC-Register 206-3 geladen.
Wie zuvor erwähnt, enthält der Speicherplatz 77Q der RWC-Tabelle
den RWC-Belegungs-Status des Zielsystems des verarbeiteten
Programms. Wie in Fig. 6 angegeben, speichern die Bits niedriger Wertigkeit des Speicherplatzes 77g Werte, die
den gegenwärtigen Belegungsstatus sämtlicher Zielsystem-Lese/
Schreib-Kanäle (RWC) angeben. Diese Bits entsprechen dem
emulierten RWC-Belegungs-Ausblendfeld gemäß Fig. 7a. Im Unterschied dazu gibt das RWC-Belegungs-Ausblendfeld des
RWC-Eintrags die bestimmten Lese/Schreib-Kanäle wieder, die
dieser bestimmte Befehl zu benutzen wünscht, um die bestimmte Eingabe/Ausgabe-Operation auszuführen. Die diese beiden
Werte benutzende Firmenware prüft, ob die Eingabe/Ausgabe-Operation in dem bestimmten Zielsystem ausgeführt sein könnte.
Wie Fig. 8b angibt, wird dieser Test dadurch ausgeführt, daß eine UND-Verknüpfung der 16 Bits niedriger Wertigkeit
aus dem RWC-Tabelleneintrag (RWC —Belegungs-Ausblendung)
bezüglich des RWC-Codes und der vergleichbaren 16 Bits durchgeführt wird, die aus dem Speicherplatz 77g der Eingabe/Ausgabe-Tabelle
abgerufen werden. Sodann wird überprüft, ob das Ergebnis der Verknüpfungsfunktion Und Null ist. Ist das
betreffende Ergebnis 0, so bedeutet dies, daß die bestimmte Operation ausgeführt werden kann. Sodann läuft die Verarbeitung
weiter.
Aus Fig. 9a geht hervor, daß die Mikrobefehle 123 bis 129
dazu herangezogen werden, den obigen Test durchzuführen.
509828/0678
Der Mikrobefehl 123 löscht die Bitstellen O bis 15 des
AC-Registers 206-3 und stellt den Wort-Addierer 206-1 derart ein, daß eine Verknüpfungs-Produktoperation ausgeführt wird.
Der Mikrobefehl 124 veranlaßt auf seine Ausführung, daß der Inhalt des AC-Registers in das AD-Register 206-5 übertragen
wird. Dies ermöglicht, daß die aus dem Speicherplatz 77« abgerufene Statusinformation aus dem DN-Register 202-1 gemäß
Fig. 1c in das AC-Register 206-3 geladen wird. Die Bitstellen 0 bis 15 werden wieder auf 0 gesetzt bzw. gelöscht,
und das durch den Wort-Addierer 206-1 gebildete Ergebnis wird in das AC-Register 206-3 geladen. Die Testschaltungen
des Steuerspeichers überprüfen das Ausgangssignal des Addierers
auf 0, und zwar auf den Mikrobefehl 129 hin.
Wie durch Fig. 8b und 9a angegeben, führt der Steuerspeicher
in dem Fall, daß das Addierer-Ausgangssignal 0 ist, den Mikrobefehl 130 aus und kehrt auf die Hauptroutine gemäß
Fig. 8a und 10 zurück. Wenn irgendwelche 1-Bits bewirken, daß das Addierer-Ausgangssignal nicht 0 ist, zeigt dies dem
bestimmten Lese/Schreib-Kanal RWC an, daß die Operation, die zu benutzen beabsichtigt war, bereits "belegt" ist. Es sei
darauf hingewiesen, daß in dem Fall, daß dieser Befehl der erste Eingabe/Ausgabe-Befehl war, der von dem Zielsystemprogramm
auf Grund der Einleitung des Prozesses abgegeben wurde, das RWC-Belegungs-Statusfeld insgesamt Nullen enthalten würde.
Unter der Annahme, daß dies der Fall ist, würde der erste Eingabe/Ausgabe-Befehl ebenfalls dazu führen, daß der Test
positiv ist. In denjenigen Fällen, in denen dies nicht der erste abgegebene Eingabe/Ausgabe-Befehl war und in denen der
angeforderte Lese/Schreib-Kanal tatsächlich belegt war, würde der Steuerspeicher einen Zugriff zu dem Mikrobefehl 131 hin
vornehmen, durch den das CF1-Steuerungs-Flipflop in den
509828/0678
Binärzustand 1 gebracht würde (siehe Fig. 2b). In dem angegebenen Beispiel ist angenommen, daß der abgerufene RWC-Eintrag in der aus Fig. 7a angegebenen Weise codiert ist.
Dies bedeutet, daß beide Lese/Schreib-Kanäle RWC5 und 5a für die Eingabe/Ausgabe-Operation erforderlich sind. Wenn
nicht die beiden entsprechenden Bitstellen des RWC-Ausblendfeldes der Speicherstelle bzw» Speicherplatzes 77Q binäre
Nullen enthalten, wird der angeforderte Lese/Schreib-Kanal RWC als belegt gewertet. In solchen Fällen, in denen die Beschränkungsanforderung hinsichtlich der Verbindung der
Lese/Schreib-Kanäle gelockert werden kann, wird das RWC-Ausblendfeld des Eintrags geändert, um lediglich einen
Lese/Schreib-Kanal (z.B. lediglich den Lese/Schreib-Kanal RWC5) anzugeben. Diese Änderung, die eine Änderung der
binären 1 im Bit 25 in eine binäre 0 umfaßt, kann entweder durch das Betriebssystem oder durch den Programmierer, wie
über einen Befehl vorgenommen werden, der von der Systemkonsole her eingeführt wird. Wenn eine ÜND-Verknüpfung der
beiden Felder ausgeführt wird, ist es somit lediglich erforderlich, daß der Lese/Schreib-Kanal RWC5 nicht belegt
ist, um ein Null-Ergebnis zu erzeugen.
Wie aus Fig. 8b und 10 hervorgeht, kehrt der Steuerspeicher
nach Ausführung des oben genannten Testes zu dem Hauptfluß gemäß Fig. 8a zurück, um einen Sektortest auszuführen. Um
diesen Test auszuführen, muß die Firmenware bestimmen, über welchen Sektor die Eingabe/Ausgabe-Operation stattzufinden
hat. Wie aus Fig. 6 und 11 ersichtlich ist, kann ein Sektor durch ein C1-Zeichen (lediglich Steuer-Eingabe/Ausgabe-Befehle).
509828/0678
ein C2-Zeichen oder ein Umschalt- bzw. Steuercode-(CE)-Zeichen festgelegt werden, und zwar in Abhängigkeit von dem Format
des Befehls. Da dieser Befehl ein PDT-Befehl ist, muß die nächste Befehlssteuerung oder das nächste Varianten-Zeichen
abgerufen werden, um das bestimmte Zeichenformat zu bestimmen (d.h., ob ein C2-Zeichen oder ein CE-Zeichen vorliegt). Zunächst
wird der Inhalt des Folgesteuerungs- bzw. Ablaufsteuerungs-Zähler—Speicherplatzes
des LSM-Speichers benutzt, um den nächsten Teil des PDT-Befehls (das sind vier Bytes)
abzurufen; das bestimmte Byte, das dem nächsten Varianten-Zeichen entspricht, wird durch die SDS-Auswahlschaltung 206-66
ausgewählt und in dem AB-Register 206-58 gespeichert. Danach wird das Zeichen in das AG-Register 206-88 übertragen, um die
erforderliche Prüfung auszuführen.
Im folgenden seien die obigen Verhältnisse unter Bezugnahme auf die Fig. 8b und 9b näher erläutert. Die Mikrobefehle 105
und 106 werden ausgeführt; sie veranlassen, daß die nächsten vier Bytes des in dem Zielsystera-Hauptspeicherbereich gespeicherten
Eingabe/Ausgabe-BefehJs abgerufen werden, wozu der Ablaufsteuerungszähler-Adresseninhalt (SC) benutzt wird.
Dies bedeutet, daß die Hauptspeicher-Segmentnummer, die von dem UT-Register 202-9 an das US-Register 202-7 abgegeben wird
bzw. worden ist, veranlaßt, daß der in dem UAB-Assoziativspeicher 202-5 gemäß Fig. 2e gespeicherte Basisnummernwert
für den betreffenden Sektor in das UN-Register 202-54 geladen wird. Außerdem wird die Adresse des gegenwärtigen
Mikrobefehls ti in das Rückführ-Verzweigungsregister 202-12 des Steuerspeichers gemäß Fig. 2a auf das Signal KRSIO hin
geladen, und sodann bewirkt der Steuerspeicher eine Ver-
509828/0678
zweigung zum Zwecke des Abrufs der nächsten Varianten-Routine gemäß Fig. 8g und 9c Die Mikrobefehle 101 bis 105 führen
die Operationen zur Bildung der Speicheradresse aus. Sie führen z.B. die durch den UBD-Addierer 202-50 erzeugte
Adresse über das UA-Register 202-52 zu dem Hauptspeicher.
Außerdem werden die Inhalte des Arbeitsspeicherplatzes UW3 in den SE-Zähler 206-16 geladen, und die Ablaufsteuerungs-Zähleradresse
wird in den Arbeitsspeicherplatz UW1 gespeichert. Die aus dem Hauptspeicher abgerufenen Bytes werden in das
AD-Register 206-5 geladen und dann in den Arbeitsspeicherplatz
34 des LSM-Speichers geschrieben. Das erste Varianten-Zeichen (das ist das C2- oder CE-Zeichen) wird für eine Überprüfung
ausgewählt und in die AB- und EW-Register 206-58 und 206-84 geladen. Außerdem erzeugt der Mikrobefehl 105 das
Signal CESR1O, welches den Adresseninhalt des Rückführ-Verzweigungsregisters
204-12 in das Adreßregister 204-9 lädt. Dadurch kehrt der Steuerspeicher auf die Sektor-Testroutine gemäß Fig. 9b zurück.
Der Mikrobefehl 101 führt auf seine Ausführung hin eine Konstante von 18 in das AG-Register 206-88 hinein, und der
SE-Zähler 206-16 wird auf Null gebracht. Die Verschiebeschaltung wird derart eingestellt, daß eine Linksverschiebung
um sechs Stellen erfolgt. Der Mikrobefehl 106 veranlaßt die Verzweigungs-Testschaltungen gemäß Fig. 2a, eine
Zwei-Weg-Verzweigung auszuführen, und zwar auf der Grundlage des Zustande des Wort-Markierungsbits 1 des AB-Registers 206-58,
Da dies ein PDT-Befehl ist, sollte keine Wortmarkierung in
dem Varianten-Zeichen vorhanden sein, da der Befehl unvollständig wäre (d.h. entweder ein C2-Zeichen oder ein CE-Zeichen
erfordert). Wenn das Varianten-Zeichen jedoch eine
509828/0678
Wortmarkierung enthält, führt der Steuerspeicher eine Reihe von Mikrobefehlen in der Hauptroutine gemäß Fig. 10 aus, was
die weitere Verarbeitung des Befehls fehlschlagen läßt, und ferner bewirkt dies, daß der Emulator einen peripheren Spezifikationsfehler
(PSE) erzeugt, wie dies erläutert wird. Unter der Annahme, daß keine Wortmarkierung vorhanden ist, beginnt
der Emulator nunmehr mit der Überprüfung des Wertes der Ziffer hoher Wertigkeit des in dem AB-Register 206-58 gespeicherten
Varianten-Zeichens, um zu bestimmen, ob das Varianten-Zeichen ein CE-Zeichen oder ein C2-Zeichen ist.
Im einzelnen lädt der Mikrobefehl 103, wie dies in Fig. 9b veranschaulicht ist, den Sektorcodeinhalt des AG-Registers
206-88 in das AF-Register 206-12, und sodann wird eine Konstante in das AG-Register 206-88 geladen. Der Mikrobefehl
verringert ferner den Inhalt des SE-Zänlers 206-16 um 1. Der Mikrobefehl 103 überprüft den Zustand des Bits 4 um festzustellen,
ob die Ziffer hoher Wertigkeit einen Wert von 1, 3, 5 oder 7 besitzt. Wenn das Bit 4 eine binäre 1 ist, bewirkt
der Steuerspeicher eine Verzweigung zu dem Mikrobefehl 204, der feststellt, ob der Wert der Ziffer hoher Wertigkeit eine
1, 5 oder 3,7 ist.
Wie durch Fig. 8c und 9b angegeben, ist das Zeichen, wenn der Oktalwert 1 oder 5 beträgt, ein CE-Zeichen. Hier legen
die Bits niedriger Wertigkeit (d.h. der Ziffer niedriger Wertigkeit) des Varianten-Zeichens den Sektorcode fest, wie
dies durch Fig. 8c und 11 angegeben ist. Wenn die drei Bits niedriger Wertigkeit einen Wert von 4 besitzen, wird ein
Sektorcode 2 benutzt. Wenn die Ziffer hoher Wertigkeit nicht einen Wert 1 oder 5 besitzt, ist im übrigen das Zeichen ein
C2-Zeichen. Hierbei legen die drei Bits hoher Wertigkeit
509828/0678
(d.h. die Ziffer hoher Wertigkeit) des Varianten-Zeichens den Sektorcode fest (siehe Fig. 8c und 11).
Im einzelnen führen die Mikrobefehle 205, 300-305 jene
Operationen aus, die für die Verarbeitung eines Umschaltcodezeichens (CE-Zeichen) erforderlich sind. Die Mikrobefehle 505, 105-110 führen jene Operationen aus, die für die
Verarbeitung des CE-Zeichens erforderlich sind.
Diese Operationen werden unter Bezugnahme auf Fig. 9b im einzelnen betrachtet werden. Da dabei keine Wortmarkierung
bzw. Wortmarke vorhanden ist, wird der Mikrobefehl 103 ausgeführt. Dabei wird der in dem AG-Register 206-88 gespeicherte Sektorcodeinhalt X8 herangezogen und in das AF-Register
206-12 über die Schaltung 206-14 geladen. Der Mikrobefehl führt ferner eine Konstante 2 in das AG-Register 206-88 ein
und verringert den Inhalt des SB-Zählers 206-16 um 1. Außerdem veranlaßt der Mikrobefehl den Steuerspeicher, eine Zwei-Weg-Verzweigung auf der Grundlage des Zustande des Bits 4
des AB-Registers 206-58 auszuführen. Wenn der Sektorcode einen Wert von 1, 3, 5 oder 7 besitzt, werden, wie erwähnt, sodann
die Mikrobefehle 204, 205, 505 ausgeführt um zu bestimmen, ob der Wert des Sektorcodes 1, 5 oder 3,7 beträgt. Wie aus
Fig. 9b ersichtlich ist, lädt der Mikrobefehl 204 den Sektorcode im AG-Register 206-88 in das AF-Register 206-12 und
führt eine Konstante von 27 in das AG-Register 206-88 ein.
Dies ermöglicht die Vornahme einer Prüfung bezüglich des Bits 3 des AB-Registers 206-58 um zu bestimmen, ob die
Ziffer hoher Wertigkeit einen Wert von 1 oder 5 oder 7 besitzt. Wenn die Ziffer einen Wert von 1 oder 5 besitzt, ist
sie ein Umschaltcode bzw. ein Steuerzeichencode, und der Steuerspeicher führt sodann den Mikrobefehl 205 aus. Dadurch
509828/0678
wird eine die Mikrobefehle 300 bis 302 einschließende Ablauffolge
begonnen, durch die ferner geprüft wird, ob die Ziffer niedriger Wertigkeit des Umschaltcodes einen Wert von 4 besitzt.
Wenn dies der Fall ist, führt der Steuerspeicher eine Verzweigung zu dem Mikrobefehl 403 aus, der einen Code von
in das AG-Register 206-88 einführt. Dieser Wert wird als Sektorcode benutzt.
Wenn die Ziffer niedriger Wertigkeit nicht einen Wert von 4 besitzt, läuft der Steuerspeicher weiter zu dem Mikrobefehl
303, der den Zifferninhalt niedriger Wertigkeit des AG-Registers 206-88 heranzieht, um ihn in das AF-Register 206-12
zu laden. Der Inhalt des AF-Registers wird dann zu dem AE-Register 206-11 auf den Mikrobefehl 304 hin übertragen.
Außerdem wird der Segmentnummerninhalt des UT-Registers 202-9 in dem US-Register 202-7 gespeichert, und der Inhalt des
Basisadreßregister-Speicherplatzes BRO des URF-Registers wird in das UN-Register 202-54 ausgelesen.
Der Mikrobefehl 305 verschiebt den Inhalt des AE-Registers
nach links um 8, und der Mikrobefehl 30A überträgt den verschobenen Inhalt in das AC-Register 206-3. Außerdem wird
die in dem UAB-Assoziativspeicher 202-5 gespeicherte Basisadresse
in das UN-Register 202-54 ausgelesen. Die durch den UBO-Addierer 202-50 erzeugten Ergebnisse werden in den
Arbeitsspeicherplatz UW7 des URF-Registers 202-20 eingeschrieben. Der Inhalt des Arbeitsspeicherplatzes UW1 wird
adressiert und an die USB-Auswahlschaltung 202-38 abgegeben. Der Mikrobefehl 306 bewirkt, daß der aktualisierte Sektoradresseninhalt
des AC-Registers 206-3 in den Arbeitsspeicherplatz
UW2 eingeschrieben wird (das ist der aktualisierte
509828/0678
Sektorcode). Wie aus Fig. 9c ersichtlich ist, schließen diese Inhalte den um vier nach links verschobenen Sektorcode zuzüglich des Wertes 256 ein.
Die Sektor-Testroutine führt wieder die den Abruf der nächsten Varianten-Routine betreffende Routine ein, um den
nächsten Teil des Eingabe/Ausgabe-Befehls abzurufen, der die
übrigen Steuerzeichen enthält (d.h. siehe Fig. 11). Wie in Fig. 8c und 9b angegeben, überprüft der Emulator ferner das
nächste Varianten-Zeichen um zu bestimmen, ob es eine Wortmarkierung bzw. Wortmarke enthält (das bedeutet, daß der
Mikrobefehl 308 ausgeführt wird, der den Zustand des Bits 1
in den AB-Register 206-58 prüft). Trifft dies zu, so liegt erneut ein unvollständiger Befehl vor, und der Emulator verarbeitet diesen Befehl in derselben Weise wie dies oben beschrieben worden ist. Unter der Annahme, daß keine Wortmarke
vorhanden ist, führt der Steuerspeicher eine Reihe von Mikrobefehlen aus, die den Zustand des Eingabe/Ausgabe-Bits des
C2-Zeichens in der hier erläuterten Weise überprüfen.
Aus Fig. 6, 8c und 11 geht hervor, daß dann, wenn die
Ziffer hoher Wertigkeit des Sektorcodes einen anderen Wert als 1 oder 5 besitzt, die Bits 4 und 5 des C2-Zeichens (d.h.
die Bits 3 und 4 des C2-Zeichens in Fig. 11) den Sektor in dem Zielsystem angeben. Aus Fig. 9b geht hervor, daß der
Mikrobefehl 105 die Verschiebeschaltung 206-30 veranlaßt,
die in das AC-Register 206-3 übertragenen Sektorcodebits nach rechts zu verschieben und dann den Inhalt des SE-Zählers
um 1 zu erhöhen. Der Mikrobefehl 106 veranlaßt, daß die verschobenen Ergebnisse in das AC-Register 206-3 geladen werden,
daß die Verschiebeschaltung 206-30 derart eingestellt wird,
daß eine Verschiebung nach links um 2 erfolgt, daß das
509828/0678
ACU-Betriebs-Flipflop in den Binärzustand 1 gesetzt wird
und daß das AF-Register 206-12 gelöscht bzw. auf 0 gesetzt wird. Das durch den Byte-Addierer 206-50 erzeugte Ergebnis
wird in das AG-Register 206-88 übertragen; dieses Ergebnis entspricht bestimmten Bits des PCU-Codes (das sind die C2-Bits
6, 3, 2, 1 in Fig. 6 und die C2-Bits 2, 5, 6, 7 in Fig. 11).
Der Mikrobefehl 107 bewirkt, daß die aktualisierte Sektoradresseninformation
in den Arbeitsspeicherplatz UW2 des URF-Registers 202-20 eingeschrieben wird. Außerdem lädt
der betreffende Mikrobefehl die PCU-Bits aus dem AG-Register 206-88 in das AF-Register 206-12. Der Mikrobefehl 107 prüft
ferner die Zustandsbitstelle 2 des AB-Registers 206-58, welche das Eingabe/Ausgabe-Bit des C2-Zeichens enthält; diese gibt
die Übertragungsrichtung an. Wenn dieses Bit eine binäre 1 ist, wodurch angezeigt wird, daß die Daten aus einer Einrichtung
zu lesen sind, führt der Steuerspeicher eine Verzweigung zu dem Mikrobefehl 208 hin aus, wodurch die PCU-Bits
zu dem AC-Register 206-3 übertragen und das CFO-Flipflop
in den Binärzustand 1 gesetzt werden. Ferner wird der Folgesteuerungs-Zähler-Adresseninhalt
des Arbeitsspeicherplatzes UW1 um 1 erhöht und in den Arbeitsspeicherplatz 1 in dem in
Frage kommenden Adressenformat zurückgeschrieben. Wenn das Eingabe/Ausgabe-Bit auf eine binäre 0 gesetzt ist, führt der
Steuerspeicher sodann den Mikrobefehl 108 aus, der ähnliche Operationen mit der Ausnahme durchführt, daß das CFO-Flipflop
in den Binärzustand 1 gesetzt wird.
Der Steuerspeicher liest dann Mikrobefehle 109 und 110 aus. Der Mikrobefehl 109 überträgt den Inhalt der Verschiebeschaltung
206-30 zu dem AC-Register 206-3 und liest den Inhalt des Arbeitsspeicherplatzes 2 in das UN-Register 202-54 aus.
509828/0678
Der Mikrobefehl 110 veranlaßt, daß der AC-Inhalt, der den
um zwei nach links verschobenen PCU-Code enthält» in den Arbeitsspeicherplatz 30 des URF-Registers 202-20 eingeschrieben wird. Außerdem wird das CF4-Flipflop in den Binärzustand
gesetzt.
Wie aus Fig. 9b hervorgeht, wird eine Reihe von Operationen ähnlich den obigen Operationen auf die Mikrobefehle 309
bis 311 hin ausgeführt. Dies führt ferner dazu, daß die PCU-Codebits in den Arbeitsspeicherplatz 3 des URF-Registers
102-20 eingeschrieben werden, und zwar auf den Mikrobefehl hin.
Aus Fig. 8c und 9b dürfte ersichtlich sein, daß auf die
Beendigung der Überprüfung der Sektorcodebits der Varianten-Zeichen hin die Firmenware mit dem Mikrobefehl 111 beginnend
eine Indizierung in der Sektortabelle vornimmt, und zwar unter Heranziehung des zuvor erhaltenen Sektorcodes· Der Mikrobefehl 111 bewirkt, daß der Inhalt des die Eingabe/Ausgabe-Tabellensegmentinformation enthaltenden Arbeitsspeicherplatzes UW5 an die USB-Auswahlschaltung 202-38 abgegeben
wird. Der Mikrobefehl 112 konditioniert den LSM-Speicher
für ein Auslesen des Inhalts des Arbeitsspeicherplatzes 30, der den zuvor abgerufenen RWC-Tabelleneintrag enthält.
Der Mikrobefehl 113 bewirkt, daß der RWC-Tabelleneintrag-Inhalt in das AD-Register 206-5 ausgelesen wird. Der Mikrobefehl 120 veranlaßt auf seine Ausführung hin, daß die Verschiebeschaltung 206-30 ihren Inhalt um 13 nach links verschiebt, und ferner wird der Sektortabelleneintraginhalt
des DN-Registers 201-1 in die AC- und AE-Register 206-3
509828/0678
und 206-71 des Wort-Addierers 206-1 geladen. Daraufhin lädt der Mikrobefehl 121 auf seine Ausführung hin die verschobenen
Sektortabellenbits in das AE-Register 206-11.
Der aus der Sektortabelle gemäß Fig. 6 abgerufene Sektortabelleneintrag
besitzt das in Fig. 7b dargestellte Format. Die Zeitfach-Status-Bits 0 bis 5 des Eintrags werden über die
SCS-Auswahlschaltung 206-55 in das AA-Register 206-52 des
Byte-Addierers 206-50 geladen. Die Zeitfach-Ausblendbits, die den Bits 0 bis 5 des RWC-Eintrags entsprechen, der zuvor in
dem AB-Register 206-58 gespeichert worden ist, werden über die SDS-Auswahlschaltung 206-66 in das AB-Register 206-58
geladen. Anschließend bewirkt der Mikrobefehl 122, daß das durch den Byte-Addierer 206-50 gebildete Ergebnis in das
AG-Register 206-88 gespeichert wird und daß der LSM-Speicher veranlaßt wird, den Arbeitsspeicherplatz 31 für die Speicherung
des abgerufenen Sektortabelleneintrags zu adressieren.
Der Mikrobefehl 123 konditioniert den LSM-Speicher zum Zwecke des Auslesens des Inhalts des Arbeitsspeicherplatzes
GRC, und außerdem wird der SE-Zähler 206-16 auf Null gestellt.
Ferner überprüft der Mikrobefehl den Zustand der Bitstelle des AE-Registers 206-11, um zu kontrollieren, ob der angegebene
bestimmte Sektor in dem Zielsystem vorhanden ist. Diese Bitstelle speichert das Bit 13 des Sektortabelleneintrags,
der zuvor in das AE-Register geladen und um 13 Stellen nach links verschoben worden ist.
Wie aus Fig. 9b ersichtlich ist, führt der Steuerspeicher eine Verzweigung zu dem Mikrobefehl 224 hin aus, wenn das
Bit 13 eine binäre 1 ist. Der Mikrobefehl 224 führt eine
509828/0678
bestimmte Konstante (das ist PSE1) in das AG-Register 206-88
ein. Diese Konstante ist so codiert, daß der Software ESP angezeigt wird, daß der PDT-Befehl einen nicht vorhandenen
Sektor angibt und daß damit der Befehl für das Zielsystem, das er angibt, unzulässig ist. Dieser Code wird in das SCN-FeId
des Speicherplatzes GRC des LSM-Speichers eingeschrieben. Ferner wird der Inhalt des Zählers SE2O6-16 um 1 verringert,
und der Inhalt des Arbeitsspeicherplatzes UW3 wird auf 0 gelöscht.
Die Firmenware beendet dann die Verarbeitung des Befehls und tritt in die Eingabe/Ausgabe-Bedienungs-Routine ein.
Unter der Annahme, daß das Bit 13 eine binäre 0 ist, wodurch
ein existierender Sektor angezeigt wird, führt der Steuerspeicher zu dem Mikrobefehl 124 hin, der die Ergebnisse des
Zeitfach-Belegungs-Tests überprüft. Dieser Test wird ebenfalls
in derselben Weise ausgeführt wie der RWC-Belegungstest. Dies
bedeutet, daß der. Byte-Addierer 206-50 eine UND-Verknüpfung
des Zeitfach-Status von dem Sektortabelleneintrag und den Zeitfach-Ausblendbits ausführt, die zuvor aus dem RWC-Tabelleneintrag
abgerufen worden sind. Der Mikrobefehl 124 überprüft
die Ergebnisse der UND-Verknüpfung. Wenn der Byte-Addierer 206-50 nicht ein vollständiges Null-Ergebnis erzeugt
(d.h., daß das Flipflop 206-75 in den Binärzustand 1 gesetzt ist), geht der Steuerspeicher auf den Mikrobefehl 125 weiter.
Dieser Mikrobefehl setzt das SteuerungS-CF1-Flipflop in den
Binärzustand 1. Dadurch ist angezeigt, daß keine genügenden Zeitfächer mehr zur Verfügung stehen, um den Befehl von dem
Zielsystemprogramm her auszuführen (das bedeutet, daß die Zeitfächer belegt sind). Der Mikrobefehl 125 löscht ferner
den SE-Zähler 206-16 bzw. stellt ihn auf 0, und der Steuerspeicher
kehrt auf die Hauptroutine gemäß Fig. 8a zurück.
509828/0678
Unter der Annahme, daß genügend Zeitfächer vorhanden sind, führt der Steuerspeicher eine Verzweigung zu dem Mikrobefehl
225 aus. Dadurch wird der SE-Zähler 206-16 auf O gesetzt, und
außerdem wird auf die Hauptroutine zurückgekehrt, ohne daß das CF1-Flipflop gesetzt wird.
In dem angenommenen Beispiel sind zwei Zeitfächer für eine Rate von 167K-Zeichen pro Sekunde erforderlich. Dies bedeutet,
daß zwei angegebene Zeitfächer in dem Zeitfach-Status-Feld als verfügbar angegeben werden müssen (das bedeutet, daß das
Feld in jenen Zeitfachpositionen Nullen enthalten muß). Wenn die Zeitfächer im Sektor 2 oder 2A als belegt angezeigt sind,
signalisiert der Emulator sodann, daß der Befehl nicht ausgeführt werden kann.
In ähnlicher Weise wie beschrieben kann der Inhalt der Zeitfach-Maske
geändert werden, um die Sektor-Verkehrsbeschränkungen
zu lockern, wie dies durch das Programm gefordert wird. Nachdem z.B. bestimmt ist, daß es für den richtigen Betrieb des Programms
nicht erforderlich ist, daß die durch die Zeitfach-Maske geforderten Sektor-Verkehrsbeschränkungen durchgesetzt
werden, können diese Beschränkungen dadurch aufgehoben werden, daß Nullen in die Maske eingeführt werden. Wenn demgemäß der
Emulator einen Zugriff zu dem Sektortabelleneintrag hin vornimmt und eine UND-Verknüpfung bezüglich sämtlicher Nullen
im Hinblick auf die Zeitfach-Status-Bits ausführt, wird das Ergebnis stets anzeigen, daß Zeitfächer verfügbar sind. Demgemäß
wären Zeitfach-Verkehrsbeschränkungen eines Sektors aufgehoben.
Setzt man das obige Beispiel fort, so zeigt sich aus Fig. 8a,
509828/0678
daß die Hauptroutine zunächst den Zustand eines der Steuerungs-Flipflops (d»h. CF4) überprüft (siehe den
Mikrobefehl 106 gemäß Fig. 10), um zu bestimmen, ob tatsächlich eine PCU-Einheit in dem Befehl festgelegt worden
ist (das ist der in einem C2-Zeichen enthaltene PDT-Befehl), und in entsprechender Weise sollte die Verarbeitung fortgesetzt werden. Da zuvor angenommen worden ist, daß das "Fortsetzungs"-CF4-Flipflop in den Binärzustand 1 gesetzt war
(d.h. P=1 in Fig. Ba), tritt der Steuerspeicher in eine
PCU-Status-Routine ein. Aus Flg. 8a geht dabei hervor, daß
in dem Fall, daß das CF4-Flipflop nicht in den Binärzustand 1
umgeschaltet worden ist, der Steuerspeicher auf Mikrobefehle Bezug nimmt (z.B. die Mikrobefehle 106-108 gemäß Fig. 10),
um einen bestimmten Code (PSE3) festzulegen, wobei das SCN-FeId des Arbeitsspeicherplatzes GR10 des LSM-Speichers anzeigt, daß keine PCU-Einheit angegeben worden ist (siehe
Fig. 4). Danach beendet der Emulator die Verarbeitung des PDT-Befehls über die Eingabe/Ausgabe-Betriebsroutine.
Die PCU-Status-Abrufroutine bewirkt, daß ähnliche Operationen
wie sie oben beschrieben worden sind, ablaufen. Dies führt zum Abruf eines PCU-Tabelleneintrags aus der einem bestimmten
Sektor zugeordneten PCU-Tabelle. Obwohl die Sektortabelle acht Einträge zuläßt, sind eigentlich maximal nur sechs Sektoren für ein vorgegebenes Zielsystem vorhanden (das sind die
Sektoren 1, 2A, 2B, 2C1 2D und 3). Wie durch Fig. 8d angegeben,
führt die PCU-Status-Abruf routine eine Indizierung in der
PCU-Tabelle aus, und zwar unter Heranziehung des aus dem.
C2-Zeichen erhaltenen PCU-Codes. Die verschiedenen Operationen
5098 28/067
sind in Fig. 9d im einzelnen gezeigt.
Aus Fig. 9d ergibt sich, daß die rufende Routine (das ist die Hauptroutine gemäß Fig. 10) den Mikrobefehl 100 ausführt.
Dieser Mikrobefehl 100 veranlaßt den LSM-3peicher den Inhalt des Arbeitsspeicherplatzes W31 auszulesen, der den Sektortabelleneintrag
enthält. Außerdem veranlaßt der Mikrobefehl das CF4-Flipflop, in den Binärzustand O umzuschalten. Anschließend
liest der Steuerspeicher den Mikrobefehl 100 der PCU-Status-Abrufroutine aus, der auf seine Ausführung hin den
Sektorinhalt des Arbeitsspeicherplatzes W31 in das AC-Register 206-3 überträgt. Der Mikrobefehl 101 liest den PCU-Code-Inhalt
des Arbeitsspeicherplatzes UW3 (das ist der Wert 4X PCU) des URF.-Registers 202-20 in das UN-Register 202-54
aus. Der Mikrobefehl 102 führt die ersten 16 Bits des AC-Registers 206-3 auf Null und veranlaßt das URF-Register 202-20,
den Arbeitsspeicherplatz UW7 zum Zwecke der Speicherung des Wertes von dem UW3-Bereich zu adressieren. Außerdem werden
die in dem Arbeitsspeicherplatz UW5 enthaltenen Basis-Plus-Versetzungswerte an den USB-Wähler 202-38 abgegeben. Der
Mikrobefehl 103 überträgt auf seine Ausführung hin den Verschiebungswert des in dem AC-Register 206-3 gespeicherten
Sektortabelleneintrags in das UN-Register 202-54 (das sind
die Bits 16 bis 31, wie dies in Fig. 7b gezeigt ist). Außerdem
stellt der Mikrobefehl den Byte-Addierer 206-50 derart ein, daß eine Verknüpfungsmäßige Produkt-Operation ausgeführt
wird. Ferner wird die AA-Auswahlschaltung 206-54 auf
eingestellt (z.B. durch selektives Zurückstellen des entsprechenden Flipflops).
509828/0678
Der Mikrobefehl 104 bewirkt, daß die durch den UBD-Addierer
gebildete Index-Adressensumme (das ist 4X PCU + Verschiebung) in das UA-Register 202-52 geladen wird, und zwar zur Weiterleitung
an den Hauptspeicher zusammen mit dem Speichersteuersignal UMßOSO.Außerdem wird die USB-Auswahlschaltung 202-38
derart eingestellt, daß der Inhalt des Arbeitsspeicherplatzes UW7 ausgelesen wird. Ferner wird die Verschiebeschaltung 206-30
so eingestellt, daß eine Verschiebung nach links um fünf Positionen erfolgt. Wenn anschließend der Mikrobefehl 105
ausgeführt wird, wird das URF-Register 202-20 veranlaßt, den durch den UBD-Addierer 202-50 erzeugten Indexwert in den
Arbeitsspeicherplatz UW7 einzuspeichern. Die USB-Auswahlschaltung 202-38 ist dann so eingestellt, daß der PCU-Code-Inhalt
des Arbeitsspeicherplatzes UW3 zum Zwecke des Auslesens ausgewählt wird. Außerdem wird der Inhalt des SC-Zählers auf
gebracht. Der Mikrobefehl 106 lädt auf seine Ausführung hin das örtliche LY-Register 207-9 des LSM-Speichers 207-1 mit
dem Indexinhalt des Arbeitsspeicherplatzes UW7, und ferner wird der berechnete Indexwert in den Speicherplatz GR14 eingeschrieben.
Darüber hinaus überträgt der Mikrobefehl den Null-Inhalt des SC-Zählers 206-62 in das SD-Zeigerregister
206-60. Schließlich wird der Zustand des CF4-Flipflops überprüft um festzustellen, ob dies das erste Mal durch diese
Folge von Mikrobefehlen ist.
Da das CF4-Flipflop im Binärzustand 0 ist, liest der Steuerspeicher
den Mikrobefehl 107 aus, auf dessen Ausführung hin der Indexinhalt des Arbeitsspeicherplatzes 7 abgerufen und
zu dem AC-Register 206-3 hin übertragen wird. Darüber hinaus ist die Verschiebeschaltung 206-30 so eingestellt, daß eine
verSchiebung nach rechts um zwei Stellen erfolgt. Der Mikro-
509828/0678
befehl 108 nimmt den verschobenen Inhalt auf und führt ihn
zu dem AC-Register 206-3 zurück. Demgegenüber überträgt der Mikrobefehl 109 den Inhalt des AC-Registers 206-3 zu dem
AD-Register 206-5 und verringert den Inhalt des SD-Zeigerregisters
206-60 um 2. Anschließend stellt der Mikrobefehl 110 auf seine Ausführung hin die SDS-Auswahlschaltung 206-62
derart ein, daß der durch das SD-Zeigerregister angegebene Zeicheninhalt (das ist das Byte niedriger Wertigkeit des
Indexwertes) von dem AD-Register 206-5 in das AB-Register
206-58 abgegeben wird. Außerdem wird der LSM-Speicher veranlaßt, den Speicherplatz GR2 zu adressieren.
Der Mikrobefehl 111 überträgt auf seine Ausführung hin den PCU-Codeinhalt des AB-Registers 206-58 in das AG-Register
206-88 und den Inhalt des adressierten LSM-Speicherplatzes in das AF-Register 206-12. Außerdem wird das SE-Register 206-16
auf 0 gestellt. Der Mikrobefehl 112 überträgt den PCU-Inhalt
des AG-Registers 206-88 in das AF-Register 206-12, und ferner wird die Verschiebeschaltung 206-30 so eingestellt, daß eine
Verschiebung nach links um fünf Stellen erfolgt. Daraufhin überträgt der Mikrobefehl 113 den verschobenen PCU-Inhalt
des AU-Registers 206-12 in das örtliche LY-Register 207-9 des LSM-Speichers 207-1 und speichert diesen Inhalt in dem
Speicherplatz GR2. Außerdem werden die SC- und SD-Register 206-62 und 206-60 auf 0 gestellt. Dies beendet das Laden des
PCU-ID-Codes in die Byte-Position hoher Wertigkeit des Speicherplatzes GR2 (siehe Fig. 4). Der aus dem Hauptspeicher
abgerufene und in das DN-Register 201-1 geladene PCU-Tabelleneintrag
wird ferner in die AC-, AD- und AE-Register 206-3, 206-5 bzw. 206-11 auf den Mikrobefehl 114 hin geladen. Darüber
hinaus führt der Mikrobefehl 114 eine Konstante n3f" in das
AG-Register 206-88 ein und erhöht den Inhalt des SD-Registers
206-60 um 2. Anschließend überträgt der Mikrobefehl 115 den
509828/0678
Ferner lädt er das Byte hoher Wertigkeit des PCU-Tabelleneintrags über die SDS-Auswahlschaltung 206-66 in das AB-Register
206-58. Die Verschiebeschaltung 206-30 wird so eingestellt,
daß eine Linksverschiebung 30 erfolgt, und das SE-Register 206-16
wird auf 0 gesetzt bzw, gelöscht. Der Mikrobefehl 116 bewirkt, daß das Ergebnis des Byte-Addierers 206-50 in das AG-Register
206-88 geladen wird und daß der verschobene Inhalt in das AC-Register 206-3 gespeichert wird. Der Inhalt des SC-Registers wird dann über die Schaltung 206-63 um 1 verringert,
und das AF-Register 206-12 wird gelöscht· Außerdem wird der LSM-Speicher 207-1 veranlaßt, den Inhalt des Arbeitsspeicherplatzes W32 zu adressieren. Schließlich wird der Zustand des
CF4-Flipflops überprüft; da dieses Flipflop sich im Binärzustand 0 befindet, liest der Steuerspeicher als nächsten
Mikrobefehl den Mikrobefehl 117 aus.
Der Mikrobefehl 117 überträgt auf seine Ausführung hin den
Inhalt des AG-Registers 206-88 zu dem AF-Register 206-12 und
stellt das SD-Register 206-60 auf 0. Der in dem AE-Register 206-11 gespeicherte PCU-Tabelleneintrag wird dann in das
LY-Register 207-9 über die QB-Busleitung geladen und sodann
in den Arbeitsspeicherplatz 32 eingeschrieben.
Der Mikrobefehl 117 lädt ferner den Inhalt des AC-Registers 206-3 in das AD-Register 206-5 und überprüft denselben Inhalt des AC-Registers auf Nullen. Dies erfolgt, wie durch
Fig. 8e angegeben, um zu bestimmen, ob ein Wechsel-C2-Code zu benutzen ist oder nicht, um eine Indizierung in der PCU-Tabelle vorzunehmen. Wenn das NS-Status-Bit 5 (siehe Fig. 7)
auf eine binäre 1 gesetzt ist, ist das Ergebnis gleich 0, und
509828/0678
der Steuerspeicher führt eine Verzweigung zu dem Mikrobefehl 418 aus. Dieser Mikrobefehl legt auf seine Ausführung
hin die Wechsel-C2-Codebits des PCU-Tabelleneintrag derart
fest, daß eine Indizierung in die PCU-Tabelle vorgenommen wird. Wie aus Fig. 9d ersichtlich ist, werden die Mikrobefehle
und 420 ausgeführt, und sodann wird der ¥echsel-C2-Code dazu benutzt, eine Indizierung in die Tabelle vorzunehmen, und
zwar durch Wiederholung derjenigen Operationen, die zuvor geschrieben worden sind. Wenn kein V/echselcode angegeben ist,
was bedeutet, daß AC nicht gleich O ist, ruft der Steuerspeicher den Mikrobefehl 118 ab. Dieser Mikrobefehl bewirkt,
daß die in dem AD-Register 206-5 gespeicherten PCU-Code-Bits über die SDS-Auswahlschaltung 206-66 in das AB-Register 206-58
geladen werden. Außerdem wird der Arbeitsspeicherplatz UW3 auf 0 gesetzt bzw. gelöscht. Daraufhin kehrt die PCU-Status-Abrufroutine
zu der Hauptroutine gemäß Fig. 8a zurück. Die Mikrobefehle 217 bis 223 werden ausgeführt, wenn der Wechsel-C2-Code
ausgeführt wird, und zwar nach dem ersten Mal durch die PCU-Status-Abrufroutine. Außerdem werden ähnliche Operationen
ausgeführt, wie sie durch die Mikrobefehle 115 bis ausgeführt worden sind.
Wie zuvor erwähnt, wird der Wechsel-PCU-Code dazu benutzt,
das Zielsystem auf eine einzige Ebene der Gleichzeitigkeit zu beschränken. Wenn das Programm für einen richtigen Lauf
nicht die Forderung nach Vorhandensein einer einzigen Ebene der Gleichzeitigkeit erforderlich macht, dann kann dieser
Zwang gemildert werden. Dies erfolgt dadurch, daß die Codierung bestimmter Bits der Einträge in die PCU-Tabelle
derart geändert wird, daß jede PCU-Adresse ihre eigenen Belegungs-Status-Unterbrechungsbits besitzt und somit zwei
gleichzeitige Operationen unterstützen kann. Einige Zielsysteme
509828/0678
enthalten z.B. einen Kartenleser/Locher, wobei diesen Einrichtungen
zwei Adressen zugeteilt sind, eine Leseadresse und eine Schreibadresse. Da sich jedoch beide Einrichtungen
eine gemeinsame Steuereinheit teilen, können beide Operationen nicht gleichzeitig erfolgen (das bedeutet, daß eine
einzige Ebene der Gleichzeitigkeit vorliegt). In dem Fall, daß das Zielsystemprogramm so geschrieben worden ist, daß
aus dieser Anordnung ein Nutzen gezogen wird, um eine gewisse Art der Verbindung für die Ermöglichung eines richtigen Laufes
des Programms zu erzielen, wäre die vorgesehene Wechsel-PCU-Codeanordnung
durch den Emulator in dem Wirtssystem zu unterstutzen sein. In diesem Fall wird demgemäß das NS-Bit
in dem PCU-Tabelleneintrag auf eine binäre 1 gesetzt. Dies macht die Überprüfung eines gemeinsamen BeJLegungs-Bits
erforderlich um zu bestimmen, ob der Befehl ausgeführt
werden kann.
In dem Fall, daß es für das ZielSystemprogramm nicht erforderlich
ist, daß diese Beschränkung auferlegt wird, kann sie gemildert werden. Zu diesem Zweck wird der Inhalt des
bestimmten Eintrags unter Heranziehung des Wechsel-PCU-Codes (das sind die Bits 10 bis 15) geändert. Dabei wird insbesondere
das NS-Bit 5 in dem Eintrag auf eine binäre 0 gesetzt. Dies bedeutet, daß sämtliche Belegungs-Status- und
Unterbrechungs-Status-Bits nunmehr für den Eintrag benutzbar/gültig sind. Die Software ESP aktualisiert den Zustand
der Belegungsbits 7 des in Frage kommenden Eintrags jeweils dann, wenn die Operation ausgeführt wird. Demgemäß wird der
Emulator eine Kartenieseoperation nicht emulieren, die mit einer Kartenlochungsoperation verbunden ist. In Ausdrücken
509828/067 8
des Zielsystems ausgedrückt heißt dies selbstverständlich, daß die Änderung des Eintrags äquivalent ist der Einbeziehung
von zwei gesonderten Steuereinheiten, und zwar einer der jeweiligen Einrichtung, wobei jede Einheit gesonderte Status-Anzeigeglieder
besitzt. Es dürfte ersichtlich sein, daß entsprechende Änderungen zur Milderung derartiger Zwangslagen
vorgenommen werden können, die anderen Typen von Zielsystemeinrichtungen auferlegt sind.
Aus Fig. 10 geht hervor, daß auf den obigen Test folgend die Hauptroutine sodann Mikrobefehle ausführt, die den
LSM-Speicher 210-1 veranlassen, den Inhalt des Speicherplatzes
GRC auszulesen und die Verzveigungs-Testschaltungen
eine "N"-Weg-Verzweigung ausführen zu lassen, und zwar auf
der Basis des Hexadezimal-Wertes des in dem AB-Registers 206-58 gespeicherten Code. Die Bits 2 bis 5 des AB-Registers 206-58
werden insbesondere dazu herangezogen, die Steuerspeicher-Verzweigungs-Testlogikschaltungen
zu veranlassen, eine von 11N" Mikrooperationen für die Beendigung der Verarbeitung
des PDT-Befehls auszuwählen. Aus Fig. 8a geht hervor, daß in Abhängigkeit von dem Typ der Einrichtung ein Mikrobefehl
ausgeführt wird, der bewirkt, daß ein bestimmter Code in dem SCN-FeId des Arbeitsspeicherplatzes GRC gespeichert wird
(siehe Fig. 4). Es sei ferner im Hinblick auf Fig. 10 bemerkt, daß dann, wenn die Einrichtung nicht existiert (d.h., daß
dann ein Hexadezimal-Wert von 0 vorhanden ist) ein Mikrobefehl 2200 ausgeführt wird, der einen Code "PSE2" (das ist
11111010) in das AG-Register 206-88 eingeführt wird, wodurch angezeigt wird, daß durch den PDT-Befehl keine Prozeßsteuereinheit
PCU angegeben worden ist. Danach ruft der Emulator die Software ESP über die Eingabe/Ausgabe-Bedienungsroutine
509828/0678
gemäß Fig. 8b auf. In den Klassen, in denen Hexadezimal-Codes
a bis f angegeben sind, die kennzeichnend sind für eine Spezial· falleinheit, werden die in Fig. 10 angegebenen Mikrobefehle
ausgeführt, die Anzeigen der Zustände der Steuerungs-Flipflops
C-1 bis C-3 in das AG-Register 206-88 speichern, und zwar zum
Zwecke des Einschreiben in den Speicherplatz GRC des LSM-Speichers 207-1 (d.h. 110000, ST1, ST2, ST3).
Unter der Annahme, daß z.B. die Prozeßsteuereinheit eine Massenspeichereinrichtung ist, wird der Mikrobefehl 2205 gemäß Fig. 10 ausgeführt. Dadurch wird ein Code 98 (M) in das
AG-Register 216-88 eingeführt. Außerdem wird das CFS-Flipflop
in den Binärzustand 1 gesetzt, und der Inhalt des SB-Registers 206-16 wird um 1 verringert. Die Hauptroutine-Mikrobefehle 100
und 101 werden dann ausgeführt, wodurch tier codierte Inhalt
des AG-Registers zu dem AF-Register 206-12 hin übertragen und
in den SCN-Codefeld-Speicherplatz GRC des LSM-Speichers eingeschrieben wird (siehe Fig. 4). Anschließend tritt die Hauptroutine in eine Steuereinheit-Belegungs-Testroutine gemäß
Fig. 8f ein.
Die Steuereinheit-Belegungs-Testroutine überprüft den Zustand
des Belegungs-Status-Bits 7 des PCU-Tabelleneintrags (siehe
Fig. 7c); sie ist in Fig. 8f und 9e angegeben. Aus Fig. 9e ist ersichtlich, daß der Mikrobefehl 100, der ausgeführt wird,
den LSM-Speicher zum Zwecke des Auslesens des PCU-Tabelleneintrag- Inhalts aus dem Speicherplatz 32 konditioniert. Der
Mikrobefehl 101 überträgt auf seine Ausführung hin den Inhalt des Speicherplatzes 32 in das AC-Register 206-3, und zwar über
509828/0678
die QA-Busleitung. Außerdem wird die Verschiebeschaltung 206-30
veranlaßt, eine Verschiebung nach links um sechs Stellen vorzunehmen. Der Mikrobefehl 102 lädt auf seine Ausführung hin den
Schiebeschaltungs-Inhalt in das AC-Register 206-3. Die Mikrobefehle
103 und 104 werden ausgeführt, wobei der Mikrobefehl 105 veranlaßt, daß eine Verzweigung ausgeführt wird, und zwar
auf der Basis des Zustande der Bitstelle 1 des AC-Registers 206-3. Diese Bitstelle speichert das Bit 7 des PCU-Tabelleneintrags.
Wenn das Bit 7 auf eine binäre 1 gesetzt ist, zeigt dies an, daß die Einrichtungssteuereinheit belegt ist. Dies
führt dazu, daß der Steuerspeicher eine Verzweigung zu dem Mikrobefehl 205 hin ausführt. Dieser Mikrobefehl setzt seinerseits
das CF2-Flipflop in den Binärzustand 1 und führt dann den Steuerspeicher auf die Hauptroutine bzw. das Hauptprogramm
zurück. Wenn die Einrichtungssteuereinheit nicht belegt ist (d.h., daß das Bit 7=0 ist) erfolgt durch den Steuerspeicher
eine Bezugnahme auf den Mikrobefehl 105 und sodann eine Rückkehr zu der Hauptroutine bzw. dem Hauptprogramm.
Unter der Annahme, daß die PCU-Einrichtung nicht belegt ist, ergibt sich aus Fig. 8a und 10, daß der Emulator zu der den
Abruf der nächsten Variante betreffenden Routine gemäß Fig. 8g hin gelangt. Diese Routine ruft, wie zuvor erwähnt, einen
folgenden Teil des Eingabe/Ausgabe-Befehls, der verarbeitet wird, ab, und zwar unter Heranziehung der in dem Folgesteuerungsbzw.
Ablaufzähler-Speicherplatz gespeicherten Adresse. Außerdem
prüft diese Routine das Vorhandensein einer V/ortmarke, wie dies in Fig. 8g veranschaulicht ist. Wenn keine Wortmarke bzw.
Wortmarkierung vorzufinden ist, wird die Zählerstellung des
Ablaufzählers für eine Anzahl von nicht verarbeiteten Varianten-Zeichen vergrößert, und außerdem wird eine Rückkehr zu
509828/0678
der Hauptroutine bzw. dem Hauptprogramm vorgenommen, nachdem die Varianten-Zeichen in dem Speicherplatz GR5 gespeichert
sind.
Unter Bezugnahme auf Fig. 9c seien die obigen Operationen im einzelnen betrachtet. Dabei zeigt sich, daß die Mikrobefehle
100-105 den nächsten Teil des PDT-Befehls in der zuvor erwähnten Weise abrufen. Der Mikrobefehl 106 speichert, wenn
er ausgeführt wird, die Varianten-Zeichen in dem Speicherplatz 34 des LSM-Speichers 207-1 und lädt das nächste Zeichen
(z.B. das C3-Zeichen) aus dem AB-Register 206-58 in das AG-Register
206-88. Während des nächsten Zyklus werden die Bitstelle 6 (das ist der PDT-Operationscode) und die Bitstelle
(Wortmarkenbit) des AI-Registers 206-20 und des AB-Registers
206-58 durch den Mikrobefehl 107 überprüft, um das Vorhandensein einer Wortmarke festzustellen. Wenn beide Bits binäre
Einsen sind, führt der Steuerspeicher eine Verzweigung zu dem Mikrobefehl 408 hin aus. Dieser Mikrobefehl bewirkt, wenn
er ausgeführt wird, daß ein bestimmter Code (das ist 11111101) in das AG-Register 206-88 geladen wird, was mit "PSE 5" bezeichnet
ist. Dadurch ist angezeigt, daß der Befehl eine ungenügende C3-Varianten-Zeichen-Reihe enthält (d.h. kein
C3-Zeichen, wie es für diesen Typ von Einrichtung erforderlich ist). Außerdem wird der Inhalt des LSM-Speicherplatzes
ausgelesen und über die QA-Busleitung in das AF-Register 206-12
geladen. Der Inhalt des SE-Registers 206-16 wird um 1 verringert. Der Steuerspeicher kehrt auf die Hauptroutine bzw.
das Hauptprogramm gemäß Fig. 10 zurück, woraufhin er die Mikrobefehle 107 und 108 und sodann die Eingabe/Ausgabe-Bedienungsroutine
ausführt. Dies bewirkt, daß der in dem AG-Register
206-88 gespeicherte Code über die SFS-Auswahlschal-
509828/0678
tung 206-14 in das AF-Register 206-12 geladen und sodann in den Speicherplatz GRC des LSM-Speichers 207-1 geschrieben wird.
Bei Fehlen einer Wortmarke führt der Steuerspeicher den Mikrobefehl
208 aus, der das CF7-Flipflop in den Binärzustand 1 überführt und den Inhalt des AblaufZählers um 1 erhöht sowie
den erhöhten Wert in den Arbeitsspeicherplatz UW1 des URF-Registers 202-20 zurückführt. Während eines erstmaligen Ablaufs
der Ablauffolge bewirkt der Mikrobefehl 107, daß der Steuerspeicher
zu dem Mikrobefehl 209 übergeht (dies bedeutet, daß das CF7-Flipflop, das zuvor nicht betrachtet worden ist, in
den Binärzustand 1 gesetzt ist). Dieser Mikrobefehl löscht, wenn er ausgeführt wird, das AF-Register 206-12 bzw. stellt
es auf 0 und erhöht eine in dem Arbeitsspeicherplatz UW3 enthaltene Zählerstellung. Die Mikrobefehle 2OA und 210 laden, wenn
sie ausgeführt werden, das C3-Varianten-Zeichen in das AF-Register 206-12 über die SFS-Auswahlschaltung 206-14, und ferner
wird das C3-Zeichen in den Speicherplatz 33 des LSM-Speichers eingeschrieben. Außerdem wird der Inhalt des EX-Zählers 206-12
während dieses Operationszyklus um 1 verringert, und der Steuerspeicher
kehrt auf die Hauptroutine bzw. das Hauptprogramm zurück.
Aus Fig. 8a und 10 geht hervor, daß das C3-Varianten-Zeichen bezüglich eines bestimmten Wertes (das ist der Wert 4) überprüft
wird um festzustellen, ob der Befehl eine eigentliche Datenübertragung erfordert oder eine Lade- oder Speicher-Adressenregisteroperation
angibt, gemäß der ein Adreßregister in dem Hauptspeicher mit der Α-Adresse geladen wird, die durch
den Datenübertragungsbefehl angegeben wird (siehe Fig. 7d) und
509828/0678
die keine eigentliche Eingabe/Ausgabe-Ubertragung erfordert.
In dem Zielsystem war ein Befehl erforderlich, um eine derartige Adresseninformation zu übertragen, da nämlich das Adreßregister nicht in dem Hauptspeicher, sondern in der Steuereinheit untergebracht war.
Es sei angenommen, daß das C3-Zeichen nicht einen Code von 4 besitzt und daß der Inhalt des Adreßregisters, welches die
zuvor geladene Einrichtungs- und Magazin-Information enthält, von der PCU-Erweiterungs-Tabelle abgerufen wird, die eine
Information enthält, wie sie in Fig. 7d gezeigt ist.
Die obigen Operationen werden nunmehr im einzelnen betrachtet werden. Aus Fig. 10 ergibt sich dabei, daß die Mikrobefehle
103 bis 108 die Byte-Addiererschaltung 206-50 über das AS-Register 206-57 veranlassen, eine binäre Subtraktionsoperation
auszuführen, um nämlich zu bestimmen, ob das C3-Zeicheη einen
Wert von n04n besitzt. Außerdem veranlassen die Mikrobefehle
den Wort-Addierer, für eine binäre Subtraktionsoperation vorbereitet zu sein, um eine Adresse aus dem PCU-Tabelleneintrag
abzuleiten, der aus dem Speicherplatz 32 des LSM-Speichers abgerufen wird. Dies dient dazu, den Magazin- und Einrichtungscodeinhalt aus der dritten Wort-Stelle der Massenspeicher-PCU-Erweiterungstabelle gemäß Fig. 6 abzurufen. Diese Tabelle
ist im einzelnen in Fig. 7d dargestellt. Der Mikrobefehl 108 überprüft, wenn er ausgeführt wird, das Ergebnis der Byte-Addierer-Subtraktion; wenn das Ergebnis 0 ist (d.h., daß
C3 = 04 ist) führt der Steuerspeicher eine Verzweigung zu dem Mikrobefehl 2100 aus. Unter der Annahme, daß in diesem Beispiel das Ergebnis nicht 0 ist, führt der Steuerspeicher den
Mikrobefehl 109 aus, durch den die PCU-Tabellen-Adresse in
509828/0678
das UN-Register 202-54 übertragen wird. Außerdem wird das SC-Register 206-62 auf O gestellt.
Der Mikrobefehl 110 bewirkt, daß der UBD-Addierer 202-50 den in dem Arbeitsspeicherplatz UW5 gespeicherten Basiswert
zu dem Inhalt des UN-Registers 202-54 hinzuaddiert. Das Ergebnis wird dann in das UA-Register 202-52 geladen und zu dem
Hauptspeicher hin geleitet. Außerdem wird das SD-Register 202-60 auf 0 gebracht bzv/. gelöscht. Der Mikrobefehl 111 veranlaßt,
wenn er ausgeführt wird, den Wort-Addierer 206-1,eine Verknüpf
ungs-Produktoperation auszuführen und den Inhalt des SC-Registers 206-62 um zwei zu erhöhen. Der Mikrobefehl 112
veranlaßt die Verschiebeschaltung, eine Verschiebung nach
links um 13 Stellen vorzunehmen. Der Mikrobefehl 113 lädt, wenn er ausgeführt wird, den PCU-Erweiterungstabelleneintrag,
der aus dem Hauptspeicher abgerufen worden ist, in die AD- und AC-Register 206-5 und 206-3. Darüber hinaus wird eine Konstante
"07" in das AG-Register 206-88 eingeführt. Nachdem der Mikrobefehl 114 veranlaßt hat, daß die Bitstelle 16-31 des AC-Registers
206-3 auf Null gebracht bzw. gelöscht wird, lädt der Mikrobefehl 115, wenn er ausgeführt wird, das den
Einrichtungscode enthaltende Byte über die SDS-Auswahlschaltung
206-66 in das AJ3-Register 200-58. Ferner wird durch den
betreffenden Mikrobefehl die Verschiebeschaltung 206-30 veranlaßt,
eine Verschiebung nach rechts um zehn Stellen vorzunehmen. Schließlich wird der verschobene Inhalt in das AC-Register
206-3 geladen.
Der Mikrobefehl 116 lädt, wenn er ausgeführt wird, das durch die Byte-Addiererschaltung 206-50 gebildete Ergebnis (das
ist 000DDD) in das AB-Register 206-58. Ferner wird der ver-
509828/0678
schobene Inhalt in das AC-Register 206-3 geladen. Außerdem
wird der Byte-Addierer 206-50 veranlaßt, eine ODER-Verknüpfungsoperation auszuführen, und schließlich wird der
Inhalt des SD-Registers 206-60 um 2 erhöht. Der Mikrobefehl 117 bewirkt, wenn er ausgeführt wird, daß das Byte, das
durch den Inhalt des SC-Registers 206*62 angegeben ist, von
dem AC-Register 206-3 über die SCS-Auswahlschaltung 206-65
in das AA-Register 206-52 geladen wird. Zu diesem Zeitpunkt wird außerdem der verschobene Inhalt des AC-Registers 206-3
über die QA-Busleitung in das AD-Register 206-5 geladen, und
ferner wird das Auswahl-Flipflop in den Binärzustand 1 gesetzt. Das Ergebnis (das ist MMMDDD) der durch die Addierer-Schaltung
206-50 auf den Inhalt der AB- und AA-Register 206-58 und 206-52 hin ausgeführten ODER-Verknüpfungsfunktion wird
in das AG-Register 206-88 geladen. Außerdem wird der Byte-Addierer
206-50 veranlaßt, eine Verknüpfungs-Produktoperation auszuführen. Das AF-Register 206*12 wird schließlich
auf 0 gebracht bzw. gelöscht, und das Auswahl-Flipflop wird
in den Binärzustand 0 zurückgestellt. Auf diese Weise ist dieser Teil der Hauptroutine beendet, und sodann tritt der
Steuerspeieher in die Magazin-Testroutine gemäß Fig. 8i ein.
Diese Routine ist in Fig. 9e im einzelnen gezeigt; sie wird dazu herangezogen, den richtigen Einrichtungscode zu erzeugen.
Aus Fig. 9h geht dabei hervor, daß der Mikrobefehl 100 auf seine Ausführung hin den Inhalt des AG-Registers 206-88 in
das AF-Register 206-12 lädt und den Inhalt des AD-Registers
206-5 in das AB-Register 206-58. Außerdem führt der Mikrobefehl
100 eine Konstante 38 in das AG-Register 206-88 ein.
509828/0678
Der Mikrobefehl 100 führt, wenn er ausgeführt wird, das durch die Byte-Addiererschaltung 206-50 erzeugte Ergebnis in das
AG-Register 206-58 ein und stellt die Verschiebeschaltung
206-30 derart ein, daß eine zweifache Verschiebung nach links erfolgt. Außerdem lädt der betreffende Mikrobefehl den Inhalt
des AF-Registers 206-12 in das AC-Register 206-3 und löscht das AE-Register 206-11 auf 0. Der Mikrobefehl 112 lädt, wenn
er ausgeführt wird, das AC-Register 206-3 mit den verschobenen Einrichtungscodebits. Außerdem veranlaßt der betreffende
Mikrobefehl den LSM-Speicher 207-1, den Speicherplatz 36 zu
adressieren und den Massenspeichereinrichtungscode aus dem AF-Register 206-12 dort einzuschreiben (siehe Fig. 4).
Der Mikrobefehl 103 lädt, wenn er ausgeführt wird, den Inhalt des AC-Registers 206-3 über die QA-Sammelleitung in das AD-Register
206-5. Ferner wird durch den betreffenden Mikrobefehl der LSM-Speicher 207-1 veranlaßt, den Speicherplatz GRC zu
adressieren. Außerdem wird durch den betreffenden Mikrobefehl das SE-Register 206-16 auf 0 gesetzt, und ferner werden die
Steuerspeicherschaltungen veranlaßt, eine Verzweigung auf der Grundlage des durch den Byte-Addierer 206-50 erzeugten Ergebnisses
(das ist der Zustand des Flipflops 206-75) auszuführen. Wenn das Byte-Addierer-Ergebnis nicht 0 ist, führt der Steuerspeicher
eine Verzweigung zu dem Mikrobefehl 200 aus, der einen bestimmten Code (das ist der mit PSE4 bezeichnete Code
»11111100» in das AG-Register 206-88 einführt. Dieser Code ist dabei in den Speicherplatz GRC des LSM-Speichers einzuschreiben
(siehe Fig. 4). Außerdem wird der Inhalt des SE-Registers
206-16 um 1 verringert. Der PSE4-Code zeigt die Benutzung eines unzulässigen/Magazincodes für eine Massenspeichereinrichtung
an. Bevor jedoch tatsächlich ein Einschreiben in den Speicherplatz erfolgt, wird der Zustand des
509828/0678
CF5-Flipflops durch den Mikrobefehl 200 überprüft. Da das
Flipflop in den Binärzustand 1 gesetzt worden ist (siehe
Fig. 8a)jführt der Steuerspeicher eine Verzweigung zu dem
Mikrobefehl 104 hin aus und kehrt zu der Hauptroutine zurück, wie dies in Fig. 9h veranschaulicht ist. Wenn das CF5-Flipflop nicht in den Binärzustand !gesetzt ist, führt der
Steuerspeicher den Mikrobefehl 201 aus, der den in dem AG-Register 206-88 gespeicherten PSE4-Code zu dem AF-Register
206-14 hin überträgt. Der Steuerspeicher führt den Mikrobefehl 108 gemäß Fig. 10 aus, welcher den PSE4-Code in den
Speicherplatz GRC einschreibt. Die Firmenware tritt dann in
die Bedieungsabruf-Routine ein. Da angenommen worden ist, daß der Massenspeichereinrichtungscode zulässig ist, gelangt
die Hauptroutine bzw. das Hauptprogramm sodann zu der Einrichtungs-Status-Abrufroutine gemäß Fig. 8f, und zwar nach
Ausführung des Mikrobefehls 119 gemäß Fig. 10.
Wie aus Fig. 8j hervorgeht, wird diese Routine dazu benutzt,
einen Hinweis bzw. Index in die Einrichtungstabelle einzugeben, und zwar unter Heranziehung des angegebenen Einrichtungscodes
und eines Verschiebungswertes, der aus dem in dem Speicherplatz W32 des LSM-Speichers 207-1 gespeicherten PCU-Tabelleneintrag erhalten wird· Diese Routine ist in Flg. 9f im
einzelnen gezeigt. Aus Fig. 9f geht dabei hervor, daß der Mikrobefehl 100 auf seine Ausführung hin den PCU-Inhalt des
Speicherplatzes W32 (siehe Fig. 7c) über die QA-Busleitung
in das AC-Register 206-3 lädt und den angegebenen Einrichtungscode aus dem AD-Register 206-5 zu dem Wort-Addierer 206-1 hin
abgibt. Der Mikrobefehl 101 löscht, wenn er ausgeführt wird,
509828/0678
die 16 Bits niedriger Wertigkeit des AC-Registers 206-3,
und der Mikrobefehl 102 lädt das durch den Addierer 206-1 gebildete Ergebnis in das AC-Register 206-3. Der Mikrobefehl
103 lädt, wenn er ausgeführt wird, den Inhalt des AC-Registers 206-3 in das UN-Register 202-54 und in das
LY-Register 207-9· Darüber hinaus wird der Einrichtungs-Inhalt zuzüglich des Verschiebungs-IndScwert-Inhalts in den
Speicherplatz GR15 des LSM-Speichers 207-1 geschrieben (siehe Fig. 4).
Der Mikrobefehl 104 gibt, wenn er ausgeführt wird, den Basiswert-Inhalt des Arbeitsspeicherplatzes UW5 an die
USB-Auswahlschaltung 202-38 ab, und zwar für eine Addition
zu dem Indexwert, der von der Addiererschaltung 202-50
erfolgt worden ist. Außerdem wird das Ergebnis in das UA-Register 202-52 geladen, und ferner wird ein Hauptspeicherzyklus
dadurch ausgelöst, daß das Signal UMGOSO in ein Binärsignal 1 gebracht wird. Der Mikrobefehl 106 veranlaßt die Verschiebeschaltung
206-30, eine Verschiebung nach links um sieben Stellen vorzunehmen. Der Mikrobefehl 107 lädt, wenn er ausgeführt
wird, den aus der Einrichtungstabelle gemäß Fig. 6 abgerufenen Eintrag in das AC-Register 206-3 und in das
AD-Register 206-5. Während dieses Zyklus wird außerdem der Einrichtungstabelleneintrag in den Speicherplatz W37 des
LSM-Speichers 207-1 eingeschrieben. Die Einrichtungsstatus-Abrufroutine kehrt dann zu der Hauptroutine bzw. dem Hauptprogramm
zurück.
Wie aus Fig. 8a und 10 hervorgeht, führt der Steuerspeicher einen Mikrobefehl 103 aus, der eine bestimmte Konstante (80)
509828/0678
in das AG-Register 206-88 einführt, den Inhalt der Verschiebeschaltung
206-30 in das AC-Register 206-3 lädt und die Status-Bits aus dem AD-Register 206-5 (siehe Fig. 7f) über die SDS-Auswahlschaltung
206-66 in das AB-Register 206-58 lädt. Anschließend tritt der Emulator in die Einrichtungs-Sprung-
und Status-Routine gemäß Fig. 8h ein.
Diese Routine führt eine Überprüfung aus um festzustellen, ob die bezeichnete Einrichtung belegt ist. Die durch die
betreffende Routine ausgeführten Operationen sind in Fig. 9g im einzelnen gezeigt. Aus Fig. 9g geht hervor, daß der Mikrobefehl
100, wenn er ausgeführt wird, das AG-Register 206-88 mit dem Ergebnis lädt, das durch die Byte-Addiererschaltung
206-50 erzeugt wird. Der Mikrobefehl 101 bewirkt, daß der Speicherplatz GRC des LSM-Speichers 207-1 adressiert wird.
Außerdem wird das SE-Register 206-16 durch den betreffenden
Mikrobefehl auf 0 gebracht. Ferner veranlaßt der Mikrobefehl 101, daß die Verzweigungs-Testschaltungen den Zustand
der Bitposition 0 des AC-Registers 206-3 überprüfen. Dadurch wird der Zustand des Bits 7 des Einrichtungseintrags überprüft;
dieser Zustand ist normalerweise eine binäre 0, es sei denn, daß die für diese Einrichtung adressierten Befehle
zu der ESP-Software zum Zwecke der weiteren Verarbeitung zu überspringen bzw. "festzuhalten" sind. IWenn dieses Bit
eine binäre 1 ist, führt der Steuerspeicher eine Verzweigung zu dem Mikrobefehl 202 hin aus, der auf seine Ausführung hin
einen bestimmten Code (das ist 11001000, als DT bezeichnet) in das AG-Register 206-88 einführt, den Inhalt des Speicherplatzes
GRC zu dem AF-Register 206-12 hin überträgt und den
609828/0678
Inhalt des SE-Registers 206-16 um 1 verringert. Die Firmenware
kehrt dann auf die Hauptroutine gemäß Fig. 10 zurück, wobei sie den Mikrobefehl 107 ausführt, der den Inhalt des
AF-Registers 206-12 in den Speicherplatz GRC einschreibt.
Unter der Annahme, daß das Einrichtungs-Sprungbit bzw. -Festhaltebit
7 eine binäre 0 ist, führt der Steuerspeicher den Mikrobefehl 102 aus, der das CF6-Flipflop in den Binärzustand
überführt. Außerdem werden die Verzweigungs-Testschaltungen
veranlaßt, des durch die Byte-Addiererschaltung 206-50 erzeugte Ergebnis zu überprüfen, und zwar durch die Schaltung
206-75. Dies bedeutet, daß die Bits 0 bis 7 des Einrichtungseintrags (siehe Fig. 7f) mit einer in dem AG-Register 206-88
gespeicherten Konstante 80 ausgeblendet bzw. maskiert werden, um den Zustand des Bits 0 zu überprüfen, welches das Belegungs-Bit
ist. Die Byte-Addiererschaltung 206-50 führt auf diese Bits hin eine Verknüpfungs-Produktoperation aus
(d.h., eine Operation, die zuvor konditioniert worden ist). Wenn das Ergebnis 0 ist, zeigt dies an, daß die Einrichtung
nicht belegt ist. Ist das Ergebnis nicht 0, so führt der Steuerspeicher eine Verzweigung zu dem Mikrobefehl 203 hin
aus und kehrt auf die Hauptroutine gemäß Fig. 10 zurück. Wenn die Einrichtung belegt ist, führt der Steuerspeicher den Mikrobefehl
103 aus, durch den die beiden Flipflops CF3 und CF6 in
Binärzustände 1 gebracht werden, und sodann erfolgt eine Rückkehr zu der Hauptroutine bzw. dem Hauptprogramm.
Aus Fig. 10 ist ersichtlich, daß der Steuerspeicher die Mikrobefehle 104 und 105 ausführt, die den LSM-Speicher 207-1
veranlassen, den Inhalt des Speicherplatzes GRC in das
509828/0678
AF-Register 206-12 auszulesen, den Inhalt des SE-Registers
206-16 um 1 zu verringern und das AG-Register 206-88 mit
einer Konstanten zu laden. Der Mikrobefehl 105 bewirkt ferner, daß die Verzweigungs-Tastschaltungen die Zustände der CF1-3-Flipflops
überprüfen. Wenn sämtliche Flipflops sich in Binärzuständen 0 befinden, bedeutet dies, daß der Eingabe/Ausgabe-Befehl
ausgeführt werden kann. Der Steuerspeicher führt ferner eine Verzweigung zu dem Mikrobefehl 206 hin aus und kehrt
unmittelbar auf die Eingabe/Ausgabe^Bedienungs-Abrufroutine
zurück. In dem Fall, daß irgendeines dieser Flip flops nicht
0 ist, führt die Firmenware die Mikrobefehle 106 und 107 aus, die den Inhalt des AG-Registers 206-88 und Bits, die die Zustände
der Fllpflops CFI bis CF3 anzeigen, in bestimmte Bitpositionen
des SCN-Feldbereiches des Speicherplatzes GRC des
LSM-Speichers 209-1 laden (siehe Fig. 4). Aus Fig. 4 geht hervor, daß die Anzeigen der Zustände der Flipflops CF1
bis CF3 als Bits 5 bis 7 des SCN-Feldes gespeichert sind.
Wenn der Emulator das als RWCB-Bit bezeichnete Bit 5 auf eine binäre 1 setzt, signalisiert dies der ESP-Software, daß
der Lese/Schreib-Kanal RWC belegt ist. Wenn das als PCUR-Bit
bezeichnete Bit 6 auf eine binäre 1 gesetzt ist, signalisiert dies der ESP-Software, daß eine PCU-Einheit belegt ist oder
daß im Falle eines Steuerungs-Eingabe/Ausgabe-Befehls eine positive Antwort auf eine Unterbrechungsanfrage vorhanden war.
Wenn das als DEVR-Bit bezeichnete Bit 7 auf eine binäre 1 gesetzt ist, signalisiert dies schließlich der ESP-Software,
daß die Einrichtung belegt ist oder daß im Falle eines Steuerungs-Eingabe/Ausgabe-Befehls eine positive Antwort
auf eine die Einrichtung betreffende Anfrage vorhanden war.
50 98287 007
Sobald die Firmenware die Verarbeitung eines Eingabe/Ausgabe-Befehls
beendet, tritt sie in die Kingabe/Ausgabe-Bedienungsroutine gemäß Fig. 8d ein. Diese Routine ist diejenige
Routine, die dazu benutzt wird, die übrigen Varianten-Steuerzeichen des PDT-Befehls abzurufen und die in Frage kommende
Information in die entsprechenden Speicherplätze des LSM-Speichers 207-1 zu laden. Wie aus Fig. 8d hervorgeht, kehrt
diese Routine auf die den Abruf der nächsten Variante betreffende Routine zurück, die die übrigen Varianten-Zeichen
in der zuvor beschriebenen Weise abruft und diese Zeichen in die in Frage kommenden Speicherplätze des LSM-Speichers 207-1
lädt (siehe Fig. 4). Wenn die Firmenware eine Wortmarke ermittelt, die signalisiert, daß sämtliche Varianten-Zeichen
aus dem Zielsystem-Hauptspeicher abgerufen worden sind, laden die übrigen Mikrobefehle auf ihre Ausführung hin die einschlägigen
Teile des verarbeiteten PDT-Befehls in die Speicherplätze des LSM-Speichers, v/ie dies zuvor im Zusammenhang
mit Fig. 4 und 8d angegeben worden ist. Auf diese Weise wird die Verarbeitung des PDT-Befehls abgeschlossen, woraufhin
die Firmenware der ESP-Software signalisiert, daß der Steuerspeicher Zugriff zu Mikrobefehlen hat, und zwar an einer bestimmten
Speicherstelle beginnend. Diese Mikrobefehle rufen auf ihre Ausführung hin den nächsten Maschinencodebefehl auf
den Befehl hin ab, der das System in einen Emulationsbetrieb geführt hat. Außerdem werden zu diesem Zeitpunkt die dem betreffenden
Betrieb zugehörigen Flipflops zurückgestellt. Dadurch, daß die Firmenware auf den Bereich des Steuerspeichers
zurückgeführt ist, der von dem System benutzt wird, wenn es nicht einen Befehl eines Zielsystems ausführt, ist die Forderung
509828/0678
beseitigt nach Ausführung von Operationen, die für die Aktivierung und Unwirksammachung von diesen Operationen
zugehörigen Prozessen erforderlich sind.
Es sei z.B. angenommen, daß der nächste abgerufene Befehl aus demselben Zielsystemprogramm stammt. Normalerweise wird
dieser Befehl ein Typ eines peripheren Steuerungs- und Verzweigungs-(PCB)-Befehls
sein, der dazu herangezogen wird, zu ermitteln, wann eine Datenübertragungsoperation abgeschlossen
worden ist.
Im vorliegenden Beispiel ist ferner angenommen, daß die üSP-Software den gerade verarbeiteten PDT-Befehl abgegeben
hat und daß damit die von dem PDT-Befehl benötigten Hilfsquellen in Benutzung oder "belegt11 sind. Nunmehr ruft die
ESP-Software einen PCB-Befehl ab, der feststellt, ob die
durch den PDT-Befehl angegebenen Operationen vollendet worden sind. Auf diese Weise werden die zugeteilten Hilfsquellen
verfügbar gemacht.
Der PCB-Befehl kann sämtliche in Fig. 6 und 11 gezeigten
Formate besitzen. Demgemäß kann der PCB-Befehl im Unterschied zu dem PDT-Befehl ein Format besitzen, welches
lediglich ein einziges Steuer-Varianten-Zeichen enthält (das ist das C1-Zeichen). In diesem Beispiel sei angenommen,
daß der PCB-Befehl das gerade erwähnte bestimmte Format besitzt. Mit wenigen Worten gesagt können in den Zielsystemen
die PCB-Befehle verschiedene Typen von Operationen auslösen,
einschließlich Nicht-Datenübertragungsoperationen, die
509828/0678
streng genommen mechanische periphere Einrichtungsoperationen,
Test- und Verzweigungsoperationen, Betriebsart-Änderungsoperationen und periphere Unterbrechungsoperationen berühren. Eine
Test- und Verzweigungsoperation überprüft den Status eines PCU-Bereiches und/oder eines Lese/Schreib-Kanals oder von
Lese/Schreib-Kanälen. Wenn die Bedingung vorhanden ist, eine Überprüfung vorzunehmen (z.B. dann, wenn CPU/RWC belegt ist),
wird eine Programmverzweigung zu dem Befehl an der Speicherstelle
hin vorgenommen, die durch die AT-Adresse des PCB-Befehls bezeichnet ist. Das C1-Steuerzeichen gibt den
Lese/Schreib-Kanal oder eine Kombination von Kanälen an,
deren Status zu überprüfen ist. Wenn eine Lese/Schreib-Kanal-Überprüfung
nicht erwünscht ist, wird das C1-Zeichen so codiert, daß es insgesamt Nullen enthält. Das C2-Zeichen
gibt, wenn es vorhanden ist, die Adresse der zu überprüfenden PCU-Einheit an; das betreffende Zeichen ist in derselben
Weise codiert, wie für einen PDT-Befehl. Die Zeichen C3 bis CN geben, wenn sie vorhanden sind, die Steuerungs- und Testoperationen
an. Zur weiteren Information bezüglich der Anwendung von PCB-Befehlen sei auf das oben erwähnte Programmierungs-Manual
Bezug genommen.
Es sei angenommen, daß der PCB-Befehl eine Α-Adresse enthält.
Bei dieser Adresse handelt es sich um dieselbe Adresse wie bei der Α-Adresse des PCB-Befehls, der verarbeitet wird.
Wenn der PCB-Befehl in dem Zielsystem ausgeführt wird, um den bezeichneten Zustand zu überprüfen, bewirkt er daher
eine Verzweigung zu sich selbst in dem Fall, daß der Test positiv ist. Ferner wird er wieder durch das Zielsystem ausgeführt.
Eine wiederholte Ausführung eines PCB-Befehls wird vorgenommen, wenn das Zielprogramm erfordert, daß eine bestimmte
Operation abzuschließen ist, bevor der nächste Befehl abgerufen wird (z.B. bei Vorliegen der Forderung nach Hilfsquellen).
509828/0678
Im Unterschied dazu hindert die Anordnung der vorliegenden Erfindung das Wirtssystem daran, eine wiederholte Ausführung
desselben Befehls zu emulieren. Dadurch werden die System-Hilfsquellen für andere Prozesse verfügbar. Dies wird generell
dadurch erreicht, daß man die Emulator-Firmenware in dem Fall, daß der Test positiv ist, eine Adressenprüfung ausführen
läßt, nachdem sie den angegebenen Test ausgeführt hat. Sie
überprüft die Adresse, zu der der Befehl hin eine Verzweigung vorzunehmen hat, und vergleicht diese Adresse mit der in dem
Befehl selbst enthaltenen Adresse. Wenn die Adressen gleich sind, wird signalisiert, daß der Befehl selbst eine Verzweigung
auszuführen vermag. Die Emulator-Firmenware leitet einen bestimmten Abruf an die ESP-Software hin, wodurch di·
Freigabe des Wirtssystems für die Ausführung von anderen Aufgaben ermöglicht ist. In dem Fall, daß der durch den
PCB-Befehl ausgeführte Test anzeigt, daß der Befehl nicht aus sich selbst heraus eine Verzweigung auszuführen vermag,
speichert die Emulator-Firmenware die erforderliche einschlägige Information und gibt die richtige Adresse zum
Zwecke des Abrufs des nächsten Befehls ab. In ähnlicher Weise kehrt die Emulator-Firmenware in dem Fall, daß der Test
negativ ist, zurück, um den Befehl auf den PCB-Befehl hin
abzurufen.
Die von dem Emulator im Zuge der Verarbeitung eines PCB-Befehls
hin ausgeführten Operationen sind in Fig. 12a und 12b gezeigt. Zum Zwecke einer leichteren Erläuterung sei angenommen,
daß der PCB-Befehl einen RWC-Belegungs-Test angibt
und daher lediglich ein C1-Zeichen enthält. Aus Fig. 12a
geht dabei hervor, daß der PCB-Befehl extrahiert und zunächst in derselben Weise wie der PDT-Befehl verarbeitet wird. An-
509828/0678
schließend überprüft der Emulator den RV/C-Code um zu bestimmen,
ob dieser einen Wert von O oder 77 besitzt. Diese
als
Tests können/ähnlich dem Anfangstest des RWC-Codes des PDT-Befehls angesehen werden. Das in dem EV-Register 206-82 gespeicherte SC1-Zeichen wird z.B. in die AC-, AA- und EW-Register 206-3, 206-52 bzw. 206-84 geladen, mKljzwar auf die Extraktion des PCB-Befehles hin. Danach überprüfen die Verzweigungs-Testschaltungen den Inhalt des EW-Registers und des AC-Registers auf das Vorliegen des Viertes 778 bzw. 00. Wenn der Inhalt einen Wert von 0 besitzt, bedeutet dies, daß der PCB-Befehl einen Test auf die durch das C2-Zeichen angegebene PCU-Einheit hin auszuführen hat (dies bedeutet, daß der Lese/Schreib-Kanal RV/C nicht belegt ist). In diesem Fall ist die Emulator-Firmenware erforderlich, um die RWC--Testroutine gemäß Fig. 8b zu übergehen bzw. wegzulassen und in die Sektor-Testroutine überzugehen, die von anderen erforderlichen Testroutinen gefolgt wird, um den bezeichneten Test zu beenden. Wenn der RV/C-Code einen Wert von 77 besitzt, tritt die Emulator-Firmenware ebenfalls sofort in die Sektor-Testroutine ein, führt jedoch zunächst einen Mikrobefehl aus, der das CF1-Flipflop in den Binärzustand 1 setzt. Dies signalisiert der ESP-Software, daß der Lese/Schreib-Kanal RWC belegt ist.
Tests können/ähnlich dem Anfangstest des RWC-Codes des PDT-Befehls angesehen werden. Das in dem EV-Register 206-82 gespeicherte SC1-Zeichen wird z.B. in die AC-, AA- und EW-Register 206-3, 206-52 bzw. 206-84 geladen, mKljzwar auf die Extraktion des PCB-Befehles hin. Danach überprüfen die Verzweigungs-Testschaltungen den Inhalt des EW-Registers und des AC-Registers auf das Vorliegen des Viertes 778 bzw. 00. Wenn der Inhalt einen Wert von 0 besitzt, bedeutet dies, daß der PCB-Befehl einen Test auf die durch das C2-Zeichen angegebene PCU-Einheit hin auszuführen hat (dies bedeutet, daß der Lese/Schreib-Kanal RV/C nicht belegt ist). In diesem Fall ist die Emulator-Firmenware erforderlich, um die RWC--Testroutine gemäß Fig. 8b zu übergehen bzw. wegzulassen und in die Sektor-Testroutine überzugehen, die von anderen erforderlichen Testroutinen gefolgt wird, um den bezeichneten Test zu beenden. Wenn der RV/C-Code einen Wert von 77 besitzt, tritt die Emulator-Firmenware ebenfalls sofort in die Sektor-Testroutine ein, führt jedoch zunächst einen Mikrobefehl aus, der das CF1-Flipflop in den Binärzustand 1 setzt. Dies signalisiert der ESP-Software, daß der Lese/Schreib-Kanal RWC belegt ist.
Unter der Annahme, daß der RWC-Code nicht einen Wert von 0 oder 77 besitzt, tritt die Emulator-Firmenware in die RWC-Testroutine
gemäß Fig. 8b ein. Diese Routine bewirkt, daß jene Operationen, die in Verbindung mit dem PDT-Befehl beschrieben
worden sind, durch die Finnenware auszuführen sind. Zu diesem Zeitpunkt werden die Sektorbits aus dem RWC-Eintrag-
509828/0678
250Ü006 _105.
Abruf aus der RWC-Tabelle gemäß Fig. 6 in dem durch den
Sektorcode bezeichneten Speicherplatz gespeichert. Wie in Verbindung mit dem PDT-Befehl erwähnt, wird dieser Wert in
Übereinstimmung mit den Werten geändert, die in den C2- oder CE-Steuerzeichen enthalten sind, und zwar in Abhängigkeit
von dem bestimmten Befehlsformat. In diesem Beispiel bleibt dieser Wert jedoch unverändert, da der PCB-Befehl, der verarbeitet
wird, lediglich ein C1-Steuerzeichen enthält.
Wie aus Fig. 12a hervorgeht, tritt der Emulator sodann in die Sektor^Testroutine gemäß Fig. 8c ein. Aus Fig. 8c ist
dabei ersichtlich, daß mit Rücksicht darauf, daß das Format des PCB-Befehls lediglich ein C1-Zeichen enthält, das nächste
abgerufene Zeichen eine Wortmarke enthalten wird. Demgemäß ist der Wortmarkentest positiv, was bedeutet, daß der in dem
bezeichneten Speicherplatz gespeicherte Sektorcodewert dazu benutzt wird, eine Indexangabe in die Sektorcodetabelle zu
liefern (dies bedeutet, daß eine feste Beziehung zwischen dem Sektor und dem Lese/Schreib-Kanal vorhanden ist). Auf
den Abruf des Sektortabelleneintrags werden sodann dieselben Operationen ausgeführt, die in Verbindung mit dem PDT-Befehl
ausgeführt wurden. Aus Fig. 8c dürfte dabei ersichtlich sein, daß mit Rücksicht darauf, daß der Befehl lediglich ein
C1-Zeichen enthält, der Emulator nicht das P-Bit (d.h. das CF4-Flipflop in den Binärzustand 1) setzt.
Auf die Beendigung des Sektortestes hin kehrt der Emulator auf die Hauptroutine bzw. das Hauptprogramm zurück, und zwar
auf überprüfung des -Zustande des CF4-Flipflops (das ist das
P-Bit) durch einen Mikrobefehl hin. Da dieses Flipflop sich noch im Binärzustand 0 befindet, führt der Emulator eine
509828/0678
2500008
Verzweigung zu der Endroutine gemäß Fig. 12b hin aus. Aus Fig. 12b ist ersichtlich, daß diese Routine die Zustände
der Flipflops CF1 bis CF3 auf das Vorliegen von NuIl-Zuständen überprüft. Wenn alle diese Flipflops in den Binärzuständen
0 sind, bedeutet dies, daß die Datenübertragung beendet worden ist. Der Emulator beginnt dann mit der
Extraktion des nächsten Befehls.
Somit dürfte ersichtlich sein, daß der Emulator einen Test vorständig auszuführen imstande ist, um die Verfügbarkeit
einer Hilfsquelle zu bestimmen, und zwar unter Verwendung der in den Eingabe/Ausgabe-Tabellen gemäß Fig. 6 enthaltenen
Information. Wenn der Emulator festgestellt hat, daß die Hilfsquelle verfügbar ist, wodurch die Beendigung der Datenübertragungsoperation
angezeigt ist, beginnt er mit der Extraktion des nächsten Befehls.
Wenn die bezeichnete Hilfsquelle, hier der Lese/Schreib-Kanal
RWC,'belegt ist, ist eines der Flipflops CF1 bis CF3 in den Binärzustand 1 gesetzt (das ist das CF2-Flipflop).
Dies veranlaßt den Emulator, einen Mikrobefehl auszuführen, der den Ablaufzähler-Adresseninhalt, der in dem Speicherplatz
GR2 gespeichert ist und der die Α-Adresse des PCB-Befehls, der ausgeführt wird, darstellt, mit der A-Adresse
vergleicht, die in dem PCB-Befehl angegeben ist, welcher in
dem Speicherplatz GR7 gespeichert ist. Dieser Test bestimmt, ob der PCB-Befehl erfordert, daß er aus sich selbst heraus
eine Verzweigung ausführt oder nicht. Venn die Adressen gleich sind, veranlaßt der Emulator, daß ein bestimmter, mit L bezeichneter
Code sowie die Zustände der Flipflops CF1 bis CF3 in dem SCN-Codefeld des Speicherplatzes GRC gespeichert werden
509828/0678
(siehe Fig. 4). Dadurch wird der ESP-Söftware signalisiert, daß derselbe PCB-Befehl solange wiederholt wird, bis eine
bestimmte Eingabe/Ausgabe-Operation beendet ist. Das Wirtssystem ist dann imstande, die verfügbare Zeit für die Verarbeitung
von anderen Programmen auszunutzen.
Wenn die Adressen nicht gleich sind, lädt der Emulator den Adresseninhalt des Ablaufzähler-Speicherplatzes des LSM-Speichers
in den BC-Speicherplatz des LSM-Speichers 207-1 und den Adresseninhalt des A-Zähler-Speicherplatzes in den
Ablaufzähler-Speicherplatz des LSM-Speichers. Dies bewirkt
die Verzweigungsoperation. Anschließend ruft die Befehlsabrufeinheit
101-3 den durch die Verzweigungsadresse bezeichneten Befehl ab, wie dies in Fig, 12b angegeben ist.
Aus Vorstehendem dürfte ersichtlich sein, daß die Anordnung gemäß der vorliegenden Erfindung in erleichterter Weise
irgendeine Anzahl von unterschiedlichen Typen von Eingabe/Ausgabe-Befehlen
ausführen kann, die verschiedene Systemforde— rungen angeben. Darüber hinaus vermag das Emulationssystem
der vorliegenden Erfindung schnell zum frühesten Zeitpunkt
während der Verarbeitung zu bestimmen, ob der Eingabe/Ausgabe-Befehl
des Zielsystems für die Ausführung zutrifft bzw. gültig ist. Wenn das Emulationssystem festgestellt hat, daß
dies nicht zutrifft, nimmt es unmittelbar einen Anruf der
ESP-Software vor und kehrt auf die Status-Information zurück, und zwar aus dem Grunde, daß der Befehl nicht als gültig ermittelt
worden ist. In denjenigen Fällen, in denen der Eingabe/Ausgabe-Befehl
als ausführbar ermittelt worden ist, liefert der Emulator eine Information, die die Emulator-Software
ESP in den Stand versetzt, diejenigen Operationen,
509828/0ΒΪ8
die für die Ausführung des Eingabe/Ausgabe-Befehls erforderlich sind, unter Ausnutzung der Einrichtungen, die durch das
Wirtssystem verfügbar gemacht worden sind, schneller auszuführen.
Darüber, hinaus ist die Emulations-Anordnung der vorliegenden
Erfindung unter Heranziehung der in einer Anzahl von Tabellen enthaltenen Information imstande, vollständig bestimmte
Typen von Eingabe/Ausgabe-Steuerbefehlen der Zielsystemprogramme auszuführen. Außerdem signalisiert die Emulationsanordnung
gemäß der vorliegenden Erfindung diejenigen Fälle, in denen eine fortgesetzte Ausführung eines Steuerbefehls
zu einem Verlust an Systemverarbeitungszeit führt. Diese Anordnung führt zu einer Steigerung der Gesamtleistung des
Wirtssystems.
Gemäß der vorliegenden Erfindung können ferner verschiedene Typen von Einträgen, die in den Tabellen enthalten sind, auf
die während der Verarbeitung von Zielsystembefehlen Bezug genommen wird, derart codiert sein, daß bestimmte Verbindungen
oder Beschränkungen, die durch die Zielsystemprogramme auferlegt sind, gemildert werden. Auf diese V/eise kann die Emulationsanordnung
der vorliegenden Erfindung weit effektiver diejenigen Zielsystemprogramme ausführen, die für eine richtige
Ausführung nicht auf bestimmte, in dem Zielsystem vorhandene Beschränkungen abgestützt sind. Diese Anordnung kann in beträchtlichem
Ausmaß die Systemorganisation vermindern. Weitere Vorteile der vorliegenden Erfindung dürften für den Fachmann
ohne weiteres ersichtlich sein.
509828/0678
Um die Beschreibung mit Dingen, die im Wissen des auf dem
vorliegenden Gebiet tätigen Fachmannes liegen, nicht unnötig zu überlasten, ist eine Blockdiagramm-Darstellungsweise
gewählt worden, wobei jeder Block im einzelnen funktionell beschrieben worden ist und wobei die Schaltungen, die der jeweilige
Block darstellt, speziell angegeben worden sind. Dem einzelnen Ingenieur steht es dabei frei, Elemente und Bauteile,
wie Flipflop-Schaltungen, Schieberegister, ect. aus seinem eigenen Wissen oder aus den verfügbaren Standart-Bezugsquellen
auszuwählen, auf die hier Bezug genommen worden ist.
Darüber hinaus sind die genauen Codierungsmuster für die
einzelnen Mikrobefehle nicht angegeben worden, da es dem Ingenieur freisteht, alternative Codierungsformen auszuwählen.
Bezüglich weiterer Einzelheiten und bezüglich eines Einblicks in die Verfahren zur Ableitung einer derartigen Codierung
sei auf die Druckschrift mit dem Titel "Microprogramming Principles and Practices" von S. S. Husson, Veröffentlicht
von Prentice-Hall, Inc., Copyright 1970 hingewiesen.
Zum Zwecke einer leichteren Bezugnahme sind in der nachfolgenden
Anhangtabelle bestimmte Ausdrücke definiert, die im Zuge
der Beschreibung einer bevorzugten Ausführungsform der vorliegenden Erfindung benutzt worden sind»
5098 28/067 8
b Q U Ü Ü 6
Anhangtabelle
Verzeichnis von Ausdrücken
Absolute Adresse - das ist die physikalische Adresse eines Bytes in dem Hauptspeicher.
Adressenbildung - das ist eine Hardware-Funktion, die auf eine Anzahl von Adressenelementen hin eine absolute
Adresse berechnet, die dazu benutzt wird, auf einen Speicherplatz in dem Hauptspeicher Bezug zu nehmen.
Adressierung - das ist die Lokalisierung eines Objektes durch irgendein Mittel aus einer Anzahl von virtuellen,
verknüpfungsmäßigen und physikalischen Mitteln.
Adressenraum - das ist der einem Prozeß entsprechende Satz von verknüpfungsmäßigen, se_^aentlerten Adressen,
die die Zentraleinheit in absolute Adressen während der Ausführung des betreffenden Prozesses zu transformieren
erlaubt ist.
Adressenraumwort - das ist eines von zwei Worten in einem
Prozeßsteuerblock, welches auf ein Segmenttabellenwortfeld zeigt. Das Segmenttabellenwortfeld definiert
die dem Prozeß zugehörigen Segmenttabellen.
Adressensilbe - das ist eine Verknüpfungsadresse, die von der Zentraleinheit-Hardware erkannt wird; normalerweise
ist es ein Operand eines Befehls.
Basisregister - das ist das Hauptelement in der Segment-Adressierung,
auf das durch eine Zahl in jeder Adressilbe Bezug genommen wird,
Grenzadreßregister - das ist ein verfügbares Hardware-Register, welches die unterste Speicheradresse angibt, zu der
die Software eine Zugriffsmöglichkeit hat.
509828/0678
- 111 -
Zentrale Prozessoreinheit bzw. Zentraleinheit - das ist ein Teil eines Rechners, der Schaltungen zur Steuerung
der Interpretation und Ausführung von Befehlen enthält.
ProzessoiLJuntersystem und einem peripheren Untersystem. Es gibt zwei Typen von Kanälen, physikalische
Kanäle und Verknüpfungskanäle. Ein physikalischer Kanal ist die Hardware-Verbindung zwischen der
Eingabe/Ausgabe-Steuereinrichtung und der peripheren
Steuereinheit PCU. Ein Verknüpfungskanal ist ein Software-Kommunikationsweg zwischen dem Hauptspeicher
und einer einzelnen peripheren Einrichtung.
Kanalbefehlseintrag (CCE) - das ist ein Befehl in einem Kanalprogramm·
Kanalbefehlswort - das ist ein Element eines Kanalbefehlseintrags · Zwei Kanalbefehlsworte bilden einen Kanalbefehlseintrag.
Ausführung einer bestimmten Eingabe/Ausgabe-Operation durch eine periphere Einrichtung veranlassen.
Kompatibilitätseigenschaft (CF) - das ist die in dem Wirtssystem zur Erzielung einer gegnerischen Emulation
enthaltene Hardware/Firmenware.
Unterschied zu einer physikalischen Adresse, bestehend aus einer Segmenttabellennummer, einem Segmenttabelleneintrag und einer relativen Segmentadresse. Diese
Elemente zeigen den Weg zu einem bestimmten Segmentdeskriptor, der schließlich zu dem Segment hinzeigt,
auf das Bezug genommen ist»
509828/0678
Emulator-Unterstützungs-Packung (ESP) - das ist die Software-Einrichtung,
die zur Vornahme der Emulation erforderlich ist. Die ESP-Packung bzw. der ESP-Satz ist die
Schnittstelle zwischen der Kompatibilitätseigenschaft (CF) und dem Unterstützungs-Steuerprogramm
(DF).
Emulator - das ist die kombinierte Hardware/Firmenware/Software. Der Emulator enthält:
1) die Kompatibilitätseigenschaft,
2) die Emulations-Unterstützungs-Packung und
3) die periphere Umsetz-Packung.
Firmenware - das ist eine Hardware-Einheit, wie ein Steuerspeicher,
die Mikroprogramme speichert und eine Form der mikroprogrammierten Steuerung bildet.
Mehrzweckregister - das ist ein 32-Bit-Register, das für die
Ausführung von Prozessen verfügbar ist und das im allgemeinen binäre Daten oder Bit-Reihen-Daten enthält.
Bestimmte Mehrzweckregister können für die Indizierung benutzt werden.
Index - das ist eine Datenstruktur, die beibehalten wird und auf die hin durch das System gearbeitet wird.
Die Struktur ist für den Benutzer lediglich in Größen eines Kennzeichens verfügbar, das der Benutzer
abgibt, um eine bestimmte auftretende Aufzeichnung verfügbar zu machen oder eine Einstellung
in eine bestimmte Aufzeichnung vorzunehmen.
Indizierung - das ist die Modifikation einer Adresse durch einen vorzeichenbehafteten arithmetischen Wert.
Index (Verschiebungs)-Wert - dieser Wert bezieht sich auf einen berechneten Adressenwert (der normalerweise
durch die Kompatibilitätseigenschaft berechnet und in ein Indexregister eingeführt wird); der betreffende
509828/0678
Adressenwert kann auf ein Basisregister bezogen sein, um einen Informationsposten zu adressieren.
Indexregister - das ist ein für die Indizierung benutztes Mehrzweckregister.
Integrierte Emulation - der Emulator ist in dem System integriert;
dabei erscheinen und laufen der Emulator und das System in dem möglichen Ausmaß als System-Benutzerjob
unter dem Betriebssystem.
Verschachtelung - das ist ein sequentieller Zugriff zu Speichermoduln, um die Speicherzugriffszeit zu
senken.
Eingabe/Ausgabe-Steuereinrichtung - das ist eine Einheit, die die Grundsteuerung für ein bestimmtes Eingabe/
Ausgabe-Untersystem liefert.
Eingabe/Ausgabe-Prozesse - das sind möglicherweise asynchrone Systemprozesse, die sich hauptsächlich mit der Verschiebung
von Daten zwischen der peripheren Speichereinrichtung oder den Eingabe/Ausgabe-Einrichtungen
und dem Hauptspeicher beschäftigen.
Verknüpfungskanal - siehe Kanal.
Hauptspeicher - das ist der gesamte adressierbare Speicher, von welchem aus Befehle ausgeführt oder von welchem
Daten direkt in Register geladen werden können.
Magnetband-Steuereinrichtung - das sind die Elemente des
peripheren Untersystems, die Magnetbandeinrichtungen steuern und betreiben (siehe periphere Prozessor/
Steuereinheit).
Massenspeicher-Steuereinrichtungen - das sind die Elemente des peripheren Untersystems, die Massenspeichereinrichtungen steuern und betreiben (siehe periphere Prozessor/Steuereinheit)
Massenspeicher-Steuereinrichtungen - das sind die Elemente des peripheren Untersystems, die Massenspeichereinrichtungen steuern und betreiben (siehe periphere Prozessor/Steuereinheit)
509828/0678
Speichermanagment - das ist das Betriebssystem, welches die
Zuordnung, Neuzuordnung und Trennung des physikalischen Speichers erleichtert.
Mikroprogramm - das ist ein Satz von Maschinencodes, die zur Ausführung der Steuerfunktionen eines Prozessors benutzt
werden.
Multiplex - das ist die Aufteilung einer Hardware-Hilfsquelle,
wie eines Speichers, gewöhnlich in zeitlicher Aufteilung.
Versetzung - das ist bei der Adressenbildung die Anzahl von Bytes nach dem Beginn des Segments, wo ein adressierter
Teil des Segments beginnt.
Betriebssystem - das ist ein System von Grund-Software, die
vorgesehen ist, um die effektive Operation der Benutzer-Software
zu unterstützen.
Periphere Prozessor/Steuereinheit - das ist ein alleinstehender mikroprogrammierter Prozessor, der Kanalprogramme
zur Ausführung von Eingabe/Ausgabe-Operationen ausführt.
Periphere Umsetz-Packung - das sind die Bingabe/Ausgabe-Umsetz-Algorithmen,
die von der ESP-Software in Verbindung mit der Hardware/Firmenware-Unterstützungsanordnung
des peripheren Wirts-Untersystems ausgeführt
werden.
Periphere Untersystem-Schnittstelle - das ist eine Standard-Schnittstelle
* die für die Übertragung und Steuerung zwischen freistehenden peripheren Steuereinheiten
und Eingabe/Ausgabe-Steuereinheiten verwendet werden.
Physikalischer Kanal - siehe Kanal.
509828/0678
Physikalische Datenstruktur - das ist eine vollständige Definition der Organisation der Daten, wie sie
auf einem Datenträger physikalisch aufgezeichnet sind.
Physikalische Eingabe/Ausgabe - das ist derjenige Teil des Betriebssystems, der die Übertragung von Daten
zwischen dem Speicher und den peripheren Einrichtungen
oder Endeinrichtungen auslöst und steuert.
Physikalischer Speicher - das ist die Hardware, die für die Speicherung von Daten benutzt wird. Sie besteht aus
verschiedenen Typen von Aufzeichnungs-Datenträgern und der Aufzeichnungs-Lese-Hardware.
Prozesssteuerblock - das ist eine Datenstruktur (durch Hardware festgelegt und erkennbar), die diejenige Information
enthält, die erforderlich ist, um den Zustand eines Prozesses zu irgendeinem gegebenen
Zeitpunkt anzugeben.
Prozessor - das ist eine Funktion, die Daten aufzunehmen, zu verarbeiten, Ergebnisse abzugeben und ihre Operations-Ablauffolge
auf gespeicherte Programme hin zu steuern imstande ist: kurz für den zentralen Prozessor, generell für den zentralen Prozessor,
den peripheren Prozessor oder den Hardware/Software-Prozessor.
Programm - das ist die Spezifikation der Prozedur und der zugeordneten Information, die zur Lösung eines
Problems erforderlich ist.
ProgrammausfUhrung - das ist die Aktivität eines Prozesses
in Übereinstimmung mit der Programmspezifikation.
Relative Adresse - das ist die Inkrement/Dekrement-Stelle
einiger Objekte relativ zueinander.
509828/0678
Ring - das ist ein Schutz-Attribut eines Segmentes, welches den Lese-, Schreib- und Ausführungs-Zugriff von
Prozessen auf ein Segment beschränkt.
Segment - das ist ein abhängiger bzw. angrenzender Hauptspeicherraum,
der als Einheit behandelt wird.
Segmentierung - das ist die Ausnutzung einer Unterteilung des Hauptspeichers in Verknüpfungs-Gruppen, die
Segmente genannt werden, anstatt in einen einzigen linearen Speicher.
Segmentbasis - das ist der gegenwärtige Ursprung des Segments. Dies ist ein Feld der Felder in einem Segment-Diskriptorwort.
Segmentdeskriptor - das ist ein Eintrag in einer Segmenttabelle, der die Eigenschaften eines Segmentes
definiert oder auf einen Segmentdeskriptor zeigt.
Segmentierte Adresse - siehe effektive Adresse.
Segmentnummer - das ist die Idendifikation eines bestimmten Segmentes, bestehend aus einer Segmenttabellennummer
(die eine der Segmenttabellen des Prozesses auswählt) und einem Segmenttabelleneintrag der betreffenden
gewählten Tabelle.
Alleinstehender-(Kompatibilitäts)-Betrieb - das ist eine nicht-integrierte Form der Emulation, bei der die
Wirts-Umgebung ausschließlich als emuliertes Zielsystem funktioniert. Dabei sind keine System-Zusammenstellungen
angenommen; zur Umschaltung von einem System auf ein anderes System ist eine Neuini
tialisierung erforderlich.
Stützsteuerprogramm (SCP) - das ist ein Prograem, unter dem
mit speziellen Systemmoduln die ESP-Software bestimmt wird, als Prozeßgruppe zu laufen.
509828/0678
Für den auf dem vorliegenden Gebiet tätigen Fachmann dürfte ersichtlich sein, daß eine Vielzahl von Veränderungen bei
der bevorzugten Ausführungsform der vorliegenden Erfindung vorgenommen werden kann. So können z.B. in dem Fall, daß bestimmte
Typen von Hilfsquellen durch die Eingabe/Ausgabe-Befehle, bestimmte Tabellen und Tests, die von den Mikrobefehlsroutinen
ausgeführt werden, nicht angegeben zu werden brauchen, entweder vereinfacht oder weggelassen werden. Außerdem
können alternative Anordnungen der Betriebsart-Umschaltung und der Mikroprogrammsteuerelemente verwendet werden. So kann
es z.B. erwünscht sein, ein gesondertes Mikroprogrammsteuerelement anstelle eines gemeinsamen Steuerelementes für die
Speicherung von Emulations-Mikrobefehlsroutinen zu verwenden.
Abschließend sei bemerkt, daß durch die vorliegende Erfindung ein mikroprogrammiertes Wirts-Datenverarbeitungssystem mit
einer Vielzahl von Tabellen geschaffen worden ist, um Informationen zu speichern, die so codiert sind, daß sie eine
Vielzahl von unterschiedlichen Eingabe/Ausgabe-Systemkonfigurationen von Hilfsquellen angeben, die zur Ausführung von
Eingabe/Ausgabe-Befehlen in einer entsprechenden Anzahl von Zielsystemen, die durch das Wirtssystem emuliert werden, erforderlich
sind. Das Wirtssystem enthält ferner eine Emulationsanordnung, die einen Steuerspeicher aufweist, der Mikroprogramme
zur Leitung des Systems im Zuge der Verarbeitung
von Eingabe/Ausgabe-Befehlen der Zielprogramme speichert.
Ferner dient diese Anordnung dazu zu kontrollieren, ob jeder derartige Befehl durch das Wirtssystem ausgeführt werden kann.
Die Emulationsanordnung erzeugt eine codierte Information, die anzeigt, welche Routine aus einer vorgegebenen Anzahl von
Kanalprogrammroutinen des Wirtssystems benötigt wird, um
509828/0678
für die Ausführung des Eingabe/Ausgabe-Befehls unter Ausnutzung der Wirts-Eingabe/Ausgabe-Hilfsquellen verwendet
zu v/erden. Unter Heranziehung der Information der Tabellen vermag die Emulationsanordnung vollständig bestimmte Typen
von Zielsystem-Singabe/Ausgabe-Befehlen auszuführen, die zur Durchführung von Steueroperationen benutzt werden.
509828/0678
Claims (1)
- PatentansprücheWirtsdatenverarbeitungssystem für die Verarbeitung von Befehlen eines Zielprogramms, welches eine Vielzahl von Befehlen enthält, die mit irgendeinem Format aus einer Vielzahl von Formaten codiert sind, dadurch gekennzeichnet, daß eine erste Speichereinrichtung (104) mit einer Vielzahl von Speicherbereichen vorgesehen ist, deren jeder eine Vielzahl von adressierbaren Speicherplätzen aufweist, daß ein erster Speicherbereich so ausgelegt ist, daß er das Zielsystemprogramm speichert, welches zumindest einen Eingabe/Ausgabe-Befehl mit einem Operationscode-Zeichen und einer Vielzahl von Steuerzeichen enthält, daß ein zweiter Speicherbereich der genannten Speicherbereiche eine Vielzahl von Tabellen speichert, deren jede eine Anzahl von Einträgen aufweist, welche Anzahl der Anzahl von Zielsystem-Hilfsquellen unterschiedlicher Klassen entspricht, die in dem Wirtssystem nicht vorhanden sind und die für die Ausführung von Eingabe/Ausgabe-Befehlen erforderlich sind, welche unterschiedliche programmierbare Konfigurationen von Hilfsquellen angeben, die in irgendeinem Zielsystem einer Anzahl von normalerweise für die Ausführung der Befehle betriebenen Zielsystemen enthalten sind, daß mit der ersten Speichereinrichtung eine Vielzahl von Speicherregistern (206-58, 206-82, 206-84) verbunden ist, die unterschiedliche Steuerzeichen der Eingabe/Ausgabe-Befehle während deren Ausführung zu speichern gestatten, daß mit der Vielzahl von Registern eine Reehen- und Verknüpfungseinheit verbunden ist, daß eine Steuerspeichereinrichtung (101-5) vorgesehen ist, die eine Vielzahl von Mikroprogramm-Ablauf folgen enthält, deren jede eine Vielzahl von Mikrobefehlen aufweist, auf deren Decodierung Steuereignale für die Steuerung der Übertragung von Informationsbytes zwischen der ersten Speichereinrich- ' tung, der Vielzahl von Registereinrichtungen und der509828/0678Rechen- und Verknüpfungseinrichtung in dem Fall erzeugt werden, daß das Wirtssystem veranlaßt ist, die Operationen eines der genannten Zielsysteme zu emulieren, daß die betreffenden Steuersignale ferner die Ausführung der genannten Befehle bewirken, daß mit der Rechen- und Verknüpfungseinrichtung und den in einer Vielzahl vorgesehenen Register-(101-4) einrichtungen eine Verzweigungs- und Prüfeinrichtung/ver-(101-5) bunden ist, und daß die Steuerspeichereinrichtung/derart betrieben ist, daß eine Bezugnahme auf Jede der in einer Vielzahl vorgesehenen Mikroprogramm-Ablauffolgen in einer bestimmten Reihenfolge erfolgt, derart, daß Einträge in jeder der in einer Vielzahl vorgesehenen Tabellen dadurch abgerufen werden, daß die Rechen- und Verknüpfungseinrichtung Adressensignale unter Heranziehung von unterschiedlichen Steuerzeichen erzeugt, die in den genannten Registern gespeichert sind, wobei jede Ablauffolge die Rechen- und Verknüpfungseinrichtung veranlaßt, bestimmte Bits von entsprechenden Einträgen von der Verzweigungsund Prüfeinrichtung dadurch überprüfen zu lassen, daß die Gültigkeit und die Verfügbarkeit unterschiedlicher Zielsystem-Hilfsquellen kontrolliert wird, die für die Ausführung des Befehls durch das Wirtssystem festgelegt sind, derart, daß innerhalb einer minimalen Zeitspanne festgestellt wird, ob die Befehlsausführung vornehmbar ist.2. System nach Anspruch 1, dadurch gekennzeichnet, daß jede der Tabellen des genannten zweiten Bereichs durch eine bestimmte Basis-Bezugsadresse in ihrer Lage bestimmbar ist, daß der genannte zweite Bereich eine Kanal-Hilfsquellentabelle enthält, die eine Vielzahl von Einträgen für das Zielsystem speichert, das emuliert wird, daß ein Eintrag je Kanal vorgesehen ist, der durch einen Eingabe/Ausgabe-509828/0673Befehl des Zielsystem-Programms angebbar 1st und der den Status des Kanals anzeigt, daß ein bestimmter Eintrag vorgesehen ist, der zur Anzeige des gegenwärtigen Status von Kanälen in dem Zielsystem entsprechend codiert ist, daß die Steuerspeichereinrichtung eine erste Mikrobefehls-Ablauffolge mit den Mikrobefehlen für die Erzeugung eines ersten Satzes von Steuersignalen enthält, durch die die Rechen- und Verknüpfungseinheit veranlaßt wird, die Bezugs-Basisadresse und ein erstes Steuerzeichen des Eingabe/Ausgabe-Befehls in einer solchen bestimmten Weise miteinander zu verknüpfen, daß eine indizierte Adresse erzeugt wird, durch die einer der Einträge aus der Kanal-Hilfsquellentabelle abrufbar ist, daß durch die genannten Mikrobefehle ein zweiter Satz von Steuersignalen für die Erzeugung einer bestimmten Adresse erzeugbar ist, durch die der jeweilige bestimmte Eintrag abholbar ist, daß die Rechen- und Verknüpfungseinrichtung eine Anordnung enthält, die auf die ersten Steuersignale der Ablauffolge hin eine Verknüpfungsoperation ausführt, und zwar auf bestimmte Informationsteile der Einträge, derart, daß die Verfügbarkeit der Kanal-Hilfsquellen für die Zuteilung überprüft wird, und daß eine mit der Rechen- und Verknüpfungseinrichtung verbundene Ausgabeeinrichtung auf das Ergebnis der betreffenden Verknüpfungsoperation hin eine Anzeige-Speichereinrichtung in einen bestimmten Zustand setzt, durch den der Belegtzustand des Kanals für das Wirtssystem signalisiert wird.System nach Anspruch 2, dadurch gekennzeichnet, daß die Einträge jeweils so codiert sind, daß sie einen Zählercode-Schrittbereich und einen Belegungs-Maskenfeldbereich enthalten, daß der Zählercode-Feldbereich so codiert ist, daß er eine Adresse eines der in einer Vielzahl vorgesehenen509828/0678Zählers angibt, die in dem Zielsystem für die Adressierung von Speicherraum durch die bezeichnete Kanal-Hilfsquelle benutzt sind, daß der Belegungs-Ausblendfeldbereich so codiert ist, daß er angibt, welche Kanal-Hilfsquellen zum Zwecke der Anpassung an eine bestimmte Übertragungsrate miteinander zu verbinden sind, daß die erste Mikrobefehls-Ablauf folge Steuersignale erzeugt, durch die die Rechen- und Verknüpfungseinrichtung und die Verzweigungs- und Prüfeinrichtung veranlaßt werden, den betreffenden Zählercode-Feldbereich des betreffenden einen Eintrags auf ein bestimmtes Bitmuster hin zu überprüfen, welches die Ungültigkeit der Zähleradresse in dem Zielsystem anzeigt, daß die Steuerspeichereinrichtung durch die Verzweigungs- und Prüfeinrichtung in dem Fall, daß die Zähleradresse als ungültig ermittelt wird, veranlaßt wird, eine Verzweigung zu einer Folge von Mikrobefehlen hin zu bewirken, derart, daß eine in bestimmter Weise codierte Nachricht erzeugt wird, die anzeigt, daß die betreffende Zähleradresse ungültig ist, daß die Verzweigungs- und Prüfeinrichtung in dem Fall, daß die Zähleradresse als gültig ermittelt worden ist, derart betrieben wird, daß die Steuerspeichereinrichtung veranlaßt wird, die Ausführung der genannten ersten Ablauffolge fortzusetzen, daß durch die betreffende Ablauffolge Steuersignale erzeugt werden, die die Rechen- und Verknüpfungseinheit veranlassen, eine Verknüpfungs- und/oder Rechenoperation auf den Inhalt der Belegungs-Ausblendfeldbereiche des betreffenden einen Eintrags bzw. des betreffenden bestimmten Eintrags hin auszuführen, und daß das Ergebnis zum Zwecke der Feststellung der Verfügbarkeit der Zielsystem-Kanalhilfsquellen für die Zuteilung auf Null überprüft wird.509828/06784. System nach Anspruch 39 dadurch gekennzeichnet, daß der Belegungs-Ausblendfeldbereich jedes Eintrags selektiv derart codiert ist, daß bestimmte Beschränkungen festgelegt werden, und daß diejenigen Verbindungs-Beschränkungen aufgehoben werden, die für eine in Frage kommende Ausführung des Zielsystem-Programms durch das Wirtssystem nicht benötigt werden.5. System nach Anspruch 2, dadurch gekennzeichnet, daß die Rechen- und Verknüpfungseinrichtung durch die genannten Steuersignale veranlaßt wird, die indizierte Adresse in der genannten bestimmten Weise dadurch zu erzeugen, daß der Wert der Basisadresse zu dem Vierfachen des Wertes des Kanalcodes hinzuaddiert wird, der durch das erste Steuerzeichen angegeben ist.6. System nach Anspruch 3> dadurch gekennzeichnet, daß der zweite Bereich ferner eine Sektor-Hilfsquellentabelle enthält, die eine Vielzahl von Einträgen für das Zielsystem speichert, das emuliert wird, daß jeder Eintrag so codiert ist, daß er diejenigen Zeitfächer angibt, die von dem Zielsystem für die Zuteilung zum Zwecke der Anpassung an eine Übertragungsrate in einem Sektor des Zielsystems benötigt sind, die bzw. der durch bestimmte Steuerzeichen angegeben ist, daß der betreffende eine Eintrag der Kanal-Hilfsquellentabelle ferner einen Zeitfach-Ausblendfeldbereich enthält, der so codiert ist, daß er eine Anzahl von Zeitfächern angibt, die von dem Sektor zwecks Anpassung an die betreffende Übertragungsrate für eine Zuteilung erforderlich sind, daß die Steuerspeichereinrichtung eine zweite Mikrobefehls-Ablauffolge enthält, die Mikrobefehle für die Erzeugung von Steuersignalen aufweist, durch die die Rechen- und Verknüpfungseinrichtung und die Verzwelgungs- und Prüfein-509828/0678richtung veranlaßt werden, den Wert eines bestimmten Teiles eines zweiten Steuerzeichens des genannten Befehles zu überprüfen, derart, daß die Formatbildung des betreffenden Befehls bestimmt wird, daß die Rechen- und Verknüpfungseinrichtung durch bestimmte Steuersignale in Übereinstimmung mit den Ergebnissen der Überprüfung veranlaßt wird, einen Sektorcode aus bestimmten Bits bestimmter Steuerzeichen zu erzeugen, die mit der genannten Bezugs-Basisadresse in einer solchen bestimmten Weise verknüpft werden, daß eine indizierte Adresse erzeugt wird, durch die ein Eintrag aus der Sektor-Hilfsquellentabelle abholbar ist, daß die Rechen- und Verknüpfungseinrichtung und die Verzweigungs- und Prüfeinrichtung durch andere Steuersignale veranlaßt werden, auf einen einen gültigen Zielsystem-Sektor angebenden Befehl hin eine Verknüpfungsoperation auszuführen, und zwar auf den genannten Zeitfach-Ausblendbereich des genannten einen Eintrags und auf einen bestimmten Teil des betreffenden einen Eintrags von der genannten Sektor-Hilfsquellentabelle her, derart, daß die Verfügbarkeit derjenigen Zeitfächer geprüft wird, die für die Anpassung an die Übertragungsrate angegeben sind, und daß die genannte Ausgabeeinrichtung auf das Ergebnis der betreffenden Operation hin die Anzeige-Speichereinrichtung in den bestimmten Zustand setzt, der den Belegungsstatus des betreffenden Kanals hervorruft und der signalisiert, daß die angegebenen Zeitfächer belegt sind.System nach Anspruch 6, dadurch gekennzeichnet, daß die Zeitfach-Ausblendung des jeweiligen Eintrags derart selektiv codiert ist, daß bestimmte Beschränkungen hervorgerufen und diejenigen Verwendungs-Beschränkungen aufgehoben werden, die für eine in Frage kommende Ausführung des genannten Zielsystemprogramms nicht erforderlich sind.509828/06782b0U0068. System nach Anspruch 6, dadurch gekennzeichnet, daß die genannte Rechen- und Verknüpf ungseinrichtung durch die Steuersignale veranlaßt wird, die indizierte Adresse dadurch zu erzeugen, daß der Wert der betreffenden Basisadresse und ein konstanter Wert, der kennzeichnend ist für die Größe der Kanal-Hilfsquellentabelle, dem Vierfachen des Wertes des Sektorcodes hinzuaddiert wird, der durch das zweite Steuerzeichen angegeben ist.9. System nach Anspruch 6, dadurch gekennzeichnet, daß die Einträge der Sektortabelle Jeweils einen Zeitfach-Statusfeldbereich und einen Statusfeldbereich enthalten, daß der Zeitfach-Statusfeldbereich so codiert ist, daß er diejenigen Zeitfächer angibt, die in den Sektor gerade benutzt sind, daß der Statusfeldbereich so codiert ist, daß er anzeigt, ob der Sektor in dem Zielsystem vorhanden ist, und daß die Rechen- und Verknüpfungseinrichtung durch bestimmte Mikrobefehle in der zweiten Mikrobefehls-Ablauffolge veranlaßt wird, den Statusfeldbereich zu überprüfen und eine UND-Verknüpfungsoperation auf den Inhalt des Zeitfach-Statusfeldes und des Zeitfach-Ausblendfeldes hin auszuführen, derart, daß die Verfügbarkeit von angegebenen Zeitfächern lediglich dann überprüft wird, wenn die Prüfung positiv ist.10. System nach Anspruch 9, dadurch gekennzeichnet, daß die Verzweigungs- und Prüfeinrichtung bei Fehlen einer positiven Prüfung veranlaßt wird, eine Verzweigung auf eine Folge von Mikrobefehlen hin auszuführen, und zwar zur Erzeugung einer in bestimmter Weise codierten Nachricht, die signalisiert, daß der durch den Befehl bezeichnete Sektor in dem Zielsystem nicht vorhanden ist. .........609828/067811. System nach Anspruch 6, dadurch gekennzeichnet, daß der zweite Bereich ferner eine periphere Steuer-Hilfsquellentabelle enthält, die eine Vielzahl von Einträgen für Jeden Sektor in dem Zielsystem speichert, daß ein Eintrag für jede mögliche periphere Steueradresse vorgesehen ist, die von dem ZielSystemprogramm angebbar ist, daß jeder derartige Eintrag so codiert ist, daß er eine den Typ der peripheren Steuereinheit angebende Statusinformation enthält, daß jeder Eintrag der Sektor-Hilfsquellentabelle ferner einen Verschiebungsadressenwert enthält, der die Lage der zugehörigen peripheren Steuerhilfsquellentabelle angibt, daß die Steuerspeichereinrichtung eine dritte Mikrobefehls-Ablauf folge enthält, welche Mikrobefehle aufweist, die die Rechen- und Verknüpfungseinrichtung veranlassen, eine indizierte Adresse dadurch zu erzeugen, daß in einer bestimmten Weise die Basisadresse und der Verschiebungsadressenwert des betreffenden einen Eintrags mit einem peripheren Steuercode verknüpft werden, der einer Vielzahl von Adressencodebits entspricht, die in einem bestimmten Steuerzeichen der Steuerzeichen enthalten sind, derart, daß eine Adresse einer der in einer Vielzahl vorgesehenen peripheren Steuereinheiten der Rechen- und Verknüpfungseinrichtung angegeben wird, und daß die Verzweigungs- und Prüfeinrichtung durch in der dritten Mikrobefehls-Ablauffolge enthaltene Mikrobefehle veranlaßt wird, zur Überprüfung ein bestimmtes Bit des betreffenden einen aus der peripheren Steuertabelle abgerufenen Eintrags auszuwählen, derart, daß überprüft wird, ob der betreffende Status unmittelbar für eine einzelne periphere Steuerung ausnutzbar ist oder ob eine Aufteilung mit dem Abruf eines weiteren Eintrags von der peripheren Steuertabelle erforderlich ist, und zwar zum Zwecke der Festlegung der Status-Information,509828/0678die den durch den Befehl bezeichneten Typ der peripheren Steuerung angibt.12. System nach Anspruch 11, dadurch gekennzeichnet, daß das bestimmte Bit des genannten einen Eintrags in einen bestimmten Zustand gesetzt wird, derart, daß die unmittelbare Ausnutzung des betreffenden Zustande für die einzelne periphere Einrichtung ermöglicht ist.13. System nach Anspruch 11, dadurch gekennzeichnet, daß die Rechen- und Verknüpfungseinrichtung veranlaßt wird, die indizierte Adresse in der bestimmten Weise dadurch zu erzeugen, daß der Vert der Basisadresse und des Verschiebungswertes des einen Sektortabelleneintrags zu dem Vielfachen des peripheren Steuercodes hinzuaddiert wird.14. System nach Anspruch 11, dadurch gekennzeichnet, daß die Steuerspeichereinrichtung ein· weitere Mikrobefehlsfolge mit Mikrobefehlen enthält, die die Verzweigungs- und Prüfeinrichtung veranlassen, eine Mehrfachverzweigungsoperation auf die Codierung derjenigen Zustandeinformation hin auszuführen, die den Typ der peripheren Steuerung für eine der in einer Anzahl vorgesehenen unterschiedlichen Mikrobefehlsfolgen angibt, welche in Übereinstimmung mit dem Typ der peripher·» Steuerung codiert lind, und daß jede der Mikrobefehlefolgen Mikrobefehle enthält, durch die Steuersignale erzeugbar sind, mit deren Hilfe ein unterschiedlicher bestimmter Code speicherbar ist, der den Typ der peripheren Steuerung angibt, der durch den Befehl bezeichnet ist.&09828/067815. System nach Anspruch 14, dadurch gekennzeichnet, daß die Verzweigungs- und Prüfeinrichtung auf eine insgesamt aus Nullen bestehende Codierung hin eine Verzweigung zu einer bestimmten der in einer Anzahl vorgesehenen Mikrobefehlsfolgen hin ausführt, derart, daß eine bestimmte Nachricht erzeugt wird, die signalisiert, daß der durch den betreffenden Befehl bezeichnete periphere Steuerungstyp in dem Zielsystem nicht vorhanden ist.16. System nach Anspruch 14, dadurch gekennzeichnet, daß die Steuerspeichereinrichtung eine vierte Mikrobefehlsfolge enthält und daß die Rechen- und Verknüpfungseinrichtung und die Verzweigungs- und Prüfeinrichtung durch Mikrobefehle der vierten Mikrobefehlsfolge veranlaßt werden, ein bestimmtes Bit des betreffenden einen Eintrags aus der peripheren Steuertabelle zu überprüfen und ein zweites Anzeigeglied derart zu setzen, daß der Belegungsstatus der peripheren Steuerung für das Wirtssystem signalisiert wird.17. System nach Anspruch 14, dadurch gekennzeichnet, daßder zweite Bereich ferner eine Einrichtungs-Hilfsquellentabelle für die Speicherung einer Vielzahl von Einträgen für jeden Typ einer peripheren Steuerung enthält, wobei jeweils ein derartiger Eintrag für jede mögliche periphere Einrichtungsadresse erfolgt, die von dem Zielsystemprogramm angebbar ist, daß der jeweilige Eintrag so codiert ist, daß er eine Statusinformation bezüglich der betreffenden Einrichtung enthält, daß der jeweilige Eintrag der peripheren Steuertabelle ferner einen Verschiebungsadressenwert enthält, der den Ort der zugehörigen peripheren Steuertabelle angibt, und daß die Steuerspeichereinrichtung509828/0678ferner eine fünfte Mikrobefehlsfolge mit Mikrobefehlen enthält, welche die Rechen· und Verknüpfungseinrichtung veranlassen, eine indizierte Adresse zu erzeugen, und zwar durch Verknüpfung der Basisadresse und des Verschiebungsadressenwertes des betreffenden einen Eintrags mit einem perlpheren Einrichtungsadressencode, der einer Vielzahl von Adressencodebits entspricht, die in einem bestimmten der Steuerzeichen enthalten sind und eine Adresse einer der in einer Vielzahl vorgesehenen peripheren Einrichtungen angeben, derart, daß ein Abruf einer der in einer Vielzahl vorgesehenen Einträge aus der Einrichtungs-Hilfsquellentabelle erfolgt.18. System nach Anspruch 17> dadurch gekennzeichnet, daß die Rechen- und Verknüpfungseinrichtung durch die Mikrobefehle veranlaßt wird, die indizierte Adresse in der bestimmten Weise dadurch zu erzeugen, daß der Wert der Basisadresse und der Verschiebewert des betreffenden einen peripheren Steuertabelleneintrags zu dem Vierfachen des peripheren Einrichtungscodes hinzuaddiert wird.19. System nach Anspruch 17, dadurch gekennzeichnet, daß der Steuerspeicher eine sechste Mikrobefehlsfolge enthält und daß die Rechen- und Verknüpfungseinrichtung und die Verzweigungs- und Prüfeinrichtung durch Mikrobefehle in der betreffenden Mikrobefehlsfolge veranlaßt werden, den Einrichtungs-Hilfsque11eneintrag zu überprüfen und eine dritte Anzeige-Speichereinrichtung derart einzustellen, daß der Belegungsstatus der betreffenden Einrichtung dem Wirtssystem signalisiert wird.509828/067820. Datenverarbeitungssystem für die Verarbeitlang von Befehlen eines ZielSystemprogramms, welches unterschiedliche Arten von Eingabe/Ausgabe-Befehlen enthält, die in irgendeinem Format aus einer Vielzahl von unterschiedlichen Formaten codiert sind, unter Verwendung einer Vielzahl von Registern, die zur Aufnahme und übertragung der Information miteinander verbunden sind und mit denen eine Reehen- und Verknüpfungseinrichtung verbunden ist, und unter Verwendung einer Mikroprogrammsteuereinrichtung, die die Informationsübertragung in dem System zu steuern gestattet, insbesondere nach einem der Ansprüche 1 bis 19, dadurch gekennzeichnet, daß für einen Emulationsbetrieb ein Hauptspeicher/mix einer Vielzahl von adressierbaren Bereichen vorgesehen ist, daß das Zielsystemprogramm in einem ersten der betreffenden Bereiche gespeichert wird, daß das ZielSystemprogramm zumindest einen Typ von Eingabe/Ausgabe-Befehl enthält, der so codiert ist, daß er ein Operationscodezeichen enthält, welches eine Operation angibt, die von dem Verarbeitungssystem in dem Fall nicht ausführbar ist, daß in einem Normalbetrieb gearbeitet wird, daß eine erste Gruppe von Adressenzeichen entsprechend einem ersten Adressenfeld vorgesehen ist, daß zumindest ein erstes Steuerzeichen vorgesehen ist, welches so codiert ist, daß es zumindest eine Kanalhilfsquelle von in einer Vielzahl vorgesehenen Kanalhilfsquellen eines Zielsystems angibt, welches für die Ausführung des betreffenden Zielprogramms ausgebildet ist, daß in einem zweiten Bereich der genannten Bereiche eine Vielzahl von Tabellen gespeichert ist, deren Jede durch eine bestimmte Basisbezugsadresse angebbar ist und eine Vielzahl von Einträgen enthält, die so codiert sind, daß der Status der Jeweiligen Hilfsquelle eines Typs einer Vielzahl von609828/067 8unterschiedlichen Typen bezeichnet wird, die von dem Programm angebbar sind und die für die Ausführung der unterschiedlichen Typen von Eingabe/Ausgabe-Befehlen erforderlich sind, daß die^Mikroprogramm-Steuereinrichtung einen Steuerspeicher/enthält, der eine Vielzahl von Mikroprogrammfolgen speichert, deren Jede die Gültigkeit und Verfügbarkeit von Hilfsquellen einer bestimmten Klasse von HilfsqueIlen dadurch kontrolliert, daß die übertragung von Informationseinträgen zwischen einer Tabelle des genannten zweiten Bereichs des Hauptspeichers, den in einer Vielzahl vorgesehenen Registern und der Rechen- und Verknüpfungseinrichtung gesteuert *Afd, daß eine Verzweigung s- und Prüfsteuereinrichtung/vorgesehen ist, die Signale von der Rechen- und Verknüpfungseinrichtung und von ausgewählten Registern der in einer Vielzahl vorgesehenen Register aufnimmt, daß die betreffende Steuereinrichtung durch die Verzweigungs- und Prüfsteuereinrichtung zunächst veranlaßt wird, eine Verzweigung auf eine erste Hauptroutine in dem Fall auszuführen, daß das Operationscodezeichen derart codiert ist, daß eine Steuerungs- und Verzweigungsoperation angegeben 1st, daß die erste Hauptroutine durch den Steuerspeicher veranlaßt wird, auf unterschiedlich· Routinen in einer bestimmten Reihenfolge Bezug zu nehmen» derart, daß bestimmt wird, daß die für die überprüfung durch den Befehl bezeichneten Hilfsquellen für «ine Zuteilung in dem Zielsystem zutreffen und verfügbar sind, und daß die Haupt-Routine an einer bezeichneten Stell· eine Mikrobefehlsfolge enthält, durch die die Mikroprogramesteuereinrichtung veranlaßt wird, Signale zur Ausführung einer AdressenprUfung auf das erste Adressenfeld des Befehls hin in dem Fall zu erzeugen, daß die bezeichneten Hilfsquellen509828/067 θbelegt sind, derart, daß eine Wiederholung in dem Zielsystemprogramm der durch das Befehls-Operationscodezeichen bezeichneten Operation solange signalisiert wird, bis die Hilfsquellen verfügbar sind, wobei eine Systemfreisetzung für andere Operationen ermöglicht ist.21. System nach Anspruch 20, dadurch gekennzeichnet, daß die Mikrobefehlsfolge der Haupt-Routine an einer bezeichneten Stelle einen Mikrobefehl enthält, der die Rechen- und Verknüpfungseinrichtung veranlaßt, das erste Adressenfeld mit einer Adresse zu vergleichen, die in einem der in einer Vielzahl vorgesehenen Register gespeichert ist und die die Adresse in dem Zielprogramm des betreffenden einen Typs von Befehl darstellt, der ausgeführt wird, und daß die Routine Mikrobefehle enthält, die die Mikroprogramm-Steuereinrichtung veranlassen, auf Mikrobefehle Bezug zu nehmen, derart, daß eine Verzweigung auf den Befehl in dem Zielsystemprogramm hervorgerufen wird, der durch das erste Adressenfeld angegeben ist, und zwar auf die Ermittelung eines Signals, welches anzeigt, daß die Adressen ungleich sind,22. System nach Anspruch 20, dadurch gekennzeichnet, daß der genannte eine Typ des Eingabe/Ausgabe-Befehls ferner ein zweites Steuerzeichen enthält, welches so codiert ist, daß es eine von in einer Vielzahl vorgesehenen Sektor-Hilfsquellen und eine von in einer Vielzahl vorgesehenen peripheren Steuer-Hilfsquellen in dem Zielsystem für die Ausführung des betreffenden Befehls bezeichnet, daß der betreffende Befehl ferner eine erforderliche Anzahl von Steuerzeichen enthält, durch die weitere Hilfsquellen des509828/0678Zielsystems angebbar sind, die von dem System für die Ausführung einer Datenübertragungsoperation anzugeben erforderlich sind, welche eine der in einer Vielzahl vorgesehenen peripheren Einrichtungen betrifft, daß die Verzweigungs- und Prüfsteuereinrichtung die genannte Steuereinrichtung veranlaßt, zunächst eine Verzweigung zu einer zweiten Haupt-Routine hin in dem Fall vorzunehmen, daß das Operationscodezeichen derart codiert ist, daß die Ubertragungsoperation bezeichnet ist, daß die zweite Routine den betreffenden Steuerspeicher veranlaßt, auf jede der Befehlsfolgen in der bestimmten Reihenfolge solange Bezug zu nehmen, bis die UnverfUgbarkeit einer Hilfsquelle für die Zuteilung ermittelt ist oder bis festgestellt ist, daß sämtliche durch den Befehl bezeichneten Hilfsquellen für die Zuteilung zutreffen und verfügbar sind, daß die zweite Hauptroutine an unterschiedlichen bezeichneten Stellen Mikrobefehle enthält, die eine Abruf nachricht von in einer Anzahl vorgesehenen bestimmten Abruf nachrichten für die Speicherung in einem bestimmten Register der in einer Vielzahl vorgesehenen Register erzeugen, und daß durch die Abrufnachricht der Typ einer erforderlichen Programmunterstützung angezeigt wird, wobei die betreffende Abrufnachricht eine Information enthält, welche die Klasse des Befehls anzeigt, der ausgeführt wird, und den Zustand der jeweils verarbeiteten Hilfsquelle.23. System nach Anspruch 22, dadurch gekennzeichnet, daß für einen ersten Unterstützungstyp eine bestimmte Abrufnachricht derart codiert ist, daß sie irgendeinen Code aus einer Anzahl von einrichtungsspezifischen Codes enthält, welcher signalisiert, daß der betreffende Befehl einSOd828/067Ögültiger, ausführbarer Datenübertragungsbefehl für die durch den Code bezeichnete Einrichtung ist, daß für einen zweiten Unterstützungstyp die Nachricht derart codiert ist, daß sie einen ersten bestimmten Code enthält, der signalisiert, daß der betreffende Befehl eine unzulässige Kanal-Hilfsquelle angibt, daß für einen dritten Unterstützungstyp die Nachricht derart codiert ist, daß sie einen dritten bestimmten Code enthält, der signalisiert, daß der betreffende Befehl eine nicht vorhandene periphere Steuer-Hilfsquelle bezeichnet, daß für einen vierten Unterstützungstyp die betreffende Nachricht derart codiert ist, daß sie einen vierten bestimmten Code enthält, der signalisiert, daß der Befehl nicht eine periphere Steuer-Hilfsquelle angibt, und daß für einen fünften Unterstützungstyp die betreffende Nachricht derart codiert ist, daß sie einen fünften bestimmten Code enthält, der signalisiert, daß der betreffende Befehl unzulässige/undefinierte Reihen von Steuerzeichen enthält.24. System nach Anspruch 23» dadurch gekennzeichnet, daß die genannte eine bestimmte Abrufnachricht Status-Bits für die Signalisierung des Status der Kanal-Hilfsquelle, der peripheren Steuer-Hilfsquelle und d?r peripheren Einrichtungs-Hilfsquelle enthält, daß sämtliche Status-Bits für den genannten ersten Unterstützungstyp in einen ersten bestimmten Zustand gesetzt sind, in welchen signalisiert wird, daß die genannten Hilfsquellen nicht belegt sind, und daß die übrigen Abrufnachrichten bezüglich zumindest eines der Status-Bits in einen zweiten bestimmten Zustand gesetzt sind, in welchem signalisiert wird, daß eine der genannten Hilfsquellen belegt ist.509828/067825. System nach Anspruch 23, dadurch gekennzeichnet, daß die erste Haupt-Routine und die zweite Haupt-Routine und die Vielzahl von Mikrobefehlsfolgen an festgelegten Punkten einen Mikrobefehl enthalten, der für die Speicherung einer Status-Information in einem bestimmten Satz der in einer Vielzahl vorgesehenen Register dient, welche Information aus dem Befehl abgeleitet 1st, der die Befehlsverarbeitung betrifft, wobei die Statusinformation ein Operationscodezeichen, einen peripheren Identifizierungscode und einen Steuer-Identifizierungscode enthält.26. Verfahren zur Erleichterung der Emulation von Eingabe/Ausgabe-Befehlen mit irgendeinem Format aus einer Vielzahl von unterschiedlichen Formaten, wobei jeder Befehl eine Vielzahl von Zeichen eines Zielsystemprogramms enthält, unter Verwendung eines Datenverarbeitungssystems, insbesondere nach einem der vorhergehenden Ansprüche, mit einem Hauptspeicher, der eine Vielzahl von Speicherbereichen aif weist, deren einer das Zielsystemprogramm speichert, mit einer Vielzahl von Registern, die über eine Vielzahl von Busleitungen miteinander verbunden sind, mit einer Rechen- und Verknüpfungseinrichtung, die Signale von bestimmten Registern aufzunehmen vermag, und mit einem Mikroprogramm-Steuersystem^ welches die Übertragung von Daten zwischen dem Speicher, den Registern und der Rechen- und Verknüpfungseinrichtung/in einem Emulations-Operationsbetrieb dadurch zu steuern gestattet, daß in einem Steuerspeicher/enthaltene Mikrobefehle decodiert werden, dadurch gekennzeichnet, daß eine Vielzahl von Tabellen in einem zweiten Bereich des Hauptspeichers gespeichert wird, daß in frdar der Tabellen eine Vielzahl50982870670von Einträgen vorgesehen wird, die so codiert sind, daß sie den Status jeder Hilfsquelle einer Klasse von Hilfsquellen aus einer Vielzahl von unterschiedlichen Klassen angeben, die in dem Datenverarbeitungssystem physikalisch nicht vorhanden sind und die in gültiger Weise durch Befehle des Zielsystemprogramms angebbar sind und für die Ausführung der Zielsystembefehle erforderlich sind, daß in dem Steuerspeicher/eine Vielzahl von Mikrobefehlsfolgen gespeichert wird, durch deren jede ein Zugriff auf unterschiedliche Einträge der Vielzahl von Einträgen in einer der in einer Vielzahl vorgesehenen Tabellen vorgenommen wird, derart, daß die Gültigkeit und Verfügbarkeit des Status von Hilfsquellen einer bestimmten Klasse kontrolliert wird, daß die Mikrobefehlsfolgen in einer bestimmten Reihenfolge ausgeführt werden, derart, daß auf bestimmte Einträge der genannten Einträge dadurch Bezug genommen wird, daß entsprechende Steuerzeichen dazu benutzt werden, die Gültigkeit und Verfügbarkeit zum Zwecke der Zuteilung solcher Hilfsquellen festzustellen, die durch den betreffenden Eingabe/Ausgabe-Befehl bezeichnet sind, daß die Ausführung der Befehlsfolgen in dem Fall beendet wird, daß die Ungültigkeit oder Unverfügbarkeit einer ersten Hilfsquelle bezüglich der Zuteilung oder die Beendigung der Ausführung der Befehlsfolgen festgestellt wird, und daß eine bestimmte Abrufnachricht erzeugt wird, die den Typ der erforderlichen Programmunterstützung anzeigt und die eine Information enthält, welche die Klasse des Eingabe/Ausgabe-Befehls, der ausgeführt wird, und den Status von Hilfsquellen angibt, die überprüft worden sind.27. Verfahren nach Anspruch 26, dadurch gekennzeichnet, daß eine erste Tabelle der genannten Tabellen als Kanalhilfsquelle-Tabelle für die Speicherung einer Vielzahl von609828/0678Einträgen für das Zielsystem verwendet wird, daß ein Eintrag für jeden Kanal vorgesehen wird, der von den Eingabe/Ausgabe-Befehlen angebbar ist und der den Status des betreffenden Kanals angibt, daß ein bestimmter Eintrag derart codiert wird, daß eine Anzeige bezüglich des gegenwärtigen Status von Kanälen dem Zielsystem erhalten wird, daß eine indizierte Adresse dadurch erzeugt wird, daß Mikrobefehle einer ersten Folge der Mikrobefehlsfolgen unter Verwendung eines ersten bestimmten Zeichens der Vielzahl von Zeichen ausgeführt werden, und zwar zum Zwecke des Abrufs eines Eintrags aus der Kanalhilfsquelle-Tabelle, daß eine Verknüpfungsoperation auf bestimmte Teile des betreffenden einen Eintrags und des bestimmten Eintrags zur Überprüfung der Verfügbarkeit des genannten Kanals ausgeführt wird, und daß zur Signalisierung des Belegungsstatus des betreffenden Kanals eine bestimmte Abrufnachricht auf ein bestimmtes Ergebnis hin erzeugt wird.28. Verfahren nach Anspruch 27, dadurch gekennzeichnet, daß jede der Kanal-Hilfsquellen-Einträge mit einem Belegungs-Ausblend-Feldbereich versehen wird, durch den angegeben wird, welche der Kanal-Hilfsquellen in Anpassung an eine bestimmte Ubertragungsrate miteinander zu verbinden sind, und daß der Ausblendfeldbereich jedes Eintrags derart selektiv codiert wird, daß bestimmte Beschränkungen wirksam gemacht und bestimmte Beschränkungen, die nicht für eine in Frage kommende Ausführung des Zielsystemprogramms durch das Datenverarbeitungssystem erforderlich sind, aufgehoben werden.29. Verfahren nach Anspruch 27» dadurch gekennzeichnet, daß die Kanal-Hilfsquellen-Einträge jeweils mit einem Zeitfach-5098 2 8/067 82b0Ü006Ausblendfeldbereich versehen werden, durch den eine Anzahl von Zeitfächern angegeben wird, die für die Zuteilung zu einer Kanal-Hilfsquelle in Anpassung an die bestimmte Übertragungsrate erforderlich sind, und daß das Zeitfach-Ausblendfeld des jeweiligen Eintrags derart selektiv codiert wird, daß bestimmte Beschränkungen wirksam gemacht und Verkehrsbeschränkungen, die für die in Frage kommende Ausführung des ZielSystemprogramms durch das Datenverarbeitungssystem nicht erforderlich sind, aufgehoben werden.30. Verfahren nach Anspruch 27, dadurch gekennzeichnet, daß die Kanal-Hilfsquellen-Einträge jeweils mit einem Zählercode-Feldbereich versehen werden, durch den eine Adresse eines der in einer Vielzahl vorgesehenen Zähler bezeichnet wird, der in dem Zielsystem für eine Adressenspeicherung durch die zugehörige Kanal-Hilfsquelle verwendet wird, und daß das Zähler-Codefeld des jeweiligen Eintrags in dem Fall mit einem bestimmten Code versehen wird, daß die Zähleradresse für die Verwendung in dem Zielsystem ungültig ist.31. Verfahren zur erleichterten Emulation von Eingabe/Ausgabe-Befehlen, die irgendein Format aus einer Vielzahl von unterschiedlichen Formaten aufweisen und die jeweils eine Vielzahl von Zeichen eines ZielSystemprogramms enthalten, unter Verwendung eines Datenverarbeitungssystems mit einem Hauptspeicher, der eine Vielzahl von Speicherbereichen aufweist, deren einer das Zielsystemprogramm speichert, mit einer Vielzahl von Registern, die über eine Vielzahl von Busleitungen miteinander verbunden sind, mit einer Rechen- und Verknüpfungseinrichtung, die Signale von bestimmten Registern her aufnimmt, und mit einem Mikroprogramm-Steuer-609828/0678system zur Steuerung der Datenübertragung zwischen dem Speicher, den Registern und der Rechen- und Verknüpfungseinrichtung in einem Emulationsbetrieb durch Decodierung von in einem Steuer spei eher enthaltenen Mikrobefehlen, insbesondere für ein Datenverarbeitungssystem nach einem der Ansprüche 1 bis 25, dadurch gekennzeichnet, daß eine Vielzahl von Tabellen in einem zweiten Bereich des Hauptspeichers gespeichert wird, daß jede Tabelle mit einer Vielzahl von Einträgen versehen wird, die so codiert werden, daß die den Status der jeweiligen Hilfsquelle einer Klasse aus einer Vielzahl von unterschiedlichen Klassen angeben, die physikalisch in dem Datenverarbeitungssystem nicht vorhanden sind und die in gültiger Weise durch Befehle des ZielSystemprogramms bezeichnet werden und für die Ausführung der ZielSystembefehle erforderlich sind, daß eine Vielzahl von Mikrobefehlsfolgen in dem Steuerspeicher gespeichert wird, daß jede Mikrobefehls-Folge für den Zugriff zu Einträgen der in einer Vielzahl vorgesehenen Einträgen in einer der in einer Vielzahl vorgesehenen Tabellen verwendet wird , derart, daß die Gültigkeit und Verfügbarkeit des Status von Hilfsquellen einer bestimmten Klasse kontrolliert wird, daß selektiv bestimmte Mikrobefehls-Folgen in einer bestimmten Reihenfolge ausgeführt werden, derart, daß ein Zugriff zu bestimmten Einträgen unter Verwendung entsprechender Steuerzeichen für die Überprüfung des Status derjenigen Hilfsquellen bewirkt wird, die durch den Eingabe/Ausgabe-Befehl bezeichnet sind, und daß das Datenverarbeitungssystem veranlaßt wird, einen nächsten Befehl in dem Zielsystem in dem Fall auszuführen, daß festgestellt wird, daß die durch den betreffenden Bingabe/Ausgabe-Befehl bezeichneten Hilfs-Β0982Θ/0678quellen nicht belegt sind.32. Verfahren nach Anspruch 31» dadurch gekennzeichnet, daß eine Adressenüberprüfung auf ein erstes Adressenfeld des Befehls hin in dem Fall ausgeführt wird, daß die bezeichneten Hilfsquellen belegt sind, und daß eine bestimmte Nachricht in dem Fall erzeugt wird, daß die erste Adresse mit einer Adresse übereinstimmt, die den Befehl, der ausgeführt wird, kennzeichnet, wobei durch die betreffende Nachricht eine Wiederholung der durch den genannten Befehl bezeichneten Operation solange signalisiert wird, bis die bezeichneten Hilfsquellen nicht belegt sind.33. Verfahren nach Anspruch 32, dadurch gekennzeichnet, daß das Mikroprogramm-Steuersystem veranlaßt wird, auf Mikrobefehle Bezug zu nehmen, derart, daß eine Verzweigung auf den Befehl hin bewirkt wird, der durch das erste Adressenfeld bezeichnet ist, und zwar auf die Feststellung, daß die betreffenden Adressen ungleich sind.509828/0678Leerseite
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/430,322 US3955180A (en) | 1974-01-02 | 1974-01-02 | Table driven emulation system |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2500006A1 true DE2500006A1 (de) | 1975-07-10 |
Family
ID=23707026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19752500006 Withdrawn DE2500006A1 (de) | 1974-01-02 | 1975-01-02 | Wirtsdatenverarbeitungssystem und verfahren zur emulation von eingabe/ausgabe- befehlen |
Country Status (6)
Country | Link |
---|---|
US (1) | US3955180A (de) |
JP (1) | JPS5853369B2 (de) |
CA (1) | CA1026466A (de) |
DE (1) | DE2500006A1 (de) |
FR (1) | FR2295485A1 (de) |
GB (1) | GB1497601A (de) |
Families Citing this family (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4106091A (en) * | 1975-02-18 | 1978-08-08 | Motorola, Inc. | Interrupt status indication logic for polled interrupt digital system |
US4042914A (en) * | 1976-05-17 | 1977-08-16 | Honeywell Information Systems Inc. | Microprogrammed control of foreign processor control functions |
US4156927A (en) * | 1976-08-11 | 1979-05-29 | Texas Instruments Incorporated | Digital processor system with direct access memory |
US4079453A (en) * | 1976-08-20 | 1978-03-14 | Honeywell Information Systems Inc. | Method and apparatus to test address formulation in an advanced computer system |
US4092715A (en) * | 1976-09-22 | 1978-05-30 | Honeywell Information Systems Inc. | Input-output unit having extended addressing capability |
US4122519A (en) * | 1976-12-14 | 1978-10-24 | Allen-Bradley Company | Data handling module for programmable controller |
US4261033A (en) * | 1977-01-19 | 1981-04-07 | Honeywell Information Systems Inc. | Communications processor employing line-dedicated memory tables for supervising data transfers |
US4156907A (en) * | 1977-03-02 | 1979-05-29 | Burroughs Corporation | Data communications subsystem |
US4155118A (en) * | 1977-09-20 | 1979-05-15 | Burroughs Corporation | Organization for an integrated circuit calculator/controller |
JPS54122043A (en) * | 1978-03-15 | 1979-09-21 | Toshiba Corp | Electronic computer |
GB2030741B (en) * | 1978-10-02 | 1982-11-17 | Ibm | Data processing terminal with addressable characterising store |
JPS5576447A (en) * | 1978-12-01 | 1980-06-09 | Fujitsu Ltd | Address control system for software simulation |
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 |
US4377852A (en) * | 1980-03-31 | 1983-03-22 | Texas Instruments Incorporated | Terminal emulator |
US4370709A (en) * | 1980-08-01 | 1983-01-25 | Tracor, Inc. | Computer emulator with three segment microcode memory and two separate microcontrollers for operand derivation and execution phases |
US4574349A (en) * | 1981-03-30 | 1986-03-04 | International Business Machines Corp. | Apparatus for addressing a larger number of instruction addressable central processor registers than can be identified by a program instruction |
US4575814A (en) * | 1982-05-26 | 1986-03-11 | Westinghouse Electric Corp. | Programmable interface memory |
JPS5941064A (ja) * | 1982-08-31 | 1984-03-07 | Nec Corp | プロログ処理装置 |
US4509122A (en) * | 1982-11-18 | 1985-04-02 | International Business Machines Corporation | Method for controlling the file transfer capability of an interactive text processing system that is emulating a host processing system terminal |
JPS6017539A (ja) * | 1983-07-11 | 1985-01-29 | Hitachi Ltd | エミユレ−シヨン方式 |
US4727480A (en) * | 1984-07-09 | 1988-02-23 | Wang Laboratories, Inc. | Emulation of a data processing system |
DE3584324D1 (de) * | 1984-07-11 | 1991-11-14 | Hitachi Ltd | Datenflussgesteuertes informationsverarbeitungsverfahren und -system. |
US4984151A (en) * | 1985-03-01 | 1991-01-08 | Advanced Micro Devices, Inc. | Flexible, next-address generation microprogram sequencer |
JP2826309B2 (ja) * | 1985-11-20 | 1998-11-18 | 日本電気株式会社 | 情報処理装置 |
US4875186A (en) * | 1986-02-28 | 1989-10-17 | Prime Computer, Inc. | Peripheral emulation apparatus |
US4920481A (en) * | 1986-04-28 | 1990-04-24 | Xerox Corporation | Emulation with display update trapping |
US5088033A (en) * | 1986-04-28 | 1992-02-11 | Xerox Corporation | Data processing system emulation in a window with a coprocessor and I/O emulation |
US5210832A (en) * | 1986-10-14 | 1993-05-11 | Amdahl Corporation | Multiple domain emulation system with separate domain facilities which tests for emulated instruction exceptions before completion of operand fetch cycle |
US4833594A (en) * | 1986-12-22 | 1989-05-23 | International Business Machines | Method of tailoring an operating system |
EP0299612B1 (de) * | 1987-06-09 | 1995-02-08 | Hitachi Maxell Ltd. | Datenverarbeitungsanlage mit Anpassung der Ein-/Ausgabe-Funktionen |
US5128810A (en) * | 1988-08-02 | 1992-07-07 | Cray Research, Inc. | Single disk emulation interface for an array of synchronous spindle disk drives |
US5283791A (en) * | 1988-08-02 | 1994-02-01 | Cray Research Systems, Inc. | Error recovery method and apparatus for high performance disk drives |
US5067073A (en) * | 1988-08-02 | 1991-11-19 | International Business Machines Corporation | Embedded tracing method for identifying program executed paths |
US5121489A (en) * | 1988-08-02 | 1992-06-09 | International Business Machines Corporation | Tracing method for identifying program execution paths using a trace points bit map with one-to-one correspondence with embedded trace points |
US5218689A (en) * | 1988-08-16 | 1993-06-08 | Cray Research, Inc. | Single disk emulation interface for an array of asynchronously operating disk drives |
US5036484A (en) * | 1988-11-23 | 1991-07-30 | International Business Machines Corporation | Personal computer/host emulation system for handling host data with personal computer application programs at personal computers |
US5109353A (en) | 1988-12-02 | 1992-04-28 | Quickturn Systems, Incorporated | Apparatus for emulation of electronic hardware system |
DE69033438T2 (de) | 1989-04-13 | 2000-07-06 | Sandisk Corp | Austausch von fehlerhaften Speicherzellen einer EEprommatritze |
US5093776A (en) * | 1989-06-15 | 1992-03-03 | Wang Laboratories, Inc. | Information processing system emulation apparatus and method |
JPH03147013A (ja) * | 1989-11-01 | 1991-06-24 | Casio Comput Co Ltd | データ更新装置 |
US5121483A (en) * | 1990-05-21 | 1992-06-09 | International Business Machines Corporation | Virtual drives in an automated storage library |
US5652869A (en) * | 1991-03-07 | 1997-07-29 | Digital Equipment Corporation | System for executing and debugging multiple codes in a multi-architecture environment using jacketing means for jacketing the cross-domain calls |
US5333298A (en) * | 1991-08-08 | 1994-07-26 | Honeywell Inc. | System for making data available to an outside software package by utilizing a data file which contains source and destination information |
US5680583A (en) * | 1994-02-16 | 1997-10-21 | Arkos Design, Inc. | Method and apparatus for a trace buffer in an emulation system |
US5920712A (en) * | 1994-05-13 | 1999-07-06 | Quickturn Design Systems, Inc. | Emulation system having multiple emulator clock cycles per emulated clock cycle |
US5632028A (en) * | 1995-03-03 | 1997-05-20 | Hal Computer Systems, Inc. | Hardware support for fast software emulation of unimplemented instructions |
US5923865A (en) * | 1995-06-28 | 1999-07-13 | Quickturn Design Systems, Inc. | Emulation system having multiple emulated clock cycles per emulator clock cycle and improved signal routing |
US5819065A (en) * | 1995-06-28 | 1998-10-06 | Quickturn Design Systems, Inc. | System and method for emulating memory |
US5799169A (en) * | 1995-10-02 | 1998-08-25 | Chromatic Research, Inc. | Emulated registers |
US5920713A (en) * | 1995-10-06 | 1999-07-06 | Advanced Micro Devices, Inc. | Instruction decoder including two-way emulation code branching |
US5758061A (en) * | 1995-12-15 | 1998-05-26 | Plum; Thomas S. | Computer software testing method and apparatus |
US5822564A (en) * | 1996-06-03 | 1998-10-13 | Quickturn Design Systems, Inc. | Checkpointing in an emulation system |
US5892939A (en) * | 1996-10-07 | 1999-04-06 | Honeywell Inc. | Emulator for visual display object files and method of operation thereof |
US5918048A (en) * | 1997-03-17 | 1999-06-29 | International Business Machines Corporation | Booting an operating system using soft read-only storage (ROS) for firmware emulation |
US5875336A (en) * | 1997-03-31 | 1999-02-23 | International Business Machines Corporation | Method and system for translating a non-native bytecode to a set of codes native to a processor within a computer system |
US5960191A (en) * | 1997-05-30 | 1999-09-28 | Quickturn Design Systems, Inc. | Emulation system with time-multiplexed interconnect |
US5970240A (en) * | 1997-06-25 | 1999-10-19 | Quickturn Design Systems, Inc. | Method and apparatus for configurable memory emulation |
US6389503B1 (en) | 1997-08-04 | 2002-05-14 | Exabyte Corporation | Tape drive emulation by removable disk drive and media formatted therefor |
US6128698A (en) * | 1997-08-04 | 2000-10-03 | Exabyte Corporation | Tape drive emulator for removable disk drive |
US6259781B1 (en) * | 1997-08-06 | 2001-07-10 | Siemens Information And Communication Networks, Inc. | Generic distributed protocol converter |
US6324639B1 (en) * | 1998-03-30 | 2001-11-27 | Matsushita Electric Industrial Co., Ltd. | Instruction converting apparatus using parallel execution code |
CA2236640A1 (en) * | 1998-05-04 | 1999-11-04 | Claudio Gambetti | Emulation system including emulator generator |
GB2367651B (en) * | 2000-10-05 | 2004-12-29 | Advanced Risc Mach Ltd | Hardware instruction translation within a processor pipeline |
GB2367653B (en) * | 2000-10-05 | 2004-10-20 | Advanced Risc Mach Ltd | Restarting translated instructions |
US7913237B2 (en) * | 2003-08-26 | 2011-03-22 | Ensequence, Inc. | Compile-time code validation based on configurable virtual machine |
US20090159701A1 (en) | 2007-12-24 | 2009-06-25 | Dynamics Inc. | Payment cards and devices with enhanced magnetic emulators |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3369221A (en) * | 1964-05-04 | 1968-02-13 | Honeywell Inc | Information handling apparatus |
US3480914A (en) * | 1967-01-03 | 1969-11-25 | Ibm | Control mechanism for a multi-processor computing system |
US3631405A (en) * | 1969-11-12 | 1971-12-28 | Honeywell Inc | Sharing of microprograms between processors |
US3675214A (en) * | 1970-07-17 | 1972-07-04 | Interdata Inc | Processor servicing external devices, real and simulated |
US3721961A (en) * | 1971-08-11 | 1973-03-20 | Ibm | Data processing subsystems |
US3748649A (en) * | 1972-02-29 | 1973-07-24 | Bell Telephone Labor Inc | Translator memory decoding arrangement for a microprogram controlled processor |
US3766532A (en) * | 1972-04-28 | 1973-10-16 | Nanodata Corp | Data processing system having two levels of program control |
US3859636A (en) * | 1973-03-22 | 1975-01-07 | Bell Telephone Labor Inc | Microprogram controlled data processor for executing microprogram instructions from microprogram memory or main memory |
-
1974
- 1974-01-02 US US05/430,322 patent/US3955180A/en not_active Expired - Lifetime
- 1974-12-23 CA CA216,689A patent/CA1026466A/en not_active Expired
- 1974-12-25 JP JP49148236A patent/JPS5853369B2/ja not_active Expired
- 1974-12-31 FR FR7443448A patent/FR2295485A1/fr active Granted
-
1975
- 1975-01-02 GB GB80/75A patent/GB1497601A/en not_active Expired
- 1975-01-02 DE DE19752500006 patent/DE2500006A1/de not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US3955180A (en) | 1976-05-04 |
FR2295485B1 (de) | 1979-06-15 |
CA1026466A (en) | 1978-02-14 |
FR2295485A1 (fr) | 1976-07-16 |
JPS5099656A (de) | 1975-08-07 |
JPS5853369B2 (ja) | 1983-11-29 |
GB1497601A (en) | 1978-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2500006A1 (de) | Wirtsdatenverarbeitungssystem und verfahren zur emulation von eingabe/ausgabe- befehlen | |
DE69730276T2 (de) | Vorrichtung und Verfahren zur Erleichterung der Vermeidung von exzeptionellen bestimmten Zuständen während des Ablaufs eines Programmes | |
DE2517276A1 (de) | Datenverarbeitungssystem | |
DE2846495C2 (de) | Zentraleinheit | |
DE2540824C2 (de) | Auf verschiedene Ausbaustufen veränderbare Abrechnungsmaschine | |
DE2456602C2 (de) | Multiprogramierbare Datenverarbeitungsanordnung mit interner Programmierung und virtuellem Speicher | |
DE2055716A1 (de) | Datenverarbeitungssystem zur gleich zeitigen Verarbeitung mehrerer Programme | |
DE69731998T2 (de) | Informationsverarbeitungsvorrichtung und Verfahren | |
DE2417795C2 (de) | Datenverarbeitungsanlage | |
DE1931966C3 (de) | Datenverarbeitungsanlage mit Assoziativspeichern | |
DE2243956A1 (de) | Speicherprogrammierte datenverarbeitungsanlage | |
DE2459675A1 (de) | Datenverarbeitungssystem | |
DE2806024A1 (de) | Speichersystem mit fehlerfeststell- und korrekturmoeglichkeit | |
DE1499200B2 (de) | Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung | |
DE2459956A1 (de) | Prozessor und diesen verwendendes peripheres verarbeitungssystem | |
DE2847934A1 (de) | Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher | |
DE2813128A1 (de) | Mikroprogrammspeicher | |
DE2806045A1 (de) | Dv-system mit pufferspeicher | |
DE69133571T2 (de) | Datenprozessor mit der Fähigkeit, zwei Befehle gleichzeitig auszuführen | |
DE2612139A1 (de) | Ein/ausgang-steuerungssystem | |
DE1524102B2 (de) | Elektronische, aus baueinheiten aufgebaute datenverarbeitungsmaschine | |
DE2717976A1 (de) | Computer mit einer anordnung zur veraenderung der arbeitsumgebung des computers | |
DE2801610A1 (de) | Verfahren zum definieren von anfangswerten fuer die textverarbeitung | |
DE2721623A1 (de) | System zur bearbeitung eines zielsystemprogrammes | |
DE2401364A1 (de) | Datenverarbeitungssystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8139 | Disposal/non-payment of the annual fee |