DE2460011C2 - Datenverarbeitungsanlage mit einer E/A-Emulatorfunktion - Google Patents

Datenverarbeitungsanlage mit einer E/A-Emulatorfunktion

Info

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
Application number
DE2460011A
Other languages
English (en)
Other versions
DE2460011A1 (de
Inventor
David Otto Lewis
Thomas Howard Miller
Steven Aloi Rochester Minn. Schmitt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2460011A1 publication Critical patent/DE2460011A1/de
Application granted granted Critical
Publication of DE2460011C2 publication Critical patent/DE2460011C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/105Program 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)

Patentansprüche:
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
DE2460011A 1973-12-26 1974-12-19 Datenverarbeitungsanlage mit einer E/A-Emulatorfunktion Expired DE2460011C2 (de)

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)

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

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

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