DE2213423A1 - Elektronische digitale Datenverarbeitungsanordnung - Google Patents

Elektronische digitale Datenverarbeitungsanordnung

Info

Publication number
DE2213423A1
DE2213423A1 DE19722213423 DE2213423A DE2213423A1 DE 2213423 A1 DE2213423 A1 DE 2213423A1 DE 19722213423 DE19722213423 DE 19722213423 DE 2213423 A DE2213423 A DE 2213423A DE 2213423 A1 DE2213423 A1 DE 2213423A1
Authority
DE
Germany
Prior art keywords
branch
control
zone
instruction
conditions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE19722213423
Other languages
English (en)
Inventor
Gene Harold; Irwin John William; Longmont CoI. Edstrom (V.St.A.). G06f 11-06
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 DE2213423A1 publication Critical patent/DE2213423A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30058Conditional branch instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/264Microinstruction selection based on results of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Programmable Controllers (AREA)
  • Executing Machine-Instructions (AREA)

Description

Böblingen, den 16. März 1972
jo-sz
Anmelderin: · International Business Machines
Corporation, Armonk,· N. Y. 10504
Ami;liches Aktenzeichen: · Neuanmeldung
Aktenzeichen der Anmelderin: Docket BO 970 049
Elektronische digitale Datenverarbeitungsanordnung
Die Erfindung betrifft eine elektronische digitale Datenverarbeitungsanordnung, die durch Instruktionen steuerbar ist, die
mindestens einen Operationscode und ein erstes und zweites Steuerfeld aufweisen und die eine Folgesteuerung zur Ausführung der Instruktionen nach einem vorgegebenen Signalmuster, einschließlich der Verzweigungsoperationen, die auf Bedingungen basieren, die im ersten Steuerfeld angegeben sind, und eine Verzweigung
zu einer Speicheradresse veranlassen,·die auf Codepermutationen im zweiten Steuerfeld beruhen, besitzt..
Die Erfindung bezieht sich insbesondere auf eine digitale Datenverarbeitungsanordnung, die als Ein-/Ausgabesystem für eine zentrale Verarbeitungseinheit dienen kann.
Auf dem weiten Anwendungsgebiet datenverarbeitender Systeme
spielen die peripheren Untersysteme in sunehmendem Maße eine
bedeutende Rolle.
209847/1024
Als Folge dieser wachsenden Bedeutung wurden die Steuergeräte, die den verschiedenen peripheren Geräten zugeordnet sind, flexibler, komplexer und im allgemeinen auch programmierfähiger. Dj,ese Steuergeräte der Ein-/Ausgabegeräte besitzen im allgemeinen Festwertspeicher (ROS) und sie sind programmierbar. Auf diese Weise werden viele Funktionen, die normalerweise in zentralen Verarbeitungseinheiten ausgeführt werden, nunmehr in ähnlicher Weise in den verschiedenen Steuergeräten ausgeführt. So werden beispielsweise viele der sog. "Haushalts"-Programmfunktionen sowohl in der zentralen Verarbeitungseinheit als auch in dem Steuergerät für die Ein-/Ausgabegeräte durchgeführt. Diese Funktionen schließen Verzweigungsoperationen ein, wobei der Ort verfolgt und festgehalten wird, von dem das gegenwärtige oder vorhergehende Instruktionswort vom Steuerspeicher abgerufen wurde.
Die Hauptkosten einer Digitalmaschine liegen in den Speicherkosten. Aus diesem Grund ist es in vielen Anwendungen wünschenswert, ein kürzeres Steuer- oder Instruktionswort zugrund zu legen«, Diese Auswahl reduziert die Größe des Speichers und daher die Kosten der Maschine. Andererseits gibt es einen Kompromiß zur Verbesserung der Programmiereffizienz, der darin besteht, die Flexibilität der Verzweigungsoperation zu groß wie möglich zu machen. Diese beiden in Konflikt geratenden Anforderungen sind oft sehr schwierig zu lösen. Bei einigen Maschinen wird eine bedingte Verzweigungsinstruktion (BOC) auf die Verzweigung innerhalb einer vorgegebenen Speicherzone beschränkt. Das bedeutet, daß der Modulus eines Adressenfeldes eines Instruktionswortes kleiner ist als die Zahl der Bits, die für die vollständige Adressierung eines speziellen Registers im Speicher erforderlich sind. Bei derartigen Systemen wird die Speicherzone in einem Register aufbewahrt, das durch eine unbedingte Verzweigungsoperation veränderbar ist, die zwei oder mehr Felder der Instruktion oder des Steuerwortes kombiniert, um eine vollständige Adresse zu erzeugen. Bei anderen Systemen dient ein zweites Wort zur Führung der Adresse.
Docket BO 970 049 2 0 9 8 4 7/1024
Der Speicher, von dem die Instruktionsworte abgerufen werden (Steuerspeicher) kann von 2 bis 8 oder noch mehr Speicherzonen besitzen. Eine übertragung von einer Speicherzone zu einer anderen innerhalb eines Programms von Instruktionen erfordert eine unbedingte Verzweigungsoperation. So kann beispielsweise in einem Instruktionswort, das aus einem Operationscode, einem ersten Feld und einem zweiten Feld besteht, das erste Feld eine Anzahl von Digits haben, die Bedingungen angeben, bei deren Auftreten eine Verzweigung vorgenommen werden soll, während das zweite Feld die Adresse angibt, von der das nächste Instruktionswort abgerufen werden soll, wenn die Bedingung erfüllt ist. Ansonsten wird die nächste Instruktion gemäß einer anderen vorgegebenen Folge von Instruktionswörtern abgerufen.
Die Aufgabe der vorliegenden Erfindung besteht darin, eine verbesserte Verzweigungssteuerung für eine programmierbare digitale Maschine anzugeben.
Ein weiterer Aspekt der vorliegenden Erfindung besteht darin, Steuergeräte für Ein-/Ausgabegeräte anzugeben, die so aufgebaut sind, daß sie einen Basisinstruktionssatz und Programme für den Betrieb eines peripheren Systems besitzen. Sie sollen ferner nicht mehr den Nachteil besitzen, nicht genügend flexibel zu sein.
Die Erfindung bezieht sich daher auf eine elektronische digitale Datenverarbeitungsanlage, die durch Instruktionen steuerbar ist, die mindestens einen Operationscode und ein erstes und zweites Steuerfeld aufweisen, und die eine Folgesteuerung zur Ausführung der Instruktionen nach einem vorgegebenen Signalmuster, einschließlich der Verzweigungsoperationen, die auf Bedingungen basieren, die im ersten Steuerfeld angegeben sind und eine Verzweigung zu einer Speicheradresse veranlassen, die auf Codepermutationen im zweiten Steuerfeld beruhen, besitzt.
Diese elektronische digitale Datenverarbeitungsanordnung ist ge-
209847/1024
Docket BO 970 049
kennzeichnet durch eine Verzweigungssteuerung, die auf Bedingungen anspricht, die durch Instruktionen erzeugt werden, die vor einer gegebenen Verzweigungsinstruktion ausgeführt werden, zum Vergleich mit Codepermutationen im ersten Steuerfeld, für die Durchführung oder Nichtdurchführung einer Verzweigung gemäß den Codepermutationen im zweiten Steuerfeld oder einer anderen gegebenen Instruktionsfolge.
Zur Erhöhung der Flexibilijbät ist die elektronische digitale Datenverarbeitungsanlage ferner dadurch gekennzeichnet, daß zusätzliche Einrichtungen zur Durchführung zusätzlicher Funktionen, die nicht notwendigerweise von Anfang an von der Datenverarbeitungsanordnung ausgeführt werden müssen, und zur Anzeige der Zusatzfunktionen in die Verzweigungssteuerung einsetzbar sind.
Ein weiteres Merkmal der erfindungsgemäßen elektronischen Datenverarbeitungsanordnung ist gekennzeichnet durch eine Schaltungsanordnung, die auf Signale der Verzweigungssteuerung hin einen vorgegebenen Vergleich der Codepermutationen im ersten Steuerfeld bezüglich zusätzlicher Einrichtungen für die Durchführung einer Verzweigungsoperation zu einem Speicherte!1 vornimmt, der der Durchführung der Zusatzfunktionen außerhalb der Adressierfähigkeit des zweiten Steuerfeldes zugeteilt ist, wobei die Verzweigungssteuerung beim Fehlen der Zusatzfunktionen eine derartige Verzweigung der Instruktionen verhindert.
Weitere Merkmale, vorteilhafte Ausgestaltungen und Weiterbildungen des Gegenstandes der Erfindung sind den Unteransprüchen zu entnehmen.
Der Vorteil, der mit der Datenverarbeitungsanordnung nach der Erfindung erreicht wird, geht aus folgendem hervor:
Das erste Steuerfeld enthält, neben anderem, Angaben der Bedingungen, bei denen die Maschine eine Verzweigung durchführt. Das
Docket BO 970 049 2 0 9 8 4 7/1024
zweite Steuerfeld enthält eine andere Adresse für die Gewinnung des nächsten Instruktionswortes innerhalb einer Speicherzone. Zwei Arten von bedingten Verzweigungsinstruktionen sind vorgesehen. Bei der ersten Art ,spricht die Verzweigungssteuerung auf das erste Feld für die Auswahl einer bedingten Verzweigung an. Das zweite Feld gibt die Speicheradresse innerhalb der Zone an, aus der die gerade vorliegende Instruktion abgerufen wurde und von der auch die nächste.Instruktion abgerufen werden wird. Die zweite Art der Verzweigungsinstruktion schließt eine Anzeige durch das erste Steuerfeld ein, und zwar von der Bedingung, bei deren Auftreten die Verzweigung durchgeführt werden soll, und von der Speicherzone, aus der die nächste Instruktion abgerufen wird. Die vollständige Adresse des nächsten Instruktionswortes basiert auf der Kombination des Inhalts des ersten Feldes mit einer Code-r . permutation des Inhaltes des zweiten Steuerfeldes, z.B. der Bedingung, bei der die Verzweigung durchzuführen ist.
Die Vorteile der vorliegenden Erfindung bestehen also darin, daß die Verzweigung auf Merkmalen und Operationsfähigkeiten basiert, wobei insbesondere eine Speicherzonenselektion vorgenommen wird, die segmentierte Programme in entsprechenden Speicherzonen verwendet.
Ein weiterer Vorteil besteht auch in der Möglichkeit, die Steuerfelder auf den neuesten Stand zu bringen und Zusatzeinrichtungen nachträglich in eine mlkroprogrammierte Maschine einzubauen. Diese zuletztgenannte Eigenschaft der elektronischen digitalen Datenverarbeitungsanordnung nach der Erfindung bietet allerdings einen besonders großen Vorteil.
Auaführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und werden anschließend näher beschrieben. Es zeigen:
Fig. 1 in einem abgekürzten Diagramm die Funktion der
vorliegenden Erfindung in einer programmierbaren Maschine,
209847/1024
Docket BO 970 049
— ο —
Fig. 2 in einem vereinfachten Blockdiagramm periphere
Untersysteme, welche die vorliegende Erfindung benutzen,
Fig. 3 in einem vereinfachten Blockdiagramm die Benut-
' zung der vorliegenden Erfindung in einem E/ASteuergerät,
Fig. 4 in einem abgekürzten logischen Ablaufdiagramm
die im Steuergerät der Fig. 3 benutzte Verzweigungssteuerung,
Fig. 5 in einem vereinfachten Diagramm einen Programm-
satz in einem E/A-Steuergerät und die Verwendung der vorliegenden Erfindung darin,
Fig. 6 in einem vereinfachten Programmablaufdiagramm
eine Anwendung der vorliegenden Erfindung und
Fig. 7 in einem vereinfachten logischen Diagramm eine
Variante der Verzweigungssteuerung.
(In den Zeichnungen bezeichnen dieselben Nummern gleiche Maschinenteile) .
PROGRAMMANORDNUNG
Das vereinfachte Blockdiagramm der Fig. 1 zeigt eine Steuerspeicheranordnung und die Verbindung zwischen verschiedenen in einem solchen Speicher stehenden Programmen. Der Speicher hat Zonen 1 bis 4, die jedoch keinerlei Begrenzung darstellen. Die Speicherzone 1 enthält einen Satz von Basisprogrammen 100, welche bedingte Verzweigungsinstruktionen (BOC)-Instruktionen, die durch die Linie 101 dargestellt sind, zur Verzweigung der Programme zwischen verschiedenen Strömen oder Reihenfolgen von Instruktionswörtern einschließen, die in dieser Zone stehen. Um
Docket BO 970 049 209847/1024
von in der Zone 1 stehenden Programmen zu"in der Zone 2 stehenden Programmen zu verzweigen, wird eine unbedingte Verzweigung so ausgeführt, daß die Verzweigung der Linie 102 zu den in der Zone 2 stehenden Züsatzprogrammen 103 folgt. In den Programmen 103 verzweigen verschiedene bedingte VerzweigungsInstruktionen das Programm zwischen den verschiedenen Instruktionsströmen gemäß Darstellung durch die BOC-Linie 104.
Nach der vorliegenden Erfindung ist eine zweite Art von bedingter Verzweigungsinstruktion in den Basisprogrammen 100 und den Zusatzprograramen 103 vorgesehen und mit "bedingtes Verzweigungsmerkmal" (BOCF) bezeichnet. Dieses ist eine Einrichtung, die in Figo 4 dargestellt ist und die Eingabe.einer Zonenadresse in den Register-Zähler erzwingen kann, wenn eine BOCF-Instruktion vorliegt«, Eine Instruktion im Basisprogramm 100 stellt mit einer Verzweigungsentscheidung 105 fest, ob das Merkmal (Bauteil) A in der Maschine eingebaut ist oder nicht. Wenn es nicht eingebaut ist, kehrt das Programm zu den Basisprogrammen 100 zurück. Ist das Merkmal A eingebaut, wird der Adreßteil des Instruktionswortes so verändert, daß die Verzweigung zwischen den Speicherzonen ohne unbedingte Verzweigungsinstruktion (Bü-Instruktion) ermöglicht wird. Wenn das Merkmal A in der Maschine eingebaut ist, verzweigt bei dem in Fig. 1 gezeigten Schema das Programm automatisch zur Speicherzone 2 in die A-Programme 106. In den A-Programmen 106 kann man mit der ersten Art der bedingten Verzweigungsinstruktion verschiedene Ströme von Instruktionswörtern nach der Darstellung durch die BOC-Linie 107 erreichen. Α-Programme laufen durch die Bü-Instruktion (unbedingte Verzweigung) über die Linie 108 heraus und kehren zu den Basisprogrammen 100 oder zu anderen Programmen zurück. Die Basisprogramme 100 können auf verschiedene Teile der Α-Programme Bezug nehmen. Dieser Bezug erfolgt jedoch immer über einen zweiten Typ von bedingter Verzweigungsinstruktion. Diese Instruktion benutzt die Bedingung, auf welche hin die Verzweigung vorgenommen wird, zum Wählen der Speicherzone (Zone 2), zu welcher verzweigt wird. Die normalerweise benutzte und in dem BOC-Instruktionswort enthaltene Instruktionsadresse gibt an, ·
209847/ 1 0 2 4
Docket BO 97O O49 **«·## ι υ * ü
β 2213Α23
— ο —
welches Register in der bedingt gewählten Speicherzone zum Abruf des nächsten Instruktionswortes zu adressieren ist.
Die Speicherzone 4 kann zum Speichern von Konstanten, Wartungsprogrammen und dgl. benutzt werden. Der Prograiransatz kann in jeder programmierbaren Maschine zusammengestellt werden. Um die Anwendung der vorliegenden Erfindung zu zeigen, wird eine mikroprogrammierbare E/A-Steuereinheit in einem Bandspeicher-Untersystem benutzt.
Allgemeine Beschreibung des Bandspeicher-Untersystems (TSS)
Das beschriebene E/A-Steuergerät ist besonders nützlich bei einem Kanal der Art, wie er in den US-Patentschriften Nr. 3 303 476 und 3 336 582 beschrieben ist, für die Steuerung des erwähnten Kanalgerätes. Die Beschreibung nimmt ein Kanal-E/ASteuergerät an, welches mit einem Kanal der in den Patentschriften beschriebenen Art zu betreiben ist. Die Fign. 1 und 3 der zuerst genannten Patentschrift beschreiben alle hierin benutzten Kennzeichensignale mit Ausnahme des Signales "unterdrückbare Eingangsanforderung", welches im Zusammenhang mit den MPUX-Mikroprogrammen (raikroprogrammierbare Einheit X) (Kanal-MPU) definiert ist. Die Beschreibung nimmt auch an, daß die Schnittstelle zwischen dem Steuergerät und den E/A-Geräten einer ähnlichen Anordnung für Leitung-Aus, Leitung-Ein und Kennzeichenleitung folgt. Zusätzlich zu den dort beschriebenen Funktionen ist eine Tachometereingangsleitung für das E/A-Steuergerät 11 nach späterer Beschreibung vorgesehen. Die Informations-Verarbeitungssystem-Schnittstelle X (INTFX) ist die Schnittstelle, die in der erstgenannten Patentschrift beschrieben ist. (Schnittstelle steht hier allgemein für Anschlußanpassung).
Die INTFX steht mit einer CPU über das Kabel 10 in Verbindung. Das E/A-Steuergerät 11 liefert die Steuerung zum Austausch von Informationsträgersignalen zwischen INTFX und INTFY. Das INTFY ist über das Kabel 12 an eines oder mehrere Magnetmediengeräte
bo 970 ο« 209847/1024
angeschlossen. Solche E/A-Geräte sind nur zur Illustration Magnetbandeinheiten, die informationstragende Signale aufzeichnen und wiedergeben können, unter anderem in Ph.asencodierung (PE) und NRZI-Schemata.
Das E/A-Steuergerät 11 hat drei Hauptabschnitte. MPUX ist eine mikroprogrammierbare Einheit, welche Synchronisations- und Steuerfunktionen zwischen dem E/A-Steuergerät und INTFX liefert. MPUY übernimmt ähnliche Funktionen wie INTPY, In einem Magnetband-Untersystem liefert die MPUY (mikroprogrammierbare Einheit Y) die Bewegungssteuerung und andere Betriebsfunktionen, die eindeutig zum beschriebenen E/A-Gerät gehören. Der dritte Abschnitt besteht aus den Datenflußschaltungen 13, die informationsträchtige Signale zwischen den Schnittstellen X und Y tatsächlich verarbeiten. Die Datenflußschaltungen 13 können vollständig aus einem Bauteilsatz der Reihenfolgen und Schaltungen für Austauschoperationen informationsträchtiger Signale bestehen. In einem zu einem Magnetband-Aufzeichnungssystem gehörigen E/A-Steuergerät umfassen solche Datenflußschaltungen Schreibschaltungen für PE und NRZI, Rückleseschaltungen für beide Codierschemata, Schräglauf-Ausgleichsschaltungen, Schaltungen für bestimmte Fehlersuchfunktionen und bestimmte zum Betrieb des Magnetband-Untersystems gehörige Buchführungsoperationen.
Da MPUX und MPUY unabhängig voneinander betrieben werden können, weil beide ihre eigenen Programme aus Mikroinstruktionen haben, ist eine Programmsynchronisation und Koordination erforderlich. Zu diesem Zweck sind Austauschregister vorgesehen. Jede MPUY hat ihre eigenen Austauschregister, so hat z.B. die MPUX Austauschregister 14, während die MPUY die Austauschregister 15 hat. Diese Register empfangenen Ausgangssignale von den entsprechenden MPUs. Die vorübergehend in diesen Register gespeicherten Signale werden direkt den Datenflußschaltungen 13 für Ausführung und überwachung des Datenflusses sowie Signalverarbeitungsoperationen zugeführt. Dadurch bedienen die Datenflußschaltungen 13 sowohl die MPUX als auch die MPUY. Außerdem werden diese Signale gleichzeitig der
209847/1024
Docket BO 970 049
jeweils anderen MPU zugeführt - d.h., Register 15 liefert MPUY-Ausgangssignale an die MPUX und Register 14 MPUX-Ausgangssignale an die MPUY. Unter Mikroprogrammsteuerung empfangen die entsprechenden MPUs wahlweise solche Signale für die Programmkoordination.
INTFX ist eine Steuer-Schnittstelle. Sie tauscht nicht nur Steuersignale mit der MPUX über das Kabel 16, sondern hat auch eine Anzapf-Steuerleitung 17. Wenn diese Leitung erregt ist, bricht die MPUX alle gegenwärtig laufenden Operationen ab und verzweigt zu einer festen Adresse zur Analyse der Signale auf dem Kabel 16. Diese gleichzeitig über das Kabel 16 zugeführten Signale zwingen die MPUX zur Ausführung ausgewählter INTFX-Funktionen. In ähnlicher Weise hat die MPUX eine Anzapf-Steuerleitung 18, die zur MPUY führt. Die MPUY reagiert auf ein Erregungssignal auf der Leitung 18 von der MPUX genauso wie die MPUX auf ein Erregungssignal auf der Leitung 17. Die MPUY tauscht nicht nur Steuersignale über das Kabel 20 mit den Einheiten über die INTFY, sondern hat auch eine Anzapfleitung 20 zur Steuerung eines E/AGerätes in ähnlicher Weise. Alle Informationsträgersignale werden zwischen den Schnittstellen X und Y durch die Datenflußschaltungen 13 über die Vollduplexkabel 23 und 24 ausgetauscht.
Die Datenflußschaltungen 13 haben Kanaleingangsleitungen 30 (CBI) und Kanalausgangsleitungen 31 (CBO). Jeder Leitungssatz kann ein Datenbyte und die Parität übertragen. In ähnlicher Weise übertragen die Bandeinheiten-Eingangsleitungen 32 (TUBI) Signale auf die Datenflußschaltungen 13 und die MPUY über INTVY. Die Bandeinheiten-Ausgangsleitungen 33 (TUBO) führen Informationsträgersignale zur Aufzeichnung in den MTUs und Kommandos von der MPUY und MTU-Adressen von der MPUX. Statussignale werden der MPUX und der MPUY über die Statuskabel 34 und 35 zugeführt. Geschwindigkeits- oder Tachometersignale, die durch die gewählte und betätigte MTU geliefert werden, werden von der MPUX und der MPUY sowie den Datenflußschaltungen 13 über die Leitung 36 empfangen.
Docket BO 970 049
209847/1024
Die MPUX hat eine Ausgangsleitung 40 (auch B-Leitung genannt), welche Signale an ihre Austauschregister 14 liefert. Diese umfassen ein Verzweigungssteuerregister 41,. ein XA-Register und ein XB-Register. Die Ausgangsleitung 40 ist außerdem an Kanalaustauschregister 42 angeschlossen. Diese Register sind CTI und CBI. CBI ist die Kanaleingangsleitung, während CTI Kanalkennzeichen-Ein ist. CTI überträgt die Kennzeichensignale von der E/A- ' Steuereinheit 11 zur CPU und andere Steuersignale für für Schnittstellenoperationen in der Art, die im Moyer-Patent beschrieben ist*
Zusätzlich empfängt das Kanal-Ausleitungstor 43 (CBO-Tor) Datenbytes von INTFX für die Datenflußschaltungen 13 und für die MPUX. Die Tore XA und XB tauschen in ähnlicher Weise Signale von den MPUY-Austauschregistern 15. Das Tor XA empfängt die Steuersignale vom Register YA, während das Tor XB Austauschsignale vom Register YB empfängt. Das CBI-Register wird geteilt durch die MPUX und die Datenflußschaltungen 13. Die CBI-Leitungen über INTFX werden nach dem Moyer-Patent multiplex betrieben. CTI liefert Kennzeichen, welche angeben, was die Leitungseingangssignale bedeuten.
INTFY arbeitet identisch. Signale in den TUBO-Registerausgangsleitungen 33 werden durch die MTUs nach den Signalen im TUTAG-Register interpretiert.
Externe Signal werden der MPUX und der MPUY über externe Register 50 bzw. 51 zugeführt. Solche externen Signal können von einer anderen E/A-Steuereinheit, von einer Wartungstafel, von einem Kommunikationsnetzwerk und dgl. stammen. Auch maschinenseitig ermittelte Fehler werden im Register 52 für die Prüfung durch die MPUX festgehalten.
Das E/A-Steuergerät 11 hat einen wirksamen ersten Wahlprozeß. Die MPUX antwortet auf die INTFX-Bedienungsanfrage einer MTU und liefert die MTU-Adresse über die Ausgangsleitung 40 in das TU-Adreßregister 6O. INTFY überträgt die TU-Adresse an alle MTUs. ,
2Q9847/1024
Docket BO 97O O49
Die richtig adressierte MTU antwortet der MPUY, daß die Wahl zulässig ist oder nicht. Wenn die Wahl zulässig ist, wird eine Verbindung hergestellt; die MPUY unterrichtet die MPUX davon über das Register YA. Die MPUX vervollständigt dann die erste Wahl durch eine Antwort an INTFX über CTI. Die Datenverarbeitungsoperationen können dann anlaufen. Dieses erste Wahlverfahren wird genau beschrieben, um die Beziehungen zwischen MPUX, .MPUY, Datenflußschaltungen 13 und den zwei Schnittstellen X und Y klar zu zeigen.
MIKROPROGRAMMIERBARE EINHEITEN (MPUS)
Die MPUs enthalten Mikroprogramme, welche die Betriebslogik des E/A-Steuergerätes 11 bestimmen. Die MPUX enthält einen Satz von Mikroprogrammen in ihrem Steuerspeicher, der die Verantwortung und Datenübertragungen mit INTFX liefert. In ähnlicher Weise enthält die MPUY einen Satz von Mikroprogrammen zum Betrieb über INTFY mit den verschiedenen MTUs. Die Register 14 und 15 enthalten Signale von entsprechenden'Mikroprogrammen, die als Eingänge zu den entsprechenden Programmen zur Koordination und Synchronisation verschiedener ausgeführter Funktionen dienen. Wie die Mikroprogramme die Bauteile betreiben, ist besser zu verstehen, wenn man zuerst den logischen Aufbau der MPUs versteht, die im Ausführungsbeispiel identisch aufgebaut sind.
In Fig. 3 ist in Form eines Blockdiagrammes eine im E/A-Steuergerät 11 verwendbare MPU beschrieben. Die Mikroprogramme sind im Festwertsteuerspeicher 65 (ROS) enthalten. Während auch ein beschreibbarer Speicher verwendet werden kann, ist aus Gründen der Kostenreduzierung die Verwendung eines ROS-Speichers gewünscht. Konstruktion und Zugriff solcher Speicher sind bekannt. Das ROS-Ausgangssignalwort, welches das Instruktionswort ist, wird durch den Inhalt des InstruktionsZählers (IC) 66 lokalisiert. Der IC kann für jeden Operationszyklus der MPU vor- oder zurückgeschaltet
Docket BC 970 049 209847/1024
werden. Durch Einsetzen eines neuen Zahlensatzes in den IC 66 wird eine Instruktions-Verzweigungsoperation bewirkt. Das Instruktionswort vom ROS 65 wird in das Instruktionsregister (IR) 67 gegeben, welches die Signale während ungefähr eines Operationszyklus festhält. Die festgehaltenen Signale werden über Kabel 68 und 69 den verschiedenen Einheiten in der MPU zugeführt. Das Kabel 68 führt Signale, welche die Steuerteile des Instruktionswortes, wie Operationscode und dgl., darstellen. Signale im Kabel 68 werden dem IC 66 zugeführt zwecks Verzweigung und Änderungen von Instruktionsadressen. Andererseits führt das Kabel 69 Signale, welche Datenadressen darstellen. Diese werden den übertragungsdecodierschaltungen 70 zugeführt, welche auf die Signale ansprechen und verschiedene übertragungstore innerhalb der MPU steuern. Die anderen Teile der Signale werden über das ODER-Glied 71 der ALU 72 zugeführt. In der ALU 72 können solche Signale gemischt oder arithmetisch kombiniert werden mit über die B-Leitung 73 empfangenen Signalen zur Indexierung oder für andere Datenverarbeitungsoperationen. Die MPU hat ein Arbeitspeicherregister (LSR) 75, welches entsprechend den über das Kabel 68 geführten Adreßsignalen adressierbar ist. Eine Adressenprüfschaltung 76 prüft die Parität in der Adresse. Die Adreßsignale können auch in Verzweigungsoperationen benutzt werden. Die UND-Glieder 77 sprechen auf übertragungsdecodiersignale an, welche von den Schaltungen 70 über die UND-Glieder 78 geliefert werden zur Übertragung der Adreßsignale in einem Instruktionswort an den IC 66. Eine solche Übertragung kann direkt durch den Operationsteil des Instruktionswortes gemäß der Bestimmung durch die ubertragsdecodierschaltungen 70 gesteuert werden oder eine bedingte Verzweigung (BOC) sein nach der Bestimmung der Verzweigungssteuerschaltungen 79, die wahlweise die UND-Glieder 77 in Abhängigkeit von den ihnen zugeführten Bedingungen öffnen.
Der Daterifluß und die arithmetischen Verarbeitungseigenschaf ten der MPU' zentrieren EJtch um die ALU 72. Die ALU 72 hat zwei Eingänge - die A-LeL t.uncf vom ODER-G tied 7 L und die EJ-Le ituruj 7Ί. Die AL(I 72 Liefert AuHcjangssignaLe über das Kabe L 80 ein das D-
2 0 9 8 4 7 / I 0 -' Ii
Docket }.< j -ι '-j·:, J j
Register 81 und dieses liefert statistisch aufbereitete Signale über die D-Leitung 82 an den LSR 75. Die Instruktionsdecodierschaltungen 83 empfangen Operationscodes vom IR 67 und liefern decodierte Steuersignale über das Kabel 84 an die ALU 72 und das ODER-Glied 78 zur wahlweisen Übertragung von Signalen innerhalb der MPU.
Die ALU 72 hat ein begrenztes Operationsrepertoire. Der Instruktionsdecodierer 83 decodiert vier Bits aus dem Instruktionswort und liefert 16 mögliche Operationen. Diese Operationen sind in der nachfolgenden Instruktionswortliste aufgeführt.
INSTRUKTIONSWORTLISTE
Op Code
0
1
2
3
A
B
C
Mnemonic STO
STOH BCL BCH XFR
Funktion
5 XFRH
6 BU
7 CK)
8 ORE
ORM
ADD ADDM
AIID
Konstante im LSR speichern, A auf 0 gegesetzt
Konstante im LSR speichern, indexierte Adressierung
Übereinstimmung mit Feld lf verzweigen nach Adresse in Feld 2
Übereinstimmung mit Feld 1, verzweigen nach Adresse in FeLd 2
Inhalt einer gewählten LSR-Stelle wird auf gewähltes Register oder gewählter
Inhalt auf eine gewählte LSR-Stelle
übertragen
Siehe XFR plus indexierte Adressierung
Verzweige nach 12-Bit-ROS-Adresse im
Ens truk tionswor b
Nicht benutzb - ungültiger Code
ODER-Verknüpfung A mit B, Ergebnis gespeichert in LiJR 75
ODER-Verknüpfung A mit B, Ergebnis nicht gespeichert
A plus B, Summe gespeichert in LSR 75
A plus B, Summe nicht gespeichert
UND-VerknüpEung A mit B, Ergebnis nach LSI? 75
kt f
2O?lfU7/ I
Op Code Mnemonic
D ANDM
E XO
F XOM
- 15 -
Funktion ; ,
UND-Verknüpfung A mit B, Ergebnis nicht gespeichert
A antivalent B, Ergebnis nach LSR 75
A antivalent B, Ergebnis nicht gespeichert
In der obigen Liste steht der Buchstabe A für das A-Register 85, der Buchstabe B für die B-Leitung und die Mnemonics dienen Programmzwecken. Der Ausdruck "gewählter Eingang" bezeichnet eines der Eingangstore (92, 94, 96, 9 8) zur ALU-Ausgangsleitung 80. Der Ausdruck "gewähltes Register" bezeichnet eines der Maschinenregister in der MPU. Dazu gehören die Verbindungsregister 14 und 15 in Fig. 2, das Kennzeichenregister 74, das Leitungsregister 99, 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 die MPUX dem Kabel 40, während die B-Leitung für die 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. VerzweigungsSteuerungen 41 und 41A der Fig. 2 liefern ihre Signale entsprechend über die Kabel 88 und 87A an die zugehörigen MPUs. Diese Versweigungssteuerungen 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 den an INTTY angeschlossenen TUTAG-Registern. Auf ähnliche Weise ist das Leitungsregister 87 für die MPUX das CBI-Register in den Kanalaustauschregistern 42, während in der MPUY es das TUBO-Register ist. Das Adreßregister 60 der Fig. 3 entspricht dem TU-Adreßregister 60 der Fig. 2. Das MPUY-Adreßregister 60 wird nicht benutzt.
Das Statusregister 89 hat mehrere Ausgangsanschlüsse von den zugehörigen MPUs. Es ist in einen hochwertigen und einen niederwertigen Teil unterteilt. Der hochwertige Teil hat die STAT-Bits
Docket BO 970 049 209847/1 0 2 A
O bis 3, während der niederwertige Teil das STAT-Bit O und die STAT-Bits 4 bis 7 aufweist, die entsprechend mit STAT A bis STAT D bezeichnet sind. Der niederwertige Teil ist an die Verzweigungssteuerung 79 der anderen MPUs angeschlossen. Die Bits 0 und 4 bis 7 werden dem Datenfluß zugeführt. Das Bit 7 wird außerdem direkt auf die ALU 72 der anderen MPUs geleitet. Bit 7 wird außerdem direkt der ALU 72 der MPUY zugeführt, wie es durch die Linien 90 in Fig. 2 dargestellt ist. Das entspricht 'nach der späteren Beschreibung einer Selbstanzapfung. Die Interpretation der STAT-Bits wird durch das Mikroprogramm bestimmt.
Die signalempfangenden Teile einer jeden MPU liegen in vier Kategorien. Zuerst ist das Leitungsregister 91 ausgelegt zum Empfang von Kennzeichen- und Datenbytes für die MPUX - das entspricht dem CBO-Register 43 der Fig. 2. Ein MPUY-Leitungsregister 91 ist das TUBI-Register. Das UND-Glied 92 reagiert auf die Übertragungs-Decodiersignale von den Schaltungen 70, um wahlweise das Leitungsregister 91 auf das D-Register 81 zu leiten, von wo die Datenbytes dem LSR 75 zugeführt werden. Zweitens empfängt das D-Register 81 auch Eingänge vom Maschinenfehlerregister 93 über das UND-Glied 94. Maschinenfehlersignale (Paritätsfehler usw.) werden in der Schaltung 95 nach bekannter Technik erzeugt. Drittens empfängt das UND-Glied 96 externe Datensignale über das Kabel 97, um sie dem D-Register 81 unter Mikroprogrammsteuerung zuzuführen. Viertens liefern die Austauschregister 14 und 15 Signale auf die UND-Glieder 98, welche wahlweise die Austauschsignale auf das D-Register 81 unter Steuerung eines Mikroprogrammes leiten. Das empfangende Mikroprogramm steuert den Empfang der Austauschsignale von der anderen MPU.
Allgemein werden die Ausgangssignale von jeder MPU über die B-Leitung 73 und einer Haupteingangsleitung zur ALU 72 geführt. Die Signalempfangsleitung ist die D-Leitung, die die Eingangsleitung für das LSR 75 und die Ausgangsleitung für die ALU 72 bildet.
Docket BO 970 049 209847/1 0 2 4
Da die ALU 72 ein begrenztes Operationsrepertoire hat, sind viele der ausgeführten Operationen einfache Übertragungsoperationen, ohne daß irgendwelche Rechenfunktionen .ausgeführt werden. Für den OP-Code 4, der eine ubertragungsInstruktion ist, 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 zueinander zu addieren, wird zuerst eine übertragung in das A-Register 85 vorgenommen. Das nächste adressierte LSR wird der B-Leitung zugeführt und zum Inhalt des Α-Registers addiert und das Ergebnis im D-Register 81 gespeichert. Bei Beendigung des Additionszyklus wird der Inhalt oder das Ergebnis des D-Registers 81 im LSR 75 gespeichert. Wenn die Ergebnisse der Rechenoperation ausgegeben werden sollen, werden sie mit einem anderen Zyklus 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 kommt die Eingabe zum D-Register 81 entweder über das Kabel 44 oder das Kabel 44A der Fig. 2. Die Maschinenfehlerschaltung 95 und das Fehlerregister 93 der Fig. 3 entsprechen den Maschinenfehlers chaltungen 52 und 52A der Fig. 2. Die externen Kabel 97 empfangen Signale von den externen Registern 50 bzw. 51 für die beiden MPUs. Die UND-Glieder 98 der Fig. 3 entsprechen den Toren XA, XB, YA und YB der Fig. 2.
Jede MPU wird auf eine vorbestimmte Routine durch ein Signal auf der Leitung 17 bzw. 18 angezapft. Das Anzapfsignal setzt den IC 66 auf lauter Nullen. Bei der ROS-Adresse 000 leitet das Instruktionswort die X-Anzapfroutine oder die Y-Anzapfroutine ein (Fig. 5). Wegen der Zuverlässigkeit sollte die MPUY abgeschaltet werden. Das bedeutet, daß der Taktoszillator 98 in den abgeschalteten Zustand gebracht wird. Während normaler Operationen liefert der Taktoszillator 98 Zeitimpulse, um den IC 66 vorzuschalten und Operationen der verschiedenen MPUs auf bekannte Weise zu koordinieren. Sobald die MPUY ihre Operationen beendet
209847/1024
Docket BO 970 049
- ie- 2213A23
hat, setzt sie den Status D in das Register 89 und zeigt dadurch an, daß sie ihre Operationen gemäß der Anforderung durch die MPUX beendet hat. Das Signal STAT D setzt den Halteriegel 99A und zeigt dadurch an, daß die MPUY abgeschaltet ist. Der Halteriegel 99A schaltet außerdem den Taktoszillator 98 ab. Wenn die MPUX die MPUY anzapft, wird nicht nur der IC 66 auf lauter Nullen, sondern auch die Haiteverriegelung 99A zurückgestellt. Der Taktoszillator 98 wird dann zum Betreiben der MPUY eingeschaltet.
VERZWEIGUNGSOPERATION
Im Zusammenhang mit Fig. 4 werden die Verzweigungsoperationen näher erklärt, die die beschriebene Maschine ausführen kann. Die Verzweigungssteuerung 79 und der IC 66 sind etwas genauer dargestellt in Verbindung mit dem ROS-Steuerspeicher 65, dem IR 67, dem Decodierer 83 und verschiedenen Verbindungsleitungen. Die Verzweigungssteuerung 79 spricht entweder auf die BU- oder die BOC-Kommandosignale vom Decodierer 83 an und übersetzt Signale, welche das erste über das Kabel 120 vom IR 67 gelieferte Steuerfeld darstellen. Basierend auf Bedingungen, die der Verzweigungssteuerung 79 von anderen Teilen der Maschine zugeführt werden, empfängt der IC 66 einen Satz von Adreßsignalen über das Kabel 121 für eine Gruppe und über die Kabel 121 und 122 für eine zweite Gruppe von Verzweigungsoperationen. Außerdem ändern Signale über die Steuerleitungen 123, 124, 125 und 126 die Verzweigungsoperationen nach den jeweiligen Verzweigungsbedingungen.
Die Verzweigungssteuerung 79 spricht auf die unbedingten Verzweigungskommandosignale an, die aus dem Decodieren des OP-Codes 6 resultieren, entsprechend der aufgestellten Instruktionswortliste, und überträgt das erste und zweite Steuerfeld, die über die Kabel 120 und 127 empfangen wurden, an den Instruktionszähler 66. Die Verzweigungssteuerung 79 weist zwei Satz UND-Schaltungen 128 und 129 auf, die nicht nur die das erste und zweite
Docket BO 970 049 2098Λ7/102Λ
Steuerfeld darstellenden Signale, sondern· auch das BU-Kommandosignal über die Leitung 130 empfangen. Die Ausgänge dieser UND-Schaltungen öder UND-Glieder werden über das Kabel 131 den ODER-Gliedern 132 zur Wahl eines Registers innerhalb einer Zone nach späterer Beschreibung zugeführt. Das Kabel 131 ist an einen zweiten Teil des IC 66 angeschlossen, um die Zone zu wählen, in welcher das Adreßregister im ROS 65 steht. Somit wird das zweite Steuerfeld weitergeleitet, um"das Register innerhalb einer Zone zu wählen, während das ganze oder ein Teil des ersten Steuerfeldes durch die UND-Glieder 128 zum Wählen der Speicherzone weitergeleitet werden. Durch Kombination des ersten und zweiten Steuerfeldes werden auf diese Weise alle Register innerhalb einer Zone des Speichers im ROS 65 adressiert.
Die gezeigte Maschine hat zwei bedingte Verzweigungen - BCL und BCH, die den beiden OP-Codes 2 bzw. 3 entsprechen. Die Verzweigung BCL liefert die bedingte Verzweigung (BOC) für die Verzweigung innerhalb einer Zone des ROS 65, die im Zusammenhang mit Fig. 1 erklärt wurde. BCH wählt die bedingte Verzweigung, die auf der Arbeitskapazität der Maschine beruht und in welcher die Bedingung, auf der die Verzweigung basiert, die Speicherzone wählt, von welcher das nächste Instruktionswort abgerufen wird. Zuerst wird die Verzweigung BCL beschrieben. Die über die BOC-Leitungen gelieferten Signale (eine Leitung für BCL und eine für BCH) werden den Verzweigungsbedingungsschaltungen 136 und 137 zugeführt. Diese Schaltungen reagieren auf das BCL-Kommandosignal und prüfen auf eine bedingte Verzweigung. Die Schaltungen 136 und 137 empfangen auch das erste Steuerfeld über das Kabel 120. Diese Schaltungen decodieren das erste Steuerfeld, wenn sie durch das BCL-Signal auf der Leitung 135 eingeschaltet sind. Die Codeveränderungen im ersten Steuerfeld werden mit einem Bedingungssatz verglichen, der diesen Schaltungen über die Kabel 138 bzw. 139 von Maschinenverriegelungen/Registern innerhalb der Maschine zugeführt werden. Diese sind der Klarheit halber nicht dargestellt. Derartige Bedingungen, auf welchen die Verzweigung basieren kann, sind aber ein übertrag nach außen der
209847/1 024
Docket BO 970 049
ALU 72, jedes der Leitungsregister 91 oder 99, die Kennzeichenregister 74, die Statusregister 89, Adreßregister 60, MaschinenteiIfehlerregister 93 und dgl. Die Verzweigung kann auch bei solchen Fehlern vorgenommen werden, wie sie z. B. durch die Adreßprüfschaltung 76 festgestellt werden usw. Wenn die Codeveränderungen im ersten Steuerfeld mit den die Verzweigung anzeigenden Bedingungen übereinstimmen, erregt ein durch die entsprechenden bedingten Verzweigungsschaltungen über die Steuerleitungen 140 und das ODER-Glied 144 geliefertes Einschaltsignal das UND-Glied 142. Das UND-Glied 142 leitet die das zweite Steuerfeld darstellenden und über das Kabel 127 durch die ODER-Glieder 132 zugeführten Signale an den IC 66, um die Verzweigung zu bewirken. Wenn die Bedingungen nicht mit den Änderungen im ersten Steuerfeld übereinstimmen, bleiben die UND-Glieder 142 geschlossen, so daß das nächste Instruktionswort nach dem Zählverfahren des IC 66 auf bekannte Weise abgerufen wird. Die oben beschriebene Verzweigung gestattet der Maschine die Auswahl aus einer Vielzahl von Mikroprogrammen innerhalb einer Zone des ROS 65.
Die auf einer BOC-Instruktion·, wie z. B. der BCH-Instruktion, basierende Verzweigung zwischen Zonen wird ietzt beschrieben. Die Schaltung BOC 1 bewirkt die bedingte Verzweigung zwischen Zonen aufgrund von BCH-Kommandosignalen, die sie über die Leitungen 135 empfangen hat, und aufgrund des ersten Steuerfeldes, welches sie über das Kabel 120 empfangen hat. Der Decodierer wird durch entsprechende Steuersignale auf den Leitungen 135 eingeschaltet zum Decodieren des ersten über das Kabel 120 empfangenen Steuerfeldes. Nicht alle Codeänderungen brauchen decodiert zu werden. Nach der Darstellung werden für die Schaltung BOC-I vier mögliche Kombinationen decodiert. Je zwei dieser Kombinationen beziehen sich auf dieselbe Einrichtung und verzweigen daher zur selben Zone im Speicher. Die Ausgänge des Decodierers 150 werden an vier UND-Glieder 151, 152, 153 und 154 geliefert. Diese UND-Glieder werden entsprechend gemeinsam betätigt durch die Ausgangssignale des Decodierers 150 und ein Einschaltsignal
Docket BO 970 049 209847/1024
von einem Schalter des Schaltersatzes 155, der geschlossen wird, wenn eine der Codeveränderung des ersten Steuerfeldes entsprechende Einrichtung in der Maschine eingebaut ist. Das Ausgangssignal dieser UND-Glieder wird über die ODER-Glieder 156 und weitergeleitet, die dann Schaltungen zur übertragung der Adreßsignale an den IC 66 betätigen.
Die erste bedingte Verzweigungseinrichtung (BOCF) wird vom Ausgangssignal des ODER-Gliedes 156 betätigt. Dieses Ausgangssignal setzt die BOCF-Verriegelung 160 in den eingeschalteten Zustand und wird über das ODER-Glied 161 weitergeleitet zur Betätigung der UND-Glieder 142. Die UND-Glieder 142 leiten den zweiten Steuerfeldcode auf den IC 66 zur Wahl des Registers innerhalb einer Speicherzone, welche zu adressieren ist. Die BOCF-Verriegelung 160 hat eine Einsehalt-Ausgangsleitung 123, deren Signale die später beschriebenen Schaltungen im IC 66 so betätigen, daß die Wahl der Zone 2 des ROS 65 erzwungen wird. Die Ausgangsleitung 124 führt Signale an den IC 66, um ihm mitzuteilen, daß keine BOCF auszuführen ist. Die BOCF-Verriegelung 160 bleibt eingeschaltet, bis das Merkmal A-Programm 106 (Fig. 1) abgeschlossen ist oder eine BU-Operation ausgeführt wird, ebenfalls innerhalb des Programmes 106. Eine solche Verzweigungsoperation lädt den Zonenzähler 172 entsprechend der VerzweigungsInstruktion und gestattet eine Rückstellung der BOCF-Verriegelungen. Mit anderen Worten sollte also jede, eine vollständige ROS-Adresse definierende, Verzweigungsoperation die BOCF-Riegel zurückstellen. Das Merkmalprogramm läuft bekanntlich zu einer anderen Zone über die Linie 108 durch eine BU-Instruktion aus. Nach der Darstellung in Fig. 4 stellt das BU-Kommandosignal auf der Leitung 130 auch die BOCF-Riegel 160 zurück und gibt die Steuerung der Zonenwahl im ROS 65 an den IC 66 zurück. Eine BU-Instruktion in der Speicherzone 2 stellt auch den BOCF-Riegel 160 zurück. Eine zweite Merkmalwahl für B wird genauso durch den BOCF-Riegel 165 ermöglicht, der durch das Ausgangssignal des ODER-Gliedes 157 eingeschaltet wird. Wieder wird dieser durch ein BU-Kpmmandosignal auf der Leitung 130 zurückgestellt.
. 209847/1024
Docket BO 970 049
Der IC 66 enthält einen Zoneninstruktionszähler 170, der ein Modul aufweist, welches gleich dem Modul des zweiten Steuerfeldes ist. Er kann auf bekannte Weise durch die über das Kabel für die Ausführung einer Verzwexgungsoperation empfangenen Signale voreingestellt werden. Sonst wird der Instruktionszähler 170 für jeden Maschinenzyklus der gezeigten Maschine auf bekannte und daher nicht näher beschriebene Weise um eine Zahl weitergeschaltet. Die Weiterschaltimpulse können über die Leitung 171 vom Taktgeber 48 der Fig'. 3 empfangen werden.
Einmal in jeder Instruktion wählt der Zonenzähler 172 die adressierte Zone im ROS 65. Ein nachfolgender Taktimpuls auf der Leitung 172A erregt die UND-Glieder 169 zur übertragung der Signale des IC 66 an den ROS 65 zwecks Abrufs des nächsten Instruktionswortes. Eine derartige serielle Erregung oder Reihenfolge-Taktimpulsgebung sowie die dazu erforderlichen Schaltungen werden als allgemein bekannt vorausgesetzt. Die IC-Zahl braucht iedoch nicht in den ROS 65 geleitet werden. Das Ausleiten des Inhaltes des ROS 65 auf den IR 67 während des Endteiles eines Maschinenzyklus gestattet die Verwendung entweder der IC-Zahl oder der Verzweigungsadresse im IC 66 als ROS-Adresse.
Der Ausgangsübertrag des Zoneninstruktionszählers 170 kann über die Leitung 173 so zugeführt werden, daß ein aus Instruktionen bestehendes Programm sich über eine Zone hinaus erstrecken kann, ohne daß eine BU-Instruktion erforderlich ist. Eine Anforderung dafür ist nicht erforderlich und der Zonenzähler 172 kann eigentlich ein Register ohne Zählmöglichkeit sein. Der Zonenzähler wird auf jede gewünschte Bedingung durch Signale weitergeschaltet, welche über die Kabel 122 gemäß früherer Erklärung für die BU-Instruktion empfangen werden. Die Ausgangssignale des Zonenzählers 172 werden über eine Schaltung 175 und von dort über ein Kabel 176 geleitet, um die entsprechende Zone im ROS 65 zu wählen. Die Zonensteuerung innerhalb eines Speichers, entweder in einem ROS oder einem elektrisch veränderlichen Speicher, ist allgemein bekannt und daher nicht näher beschrieben.
209847/1024
Docket BO 970 049
Die Schaltung 175 besteht aus einem Satz von vier UND-Gliedern 180, 181, 182 und 183, mit denen Signale vom Zonenzähler 172 weitergeleitet werden, wenn keine BOCF abläuft. Die AUS-Anzeigesignale von den BOC-Riegeln 160 und 165 werden entsprechend über die Leitungen 124 und 125 geleitet, um die UND-Glieder nach der Darstellung so einzuschalten, daß die Signale des Zonenzählers 172 auf das Kabel 176 weitergeleitet werden. Wenn einer der BOCF-Riegel 160 oder 165 eingeschaltet ist, und es kann zu einem gegebenen Zeitpunkt jeweils immer nur einer eingeschaltet sein, werden die UND-Glieder 180 bis 183 abgeschaltet und leiten keine Signale in die durch den BOCF-Riegel gewählte Zone (was zu Nullen für die Adreßbits führt). Der BOCF-Riegel 160 liefert seine Zonenwahl- oder -betatigungssignale über die Leitung 123 und das ODER-Glied 185 zum Wählen der Zone 2 des ROS 65. Da die UND-Glieder 180 bis 183 beim Fehlen eines Anzeigesignales nach willkürlicher Definition abgeschaltet sind, werden effektiv Nullen in die anderen Stellenzahlen übertragen. In ähnlicher Weise liefert der BOCF-Riegel 165 seine Zonenwahl- oder -betatigungssignale über die Leitung 126 und das ODER-Glied 186 zur Wahl der Zone 3. Sobald die BOCF-Riegel 160 und 165 keine entsprechenden Einschaltsignale auf die Leitungen 123 oder 126 liefern, schalten die Signale auf den Leitungen 124 und 125 gemeinsam die UND-Glieder 180 und 183 ein und übertragen die Signale des Zähler 172 auf das ROS 65. Eine Verriegelungse ^richtung kann so vorgesehen werden, daß die Riegel 160 und 165 zu einem gegebenen Zeitpunkt nicht beide eingeschaltet sein können. Der einfacheren Darstellung halber ist diese Möglichkeit nicht gezeigt.
Aus Fig. 4 ist zu ersehen, daß die Unterschiede in der Maschinenausrüstung bei der Ausführung einer BOCF-Instruktion und einer BOC-Instruktion, begrenzt auf eine gegebene Zone des ROS 65, in den BOCF-Riegeln und den zugehörigen Steuerschaltungen sowie der Schaltung 175 im IC 66 liegen. Diese kleine Zahl von Schaltkreisen, die erforderlich ist, um der Maschine einen wichtigen Funktionsvorteil zusätzlich zu ermöglichen, stellt einen wich-
Docket BO 970 049 209847/1 02Λ
tigen wirtschaftlichen Vorteil bei der praktischen Verwirklichung der vorliegenden Erfindung dar.
Die Schaltungen BOC 2 und 3 können nach der Darstellung des Schaltkreises BOC 1 aufgebaut werden. Der Decodierer 150 kann von bekannter Bauart sein und spielt für die vorliegende Erfindung keine Rolle.
MIKROPROGRAMMIERUNG ALLGEMEIN
Die Fig. 5 zeigt die allgemeinen Beziehung zwischen den Mikroroutinen der MPUX und der MPUY. Diese Darstellung ist stark vereinfacht, um einen allgemeinen Eindruck davon zu vermitteln, wie die Mikroroutinen zusammenarbeiten, um E/A-Steuerfunktionen auszuführen. Viele der durch diese Mikroroutinen ausgeführten Funktionen wurden bisher in anderen E/A-Steuergeräten im allgemeinen durch Maschinenteiloperationen ausgeführt. Die Korrelation der gewählten Mikroprogrammroutinen zu früheren Maschinenteilroutinen ist in der anschließenden genaueren Beschreibung festgelegt. Einige Mikroroutinen sind für die vorliegende Erfindung von geringerer Bedeutung und wurden der K Klarheit halber weggelassen. Die beschriebenen Routinen wurden ausgewählt, um die Betriebsbeziehungen der MPUX, MPUY und der Datenflußschaltungen 13 zu zeigen.
Die X-Freiabtastung 120 und die Y-Freiabtastung 121 überwachen den laufenden Zustand, den Unterbrechungszustand und liefern die gegenseitige Verbindung zwischen den beiden MPUs, um die Verfügbarkeit von an INTFY angeschlossenen Einheiten sicherzustellen. Die X-Freiabtastung 120 umfaßt die Anzapfung der MPUY über die Y-Freiabtastung 121 zum Aufrufen der INTFY dazu, die Verfügbarkeit einer durch INTFX adressierten MTU festzustellen. In der X-Freiabtastung ist eine Warteroutine enthalten, welche die MPUX leerlaufen läßt, bis sie von der INTFX angezapft wird. INTFX zapft die MPUX an der Adresse 000 des ROS 65 an. Bei der
Dockst BO 970 049 209847/1024
MPUX ROS-Adresse OOO beginnt der X-Sprung 122. Während der Ausführung dieser X-Sprungroutine 122 wird die MPUY _an der ROS-Adresse 0000 angezapft, um später die Y-Sprungroutine 123 auszuführen. In dem X-Sprung 122 wird die CTO abgefragt auf eine erste Wahl. Wenn das erste Wahlkennzeichen gesetzt ist, verzweigt die X-Sprungroutine das Mikroprogramm zur X-Anfangswahl 125. Wenn keine erste Wahl erfolgt, wird entweder die X-Rückstellung 126 oder eine ALU-Fehlersuche innerhalb der Fehlersuche 127 durchgeführt. Nach Abschluß dieser Funktionen kann die X-Freiabtastung 120 erneut begonnen werden, um die MTU-Abtastoperationen zu vervollständigen. Die Anfangswahl 125 reagiert auf bestimmte Maschinenteilfehlersignale, die über die Leitung 128 empfangen und nach der Beschreibung im Zusammenhang mit Fig. 3 abgefühlt werden und stoppt das E/A-Steuergerät 11 zur Anzeige festgestellter Maschinenfehler. Eine Hauptfunktion der Anfangswahl 125 ist die Unterbrechung der Verarbeitung.
Während einer ersten Wahl wird die X-aufgerufene (gewählte) Routine 129 angefangen, um die INTFX-Anforderung weiter zu bezeichnen. Bestimmte Verzweigungsbedingungen werden ebenfalls zur späteren Benutzung durch die X-Beendigung (Abschluß) 130 in das LSR gesetzt. Die MTU-Adreßprüfung kann ausgeführt werden. Nach Beendigung der Verzweigungseinstellungen leitet die X-aufgerufene Routine 129 den X-Status 132 ein. Der X-Status 132 betätigt die CTI so, daß sie Kennzeichensignale an die INTFX sendet, welche den Steuerstatus aufgrund der vorher empfangenen INTFX-Anforderung angeben. Basierend auf der in der X-aufgerufenen Routine 129 festgelegten Verzweigung kann die Mikroprogrammausführung verschiedenen Routen folgen. Diese enden primär in der X-Beendigung 130, die die MPUX-Operation beendet. MPUX tastet dann auf weitere Unterbrechungen ab. Wenn die gesamte Abtastung abgeschlossen ist, wartet die MPUX auf weitere Instruktionen von INTFX.
Eine andere wichtige Routine ist die Bedienungsrückgabe 135, die in Verbindung mit INTFX für Zeiteinteilungs- und Steuerzwecke
Docket BO 970 049 209847/1024
während Datenübertragungen benutzt wird. Die Operation der obenerwähnten Datenkanaloperation in dem erstgenannten US-Patent wird durch die Bedienungsrückgabe 135 ausgeführt. Eine andere möglicherweise von der Anfangswahl 125 angefangene Routine ist der X-Betrieb 136, der die Betriebsart im Steuergerät aufgrund von INTFX CMBO-Sigrialen festlegt. Die X-Leseprüfung 137 wird angefangen, wenn die Anfangswahl zu einer Leseoperation führt. Die X-Leseprüfung 137 führt die MPUY zu vorbestimmten Adressen nach späterer Erklärung zur Initialisierung einer Leseoperation in der MPUY. Auf ähnliche Weise wird die X-Schreibung 138 angefangen und führt ebenfalls die MPUY zu einer anderen Unterroutine zwecks Initialisierung einer Schreiboperation. Der Fehlerstatus 139 überträgt Fehlerinformationen durch INTFX an die CPU. Diese Routine ist sehr eng verwandt mit der Initialisierung des E/ASteuergerätes 11 zum Lesen oder Schreiben. Die Abfühlung 140 wird aufgrund eines Abfühlkommandos angefangen. Die Abfühlung überträgt abgefühlte Bytes an die CPU zur Analyse. Die X-Beendigung 130 bringt die MPUY ebenfalls in Verbindung mit den wählenden aktivierten MTUs und zur Ausführung anderer Funktionen in Verbindung mit der Beendigung einer Operation, die vorher durch INTFX eingeleitet worden war. Die MPUY-Mikroroutinen reagieren auf MPUX-Mikroroutinen und steuern verschiedene MTUs über INTFY. Diese Mikroroutinen übertragen auch Informationssteuersignale von der INTFY an die MPUX zwecks Rückübertragung an 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 mehrerer MPUY-Mikroprogramme. Eine Adresse leitet z. B. die Fehlersuche 142 ein. Die Fehlersuche 142 leitet die Bewegungssteuertätigkeit in der Bewegungssteuerung 143 ein, die Lesetätigkeit in der Y-Lesung 144, die Schreibtätigkeit in der Y-Schreibung 145, die Geschwindigkeitsanalyse in der Geschwindigkeit 146 oder die Beendigung in der Y-Beendigung 147. Die Fehlersuche 142 kann auch interne Fehlersuchfunktionen ausführen, wie z. B. die ALU-Operationsprüfung. Andererseits kann die Y-Anzapfroutine 123 zur Y-Einleitungswahl 148 verzweigen, um die MPUY zu Tätigkeiten zu
Docket BO 970 049 2 0 9 8 4 7/" 1 0 2 4
2213A23
initialisieren, die in den zusätzlichen Steuersignalen von der MPUX in den Registern 14 festgelegt sind. Dazu kann eine Einleitung des Status 149, der Beendigung 147 oder der Y-Warteabtastung 121 gehören. Die MTU-Betriebsroutinen 143 bis 146 können ebenfalls von der Anfangswahl 148 eingeleitet werden. Außer dem Austausch von Steuersignalen über die Register 14 und 15 wird die Statusinformation als frei zwischen den beiden MPUs zwecks Mikroprogrammkoordination ausgetauscht.
In der folgenden genaueren Beschreibung werden zuerst die Warte-Abtastroutinen im einzelnen beschrieben. Die Beschreibung zeigt einige Beziehungen zwischen den beiden MPUs und den Mikroroutinen. Außerdem wird gezeigt, wie Steuerinformationen von der MPUX über das Register 14 an die MPUY sowie Statusinformationen über die Statusregister in den MPUs ausgetauscht werden.
BOCF IN Y-LESUNG 144
Die Anwendung von BOCF oder der erweiterten bedingten Verzweigung ist im Zusammenhang mit einer vereinfachten Darstellung des Y-Leseprogrammes in Fig. 6 beschrieben. Die beiden Programmeingänge zur Y-Lesung 144 kommen von "Lesen OP. vorwärts" und *5Lesen OP. rückwärts". Die ersten Schritte in diesen beiden Eingängen bestehen darin, die gewählte oder adressierte MTU auf bekannte Weise nach der Darstellung in den Schritten 410 auf Vorwärtsoder Rückwärts-Lesebetrieb zu setzen. Nachdem die MTUs entsprechend eingestellt wurden, setzt das Programm ein Verzweigungsund Verbindungsregister und führt eine Bewegungsroutine in der Unterroutine 411 aus. Verzweigungs- und Verbindungsoperationen umfassen das Setzen eines angegebenen Registers im LSR 75 auf eine Adresse vom ROS 65 zur Ausführung des Schrittes 412 nach Beendigung der Bewegungsroutine. Die letzte Instruktion in der Bewegungsroutine ist eine BU-Instruktion, welche die Adresse der nächsten Instruktion von einem angegebenen Register LSR 75 nach Darstellung im Schritt 413 holt.
Docket BO 970 049 209847/1024
Die in der Unterroutine 411 ausgeführte Bewegungsroutine bewirkt alle Bandbewegungen für die adressierte MTU. Kommandos werden zwischen der MPUY und der adressierten MTU während eines solchen Bewegungssteuerprogrammes ausgetauscht,, um Bewegungen vor der eigentlichen Datenverarbeitungsoperation und während der Datenverarbeitungsoperation, die im Lesen oder Schreiben besteht, auszuführen sowie Fehlersuchen zur Einstellung des Bandes aufgrund eines von dem steuernden Datenverarbeitungssystem oder der CPU empfangenen Kommandos. In diesem BewegungsSteuerungsmikroprogramm sind Kommandosignale programmerzeugt und die MTU wird nicht nur auf Vorwärts- oder kückwärts-Lesebetrieb gesetzt, sondern kann auch eine Reihe von Bewegungen ausführen, die notwendig sind, um das magnetische Aufzeichnungsmedium zum richtigen Zeitpunkt auf Betriebsgeschwindigkeit zu haben. Dazu kann eine Sprungoperation gehören, bei welcher z. B. beim Vorwärtslesen das Band relativ zum Lesekopf so gestellt werden kann, daß es nicht auf die richtige Geschwindigkeit beschleunigt werden kann, bevor der Kopf die zu lesenden Daten erreicht. In einer solchen Situation wird das Band erst um eine gegebene Strecke zurückgesetzt und dann vorwärtsbewegt, um die richtige Geschwindigkeit zu erreichen. Die Bewegungsroutine 411 überwacht die adressierte MTU bei der Ausführung solcher Operationen. Dazu gehört das Abfühlen der zuletzt durch die adressierte MTU ausgeführten Operationen. Dadurch wird festgelegt, welche Art vorläufiger Operationen erforderlich sind. Bei Beendigung der Bewegungsroutine stellt der Entscheidungsschritt 412 fest, ob das Band in der adressierten MTU am Bandanfang (BOT) steht. Das bedeutet, daß am Bandanfang noch keine Datenverarbeitungsoperationen auf dem Band in der MTU erfolgt sind und das Band muß jetzt für eine nachfolgende Datenverarbeitungsoperation eingestellt werden. In diesen Fall läuft das Programn über dl« Leitung 414 »tür Lade« punktverzögerung 416 aus. Diese Verzögerung wird bestimmt durch die Bandgeschwindigkeit und den bekannten Abstand, den das Band hat, um den ersten Block von auf dem Band vom Ladepunkt an auf gezeichneten Datensignalen zu erreichen. Der Ladepunkt ist der Bezugspunkt auf dem Band, an welchem alle Bewegungsoperationen
Docket BO 970 049 209847/1024
ausgeführt werden. Zähler, d. h. Programmzähler, werden im Schritt 417 gesetzt. Das E/A-Steuergerät kann z. B. mit mehreren MTUs arbeiten, die unterschiedliche Bandgeschwindigkeiten wie 50, 125 oder 200 Zoll pro Sekunde haben. Dann nimmt das Mikroprogramm im Schritt 118 nach den Zählern eine Zählung vor. Zu dieser Zeit fühlt das Mikroprogramm im Schritt 419 Maschinenabfühlschaltungen auf einen PEID-Stoß ab, welcher anzeigt, daß das Band in der MTU in Phasencodierung beschrieben wurde. Sobald das festgestellt wurde, läuft das Programm in eine Phasencodierung-Leseroutine (PE-Leseroutine) aus, die nicht näher beschrieben wird, weil sie nicht zur Erfindung gehört. Solange ein PEID-Stoß nicht festgestellt ist, werden die Zähler im Schritt 420 auf die Zählung des Bandes vom Ladepunkt an umgeschaltet. Im Entscheidungsschritt 421 stellt das Mikroprogramm fest, ob genug Band abgespult wurde. Ist das nicht der Fall, wird die Routine noch einmal ausgeführt. Wenn die Bandvor- bzw. -rückspülung beendet und kein PEID-Stoß festgestellt wurde, wird angenommen, daß das ganze Aufzeichnungsformat auf dem Band das genormte NRZI-Format ist.
Das beschriebene E/A-Steuergerät ist so konstruiert, daß es normalerweise mit PE-Aufzeichnungen arbeitet. Die PE-Routine zum Lesen vom Band steht daher entweder in der Speicherzone 1 oder in der Speicherzone 2 als Basisprogramm 100 oder Zusatzprogramm 103. Viele Aufzeichnungssysteme arbeiten jedoch im NRZI-Format. Um die Flexibilität des E/A-Steuergerätes zu erhöhen, kann daher eine NRZI-Einrichtung dem Basisprogramm hinzugefügt werden. Im gezeigten Ausführungsbeispiel werden die in den A-Programmen enthaltenen Programme benötigt, um das E/A-Steuergerät 11 mit NRZI-Aufzeichnungen auf einem Band in einer adressierten MTU zu betreiben. Um zu einer NRZI-Routine zu verzweigen, wird daher eine BOCF-Instruktion ausgeführt. Diese BOCF-Instruktion wird ausgeführt im Schritt 423 der Fig. 6 und ist im Zusammenhang mit Fig. 4 beschrieben. Ist diese Einrichtung in der Maschine nicht enthalten, wird die Verzweigung nicht ausgeführt und die
Docket BO 970 049 2 0 9 8 4 7 / 1 0 2 k
nächste Instruktion durch Erhöhung .des IC 66 abgerufen, wodurch das E/A-Steuergerät den Schritt 415 ausführt, der Einheitenprüfsignale an die CPU sendet und dieser mitteilt, daß sie das Band in der adressierten MTU nicht lesen kann. Diese Art der Programmierung spielt für die vorliegende Erfindung keine Rolle und wird daher nicht näher beschrieben.
Wenn jetzt angenommen wird, daß die NRZI-Einrichtung eingebaut wurde, was durch Schließen des entsprechenden Schalters 155 angezeigt wird, dann wird im Schritt 424 ein Kommandosignal durch das Mikroprogramm erzeugt, wodurch die adressierte MTU auf 8CO bpi gestellt wird, d. h. die NRZI-Aufzeichnung erfolgt mit 8OO Bits pro Zoll. Die adressierte MTU benötigt dann elektronische Schaltungen, um NRZI-Signale abzufühlen und vom Band an das E/ASteuergerät in üblicher Weise zu übertragen. Das Programm läuft dann wieder in die Routine 411 hinein. Während eines zweiten Durchganges durch die Routinen 411, 413 und 412 hat die adressierte MTU das Band bereits bewegt und ist für eine Leseoperation bereit. Die Mikroprogrammierung läuft daher vom Schritt 412 hinaus zum Entscheidungsschritt 427. Dieser Entscheidungsschritt prüft das zugehörige Register LSR 75, um festzustellen, ob eine NRZI-Operation oder eine PE-Operation auszuführen ist. Wenn der PEID-Stoß im Schritt 419 festgestellt wurde, dann setzt die nicht beschriebene oder dargestellte PE-Routine einen Anzeiger in das entsprechende Register LSR 75 und zeigt dadurch an, daß die Aufzeichnung im PE-Format steht. Das heißt auch, daß sie nicht im NRZI-Format steht, so daß das Mikroprogramm dann in eine PE-Routine eintritt. Wenn das Format andererseits das NRZI-Format ist, dann geht das Programm über die Leitung 430 hinaus und setzt die Datenflußschaltungen 13 im Schritt 413. Dadurch wird der NRZI in den Datenflußschaltungen 13 betätigt. Außerdem haben die Datenflußschaltungen 13 einen PE-Detektor, der durch die PE-Routine gesetzt oder betätigt wird. Nach Setzen der Abfühlung auf das NRZI-Format wird eine Warteschleife angefangen, damit die Datenflußschaltungen 13 alle aus dem ersten
209847/1024
Docket BO 970 049 * c
Block der aufgezeichneten Datensignale zu lesenden NRZI-Daten verarbeiten können. Die Schleife 432 fühlt nur das Datenende im Schritt 433 ab und unterbricht die MTü im Schritt 434. Ohne Datenende und Unterbrechung von der adressierten MTU läuft das Mikroprogramm nur zwischen diesen beiden Sehritten. Wenn die gewählte MTU eine Unterbrechung hat, kann das Lesen nicht beendet werden und eine Einheitenprüfung wird in 435 gesetzt, so daß das Mikroprogramm zur Y-Beendigungsroutine 147 hinausläuft oder verzweigt. Diese Verzweigungen können BOCF- oder BU-Verzweigungen sein. Die BU-Verzweigung folgt nach einer BOC-Verzweigung.
Normalerweise wird im Schritt 433 das Datenende festgestellt. Das Programm verzweigt dann zur Ausführung des Schrittes 436 und stellt fest, ob die gelesenen Signale eine Bandmarke bilden oder nicht. Ist es eine Bandmarke, muß das Mikroprogramm mit einer Prüfung feststellen, ob das Kommando von der CPU eine Dateioperation ist. Ist das nicht der Fall, liegt ein Fehler vor. Handelt es sich um eine Dateioperation, dann wird die nicht beschriebene Lesestoproutine angefangen. Stellen die Signale keine Bandmarke dar, was bei einer Daten-Rückleseoperation normal ist, stellt der Entscheidungsschritt 438 fest, ob es sich um eine Dateioperation handelt. Wenn nicht, wird auch der Lesestop angefangen. Handelt es sich um eine Dateioperation, dann stellt im Schritt: 439 das Programm den Bandoperationsanzeiger kurzzeitig zurück, im. bestimmte Anzeiger, die nicht zur vorliegenden Erfindung gehören, wieder zu löschen. Dann beginnt es wieder mit der Warteschleife 432, so daß ein nachfolgender Datenblock erfolgreich gelesen werden kann.
Die oben beschrieben· BOCF-Verzweigung basiert darauf, ob eine Betriebseinrichtung oder Möglichkeit in die Maschine eingebaut wurde oder nicht. Bei einer Maschine, die in mehreren Betriebsarten laufen kann, wie z. B. einem E/A-Steuergerät für PE- oder NRZI-Betrieb, läßt sich eine weitere Auswirkung des Mikroprogrammes dadurch erreichen, daß man die BOCF-Verzweigung davon abhängig macht, daß beide Betriebsartensätze in der Maschine
Docket BO 970 049 209847/1024

Claims (13)

  1. vorgesehen sind. In Fig, 7 ist die BOCF-Leitung vom ODER-Glied 156 genauso dargestellt wie in Fig. 4. Das UND-Glied 151A ist ein verändertes UND-Glied 151, welches anspricht auf das gemeinsame Einrichtungs-Existenzsignal von einem Schalter 155 und einem Verzweigungsdecodiersignal auf der Leitung 15OA vom Decodierer 150 (Fig. 4) sowie dem zusätzlichen Betriebssatz-Eingangssignal von einer weiteren Betriebsartenverriegelung in den Datenflußschaltungen 13. Wenn in der Verriegelung 300 die Betriebsart A (NRZI) eingestellt ist, ist die BOCF zulässig. Wenn das E/A-Steuergerät nicht auf Betriebsart A steht, wird die Verzweigung verhindert und gestattet dem MPUX-Mikroprogramm die Betriebsarteneinstellung oder die Fehlerbestimmung bei einem Betriebssatz fortzusetzen und die Verriegelung 300 wird auf Betriebsart A gesetzt und BOCF ausgeführt.
    Die Verriegelung 300 kann durch verschiedene Techniken gesetzt und zurückgestellt werden. Bei konventionellen E/A-Steuergeräten, wie z. B. der Bandsteuereinheit IBM Modell 2803, sprach die Steuereinheit auf den PEID-Stoß an und setzte den PE-Betrieb (hier B-Betrieb) und auf das Fehlen des PEID-S-Stoßes durch Setzen des NRZI-Betriebes (hier Α-Betrieb) in ihren Datenflußschaltungen. Auf diese Weise kann auch die Verriegelung 300 gesetzt oder zurückgestellt werden. Die Mikroprogramme der MPUY können auch auf andere Weise den Betriebsartenzustand in der adressierten MTU abfühlen. Die MTUs sprechen noch auf PEID oder dessen Fehlen an zur Bestimmung des Lesebetriebes. Die MPUY-Mikroprogramme können YB laden, um die Datenflußschaltungen zu steuern. Der Betriebszustand kann auch durch die CPU in die MPUX gesetzt werden. Die MPUX kann XB laden, um die Betriebsart auf die MPUY zu übertragen oder die Datenflußschaltungen können auf XB ansprechen und die Betriebsart wählen. Auf jeden Fall kann die Einstellung der Verriegelung 300 auf mehrere Arten gesteuert werden, und die gewählte Technik beeinflußt die praktische Verwirklichung der vorliegenden Erfindung nicht, der Betriebsartenzustand kann z. B. auch im LSR festgehalten werden.
    Docket BO 970 049 20SI47/1024
    PATENTANSPRÜCHE
    .Ii Elektronische digitale Datenverarbeitungsanordnung, die durch Instruktionen steuerbar ist, die mindestens einen Operationscode und ein erstes und zweites Steuerfeld aufweisen, und die Folgesteuerung zur Ausführung der Instruktionen nach einem vorgegebenen Signalmuster, einschließlich der Verzweigungsoperationen, die auf Bedingungen basieren, die im ersten Steuerfeld angegeben sind und eine Verzweigung zu einer Speicheradresse veranlassen, die auf Codepermutationen im zweiten Steuerfeld beruhen, besitzt, gekennzeichnet durch eine Verzweigungssteuerung (79; Fig. 4), die auf Bedingungen anspricht, die durch Instruktionen erzeugt werden, die vor einer gegebenen Verzweigungsinstruktion (gespeichert in 67) ausgeführt werden, zum Vergleich mit Codepermutationen im ersten Steuerfeld (120) für die Durchführung oder Nichtdurchführung einer Verzweigung gemäß den Codepermutationen im zweiten Steuerfeld (127) oder einer anderen gegebenen Instruktionsfolge.
  2. 2. Elektronische digitale Datenverarbeitungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß zusätzliche Einrichtungen (z. B. Merkmal A; Fig. 1) zur Durchführung zusätzlicher Funktionen, die nicht notwendigerweise zu Anfang in der Datenverarbeitungsanordnung eingebaut sind, und zur Anzeige der Zusatzfunktionen in der Verzweigungssteuerung einschaltbar sind.
  3. 3. Elektronische digitale Datenverarbeitungsanordnung nach Anspruch 1 und/oder 2, gekennzeichnet durch eine Schaltungsanordnung (142; Fig. 4), die auf Signale der Verzweigungssteuerung (79) hin einen vorgegebenen Vergleich der Codepermutationen im ersten Steuerfeld bezüglich zusatz-
    Docket bo 970 049 209847/1024
    licher Einrichtungen für die Durchführung einer Verzweigungsoperation zu einem Speicherteil vornimmt, der der Durchführung der Zusatzfunktionen außerhalb der Adressierfähigkeit des zweiten Steuerfeldes zugeteilt ist, wobei die Verzweigungssteuerung beim Fehlen der Zusatzfunktionen eine derartige Verzweigung der Instruktionen verhindert.
  4. 4. Elektronische digitale Datenverarbeitungsanordnung nach Anspruch 3, dadurch gekennzeichnet, daß die Maschine zunächst nur Einrichtungen für die Durchführung vorgegebener Funktionen enthält, wobei das Programm auch an ausgewählten Punkten Verzweigungsinstruktionen enthält, von denen einige VerzweigungsInstruktionen eine Verzweigung bei ausgewählten Operationsbedingungen und andere bei Operationsfähigkeitsbedingungen vornehmen, daß ferner entweder bei der Herstellung oder später Operationsfähigkeitsbedingungen in die Maschine eingesetzt werden, wenn zusätzliche Funktionen ausgeführt werden werden sollen, indem in der Maschine ein Satz von Programmschritten eingespeichert wird, die sich auf die zusätzlichen Operationsfähigkeiten beziehen und auf die Verzweigung zu diesen Stellen mit Hilfe einer bedingten Verzweigung bei dem Auftreten der genannten Operationsfähigkeitsbedingungen und zur Rückkehr zu dem ersten Programm nach der Erledigung einer Zusatzfunktion und daß schließlich Einrichtungen in die Maschine einsetzbar sind, die auf Operations fähigkeitsbedingungen ansprechen, indem sie eine Speicheradresse derart verändern, daß zusätzliche Programme ausgeführt werden, die sich auf die Zusatzfunktionen beziehen.
  5. 5. Verfahren zum Betrieb der Datenverarbeitungsanordnung nach einem oder mehreren der Ansprüche 1 bis 4, die mehrere Speicherzonen für die Aufnahme von Instruktionswör-
    Docket BO 970 049 209847/TO
    tern besitzt, wobei jedes Instruktionswort einen Operationscode und erste und zweite Steuerfelder aufweist, und eines der genannten Steuerfelder einen Modulus für die Adressierung von nicht mehr als allen Registern in irgendeiner Speicherzone besitzt, wobei auch die bedingten Verzweigungen auf solche Zonen beschränkt sind, gekennzeichnet durch folgende Verfahrensschritte;
    Untersuchung aller bedingten Verzweigungsinstruktionswörter zur Feststellung der Bedingungen, bei deren Auftreten eine Instruktionsstromverzweigung durchzuführen ist,
    Verzweigung zu einem Register, das von einem Steuerfeld innerhalb der gleichen Zone, aus der das vorliegende Instruktionswort bei vorgegebenen Verzweigungsbedingungen abgerufen wurde, bestimmt ist, wobei für andere Bedingungen als den genannten vorgegebenen Bedingungen eine andere Zone als die gleiche Zone ausgewählt wird und
    Verzweigung von Zone zu Zone durch Kombination der Steuerfelder zur Bezeichnung eines Speicherregisters, einschließlich einer Zonenbezeichnung.
  6. 6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß weiterhin ein Register in einer anderen Zone gemäß der Angabe eines Steuerfeld ausgewählt wird.
  7. 7. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß weiterhin sichergestellt wird, daß vorgegebene Bedingungen sich auf vorausgegangene Maschinenoperationen beziehen und daß genannte andere Bedingungen sich auf Bedingungen beziehen, die nicht von der Maschinenoperation beeinflußt sind.
    Docket BO 970 049 209847/1024
  8. 8. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß weiterhin ein erster Satz von Programmen in einer oder mehreren der genannten Speicherzonen untergebracht wird, indem die kombinierten Steuerfelder für alle Interzonen-Verzweigungen verwendet werden, daß ein zweites Programm in einer anderen Zone untergebracht wird und daß schließlich Bedingungen für die Verzweigung an ausgewählten Punkten des ersten Satzes von Programmen für die Verzweigung 'zu dem zweiten Programm,eingefügt werden, wodurch einige Funktionen ausgeführt werden, die in dem ersten Satz von Programmen nicht ausgeführt und andere Funktionen an deren Stelle substituiert werden.
  9. 9. Erfahren nach einem oder mehreren der Asnprüche 5 bis 8, dadurch gekennzeichnet, daß die elektronische digitale Datenverarbeitungsanordnung, die in Abhängigkeit von einem Satz von Instruktionswörtern arbeitet, die Funktionen, die auszuführen sind, bezeichnen und die ein oder mehrere Steuercodepermutationen "besitzen können, dadurch gekennzeichnet, daß einige der Instruktionswörter eine bedingte Verzweigungsoperation von einem Programm zu einem anderen kennzeichnen, daß eine erste Verzweigungssteuerung auf eine erste bedingte Verzweigungsinstruktion anspricht, um eine Verzweigungsoperation der Maschine zu irgendeinem Satz von Programmen anzuzeigen, der von einem ersten der genannten anderen Codepermutationen in Übereinstimmungen mit Bedingungen, die von einer zweiten Permutation spezifiziert werden, bestimmt ist, daß ferner eine zweite Verzweigungssteuerung auf eine zweite bedingte Verzweigungsinstruktion anspricht, um eine Verzweigungsoperation zu einem anderen Satz von Programmen anzuzeigen, der gemeinsam bestimmt ist durch die ersten Codepermutationen und die Verzweigungsbedingung, daß weiterhin eine dritte Verzweigungssteuerung auf eine unbedingte Verzweigungsinstruktion anspricht, um eine Verzweigungsoperation zu
    Dockot »ο ,το o« 209847/1024
    einem Satz von Programmen anzuzeigen, der gemeinsam bestimmt ist von den genannten ersten Codepermutationen und einer zusätzlichen Codepermutation und daß schließlich eine vierte Vorrichtung auf die genannten" Verzweigungssteuerungen anspricht, um eine Verzweigungsoperation in Obereinstimmung mit den genannten Verzweigungsbestimmungen vorzunehmen.
  10. 10. Verfahren nach .Anspruch 9, dadurch gekennzeichnet, daß die Datenverarbeitungsanordnung eine Erweiterung der Zahl der verschiedenen Operationen vornehmen kann, die programmgesteuert werden können, wobei Anordnungen angeben, ob eine Erweiterungsfähigkeit in der Maschine vorgesehen ist oder nicht, Programme, die auf eine derartige erweiterte Fähigkeit bezogen sind, auf eine ausgewählte Speicherzone beschränkt ist und wobei die genannte zweite Verzweigungssteuerung auf eine Anzeige der erweiterten Fähigkeiten anspricht, um eine Verzweigungsoperation zu einer ausgewählten Zone anzuzeigen, indem die genannte erste Codepermutation gemäß einer Voreinstellung mit der Adressenangabe der ausgewählten Zone modifiziert wird.
  11. 11. Verfahren nach Anspruch 9, dadurch gekennzeichnet, daß ein Speicher in der genannten zweiten Verzweigungssteuerung erfolgreiche bedingte Verzweigungsbestimmungen speichert, daß eine vierte Einrichtung auf die gespeicherten Verzweigungsbestimmungen anspricht, um eine gegebene Zone des Speichers auszuwählen, zu der die Maschinenoperationen verzweigen, und daß eine fünfte Einrichtung auf Maschinenoperationen anspricht, die nach der Verzweigungsbestimmung folgen, um den genannten Speicher zu löschen, wodurch die Zonenselektion, die auf der genannten Verzweigungsbestimmung beruht, gestrichen wird.
    Docket BO 970 049 209847/1024
    2213A23
    — 3Ö —
  12. 12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, daß die vierte Einrichtung mittels einer Speicherzonenauswahlvorrichtung die Speicherzone auswählt, mittels Torschaltungen» die auf den genannten Speicher anspricht, um selektiv die Zonenauswäh!vorrichtung gegen die Beeinflussung der Maschinenoperationen zu sperren und eine andere Zonenauswahl zu substituieren, und zwar in Übereinstimmung mit dem genannten Speicher, wobei sie den Speicher zurückstellt, um die Zonenwähleinrichtung durchzuschalten, um so die Maschinenoperationen zu beeinflussen.
  13. 13. Verfahren nach Anspruch 9, dadurch gekennzeichnet, daß erste und zweite Betriebsarten jeweils ersten und zweiten Betriebsfähigkeiten entsprechen, daß Betriebsarteneinrichtungen anzeigen, in welcher Betriebsart die Maschine augenblicklich arbeiten kann, und daß die genann te zweite Verzweigungssteuerung ferner auf die Betriebsarteneinrichtungen anspricht, um zu bestimmen, ob eine Verzweigung zu einem anderen Satz von Programmen verzweigt wird oder nicht.
    Docket BO 970 049 209847/1024
DE19722213423 1971-03-25 1972-03-20 Elektronische digitale Datenverarbeitungsanordnung Withdrawn DE2213423A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12789571A 1971-03-25 1971-03-25

Publications (1)

Publication Number Publication Date
DE2213423A1 true DE2213423A1 (de) 1972-11-16

Family

ID=22432508

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19722213423 Withdrawn DE2213423A1 (de) 1971-03-25 1972-03-20 Elektronische digitale Datenverarbeitungsanordnung

Country Status (5)

Country Link
US (1) US3713108A (de)
JP (1) JPS5413733B1 (de)
DE (1) DE2213423A1 (de)
FR (1) FR2131408A5 (de)
GB (1) GB1371136A (de)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3889242A (en) * 1971-10-04 1975-06-10 Burroughs Corp Modifiable computer function decoder
US3868649A (en) * 1972-06-28 1975-02-25 Fujitsu Ltd Microprogram control system
US3979727A (en) * 1972-06-29 1976-09-07 International Business Machines Corporation Memory access control circuit
JPS549456B2 (de) * 1972-07-05 1979-04-24
US3959777A (en) * 1972-07-17 1976-05-25 International Business Machines Corporation Data processor for pattern recognition and the like
US4011547A (en) * 1972-07-17 1977-03-08 International Business Machines Corporation Data processor for pattern recognition and the like
US3793631A (en) * 1972-09-22 1974-02-19 Westinghouse Electric Corp Digital computer apparatus operative with jump instructions
JPS5324151B2 (de) * 1972-12-25 1978-07-19
US3800293A (en) * 1972-12-26 1974-03-26 Ibm Microprogram control subsystem
US3818460A (en) * 1972-12-29 1974-06-18 Honeywell Inf Systems Extended main memory addressing apparatus
US3979725A (en) * 1973-08-06 1976-09-07 Xerox Corporation Multi-way program branching circuits
IT995722B (it) * 1973-10-10 1975-11-20 Honeywell Inf Systems Italia Calcolatore microprogrammato a interior decore espansibile mediante riconoscimento e interpre tazione di codici di operazione aggiunti
US3909799A (en) * 1973-12-18 1975-09-30 Honeywell Inf Systems Microprogrammable peripheral processing system
US3909800A (en) * 1973-12-18 1975-09-30 Honeywell Inf Systems Improved microprogrammed peripheral processing system
IT1000638B (it) * 1973-12-28 1976-04-10 Olivetti & Co Spa Calcolatore elettronico con dispo sitivo di deviazione dei micropro grammi
JPS5161749A (en) * 1974-11-26 1976-05-28 Fujitsu Ltd Deetashorisochino shoriringuseigyohoshiki
US3972029A (en) * 1974-12-24 1976-07-27 Honeywell Information Systems, Inc. Concurrent microprocessing control method and apparatus
US4281390A (en) * 1977-06-01 1981-07-28 Hewlett-Packard Company Programmable calculator including means for performing computed and uncomputed relative branching during program execution
US4181942A (en) * 1978-03-31 1980-01-01 International Business Machines Corporation Program branching method and apparatus
US4321667A (en) * 1979-10-31 1982-03-23 International Business Machines Corp. Add-on programs with code verification and control
JPS61229134A (ja) * 1985-04-03 1986-10-13 Nec Corp マイクロコンピユ−タ
AU3437293A (en) * 1993-01-06 1994-08-15 3Do Company, The Digital signal processor architecture
JP2001306316A (ja) * 2000-04-21 2001-11-02 Sharp Corp 制御回路およびそれを用いた半導体装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL136146C (de) * 1957-12-09
DE1190706B (de) * 1963-07-17 1965-04-08 Telefunken Patent In zwei abwechselnden Zyklen arbeitende programmgesteuerte elektronische digitale Rechenmaschine
US3344403A (en) * 1964-06-26 1967-09-26 Ibm File selection system
US3341824A (en) * 1965-04-05 1967-09-12 Ibm Unit unavailability detector for a data processing system
US3374466A (en) * 1965-05-10 1968-03-19 Ibm Data processing system
US3391394A (en) * 1965-10-22 1968-07-02 Ibm Microprogram control for a data processing 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
US3500328A (en) * 1966-06-20 1970-03-10 Ibm Data system microprogramming control
US3445818A (en) * 1966-08-01 1969-05-20 Rca Corp Memory accessing system
US3431558A (en) * 1966-08-04 1969-03-04 Ibm Data storage system employing an improved indexing technique therefor
FR1567705A (de) * 1967-06-09 1969-04-08
US3559183A (en) * 1968-02-29 1971-01-26 Ibm Instruction sequence control
US3564509A (en) * 1968-04-22 1971-02-16 Burroughs Corp Data processing apparatus
US3573854A (en) * 1968-12-04 1971-04-06 Texas Instruments Inc Look-ahead control for operation of program loops

Also Published As

Publication number Publication date
GB1371136A (en) 1974-10-23
FR2131408A5 (de) 1972-11-10
JPS5413733B1 (de) 1979-06-01
US3713108A (en) 1973-01-23

Similar Documents

Publication Publication Date Title
DE2213423A1 (de) Elektronische digitale Datenverarbeitungsanordnung
DE2714805C2 (de)
DE2456578C2 (de) Datenverarbeitungsanlage
DE2755897C2 (de)
DE2902132C2 (de) Anordnung zur Datenübertragung über mehrere Kanäle mit überlappender Steuerung
DE2722099C2 (de)
DE2416609C2 (de) Datenverarbeitungsanlage mit einer zentralen Verarbeitungseinheit und Multiprogrammierung mit mehreren Programmunterbrechungs-Prioritätsstufen
DE2148847A1 (de) Schaltungsanordnung zum Steueren peripherer Ein- und Ausgabegeraete von Datenverarbeitungssystem
DE2239163C3 (de) Eingabe/Ausgabe-Steuerschaltung für eine Datenverarbeitungsanlage
DE1499200B2 (de) Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung
CH522921A (de) Rechneranlage
DE2719635A1 (de) Anordnung fuer eine erweiterung einer mikroprogrammsteuerung einer datenverarbeitungsanlage
DE1774296B2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE2612139A1 (de) Ein/ausgang-steuerungssystem
DE1549522B1 (de) Datenverarbeitungsanlage mit simultanverarbeitung mehrerer programme mittels mehrerer rechner
DE1499203B1 (de) Schaltungsanordnung zum Speicherschutz bei Datenverarbeitungsanlagen mit Simultanbetrieb
DE2237672A1 (de) Fehlerpruef- und fehlerdiagnoseeinrichtung in einer elektronischen datenverarbeitungsanlage und verfahren zu deren betrieb
DE1269393B (de) Mikroprogramm-Steuerwerk
DE2218630C3 (de) Schaltungsanordnung zur Steuerung von Unterbrechungssignalen in Datenverarbeitungsanlagen
EP1230590B1 (de) Prozessorsystem
DE2364323C2 (de) Verfahren zur Behandlung von Unterbrechungsbedingungen in einer Datenverarbeitungsanlage
DE2759120C2 (de)
DE1179027B (de) Speicherprogrammierte digitale Rechenanlage
DE2906685C2 (de)
DE3751353T2 (de) Verzweigungsmechanismus einer Befehlsfolgekontrolleinheit.

Legal Events

Date Code Title Description
OD Request for examination
8139 Disposal/non-payment of the annual fee