DE2460011C2 - Datenverarbeitungsanlage mit einer E/A-Emulatorfunktion - Google Patents
Datenverarbeitungsanlage mit einer E/A-EmulatorfunktionInfo
- Publication number
- DE2460011C2 DE2460011C2 DE2460011A DE2460011A DE2460011C2 DE 2460011 C2 DE2460011 C2 DE 2460011C2 DE 2460011 A DE2460011 A DE 2460011A DE 2460011 A DE2460011 A DE 2460011A DE 2460011 C2 DE2460011 C2 DE 2460011C2
- Authority
- DE
- Germany
- Prior art keywords
- signal
- block
- unit
- output
- 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.)
- Expired
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
Description
Die Erfindung betrifft eine Datenverarbeitungsanlage nach dem Oberbegriff des Patentanspruchs 1.
Die Erfindung findet besondere Anwendung beim Anschluß von andersartigen E/A-Geräten oder solchen
mit höherer Leistung an ein Rechnersystem und deren Betrieb mit Programmen, die für Einheiten mit
niedrigerer Leistung benutzt wurden, die nicht länger mehr an das System angeschlossen sind oder für den
Betrieb mit an das System angeschlossenen E/A-Geräten, die aber im Moment zum Betrieb nicht zur
Verfügung stehen, weil sie vorübergehend nicht betriebsbereit sind.
Rechnersysteme sind ursprünglich auf den Betrieb eines bestimmten Satzes peripherer E/A-Einheiten
ausgelegt. Wenn dann E/A-Einheiten mit höherer Leistung entwickelt werden, können sie ebenfalls an das
System angeschlossen werden. In einigen Fällen haben diese E/A-Einheiten mit höherer Leistung jedoch eine
solche Charakteristik, daß sie eine Programmierung erforderlich machen, die sich von der Programmierung
unterscheidet, die für die bereits angeschlossene» Einheiten benötigt wurde. Neue Programme werden
natürlich für die neu angeschlossenen E/A-Einheiten geschrieben, es ist jedoch auch manchmal erwünscht, die
neu angeschlossenen E/A-Einheiten anstelle einiger ursprünglich angeschlossener E/A-Einheiten mit denselben
für letztere benutzten Programmen zu betreiben.
Außerdem ist aus dem Honeywell Computer Journal Vol. 6, 1972, Nr. 4, Seiten 287 bis 297 unter dem Titel
»Emulation: A Survey« von E. G. Mallach die Emulation mittels Hardware und Software sowie mittels Hilfsprozessoren,
insbesondere die Emulation von E/A-Einheiten einer Datenverarbeitungsanlage bekannt. Datenverarbeitungsanlagen
mit E/A-Geräten, die eine völlig verschiedene Charakteristik aufweisen, sind in diesem
Artikel jedoch nicht behandelt.
Außerdem ist durch die US-PS 36 75 214 eine Datenverarbeitungsanlage bekannt, die E/A-Geräte
aufweist, die Programmunterbrechungssignale an die jeweilige Zentraleinheit abgeben, wodurch unterschiedliche,
für die jeweiligen E/A-Geräte vorgesehene Programme zum Ablauf gebracht werden. Eine
Anpassung von E/A-Geräten mit völlig verschiedener Charakteristik ist jedoch auch hier nicht beschrieben.
Der Erfindung liegt deshalb die Aufgabe zugrunde, eine Datenverarbeitungsanlage mit Anpassungsschaltungen
zu schaffen, die es ermöglichen, daß E/A-Geräte mit völlig verschiedener Charakteristik von den in der
Zentraleinheit gespeicherten Ein-/Ausgabe-Programmen
bedient werden können.
Die Lösung ist im kennzeichnenden Teil des Patentanspruchs 1 charakterisiert. Weitere Ausgestaltungen
ergeben sich aus den Kennzeichen der Patentansprüche 2 und 3.
Bisher hatte man in der Praxis einen E/A-Gerüteanschluß,
der nur auf Befehle ansprach, die von einem Programm speziell für das angeschlossene E/A-Gerät
erzeugt wurden. Das jeweilige E/A-Gerät hat nicht auf
Befehle reagiert, die von einem Programm zum Betrieb
eines E/A-Gerätes mit anderer Charakteristik erzeugt wurden. Die Kosten der Neuprogrammierung oder die
Neukonstruktion von E/A-Steuereinheiten bzw. die Simulation sind entweder zeitaufwendig oder konstruktivaufwendig.
Die vorliegende Erfindung ermöglicht hingegen die Benutzung von Hochleistungs-E/A-Geräten,
anstelle von E/A-Geräten mit niedriger Leistung, ohne daß dabei hohe Kosten verursacht wurden. Die
Hauptvorteile der vorliegenden Datenverarbeitungsan- i<> lage liegen darin, daß sie einmal sehr preiswert ist, zum
anderen den Betrieb eines E/A-Geräts durch darauf zugeschnittene und nicht darauf zugeschnittene Programme
ermöglicht, und zum weiteren die Emulation ausführt, nachdem der Befehl für das zu emulierende
E/A-Gerät ausgeführt wurde.
Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und werden anschließend
näher beschrieben. Es zeigt
Fig. 1 ein Blockdiagramm der Datenverarbeitungsanlage,
F i g. 2 in einem Logikschema die zusätzliche E/A-Ansehlußeinheit
und
Fig.3a—3g zusammen ein Ablaufdiagrm-nm der
Schritte bei der Emulation einer nicht angeschlossenen E/A-Einheit.
Das allgemeine Konzept der vorliegenden Erfindung ist der Betrieb eines E/A-Gerätes mit eigener
Charakteristik unter Steuerung von zwei verschiedenen Programmen. Ein Programm dient dem Betrieb des Jo
E/A-Gerätes, das eine andere Charakteristik hat als ein angeschlossenes E/A-GeräL Das andere Programm
dient dem Betrieb eines E/A-Gerätes mit der Charakteristik des angeschlossenen E/A-Gerätes. Die durch das
Programm erzeugten Befehle für das E/A-Gerät mit der unterschiedlichen Charakteristik werden ausgegeben
und ausgeführt, als wenn dieses E/A-Gerät an das System angeschlossen wäre. Ein zusätzlicher E/A-Anschluß
spricht auf den ausgeführten Befehl an und gibt Signale an die zentrale Verarbeitungseinheit, als wenn
ein E/A-Gerät angeschlossen wäre. Das veranlaßt die zentrale Verarbeitungseinheit zur Identifizierung des
abgegebenen Befehls und Übersetzung des Befehls in eine Form, in der das an das System angeschlossene
E/A-Gerät betrieben werden kann. Das an das System <S5
angeschlossene Gerät führt die Operation aus und gibt eine Statusinformation an die zentra'e Verarbeitungseinheit zurück. Die zentrale Verarbeitungbeinheit muß
erkennen, daß diese Statusinformation in eine Statusinformation des nicht an das System angeschlossenen
E/A-Gerätes umgewandelt werden muß. Nachdem die Statusinformation umgewandelt worden ist, setzt die
Datenverarbeitungsanlage ihren normalen Betrieb fort.
Die Datenverarbeitungsanlage nach F i g. 1 umfaßt einen Hauptspeicher 10 und eine Zentraleinheit 20, die
mit dem Hauptspeicher 10 durch die Sammelleitung 15 verbunden ist. Eine Datenausgangssammelleitung
(DBO)25 verbindet eine E/A-Einheit 40 mit der
Zentraleinheit 20 über eine E/A-Anschlußeinheit 30.
Steuersignale werden von der Zentraleinheit 20 über die Sammelleitung 45 an die E/A-Anschlußeinheit 30
und von dort an die Zentraleinheit 20 über die Sammelleitung 50 zurückgesendet. Daten werden von
der E/A-Einheit 30 »n die Zentraleinheit 20 über die
Dateneingangssammelleitung (DBI)55 gesendet. Normalerweise gehören zürn Computersystem weitere
E/A-Einheiten, sie sine' jedoch der Klarheit halber nicht
dargestellt.
In dieser Erfindung wird die E/A-Einheit 40 unter
Steuerung der Zentraleinheit 20 betrieben, die Programme für eine E/A-Einheit einer anderen Art ausführt, die
nicht an das Computersystem angeschlossen ist Die Zentraleinheit 20 führt die Befehle für die nicht an das
System angeschlossene E/A-Einheit so aus, als ob diese an das System angeschlossen wäre. Die zusätzliche
Anschlußeinheit 60 reagiert auf den ausgeführten Befehl durch Abgabe von Signalen an die Zentraleinheit auf
der Sammelleitung 50.
Die zusätzliche Anschlußeinheit 60 ist i m einzelnen in Fig.2 gezeigt und enthält ein ODER-Glied 61 zum
Empfang der Signale LIO, SIO, TIO und SNS von der Zentraleinheit 20 über die Sammelleitung 45. Die
Signale LIO, SIO, TIO, SNS werden erzeugt, wenn die Zentraleinheit 20 entsprechende Befehle ausführt.
Dabei bedeuten:
LIO = E/A-Ladebefehl
SIO = E/A-Startbefehl
TIO = E/A-Prüfbefehl
SNS= E/A-Abfragebefehl
Der Ausgang des ODER-Gliedes 61 ist mit einem Eingang des UND-Gliedes 62 verbunden, welches auch
Eingänge zum Empfang von /Q-Zyklussignalen, einem
Taktsignal CLK-6, dem Ausgang des UND-Gliedes 63 und dem Ausgang des ODER-Gliedes 86 hat Wenn die
Eingangsbedingungen zum UND-Glied 62 erfüllt sind, wird der Signalspeicher 70 gesetzt Der Signalspeicher
70 wird für verschiedene Zwecke benutzt einschließlich der Erzeugung des DßAParitätssignales, des Unterbrechungsanforderungssignales,
des E/A-Bedingungssignales A und des E/A-Bedingungssignales B.
Das UND-Glied 63 und der Inverter 64 decodieren die Einheitenadresse. Eine gültige Adresse für die
zusätzliche Anschlußeinh-zit 60 ist in diesem Fall
dieselbe Adresse, die für die nicht an das System angeschlossene E/A-Einheit benutzt wird, d. h. in diesem
Falle ein IBM 5444-Plattenspeicherantrieb. Die Einheitenadresse
für dieses E/A-Gerät ist ein hexadezimales A oder B, d.h. 1010 oder 1011. Das letzte Bit der
Einheitenadresse bezeichnet den Plattenantrieb i oder 2. Die Bits 0, I und 2 der Einheitenadresse im <?-Byte
kommen vom Register 100, welches von derüatensammelleitung
DBO25 geladen wurde. Die BitsO und 2
werden an das UND-Glied 63 und das Bit 1 an den Inverter 64 angelegt.
Die Inverter 75, 76, 77, die UND-Glieder 78, 79, 80, 81,82,83 und 84 und das ODER-Glied 86 stellen fest, ob
die N-Bhs des Q-Byie gültig sind. Das Q-Byte wird über
die DBO25 unter Steuerung des UND-Gliedes 92, welches ein DBO- Prüfsignal und ein Taktsignal CLK-5
empfängt, in das Register 100 geladen. Die Bits 5,6 und 7 des Registers 100 steuern zusammen mit den Invertern
75, 76 und 77 die UND-Glieder 78 bis 84 einschließlich und diese wiederum geben Eingänge über das
ODER-Glied 86 zum UND-Glied 62. Von der Zentraleinheit 20 werden über die Sammelleitung 45 das
/Q-Zyklussignal und das Taktsignal CLK-6 an das
UND-Glied 62 angelegt.
Der unter Steuerung des UND-Gliedes 62 gesetzte Signalspeicher 70 wird unter Steuerung des CDER-Gliedes
68 zurückgestellt. Das ODER-Glied 68 wird durch das ODER-Glied 65 an das UND-Glied 67
gespeist. Das UND-Glied 65 empfängt ein Prüfrückstellsignal (CHK) und ein Systemrückstellsignal (S\S).
Das UND-Glied 67 wird durch ein Taktsignal CLK-I
vorbereitet und empfängt die Ausgabe des ODER-Gliedes 66, welches wiederum ein /Λ-Zyklussignal und ein
EB-Zyklussignal empfängt.
Mit der Ausgabe des Signalspeichers 70 im gesetzten Zustand wird der Dß/-Paritätssignalspeicher % über
das UND-Glied 90 gesetzt. Das UND-Glied 90 wird durch ein SA/S-Signal, ein CLAf-I-Taktsignal und ein
Ausgabesignal vom ODER-Glied 69 vorbereitet. Das ODER-Glied 69 empfängt ein Eß-Zyklussignal. Der
DS/-Paritätssignalspeicher % wird unter Steuerung des
ODER-Gliedes 93 zurückgestellt, welches Eingänge zum Empfang der Ausgabe des ODER-Gliedes 65 und
der Ausgabe des UND-Gliedes 91 hat. Das UND-Glied 91 empfängt ein DBO-Prüfsignal und ein Taktsignal
CLK-3.
Die Ausgabe des Signalspeichers 70 im gesetzten Zustand wird auch an den Trigger 97 angelegt. Wenn
dieser geschaltet ist, entwickelt er ein Unterbrechungsanforderungssigria!
über das UND-Glied 99. welche
durch das Unterbrechungsabfragesignal (INTPOLL)
von der Zentraleinheit 20 über die Sammelleitung 45 vorbereitet ist.
Wenn das E/A-Bedingungssignal B vorhanden ist,
zeigt es an, daß die adressierte E/A-Einheit vorhanden oder an das System angeschlossen ist. Das E/A-Bedingungssignal
B ist vorhanden, wenn die Verriegelung 98 gesetzt ist. Sie wird gesetzt unter Steuerung des
UND-Gliedes 94. welches die Ausgabe des Sigralspeichers 70 und ein /Q-Zyklussignal empfängt. Der
Signalspeicher 98 wird unter Steuerung des ODER-Gliedes 95 zurückgestellt, welches ein Taktsignal CLK-O
und ein Signal von der Ausgabe des ODER-Gliedes 65 empfängt.
Die Ausgabe des UND-Gliedes 94 bildet auch einen Eingang zum UND-Glied 103 zwecks Entwicklung des
E/A-Bedingungssignales A. Das E/A-Bedingungssignal A ist nur mit dem E/A-Bedingungssignal B vorhanden.
Wenn beide Signale vorhanden sind, wird dadurch eine Paritätsfehlerbedingung angezeigt. Das UND-Glied 103
empfängt nicht nur einen Eingang vom UND-Glied 94. sondern auch einen Eingang vom ODER-Glied 102. Das
ODER-Glied 102 vergleicht das vom Paritätsgenerator 101 erzeugte Paritätssignal mit dem Paritätssignal vom
Register 100. Das Antivalenzglied 102 hat somit kein Ausgangssignal, wenn eine richtige Parität vorliegt,
liefert jedoch ein Signal an das UND-Glied 103, wenn eine falsche Parität vorhanden ist.
Die Ausgangssignale von den Signalspeichern % und 98 und den UND-Gliedern 99 und 103 werden über die
Sammelleitung 50 an die Zentraleinheit 20 geleitet. Aus den obigen Ausführungen geht hervor, daß die
zusätzliche Anschlußeinheit 60 die richtigen Antwortsignaie liefert, wenn die befehle LIO. SIO. TlO und SNS
vom Plattenspeicherantrieb IBM 5444 ausgeführt wurden.
Das Unterbrechungsanforderungssignal der zusätzlichen
Anschlußeinheit wird durch die Zentraleinheit 20 in der in F i g. 3 gezeigten Art verarbeitet Zu Beginn der
Unterbrechung unterbricht die Zentraleinheit 20 die Ausführung weiterer Befehle, die durch das Befehlsadreßregister, des unterbrochenen Programmes bezeichnet
sind, und geht zur Ausführung der Befehle über, die durch das Befehlsadreßregister des unterbrechenden
Programmes bezeichnet sind. Das Befehlsadreßregister des unterbrochenen Programmes und das
Adreß-Wiederaufrufregister bleiben intakt. Das unterbrechende
Programm speichert den Inhalt des Indexregisters, des Programmstatusregisters und des Registers
der Programmstufe I1 wie es durch den Block 110 der
F i g. 3a dargestellt ist. Der Inhalt des Hauptprogramm-B'äfehlsadreßregisters
wird um 1 heruntergesetzt und zeigt auf das letzte Byte des Feldes. Dieser Vorgang ist
durch den Block 111 dargestellt. Die letzten vier Bytes
des Befehlsstromes des Hauptprogrammes werden gespeichert. Dieser Vorgang ist durch Block 112
dargestellt.
Mit einer Prüfung wird dann festgestellt, ob der
ίο ausgeführte Befehl ein 5/O-Befehl war. Diese Prüfung
isc durch den Block 113 dargestellt und wenn es sich tatsächlich um einen S/O-Befehl handelte, wird weiterhin
festgestellt, ob die E/A-Einheit belegt ist. Diese Prüfung ist durch den Block 138 dargestellt. Wenn die
ü E/A-Einheit belegt ist, wird das Register um drei Stellen
heruntergezählt, weil der 5/O-Befehl neu ausgeführt
wurden muß. Dieser Vorgang ist durch Block 145 dargestellt. Der dem Block 145 folgende Vorgang ist
verschiedenen Blocks gemeinsam und wird spater beschrieben.
Wenn die E/A-Einheit 40 nicht belegt ist, wird die Abfragestatusinformation für die nicht angeschlossene
E>A-Einheit, d.h. für den Plattenspeicher IBM 5444
zurückgestellt, gemäß Darstellung durch den Block U9
-'5 Dur Block 140 zeigt eine Prüfung, mit der festgestellt
wird, ob der S/O-Befehl ein S/O-Nacheichbefehl war. Ist
das der Fall, werden Zylinder- und Kopfadresse für die n;.i:ht '.'(!geschlossene E/A-Einheit nach Darstellung im
Bl Dck 141 auf 0 gesetzt. Als nächstes wird der übersetzte
ίο Zylinder in den Anfangspunkt für die angeschlossene
E/A-Einheit 40 gemäß Darstellung durch Block 142 gesetzt, d.h. der Zylinder Oder nicht angeschlossenen
Ei'A-Einheit entspricht einem Zylinder X, der angeschlossenen
E/A-Einheit. Anschließend wird der Zylind'»r O für die nicht angeschlossene E/A-Einheit in den
Zy inder X für die angeschlossene E/A-Einheit umgesetzt und diese Daten im Speicher 10 gemäß Darstellung
durch den Block 143 gespeichert. Es foigt eine Abgabe eines 5/O-Befehles an die angeschlossene E/A-Einheit
■»o 4:X um sie neu zu eichen, nach Darstellung gemäß Block
IM.
Wenn der 5/O-Befehl kein Befehl zum Neueichen
w ar, wird mit einer Prüfung nach Darstellung durch den Block 146 festgestellt, ob es ein Suchbefehl war. Wenn
4=1 da:; der Fall war, werden die neue Zylinder- und
K.opfadresse für die nicht angeschlossene E/A-Einheit
g!:mäß Darstellung durch den Block 147 gespeichert. Diese neue Zylinder- und Kopfadresse wird wiederum
in eine neue Zyünder- und Kopfadresse für die
angeschlossene E/A-Einheit 40 umgesetzt, gemäß
Eiarsteülung durch den Block 148. Nach Dar teilung
durch den Block 149 wird das Steuerfeld für die E.'A-Einheit 40 eingestellt Mit einer Prüfung wird dann
festgestellt, ob der Suchbefehl für die nicht angeschlossene E'A-Einheit zu groß war. Diese Prüfung ist durch
den Block 150 dargestellt Wenn der Suchbefehl zu groß war, wird ein Anzeigebit für unvollständige Suche im
Abfrage-Statusbyte für die nicht angeschlossene E/A-Einheit gemäß Darstellung durch den Block 151,
auf 1 gesetzt und die Operation schaltet dann um zum Eilock 126, um das Programmstatusregister und die
Indexregister zurückzustellen. Dieser Schritt folgt auch
den oben beschriebenen Blocks 144 und 145 und ist diesen gemeinsam.
Wenn der Suchbefehl nicht so groß war, wird mit einer Prüfung, gemäß Darstellung durch den Block 152
festgestellt, ob die Suche über den Zylinder O
hinausgeht Wenn das der Fall ist wird ein Anzeigebit
Für unvollständige Suche in den Abfragestatusdaten für
die nicht angeschlossene E/A-Einheit eingeschaltet. Wenn der Suchbefehl nicht über den Zylinder
hinausgeht, wird ein L/O-Befehl für das Steuerfeld der angeschlossenen E/A-Einheit 40 abgegeben, wie es im
Block 153 dargestellt ist. Ein SIO Befehl für eine Suche wird dann an die E/A-Einheit 40, gemäß Darstellung
durch den Block 1S4 gegeben. Der Ausgang des Blockes
154 füh^t zu dem oben beschriebenen Block 126.
Wetin die, gemäß Block 146, durchgeführte Prüfung
zeigt, daß es sich bei dem Befehl nicht um einen 5/O-Suchbefehl handelte, wird mit einer weiteren
Prüfung festgestellt, ob es ein 5/O-/Z>Lesebefehl war.
Diese Prüfung ist durch den Block 155 dargestellt. Handelte es sich um einen solchen Befehl, dann werden
die gegenwärtige Zylinder- und Kopfadresse für die nicht angeschlossene E/A-Einheit in das Steuerfeld für
diese nicht angeschlossene E/A-Einheit geschoben. Dargestellt ist dieser Vorgang durch den Block 156. Eine
0 wird dann in das Kennzeichenbyte des Steuerfeldes für die nicht angeschlossene t/A·Einheit gemäß Darstellung
durch den Block 157 gesetzt. Der Ausgang des Blockes 157 führt zu dem vorher beschriebenen Block
126.
Handelte es sich bei dem Befehl nicht um einen 5/O/D-Lesebefehl, wird dann in der durch den Block
158 dargestellten Prüfung festgestellt, ob es sich um einen 5/O-Datenschreibbefehl handelte. Lag ein solcher
Befehl vor, wird das Steuerfeld für die nicht angeschlossene E/A-Einheit, in das Steuerfeld für die angeschlossene
E/A-Einheit übersetzt, d.h. den Plattenspeicher IBM 5445. Diese Übersetzungsoperation ist durch den
Block 159 dargestellt. Dann wird an das Steuerregister für die angeschlossene E/A-Einheit gemäß Darstellung
durch den Block 160. ein L/O-Kommando gegeben.
Anschließend folgt ein L/O-Kommando für das Datenfeld der nicht angeschlossenen E/A-Einheit an das
Datenregister für die angeschlossene E/A-Einheit nach Darstellung gemäß Block 181. Darauf wird an die
angeschlossene E/A-Einheit gemäß Block 162, ein SIO- Datenschreibbefehl gegeben und darauffolgend
das Abfragebelegungsbit für die nicht angeschlossene E/A-Einhei; nach Darstellung im Block 163 gesetzt. Der
Ausgang des Blockes 163 führt zu dem oben beschriebenen Block 126. «
Wenn kein SIO- Datenschreibbefehl vorlag, wird mit
einer Prüfung festgestellt, ob es ein SIO- Datenlesebefehl war. Diese Prüfung wird durch den Block 164
wiedergegeben. Wenn es ein S/O-Datenlesebefehl war,
wird das Steuerfeld der nicht angeschlossenen E/A-Ein- χ
heit in das Steuerfeld für die angeschlossene E/A-Einheit nach Wiedergabe durch den Block 165 übersetzt.
Wie im Block 166 zu sehen ist, wird dann ein L/O-Befehl
des Steuerfeldes der angeschlossenen E/A-Einheit an das Steuerregister für die angeschlossene E/A-Einheit
gegeben. Dem folgt die Abgabe eines L/O-Befehles des
Datenfeldes der nicht angeschlossenen E/A-Einheit an das Datenregister der angesrhlossenen E/A-Einheit
gemäß Darstellung des Blockes 167. Der nächste Schritt besteht in der Abgabe eines S/O-Datenlesebefehles an
die angeschlossene E/A-Einheit nach Darstellung im Block 168. Das Abfragebelegungsbit für die nicht
angeschlossene E/A-Einheit wird dann nach Darstellung im Block 163 auf 1 gesetzt
Wenn die Prüfung auf ein S/O-Dateniesekommando
im Block 164 negativ verlief, wird geprüft, ob der Befehl ein Datenabtastbefehi war. Diese Prüfung erfolgt im
Block 169. Wenn der Befehl ein Datenabtastbefehi war, wird das Steuerfeld der nicht angeschlossenen E/A-Einheit
in das Steuerfeld der angeschlossenen E/A-Einheit übersetzt. Dieser Vorgang ist dargestellt in Block 170.
Ein L/O-Befehl des Steuerfeldes der angeschlossenen E/A-Einheit wird dann an das Steuerregister der
angeschlossenen E/A-Einheit, gemäß Darstellung im Block 171 gegeben. Danach wird ein L/O-Befehl des
Datenfeldes der nicht angeschlossenen E/A-Einheit an das Datenregister für die angeschlossene E/A-Einheit
gegeben, wie aus dem Block 172 zu ersehen ist. Anschließend wird ein 5/O-Datenabtastbefehl an die
angeschlossene E/A-Einheit nach Darstellung im Block 173 gegeben. Anschließend wird das Belegungsabfragebit
für die nicht angeschlossene E/A-Einheit eingeschaltet,
wie durch den Block 163 dargestellt ist. Wenn es sich nicht um einen Datenabtastbefehi handelte, läuft die
Operation zum vorher beschriebenen Block 126 weiter.
Wenn die durch den Block 113 dargestellte Prüfung ergibt, daß es sich nicht um einen S/O-Befehl handelt,
wird im Block 114 geprüft, ob ein SNS-Befehl vorliegt.
Handelt es sich um einen S/VS-Befehl, werden die
Abfragedaten für die nicht angeschlossene E/A-Einheit, d. h. die 5444, die die übersetzten Abfragedaten für die
5445 sind, in der Abfrageadreßposition im Hauptspeicher 10 gespeichert. Dieser Vorgang ist dargestellt
durch den Block 128. Mit einer Prüfung wird dann festgestellt, ob das Abfragebyte 0 abgefragt wurde.
Diese Prüfung ist durch den Block 129 dargestellt. Während das Abfragebyte 0 abgefragt wurde, wird das
Abfragebit NuIl-Op für die nicht angeschlossene Einheit, d. h. die 5444, ausgeschaltet. Dieser Vorgang ist
dargestellt durch den Block 130. Die Ausgänge der Blocks 129 und 130 sind zu dem oben beschriebenen
Block 126 geführt.
Wenn es sich bei dem Befehl nicht um einen 5/VS-Befehl handelt, wird im Block 115 mit einer
Prüfung festgestellt, ob es ein L/O-Befehl war. Wenn ein
L/O-Befehl vorlag, werden durch den Block 118 die in
das Datenregister zu setzenden Adreßdaten abgerufen. Mit einer im Block 119 dargestellten Prüfung wird dann
festgestellt, ob die angeschlossene E/A-Einheit, d. h. die 5445, belegt ist. Wenn die angeschlossene E/A-Einheit
nicht belegt ist, wird gemäß Darstellung durch den Block 121 das Belegungsabfragebit für die nicht
angeschlossene E/A-Einheit, d. h. die 5444, ausgeschaltet Mit einer Prüfung wird dann im Block 122
festgestellt, ob ein L/O-Befehl an das Steuerregister
gegeben werden sollte. Wenn ein L/O-Befehl an das Steuerregister gegeben werden muß, wird die LlO-Adresse
im Steuerregister für die angeschlossene E/A-Einheit, also die 5445 gespeichert Dieser Vorgang
ist dargestellt im Block 125. Wenn andererseits kein L/O-Befehl an das Steuerregister zu geben ist, wird mit
einer im Block 123 dargestellten Prüfung festgestellt, ob der L/O-Befehl an das Datenregister gegeben werden
sollte. Wenn der L/O-Befehl nicht an das Datenregister
gegeben worden war, schaltet die Operation auf den vorher beschriebenen Block 126 um. Wenn jedoch der
L/O-Befehl an das Datenregister zu geben ist, wird die
Adresse für den L/O-Befehl im Datenregister für die angeschlossene E/A-Einheit 5445 gespeichert Das ist
dargestellt im Block 124. Die Operation schaltet dann zum vorher beschriebenen Block 126 um.
Wenn die angeschlossene E/A-Einheit 5445 belegt ist wird die Adresse des ersten Byte des L/O-Befehles in
das Haupt-Befehlsadreß-Register gesetzt dargestellt durch Block 120, und die Operation schaltet dann zum
vorher beschriebenen Block 126 um.
Wenn der Block 115 anzeigt, daß es sich nicht um einen L/O-Befehl handelte, wird im Block 116 mit einer
Prüfung festgestellt, ob es sich um einen T/OBefehl handelte. Ist das der Fall, wird das Fehlerstatusbit der
Datensteuereinheit FCU gemäß Darstellung durch den Block 117 gesetzt und die Operation schaltet dann zum
vorher beschriebenen Block 126 um. Handelte es sich jedoch um einen Γ/OBefehl, so wird im Block 131 mit
einer Prüfung festgestellt, ob es ein Γ/O-Fehlerbefehl
war. Wenn das der Fall ist, wird im Block 132 mit einer weiteren Prüfung festgestellt, ob das Fehlerbit in dem
Abfragestatusbyte der nicht angeschlossenen E/A-Einheit gesetzt ist. Wenn das nicht der Fall ist, schaltet die
Operation zum vorher beschriebenen Block 126. Wenn das Fehlerbit jedoch gesetzt ist, wird das Hauptbefehls- '5
Adreßregister mit einer TIO- Verzweigungsadresse gemäß Darstellung durch den Block 133 geladen und die
Operation schaltet dann zum vorher beschriebenen Block 126.
Wenn der Befehl kein TIO-Kehlerbefehl war, wird w
gemäß Darstellung durch den Block 134 in einer weiteren Prüfung festgestellt, ob es sich um einen
TlO-Belegungssuchbefehl handelte. Lag ein solcher
Befehl vor, wird in einer weiteren durch den Block 135 dargestellten Prüfung festgestellt, ob das Belegungsbit
des Abfragebyte für die nicht angeschlossene E/A-Einheit gesetzt ist. Wenn das Bit gesetzt ist, wird das
Hauptbefehls-'Sdreßregister mit der T/O-Verzweigungsadresse,
gemäß Darstellung durch den oben beschriebenen Block 133 geladen und die Operation
schaltet dann zum vorher beschriebenen Block 126. Wenn das Belegungsbit nicht gesetzt ist, schaltet die
Operation direkt zum vorher beschriebenen Block 126.
Handelte es sich bei dem Befehl nicht um einen TIO- Belegungssuchbefehl wird in einer weiteren im
Block 136 dargestellten Prüfung festgestellt, ob es sich um einen T/O-Belegungsbefehl handelt. Ist es ein
solcher Befehl, wird in einer im Block 137 gezeigten Prüfung festgestellt, ob das Belegungsbit des für die
nicht angeschlossene E/A-Einheit gesetzt ist. Ist das Bit gesetzt, wird das Hauptbefehls-Adreßregister mit einer
TIO-Verzweigungsadresse geladen, dargestellt im vorher beschriebenen Block 133. Wenn andererseits uiis
Belegungsbit im Abfragebyte für die nicht angeschlossene E/A-Einheit nicht gesetzt war, schaltet die Operation
direkt zum vorher beschriebenen Block i26.
Wie bereits gesagt wurde, stellt der Block 126 das
Programmstatusregister BSR und die Indexregister zurück. Anschließend wird die Unterbrechung:stufe
gemäß Darstellung durch den Block 127 freigegeben und die Operation kehrt zum Hauptprogramm zurück.
Hierzu 8 Blatt Zeichnungen
Claims (3)
1. Datenverarbeitungsanlage mit einer E/A-Anschlußeinheit,
die einerseits mit einer Zentraleinheit über deren E/A-Sammelleitungen verbunden ist, und
an die andererseits jeweils ein E/A-Gerät einer ersten oder einer zweiten Art anschließbar ist, wobei
die Eingabe und Ausgabe betreffende Programme für die erste Art von E/A-Geräten vorgesehen sind
und mittels eines Emulators in Programme für die E/A-Geräte der zweiten Art umgewandelt werden,
dadurch gekennzeichnet, daß eine zusätzliche E/A-Anschlußeinheit (60) vorgesehen ist,
welche wie die E/A-Anschlußeinheit (30) an die Sammelleitungen (25,45,50) der Zentraleinheit (20)
angeschlossen ist und auf E/A-Programmbefehle, die an ein E/A-Gerät der zweiten Art gerichtet sind, so
reagiert, daß sie ein Programmunterbrechungssignal an die Zentraleinheit (20) sendet, die daraufhin die
Emulation der jeweiligen E/A-Programmbefehle durchfOk,^ und sie an das E/A-Gerät (40) der
zweiten Art über die E/A-Anschlußeinheit (30) sendet.
2. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß die zusätzliche
E/A-Anschlußeinheit (60) aus einem ODER-Glied (61) besteht, das Signale (UO, SIO, TIO und SNS)
über die Sammelleitung (45) von der Zentraleinheit (20) erhält, daß der Ausgang dieses ODER-Gliedes
(61) mit einem Eingang eines UND-Gliedes (62) verbunden ist, dessen anderen Eingängen ein
Instruktionb<ryklus-Steuersignal (IQCYC) und ein
Taktsignal (CLK-G) zugeführt werden und das außerdem mit dem Aufgang eines UND-Gliedes (63)
sowie dem Ausgang eines ODER-Gliedes (86) verbunden sind, daß bei Anliegen aller Eingangssignale
an diesem UND-Glied (62) ein nachgeschalteter Signalspeicher (70) gesetzt wird, daß das
UND-Glied (63) und ein Inverter (64), der dem UND-Glied (63) vorgeschaltet ist, die
Eingabe-/Ausgabegeräteadresse decodieren, deren Bits von einem Register (100) geliefert werden, das
über die Datenausgangssammelleitung (25) von der Zentraleinheit (20) geladen wird, daß Inverter
(75—77) sowie nachgeschaltete UND-Glieder (78—84) und das diesen UND-Gliedern nachgeschaltete
ODER-Glied (86) feststellen, ob die anliegenden Bits gültig sind, daß der gesetzte
Signalspeicher (70) unter Steuerung eines ODER-Gliedes (68) zurückgestellt wird, das seinerseits von so
einem logischen Netzwerk (65 bis 67) gesteuert wird und daß mit dem Ausgangssignal des gesetzten
Signalspeichers (70) ein Paritätssignalspeicher (96) über ein UND-Glied (90) gesetzt wird und daß
außerdem von diesem Ausgangssignal ein Trigger (97) geschaltet wird, wodurch ein Unterbrechungsanforderungssignal
erzeugt wird, das auf einen Eingang eines UND-Gliedes (99) gelangt, dessen anderer Eingang mit einem Unterbrechungs; bfragesignal
von der Zentraleinheit (20) über die Sammelleitung (45) vorbereitet ist, und daß bei
Vorhandensein eines Eingabe-/Bedingungssignals (B) angezeigt wird, daß das adressierte Eingabe-/
Ausgabegerät angeschlossen ist und daß bei Vorhandensein eines weiteren Eingabe-/Ausgabebedingungssignals
(A) eine Paritätsfehlerbedingung angezeigt wird.
3. Datenverarbeitungsanlage nach Anspruch 2,
dadurch gekennzeichnet, daß das Eingabe-/Ausgabebedingungssignal
(Β)άζηη vorhanden ist, wenn ein
Signalspeicher (98) gesetzt ist, der seine Steuersignale vom Ausgang eines UND-Gliedes (94) bekommt,
das seinerseits mit dem Signalspeicher (70) und einem Zyklussignal (IQ CYQbeaufschlagt ist
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/428,633 US3938101A (en) | 1973-12-26 | 1973-12-26 | Computer system with post execution I/O emulation |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2460011A1 DE2460011A1 (de) | 1975-07-10 |
DE2460011C2 true DE2460011C2 (de) | 1983-11-10 |
Family
ID=23699734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2460011A Expired DE2460011C2 (de) | 1973-12-26 | 1974-12-19 | Datenverarbeitungsanlage mit einer E/A-Emulatorfunktion |
Country Status (7)
Country | Link |
---|---|
US (1) | US3938101A (de) |
JP (1) | JPS547665B2 (de) |
CA (1) | CA1024658A (de) |
DE (1) | DE2460011C2 (de) |
FR (1) | FR2279159A1 (de) |
GB (1) | GB1452847A (de) |
IT (1) | IT1027875B (de) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1505535A (en) * | 1974-10-30 | 1978-03-30 | Motorola Inc | Microprocessor system |
US4053950A (en) * | 1976-04-30 | 1977-10-11 | International Business Machines Corporation | Residual status reporting during chained cycle steal input/output operations |
JPS581454B2 (ja) * | 1978-03-27 | 1983-01-11 | 株式会社東芝 | 入出力制御方式 |
US4295205A (en) * | 1978-10-16 | 1981-10-13 | Kunstadt George H | Solid state mass memory system compatible with rotating disc memory equipment |
US4277827A (en) * | 1979-01-02 | 1981-07-07 | Texas Instruments Incorporated | Microprocessor based system for the development and emulation of programmable calculator control read only memory software |
US4484266A (en) * | 1981-12-11 | 1984-11-20 | The United States Of America As Represented By The Secretary Of The Navy | Externally specified index peripheral simulation system |
GB2146812A (en) * | 1983-09-19 | 1985-04-24 | Storage Technology Corp | Optical storage system |
US4727480A (en) * | 1984-07-09 | 1988-02-23 | Wang Laboratories, Inc. | Emulation of a data processing system |
FR2583181B1 (fr) * | 1985-06-06 | 1987-08-21 | Berbesson Michel | Procede et dispositif de gestion d'informations sur un dispositif de visualisation d'un ordinateur |
PH24865A (en) * | 1987-03-24 | 1990-12-26 | Ibm | Mode conversion of computer commands |
JPH0293725A (ja) * | 1988-09-29 | 1990-04-04 | Mitsubishi Electric Corp | 表示エミユレーシヨン装置 |
US5093776A (en) * | 1989-06-15 | 1992-03-03 | Wang Laboratories, Inc. | Information processing system emulation apparatus and method |
US5276811A (en) * | 1989-06-30 | 1994-01-04 | Icom, Inc. | Method for emulating programmable logic controller by exchanging information between debug program which emulates I/O devices and ladder logic program |
JPH0773046A (ja) * | 1992-12-07 | 1995-03-17 | Intel Corp | コンピュータシステムで回路をエミュレートする 方法及び装置 |
US5768598A (en) * | 1993-09-13 | 1998-06-16 | Intel Corporation | Method and apparatus for sharing hardward resources in a computer system |
US5526503A (en) * | 1993-10-06 | 1996-06-11 | Ast Research, Inc. | Virtual addressing buffer circuit |
US5799169A (en) * | 1995-10-02 | 1998-08-25 | Chromatic Research, Inc. | Emulated registers |
US6873948B1 (en) | 1998-05-21 | 2005-03-29 | Lsi Logic Corporation | Method and apparatus for emulating a device within a data processing system |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3374466A (en) * | 1965-05-10 | 1968-03-19 | Ibm | Data processing system |
US3593300A (en) * | 1967-11-13 | 1971-07-13 | Ibm | Arrangement for automatically selecting units for task executions in data processing systems |
US3544969A (en) * | 1967-11-27 | 1970-12-01 | Standard Computer Corp | Language independent computer |
US3675214A (en) * | 1970-07-17 | 1972-07-04 | Interdata Inc | Processor servicing external devices, real and simulated |
NL7013032A (de) * | 1970-09-03 | 1972-03-07 | ||
US3710328A (en) * | 1971-01-21 | 1973-01-09 | Honeywell Inf Systems | Method and apparatus for communicating devices each performing preprocessing operations on data autonomously of the central processor |
US3721961A (en) * | 1971-08-11 | 1973-03-20 | Ibm | Data processing subsystems |
-
1973
- 1973-12-26 US US05/428,633 patent/US3938101A/en not_active Expired - Lifetime
-
1974
- 1974-11-04 GB GB4751374A patent/GB1452847A/en not_active Expired
- 1974-11-15 FR FR7441650A patent/FR2279159A1/fr active Granted
- 1974-12-02 CA CA215,258A patent/CA1024658A/en not_active Expired
- 1974-12-06 JP JP13969174A patent/JPS547665B2/ja not_active Expired
- 1974-12-19 DE DE2460011A patent/DE2460011C2/de not_active Expired
- 1974-12-20 IT IT30799/74A patent/IT1027875B/it active
Also Published As
Publication number | Publication date |
---|---|
JPS547665B2 (de) | 1979-04-09 |
FR2279159B1 (de) | 1977-11-10 |
US3938101A (en) | 1976-02-10 |
FR2279159A1 (fr) | 1976-02-13 |
GB1452847A (en) | 1976-10-20 |
CA1024658A (en) | 1978-01-17 |
DE2460011A1 (de) | 1975-07-10 |
IT1027875B (it) | 1978-12-20 |
JPS5098751A (de) | 1975-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2460011C2 (de) | Datenverarbeitungsanlage mit einer E/A-Emulatorfunktion | |
DE19747396C2 (de) | Verfahren und Anordnung zur Schaffung einer Ferndiagnose für ein elektronisches System über ein Netz | |
EP0010198B1 (de) | Vorrichtung zur Steuerung des Seitenaustausches in einem Datenverarbeitungssystem mit virtuellem Speicher | |
DE1499722C2 (de) | Einrichtung zur Modifizierung von Informationswörtern | |
DE69720821T2 (de) | Fehlersuchsystem für Programme mit einer graphischen Benutzerschnittstelle | |
DE2948285C2 (de) | Adressensteuereinrichtung für einen Datenprozessor | |
EP0228480B1 (de) | Verfahren und Einrichtung zur Analyse von Steuerprogrammen | |
DE3833933C2 (de) | Informationsverarbeitungseinrichtung mit einer Adressenerweiterungsfunktion | |
DE1931966C3 (de) | Datenverarbeitungsanlage mit Assoziativspeichern | |
EP0014850B1 (de) | Einrichtung zur Erweiterung des Standard-Makroinstruktionssatzes in einer Datenverarbeitungsanlage | |
DE2458300A1 (de) | Datenverarbeitungssystem zur verarbeitung verschiedener datenformate | |
DE2714805A1 (de) | Datenverarbeitungssystem | |
CH617025A5 (de) | ||
DE2658864A1 (de) | Pruefsystem fuer eine mikroprogrammierte verarbeitungseinheit | |
DE2755616A1 (de) | Asymmetrischer multiprozessor | |
DE10101346A1 (de) | Dateikennzeichung und automatische Umsetzung von Daten oder Dateien | |
DE2721623A1 (de) | System zur bearbeitung eines zielsystemprogrammes | |
WO1999031584A1 (de) | Verfahren zum umsetzen eines systemaufrufs | |
DE2426874A1 (de) | Verfahren und schaltungsanordnung zur bestimmung der adressenart eines befehls | |
DE3421737C2 (de) | Vorrichtung zur Ermittlung einer Überlappung von Operanden | |
DE2702722C2 (de) | Einrichtung zur Verarbeitung nicht direkt ausführbarer Instruktionen | |
DE2245284C3 (de) | Datenverarbeitungsanlage | |
DE2654389C3 (de) | Wartungssteuerung mit Prozessor und Speicher zur Fehleranalyse und -diagnose für elektronische Datenverarbeitungsanlagen und Verfahren zu deren Betrieb | |
DE3037475A1 (de) | Schnittstellenschaltungsanordnung fuer eine datenverarbeitungsanlage | |
DE60010847T2 (de) | Verfahren zur Fehlerbeseitigung in einem Thread-Programm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OD | Request for examination | ||
8125 | Change of the main classification |
Ipc: G06F 11/30 |
|
8126 | Change of the secondary classification |
Ipc: G06F 9/44 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |