DE2148847A1 - Schaltungsanordnung zum Steueren peripherer Ein- und Ausgabegeraete von Datenverarbeitungssystem - Google Patents

Schaltungsanordnung zum Steueren peripherer Ein- und Ausgabegeraete von Datenverarbeitungssystem

Info

Publication number
DE2148847A1
DE2148847A1 DE19712148847 DE2148847A DE2148847A1 DE 2148847 A1 DE2148847 A1 DE 2148847A1 DE 19712148847 DE19712148847 DE 19712148847 DE 2148847 A DE2148847 A DE 2148847A DE 2148847 A1 DE2148847 A1 DE 2148847A1
Authority
DE
Germany
Prior art keywords
mpuy
mpux
mtu
stat
routine
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.)
Granted
Application number
DE19712148847
Other languages
English (en)
Other versions
DE2148847B2 (de
DE2148847C3 (de
Inventor
Irwin John William
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 DE2148847A1 publication Critical patent/DE2148847A1/de
Publication of DE2148847B2 publication Critical patent/DE2148847B2/de
Application granted granted Critical
Publication of DE2148847C3 publication Critical patent/DE2148847C3/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/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Description

Böblingen, 24. September 1971 ru-fr
Anraelderin: International Business Machines
Corporation, Armonk, w.Y. 10504
Aintl. Aktenzeichen; Neuanmeldung 2148847
Aktenzeichen der Anmelderin: Docket BO 970 012
Schaltungsanordnung zum Steuern peripherer Ein- und Ausgabegeräte von Datenverarbeitungssystem
Die Erfindung betrifft eine Schaltungsanordnung zur Steuerung von peripheren Ein- und Ausgabegeräten von Datenverarbeitungssystemen, die aus einer zentralen Verarbeitungseinheit, die Befehle ausführen kann und einem oder mehreren Hauptspeichern, der bzw. die über einen oder mehreren Datenkanäle verbunden ist bzw. sind, besteht und zur Steuerung der Ein- und Ausgabegeräte voneinander unabhängig arbeitende Steuereinheiten aufweist.
Steuereinrichtungen für periphere Ein- und Ausgabegeräte von Datenverarbeitungsanlagen, die zur Verbindung zwischen dem Hauptspeicher und den peripheren Geräten entweder ein oder mehrere Datenübertragungskanäle, teilweise auch als Multiplexkanäle ausgeführt, besitzen, sind bekannt. So ist durch die deutsche Auslegeschrift 1 106 533 eine Datenverarbeitungsanlage bekanntgeworden, bei der ein zentrales Verarbeitungsgerät für eine Vielzahl verschiedener, einzeln an dieses ihre Informationsleitungen anschließbare Ein- und Ausgabegeräte vorgesehen ist, die dadurch gekennzeichnet ist, daß zur besseren Ausnutzbarkeit der Betriebskapazität des Verarbeitungsgerätes eine elektronische Programmschaltung für die den einzelnen Ein- und Ausgabegeräten zugeordneten Programme vorgesehen ist, deren Steuerung von den Ein- und Ausgabegeräten aus jeweils bei Verbindung eines derselben mit dein Verarbeitungsgerät erfolgt. Obwohl hier bereits eine steuerbare Schaltungsanordnung gezeigt ist, hat diese jedoch den Nach-:
209815/1539
2U8847
teil, daß die zentrale Datenverarbeitungsanlage gezwungen v/ird, so lange zu warten, bis die Übertragung beendet ist, bevor sie im Rechenprogramra v/eiterfahren kann. Übertragungen zwischen zwei peripheren Geräten können außerdem nicht stattfinden, ohne daß die Angaben, die übertragen werden müssen, durch das zentrale Rechengerät hindurchgehen.
Ein weiteres Datenübertragungssystem ist durch die DAS 1 209 329 bekanntgeworden, das dadurch charakterisiert ist, daß die Bits in Zeilenform übertragen werden, daß das System ein Steuernetzwerk enthält, das zwischen die Datenbits weitere Bits einsetzt, die Zustandsbits darstellen und den Betriebszustand des Speichers definieren, so daß sich ein Serienbitstrom von vorgegebener Impulswiederholungsfrequenz ergibt, daß weiterhin an den Empfänger Schaltkreise angekoppelt sind, die Datenzeichen von den Zustandszeichen abtrennen, daß die Zustandszeichen von diesen Schaltkreisen einem weiteren Steuernetzwerk zuführbar sind, das dazu dient, den Rechnern den Betriebszustand des Speichers anzuzeigen, und das aufgrund von Signalen dieses Rechners, die ausgelöst werden, wenn der Rechner diese Zustandsanzeige empfangen hat, Befehlssignale erzeugt, durch die das Auslesen von Daten aus dem Speicher steuerbar ist und daß an dem zweiten Ort ein Sender vorgesehen ist, der die Befehlssignale an den Speicher im ersten Ort überträgt. Dieses System hat jedoch den Nachteil, daß die Daten nur rein seriell übertragen werden, daß die Übertragungsgeschwindigkeit relativ niedrig ist und daß durch das Vorhandensein der fest verdrahteten Steuerkreise keine Anpassung an die Belange verschiedener Ein- und Ausgabegeräte möglich ist.
Außerdem ist durch die deutsche Auslegeschrift 1 299 145 eine weitere Schaltungsanordnung zur Steuerung von Ein- und Ausgabeeinheiten bekanntgeworden, die dadurch charakterisiert ist, daß der Hauptdatenkanal mit einer Steuerschaltung verbunden ist, die ihrerseits zwecks Abruf von Kanalbefehlsworten mit dem Hauptspeicher und zwecks programmabhängiger Steuerung mit der zentra-
Docket BO 970 012 2 0 9 8 15/1539
2U8847
len Verarbeitungseinheit in zwei Richtungen verbunden ist und daß dem Hauptdatenkanal weitere Daten-Sub-Kanäle nachgeschaltet sind, die ebenfalls mit Steuereinheiten zur Steuerung jeweils einer Gruppe von peripheren Ein- und Ausgabegeräten verbunden sind, daß die Steuereinheiten ein Netzwerk aus Registern und Vergleichsschaltung enthalten,, die die jeweilige Einheitadresse mit den Adressen der ihr zugehörigen peripheren Ein- und Ausgabegeräte vergleichen und weitere Steuerworte vom Speicher für den Betrieb des jeweils ausgewählten peripheren Geräts anfordern. Obwohl hier eine Möglichkeit aufgezeigt ist, wie mehrere periphere Geräte gleichzeitig arbeiten können und die zentrale Datenverarbeitungsanlage außerdem im Programm fortfahren kann, benötigt diese Schaltungsanordnung jedoch einen erheblichen Schaltungsaufwand und Befehlsaufwand, so daß sie nicht für jeden Einsatz geschaffen ist.
Der Erfindung liegt deshalb die Aufgabe zugrunde, eine verbesserte Schaltungsanordnung zur Steuerung von Ein- und Ausgabegeräten zu schaffen, die mit möglichst wenig Aufwand an Schaltungsmitteln eine unabhängige Steuerung der Ein- und Ausgabegeräte unter der überwachenden Steuerung der zentralen Verarbeitungseinheit gestattet.
Die erfindungsgemäße Lösung der Aufgabe besteht nun darin, daß die Ein- und Ausgabesteuereinheit aus mehreren unabhängig voneinander zu betreibenden mikroproprogrammierbaren arithmetischlogischen Einheiten besteht, wovon jede einen eigenen Mikroprogrammspeicher mit eigenem Mikroprogramm und daran angeschlossenen Austauschregistern aufweist.
Dadurch daß jede Steuereinheit aus mehreren unabhängig voneinander mikroprogrammierbaren arithmetisch-logischen Einheiten besteht, die wiederum alle ihr eigenes Mikroprogramm leicht austauschbar besitzen, entsteht eine Flexibilität der Steuerschaltung, die es ermöglicht, eine Steuereinheit praktisch an jedes Ein- und Ausgabegerät ohne Änderung der Schaltung anzupassen.
Docket BO 970 O12 209815/1539
-A-
Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und wird anschließend näher beschrieben. Es zeigen:
Fig. 1 in einem vereinfachten Blockdiagramm eine allgemeine Anordnung eines E/A-Steuergerätes,
Fig. 2 ein vereinfachtes Blockdiagramm einer E/ASteuereinheit mit zwei mikroprogrammierbaren Einheiten (MPU's), die über je eine ALU begrenzte Kapazität verfügen,
Fig. 3 in einem vereinfachten Blockdiagramm eine MPU,
die sich in den in den Fign. 1 oder 2 gezeigten E/A-Steuereinheiten verwenden läßt,
Fig. 4 in einem vereinfachten Datenflußdiagramm die
übertragung von Signalen von einer E/A-Einheit an einen Kanal,
Fig. 5 ein vereinfachtes Datenflußdiagramm für den
Datenfluß vom Kanal zu einer E/A-Einheit,
Fig. 6 in einem vereinfachten Blockdiagramm den Daten-
' fluß unter Verwendung einer einfachen MPU mit
einer ALU,
Fig. 7 ein vereinfachtes Programmdiagramm für die
MPUX und die MPUY,
Fign. 8-32 gekürzte Darstellungen von Mikroroutinen
gemäß nachfolgender Tabelle, die in Fig. 7 erscheinen,
Fig. 8 IDLESCAN in MPUX,
Fig. 9 IDLESCAN in MPUY,
209815/1539
Docket BO 970 012
2H8847
Die Funktion der Unterbrechungsabtastung ist gezeigt in: Fig. IO - 14
MPUX-Mikroprogramme sind gezeigt in
Fig. 15 - 24
MPUY-Mikroprogramme sind gezeigt in
Fig. 25-36
Fig. 37 in einem vereinfachten Verknüpfungsdiagramm
die Beziehung zwischen Datenflußschaltungen und vom Mikroprogramm erzeugten Signalen für die Mikroverarbeitungseinheiten MPU's.
AUFSTELLUNG DER ABKÜRZUNGEN UND AKRONYME
ADDR Adresse,
ADDRO Adresse aus (ein Kommandosignal, welches angibt,
daß die Adreßsignale auf die Ausleitungen geleitet werden),
ADDRI Adresse ein (ein Kommandosignal auf INTFX,
welches sagt, daß Adreßsignale von CBI kommen),
A-DEPRIMES DEPRIMES aus der Tätigkeit des Kanales A resultierend ,
ALU Rechen- und Verknüpfungseinheit,
B-DEPRIMES DEPRIMES resultierend aus der Tätigkeit des
Kanales B,
BKDWD rückwärts, BOC bedingte Verzweigung, BOR Beginn der Aufzeichnung (bleibt während der
Gesamtheit der Aufzeichnungsrücklesesignalümhüllung aktiv),
BOT Bandanfang,
Docket BO 970 012 2 0 9 815/1539
BSTWAIT CBI
CHNL
CLEANGO
CLEANIT
CMD
CMDO
CMDPARl
CMDPARER
CMDRJT
CPU
CTI
Einpunktbetrieb, Warteroutine (MPüX), Kanalleitung Ein (Leitungen zur übertragung von Datensignalen von der E/A-Steuereinheit an die CPU über INTFX),
Kanalleitung Aus (Leitungen zur Datenübertragung von INTFX an die Steuereinheit 11), Kanal,
eine durch die MPUX begonnene Routine, wenn der Lesezustand die Einleitung einer Leseoperation gestattet,
eine von der MPUX begonnene Routine zur Zustandsprüfung bei der Einleitung einer Leseoperation ,
Kommando (ein Steuersignal), Kommando Aus (ein Steuersignal, welches der Steuereinheit 11 eine Betriebsänderung nach vorgegebenen Kriterien befiehlt), Kommandoparität (ein Akronym, welches den Eingangspunkt zu einer Fehleranalysenroutine, basierend auf einem Kommandoparitätsfehler, darstellt),
Kommandoparitätsfehler (der primäre Eingangspunkt zu einer Fehlerroutine resultierend aus einem Kommandoparitätsfehler), Kommandoabweisung (ein Eingangspunkt zu einem Beendigungsprogramm basierend auf der Rückweisung eines über CBO empfangenen Kommandos durch die E/A-Steuereinheit),
zentrale Verarbeitungseinheit,
Kanalkennzeichen Ein (ein von einer E/A-Steuereinheit an einen Datenkanal geliefertes die Interpretation anderer über CBI gelieferter Signale betreffendes Steuersignal), Kanalkennzeichen Aus (ein von einem Datenkanal an eine E/A-Steuereinheit gelieferten andere über CBO gelieferte Signale interpretierendes
Docket BO 970 012
209815/1539
—■ 7 —
DEP
DLJPRIME
DIAG
DOTIEMSl
EXECDEP
EXECDES
EXECPOLL
GENRST
HIONOP
HIOPERG
IDLEPEND
Steuersignal),
Steuereinheit,
Steuereinheit belegt (ein Kennzeichensignal), Einheitenende (ein das Ende einer Operation anzeigendes Steuersignal von einer E/A-Einheit), Einheitenende Primär (siehe unten), Einheitenende Primär (ein Kennzeichensignal in einer Speichereinheit, welches angibt, daß ein Datenkanal früher Zugriff zu einer E/AEinheit angefordert hat. Bei Empfang eines Signalesexnheitenende werden Signale an den Kanal geliefert, um Zugriff zur E/A-Einheit zu verschaffen),
Fehlersuche,
Spur im Fehlerbetriebssatz 1 (ein Eingangspunkt für ein Betriebsarten-Beendigungsprogramm), DEPRIME ausführen (ein Eingangspunkt für ein Einheiten-Mikroprogramm zur Einleitung der Abtastung auf DEPRIME),
DESELECT ausführen (der Eingangspunkt für ein E/A-Einheiten-Mikroprogramm für die Trennung einer E/A-Einheit),
Aufruf ausführen (ein Eingangspunkt für ein Einheiten-Mikroprogramm zum Aufruf eines E/A-Einheitenzustandes),
vorwärts,
allgemeine Rückstellung (ein Mikroprogramm), Stop E/A, System arbeitet nicht (ein Kanal-Mikroprogramm zum Blocken einer noch nicht eingeleiteten Operation),
Stop E/A-Betrieb (ein Kanal-Mikroprogramm zum Blocken nach Untersystem-Operation während der Tätigkeit dieses Untersystems), Lücke zwischen Blocks,
Instruktionszähler,
eine Warteroutine, um die Kanal-Mikroprogramm-
Docket BO 970 012
209815/1 539
IDLESCAN
INSELCHK
MODETYPE
MPU MPUD
MPUX MPUY
MTU NOP NRZI
OP IN PE
POLLMTI
POLLMTIX
READTYPE
einheit auf weitere Instruktionen von einem Datenkanal warten zu lassen, ein Mikroprogramm zum Abtasten auf DEPRIMES, Informationsbearbeitungssystem erste Wahlprüfung (ein Eingangspunkt für eine erste Wahl, der zuerst den laufenden Zustand prüft),
Anschlußstelle X, Anschlußstelle Y, Eingabe/Ausgabe, Instruktionsregister, Arbeitsspeicherregister, Umschalter für mehrere Anschlußstellen, ein Eingangspunkt in ein Mikroprogramm, welches die Betriebsart eines Untersystems bestimmt, mikroprogrammierbare Einheit, mikroprogrammierbare Einheit Nr. D (in Datenflußschaltungen verwendet),
mikroprogrammierbare Einheit Nr. X (in Verbindung mit einem Datenkanal verwendet), mikroprogrammierbare Einheit Nr. Y (in Verbindung mit einer E/A-Einheit verwendet), Magnetbandeinheit,
keine Operation (Kommando: nichts tun), keine Rückkehr nach Null-IBM (ein Aufzeichnungsschema) , Operation,
Operation Ein (ein Kennzeichensignal), Phasencodierung (ein Aufzeichnungsschema), Magnetband-Anschlußeinheit aufrufen (ein E/AEinheiten-Mikroprogramm, das die Tätigkeit verschiedener MTü's abfühlt), Magnetband-Anschlußstellenausgang aufrufen (eine Endroutine für POLLMTI),
ein Eingang in ein Mikroprogramm zur Bestimmung der durch den Datenkanal angewiesenen Art der
Docket BO 970
209815/ 1
2U8847
SELRST SERVRTN
SPBKWD
STATRTN
SUPPREQIN
SUPPRO
TAPE OP TERMACC
TERMSTAK
TERMSTKl
TUADDR
WCOHIO WCOSTP WRTCHK
Leseoperation, reserviert, Festwertspeicher, Rückstellung, Rückkehr,
wahlweise Rückstellung,
Bedienungsrückkehr (ein Mikroprogramm zur Kanalkoordination), Datei zurücksetzen, Datei vorsetzen, Zustand,
Zustandsrückkehr (ein Mikroprogramm), Zustand,
unterdrückbare Anforderung Ein (ein Kennzeichensignal) ,
Unterdrücken Aus (ein Kennzeichensignal), Bedienung Ein (ein Kennzeichensignal), Bedienung Aus (ein Kennzeichensignal), Tachometer,
Bandoperation (ein Zustandssignal), Beendigungsroutine, Zustand durch Kanal angenommen ,
Beendigungsroutine, Zustand ist gespeichert, nicht angenommen,
(siehe TERMSTAK, ein anderer Eingang), Fehler in der Spur, E/A prüfen, Bandmarke, Bandeinheit,
Bandeinheits-Adreßregister, Bandeinheiten-Eingangsleitung, Bandeinheiten-Ausgangsleitung, Bandeinheiten-Kennzeichenregister, Wortzahl gleich Null, Stop E/A Wortzahl gleich Null, Stop, Schreibprüfung (ein Kennzeichensignal),
Docket BO 970
209815/1539
WRTFST erstes Byte schreiben (Eingang in die Schreibroutine) ,
WTM Bandmarke schreiben (ein Mikroprogramm),
XA Austauschregister XA,
XB Austauschregister XB,
YA Austauschregister YA, "
YB Austauschregister YB.
Allgemeine Beschreibung
Die Anschlußeinheit INTPX steht mit einer CPU über das Kabel 10 in Verbindung. Die erfindungsgemäße E/A-Steuereinheit 11 steuert den Austausch von Informations-Signalen zwischen INTFX und der Anschlußeinheit Y (INTFY). INTFY ist mit einer oder mehreren E/A-Einheiten über das Kabel 12 verbunden. Derartige E/A-Einheiten sind z.B. Magnetbandeinheiten, die Informations-Signale aufzeichnen und wiedergeben können in der Phasencodierung (PE) und im NRZI-Verfahren.
Die E/A-Steuereinheit 11 umfaßt drei Hauptteile. MPUX ist eine mikroprogrammierbare Einheit, die die Synchronisations- und Steuerfunktionen zwischen der E/A-Steuereinheit und INTFX liefert. MPUY übernimmt dieselben Funktionen mit INTFY. In einem Magnetband-Untersystem sorgt MPUY für die Bandlaufsteuerung und andere Betriebsfunktionen, die eindeutig zu der beschriebenen E/A-Einheit gehören. Bei anderen E/A-Einheiten übernimmt MPUY andere Funktionen - so wird bei einem Drucker z.B. die Formatsteuerung in der MPUY programmiert. Der dritte Abschnitt besteht aus den Datenflußschaltungen 13, die InformationswSignale zwischen den Anschlußeinheiten X und Y tatsächlich verarbeiten. Die Datenflußschaltungen 13 können ganz aus Bauteilreihen und Schaltungen bestehen, mit denen Austauschoperationen von Signalen ausgeführt werden können. In einer zu einem Magnetband-Aufzeichnungssystem gehörenden E/A-Steuereinheit umfassen die Datenfluß=- schaltungen Schreibschaltungen sowohl für PE als auch für NRZI, Leseschaltungen für beide Codierschemata, Schräglauf-Kompensations-
Docket BO 970 012 2 0 9 815/1539
operationen, bestimmte Fehlersuchfunktionen und Dokumentationsoperationen, die zum Betrieb eines Magnetband-Untersystems gehören.
Da MPUX und MPUY unabhängig voneinander betrieben werden können, und zwar jede Einheit mit ihrem eigenen Programmen aus Mikroinstruktionen, sind Programmsynchronisation und -koordination erforderlich. Zu diesem Zweck ist eine Austauschregisterschaltung vorgesehen. Jede MPUY verfügt über ihre eigenen Ausgabe-Austauschregister und so hat z.B. die MPUX die Austauschregister 14 während die MPUY die Austauschregister 15 hat. Diese Register empfangen Ausgangsleitungen von den zugehörigen MPU's. Die vorübergehend in diesen Registern gespeicherten Signale werden direkt auf die Datenflußschaltungen 13 geleitet, um den Datenfluß und die Signalverarbeitung zu beeinflussen und zu überwachen. Durch diese Anordnug bedienen die Datenflußschaltungen 13 sowohl die MPUX als auch MPUY. Außerdem werden diese Signale gleichzeitig an die andere MPU geliefert, d.h.. Register 15 liefert die Ausgangssignale von der MPUY an die MPUX und Register 14 die Ausgangssignale der MPUX an die MPUY. Die entsprechenden MPU's empfangen solche Signale zur Programmkoordination wahlweise unter Steuerung eines Mikroprogrammes.
INTFX ist eine steuernde Anschlußeinheit. Sie tauscht nicht nur Steuersignale mit der MPUX über Kabel 16 aus, sondern hat auch eine Steuer-Anzapfleitung 17. Wenn diese Leitung betätigt wird, blockiert MPUX alle laufenden Operationen und verzweigt zu einer festen Adresse zur Analyse der Signale auf dem Kabel 16. Diese gleichzeitig über das Kabel 16 gelieferten Signale zwingen die MPUX zur Ausführung der ausgewählten INTFX-Funktionen. In ähnlicher Weise hat die MPUX eine Steuer-Anzapfleitung 18 für die MPUY, MPUY spricht auf ein Betätigungssignal auf der Leitung 18 von der MPUX genauso an wie die MPUX auf ein Anzapfsignal auf der Leitung 17. Außer dem Austausch von Steuersignalen über das Kabel 20 mit Einheiten über INTFY verfügt die MPUY auch über eine Anzapfleitung 21 zur Steuerung einer E/A-Einheit in ähnlicher Wei-
Docket BO 970 012 209815/1539
Alle Informations-Signale werden zwischen den Anschlußeinheiten X und Y über die Datenflußschaltungen 13 und die Vollduplexkabel 23 und 24 ausgetauscht. Die Datenflußschaltungen 13 enthalten gemäß Darstellung in Fig. 1 eine dritte MPU, nämlich die MPUD, die spezielle Verarbeitungsschaltungen 25 und 26 sowie ein Puffersystem 27 im einzelnen steuert. Diese speziellen Verarbeitungsschaltungen sind Folgen von Bauteilen, die Signalformate aus den entsprechenden Anschlußeinheiten in ein vom Puffersystem 27 nutzbares Zwischenformat umformen. Die E/A-Steuereinheit kann mit mehreren verschiedenen Signalformaten arbeiten, indem sie lediglich die Schaltungen 25 oder 26 austauscht. Die in der MPUD verwendeten Mikroroutinen müssen evtl. auch ausgetauscht werden. Mikroroutinen in der MPUY müssen natürlich ausgetauscht werden, wenn verschiedene Formen von E/A-Einheiten gewählt werden. Wenn z.B. ein Kommunikationssystem wie ein Fernsehkabel für ein in dieser Beschreibung erwähntes Magnetbandsystem eingesetzt wird, sind völlig andere Mikroroutinen erforderlich.
Fig. 2 zeigt ein etwas genaueres aber immer noch vereinfachte Schaltung einer erfindungsgemäß hergestellten E/A-Steuereinheit. Die Steuereinheit benutzt aus Bauteilreihen bestehende Datenflußschaltungen 13. Die Datenflußschaltungen 13 weisen Kanaleingangsleitungen (CBI) 30 und Kanalausgangsleitungen (CBO) 31 auf, die an zwei nicht gezeigte Kanäle A oder B angeschlossen werden können. Jeder Leitungssatz kann ein Datenbyte plus Parität übertragen. In ähnlicher Weise übertragen Bandeingangsleitungen (TUBI) 31 Signale an die Datenflußschaltungen 13 und die MPUY über INTFY. Die Bandausgangsleitungen (TUBO) 33 führen Informations-Signale zur Aufzeichnung in den MPU1S plus Kommandos von der MPUY und MTU-Adressen von der MPUX. Zustandesignale werden sowohl an die MPUX als auch an die MPUY über die Zustandskabel 34 und 35 geleitet. Die Geschwindigkeit von Tachometersignalen, welche durch die angewählte und betätigte MTU geliefert werden, wird über die Leitung 36 von der MPUX, MPUY und den Datenflußschaltungen 13 empfan-
Docket BO 970 012 2 0 9 8 15/1539
Die MPUX hat eine Äusgangsleitung 40 (auch als B-Leitung bezeichnet) , welche Signale an ihr Austauschregister 14 leitet. Dazu gehören das Verzweigungssteuerregister 41, das Register XA und das Register XB. Die Ausgangsleitung 40 ist außerdem an die Kanalaustauschregister CTI und CBI 42 angeschlossen. CBI ist die Kanaleingangsleitung, während CTI die Kanalkennzeichen-Eingangsleitung ist. CTI überträgt die Kennzeichensignale und andere Steuersignale für Operationen der Anschlußeinheiten.
Zusätzlich empfängt das CBO-Tor 43 Datenbytes von INTFX für die Datenflußschaltungen 13 und für die MPUX. Die Tore XA und XB leiten in ähnlicher Weise Austauschsignale von den MPUY-Austauschregistern 15. Das Tor XA empfängt die Steuersignale vom Register YA, während das Tor XB die Austauschsignale vom Register YB empfängt. Das CBI-Register wird von der MPUX mit den Datenflußschaltungen 13 geteilt. Die CBI-Leitungen über INTFX laufen im Multiplexbetrieb. CTI liefert Kennzeichen für die Bedeutung der Eingangssignale.
INTFY arbeitet identisch. Signale auf den TUBO-Register-Ausgangsleitungen 33 werden durch die MTU1S entsprechend den Signalen im TUTAG-Register interpretiert.
Externe Signale werden der MPUX und der MPUY über die externen Register 50 bzw. 51 zugeführt. Solche externen Signale können von einer anderen E/A-Steuereinheit, von einer Wartungsschalttafel, von einem Nachrichtennetz und dgl. kommen. Von Bauteilen festgestellte Fehler werden außerdem im Register 52 zwecks Prüfung durch die MPUX gesammelt.
Die E/A-Steuereinheit 11 verfügt über einen wirksamen ersten Auswahlprozeß. Die MPUX reagiert auf INTFX-Anforderungen zur Bedienung einer MTU durch Lieferung einer MTU-Adresse über die Ausgangsleitung 40 an das TU-Adreßregister 60. INTFY überträgt die.
Docket BO 970 012 209815/1539
Tü-Adresse an alle MTU's. Die richtig adressierte MTU antwortet der MPUY, daß die Wahl zulässig ist oder nicht. Ist die Wahl zulässig, wird eine Verbindung hergestellt. Die MPUY unterrichtet die MPUX davon über das Register YA. Die MPUX beendet dann die erste Wahl durch eine Antwort an die INTFX über CTI. Dann können Datenverarbeitungsoperationen folgen. Eine genaue Beschreibung dieses ersten Wahlvorganges folgt, um deutlich die Beziehungen zwischen MPUX, MPUY, den Datenflußschaltungen 13 und den beiden Anschlußeinheiten X und Y zu zeigen.
MIKROPRQGRAMMIERBARE EINHEITEN (MPU1s)
Die MPU's enthalten Mikroprogramme, welche die Operationslogik der E/A-Steuereinheit 11 bestimmen. Die MPUX enthält einen Satz von Mikroprogrammen in ihrem Steuerspeicher, welcher für die Verantwortung und die Datenübertragung mit der INTFX ausgelegt ist. In ähnlicher Weise enthält die MPUY einen Satz von Mikroprogrammen für die Operation durch die INTFY mit den verschiedenen MTU's. Die Register 14 und 15 enthalten Signale von den entsprechenden Mikroprogrammen, welche als Eingänge für die zugehörigen Programme zur Koordination und Synchronisation der Ausführung verschiedener Funktionen gedacht sind. Die MPUD enthält bei Verwendung in den Datenflußschaltungen einen weiteren Satz von Mikroprogrammen für die übertragung von Datensignalen zwischen den beiden Anschlußeinheiten, um Datenverarbeitungsoperationen unter der gemeinsamen überwachung von MPUX und MPUY auszuführen. Die Betätigung der Bauteile durch die Mikroprogramme geht klarer aus den logischen Aufbau der MPU's hervor.
In Fig. 3 ist die in der E/A-Steuereinheit 11 brauchbare MPU in Form eines vereinfachten Blockdiagrammes dargestellt. Die Mikroprogramme sind im Festwert-Steuerspeicher (ROS) 65 enthalten. Das ROS-Ausgangssignalwort, welches das Instruktionswort ist, ist lokalisiert durch den Inhalt des InstruktionsZählers IC 66. Der . IC 66 kann für jeden Operationszyklus der MPU vor- oder zurückgeschaltet werden. Durch Eingabe eines neuen Zahlensatzes in
Docket bo 970 012 2 0 9 815/1539
den IC 66 bewirkt man eine InstruktionsVerzweigungsoperation. Das Instruktionswort von ROS 65 wird auf das Instruktionsregister IR 67 geleitet, welches die Signale für ungefähr einen Operationszyklus festhält. Die festgehaltenen Signale werden über die Kabel 68 und 69 an verschiedene Einheiten in der MPU geleitet. Das Kabel 68 führt Signale für die Steuerteile des Instruktionswortes wie z.B. dem Operationscode und dergleichen. Signale auf dem Kabel 68 werden an den IC 66 zur Verzweigung und Änderungen der Instruktionsadresse geleitet. Kabel 69 führt andererseits Signale, welche Datenadressen darstellen. Diese werden auf die übertragungsdecodierschaltungen 70 geleitet, welche auf diese Signale ansprechen und verschiedene Übertragungstore innerhalb der MPU steuern. Die anderen Teile der Signale werden über das ODER-Glied 71 an die ALU 72 geliefert. In der ALU 72 können solche Signale gemischt oder arithmetisch mit Signalen kombiniert werden, die über die B-Leitung 73 zur Indexierung oder anderen Datenverarbeitungsoperationen empfangen wurden. Die MPU verfügt über ein Arbeitsspeicherregister (LSR) 75, welches entsprechend den über Kabel 68 geführten Adreßsignalen adressierbar ist. Die Adreßprüfschaltung 76 prüft die Parität in der Adresse. Die Adreßsignale können ebenfalls bei Verzweigungsoperationen benutzt werden. Die UND-Glieder 77 sprechen auf Übertragungs-Decodiersignale an, welche von den Schaltungen 70 über die UND-Glieder 78 geliefert wurden und übertragen die Adreßsignale in einem Instruktionswort an den IC 66. Eine solche übertragung kann unter direkter Steuerung des Operationsteiles des Instruktionswortes erfolgen, festgelegt durch die übertragungsdecodierschaltungen 70, oder kann eine bedingte Verzweigung" (BOC) gemäß den Verzweigungssteuerschaltungen 79 sein, die wahlweise die UND-Glieder 77 nach den an sie gelieferten Bedingungen öffnen.
Die Datenflußeigenschaften und die rechnerischen Verarbeitungseigenschaften der MPU zentrieren sich um die ALU 72. Die ALU hat zwei Eingänge, nämlich die Α-Leitung vom ODER-Glied 71 und die ü-Leitung 73. Die ALU 72 liefert Ausgangssignale über Kabel
Docket BO 970 012 2 0 9 815/1539
an das D-Register 81, welches die festgehaltenen Signale über die D-Leitung 82 an das LSR 75 weitergibt. Die Instruktionsdecodierschaltungen 83 empfangen Operationscodes vom IR 67 und liefern decodierte Steuersignale über Kabel 84 an die ALU 72 und das UND-Glied 78 zur wahlweisen Signalübertragung innerhalb der MPU.
Die ALU 72 hat einen begrenzten Vorrat an Operationen. Der Instruktionsdecodierer 83 decodiert vier Bits aus dem Instruktionswort zur Erstellung von 16 möglichen Operationen. Diese Operationen sind in der nachfolgenden Instruktionswortliste aufgeführt.
INSTRUKTIONSWORTLISTE
QP-Code . Symbol
Funktion
0 1 2 3 4
7 8
STO Konstante in LSR speichern, A auf Null setzen
STOH Konstante in LSR speichern, indexierte Adressierung
BCL Übereinstimmung mit Feld 1, verzweige nach Adresse in Feld 2
BCH Übereinstimmung mit Feld 1, verzweige nach Adresse in Feld 2
XFR Inhalt einer ausgewählten LSR-Stelle wird auf gewähltes Register übertragen oder gewählter Eingang auf eine gewählte LSR-Stelle geleitet
XFRH Siehe XFR oben plus indexierter Adressierung
BU Verzweige zur 12-Bit-ROS-Adresse im Instruktionswort
Nicht benutzt - ungültiger Code
ORI A ODER-verknüpft mit B, Ergebnis gespeichert in LSR 75
ORM A ODER-verknüpft mit B, Ergebnis nicnt
Docket BO 970 012
209815/1539
A ADD
B ADDM
C AND
D ANDM
E XO
F XOM
2H8847
- 17 -
gespeichert
A plus B, Summe gespeichert in LSR 75 A plus B, Summe nicht gespeichert A UND-verknüpft mit B, Ergebnis nach LSR A UND-verknüpft mit B, Ergebnis nicht gespeichert
A antivalent B, Ergebnis nach LSR 75 A antivalent B, Ergebnis nicht gespeichert
In obiger Liste bezeichnet der Buchstabe A das A-Register 85, der Buchstabe B die B-Leitung und die Symbole dienen Programmierzwecken. Der Ausdruck "gewählter Eingang" bezeichnet einen der Bauteileingänge (92, 94, 96, 93) für die ALU-Ausgangsleitung 80. Der Ausdruck "gewähltes Register" bezeichnet eines der Bauteilregister in der MPU. Dazu gehören die Verbindungsregister 14 und 15 (Fig. 2), das Kennzeichenregister 74, das Leitungsregister 99, das Adreßregister 60 und der IC 66. Übertragungen vom LSR 75 auf diese gewählten Register erfolgen über die B-Leitung 73. In Fig. 2 entspricht die B-Leitung für MPUX dem Kabel 40, während die B-Leitung für MPUY das Kabel 4OA ist. Die Register 14 empfangen Signale über die UND-Glieder 86 und 87. In der MPUY liefern die UND-Glieder 86 und 87 Signale auf die Austauschregister 15. Die Verzweigungssteuerung 79 in Fig. 3 ist die interne Verzweigungssteuerung. Die Verzweigungssteuerungen 41 und 4IA der Fig. 2 liefern ihre Signale entsprechend über Kabel 88 und 87A an die zugehörigen MPU1s. Diese Verzweigungssteuerungen sind separate Schaltungen. Das Kennzeichenregister 74 in Fig. 3 für die MPUX entspricht dem CTI-Register in den Kanalaustauschregistern 42. Für die MPUY entspricht es dem an INTFY angeschlossenen TUTAG-Register. In ähnlicher Weise ist das Leitungsregister 87 für die MPUX das Register CPI in den Kanalaustauschregister 42, während in der MPUY ist das Register TUBO. Das Adreßregister 60 der Fig. 3 entspricht dem TU-Adreßregister 60 der Fig. 2. MPUY-Adreßregister 60 wird nicht benutzt.
Das Zustandsregister 89 hat mehrere Ausgangsanschlüsse von den
209815/1539
Docket BO 970 012
2Ί488Α7
entsprechenden MPü's. Es wird in einen hochwertigen und einen niederwertigen Teil unterteilt. Der hochwertige Teil hat die Zustandsbits 0 bis 3, der niederwertige das Zustandsbit 0 und die Zustandsbits 4 bis 7 (auch bezeichnet als Zustand Ä bis Zustand D). Der wertniedere Teil wird auf die Verzweigungssteuerung 79 der anderen MPü's geleitet. Die Bits 0 und 4 bis 7 werden in den Datenfluß gegeben. Bit 7 wird außerdem direkt an die ALU 72 der MPUY geleitet, wie es durch die Leitungen 90 in Fig. dargestellt ist. Das entspricht einer Selbstanzapfungsoperation, die später beschrieben wird. Die Interpretation der Zustandsbits ist durch ein Mikroprogramm bestimmt.
Diese Signalempfangsteile einer jeden MPU liegen in vier Kategorien. Zuerst ist das Leitungsregister 91 zum Empfang von Kennzeichen- und Datenbytes für die MPUX ausgelegt und entspricht damit dem CBO-Register 43 der Fig. 2. Ein Leitungsregister 91 für die MPUY ist das TUBI-Register. Das UND-Glied 92 spricht auf die übertragungs-Decodiersignale von den Schaltungen 70 an und leitet wahlweise das Leitungsregister 91 auf das D-Register 81. Von dort werden die Datenbytes dem LSR 75 zugeführt. Zweitens empfängt auch das D-Register 81 Eingangssignale vom Fehlerregister 93 über das UND-Glied 94. Bauteil-Fehlersignale (Paritatsfehler usw.) werden in der Schaltung 95 nach bekannten Techniken erzeugt. Drittens empfängt das UND-Glied 96 externe Datensignale über das Kabel 97 und gibt sie an das D-Register 81 unter Steuerung eines Mikroprogrammes weiter. Viertens liefern die Austauschregister 14 bzw. 15 Signale an Paare von UND-Gliedern 98, die wahlweise die Austauschsignale auf das D-Register 81 unter Steuerung eines Mikroprogrammes leiten. Das empfangende Mikroprogramm steuert den Empfang von Austauschsignalen von der anderen MPU.
Grundsätzlich werden die von jeder MPU ausgehenden Signale über die B-Leitung 73 geführt; auch eine Haupteingangsleitung zur ALU 72. Die signalempfangende Leitung ist die D-Leitung, die die Eingangsleitung für das LSR 75 und die Ausgangsleitung für die ALU 72 bildet.
Docket BO 970 012 ^ 0 88 15/1639
Da die ALU 72 einen begrenzten Vorrat von Operationen hat, sind zahlreiche ausgeführte Operationen einfache Übertragungsoperationen, bei denen keine Rechenfunktionen ausgeführt werden. Für den OP-Code 4, der eine Übertragungsinstruktion darstellt, wird z.B. der Inhalt des adressierten LSR auf ein gewähltes Register übertragen. Dieses gewählte Register kann das A-Register 85 zusätzlich zu den Ausgangsregistern sein. Um zwei Zahlen in der ALU 72 zueinander zu addieren, nimmt man zuerst eine Übertragung auf das A-Register 85 vor. Der Inhalt der nächsten adressierten Stelle im LSR wird auf die B-Leitung geleitet und zum Inhalt des Α-Registers addiert und dann das Ergebnis im D-Register 81 gespeichert. Bei Beendigung des Additionszyklus wird der Inhalt des D-Registers 81 oder das dort stehende Ergebnis in das LSR 75 gespeichert. Wenn die Ergebnisse der Rechenoperation ausgegeben werden sollen, wird mit einem anderen Zyklus das Ergebnis vom LSR 75 über die B-Leitung 73 auf ein gewähltes Ausgaberegister, wie z.B. eines der Austauschregister oder das Leitungsregister 87, übertragen.
In Fig. 3 wird der Eingang zum D-Register 81 gebildet, entweder durch das Kabel 44 oder das Kabel 44A der Fig. 2. Bauteilfehlerschaltung 95 und Fehlerregister 93 der Fig. 3 entsprechen den Bauteilfehlerschaltungen 52 und 52A der Fig. 2. Die externen Kabel 97 empfangen Signale von den externen Register 50 bzw. 52 für die MPU1s. Die MPUD hat einen entsprechenden Satz von Austauschregistern wie die 14PU1S MPUX und MPUY. Die UND-Glieder 98 der Fig. 3 entsprechen den Toren XA, XB, YA und YB der Fig. 2.
Jede MPU wird zu einer vorgegebenen Routine durch ein Signal auf der Anzapfleitung 17 bzw. 18 angezapft. Das Anzapfungssignal zwingt den IC 66 auf lauter Nullen. Bei der ROS-Adresse 000 leitet das Instruktionswort die X-Anzapfungsroutine (Fig. 15) oder Y-Anzapfungsroutine (Fig. 25) ein. Wegen der Zuverlässigkeit sollte die MPUY abgeschaltet werden, das bedeutet, daß der Taktoszillator 98 abgeschaltet wird. Bei normalen Operationen liefert der Taktgeber 98 Taktimpulse zum Vorschalten des IC 66
Docket bo 970 012 209815/1539
und zur Koordination von Operationen der verschiedenen MPU1s. Sobald die MPUY ihre Operationen beendet hat, setzt sie den Zustand D in das Register 89. Zustand D zeigt an, daß die MPUY ihre Operationen gemäß Anforderung durch MPUX beendet hat. Das Zustandssignal D setzt die Halteverriegelung 99A und zeigt an, daß die MPUY abgeschaltet ist. Die Halteverriegelung 99A leitet den Taktgeber 98 in den abgeschalteten Zustand über. Wenn die MPUX die MPUY anzapft, ist nicht nur der IC 66 auf lauter iSiullen gestellt, sondern auch die Halteverriegelung 99A wird zurückgestellt. Der Taktgeber 98 wird dann zur Betätigung der MPUY eingeschaltet. In diesem Fall wird die MPUX nicht abgeschaltet. Sie verfügt über eine Leerlaufroutine, die später erklärt wird.
Eine Untersuchung der MPU1S zeigt, daß die Rechenfähigkeit wesentlich geringer ist als sie zur Ausführung aller E/A-Steuerfunktionen benötigt wird, die in der Mikroprogrammbeschreibung aufgeführt sind. Eine Verdoppelung der Bauteile ist zur Reduzierung der Herstellungskosten zweckmäßig.
DATENFLUßSCHALTUNGEH 13
Die aus Bauteilen zusammengesetzten Datenflußschaltungen 13 sind in voller logischer Form in den Fign. 4 und 5 gezeigt, während die Fig. 6 ein vereinfachtes Diagramm einer durch ein MPUY gesteuerten Datenflußschaltung ist.
In Fig. 4 werden die Datensignale über Kabel 32 empfangen, bevor sie aus der Bandform in die INTFX-Form umgewandelt werden. Die Signalumhüllungs-Abfühlschaltung 100 prüft, ob Signale wiederholt über das Kabel 32 empfangen werden. Bei Abfühlung einer Umhüllung oder Signalform werden entsprechende Signale über das Kabel 35 an die MPUY geleitet. Die Eingangs-Leitschaltungen 101 empfangen auch ein Betätigungssignal, welches den Durchgang der Eingangssignale zu einer der Abfühlschaltungen 102 oder 103 ermöglicht. Das Format der Signale im Eingangskabel 32 zeigt an, ob das Bandformat bzw. Aufzeichnungs-Verfahren PE oder NRZI ist. Steuer- und
Docket EO 970 012 2098 1 B/1539
Taktgeberschaltungen 104 sprechen auf eine Reihe von Einsen, die allgemein als Vorlauf oder Nachlauf bezeichnet werden, an und geben an, daß ein PE-Signal empfangen wird. Eine nicht dargestellte Verriegelung wird gesetzt und die Steuersignale auf die Eingangsleitungen 101 geleitet, um die Signale auf die PE-Abfühlschaltungen 103 zu lenken. Wenn die Steuerschaltungen 104 andererseits NRZI feststellen, werden die Eingangssignale auf den Detektor geleitet. Die Ausgangssignale der Detektoren 102 und 103 stehen im selben Format und werden durch das ODER-Glied 106 auf das Pufferregister 107 und von dort über das Kabel 30 gemäß Darstellung in Fig. 2 weitergeleitet.
Bei der Abfühlung eines jeden Datenbyte, wozu Schräglaufoperationen gehören können, werden Steuersignale über das Kabel 34 an die MPUX zur Koordination mit INTFX geleitet. Außerdem zeigen Steuersignale von den Steuer- und Zeitgeberschaltungen 104 der MPUX und der MPUY an, ob NRZI- oder PE-Signale abgefühlt werden. Die Detektoren 102 und 103 können adaptiv sein, d.h., ihre Operation kann sich mit der Bandgeschwindigkeit in den verschiedenen MTU1S ändern. Im PE-Detektor 103 kann die Selbst-Taktgabe vom PE ausreichen, um Frequenzänderungen des Eingangssignales zu verfolgen. Im NRZI-Detektor 102 werden über die Leitung 36 empfangene Tachometersignale dazu benutzt, die Länge der Leitperiode zu verändern, d.h., bei der NRZI-Abfühlung schaltet der zuerst auftretende Übergang in einem Byte einen Zeitgeber mit einer vorgegebenen Periode ein. Alle in dieser Periode auftretenden Signale werden als in das Byte gehörig definiert, welches zu dem vordersten Bit gehört. Wenn sich die Bandgeschwindigkeit ändert, ändert sich auch die Dauer der Byteperiode. Die Tachometersignale auf der Leitung 36 ändern die Ausgangsperiode entsprechend den Änderungen der Bandgeschwindigkeit.
Die Signalumhüllungs-Abfühlschaltung 100 liefert auch Steuersignale über das Kabel 33, welche anzeigen, daß der Abfühlschwellwert in den verschiedenen MTU's geändert werden sollte. Wenn
Docket BO 970 012 2 0 9 8 1 5 / 1 S 3 9
2U8847
z.B. eine Spur fehlerhaft ist, sollte der Schwellwert in der Spur angehoben werden. Die MPUY steuert außerdem den Schwellwertpegel durch Steuersignale, die in das TUBO-Register gesetzt und mit Signalen auf dem Kabel 33 ODER-verknüpft werden. Die MPUY kann daher wahlweise die Schwellwertsignale von der Signalumhüllungs-Abfühlschaltung modifizieren oder übersteuern.
Der Schreibdatenfluß ist in Fig. 5 gezeigt. Die von den verschiedenen MTü's aufzuzeichnenden Signale werden über das Kabel 31 empfangen und vorübergehend im Schreibendaten-Pufferregister 110 gespeichert. Für die Eingangsdaten besteht keine Steuerung, so daß der Schreibdatenpuffer 110 alle von INTFX gelieferten Signale empfangen muß. Wenn ein solches Signal angelegt wird, betätigt die MPUX die Zeitgeber- und Steuerschaltungen 111 zur Betätigung des UND-Gliedes 112 in zeitlicher Beziehung mit den Schreibsignal-Erzeugungsschaltungen 113. Die digital erzeugten Signale werden über das Kabel 33 an die adressierte MTU geliefert, über die Leitung 36 empfangene Tachometersignale können für die automatische Dichte-Steuerung der Schreibsignale so verwendet werden, daß auf dem Band in konstanter Dichte aufgezeichnet wird.
In Fig. 6 ist die MPUD entsprechend mit den Anschlußeinheiten X und Y über die Kabel 33-33 durch die Pufferspeicher 116 und 117 verbunden, über die Leitung 36 empfangene Tachometersignale werden an eine Verzweigungssteuerschaltung in der MPUD geliefert, um bei einer Schreiboperation die Aufzeichnungsdichte zu steuern. Mikroprogramme in der MPUD für einen Lesedatenfluß umfassen auch mikroprogrammierte Zeitgeber-Unterroutinen, die die halben Signallängen der Eingangssignale messen. Die Dauer dieser halben Signallänge wird dann in einem analytischen Programm dazu benutzt, festzustellen, ob PE-Signale oder NRZI-Signale empfangen werden. Wenn diese Feststellung einmal getroffen wurde, verzweigt das Programm zu einer NRZI- oder einer PE-Abfühlroutine. Die NRZI-Routine umfaßt eine mikroprogrammierte Zeitausgaberoutine, die genauso arbeitet wie die Ausgabezeitschaltung des NRZI-Detektors 102. In einer ähnlichen Weise werden im PE-Detektor Ausgabezeit-Unter-
Docket BO 970 012 2 0 9 8 1 5 / 1 S 3 θ
routinen benutzt, die effektiv die Dauer der Halbwellenlänge des PE-Signales messen und die daraus abgeleitete Information dazu benutzen, den Datengehalt des PE-Signales sicherzustellen. Für die MPUD sind in Fig. 6 keine besonderen Verarbextungsschaltungen vorgesehen, jegliche besondere Verarbeitung wird durch Programmtechniken vorgenommen.
Wenn die in Fig. 1 gezeigte Anordnung für die MPUD benutzt wird, entsprechen die besonderen Verarbextungsschaltungen 26 den Detektoren 102 und 103 sowie den Signalerzeugerschaltungen 113.
Besondere Verarbeitungsschaltungen 25 sind lediglich die in den Fign. 4 und 5 gezeigten Pufferregister. Für den Fall, daß INTFX besondere Formate hatte, wandeln die Schaltungen 25 die abgefühlten Signale in das passende Signalformat um.
MIKROPROGRAMMIERUNG ALLGEMEIN
Fig. 7 zeigt allgemein die Beziehungen zwischen den Mikroroutinen der MPUX und der MPUY. Die Darstellung ist stark vereinfacht, um die Zusammenarbeit der Mikroroutinen für die Ausführung der E/A-Steuerfunktionen zu zeigen. Viele durch diese Mikroroutinen ausgeführten Funktionen wurden vorher in anderen E/A-Steuereinheiten gewöhnlich durch einige Bauteile ausgeführt. Die Korrelation ausgewählter Mikroprogrammroutinen zu vorhergehenden Bauteilroutinen ist in einer genaueren anschließenden Beschreibung dieses Abschnittes gezeigt. Der Klarheit halber wurden einige für die vorliegende Erfindung weniger wichtige Mikroroutinen weggelassen. Die beschriebenen Routinen wurden so gewählt, daß an ihnen die Betriebs-Beziehungen zwischen MPUX und MPUY und den Datenflußschaltungen 13 gezeigt werden können.
Die X-Frei-Abfrageroutine 120 und die Y-Frei-Abfrageroutine 121 überwachen den laufenden Zustand, den Unterbrechungszustand und liefern die gegenseitige Verbindung zwischen den beiden MPU's, um die Verfügbarkeit von an INTFY angeschlossenen Einheiten fest-
Docket BO 970 012 209Ö15/1539
zustellen. Die X-Frei-Abfrageroutine 120 enthält eine Anzapfung der MPUY über die Y-Frei-Abfrageroutine 121, mit der INTFY aufgerufen wird, um die Verfügbarkeit von einer durch INTFX adressierten MTU festzustellen. In der X-Frei-Abfrageroutine ist eine Warteroutine enthalten, in welche die MPUX läuft, bis sie von INTFX angezapft wird. INTFX zapft die MPUX über ROS 65 Adresse 000 an. Bei der MPUX ROS-Adresse 000 beginnt die X-Anzapfung 122. Während der Ausführung der X-Ahzapfroutine 122 wird die MPUY auf der ROS-Adresse 000 angezapft, um später die Y-Anzapfroutine 123 auszuführen. In der X-Anzapfung 122 wird die CTO auf eine erste Wahl oder Selektion abgefühlt. Wenn das erste Wahlkennzeichen gesetzt ist, verzweigt die X-Anzapfroutine das Mikroprogramm zur X-Anfangswahl 125. Wenn keine Anfangs- oder erste Wahl vorhanden ist, wird entweder eine X-Rückstellung 126 oder eine ALU-Fehlersuche in der Fehlersuche 127 ausgeführt. Bei Beendigung dieser Funktionen kann ein neuer Eintritt in die X-Frei-Abfrageroutine 120 erfolgen, um die MTU-Abtastoperationen abzuschließen. Die Anfangswahl 125 spricht auf bestimmte Bauteilfehler an, die über die Leitung 128 empfangen wurden (abgefühlt gemäß Beschreibung im Zusammenhang mit Fig. 3) und stoppt die E/A-Steuereinheit 11 zur Anzeige abgefühlter Bauteilfehler. Eine Hauptfunktion der Anfangswahl 125 ist die Unterbrechung der Verarbeitung gemäß nachfolgender Bechreibung im Zusammenhang mit Fig. 8 ff.
Während einer ersten Wahl wird die X-aufgerufene Routine 129 begonnen, um die INTFX-Anforderung weiter zu identifizieren. Außerdem werden bestimmte Verzweigungsbedingungen in das LSR gesetzt, um später durch den X-Anschluß 130 benutzt zu werden. Eine MTU-Adreßprüfung kann vorgenommen werden. Bei Beendigung der Verzweigungseinstellung leitet die X-aufgerufene Routine 129 den X-Zustand 132 ein. Der X-Zustand 132 betätigt CTI so, daß Kennzeichensignale an INTFX gesendet werden, die den Zustand der Steuereinheit aufgrund der vorher empfangenen INTFX-Anforderung anzeigen. Basierend auf der in der X-aufgerufenen Routine 129 eingestellten Verzweigung kann die Mikroprogrammausführung verschiedenen Routen folgen. Diese enden hauptsächlich im X-Anschluß 130, der die IIPUX-
209815/1539
2U8847
Operation beendet. MPUX sucht dann nach weiteren Unterbrechungen. Wenn die gesamte Abtastung beendet ist, wartet die MPUX auf weitere Instruktionen von INTFX.
Eine weitere wichtige Routine ist die Bedienungsrückkehr (SERVRTN) 135, die im Zusammenhang mit INTFX zur Zeiteinteilung und Steuerung während der Datenübertragung benutzt wird. Die Arbeitsweise der obengenannten Datenkanaloperation wird durch die Bedienungsrückkehr 135 durchgeführt. Eine andere von der ersten Wahl 125 begonnene mögliche Routine ist der X-Betrieb 136, der die Betriebsart in der Steuereinheit aufgrund von INTFX CMDO-Signalen festlegt. X-Lesen und -Prüfen 137 wird begonnen, wenn die erste Wahl in einer Leseoperation resultiert. Die Routine 137 zapft die MPUY an vorgegebenen Andressen gemäß späterer Erklärung an, um eine Leseoperation in der MPUY einzuleiten. Auf ähnliche Weise wird X-Schreiben
138 begonnen und zapft ebenfalls die MPUY bei einer anderen Unterroutine an, um eine Schreiboperation einzuleiten. Der Fehlerzustand
139 überträgt Fehlerinformationen über INTFX an die CPU. Diese Routine ist eng mit dem Starten der E/A-Steuereinheit 11 zum Lesen oder Schreiben verbunden. Abfühlung 140 wird aufgrund eines Abfühlkommandos begonnen. Die Abfühlung überträgt Abfühlbytes an die CPU zur Analyse. Die X-Beendigung 130 zapft ebenfalls die MPUY an im Zusammenhang mit der Wahl betätigter MTU's und zur Durchführung anderer Funktionen in Verbindung mit der Beendigung einer vorher durch die INTFX eingeleiteten Operation. MPUY-Mikroroutinen sprechen auf MPUX-Mikroroutinen an und steuern verschiedene MTU's über INTFY. Diese Mikroroutinen übertragen auch InformationsSteuersignale von INTFY auf die MPUX zur Rückübertragung auf INTFX. Bei Anzapfung durch die MPUX erhält die Y-Anzapfung 123 eine MPUY ROS-Adresse vom XB-Register und verzweigt dann zu dieser Adresse. Solche ROS-Adressen sind die erste Instruktionsadresse verschiedener MPUY-Mikroprogramme. Eine Adresse leitet z.B. die Fehlersuche 142 ein, Die Fehlersuche 142 beginnt die BewegungsSteuertätigkeit in der Bewegungssteuerung 143, die Lesetätigkeit im Y-Lesen 144, die Schreibtätigkeit im Y-Schreiben 145, die Geschwindigkeitsanalyse in der Geschwindigkeit 146 oder die Beendigung in der
Docket Bo 97O 012 209815/1539
Y-Beendigung 147. Die Fehlersuche 142 kann auch interne Fehlersuchfunktionen, wie z.B. die überprüfung der ALU-Operation vornehmen. Auf der anderen Seite kann die Y-Anzapfroutine 123 zur Y-Anfangswahl 148 verzweigen, um die MPUY für eine in zusätzlichen Steuersignalen von der MPUX in den Registern 14 festgelegte Tätigkeit zu veranlassen. Dazu kann die Einleitung des Zustandes 149, der Beendigung 147 oder der Y-Frei-Abfrage 121 gehören. D:' MTU-Routinen 143 bis 146 können ebenfalls von der Anfangswahl 148 eingeleitet werden. Außer den Steuersignalen über die Register 14 und 15 wird die Zustandsinformation frei zwischen den beiden MPU's zwecks Mikroprogrammkoordination ausgetauscht.
In der folgenden genaueren Beschreibung werden zuerst die Zustand-Abtastroutinen im einzelnen beschrieben. Dabei werden die gegenseitige Beziehung der MPU's zueinander und die Mikroroutinen aufgezeigt. Weiterhin wird gezeigt, wie Steuerinformationen von der MPUX über das Register 14 an die MPUY übertragen und Zustandsinformationen über das Zustandsregister 89 in den MPU's ausgetauscht werden. Dann werden die MPUX-Mikroprogramme in vereinfachter Form beschrieben, um die Funktion der MPUX in der E/A-Steuereinheit 11 zu zeigen. Die Beschreibung der MPUX- und MPUY-Abfrage zeigt die übertragung von Signalen von der MPUY auf die MPUX über die Register 15. Dieser Beschreibung folgt eine ähnliche Beschreibung der MPUY-Mikroprogramme. Die Beschreibung wird abgeschlossen durch eine Beschreibung der Beziehung des Ansprechens der Datenflußschaltungen 13 auf die Mikroprogramme.
UNTERBRECHUNGSABTASTUNG
MIKROPROGRAMME FÜR ZUSTANDSABTASTUNG - MPUX UND MPUY
Die Fign. 8 und 9 zeigen in Ablaufdiagrammen die Mikroprogramme für die X-Frei-Abfrage und die Y-Frei-Abfrage. Teile dieser Programme fragen auf Unterbrechungen von INTFX an und prüfen die Adressierbarkeit der MTU's daraufhin, ob eine vorhergehende INTFX-Anforderung empfangen wurde und liefern Zustandsinformationen für
Docket BO 970 012
20981 5/1539
-. 27 -
nachfolgende Aktionen an INTFX. Die Fign. 10 bis 14 sind genauere Diagramme mit den während dieser ünterbrechungsabfrage ausgeführten Funktionen. Sie sind mit DEPRIME bezeichnet, was bedeutet DEVICE END PRIME. Wenn eine MTU ihre Funktion beendet hat, liefert sie ein Freisignal. Die MPUY fragt einige DEPRIMES genannte LSR-Register ab, wobei Anforderungen (PRIMES) von der INTFX gespeichert sind. Bei Empfang einer DEVICE END-Abfrageanforderung von der MPUX prüft die Y-Frei-Abfrageroutine 121 diese LSR-Register auf PRIMES. Bei Feststellung eines PRIMES, wird die zugehörige MTU auf ein Freisignal hin geprüft. Ist dieses Signal vorhanden, wird die Information an die MPUX zur Weiterleitung an INTFX geleitet.
Beim ersten Start, d.h. beim Drücken eines Startknopfes, werden alle Zustände in der E/A-Steuereinheit gelöscht. Die MPUX wird durch Bauteile angezapft und führt eine MPUX-Prüfroutine durch (nicht dargestellt). Die MPUY wird aus dem angezapften Zustand entlassen und führt ihre MPUY-Prüfroutine (nicht dargestellt) durch. Bei erfolgreichem Abschluß (keine Fehler) beider Routinen (nicht dargestellt) wird die MPUY wieder über Bauteile angezapft und die MPUX läuft in die X-Frei-Abfrage.
Bei einer Anzapfung durch INTFX wird mit der X-Anzapfung 122 und der Anfangswahl 125 begonnen. Dann läuft die Operation in die Frei-Abfrage 120 zur Prüfung des laufenden Zustandes und Festlegung des Unterbrechungszustandes. Die Bezeichnung "Frei-Abfrage" ist der Codename zum Eingang in die Prüfung des laufenden Zustandes 152. Diese Unterroutine wird jetzt genauer beschrieben. Die ausgeführten Funktionen sind leicht mikroprogrammierbar. Zu diesen Funktionen gehört zuerst einmal die Rückstellung des Steuereinheiten-Belegungskennzeichens (CUB) für INTFX. Das bedeutet, daß das Mikroprogramm den Frei-/Belegt-Zustand der E/ASteuereinheit 11 bestimmt. Zu dieser Aktion gehört die Prüfung auf gestappelte Anforderungen, Schlangen, einen reservierten laufenden Zustand der L/Iv-Steuereinheit, Verkettung unci bedingte Verknüpfungsbedingungen, tfenn kein laufender Zustand vorhanden
209815/1539
DocKet BU 97O 012
ist, läuft das Programm weiter in die Beendigungsroutine 130 entsprechend genauerer Erklärung im Zusammenhang mit Fig. 19. Wenn sich die E/A-Steuereinheit 11 in einer verketteten Bedingung befindet, läuft' das Programm wieder in die Anwahl-Warteroutine 150, bis INTFX das nächste verkettete Kommando abgibt. (Die Verkettung ordnet eine MTU einer vorbestimmten Folge von Operationen unter INTFX-Steuerung zu, die nicht unterbrochen kann.) Als nächstes wird festgestellt, ob eine bedingte Verknüpfung für IrJTFX vorgenommen wurde. Ist das der Fall, d.h., die Bedingung für die Verknüpfung ist die Möglichkeit zur Ausführung der angeforderten Funktion, dann muß sie warten, bis INTFX festgestellt hat, ob das eine MTU enthaltende Untersystem eine gegebene Funktion ausführen soll oder nicht. Eine bedingte Verknüpfung tritt auf, wenn die E/A-Steuereinheit 11 eine Anzeige für einen Gerätefehler oder dgl. liefert. Wenn keine der obigen Bedingungen festgestellt wird, wird ein Register für den laufenden Zustand im LSR gelöscht.
Bei einigen peripheren Untersystemen kann INTFX tatsächlich aus mehr als einem Datenkanal bestehen. Eine solche Anordnung wird MIS (Anschlußstellen-Mehrfachschalter) genannt. Ein solcher Schalter verfügt im allgemeinen über zwei Datenkanäle A und B. durch willkürliche Definition hat der Kanal A bei der Bedienungsanforderung Priorität vor dem Kanal B. Wenn eine solche Einheit in der INTFX enthalten ist, prüft die Prüfung des laufenden Zustandes 152 ausstehende Anforderungen von beiden Kanälen und deren Priorität. Im erregten Zustand bezeichnet STAT B den Kanal B, im abgeschalteten Zustand den Kanal A. Jeder abgefühlte Zustand wird entweder im LSR der MPUX oder im Bit A des Zustandsregisters festgehalten, welches die interne BOC (bedingte Verzweigung) ist. Wenn die Prüfung des laufenden Zustandes 152 feststellt, daß kein Zustand läuft und die Steuereinheit nicht verkettet ist, werden vorher empfangene Unterbrechungsanforderungen für eine belegte MTU abgefragt. Diese tragen die Bezeichnung DEVICE EWD PRII4ES (DEPRIMES) .
Docket bo 970 ui2 209815/1539
2U8847
Die Abfrage von DEPRIMES erfordert Mikroroutinen sowohl in der MPUX als auch in der MPUY. Die DEPRIMES sind im LSR der MPUY in vier LSR-Registern gemäß nachfolgender Aufstellung gespeichert :
TABELLE 1
DEPR. MAPP. - LSR IN MPUY LSR Byte INTFY MTU
Adresse Kanal Adressen
111 A 0-7
112 A 8-15
113 B 0-7
114 B 8-15
In der obigen Tabelle hat die E/A-Steuereinheit 11 die Möglichkeit, Verbindungen über die Kanäle A und B der INTFX und die MTU 0-15 der INTFY herzustellen. Jede MTU kann an die Kanäle A oder B über die E/A-Steuereinheit 11 angeschlossen werden. Die LSR-Byteadressen 0111-0114 sind willkürlich gewählt. Jede MTU hat eine Bitposition im entsprechenden LSR-Byteregister. Die Mikroroutinen fragen das LSR auf Einsen (PRIMES) in den Bitpositionen ab. Bei Feststellung einer Eins wird INTFY abgefragt, um den Frei-/ Belegt-Zustand der zugehörigen MTU zu ermitteln. INTFY antwortet über MPUY und zeigt an, ob die MTU zur Verfügung steht oder nicht. Wenn ein DEVICE END von der adressierten MTU empfangen wurde, wird eine Verbindung von INTX nach INTFY hergestellt, um Datensignale zwischen der CPU und der adressierten MTU zu übertragen. Wenn die MTU belegt ist, läuft die Abfrage weiter, bis ein PRIME gefunden oder die Abfrage beendet wird. Wenn in den LSR-Bytes 111 bis 114 keine PRIMES stehen, heißt das, daß keine Anforderungen ausstehen. Wenn eine Abfrage beendet ist, ohne daß PRIMES gefunden wurden, beginnt daher die Routine IDLEPEND 150 und mit ihr das Warten auf eine weitere IWTFX-Aktion.
209815/1539
2U8847
Bei Beendigung der Prüfung des laufenden Zustandes 152 werden gemäß Darstellung in Fig. 8 nacheinander zur ünterbrechungsabfrage vier Unterroutinen begonnen. Die erste Unterroutine X-DE-PRIME 154 setzt die MPUX auf Unterbrechungsabfrage und zapft die MPUY an auf EXEXDEP in Y-DEPRIME 155 (Fig. 9). Die MPUY-Ünterroutine 155, die genauer im Zusammenhang mit Fig. 11 erklärt wird, fragt ihre LSR-Byteregister 111 bis 114 entsprechend der obigen Tabelle 1 ab. Bei einem Treffer wird die MTU-Adresse auf ihr Austauschregister YA geliefert und das B-Bit ihres Zustandsregisters 89 gesetzt. Wenn die MPUX ein gesetztes STAT B feststellt, holt sie die Einheitenadresse über das YA-Tor 97 (Fig, 2). Die Abfrage erfordert, daß die MPUX ihr Bit STAT C setzt, um anzuzeigen, daß eine MTU gewählt wird. Bei Abfühlung von MPUY STAT C beginnt die MPUY die MPUY-Zustandsprüfung 156. Diese Unterroutine ruft nicht nur die MTU-Adresse ab, sondern prüft auch verschiedene Zustandsbits und Fehler und speichert den Zustand in ihrem eigenen LSR. Die MTU-Adresse wird in der Unterroutine 157 geprüft.
Nach der Adreßprüfung läuft die MPUX in die X-Aufruf-Routine INTFY 158. Die Unterroutine 158 zapft MPUY nach EXECPOLL in Y-Aufruf INTFY 160 an. In der Unterroutine 160 fragt die MPUY INTFY nach Tätigkeit und Zustand ab. Sobald INTFY als erregt festgestellt wird, d.h., die gewählte MTU hat geantwortet, wird die Abfragefolge wieder an MPUX zurückgegeben und damit angezeigt, daß INTFY aufgerufen wurde (MPUY STAT C ist erregt). Die MPUX reagiert durch Setzen des Einheitenzustands in ihr eigenes LSR und Lieferung von Steuersignalen an INTFX mit der Bezeichnung "SUPPRESSIBLE Untersystem zur Ausführung der angeforderten Funktion verfügbar ist. Die MPUX läuft aus über X-Aufruf INTFY 158 nach IDLEPEND 150. Sie wartet dann darauf, daß die CPU weitere Aktionen einleitet. Die MPUY läuft über die Unterroutine 154 aus und wartet auf die MPUX über POLLMTIX gemäß Erklärung im Zusammenhang mit Fig. 11.
Anschließend werden im Zusammenhang mit den Fign. 10 und 11 die Unterroutinen X-DEPRIME 154 und Y-DEPRIME 155 beschrieben. Die
Docket BO 970 012 2 0 9 8 15/1539
2U8847
ünterbrechungsanfrage wird eingeleitet über den Eingang von X-DEPRIME 154 bei 163. Der erste Schritt besteht darin, daß DEVICE END in das LSR gesetzt und das MPUX-Zustandsregister 89 gelöscht wird. Dieser Vorgang zeigt an, daß die Einschaltung des Kanales A zuerst geprüft wird und keine MTU gewählt ist. Im Prüfschritt stellt die MPUX dann fest, ob die E/A-Steuereinheit 11 vorher durch IdTFX reserviert wurde. Wenn das der Fall ist, stellt die MPUX im Schritt 165 dann fest, ob es sich um den Kanal A oder den Kanal B handelt. Ist es der Kanal ß, wird STAT B auf "1" gesetzt, so daß die MPUY jetzt auf Kanal B DEPRIMES prüfen muß. Andernfalls wird STAT B zurückgestellt und angezeigt, daß auf Kanal A DEPRIMES zu prüfen ist. Für den Fall, daß die E/A-Steuereinheit 11 nicht reserviert war, wird der Schritt 165 umgangen.
Im Schritt 166 wird die MPUY angezapft nach Y-DEPRIME bei EXECDEP 155. Zu diesem Zeitpunkt kann die MPUX in ein anderes Programm laufen und zur MPUY-Zustandsprüfung 156 an einem späteren Zeitpunkt zurückkehren. In dieser Beschreibung läuft die MPUX leer, bis die MPUY die Routine Y-DEPRIME 155 abgeschlossen hat.
Wenn die MPUY angezapft wird, läuft sie bei 170 (Fig. 11) in die Y-DEPRIME-Unterroutine 155. Zuerst stellt die MPUY fest, ob Kanal A oder Kanal B abzufragen ist. Dadurch wird die LSR-Adressierung während der Abfrageoperation beeinflußt. Die Operation läuft weiter in den Schritt 171 oder 172 abhängig davon, ob von MPUX STAT B der Kanal A oder der Kanal B angezeigt wird. Die Schritte setzen die MPUY entweder auf Abfrage A oder B DEPRIMES. Wenn keine Treffer in der Abfrage vorhanden sind, setzt die MPUY STAT D (keine PRIMES gefunden) in Schritt 173 und wartet auf die 11PUX. Wenn im Schritt 179 an einer gegebenen LSR-Stelle kein DEPRIME gefunden wird, schaltet das Mikroprogramm die Abfrage im Schritt 177 auf die nächste MTU-Adresse. Die Abfragezahl wird ebenfalls vorgeschaltet. Der Entscheidungsschritt 178 vergleicht die Abfragezahl mit der Anzahl von angeschlossenen MTU1s. Wenn die Abfrage beendet ist, sind keine DEPRIMES gefunden worden. Dann setzt der Schritt 173 STAT D und die MPUY wartet auf die HPUX.
uocket bo 970 üi2 209815/1539
Wenn die Abfrage nicht erfolgte, wird im Schritt 179 die nächste DEPRIME-Stelle untersucht.
Bei Feststellung eines DEPRIME im Schritt 179 wird die MTU-Adresse nach YA geliefert und STAT B gesetzt. STAT C teilt der MPUX mit, daß die MTU-Adresse in YA verfügbar ist. MPUY wartet dann bei 180 darauf, daß die MPUX die MTU-Adresse holt. Wenn die MPUX ihren STAT C setzt (Fig. 12, Schritt 189), dann stellt die MPUY ihren STAT C zurück, um Y-DEPRIME 155 fortzufahren. Sobald die MPUX STAT C setzt, führt die MPUY den Schritt 182 aus, um festzustellen, ob die adressierte MTU geschaltet ist oder nicht, d.h., an eine andere E/A-Steuereinheit (nicht dargestellt) angeschlossen ist. Wenn das der Fall ist, steht die adressierte MTU nicht zur Verfügung und die Abfrage läuft weiter über den Indexierschritt 177. Wenn die adressierte MTU zur Verfügung steht, werden ihre Abfühldaten im Schritt 185 geholt. STAT C wird dann zurückgestellt. Im Entscheidungsschritt 181 stellt die MPUY als nächstes fest, ob die adressierte MTU belegt ist oder nicht. Wenn sie belegt ist, wird die Abfrage über den Indexierschritt 177 fortgesetzt. Wenn die dem abgefühlten DEPRIME entsprechende MTU nicht belegt ist, setzt die MPUY im Schritt 183 STAT C und läuft in die Y-Frei-Äbfrage (Fig. 9) über POLLMTIX. In POLLMTIX (Fig. 9) wartet die MPUY bei 186 darauf, daß die MPUX STAT C (Fig. 12) setzt. MPUX hat die MTU-Adresse von YA geholt. Sobald MPUX STAT C abgefühlt wird, löscht die MPUY das DEPRIME in LSR und setzt STAT D zum Warten auf die MPUX.
Zuletzt wurde von der MPUX der Schritt 166 (Fig. 10) beschrieben, worin sie die MPUY anzapfte zur Ausführung der gerade im Zusammenhang mit Fig. 11 beschriebenen Operationen. Die MPUX kann dann in andere Programme hineinlaufen, kehrt jedoch schließlich zur Frei-Abfrageroutine bei 187 der Fig. 12 zurück, um den Zustand der MPUY zu überprüfen. Zuerst stellt die MPUX im Schritt 188 fest, ob die MPUY STAT C oder STAT D gesetzt hat, d.h., ob ein DEPRIME festgestellt oder eine Abfrage beendet wurae. Die HPUX wartet bei 188, bis einer der beiden MPUY STAT's gesetzt wird.
Docket BO 370 012 2098 1 5/1S3S
2U8847
Wenn zuerst angenommen wird, daß STAT C gesetzt ist, dann muß die MTU~Adresse überprüft werden. Im Schritt 189 holt die MPUX die MTU-Adresse vom IA-Register 15. Diese MTU-Adresse wird dann im Schritt 189 auf das TU-Adreßregister 60 (Fig. 2) übertragen. Gleichzeitig wird eine Kennzexchenleitung zu den MTU's. (nicht dargestellt) mit der Beschriftung "Wahl" so erregt, daß jede MTU die Adresse im TU-Register 60 überprüft. Die MPUX setzt auch STAT C, um der MPUY anzuzeigen, daß die MTU gewählt wird. Wenn angenommen wird, daß MPUY STAT C anbleibt, läuft im Verzweigungsschritt 190 die Mikroroutine zum Schritt 191, wo die MTU-Adresse auf das LSR übertragen wird. Dieses ist eine Speicheroperation, so daß die MPUX die später beschriebenen Operationen im Zusammenhang mit der Wahl der adressierten MTU ausführen kann. Dann läuft die Operation bei TERMSTAT in die X-Beendigung 130 und informiert INTFX von den gesammelten Zustandsdaten und ermöglicht der MPUX ein Warten auf weitere Instruktionen.
Als nächstes wird angenommen, daß MPUY STAT C aus ist (MTU-Adresse war nicht in YA) und STAT B der MPUY ein ist (MTU-Adresse jetzt in YA). Dann beginnt die Routine wieder am Punkt 192, wo die MTÜ-Adresse vom YA geholt wird. Wenn die STAT's B, C und D alle aus sind, wartet die MPUX auf die MPUY bei 193, bis eines der drei STAT's gesetzt wird. Wenn als nächstes angenommen wird, daß MPUY STAT D auf Ein gesetzt ist und die STAT's B und C aus sind, ist eine weitere Zustandsprüfung erforderlich. Es kann ein Fehler vorliegen. Wenn ein Fehler vorliegt, wird zunächst eine ALU-Fehlersuche (DIAG 127) begonnen. Wenn kein Fehler vorliegt wird wieder geprüft, ob die E/A-Steuereinheit durch INTFX reserviert wurde oder nicht. Wenn sie reserviert wurde, wird jetzt der X-Aufruf 129 (Fig. 17) begonnen, um festzustellen, ob die E/A-Steuereinheit in einem Reservierungszustand aufgerufen wurde. Wenn das MPUX STAT B ein ist, wird dieselbe Routine begonnen. Wenn diese beiden Bedingungen ausgeschaltet sind, wird von der MPUX das STAT B gesetzt und das B-Anschlußstellenkennzeichen (Kanal B aktiv). Danach wird die Routine am Punkt 192 wieder aufgenommen, bis eine Änderung des Zustandes die Mikro-
uocket BO 970 012 209816/1E39
routine dazu veranlaßt, zu einer anderen der oben beschriebenen Bestimmungen zu verzweigen.
Für den Wartezyklus 188 wird jetzt angenommen, daß das MPUY STAT D eingeschaltet ist, d.h. keine DEPRIMES gefunden wurden. Zuerst werden dann im Schritt 195 MPUY-Fehleranzeigen geprüft. Wenn ein Fehler vorliegt, wird eine mit der MPUY zu betreibende Fehlersv hroutine begonnen. Wenn kein Fehler vorliegt, wird der Reservierungszustand der E/A-Steuereinheit im Schritt 196 geprüft. Wenn sie reserviert ist oder wenn die Steuereinheit 11 nicht reserviert und das MPUX STAT B ausgeschaltet ist, dann wird der in Fig. 13 gezeigte X-Aufruf 129 bei POLLMTI begonnen. Diese Routine leitet den Aufruf einer adressierten MTU zur Feststellung ihres Zustandes ein. 'wenn das MPUY STAT B ein ist, wurden die A DEPRIMES so abgefragt, daß B DEPRIMES jetzt abgefragt werden können. Das B-Anschlußstellenkennzeichen wird auf Ein gesetzt und die Mikroroutine kehrt zum Schritt 166 in Fig. 10 zurück, um die MPUY zur Abfrage von B DEPRIMES anzuzapfen.
Der X-Aufruf 129 (Fig. 13) wird folgendermaßen durchgeführt. Im Schritt 200 werden zunächst die LSR-Register gelöscht, die Informationen zur Bewegungssteuerung und zum Zustand enthalten, um sie zur Aufnahme der Zustandsdaten von der Abfrage vorzubereiten. Im Schritt 201 zapft die MPUX die MPUY für den Y-Aufruf IiSITFY 160 bei EXECPOLL an, wie anschließend im Zusammenhang mit Fig. 14 erklärt wird.
Die MPUY läuft in den Y-Aufruf INTFY 160 über die MPUX-Anzapfung. Im Schritt 202 stellt die MPUY zuerst fest, ob INTFY eingeschaltet ist oder nicht, d.h. ob von einer MTU irgendwelche Steuersignale empfangen werden. Wenn keine Signale vorliegen, wird im Schritt 2O3 STAT D gesetzt und die MPUY wartet dann auf MPUX. STAT D stellt die Verbindung zur MPUX her und sicher, daß sie der richtigen Mikroroutine folgt. Wenn INTFY erregt ist, werden ausgewählte Register mit der Bezeichnung "Arbeit 1" im LSR gelöscht. STAT B wird dann gesetzt und zeigt der MPUX an, daß INTFY erregt
Docket BO 970 012
209815/1539
ist. Dann läuft die MPUY weiter in den Wartezyklus 204 bis die MPUX "STAT C" setzt (MPUY kann weiterlaufen).
In der Zwischenzeit hat die MPUX in den zweistufigen Entscheidungszyklus 205 (Fig. 13) darauf gewartet, daß die MPUY entweder STAT B oder STAT D setzt. Wenn STAT D gesetzt ist und die MPUY angezapft wurde, um die Tätigkeit von INTFY zu bestimmen, kann im Untersystem ein Fehler aufgetreten sein. Demzufolge wird eine Fehlersuchroutine begonnen. Wenn MPUY STAT B nicht zurückgestellt wurde, wartet die MPUX darauf, daß die MPUY STAT B im Schritt 206 in Fig. 14 setzt. Die MPUX bewegt sich dann, um die Wahlleitung (nicht dargestellt) im INTFY anzuheben und stellt das Bandeinheiten-Adreßregister 60 auf lauter Nullen zurück. Dadurch wird eine Abfrage von MTU-Adressen eingeleitet, bis die MPUY STAT C einschaltet, d.h. INTFY wird erregt.
Diese Abfrageschleife umfaßt das Setzen von STAT C im Schritt 208, wodurch die MPUY zur Ausführung eines Y-Abfragezyklus 209 veranlaßt wird. Die MPUY wartet bei 204, bis die MPUX STAT C im Schritt 208 gesetzt hat, dann stellt die MPUY im Schritt 211 fest, ob INTFY aktiv ist oder nicht. Ist das der Fall, ist die adressierte MTU betriebsbereit und STAT D wird im Schritt 212 gesetzt. Dann läuft die Mikroroutine zur Y-gerufenen Unterroutine aus und in POLLMTIX der Fig. 9 hinein. Wenn INTFY nicht aktiv ist, addiert die MPUY im Schritt 213 eine Eins zum Index und setzt STAT C. Das Setzen von STAT C teilt der MPUX mit, daß die adressierte MTU nicht aktiv war. Dann wartet die MPUY bei 204, bis die MPUX wieder STAT C gesetzt hat.
Der entsprechende Y-Abfragezyklus 210 in der MPUX (Fig. 13) umfaßt einen Wartezyklus mit den Schritten 214, 215 und 216. Der Schritt 214 fühlt ab, ob STAT C der MPUY auf Ein steht oder nicht. Wenn MPUY STAT C eingeschaltet ist, wird die Abfrage durch Indexierung des TU-Adreßregisters 217 indexiert. Dadurch wird die den Schritt 203 adressierende MTU vorgeschaltet. MPUX setzt STAT C und schaltet
Docket bo 970 O12 2 0 9 8 15/1539
2U8847
dadurch die MPUY ein, daß sie vom Schritt 204 (Fig. 14) weiterläuft. Im Schritt 215 (Fig. 13) wird STAT B der MPUY abgefragt, um festzustellen, ob eine MTU INTFY erregt hat oder nicht. Wenn das der Fall ist, wird der Zyklus 210 gemäß späterer Beschreibung erregt. Der Schritt 216 ist ein Fehlerprüfschritt. Wenn die MPUY das STAT D setzt, wird keine Aktivität angezeigt. Wegen der vorhergehenden Tätigkeit von INTFY sollte das ein Fehler sein. Wenn es aktiv ist, wird eine Fehlersuchroutine begonnen. Wenn es abgeschaltet ist, wird der Schritt 214 von neuem ausgeführt und STAT C zurückgestellt.
Bei der Abfühlung von STAT B von MPUY teilt die MPUX INTFX mit, daß eine angeforderte MTU nicht zur Verfügung steht. Im Schritt 218 wird eine Einheiten-Ein-Zustandsleitung in der CTO erregt und dadurch der INTFX mitgeteilt, daß die MTU zur Verfügung steht. In demselben Schritt wird die MTU-Adresse vom TU-Adreßregister 60 auf das LSR für den künftigen Bezug durch Mikroprogramme übertragen. Als nächstes stellt die MPUX fest, ob die E/A-Steuereinheit reserviert ist oder nicht. Wenn sie reserviert ist, wird eine unterdrückbare Anforderung (SUPP REQ IN) auf der CTI des reservierenden Kanales A oder B erregt. Wenn keine Reservierung vorliegt, wird SUPP REQ IN auf allen Kanälen in INTFX angehoben. Die MPUX läuft dann in die mit "IDLEPEND" in Fig. 8 bezeichnete Warteroutine aus.
MPUX ÜBERWACHUNGS-MIKROPROGRAMME
Die Fign. 15-24 stellen vereinfachte Ablaufdiagramme der in der MPUX für die Operationskoordination mit INTFX, Überwachung bestimmter Aspekte der Datenflußschaltungen 13 und Überwachungssteuerung über die MPUY und die MTU's benutzte Mikroprogramme dar.
Diese Programme werden grundsätzlich in der Reihenfolge beschrieben, wie der erste Wahlvorgang sowie die Verbindung während des Einpunktbetriebes und anderer Betriebsarten ausgeführt werden. Die in gewissem Detail beschriebene Iiikroprogramme sind anzapfung,
Docket BO 970 012 209815/1539
erste Wahl, aufgerufener Zustand, Beendigung und Abfrage. Im Einpunktbetrieb werden die Routinen Lesen, Prüfen und Schreiben benutzt. Bedienungsrückkehr wird bei der Zeiteinteilung der Datenübertragungen benutzt. Fehlerzustand, Abfrage und Rückstellbetrieb können mit anderen Mikroprogrammen benutzt werden. Aus dieser Beschreibung geht hervor, daß die MPUX kontinuierlich die CTO auf neu empfangene Instruktionen von der INTFX her überwacht. Besonders wichtig sind die Instruktionen ADDRO, die eine neue Wahl oder eine vorzeitige Beendigung bezeichnet und CMDO, die eine Änderung der Betriebsart bezeichnet.
X-Anzapfung 122 wird eingeleitet durch ein von der INTFX über Leitung 17 empfangenes Anzapfsignal, welches den IC 66 (Fig. 3) auf lauter Nullen setzt. Ungeachtet des gerade ausgeführten Mikroprogrammes erfordert diese Aktion von der MPUX den Empfang des nächsten Instruktionswortes von der ROS-Adresse 000. Das im LSR sowie in den verschiedenen anderen Registern in der E/A-Steuereinheit gespeicherte Zustandswort stellt sicher, daß keine Zustandsdaten verloren gehen.
Bei der Speicherung des Zustandes überträgt der Schritt 220 zuerst die Zustandsinformation auf das LSR, wozu auch die Übertragung der Information vom Fehlerregister 93 gehört. Die im Verbindungsregister 14 gespeicherten Signale werden ebenfalls auf das LSR in eine vorgewählte Byteadresse so übertragen, daß die MPUX diese Information wiedergewinnen kann. Die Verbindungsregister werden dann auf lauter Nullen gelöscht und dadurch die von der INTFX geforderte Ausführung von Funktionen vorbereitet. Im Schritt 221 prüft die MPUX, ob die CTO ein erstes Wahlsignal von der INTFX empfängt oder nicht. Wenn INTFX die erste Wahl anzeigt, beginnt die erste Wahlroutine 125, die anschließend im Zusammenhang mit Fig. 16 erklärt wird. Handelt es sich nicht um eine erste Wahl einer Anzapfoperation, zapft die MPUX im Schritt 222 die MPUY an und hält sie auf ihrer ROS-Adresse 0000, was im Zusammenhang mit Fig. 3 beschrieben ist. Im Entscheidungsschritt 223 stellt die MPUX fest, ob eine allgemeine oder wahl-
Docket BO 970 012 209815/1539
2H8847
weise Rückstellung vorliegt oder nicht. Die Rückstellung gestattet der E/A-Steuereinheit einen neuen Start entsprechend den INTFX-Kommandosignalen. Wenn keine dieser Bedingungen während einer Anzapfung auftrat, liegt ein Fehler vor. Zur Ermittlung der Fehlerquelle werden dann Fehlersuchroutinen angefangen.
Die erste Wahlroutine 125 ist in besonderem Zusammenhang mit Fig. 16 erklärt. Die Routine wird am Punkt 226 zum Prüfen der Anfangsbedingungen im Schritt 227 begonnen. Die MPUX muß ermitteln, welche Anfangsbedingungen zu später zu benutzenden Programmverzweigungsoperationen führen, bevor sie die Bedeutung des ersten Wahlsignales von INTFX auswerten kann. Wenn ADDRO auf CTO inaktiv ist, wird die X-aufgerufene 129 (Fig. 13) begonnen. ADDRO zeigt an, daß INTFX Zugriff zu der durch die Signale auf CBO bezeichneten MTU fordert. Wenn ADDRO aktiv ist, reagiert die E/A-Steuereinheit 11 entweder mit ADDRI (MTU ist verfügbar) oder mit CUB (Steuereinheit belegt).
Von den Anfangsbedingungen wird weiterhin der gegenwärtige CU-Zustand geprüft, ob die E/A-Steuereinheit 11 in dieser Operation gestappelt ist oder nicht, ob eine laufende Verbindung vorliegt oder nicht und dgl. Bei irgendeinem laufenden Zustand wird die laufende Adresse der MTU verglichen mit der geforderten Adresse auf CBO. Wenn sie übereinstimmen, wird ADDRI auf CTI aktiviert. Auch wenn kein ausstehender Zustand läuft oder die Adressen dieselben sind, wird das Signal OPERATION IN angehoben.
Wenn die MPUX festgestellt hat, daß alle Anfangsbedingungen für die INTFX-Anforderung erfüllt sind, wird die Anfangsunterroutine 228 begonnen. Wenn auf der anderen Seite die laufende MTU-Adresse mit der angeforderten MTU-Adresse nicht übereinstimmt, gibt das Mikroprogramm augenblicklich ein Signal an die Anschlußeinheit, daß eine Anwahl nicht möglich ist.-Die Anschlußeinheit gibt dieses CUB-Signal zurück und macht mit dem Rest des Wahlversuches weiter. Wenn eine laufende Verbindung vorlag, wird zur erneuten Überprüfung der Situation die Routine IDLESCAN 120 erneut begonnen. Wenn keine
Docket BO 970 012 2 0 9 8 1 5 / 1 5 3 θ
2U88A7
kontinuierliche Verbindung vorlag, setzt die MPUX die Steuereinheit in den laufenden Zustand und beginnt die Beendigung 130.
Die Initialisierung 228 löscht den alten Zustand, bereitet die E/A-Steuereinheit 11 für eine neue Operation vor und liefert Signale an INTFX, die angeben, daß die E/A-Steuereinheit 11 zum weiteren Lauf bereit ist. Die von INTFX empfangene MTü-Adresse wird in ein laufendes Adreßregister im LSR sowie in das Austauschregister 14 zwecks Übertragung an die MPUY gesetzt. Es wird außerdem auf das Tü-Adreßregister 60 zur Wahl der MTU geleitet. Die I'IPüY wird dann angezapft, um die MTü-Adresse aus dem Austauschregister XA zu holen. Die MPUX verschiebt die MTU-Adresse auf CBI zwecks Überprüfung mit INTFX, daß die richtige Adrese empfangen wurde. Die Initialisierung wird beendet durch Anheben des ADDRI-Signales im CTI und anschließende Prüfung daraufhin, ob Fehlersuchen durchzuführen sind oder nicht.
Wenn ADDRO jetzt in CTO aktiv ist, wird die Beendigung 130 begonnen (Fig. 19). Eine zu diesem Zeitpunkt aktive ADDRO besagt, daß INTFX die Operation zu beenden wünscht. Demzufolge wird in der Beendigung 130 der Zustand wieder gelöscht und MPUY angezapft, um die vorher adressierte MTU wieder abzuwählen. Die E/ASteuereinheit geht dann in den Leerlauf 150 zurück und wartet auf die Anwahl. Normalerweise ist ADDRO nicht aktiv und die MPUX wartet auf CMDO. Das CMDO bezeichnet ein auf CBO erscheinendes Kommandosignal. Während dieser Warteperiode werden Bauteilfehler überwacht. Wenn z.B. ein Signal "Bedienung aus" geliefert wird, ist ein INTFX-Fehler aufgetreten. Dann stoppt die E/A-Steuereinheit 12 alle Operationen während der Klärung dieses Fehlers entweder durch manuelles Eingreifen oder anschließende CPU-Fehlersuchen und resultierende Steuersignale, die sich nicht auf die vorliegende Erfindung beziehen.
Bei Empfang von CMUO über CTO von INTFX wird das Abrufkommando 229 begonnen. Das Kommando wird von CBO abgerufen, auf Paritätsfehler geprüft und durch die MPUX analysiert. Bei diesem Kommando
Docket BO 970 012 2 0 9 8 15/1539
kann es sich um eine E/A-Prüfung (TIO), ein NOP-Kommando, ein Lese-Schreib- oder ein anderes Kommando handeln. Während des Kommandoabrufes werden Bauteilfehler, laufender Zustand, gestappelter Zustand und dgl. erneut überprüft. Wenn ein Zustand läuft oder gestappelt ist und das Kommando nicht TIO lautet, liefert die MPUX ein Signal CUB INTFX, d.h., die E/A-Steuereinheit befindet sich mitten in einer Operationsfolge und kann keine weiteren Zuordnungen aufnehmen.
Während des Abrufkommandos 229 werden verschiedene Verzweigungsbedingungen in das LSR zur späteren Benutzung durch die MPUX gesetzt. Wenn z.B. ein Zustand läuft oder gestapelt ist und ein TIO-Kommando vorliegt, werden in der X-Beendigung 130 zum Abschluß dieses Teiles des Mikroprogrammes drei möglichen Routinen benutzt. Die ausgeführte Routine ist eine Funktion verschiedener Bedingungen im INTFX und der MPUX. Weiterhin wird geprüft, ob die adressierte MTU belegt ist oder nicht. Wenn die adressierte MTU belegt ist, werden verschiedene Bedingungen aufgestellt und der Belegungszustand der MTU durch Zustand 132 an INTFX gegeben. Wenn ein Fehlerkennzeichen von INTFX an CTO aktiv ist, wird auch die Fehlersuche 127 begonnen. Wenn keines der obigen Kennzeichen auftritt, wird die Kommandodecodierung 230 angefangen. Dieser letzter Schritt ist die Einleitung einer Datenverarbeitungsoperation wie Lesen, Schreiben und dgl.
Die Kommandodecodierung 230 nimmt die CBO-Signale und analysiert sie, um die auszuführende Funktion festzustellen. Das Mikroprogramm verzweigt entsprechend dem Kommandocode im CBO entweder zum X-Lesen 137, zum X-Schreiben 138, zum Fehlerzustand 139 (basierend auf einer Kommandozurückweisung) oder zur Einleitung einer Bewegungssteuerung, wie Rückspulen, Vorspulen, Löschen und dgl. Diese Routinenausführungen ersetzen Bauteilfolgen in früheren E/A-Steuereinheiten. Da die Funktionen allgemein bekannt sind, werden sie nicht weiter beschrieben.
Für die erste Anwahl wird der X-Aufruf 129 zentriert, wenn AüüRü Docket bo 970 012 2 0 9 8 15/1539
2H8847
nicht aktiv ist. Die erste Wahlverzweigung mit abgeschaltetem ADDRO zeigt an, daß eine Mikroprogrammanforderung zur Bedienung durch den E/A-Kanal befolgt wurde. Normalerweise verarbeiten Bedienungsanforderungen Unterbrechungen, welche bei den DEPRIME POLLMTI-Routinen gefunden wurden. Diese Mikroroutine ersetzt eine frühere Bauteilfolge, welche die INTFX-Aufrufanforderung untersucht, den aufrufenden Kanal (A oder B) ermittelt und dann Verzweigungsbedingungen für die spätere Benutzug bei der ersten Wahlverarbeitung festsetzt. Der erste Schritt im X-Aufruf 129 prüft den Zustand und betätigt dann das Betriebskennzeichen auf INTFX und bestätigt den Empfang des Aufrufs. Wenn der Zustand bereits läuft oder gestappelt ist, sind die entsprechende MTU- und CU-Adresse bereits im LSR gespeichert. Wenn der Zustand weder gestappelt ist noch läuft, setzt die MPUX die MTU- und CU-Adreßinformation für INTFX zusammen.
In der Unterroutine 234 stellt die MPUX mit Hilfe einer Anzeige über eine nicht dargestellte Bauteilverriegelung fest, ob der Kanal A oder Kanal B aufruft. Eine entsprechende Nachricht wird in das LSR gesetzt und alle REQUEST IN-Kennzeichen gelöscht. Das bedeutet, daß die E/A-Steuereinheit nicht länger für eine neue Anforderung vom INTFX zur Verfügung steht. Die vorliegende Anforderung muß vollständig verarbeitet sein, bevor die E/A-Steuereinheit 11 mit INTFX für eine neue Anforderung in Verbindung treten kann.
Nachdem die MPUX festgestellt hat, welcher Kanal innerhalb der INTFX aufruft, wird die Einheiten- oder MTU-Adresse durch die Unterroutine 235 geprüft. Die Adresse wird auf das INTFX über CBI des Registers 42 zurückgesendet. Zu diesem Zeitpunkt wird das ADDRI-Kennzeichen im Register 43 angehoben und angezeigt, daß die Information auf der CBI eine Adresse ist. Verzweigungsbedingungen im LSR werden wieder für spätere Verwendung durch Mikroprogramme während der ersten Wahlverarbeitung festgesetzt. Dann wartet die MPUX, bis entweder die ADDRO-Kennzeichenleitung oder die CMDO-Kennzeichenleitung erregt wird. Wenn die CMDO-Lei-
Docket bo 970 012 209815/1539
tung erregt wird, gibt die MPUX den Zustand an INTFX über X-Zustand 132 zurück. Wenn ADDRO erregt ist, wird die HIONOP-ünterroutine in der Beendigung 130 angefangen. Diese Unterroutine stellt die E/A-Steuereinheit 11 zurück und beendet die Anwahl einer gewählten MTU.
Der Zustand wird an INTFX auf Anforderung zurückgegeben oder jedesmal, wenn ein CMDO verarbeitet wird. Während einer Einheitenadreßprüfung im X-Aufruf 129 wurde z.B. ein CMDO-Kennzeichen abgefühlt, um eine Zustandsrückkehr einzuleiten. Aufgrund eines CMDO läuft die MPUX in den X-Zustand 132 (Fig. 18) bei STATRTN 238. Zuerst wird INTFX im Mikroprogrammzyklus 139 abgefragt. Diese Abfrage besteht aus einer Abfrage auf ADDRO-, SVCO- und CMDO-Kennzeichen. Ist das ADDRO-Kennzeichen erregt, verzweigt das Mikroprogramm nach TERMSTAK in der Beendigung 130 (Fig. 19). ADDRO aktiv zu dieser Zeit zeigt die Beendigung einer E/A-Operation an und daher wird die Beendigung 130 begonnen. Wenn entweder SVCO oder CMDO aktiv sind, wird die INTFX-Abtastung 239 wiederholt, bis diese Kennzeichen inaktiv werden. Diese Versicherung, daß kein außen gebundenes Kennzeichen aktiv ist, muß eingeholt werden, bevor ein innen gebundenes Kennzeichen erregt werden kann.
INTFX ist jetzt zum Empfang einer Zustandsinformation bereit. In der Unterroutine 240 bewirkt die MPUX direkt die Übertragung des Zustandes auf INTFX über CBI. Der INTFX-Abfragezyklus 241, identisch mit Zyklus 239, wird ausgeführt. Wenn CMDO während des Zyklus 241 empfangen wird, stellt die MPUX im Schritt 242 fest, ob CUB gesendet wurde oder nicht. Wenn die E/A-Steuereinheit 11 belegt ist, wird gemäß späterer Erklärung die Beendigung 130 bei TERMSTKl begonnen. Wenn sie nicht belegt ist, wird das Stapelkennzeichen (nicht dargestellt) gesetzt, d.h., eine Anforderung wurde im LSR gestapelt, die nicht bearbeitet werden kann, bevor SUPPRO abfällt. Dann verzweigt das Mikroprogramm in der Beendigung 130 nach TERMSTAK. Wenn SVCO aktiv ist, dann wird im Schritt 243 INTFX SUPPRO geprüft. Wenn SUPPRO aktiv ist, werden
Docket bo 970 012 209815/1539
2U8847
die zugehörigen Verriegelungen oder Kennzeichen im Schritt 244 gesetzt und der laufende Zustand zurückgestellt. Wenn SUPPRO inaktiv ist, werden im Schritt 245 alle Kennzeichen im LSR zurückgestellt. Die beiden Verzweigungen des Mikroprogrammes verbinden sich im Schritt 246 und prüfen die INTFX CUE-Verriegelungen (nicht -dargestellt) darauf, ob irgendwelche anderen ersten Wahlen vom Kanal A oder B empfangen wurden, während die E/A-Steuereinheit belegt war. Das Mikroprogramm verzweigt dann bei TERMACC zur Beendigung 130. In der Zustandsroutine bestehen also drei mögliche Verzweigungen - TERMSTKl, TERMSTAK und TERMACC. Die beiden ersten Beendigungen basieren auf der Stapelung des Zustandes und die dritte auf der Annahme des Zustandes. Die Beendigung 130 beendet die momentan ausgeführten Mikroroutinen und bereitet die E/ASteuereinheit für nachfolgende Aktionen relativ zu INTFX vor.
Ein gemeinsamer Eingang zur Beendigung 13O (Fig. 19) ist über TERMSTAK bei 247. In der ünterroutine 248 wird der Zustand mit INTFX geprüft. Dazu gehören laufender Zustand, gestappelter Zustand, Operation inaktiv, Steuereinheit belegt (CUB), Kanal A oder B wählend, sind CUE's vorhanden und dgl. Wenn kein Zustand läuft, verzweigt das Programm nach IDLESCAN. CUE ist eine Verriegelung (nicht dargestellt), die das Steuereinheitsende bezeichnet. Wenn CUB aktiv ist, blockiert die CUE-Verriegelung jeden Wahlversuch, bis die Steuereinheit nicht belegt ist.
Bei erfolgreicher Prüfung des Zustandes wird während des Schrittes 249 auf OPERATIONAL IN geprüft. Wenn auf CTI das Signal OPERATIONAL IN angehoben wurde, wird damit eine erste Wahl als erfolgreich gestartet angezeigt. Die Unterroutine 250 setzt drei Verzweigungsbedingungen zum Eintritt in die Beendigung 130 über die Zustandsroutine 132 (Fig. 18) gemäß früherer Beschreibung. Wenn OPERATIONAL IN nicht aktiv ist, werden in der Unterroutine 241 die Kennzeichen SUPPLEMENTAL REQUEST IN gesetzt. Die Mikroroutine kehrt dann zu IDLEPEND 150 der Fig. 8 zurück.
Wenn eine Kommandorückweisung durch die MPUX vorliegt, wird bei docket bo 970 012 209815/1539
250 die Beendigungsroutine begonnen. Die MPUX setzt das Kommando ' Rückweisung-Prüfkennzeichen und die Kennzeichen für den laufenden Zustand und läuft dann bei 247 nach TERMSTAT.
Ein anderer Eingang zur Beendigung 130 ist über einen Kommando-Paritätsfehler möglich (CMDPARER und CMDPARl). Diese beiden Eingangspunkte können von der Fig. 16, Abrufkommando 229 stammen. Im CMDPARER-Eingang werden INTFX-Abfragedaten gesetzt. Wenn CMDPARl der Eingangspunkt ist, wird der laufende Zustand im Schritt 256 geprüft. Wenn ein Zustand läuft, wird CUB im Schritt 257 gesetzt. Wenn kein Zustand läuft, wird das Kennzeichen für die Prüfung eines laufenden Einheitenzustandes im Schritt 258 gesetzt und dann TERMSTAT begonnen.
Eine unabhängige Unterroutine in der Beendigung 130 ist TERMACC. Diese Unterroutine wird begonnen, wenn der an INTFX gelieferte Zustand angenommen wurde, was durch Empfang SVCO auf CTO angezeigt wird. Eine Zurückweisung des Zustandes wird angezeigt durch ein CMDO, welches das Mikroprogramm zur Verzweigung nach TERMSTAK oder TERMSTKl veranlaßt. Für die TERMACC-Unterroutine wird während des Schrittes 260 OPERATIONAL IN auf CTI inaktiv gemacht. Dann wird während des Zyklus 261 der Zustand E/A-Steuereinheit abgefragt. Wenn die E/A-Steuereinheit verkettet oder einer bedingten Verbindung unterworfen oder reserviert ist, wird im Schritt 262 STAT D gesetzt. Dadurch erfährt die MPUY, daß der IHTFX gelieferte Zustand angenommen wurde. Wenn keine dieser Bedingungen in der Abfrage 261 festgestellt wird, wird eine Halteverriegelung (nicht dargestellt) zurückgestellt. Es handelt sich hier um eine Bauteilverriegelung, die der INTFX mitteilt, daß die Steuereinheitenverbindung zur momentan gewählten Anschlußeinheit A oder. B aus irgendeinem Grund aufrechterhalten wird. Nachdem STAT D gesetzt ist, wartet die MPUX im foartezyklus 264 darauf, daß die MPUY ihr STAT D setzt, welches eine Bestätigung dafür ist, daß sie darauf wartet, daß die I4PUX mit der Verarbeitung der ersten Wahl weitermacht. Dieser Vorgang wird später im einzelnen im Zusammenhang mit Fig. 27 beschrieben.
Docket BO 970 012 209815/1539
Unmittelbar nach Abfühlen des aktiven MPUY STAT D stellt die MPUX im Schritt 265 fest, ob die E/A-Steuereinheit noch verkettet ist oder nicht. Ist sie nicht verkettet, wird die MPUY im Schritt 266 angezapft, um eine an die Steuereinheit angeschlossene MTU abzuwählen oder freizugeben. Im Wartezyklus 267 wartet die MPUX wieder darauf, daß die MPUY STAT D setzt. Wenn MPUY STAT gesetzt ist, wird dadurch angezeigt, daß die Abwahl einer MTU beendet ist. Nachdeiii dieser Vorgang abgeschlossen oder die E/A-Steuereinheit verkettet ist, werden die MTU-Einheitenanzeigen im LSR für INTFX gelöscht und IDLESCAN (Fig. 8) zur Abfrage auf weitere DEPRIMES oder andere Anforderungen begonnen.
Für den Fall, daß der an INTFX während des Zustandes 132 gelieferte Zustand zurückgewiesen wird, werden TERMSTAK oder TERMSTKl begonnen. Wenn TERMSTAK begonnen wird, wird das Haltekennzeichen auf INTFX erregt, CBI gelöscht und alle Kanalkennzeichen in den CTI's zurückgestellt. Im LSR wird das E/A-Belegt-Signal zurückgestellt im laufenden Zustandsbyte. Dann wird IDLESCAN gemäß obiger Beschreibung erneut begonnen.
Ein anderer Eingang in die Beendigung 130 ist HIONOP, welches die Bedeutung hat "nicht laufende E/A anhalten" (in der Steuereinheit 11 erfolgt keine Datenverarbeitung). Eingabe/Ausgabe anhalten bedeutet "E/A-Operationen nicht vorsetzen". Dieser Eingang kann von verschiedenen Routinen erfolgen, z.B. von der in Fig. 16 gezeigten Initialisierung. Bei dieser Eingangsart löscht die MPUX in der Unterroutine 269 zuerst die in Fig. 3 gezeigten Zustandsregister, zapft die MPUY an, um die angeschlossene MTU abzuwählen, setzt das Verkettungskennzeichen in das LSR, löscht CBI im Kanalregister 42 und läßt alle CTI's abfallen. Das Mikroprogramm kehrt dann zur Prüfung des laufenden Zustandes nach IDLESCAN, dargestellt in Fig. 8, zurück.
Während einer Aufzeichnungsoperation, die auch als Schreiboperation bezeichnet wird, kann eine Schreibprüfbedingung auftreten (ein Schreibfehler erfolgte). Eine Schreibprüfbedingung ist be-
Docket bo 970 012 209815/1539
zeichnet mit WCOHIO, was bedeutet "Wortzahl Null oder E/A anhalten" Bei Feststellung einer Schreibprüfbedingung, in welcher die Eingabe/Ausgabeverarbeitung durch INTFX angehalten werden sollte, wird der die Schreibprüfung umgebende Zustand im LSR gespeichert. Das Einheitenprüfkennzeichen wird an CTI geliefert. Das Kennzeichen für den laufenden Zustand wird dann in das LSR gesetzt und HIONOP bei der ünterroutine 269 gemäß obiger Erklärung begonnen.
Aus obigen Beschreibungen ist zu ersehen, daß die Beendigungsroutine 130 viele Eingangspunkte enthält, die eng mit der Beendigung einer bestimmten Mikroprogrammroutine und der Übertragung dieser Information nach INTFX verbunden sind. Diese Vorgänge laufen natürlich zusätzlich zur Übertragung der Zustandsinformation über die Zustandsroutine 132 und die Fehlerzustandsroutine 139 ab. Diese beiden zuletzt genannten Routinen beenden keinen Satz von Mikroprogrammroutinen.
Fig. 20 zeigt in vereinfachter Form Lesetyp und Prüfung 137. Für jede Leseoperation bestimmt die Leseroutine die Art der Lesung, d.h. NRZI, PE, vorwärts, rückwärts und dgl. und die Prüf bedingungen des eine Leseoperation beeinflussenden Systems. In der Unterroutine 270 wird das von INTFX über CBO 43 empfangene Kommando interpretiert. Wenn eine Abfrageoperation eingeleitet wird, wird die Abfrage 140 begonnen. Zweck einer Abfrageroutine ist der Abruf von Daten, d.h., Zustandsinformation und dgl. für INTFX. Wenn das durch die E/A-Steuereinheit empfangene Kommando ungültig ist, wird es zurückgewiesen und die Beendigung 13O bei COMREJCT begonnen, die dann eine Einheitenprüfbedingung an INTFX liefert. Wenn es sich um das TIO-Kommando (E/A-Prüfung) handelt, wird das erste Verknüpfungsregister im LSR auf TERMSTAT für spätere Verwendung in den Beendigungsverfahren gesetzt. Wenn das Kommando eine Leseoperation betrifft, setzt die MPUX in der ünterroutine 271 die Steuereinheit auf Lesen entweder in Vorwärtsoder in Rückwärtsrichtung. Dann setzt die MPUX das erste Verbindungsregister im LSR auf die Unterroutine CLEANIT.
Docket BO 970 012 20981S/1539
2U88A7
Bei Annahme eines Kommandos in der gerade beschriebenen Verarbeitung werden die PU-Prüfroutinen begonnen. Diese Prüfroutinen können auch von der Anfangswahl 125 begonnen werden. Liegt das TIO-Kommando vor, prüft der Schritt 272, ob MPUY STAT C aktiv ist oder nicht. Ist es aktiv, ist der Zustand der MTU so, daß die Einheitenprüfung an INTFX zurückgegeben werden muß. Das erfolgt, indem eine Verzweigung der Mikroroutine zur Beendigung 130 bei CMDPARl veranlaßt wird, d.h., wenn MPUY STAT C aktiv ist, ist der MTU-Zustand für eine E/A-Prüfoperation falsch. Wenn STAT C der MPUY abgeschaltet ist, verzweigt das Mikroprogramm über das erste Verbindungsregister des LSR bei 247 der Fig. 19 nach TERMSTAT.
Bei Einleitung eines Lesekommandos über die Unterroutine 271 werden während des Schrittes 273 alle Abfragedaten in der Steuereinheit gelöscht. Der Prüfschritt 272 wird gemäß obiger Beschreibung durchgeführt. Ein anderer Eingang zur Prüfroutine ist PROTEST. In dieser Eintragung prüfen die beiden Entscheidungsschritte 274 und 275 auf STAT C der MPUY und Dateischutz. Wenn MPUY STAT C eingeschaltet ist, setzt die MPUX die Abfrage zurück und führt den Schritt 272 aus. Wenn MPUY STAT C und der Dateischutz ausgeschaltet sind, geht die MPUX über den Abfragerückstellschritt 273 zur Verzweigungsverbindung 1. Wenn der Dateischutz eingeschaltet ist, d.h., ein Schreiben nicht zulässig ist, geht die IiPUX zum Kommandorückweisungseingang der Beendigung 130.
Aus obiger Beschreibung ist zu ersehen, daß die MPUX-Leseroutine nur eine Überwachungsoperation ist. Die genaue Leseoperationssteuerung wird von der MPUY übernommen, wobei die Datenverarbeitungsschaltungen 13 die eigentlichen Datenverarbeitungsfunktionen ausführen.
Eine ähnliche Situation tritt beim Schreiben 138 (Fig. 21) auf. Die erste Wahl 125 leitet die Schreiboperation bei 276 ein. In der Unterroutine 277 setzt die MPUX drei Verzweigungsbedingungen, die später in der Schreiboperation benutzt weraen. Die erste
uocket bo 970 012 2 0 9 8 15/1538
Bedingung ist WRTFST mit der Bedeutung "erstes Datenbyte schreiben". Die zweite Verbindung ist WCOSTP, Wortzahl Null stopp. Diese Unterroutine wird während einer Operation begonnen, wenn ein CMDO, d.h. ein Stop, von INTFX aufgrund des ersten SVCIN-Kennzeichens empfangen wird. Das erste SVCIN-Kennzeichen besagt, daß die E/A-Steuereinheit zum Empfang des ersten Datenbyte zwecks Aufzeichnung bereit ist. Die dritte mögliche Verzweigung ist WCOHIO mit der oben erklärten Bedeutung "Wortzahl Null E/A stoppen". Nach dem Setzen der Verzweigungsbedingungen werden die Wortzahlregister (Gesamtzahl der aufgezeichneten Bytes) auf Null gelöscht, CBI wird gelöscht und die gewählten Register im LSR werden gelöscht. Dann verzweigt das Mikroprogramm zur Bedienuhgs-Rückgaberoutine der Fig. 22. Diese Routine teilt INTFX mit, daß die E/ASteuereinheit bereit ist, mit dem Schreiben fortzufahren. Nachdem das erste Datenbyte verarbeitet wurde, werden die Kennzeichen SVCIN und SVCO durch Schaltungen innerhalb der Signalverarbeitungsschaltungen 13 behandelt, wie es in dem oben erwähnten Patent von Moyer und anderen beschrieben wurde.
Die Verzweigungsbedingung WRTFST wird bei 280 begonnen und damit die Einstell-ünterroutine 281 eingeleitet. In dieser Einstellung wirß die richtige Parität auf CBO geprüft. Eine Wortzahl in den Abfühlregistern des LSR wird auf Null gelöscht. Wenn vor dem Schreibkommando ein TIE-Betrieb erfolgte, wird die Betriebsroutine 136 begonnen, um die Betriebsartendaten auf den Datenflußabschnitt zu übertragen. Diese Routine trägt die Bezeichnung DOTIEMSl. Das Arbeitsregister wird um Eins erhöht und die Zahlen auf CBI gesendet. In der Unterroutine 282 wird die MPUY angezapft zur Ausführung eines Schreibkommandos, wie es im Zusammenhang mit der Schreibroutine 145 beschrieben wurde. Als nächstes wird der Abfragezyklus 283 begonnen. Wenn ADDRO oben ist, wird die Fehlerzustandsroutine 139 angefangen. Wenn ADDRO zu diesem Zeitpunkt oben ist, heißt das, daß INTFX die Operation zu beenden wünscht. Wenn TAPE OP oben ist, d.h., die MPUY hat ihr STAT gesetzt und damit angezeigt, daß die MTU in Betrieb ist, werden die normalen Schreib-Einleitungsroutinen durchlaufen. Der dritte Punkt der Abfrage ist
Docket bo 970 012 2 0 9 8 15/1539
MPUY STAT D. Wenn STAT D aus ist, wird die Abfrage wiederholt. Wenn STAT D ein ist, heißt das/ daß die MPUY ihre Operation beendet hat und die Schreiboperation nicht ausgeführt werden kann. Die MPUX zapft dann die MPUY an, um das Schreiben zu Blocken und sendet die Einheitenprüfung an INTFX. Sie läuft dann in die Fehlersuchroutine 127, um auf die Fehlerbedingung zu prüfen.
Wenn die TAPE OP-Bedingung erfüllt ist, läuft die MPUX in den Wartezyklus 285. Wenn SVCO noch aktiv ist, wurde das aufzuzeichnende Datenbyte noch nicht auf die E/A-Steuereinheit übertragen. Sobald SVCO abgeschaltet wird, wird der Abfragezyklus 286 begonnen. Wenn ADDRO aktiv ist, wird HIOPERG im Fehlerzustand 139 begonnen. Wenn SVCO wieder aktiv wird, wird eine Fehlersuchroutine ausgeführt. Im Schritt 287 wird das obenerwähnte Arbeitsregister erhöht und an CBI zurückgeleitet. Dieser Vorgang betrifft eine Fehlersuchroutine, die außerhalb des Rahmens der vorliegenden Beschreibung liegt. Wenn CMDO aktiv wird, ist die Operation zu beenden. In dieser Situation wird das Stoppkennzeichen im LSR in den aktiven Zustand gesetzt und der BSTWAIT-Eingang zum Fehlerzustand 139 befolgt. Dieser Vorgang setzt das E/A-System auf die Beendigung des Schreibens. Als nächstes wird MPUY STAT D abgefragt. Wenn STAT D ein ist, heißt das, daß keine MTU an die E/A-Steuereinheit angeschlossen ist und das Schreiben wird gestoppt. Wenn STAT D aus ist, wird die Abfrage wiederholt, bis eines der Kennzeichen aktiv wird.
Eine wichtige Funktion innerhalb der E/A-Steuereinheit ist die Bedienungsroutine (SERVRTN) 135. Diese Routine überträgt das erste Datenbyte, danach leiten die Datenflußschaltungen 13 die Datensignale in der vorgesehenen Art. Zuerst wird ein Abfragezyklus 287A begonnen. ADDRO-, SVCO- und CMDO-Kennzeichen werden abgefühlt. Wenn ADDRO aktiv ist, läuft eine E/A-Stoppoperation. Verzweigung entsprechend Verknüpfung 3 wie sie bei der Schreibinitialisierung gesetzt wurde, wird begonnen, d.h. WCOHIO. Wenn entweder SVCO oder CMDO aktiv sind, wird der Abtastzyklus wiederholt. Wenn alle der außerhalb gebundenen Kennzeichen inaktiv sind, setzt die MPUX
Docket BO 970 012 2 0 9 8 1 5 / 1 S 3 9
SVCIN-Kennzeichen im Schritt 288. Das zeigt der INTFX an, daß die E/A-Steuereinheit zum Empfang des ersten Datenbytes zwecks Aufzeichnung oder übertragung des ersten Datenbytes an IWTFX bereit ist. Unmittelbar nach dem Setzen des SVCIN-Kennzeichens in CTI wird der Abfragezyklus 289 angefangen. Die drei außerhalb gebundenen Kennzeichen ADDRO, CMDO und SVCO werden wieder abgefragt. Wenn ADDRO aktiv wird, wird der 3-Verknüpfungseingang zur Endroutine begonnen. Wenn CMDO abgefragt wird, d.h. die E/A-Operation zu beenden ist, wird im Schritt 290 das Stoppkennzeichen (LSR) gesetzt und die 2-Verknüpfungsunterroutine begonnen (Fig. 23). Dieses ist der normale Weg zur Beendigung einer Datenverarbeitungsoperation. Als nächstes wird SVCO abgefragt und wenn es nicht erregt wurde, läuft die E/A-Steuereinheit nicht weiter. Der Empfang eines SVCO zeigt an, daß die E/A-Steuereinheit zum nächsten Schritt weiterlaufen kann. Bei einer Schreiboperation besagt es, daß ein Datenbyte an CBO geliefert wurde, während bei einer Abfühlung das Datenbyte durch INTFX empfangen wurde. Bei Empfang eines SVCO wird die Verzweigungsverknüpfung 1 dazu benutzt, zur gewünschten Routine zurückzukehren. Die Verwendung von Kennzeichen in einer Leseoperation wird genauer im Zusammenhang mit Fig. 23 erklärt.
Im Zusammenhang mit Fig. 23 wird jetzt der Fehlerzustand 139 erklärt. Während des Einpunktbetriebes wird der BSTWAIT-Eingang benutzt. Der Einpunktbetrieb bedeutet, daß Kanal A oder B von INTFX für die übertragung von Datensignalen von einer adressierten MTU an eine gegebene CPU zugeordnet werden. Der Abfragezyklus wird zuerst ausgeführt und als erstes ADDRO geprüft. Wenn ADDRO empfangen wurde, wird HIOPERG 293 begonnen. Wieder zeigt ADDRO an, daß INTFX versucht, die Verbindung zu beenden.
Der zweite Punkt im Abfragezyklus 292 ist CMDO. Ist es aktiv, muß der Einpunktbetrieb beendet werden. Ein Stoppkennzeichen im LSR wird gesetzt und die Verzweigungsverknüpfung 2 begonnen, um die Lese- oder die Schreiboperation zu beenden. Als nächstes wird MPUY STAT D abgefragt. Wenn STAT D aus ist, wird der Zyklus an diesem Punkt erneut eingeleitet. Wenn STAT D ein ist, wird die ·
Docket BO 970 012 2 0 9 815/1539
2U8847
Abfrage fortgesetzt (MPUY hat seine Operation beendet und wartet auf MPUX). Eine Fehlerbedingung muß vorliegen, wenn diese zuletzt genannte Programmfolge befolgt wird. MPUY ALU-Fehler werden genauso geprüft wie andere Ausnahmen von MPUY. Wenn einer von diesen aktiv ist, wird der Abfrage-Setzzustand 294 begonnen. Verschiedene -LSR-Kennzeichen werden in der Unterroutine 295 gesetzt und der TERMSTAT-Eingang der Beendigung 130 angefangen. Das bedeutet, daß der Einpunktbetrieb beendet wird und die MPUY teilt INTFX die Vorgänge mit.
Die Abfrage 292 wird auf normale Weise bei 296 erregt. Wenn die MPUY eine Einheitenprüfung (kann eine Funktion nicht durchführen) gesetzt hat, wird außerdem die Kennzeichen-Setz-Unterroutine 295 begonnen. Diese Kennzeichen geben den Einheitenprüfzustand an, d.h., die E/A-Steuereinheit kann die gewünschte Funktion nicht ausführen. Normalerweise liefert die MPUY keine Einheitenprüfung und die MPUX stellt fest, ob ein Abfragekommando ausgeführt wird oder nicht. Ist das der Fall, wird die Abfrage 140 (Fig. 24) begonnen. Wenn nicht, d.h. die normalen Datenverarbeitungsoperationen können ausgeführt werden, wird im Schritt 297 nach einem Datenfehler gefragt. Wenn keine Datenfehler vorliegen, wird in der Unterroutine 298 eine andere Fehlerprüfung ausgeführt. Wenn Fehler festgestellt werden, werden über CTI Datenprüfung oder andere Fehleranzeigen an INTFX geliefert. Wenn keine Fehler vorliegen, wird der TERMSTAT-Eingang der Beendigung 130 benutzt. Wenn ein Datenfehler vorliegt, werden Abfragebits in der Unterroutine 299 gesetzt und die entsprechenden Kennzeichen in der Unterroutine und die TERMSTAT-Beendigungsroutine angefangen.
Bei HIOPERG 293 wird eine Routine aufgrund eines ADDRO-Kommandos ausgeführt, das während anderer Operationen von INTFX empfangen wurde. Zuerst setzt die MPUX Stoppkennzeichen in das LSR, setzt andere Kennzeichen, wie z.B. alle CTI's, das Verkettungskennzeichen zurück und setzt die Belegtbedingung und hält sie für weitere Operationen fest. Dann geht sie in den Wartezyklus 300 und wartet darauf, daß ADDRU inaktiv wird. Zu diesem Zeitpunkt (INTFX zum
Docket BO 970 012 209815/1539
2U8847
weiteren Lauf fertig, kehrt die MPUX zum Abfragezyklus 292 zurück und fragt den INTFX-Zustand ab und verzweigt anschließend zur entsprechenden Routine in der Beendigung 130.
Die CLEANGO-Routine besagt, daß der Zustand "sauber" ist, d.h. die E/A-Steuereinheit ist frei, um mit weiteren Operationen fortzufahren. Die Voreinstellungsunterroutine 301 wird zuerst ausgeführt. Dazu gehört das Abwerfen aller Zustandskennzeichen bei CTI und die Übertragung der Datenflußmaske auf die Datenflußschaltungen 13, wobei diese zuletzt genannte Funktion später beschrieben wird. Im Entscheidungsschritt 302 wird dann festgestellt, ob ein Schreibkommando aktiv ist oder nicht. Handelt es sich um ein Schreibkommando, wird gemäß früherer Beschreibung eine Schreibeinleitung innerhalb des Schreibens 138 angefangen. Wenn sich das Kommando auf TIE bezieht, wird das Schreibeinleitungskommando angefangen, da es im Zeitteilerbetrieb mit der TIE-Funktion läuft. TIE-Funktionen wurden bisher in Bauteilfolgen benutzt und daher nicht weiter beschrieben. Wenn beide Entscheidungsschritte zu einer negativen Antwort führen, wird die Operation als Leseoperation erkannt. Die MPUY wird dann während des Schrittes 303 angezapft, um die Y-Lesung 144 auszuführen. Die Routine BSTWAIT wird dann angefangen, um die MPUX für weitere Aktionen vorzubereiten.
Mit dem Stoppen einer Schreiboperation in WTOSTP wird außerdem ein Fehlerzustand 193 benutzt. Er wird über die Abfrage-Setz-Unterroutine 299 begonnen. Wenn eine Datenprüfung vorliegt, wird die Unterroutine 299 auch ausgeführt, um den Eintritt in die Beendigung 130 vorzubereiten.
Aufgrund eines Abfragekommandos läuft die MPUX in die in Fig. gezeigte Abfrageroutine. Die MPUX stellt im Schritt 305 fest, daß ein zufriedenstellender Zustand (sauberer Zustand) vorliegt, um diesen an INTFX weiterzuleiten. Bei 306 zapft die MPUX die MPUY an ihre Abfrageroutine an, die später im Zusammenhang mit Fig. 36 beschrieben wird. Die MPUX speichert die Verzweigungs-
Docket bo 970 012 209815/1539
2U8847
Verknüpf ungsnuininern im LSR für späteren Gebrauch. Die MPUY ruft in ihrer Abfrageroutine zwei Dätenbytes für jeden Operationszyklus ab. Die geradzahligen Bytes werden in YA gesetzt, die ungeradzahligen in YB. Wenn die beiden Bytes an die Austauschregister 15 geliefert wurden, setzt die MPUY STAT C und wenn sie die Lieferung aller abgefragten Bytes beendet, setzt sie STAT D. Dementsprechend fühlt die MPUX bei 307 für die MPUY STAT C ab. Sobald STAT C abgefühlt wird, ruft die MPUX die geradzahligen abgefühlten Bytes im YA ab. Sie führt dann bei 308 eine Routine aus und stellt fest, ob die MPUX Bits zu den abgefragten Bytes aus ihren eigenen Zustandsregistern hinzufügen sollte oder nicht. Ist das erforderlich," werden zusätzliche Bits an 309 geliefert. Bei 310 liefert die MPUX dann die abgefragten Bytes an CBI. Bei 311 verzweigt die Abfrageroutine zur Bedienungsroutine, um gemäß früherer Beschreibung SVCO abzufühlen.
Nachdem das geradzahlige Byte an CBO gesendet wurde, ruft die MPUX das ungeradzahlige Byte von YB ab, setzt dann ihr STAT C und beauftragt dadurch die MPUY mit dem Abruf der beiden nächsten abgefühlten Datenbytes. Die MPUX stellt dann fest, ob den ungeradzahligen Bytes zusätzliche Bits zugefügt werden müssen oder nicht und geht dann bei 312 nach SVCRTW weiter. Beim Empfang von SVCO überträgt die MPUX das ungeradzahlige Byte bei 313 nach CBI. Die MPUX fragt dann MPUY STAT D, d.h., ob die Abfrageoperation beendet ist oder nicht. Während sie darauf wartet, daß die MPUY bei 314 in STAT C setzt (und damit anzeigt, daß die beiden nächsten abgefühlten Bytes in YA und YB verfügbar sind), fragt die MPUX nach ADDRO von INTFX, um festzustellen, ob die Abfrageoperation abgebrochen werden sollte oder nicht. Bevor festgestellt wird, ob alle abgefragten Bytes übertragen wurden oder nicht, stellt die MPUX ihr STAT C bei 315 zurück und liefert damit eine passende Verzögerung. Wenn alle Abfragebytes übertragen wurden, kehrt sie nach TERMSTAT zurück. Wenn weitere Bytes zu übertragen sind, läuft die MPUX wieder in den Schritt 307.
Während die MPLiX darauf wartet, daß die MPUY Abfragebytes abruft
uooket bo 97ü 012 209816/1539
(MPUY STAT C und D sind aus), wird bei 316 ADuRO abgefühlt. Wenn ADDRO aktiv ist (die E/A-Verbindung wird beendet), werden bei 317 die Verbindungsregister im LSR gelöscht. Die Stoppkennzeichen werden im LSR gesetzt und IDLEPElID in Erwartung weiterer INTFX-Instruktionen gesetzt. Wenn ADDRO bei 318 aktiv ist, wird dadurch auch ein Auslauf der Abfrage nach IDLEPEiSiD veranlaßt. Zusätzlich zu den oben beschriebenen Mikroprogrammen übernimmt die MPUX auch andere Funktionen wie z.B. Operationen zur Bestimmung von PE, NRZI usw. Diese Funktionen sind im wesentlichen Duplikate bekannter Bauteilfolgen und werden daher nicht beschrieben. Die Rückstelloperationen und die speziellen Steueroperationen liegen in einer ähnlichen Kategorie. Die Steueroperationen gehören zu der später beschriebenen Bewegungssteuerroutine der MPUY, d.h., Leerschritt, Aufzeichnung, Rückspulen und andere Bewegungssteuerungen für das Medium. Die Einleitung einer solchen Bewegungssteuerung ist allgemein bekannt und ihre in der MPUX zur Einleitung solcher Schritte verwendete Mikroprogrammversion hängt von der Konstruktion ab.
MPUY-Mikroprogramme
Ausgewählte MPUY-Mikroprogramme werden genauer beschrieben, um die Signalübertragung von INTFY nach MPUX über die Austauschregister zu zeigen.
Wie zuvor im Zusammenhang mit Fig. 3 erklärt wurde, kann die MPUY in eine Ruhebedingung gezwungen werden, d.h. der MPUY-Taktgeber wird abgeschaltet, während sie auf die MPUX wartet. Vorzugsweise auf diese Art wird die MPUY festgehalten. Eine andere Möglichkeit ist in Fig. 25 gezeigt, wo bei der ROS-Adresse 999 eine unbedingte Verzweigungsinstruktion (06) gesetzt wird, um das Mikroprogramm auf die Adresse 999 zurückzuführen. Dadurch kann die MPUY eine endlose Schleife durchlaufen, bis sie von der MPUX bei ROS 000 angezapft wird. Bei der Adresse 000 ruft die MPUY Signale vom Register XB ab ungeachtet derart, wie sie festgehalten wurde. Diese Signale sind eine ROS-Adresse für die MPUY, damit sie eines der zu beschreibenen Mikroprogramme anfangen kann.
Docket bo 970 012 2 0 9 815/1539
2H8847
Eine der ersten von der MPUY auszuführenden Routinen betrifft die erste Wahl. Die erste Wahl (Fig. 26) wird angefangen bei EXECSTS. üer erste Schritt 321 ruft die MTU-Adresse vom Register ' XA ab. Im Schritt 322 stellt die MPUY fest, ob eine mehrfach gekennzeichnete Unterbrechung (MTI) in der an INTFY angeschlossenen adressierten MTU läuft. Wenn keine Unterbrechung läuft, ruft die HPUY im Schritt 323 die MTU-Abfragebytes und überträgt sie in die Register YA und YB. Dann setzt sie STAT C und teilt der MPUX dadurch mit, daß Informationen in den Registern YA und YB zur Verfügung stehen. Die Abfragebytes teilen der INTFX den Zustand der HTU mit. Wenn eine Unterbrechung (MTI) läuft, fährt die MPUY fort mit der Prüfung der MTU in INTFY-Anruf, der später im Zusammenhang mit Fig. 28 beschrieben wird.
Wenn MTI inaktiv ist, prüft die MPUY die Bedingung des Schalters (nicht dargestellt) in der INTFY, d.h., die MTU kann zwischen einer oder mehreren E/A-Steuereinheiten umgeschaltet werden. Wenn die MTU im Schritt 324 nicht an eine andere Steuereinheit angeschlossen ist, stellt die MPUY bei 325 fest, ob die MTU physikalisch überhaupt vorhanden ist. Ist das nicht der Fall, wird bei 331 ein Einheitenprüfzustand erzeugt. Wenn sie vorhanden ist, stellt die MPUY bei Schritt 326 fest, ob sie belegt ist oder nicht. Ist sie belegt, stellt sie fest, ob die MTU ein Bewegungskommando ausführt oder nicht. Führt die MTU ein Bewegungskommando aus, bestimmt die MPUY bei 327, ob ein SUPPRO aktiv ist oder nicht (Koiranandoverkettung in der Verarbeitung). Ist das der Fall, wird wieder mit dem Schritt 321 begonnen. Nach dessen Beendigung bereitet die MTUY sich bei 328 auf DEVICE END vor. Diese Vorbereitung besteht aus dem Setzen eines DEPRIME-Bit in die im Zusammenhang mit der Unterbrechungsabfrage beschriebenen Register. Dieser Mechanismus wird von der MPUY zum Aufzeichnen einer Anforderung von INTFX und zur Rückkehr nach INTFX benutzt, sobald die adressierte MTU zur Verfügung gestellt wird, d.h., ein DEVICE END (DE) geliefert hat. DE besagt, daß die Operation beendet wurde, die eine Einheit gerade ausführte. Die MPUY löscht dann die MTU-Wahlleitung und setzt STAT B und D und erwartet weitere Ak-
Docket BO 970 012 209815/1539
tionen von der MPUX. Wenn bei 329 kein Bewegungskommando abgefühlt wird, wird die Endroutine (Fig. 27) begonnen. Die Routine liefert lediglich einen kurzen Satz von Operationen um es der MPUY zu ermöglichen, auf die IxIPUX zu warten (Fig. 25) .
Wenn die im Schritt 326 adressierte MTU nicht belegt war, stellt die MPUY bei 330 fest, ob die MTU bereit ist oder nicht. Wenn die MTU nicht bereit ist, kann das auf abgeschalteten Strom, eine fehlende Bandspule oder dgl. zurückzuführen sein. Wenn der Strom abgeschaltet ist, wird bei 331 ein Einheitenprüfsignal erzeugt. Wenn die adressierte MTU bereit ist, setzt die MPUX im Schritt 332 auf den MTU-Modellcode im Register YA für die Datenflußsteuerung. Als nächstes prüft im Schritt 333 die MPUY, ob noch ein DEPRIME im LSR steht oder nicht. Wenn nicht, wird STAT D gesetzt und die MPUY wartet auf die MPUX. Wenn ein DEPRIME vorhanden ist, setzt die MPUY STAT B und STAT C und läuft in POLLMTIX der Fig. 9.
Die Y-Beendigung 147 wird im Zusammenhang mit Fig. 27 erläutert. Der Codename "ENDUP" wird dazu benutzt, anzuzeigen, daß die MPUY in diese Routine hineinläuft. Mit dieser Routine sollen alle Daten der MPUX zur Verfügung gestellt und die MPUY auf das Warten auf Instruktionen vorbereitet werden. Zuerst aus setzt die MPUY den TAPE OP-Zustand zurück. Das bedeutet, daß die MPUY effektiv Datenflußoperationen abschließt. Der aktive TAPE OP-Zustand zeigt an, daß eine X4TU an die MPUY angeschlossen ist und in Betrieb ist, d.h., Datensignale überträgt. Als nächstes ruft die MPUY die MTU-Äbfragebytes ab und speichert sie in ihrem eigenen LSR. Die MPUY prüft dann alle Fehlerbedingungen und verzeichnet sie. STAT D wird schließlich gesetzt und die MPUY wartet auf die MPUX.
Ein Teil des ersten Wahlprozesses fordert, daß die MPUY INTFY aufruft oder sucht. Diese Suche bewirkende Mikroprogramme sind in Fig. 28 gezeigt. Das längere Programm wird bei MTISEARCH gegonnen, während das kürzere Programm bei CHECKDEV begonnen wird. CHECKDEV ist ein Teil von MTISEARCH. Der erste Schritt
Docket BO 970 012 2 0 9 8 1 5 / 1 B 3 9
in MTISEARCH stellt fest, ob die MTI für irgendeine MTü erregt ist oder nicht. Die MPUX hat eine Steuerleitung (nicht dargestellt) zur ItITFY, die das logische "ODER" aller MTU-Unterbrechungen an die MPUY leitet. Ist diese Leitung nicht erregt, wird STAT D bei 340 gesetzt und die MPUY wartet auf die MPUX. Andererseits setzt die MPUY STAT B bei 341, wenn MTI aktiv ist. Die MPUX erregt jetzt INTFY zur Lieferung nur der MTI-Anzeige der adressierten MTU an die MPUY und fragt alle MTU-Adressen der Reihe nach ab, bis die MTU mit einem MTI gefunden ist. Bei dieser Abfrage werden die STAT-Register von MPUX und MPUY dazu benutzt, die beiden Programme zu synchronisieren. Dann wartet sie auf MPUX STAT C, was bekanntlich anzeigt, daß die MPUY weitermachen kann, bei 342. Die MPUY stellt dann ihre eigenen STAT B und STAT C zurück und fragt wieder weiter ab, ob MTI aktiv ist. Ist es abgeschaltet, setzt die MPUY STAT C bei 343 und wartet wieder auf MPUX STAT C. Diese letztere Situation zeigt an, daß MTI vom aktiven in den inaktiven Zustand überging. Wenn andererseits die MTI aktiv bleibt, wird bei 344 STAT B gesetzt und die MPUY wartet auf die Rückstellung von MPUX STAT C bei 345. Sobald MPUX STAT C abgeschaltet ist (welches während des Wartezyklus 342 eingeschaltet wurde) läuft die MPUY in den Aufrufzyklus 346. Sobald die MPUX ihr STAT C aktiv macht, läuft die MPUY wieder in CHECKDEV-Unterroutine. Auf der anderen Seite fragt sie ab, ob MTI aktiv ist oder nicht, solange MPUX STAT C ausgeschaltet bleibt. Wenn es aktiv ist, bleibt die MPUY im Aufrufzyklus. Wenn es inaktiv wird, läuft sie in den Beendigungsschritt 340, der im Zusammenhang mit CHECKDEV beschrieben wird.
CHECKDEV wird angefangen entweder von der ersten Wahl 148 der Fig. 26 oder wenn MPUX STAT C eingeschaltet wird während MTISEARCH. In der ersten Tätigkeit holt MPUY die Abfrage von der adressierten MTU. Dann stellt die MPUY im Schritt 348 fest, ob die MTU der E/A-Steuereinheit 11 zugeordnet ist oder nicht. Verschiedene MTU's können bekanntlich über verschiedene Schalteinheiten (nicht dargestellt) mehreren E/A-Steuereinheiten zugeordnet werden. Wenn die MTU der Steuereinheit 11 nicht zugeordnet ist, wird der Beendi-
Docket BO 970 012 2 0 9 815/1539
2U8847
gungsschritt 340 angefangen. Dazu gehört das Löschen der MTU-Kennzeichen aus dem LSR, Rückstellung der Verbindung und Setzen von STAT D. Normalerweise ist die aufgerufene MTU jedoch der E/ASteuereinheit 11 zugeordnet. In diesem Fall setzt die MPUY bei 349 STAT C und wartet bei 350 auf das Einschalten vom MPUX STAT D. Wenn die MPUX ihr STAT D einschaltet, heißt das für die MPUX, daß alle von MTISEARCH geforderten Tätigkeiten beendet sind. Dann stellt die MPUY MTU bei 351 zurück und läuft in den Beendigungsschritt 340 gemäß obiger Beschreibung.
Ein wichtiges, bei praktisch jeder MTU-Operation mit Ausnahme der Abfrage und des Aufrufs verwendetes Mikroprogramm ist das Bewegungssteuerprogramm, welches in gekürzter Form in Fig. 29 gezeigt ist. Der Eingangspunkt ist mit TURNARND bezeichnet. Dieses Programm löst die gesamte Bandbewegung der adressierten MTU aus. Zwischen der MPUY und der adressierten MTU werden Kommandos ausgetauscht während des Bewegungssteuerprogrammes zum Ausführen der erforderlichen Bewegungen zum Lesen, Schreiben, Fehlersuchen und zur Einstellung des Bandes in Vorbereitung späterer Operationen. Dieses Programm wird im allgemeinen nicht durch eine Anzapf-Operation von der MPUX begonnen, sondern von anderen Programmen, die noch zu beschreiben sind. Die MPUX hat jedoch Möglichkeit, die MPUY für dieses Programm anzuzapfen.
Der erste Schritt 355 setzt die Band-OP-Bedingung, d.h., die adressierte MTU beginnt eine Funktion für die MPUY auszuführen. Diese Bedingung wird in das LSR der MPUY gesetzt. Das PE-Bit wird ebenfalls gesetzt. Die MTU wird so zurückgestellt, daß neue Kommandos von der MPUY empfangen werden können. Alle Fehlerbedingungen werden aus dem LSR gelöscht. Dann führt die MPUY eine Reihe von Entscheidungsschritten bei 356 durch, die sich auf die von der MPUX in REG XB sowie auf Abfühlbedingungen in der MTU beziehen. Der erste Entscheidungsschritt stellt fest, ob die MTU am Bandanfang (BOT) steht. Steht sie nicht auf dem Bandanfang, führt die MPUY den Schritt 357 aus, um festzustellen, ob die adressierte MTU im NRZI-Betrieb läuft. Die MTU's dieser Veröffent-
Docket bo 970 O12 209815/1539
- 59 lichung können nur in den NRZI- oder PE-Betrieb gesetzt werden.
Wenn im Entscheidungsschritt 356 BOT festgestellt wird, stellt die MPUY weiterhin fest, ob eine Schreiboperation auszuführen ist oder nicht. Ist sie auszuführen, holt die MPUY eine Datenraaske (ein Steuerwort für die Datenflußschaltungen 13) vom Register XA im Schritt 358 und läuft gemäß späterer Beschreibung weiter. Wenn andererseits die Instruktion von der MPUX keine Schreibinstruktion ist, stellt die MPUY fest, ob es sich um ein Rückspul- und Entladekoinmando handelt. Ist das nicht der Fall, läuft sie in den Entscheidungsschritt 356 weiter und stellt die Bewegungsrichtung fest, nämlich ob vorwärts oder rückwärts gelesen werden soll. Soll rückwärts gelesen werden, tritt eine Fehlerbedingung auf und im Schritt 359 wird eine Einheitenprüfung gesetzt und die MPUY läuft gemäß obiger Beschreibung in EWDUP. Wenn vorwärts gelesen werden soll, werden die gezeigten Vorbereitungsschritte befolgt.
Jetzt wird die Reihenfolge beschrieben, die einzuhalten ist, wenn die Anfangsbedingung nicht BOT ist. Es wird angenommen, daß eine NRZI-Einrichtung in der adressierten MTU (Schritt 357) vorhanden ist. Im Schritt 360 setzt die MPUY die NRZI-Betriebsanzeiger im LSR und in das Datenfluß-Steuerregister XA. Dann stellt die MPUY bei 361 fest, ob die befohlene Bewegung vorwärts oder rückwärts verläuft. Ist eine Rückwärtsbewegung befohlen, setzt die MPUY bei 362 die adressierte MTU in den Rückwärtsbetrieb, d.h. sie setzt das Kommando MOVE BACKWARD. Bei dem Kommando MOVE BACKWARD wird bei 363 ein Vorwärtsruck ausgeführt. Dann läuft die MPUY in die Zeitverzögerung 364 und gestattet dadurch der adressierten MTU die Bandstabilisierung in den Unterdruckschächten. Nach dieser Verzögerung versetzt die MPUY die adressierte MTU in den Antriebszustand bei 365. Eine weitere Verzögerung wird eingeführt, um die adressierte MTU das Kommando ausführen zu lassen.
Als nächstes führt die HPU eine Reihe von Prüfungen aus und sendet ein endgültiges Bewegungskommando an die adressierte MTU.
Docket BO 970 012 2 0 9 8 15/1539
Zuerst stellt sie fest, ob es sich um ein Vorwärts-Lesekommando handelt. Ist das der Fall, betätigt die MPUY die Vorwärts-Lesekoramando-Leitung und prüft dann den Kommandozustand in der MTU. Ist der Kommandozustand nicht in Ordnung, wird ein Kennzeichen in das LSR 65 zur Rückweisung des Kommandos gesetzt, basierend auf dem MTU-Fehler. Diese Information wird außerdem an die Austauschregister 15 weitergeleitet. Die IiPUY setzt dann STAT D und wartet auf die MPUX. Normalerweise ist der Kommandozustand jedoch in Ordnung. Dann führt die MPUY bei 366 die zur Bandbewegungs— Operation gehörende Endprüfung allgemein bekannter Art durch, die von bauteilgesteuerten Steuereinheiten übernommen wird. Das Eewegungskommando wird dann in die adressierte MTU gesetzt und danach übernimmt die MPUY die Geschwindigkeitsprüfung 367. Diese besteht aus dem Zählen der Zeitimpulse zwischen aufeinanderfolgenden Tachometerimpulsen, die der MPUY über die Leitung 36 von der adressierten MTU zugeführt werden. Die gezählten Zeitimpulse werden mit einer vorgegebenen Zahl verglichen und sollen anzeigen, ob die Geschwindigkeit innerhalb vorgegebener Grenzen liegt oder nicht. Ist die Geschwindigkeit richtig, wartet die MPUY auf die MPUX. Bei einer falschen Geschwindigkeit, d.h., wenn das Band sich zu langsam bewegt, wird der Tachometerfehler bei 368 gesetzt. Die Fehlerinformation wird den Registern 15 zugeführt und während der Fehlerr-ckkehr 369 wird STAT D gesetzt. Die MPUY wartet dann auf die MPUX.
Wenn im Entscheidungsschritt 356 die Rückwärtsleseentschexdung eine Vorwärtsbewegung anzeigte, wurde der Vorwärts-ZRückwärts-Zustand der MTU bei 370 abgefühlt. Wenn sie sich bereits in Vorwärtsrichtung bewegte, wurde Schritt 365 begonnen. Wenn andererseits ein Vorwärts-Bewegungskommando vorliegt und die adressierte MTU im Rückwärtsbetrieb steht, wird sie auf Vorwärtsbedingung gesetzt und die Zeitverzögerung 364 angefangen.
Wenn eine Schreiboperation auszuführen ist, d.h. TURNARND, wird von der in Fig. 30 gezeigten Y-Schreibroutine angefangen, dann wird im Schritt 358 eine Datenmaske (ein Steuerwort) zur Verwen-
Docket BO 970 012 209815/1539
dung durch die Datenflußschaltungen 13 durch die MPUY abgerufen. Im Schritt 371 fühlt die MPUY ab, ob es sich um eine PE- oder eine NRZI-Schreiboperation handelt. Bei NRZI wird der Schritt 360 ausgeführt und die oben beschriebene Folge eingehalten. Handelt es sich um eine PE-Schreiboperation und PE wurde vorher im Schritt 355 gesetzt, dann verzweigt das Programm direkt zum Schritt 361.
Das Y-Schreibprogramm 145 wird im Zusammenhang mit den Fign. 30, 31 und 32 beschrieben. Nachdem die MPUX die MPUY für WRTOP anzapft, setzt die MPUY zuerst das Schreibkennzeichen bei 375 in das LSR 75. Dann wird das TURNARND-Bewegungssteuerprogramm der Fig. 29 angefangen. Bei Beendigung von TURNARND verzweigt die Verzweigungseinstellung (nicht dargestellt) im Schritt 375, die die Schreibedingung einstellt, zurück zum Schritt 376 der Y-Schreibung 145. In diesem Schritt zählt die MPUY Tachometerimpulse zum Messen einer gegebenen Bandstrecke zur Bildung eines IBG. Nachdem ein vorgeschriebenes Bandstück transportiert worden ist, wird der Entscheidungsschritt 377 begonnen. Handelt es sich um eine NRZI-Aufzeichnung, wird gemäß Darstellung in Fig. 31 die NRZI-Schreibroutine 378 ausgeführt. Bei einer PE-Aufzeichnung wird die in Fig. 32 gezeigte PE-Schreibroutine ausgeführt. Bei Beendigung der zutreffenden Schreibroutine wird ENDUP in der Y-Beendigung 147 (Fig. 27) angefangen.
Die NRZI-Aufzeichnung 378 (Fig. 31) überwacht die Operation der Datenflußschaltungen 13 während des Schreibbetriebes zum Aufzeichnen von über INTFX im NRZI-AufZeichnungsschema empfangenen Schreibdaten. Die gesamte Beschreibung im Zusammenhang mit NRZI bezieht sich auf die Aufzeichnung in gegenwärtig bekannten NRZ-AufZeichnungsformaten. Die MPUY stellt fest, ob die Operation am Ladepunkt im Schritt 380 begann. Ist das der Fall, setzt sie eine besondere Lücken-Löschoperation. Der NRZI-Betrieb wird in der gewählten MTU gesetzt und die Datenflußoperationen in den Datenflußschaltungen 13. Wenn als nächstes eine Lücke gelöscht v/erden soll, v/ird eine Lösch-Unterroutine (nicht dargestellt)
Docket BO 970 012 209815/1539
angefangen. Diese ünterroutine fordert lediglich die adressierte MTU auf, einen Löschstrom an ihren Übertrager für eine vorgegebene Bandlänge zu senden. Bei Beendigung dieser Operation wird die ENDUP-Routine der Fig. 25 begonnen. Handelt es sich nicht um eine Löschoperation, stellt die MPUY fest, ob eine Bandmarke benötigt wird oder nicht. Wenn eine Bandmarke im HRZI-Format benötigt wird, wird die Bandmarkenschreibung 381 vorgenommen. Wieder ist die ünterroutine relativ einfach und nutzt nur in TUBO gesetzte Datenmuster zur Aufzeichnung der genormten NRZI-Bandmarke. Nach der Bandmarkenoperation wird der Lesen-nach-Schreiben-Teil der Schreibdatenunterroutine 382 zum Prüfen der Bandmarke angefangen.
Allgemein übernehmen die Datenflußschaltungen 13 die gesamte Schreibsignalerzeugung und Koordination mit der adressierten MTU. Die adressierte MTU muß Daten über INTFY so empfangen, wie die Detenflußschaltungen 13 sie liefern.
Zahlreiche digitale Magnetbanduntersysteme weisen zwei Spalten für jede Bandspur auf. Die bei einer Schreiboperation in Flußrichtung gelegene Spalte wird Schreibspalte genannt, die Datensignale auf dem Band aufzeichnet. Die entgegen der Flußrichtung liegende Spalte ist die Lesespalte. Während Daten auf dem Band aufgezeichnet werden, laufen die aufgezeichneten Datensignale schließlich an der Lesespalte vorbei. Zahlreiche E/A-Steuereinheiten prüfen Aufzeichnungsoperationen durch sogenannte Lesenach-Schreiboperationen. Die hier beschriebene E/A-Steuereinheit soll auf diese Weise benutzt werden, stellt jedoch keinerlei Begrenzung dar. Dazu können die Datenflußschaltungen 13 Bauteilfolgen zur Ausführung dieser Lese-nach-Schreiben-Funktion enthalten, wie sie allgemein bekannt sind. Andererseits können Mikroprogramme in der MPUY überwachungsfunktionen übernehmen, d.h., wenn die Datenflußschaltungen 13 einen Fehler der Rückleseschleife entdecken, wenn eine Rückleseschleife in der Lesespalte auftauchen sollte, kann durch die MPUY ein BOC ausgeführt werden. So ein BOC zeigt der MPUX an, daß ein Schreibfehler vorliegt, und dann'
Docket bo 970 012 2 0 9 815/1539
2U8847
verzweigt die MPUX zu Fehleraufzeichnungsoperationen und teilt der INTFX den Schreibfehler mit. Das Mikroprogramm bei MPUY läuft zur Unterroutine 383 weiter, welche die Leseoperation fortsetzt, auch wenn keine Signale mehr aufgezeichnet werden. Die Signalverzögerung zwischen der Schreib- und der Lesespalte erfordert eine zusätzliche Leseoperation. Bei Beendigung des Lesens und Abfühlens des Aufzeichnungsendes wird die ENDUP-Routine in Fig. 25 begonnen.
Die Steuerungsphilosphie zum Aufzeichnen im PE-Betrieb folgt grundsätzlich der des NRZI-Betriebes. Da jedoch viele zusätzliche Format-Anforderungen für PE gestellt werden, ist das in Fig. 32 gezeigte PE-Schreibprogramm notwendigerweise komplexer als das itfRZI-Schreibprogramm. Der Eingang zum Programm erfolgt beim BOT-Entscheidungsschritt 385. Bei BOT wird eine PE-Formatmarke aufgezeichnet. Nach BOT-Operationen wird der PE-Vorlauf im Schritt
386 geschrieben. Die Programmschleife in dem gestrichelten Kasten
387 wird während des Einpunktbetriebes der Aufzeichnungsdaten im PE-Betrieb ausgeführt. Ein Schreibdatenkommando bei 388 veranlaßt die Datenflußschaltungen zur Lieferung von Schreibdaten. Im Entscheidungsschritt 389 prüft die MPUY, ob der im Schritt 386 aufgezeichnete Vorlauf wie beim NRZI-Betrieb an der Lesespalte ankommen soll oder nicht. Wenn der Vorlauf diese Lesespalte noch nicht erreicht hat, wird der Aufzeichnungs-Entscheidungsschritt 390 angefangen.
Das Kennzeichen BOR im LSR 75 der MPUY wird gesetzt, wenn Daten während der Lesen-nach-Schreiben-Operation festgestellt werden. Das sollte in einem vorgegebenen Zeitraum nach dem Schreibanfang des Vorlaufes der Fall sein. Wenn BOR durch die Lesespalte nicht festgestellt wird, was am Anfang der Schreiboperation erfolgt, wird eine Geschwindigkeitsprüfung 391 genauso durchgeführt, wie sie für NRZI beschrieben wurde. Die Geschwindigkeitsprüfung ist grundsätzlich in Ordnung und die Schleife 387 wird erneut angefangen. Wenn die Geschv/indigkeitsprüfung jedoch schlecht ist, wird die Schreibbedingung zurückgestellt, Datenende gesetzt und die Datenflußschaltungen 13 aufgefordert, die Aufzeichnungen zu
Docket BO 970 012 2 0 9 8 15/1539
stoppen. Die Schleife 387 wird dann begonnen, um gemäß späterer Beschreibung den Schreib-Rückstell-Entscheidungsschritt 392 zu erreichen.
Wenn im Schritt 389 der Vorlauf die Lesespalte in der Lesen-nach-Schreiben-Operation erreicht hat, wird der Vorlauf im Schritt 393 geprüft, indem die Anzahl der darin aufgezeichnet Signale gezählt wird. Grundsätzlich enthält der PE-Vorlauf 14 Nullen. Der Vorlauf kann auch akzeptabel sein, wenn 35 Nullen festgestellt werden. Es kann angenommen werden, daß bei der ersten Resynchronisierung des Vorlaufes die aufgezeichneten Signale nicht erfolgreich gelesen wurden. Bei Beendigung der Prüfung des Vorlaufes muß die Aufzeichnung kontinuierlich sein, da das Schreiben noch läuft und daher geht das Programm direkt zur BOR-Prüfroutine 394. Diese ünterroutine prüft, ob die Datensignale von der adressierten MTU"über INTFY noch aktiv sind. Diese Verzweigungsbedingung bleibt so lange erhalten, wie Signale durch die Lesespalten abgefühlt werden. Im Schritt 392 stellt die MPUY fest, ob die Schreibbedingung zurückgestellt ist oder nicht. Während normaler Operationen wird die Schreibbedingung am Ende der Aufzeichnung gemäß Festlegung durch INTFX zurückgestellt, wenn nicht ein Geschwindigkeitsfehler festgestellt wird. Wenn die Schreibung zurückgestellt ist, wird die Schleife 387 erregt, um das PE-Schreibprogramm zu beenden. Am Anfang ist bei 395 eine Verzögerung vorgesehen, um etwas Band am Lesekopf vorbeilaufen zu lassen.' Im Schritt 396 stellt die MPUY fest, ob die Lesespalte noch die Aufzeichnung abfühlt oder nicht. Wenn das nicht der Fall ist, liegt dort ein Schreibfehler vor und der Zustand des Schreibfehlers wird im Schritt 397 gesetzt. Anschließend wird die ENDUP-Routine begonnen. Normalerweise würde die Lesespalte noch die Aufzeichnung abfühlen. Das Programm fühlt dann das Datenende im Schritt 398 ab (durch die Datenflußschaltungen 13 erzeugtes Signal). Wenn es das Datenende ist, werden die Datenflußschaltungen 13 bei 400 gesetzt und der Nachlauf auf richtige Aufzeichnungslänge geprüft. Dann folgt eine Reihe von Entscheidungsschritten bei 400. Diese prüfen MTU-Lesen, Schreib-
Docket bo 970 012 209815/1539
2U8847
zeit, IBG, Schreibbandmarke OP (WTM OP) und dgl. Von diesen Entscheidungsschritten werden die Rückleseprüfungen 402 ausgeführt- Basierend auf der Analyse der Entscheidungsschritte 401 und der Rückleseprüfungen 402 wird entweder der Schreibfehlerschritt 397 oder die ENDUP-Routine der Fig. 27 begonnen. Normalerweise wird direkt die ENDUP-Routine der Fig. 27 angefangen. Wenn das BOR aus ist, vorher jedoch gemäß Abfühlung im Schritt 403 eingeschaltet war, wird eine Reihe von Entscheidungsschritten 404 ausgeführt. Diese stellen fest, ob zuviele Schreibzeiten aufgetreten sind oder nicht, ob I3G geschrieben wurde oder eine Bandmarke (Schreibzeiten werden als Zeit/Abstandsmessung benutzt). Gemäß Darstellung in Fig. 32 läuft das Programm entweder zu einer Fehlerbedingung oder zum Entscheidungsschritt 401 entsprechend den verschiedenen Operationszuständen zurück.
Das y—lieseprogramm ist in Fig. 33 gezeigt und wird begonnen bei einer Leseoperation, einer Leerschrittoperation oder einer Leerschritt-Dateikommandooperation. Bei den beiden letzten werden die Leseschaltungen mit einem Schwellwert von 10 % Maximum betrieben. Der Schwellwert wird auf den Datenfluß durch die MPUY gezwungen, wie es im Zusammenhang mit Fig. 2 erklärt wurde. Im Leseprogramm prüft die MPUY uerst die Bewegungsrichtung im Schritt 410. Abhängig von der gewünschten Richtung wird die adressierte MTU entweder auf Vorwärts- oder auf Rückwärtsbetrieb gesetzt. Dann wird das Bewegungssteuerprogramm bei TURdARND bei 411 begonnen. Die im Schritt 410 gesetzte Verzweigungsbedxngungen veranlassen das Programm TURNARND zum Y-Leseprogramm der Fig. zurückzuverzweigen. Dann stellt die MPUY im Schritt 412 fest, ob BOT auftritt oder nicht. Ist das der Fall, prüft die MPUY im Schritt 13 die Tachometergeschwindigkeit und mißt das Band. Sie geht dann weiter zum Entscheidungsschritt 414, um festzustellen, ob bei dem gelesenen Band das NRZI- oder das PE-Aufzeichnungsschema verwendet wurde. Bei NRZI stellt die MPUY weiter fest, ob die NRZI-Einrichtung in der adressierten MTU enthalten ist oder nicht. Wenn das NRZI-Band auf eine MTU ohne die NRZI-Einrichtung geladen wurde, ist sie nicht betriebsfähig und es liegt
Docket BO 970 012 209815/1539
eine Fehlerbedingung vor. Diese wird im Schritt 415 aufgezeichnet und die ENDUP-Routine der Fig. 27 begonnen. Ist es NRZI und kann verarbeitet werden, wird wieder TURNARND 411 begonnen, um das Band auf den ersten Aufzeichnungsblock zu setzen. Wenn Pi; auf dem Band aufgezeichnet wurde, wird die PE-Leseroutine 416 direkt angefangen.
Wenn auf der anderen Seite die Leseoperation in der Mitte des Bandes erfolgt, ist BOT "nein" und der Entscheidungsschritt 417 wird angefangen. Wenn es ein NRZI-BAnd ist, wird die in Fig. 34 gezeigte NRZI-Leseroutine begonnen. Ist es PE, wird die PE-Leseroutine 416 angefangen. Bei Beendigung einer der beiden Leseroutinen wird die Beendigungs-Leseroutine 419 durchgeführt. Die normale Erregung der Leseendroutine 419 führt zur ENDUP-Routine der Fig. 27. Während der Lesebeendigung 419 kann ein geknicktes Band festgestellt werden, d. h. ein gelesenes Band kann einen Knick enthalten, der dazu führt, daß eine kurze Zeit lang keine Rücklesesignale geliefert werden. Diese Periode ist normalerweise kürzer als ein IBG. Bekannte Abfühlschemen zur Abfühlung geknickter Bänder werden benutzt. Eine Knickbandroutine 418 wird angefangen, wenn das Band aufgrund eines Knickes gestoppt wird und eine ENDUP-Routine der Fig. 27 begonnen. Andernfalls wird die PE-Leseroutine 416 angefangen.
Die NRZI-Leseroutine der Fig. 34 wird vom Entscheidungsblock 417 der Fig. 33 aus begonnen. Der erste Schritt in der Routine ist der Schritt 420, in welchem die MPUY den Lesebetrieb in die MPUY und die Datenflußschaltungen 13 schaltet. Außerdem setzt sie Abfühl-Schwellwerte. Bevor die Aufzeichnung auftritt, ist der Schwellwert am Anfang auf einen hohen Wert gesetzt und nach dem Auftreten der Aufzeichnung wird er gesenkt. Diese Funktion kann durch Bauteilfolgen in den Datenflußschaltungen 13 wie bei herkömmlichen Steuergeräten ausgeführt werden. Die NRZI-Datenübertragungsschleife 421 gestattet der MPUY einen Leerlauf durch zwei Entscheidungsschritte, während die Datenflußschaltungen 13 Daten von der adressierten MTU direkt an INTFX verarbeitet. Die Routine SRVRTN der
Docket BO 970 012 2 0 9 815/1539
MPUX liefert wieder die Koordination zwischen INTFX und der E/ASteuereinheit. Innerhalb der NRZI-Datenübertragungsschleife 421 wird das Datenende kontinuierlich abgefragt. Wenn das Datenende auftritt, stellt die MPUY fest, ob eine Bandmarke gelesen wird oder nicht. Wenn eine Bandmarke gelesen wird, wird die Leseroutine beendet. Wenn keine Bandmarke gelesen wird, stellt die MPUY fest, ob eine Dateioperation ausgeführt wird oder nicht. Wenn nicht, wird die Lese-Beendigungs-Unterroutine 419 angefangen. Wenn die Dateioperation ausgeführt wird, wird augenblicklich die Bandoperationsbedingung zurückgestellt und die NRZI-Datenübertragung erneut angefangen. Damit wird die Rückstellung des Enddatenkennzeichens ermöglicht, damit der nächste Datenblock auf die Existenz einer Bankuarke hin abgetastet werden kann.
Während der Datenübertragung kann die adressierte MTU außer Stande gesetzt werden, die Leseoperation auszuführen. In einer solchen Situation liefert sie eine Unterbrechung über INTFY an die MPUY. Eine Unterbrechung von der adressierten MTU ist BOC für die MPUY. Wenn keine Unterbrechung vorliegt, läuft die MPUY durch die beiden Entscheidungsschritte leer, bis das Datenende auftritt. Bei Feststellung einer Unterbrechung, die anzeigt, daß die MTU die Leseoperation nicht fortführen kann, wird die Einheitenprüfung bei 422 gesetzt und die Lese-Beendigungsoperation 419 angefangen, was genauer im Zusammenhang mit der PE-Lesung in Fig. 35 erklärt wird.
Die PE-Leseroutine beginnt mit den Sätzen von PE-Lesen in die MTU bei 425. Der oben im Zusammenhang mit PE-Schreiben erwähnte Vorlauf der PE-Aufzeichnung wird gelesen durch die Lesevorlauffolge von Schritten in dem gestrichelten Kasten 426. Dazu gehört die Abfühlung des Aufzeichnungsanfanges, Spurverfolgung von BOR, Abfühlung eines Kennzeichens dafür, ob die Leseoperation gesetzt wurde oder nicht und Durchführung einer Bandgeschwindigkeitsprüfung mit Tachometerimpulsen. Schließlich wird ira Schritt 427 die Datenbereitschaft abgefühlt. Durch Abfühlen der Markierung oder des Signales auf der Grenze zwischen dem
Docket BO 970 012 209815/1539
2U8847
Vorlauf und der Aufzeichnung. Wenn der Anfang der Aufzeichnung oder die Leseoperation abgeschaltet werden, werden im Schritt 428 Sonderbedingungen geprüff, wozu die Abfühlung einer MTD-ünterbrechung, einer Bandmarke, IBG, Einheitenausnahmen und dgl. gehören. Solche Operationen wurden in herkömmlichen E/A-Steuergeräten bereits ausgeführt und werden hier daher nicht näher beschrieben. Wenn keine dieser Sonderbedingungen vorliegt, wird erneut der Lesevorlauf 426 angefangen. Wenn eine Sonderbedingung festgestellt wird, wird die Lesebeendigung 419 auf Fig. 33 begonnen .
Die Übertragung tatsächlich vorhandener Datensignale von der adressierten MTU auf INTFX erfolgt während der PE-Datenübertragung 430, wozu auch die überwachung auf IBG- und MTü-ünterbrechung gehört. Wenn eine IBG- oder MTü-Unterbrechung während der Datenübertragung auftritt, werden bei 431 Fehler gesetzt und die Lesebeendigung angefangen. Bei Feststellung des Datenendes wird die PE-Datenübertragungsroutine beendet und der Nachlauf geprüft. Das Datenendsignal wird von den Datenflußschaltungen 13 als ein BOC an die MPUY geliefert. Dieses ist eine der Zustandsleitungen in Fig. 2.
Bei der Wachlaufprüfung prüft die MPUY, ob der Nachlauf zu lang oder zu kurz ist oder als ein IBG erscheint. Solange bei 431 die Datenbereitschaft abgefühlt wird, läuft die Nachlaufprüfung weiter. Sobald eine IBG- oder MTU-Unterbrechung abgefühlt wird, wird die Lesebeendigung angefangen. Wenn der Nachlauf zu lang oder zu kurz ist, wird eine Datenendprüfung angezeigt und der MPUX bei 432 v/eitergeleitet.
Die Lesebeendigungsroutine ist eine Mikroprogrammversion einer vorher benutzten Bauteilfolge. Aus diesem Grund ist sie in den Zeichnungen nicht einzeln dargestellt. Zu den ausgeführten Funktionen gehören das Bringen des Bewegungssignales an die adressierte MTU und die Fortführung der überwachung der Leseleitung, bis die MTU gestoppt ist. Dabei handelt es sich um eine Geschwin-
Docket BO 970 012 2 0 9 8 15/1539
digkeitsprüfung durch Zählen von Tachometerimpulsen. Wenn ein Datenlesesignal vom INTFX über'MPUX empfangen wird, wird das Bewegungskennzexcnen für die adressierte MTU wieder angehoben und die Leseoperation gemäß Darstellung durch die Leitung 433 der Fig. 33 erneut begonnen. In dieser Situation kann ein gefaltetes Band vorliegen. Anhebung oder Erregung des Bewegungskennzeichens ermöglicht dem Systernkennzeichen das Lesen von Datensignalen nach überschreiten einer Bandfalte.
Die Reaktion der E/A-Steuereinheit 11 auf ein Abfragekornmando durch die MPUX wurde im einzelnen im Zusammenhang mit Fig. 24 beschrieben. In dieser Routine zapfte die MPUX die MPUY, auf deren in Fig. 36 gezeigtes Abfrageprogramm an. Bei Anzapfung ruft die MPUY zwei Abfragebytes von der MTU ab. Dann indexiert die MPUY bei 435 auf die beiden nächsten MTU-Abfragebytes durch Veränderung des Inhaltes der TUBO. Die MPUY überträgt dann beide Datenbytes nach YA bzw. YB und setzt STAT C gemäß Festlegung in 436. Ein Entscheidungszyklus wird dann bei 437 begonnen. Zuerst stellt die MPUY fest, ob das Stoppkennzeichen von der MPUX eingeschaltet ist oder nicht. Hierbei handelt es sich um eines der Zustandsbits im Register 89 der Fig. 3. Wenn das Stoppkennzeichen eingeschaltet ist, wartet die MPUY nur auf die MPUX. Ist es nicht eingeschaltet, fühlt sie nach MPUX STAT C ab. Aus der Beschreibung der Fig. 24 ist bekannt, daß die MPUX ihr STAT C setzt, wenn sie beide Abfragebytes von den Registern YA und YB an INTFX übertragen hat. Die MPUY muß warten, bis die MPUX STAT C hat. Dann geht sie zu einem Satz von Entscheidungsschritten 438 weiter. Wieder wird das Stoppkennzeichen abgefühlt und die MPUY wartet auf MPUX STAT C. Dieses sollte eingeschaltet sein und läuft sie weiter zum Löschen der LSR-Abfragebyte-Speicherstellen bei 439. Im Entscheidungsschritt 440 prüft die MPUY schließlich, ob alle Abfragebytes an die MPUX weitergeleitet wurden oder nicht. Ist das nicht der Fall, wird die Abfrageroutine erneut begonnen, um zwei weitere Abfragebytes abzurufen. Wenn die Abfrageoperation beendet ist, wartet die MPUY wieder auf die MPUX.
Docket bo 970 O12 209815/1539
MIRKOPROGRMIMSTEUERUNG DER DATENFLUßSCHALTUNGEN 13
In Fig. 37 ist die E/A-Steuereinheit 11 in vereinfachter Form geeigt, wobei besonders die Feziehung zwischen MPUX, MPUY und den Datenflußschaltungen 13 betont wird. Die IiPUX steuert grundsätzlich den linken Teil der Datenflußschaltungen 13 und liefert Überwachungssteuerfunktionen, die sich auf den rechten Teil beziehen. Die MPUY liefert eine genaue Steuerung der IiRZI-Abfühlschaltung 102, der PE-Abfühlschaltung 103 und der Steuerung 104 und außerdem Datengeschwindigkeits-Steuersignale an die Schreib-Taktgeber- und Steuerschaltungen 111.
Zuerst wird die Beziehung zwischen der MPUX und den Datenflußschaltungen 13 beschrieben. STAT 1 von der MUPX-Zustandsregister 89 (Fig. 3) schaltet wahlweise die UND-Glieder 444 ein. Die UND-Glieder 444 leiten dann Signale vom XA-Register 14 auf die Datenflußtorschaltungen 45. Die Datenflußtorschaltungen 445 empfangen außerdem Bauteilsignale (nicht dargestellt) von den Datenflußschaltungen 13, die den Operationszustand, wie Datenprüfung, Schreibprüfung und dgl., anzeigen. Ausgangssignale von deui Datenflußzustand 445 werden über die ODER-Glieder 446 an das CBI-Kabel 30 geliefert.
Das XA-Register liefert außerdem seine Signale an die Verknüpfung sschaltungen 447, die die Signale zur Erzeugung besonderer Steuersignale über die Leitung 448 decodieren. Diese Sondersteuersignale werden in Verbindung mit Fehlersuchverfahren benutzt, welche nicht näher beschrieben werden. In diesem Zusammenhang wird das STAT Bit 0 vom MPU-Register 89 über die Leitung 449 den Verknüpfungsschaltungen 447 zugeführt. Diese werden zu einer gemeinsamen Steueroperation der Schreibtaktgeber- und Steuerschaltungen 111 sowie der Steuerschaltungen 104 kombiniert. Sondersteuersignale können dazu benutzt werden, die Paritätsprüfung während Datenübertragungsoperationen zu blocken, Verbindungen bei der Schreib-Lese-Fehlersuche zu verschleifen (d. h. von der INTFX empfangene Daten werden nicht tatsächlich auf dem Band aufge-
Docket bo 970 012 2 0 9 8 15/1539
zeichnet, Aufzeichnungsbandmärke) und übernehmen ausgewählte Bauteilprüfungen unter Steuerung von Fehlersuchroutinen. Die UND-Glieder 450 sprechen gemeinsam auf Signale im XA-Register 14 und das erregte MPUY STAT O an und liefern Schreib-Einleitungssignale an die Steuerschaltungen 111. Die Schaltungen 111 sprechen auf das Schreibkommando an und leiten die Signalerzeugung und Signalzufuhr über das Kabel 33 an die adressierte MTU ein. In ähnlicher Weise sprechen die Verknüpfungsschaltungen 451 gemeinsam auf Signale vom XA-Register 14 und MPUY STAT O an und liefern ein Lesekommandosignal über die Leitung 452 an die Steuerschaltungen 104. Das Register XA kann z. B. ein acht Bit Register sein und Bit 4 gleichzeitig mit MPUY STAT 0 aktiv sein und eine Leseeinleitung anzeigen. Die Steuerschaltungen 104 reagieren auf das Lesekommandosignal auf der Leitung 452 genauso wie die obenerwähnten Bauteil-Steuereinheiten und leiten das über den Datenkanal empfangene Lesekommando ein.
Die Datenflußsteuerung innerhalb der Schaltungen 13 ist in der nachfolgenden Tabelle II festgelegt:
TABELLE II
KOMMAIIDOSTRUKTUR IN DEN DATENFLUßSCHALTUNGEN
Kommando Aktive Bits
Übertrage XA nach TIE MPüX STAT 4
Spezielle Fehlersuchkommandos XA-O, MPUY STAT O
Schreiben XA-I, MPUY STAT O
Lesen XA-4, MPUY STAT O
Übertrage Abfragebyte A nach CBI XA-6, LIPUX STAT I
übertrage Abfragebyte B nach CBI XA-7, MPUX STAT I
i-JRZI Last Mode Set XA-7
Viänle PE-Betrieb YA-O
IJäiile vorwärts YA-I
Schwellwert senken YA-2
FORCE YA-4
Datenrate Decode YA-5,6,7
uocket bo 970 012 209815/1539
In der obigen Tabelle bezeichnet eine gespeicherte binäre 1 in einem bestimmten Bit die Ausführung des auf der linken Tabellenspalte angegebenen Kommandos. Der Inhalt des Registers XA wird z. B. auf das TIE-Register in den Datenflußschaltungen übertragen, wenn MPUX STAT 4 aktiv ist. Das TIE-Register wird durch die Fehlererkennungs- und Korrekturschaltung dazu benutzt/ Bits entsprechend dem angezeigten Spurfehler zu korrigieren. Besondere Fehlersuchkommandos werden übertragen, wenn das XA-Bit-O-Register (XA-O) aktiv ist und MPUY STAT O ebenfalls. In ähnlicher Weise werden Lese- und Schreibkommandos eingeleitet. Die Steuerungen 111 und 104 können zusätzliche Verknüpfungsentscheidungen bei Empfang eines Schreib- oder Lesekommandos fällen, bevor das Lesen oder Schreiben tatsächlich ausgeführt wird. Solche Verknüpfungsentscheidungen werden in herkömmlichen E/A-Steuereinheiten benutzt. Jede Datenflußschaltung 13 kann zwei Abfragebytes A und B erzeugen, welche verschiedene Zustände der Datenflußschaltungen anzeigen. Das Abfragebyte A kann z. B. den PE-Zustand darstellen, während das Abfragebyte B den NRZI-Zustand darstellt. Die Bits vom YA-Register werden nicht auf die Datenflußschaltungen geleitet, sondern direkt zur Steuerung übertragen. Wahl PE-Betrieb wird z. B. in den Datenflußschaltungen 13 erzeugt, wenn das YA-Register Bit O aktiv ist. Wenn Bit O nicht aktiv ist, ist der NRZI-Betrieb gewählt. In ähnlicher Weise wird der Vorwärtsbetrieb gewählt, wenn YA-I aktiv ist und der Rückwärtsbetrieb, v/enn YA-I nicht aktiv ist. Die Datengeschwindigkeit zur Datenübertragung von der adressierten MTU wird durch die drei YA-Bits 5, 6 und 7 decodiert. Verschiedene MTU's können z. B. an eine INTFY angeschlossen sein.
Außerdem ist die Übertragung der Tabelle II aus dem Register YA auf die Steuerschaltungen 104 in gekürzter Form in Fig. 37 gezeigt.
Docket BO 970 012 2 0 9 8 15/1539

Claims (4)

  1. PATENTANSPRÜCHE
    Schaltungsanordnung zur Steuerung von peripheren Ein- und Ausgabegeräten von Datenverarbeitungssystemen, die aus einer zentralen Verarbeitungseinheit, die Befehle ausführen kann, und einem oder mehreren Hauptspeichern, der bzw. die über einen oder mehrere Datenkanäle verbunden ist bzw. sind, besteht und zur Steuerung der Ein- und Ausgabegeräte voneinander unabhängig arbeitende Steuereinheiten aufweist, dadurch gekennzeichnet, daß die Ein- und Ausgabesteuereinheit aus mehreren unabhängig voneinander zu betreibenden mikroprogrammierbaren arithmetisch-logischen Einheiten (MPU) besteht, wovon jede einen eigenen Mikroprogrammspeicher mit eigenem Mikroprogramm und daran angeschlossene Austauschregister (z.B. 14 und 15) aufweist.
  2. 2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß die zentrale Verarbeitungseinheit (CPU) über ein Kabel (10) mit einer Anschlußeinheit (INTFX) verbunden ist und die Ein- und Ausgabeeinheiten über ein Kabel (12) mit einer weiteren Anschlußeinheit (INTFY), wobei die Ein- und Ausgabesteuereinheit (11) die Synchronisations- und Steuerfunktionen in Form eines Mikroprogramms liefert.
  3. 3. Schaltungsanordnung nach den Ansprüchen 1 und 2, dadurch gekennzeichnet, daß die Ein- und Ausgabesteuereinheit (11) aus einer ersten mikroprogrammierbaren Einheit (MPUX), die die Synchronisations- und Steuerfunktionen liefert, aus einer zweiten mikroprogrammierbaren Einheit (MPUY), die die Betriebsfunktionen der eindeutig zugeordneten Ein- und Ausgabeeinheit liefert und aus einer dritten mikroprogrammierbaren Einheit (MPUD) besteht, die die Datenflußschaltungen (13) steuert, die die Signale zwischen den Anschlußeinheiten (z.B. X und Y) arithmetisch oder logisch verarbeiten.
  4. 4. Schaltungsanordnung nach den Ansprüchen 1 bis 3, dadurch Docket au 970 012 209815/1539
    2U8847
    gekennzeichnet, daß die dritte mikroprogrararnierbare Einheit (MPUD) der Datenflußschaltungen (13) logisch-arithraetische Verarbeitungsschaltungen (25 und 26) sowie ein Pufferspeicher system (27) steuert.
    Schaltungsanordnung nach Anspruch 4, dadurch gekennzeichnet, daß die mikroprogramraierbaren Einheiten zur Speicherung des Mikroprograroras einen Festwert-Steuerspeicher (65) enthalten, der durch den Inhalt eines Instruktionszählers (66) angesteuert wird und dessen jeweils ausgelesenes Instruktionswort auf das Instruktionsregister (67) geleitet wird, und von da aus auf v/eitere Decodierschaltungen (z.B. 70) und decodiert an die arithmetisch-logische Einheit (72).
    Docket BO 970 012
    209815/1539
    Leerseite
DE2148847A 1970-10-01 1971-09-30 Datenübertragungssteuerung zwischen Speichern und peripheren Geräten einer Datenverarbeitungsanlage Expired DE2148847C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US7708870A 1970-10-01 1970-10-01

Publications (3)

Publication Number Publication Date
DE2148847A1 true DE2148847A1 (de) 1972-04-06
DE2148847B2 DE2148847B2 (de) 1979-06-28
DE2148847C3 DE2148847C3 (de) 1980-03-06

Family

ID=22136007

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2148847A Expired DE2148847C3 (de) 1970-10-01 1971-09-30 Datenübertragungssteuerung zwischen Speichern und peripheren Geräten einer Datenverarbeitungsanlage

Country Status (5)

Country Link
US (1) US3654617A (de)
JP (1) JPS5418097B1 (de)
DE (1) DE2148847C3 (de)
FR (1) FR2109783A5 (de)
GB (1) GB1353770A (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2902080A1 (de) * 1978-01-20 1979-07-26 Hitachi Ltd Daten-kanal-steueranordnung
DE2951767A1 (de) * 1978-12-26 1980-07-17 Honeywell Inf Systems Aufzeichnungssteueranordnung fuer die verwendung in einem datenverarbeitungssystem
DE2914665C2 (de) * 1979-04-11 1986-04-17 Standard Elektrik Lorenz Ag, 7000 Stuttgart Fernmeldesystem, insbesondere Bildschirmtext-System, sowie teilzentraler und dezentraler Schaltungsbaustein für dieses System

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1393898A (en) * 1971-08-17 1975-05-14 Systemware Ltd Electronic data processing apparatus
US3798613A (en) * 1971-10-27 1974-03-19 Ibm Controlling peripheral subsystems
FR2181123A5 (de) * 1972-04-18 1973-11-30 Honeywell Bull
US3766526A (en) * 1972-10-10 1973-10-16 Atomic Energy Commission Multi-microprogrammed input-output processor
US3833930A (en) * 1973-01-12 1974-09-03 Burroughs Corp Input/output system for a microprogram digital computer
US3909800A (en) * 1973-12-18 1975-09-30 Honeywell Inf Systems Improved microprogrammed peripheral processing system
US3909799A (en) * 1973-12-18 1975-09-30 Honeywell Inf Systems Microprogrammable peripheral processing system
US3950735A (en) * 1974-01-04 1976-04-13 Honeywell Information Systems, Inc. Method and apparatus for dynamically controlling read/write operations in a peripheral subsystem
FR2261567B1 (de) * 1974-02-20 1977-09-23 Honeywell Bull Soc Ind
US3934232A (en) * 1974-04-25 1976-01-20 Honeywell Information Systems, Inc. Interprocessor communication apparatus for a data processing system
GB1499742A (en) * 1974-10-30 1978-02-01 Motorola Inc Interface adaptor circuits in combination with a processo
US4128876A (en) * 1977-04-28 1978-12-05 International Business Machines Corporation Synchronous microcode generated interface for system of microcoded data processors
US4246637A (en) * 1978-06-26 1981-01-20 International Business Machines Corporation Data processor input/output controller
DE2845218C2 (de) * 1978-10-17 1986-03-27 Siemens Ag, 1000 Berlin Und 8000 Muenchen Mikroprogrammgesteuerte Ein-/Ausgabeeinrichtung und Verfahren zum Durchführen von Ein-/Ausgabeoperationen
USRE36989E (en) * 1979-10-18 2000-12-12 Storage Technology Corporation Virtual storage system and method
US4310895A (en) * 1979-11-02 1982-01-12 International Business Machines Corporation Plural null digital interconnections
EP0029177A1 (de) * 1979-11-19 1981-05-27 Texas Instruments Incorporated Intelligente periphere Steuerung
IT1150998B (it) * 1980-09-02 1986-12-17 Telecomucicazioni Siemens Spa Unita' di controllo di un modulo ingresso-uscita di un elaboratore elettronico
US4423480A (en) * 1981-03-06 1983-12-27 International Business Machines Corporation Buffered peripheral system with priority queue and preparation for signal transfer in overlapped operations
IE832561L (en) * 1983-11-02 1985-05-02 Nat Microelectronics Applic Ct Apparatus for handling data
US5214761A (en) * 1989-05-08 1993-05-25 Wang Laboratories, Inc. Real-time adjustable-transform device driver for physical devices
US5499384A (en) * 1992-12-31 1996-03-12 Seiko Epson Corporation Input output control unit having dedicated paths for controlling the input and output of data between host processor and external device
EP1008051A4 (de) 1997-03-12 2007-04-25 Storage Technology Corp Netzwerkangehängtes virtuelles banddaten-speicheruntersystem
US6658526B2 (en) 1997-03-12 2003-12-02 Storage Technology Corporation Network attached virtual data storage subsystem
US6094605A (en) 1998-07-06 2000-07-25 Storage Technology Corporation Virtual automated cartridge system
US6330621B1 (en) 1999-01-15 2001-12-11 Storage Technology Corporation Intelligent data storage manager
US6834324B1 (en) 2000-04-10 2004-12-21 Storage Technology Corporation System and method for virtual tape volumes
US7480831B2 (en) * 2003-01-23 2009-01-20 Dell Products L.P. Method and apparatus for recovering from a failed I/O controller in an information handling system
US9569912B2 (en) 2008-06-26 2017-02-14 Shopatm Bv (Sarl) Article storage and retrieval apparatus and vending machine

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3210733A (en) * 1958-08-18 1965-10-05 Sylvania Electric Prod Data processing system
US3238506A (en) * 1961-06-27 1966-03-01 Ibm Computer multiplexing apparatus
US3293610A (en) * 1963-01-03 1966-12-20 Bunker Ramo Interrupt logic system for computers
US3312951A (en) * 1964-05-29 1967-04-04 North American Aviation Inc Multiple computer system with program interrupt
US3377623A (en) * 1965-09-29 1968-04-09 Foxboro Co Process backup system
US3395396A (en) * 1965-11-23 1968-07-30 Bell Telephone Labor Inc Information-dependent signal shifting for data processing systems
US3469239A (en) * 1965-12-02 1969-09-23 Hughes Aircraft Co Interlocking means for a multi-processor system
US3411143A (en) * 1966-01-13 1968-11-12 Ibm Instruction address control by peripheral devices
US3419852A (en) * 1966-02-14 1968-12-31 Burroughs Corp Input/output control system for electronic computers
US3409880A (en) * 1966-05-26 1968-11-05 Gen Electric Apparatus for processing data records in a computer system
US3408632A (en) * 1966-06-03 1968-10-29 Burroughs Corp Input/output control for a digital computing system
US3500328A (en) * 1966-06-20 1970-03-10 Ibm Data system microprogramming control

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2902080A1 (de) * 1978-01-20 1979-07-26 Hitachi Ltd Daten-kanal-steueranordnung
DE2951767A1 (de) * 1978-12-26 1980-07-17 Honeywell Inf Systems Aufzeichnungssteueranordnung fuer die verwendung in einem datenverarbeitungssystem
DE2914665C2 (de) * 1979-04-11 1986-04-17 Standard Elektrik Lorenz Ag, 7000 Stuttgart Fernmeldesystem, insbesondere Bildschirmtext-System, sowie teilzentraler und dezentraler Schaltungsbaustein für dieses System

Also Published As

Publication number Publication date
DE2148847B2 (de) 1979-06-28
US3654617A (en) 1972-04-04
JPS5418097B1 (de) 1979-07-05
FR2109783A5 (de) 1972-05-26
DE2148847C3 (de) 1980-03-06
GB1353770A (en) 1974-05-22

Similar Documents

Publication Publication Date Title
DE2148847A1 (de) Schaltungsanordnung zum Steueren peripherer Ein- und Ausgabegeraete von Datenverarbeitungssystem
DE2460825C2 (de) Verfahren zur Informationsübertragung zwischen Zentraleinheit und Peripheriegeräten und Datenverarbeitungsanlage zur Durchführung des Vefahrens
DE2902060C2 (de) Anordnung zum Steuern von Datenübertragungen zwischen einem Hauptspeicher und Eingabe/Ausgabe-Einheiten
DE2239163C3 (de) Eingabe/Ausgabe-Steuerschaltung für eine Datenverarbeitungsanlage
DE1524102C3 (de) Elektronische, aus Baueinheiten aufgebaute Datenverarbeitungsmaschine
DE2039040C3 (de) Verfahren zum Steuern des Datenaustauschs zwischen einer Zentralstation und einer von mehreren Datenendstationen und adressierbare Datenendstation zur Durchführung des Verfahrens
CH522921A (de) Rechneranlage
DE2500721A1 (de) Sekundaerspeicher fuer datenverarbeitungssysteme
DE2134402B2 (de) Vorrichtung zum Abfragen der Verfügbarkeit eines Kommunikationsweges zu einer Eingabe-Ausgabeeinheit
DE2237672A1 (de) Fehlerpruef- und fehlerdiagnoseeinrichtung in einer elektronischen datenverarbeitungsanlage und verfahren zu deren betrieb
DE2122338A1 (de) Schaltungsanordnung zur Steuerung des Datenflusses in Datenverarbeitungsanlagen
DE1474062A1 (de) Datenverarbeitungsanlage
DE2213423A1 (de) Elektronische digitale Datenverarbeitungsanordnung
DE1499206C3 (de) Rechenanlage
DE1524111C3 (de) Elektronische Datenverarbeitungsanlage
DE2363846A1 (de) Verfahren zum steuern des transfers von daten zwischen einem speicher und einem oder mehreren peripheren geraeten und nach diesem verfahren arbeitende datenverarbeitungsanlage
DE2218630C3 (de) Schaltungsanordnung zur Steuerung von Unterbrechungssignalen in Datenverarbeitungsanlagen
DE2063195C2 (de) Verfahren und Einrichtung zur Operationssteuerung einer Anzahl von externen Datenspeichern
DE2417538C2 (de) Schaltung zum Spurauffüllen für Datenspeicher
DE2720842C3 (de) Datenübertragungssystem
DE2517170C2 (de) Schaltungsanordnung zum Unterbrechen des Programmablaufs in Datenverarbeitungsanlagen mit mehreren Ansteuereinrichtungen von Sekundärspeichern und dergleichen Speichereinheiten mit sequentiellem Zugriff
DE2221926C3 (de) Datenverarbeitungsanlage mit wenigstens einem in Verbindung mit mehreren Peripheriegeräten stehenden Prozessor
DE1549428A1 (de) Vermittlungs- und Steuergeraete in einem Rechenmaschinensystem
DE2817135A1 (de) Magnetblasenspeicher-geraet
DE1549457C3 (de) Datenverarbeitungsanlage

Legal Events

Date Code Title Description
OD Request for examination
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee