DE2556624C2 - Verfahren und Schaltungsanordnung zur asynchronen Datenübertragung - Google Patents

Verfahren und Schaltungsanordnung zur asynchronen Datenübertragung

Info

Publication number
DE2556624C2
DE2556624C2 DE2556624A DE2556624A DE2556624C2 DE 2556624 C2 DE2556624 C2 DE 2556624C2 DE 2556624 A DE2556624 A DE 2556624A DE 2556624 A DE2556624 A DE 2556624A DE 2556624 C2 DE2556624 C2 DE 2556624C2
Authority
DE
Germany
Prior art keywords
signal
gate
output
circuit
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE2556624A
Other languages
English (en)
Other versions
DE2556624A1 (de
Inventor
Ronald Eugene Bodner
Mario Nicholas Cianciosi
Thomas Lee Rochester Minn. Crooks
Israel Ben Coral Springs Fla. Magrisso
Keith Kenneth Rochester Minn. Slack
Richard Stanton Boca Raton Fla. Smith
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 DE2556624A1 publication Critical patent/DE2556624A1/de
Application granted granted Critical
Publication of DE2556624C2 publication Critical patent/DE2556624C2/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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/282Cycle stealing DMA
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/4226Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with asynchronous protocol

Description

Die Erfindung betrifft ein Verfahren und eine Schaltungsanordnung zur asynchronen Datenübertragung in Datenverarbeitungsanlagen nach dem Oberbegriff des Patentanspruches 1.
Im Vergleich zur synchronen Datenübertragung in Datenverarbeitungsanlagen wird bei der asynchronen Datenübertragung die Komplexität der Ein- und Ausgabeanschlußlogik bzw. -Steuereinheiten vereinfacht. Derartige Schaltungsanordnungen zur asynchronen Datenübertragung sind z. B. durch die deutsche Patentschrift 14 37 715 und die deutsche Auslegeschrift 14 37 698 bekannt. Ein solches Datenübertragungssystem, dessen erste Anschlußeinheit mit mindestens einer zweiten Anschlußeinheit über Leitungsgruppen verbunden ist, bei den in der ersten Anschlußeinheit Vorrichtungen für die Abgabe von Adressen, Befehlen
so und Daten sowie Vorrichtungen zur Abfrage der anderen Anschlußeinheiten angeordnet sind, die über eine Gruppe von Ausgangsleitungen mit den zweiten Anschlußeinheiten verbunden sind, und bei dem in den zweiten Anschlußeinheiten Vorrichtungen für die Abgabe von Adressen, Zustandsinformationen (Statussignale) und Daten angeordnet sind, die über eine Gruppe von Eingangsleitungen mit der ersten Anschlußeinheit verbunden sind, ist dadurch charakterisiert, daß eine Leitung für eine Prioritätsauswahl von der ersten
eo Anschlußeinheit zu den zweiten Anschlußeinheiten und von diesen zurück auf die erste Anschlußeinheit geführt ist und daß als Verbindungen zwischen Anschlußeinheiten zu der ersten Anschlußeinheit Eingangssammelleitungen, die die Information übertragen, Kennworteingangsleitungen, die auf den Sammelleitungen übertragene Informationen bezeichnen und Steuereingangsleitungen, die an der Informationsübertragung beteiligte zweite Anschlußeinheiten auswählen, angeordnet sind,
und daß die Abfrage auf den Eingangs- und den Ausgangsleitungen durch Verriegelungsschaltungen verriegelt ist Als Kennworteingangsleitungen sind eine Adresseneingangsleitung, eine Zustands- oder Statusleitung und eine Bedienungs- Eingangsleitung angeordnet. Ein Nachteil dieser Schaltungsanordnung sind die konstanten Rufanforderungen der einzelnen E/A-Geräte, da es dadurch nicht möglich ist, ein Ein- und Ausgabegerät zur Antwort auf eine Aufforderung zu irgendeinem Zeitpunkt innerhalb eines vorgegebenen Zeitintervalls aufzufordern, sondern nur zu einem bestimmten Zeitpunkt Die Zentraleinheit verlangt von einer angeforderten Ein- und Ausgabeeinheit eine Antwort, bevor sie den zugehörigen Ein- und Ausgabebefehl aussendet Dadurch ist eine derartige Schaltungsanordnung relativ zeitaufwendig und auch schaltungstechnisch zu komplex.
Weiterhin ist aas V. Kussl, Technik der Prozeßdatenverarbeitung, Aufbau und Wirkungsweise der Prozeßrechner, Carl Hanser Verlag, München 1973. Seiten 162 bis 169, eine Schaltungsanordnung für Prozeßrechner bekannt die eine Vielzahl von Datenendstationen, einen Datenübertragungskanal, Übertragungsschaltungen und Anpassungsschaltungen aufweist. Dabei werden über den Adressenbus Ein- und Ausgabegeräteadressen, Datenadressen und Steuersignale gleichzeitig übertragen. Diese Schaltungsanordnung für die Prozeßdatenverarbeitung zeigt jedoch nur eine synchrone Datenübertragung mit Zykluszuordnung. Sie ist auch nicht in der Lage mehrere Ein- und Ausgabeeinheiten, -adressen bzw. -antworten zu akkumulieren. Außerdem weist sie für die Ein- und Ausgabebefehle bzw. die Antwort in darauf, keine Zeitsperre für Zeitintervalle unterschiedlicher Dauer auf.
Der Erfindung liegt deshalb die Aufgabe zugrunde, ein Verfahren und eine verbesserte Schaltungsanordnung zur asynchronen Datenübertragung in Datenverarbeitungsanlagen zu schaffen, die neben der asynchronen Datenübertr?gung auch eine synchrone ermöglichen, die mit einem Minimum an Verriegelungsleitungen auskommen, mehrere Ein- und Ausgabeeinheiten-Antworten akkumulieren, eine erweiterte Ausführungszeit für die Ein- und Ausgabebefehle gestatten und eine programmgesteuerte Zeitsperre für Zeitsperrintervalle unterschiedlicher Dauer aufweisen, während der die Ein- und Ausgabeeinheiten zur Antwort aufgefordert werden.
Die erfindungsgemäße Lösung ergibt sich aus dem Kennzeichen des Patentanspruchs 1.
Dieses Verfahren entlastet die Übertragungsschaltung oder den Kanal einer Datenverarbeitungsanlage bei der Synchronisation und EntSynchronisation der Ein- und Ausgabegeräte und vereinfacht darüber hinaus die Schaltungsanordnung durch die Verwendung von weniger Verriegelungsleistungen als bisher. Dabei wird außerdem eine gewisse Beweglichkeit zur Anpassung an die verschiedenen Zeitforderungen der Ein- und Ausgabegeräte und das Ansprechen mehrerer Geräte erreicht Konstante Rufforderungen werden eliminiert, weil die bedienungsanfordernden Geräte die Schaltungsanordnung in einen vordefinierten Zustand schalten und während sie sich in diesem Zustand befinden, kann die Übertragungssteuereinheit durch eine Ein- und Ausgabeinstruktion, die an sich mehr ein Gerätebefehl ist, den Bedienungsanforderungszustand von Geräten an die Zentraleinheit der Datenverarbeitungsanlage zur Analyse übertragen. Damit kann auch ein Ein- und Ausgabegerät zur Antwort zu irgendeinem Zeitpunkt innerhalb eines vorgegebenen Intervalls aufgefordert werden.
Die Erfindung wird nun anhand eines in den Zeichnungen dargestellten Ausführungsbeispiels beschrieben. Es zeigt
F i g. 1 in einem Blockdiagramtn eines Rechnersystems,
Fig.2 ein Blockdiagramm der Zentraleinheit der
F i g. 3 in einem Logikdiagramm die Taktgeber der Zentraleinheit und die Speichertaktgeberansteuerungen,
F i g. 4 in einem Blockdiagramm die Anordnung der F i g. 4a, 4b und 4c.
Fig.4A, 4B und 4C zusammengelegt gemäß Fig.4 ein schematisches Logikdiagramm der Speichertorsteuerung für E/A-Instruktionen und grundlegende . Zykluszuordnung,
Fig.5a und 5b untereinandergelegt ein scheamtisches Logikdiagramm der Decodierung der E/A-Instruktionen, der ALU und ALU-Steuerlogik,
Fig.6 in einem Logikdiagramm die LSR-Adreßerzeugungsschaitung,
F i g. 7a und 7b untereinandergelegt zusammen in einem Logikdiagramm die ALU-Schaltungen zur Steuerung der Dateneingabe im Arbeitsspeicherregister,
F i g. 8 in einem Blockdiagramm die in F i g. 1 dargestellte Übertragungs-Steuereinheit,
F i g. 9 die Datenpuffer und Kanalregister der Übertragungsstauereinheit,
Fig. 10 die Schaltung in der Übertragungssteuereinheit, die Ausgangssignale für die E/A-Kommandosammelleitung formt,
Fig. 11 die Taktgeber der Übertragungsstcuerein-
heit.
Fig. 12a und 12b die Decodierlogik der Taktgeber der Übertragungssteuereinheit zur Erzeugung von Steuer- und Sjnchronisationssignalen, Fig. 13 die Prüfschaltung der Übertragungssteuereinheit,
F i g. 14 die Zeitsperre und die Decodierlogik, F i g. 15 ein typisches E/A-Anschlußgerät,
Fig. 16die E/A-Instruktionsformate, Fig. 17 in einem Zeitdiagramm allgemeine CPU-Taktzeiten,
Fig. 18 in einem Zeitdiagramm die CPU-Taktzeiten für verschiedne Arten von Instruktionen einschließlich der E/A-Instruktionen,
so Fig. 19 in einem Zeitdiagramm Kombinationen der CPU-Taktzeiten für verschiedene Instruktionstypen,
Fig.20 in einem Zeitdiagramm die CPU-Taktlaufsteuerzeiten,
Fig.21 in einem Zeitdiagramm die CPU-Taktsteuerungen für E/A-Instruktionen,
F i g. 22 in einem Zeitdiagramm die CPU-Taktsteuerungen für E/A-Zykluszuordnungsoperationen,
Fig.23 in einem Zeitdiagramm allgemeine E/A-Instruktionszeiteinteilungen,
F i g. 24 in einem Zeitdiagramm die Zeiteinteilung für eine E/A-Ladeinstruktion sowohl für direkte E/A-Instruktionen als auch für E/A-Speicherinstruktionen,
F i g. 25 in einem Zeitdiagramm die Zeiteinteilung für eine E/A-Abfrageinstruktion sowohl für direkte E/A-Instruktionen als auch für E/A-Speicherinstruktionen,
F i g. 26 in einem Zeitdiagramm die Zeiteinteilung für eine bedingte E/A-Verzweigungsinstruktiop, F i g. 27 in einem Zeitdiagramm die Zeiteinteilung für
eine E/A-Abfrageinstruktion der Übertragungssteuereinheil,
F i g. 28 in einem Zeitdiagramm die Zeileinteilung für eine E/A-Ladeinstruktion der Überlragungssieuereinheit,
F i g. 29 in einem Zeitdiagramm die Zeiteinteilung für eine grundlegende Zykluszuordnungsoperation der Übertragungssteuereinheit,
F i g. 30 in einem Zeitdiagramm die E/A-Instruktionszeiteinteilung der Übertragungssteuereinheit,
Fig.31 in einem Zeitdiagramm den Stoßzustand aufgrund DBI/CB1 nicht 0,
Fig.32 in einem Zeitdiagramm den Stoßzustand aufgrund einer ungültigen Gerätezuordnung und
Fig.33 in einem Zeitdiagramm den Stoßzustand aufgrund einer Zeitsperrenprüfung.
F i g. 1 zeigt eine Schaltung in einem Rechnersystem mit gespeichertem Programm, das einen Steuerspeicher 10, einen Hauptspeicher 11, eine zentrale Einheit 15, eine Übertragungs-Steuereinheit 250, E/A-Anschlüsse 400,450,480 und E/A-Geräte 425,460 und 490 umfaßt. Der E/A-Anschluß 400 ist repräsentativ für einen E/A-Anschluß, der ein unter Instruktionssteuerung betriebenes E/A-Gerät oder ein E/A-Gerät bedient, das unter Basis-Zykluszuordnungsteuerung arbeitet. Wenn der E/A-Anschluß 400 ein unter E/A-Anschluß 400 ein unter E/A-Instruktionssteuerung betriebenes E/A-Gerät bedient, erzeugt das E/A-Gerät eine Unterbrechungsanforderung. Die Unterbrechungsanforderung wird nach einem Unterbrechungsprioritätssystem bedient, welches keinen Teil der vorliegenden Erfindung bildet. Die Unterbrechung schaltet den Betrieb des Rechners in eine Programmroutine zum Abruf einer oder mehrerer E/A-Instruktionen. Die abgerufene E/A-Instruktion wird ausgeführt und der Betrieb bringt entweder den Abruf einer weiteren E/A-Instruktion oder das Schalten in eine andere Unterbrechungsroutine oder die Rückkehr zur Stufe des Hauptprogrammes mit sich. Die Erfindung läßt sich natürlich auch auf eine Betriebsart anwenden, in der die E/A-Instruktion abgerufen wird als eine Folge von sequentiell im Insiruklionsstrom auftretende. Der E/A-Anschluß 400 kann also multiplex geschaltet werden mit dem Betrieb des E/A-Anschlusses 480, der ebenfalls ein entweder unter E/A-Instruktion oder Basiszykluszuordnungssteuerung laufendes E/A-Gerät bedienen kann. Die Systemtakttrigger 35 (TRC, TRD, TRE, TRI) werden in Intervallen von 200 Nanosekunden getaktet. Die Ausgaben dieser Trigger werden durch die T-Zeitdecodierlogik 37 decodiert zur Erzeugung der T-Zeiten 7"0-7"6 plus den Kombinationen der T-Zeiten nach Angaben in den Fig.3 und 19. Der Abrufzyklus endet am Ende der Zeit 7"2 und der Instrukiionsausführungszyklus beginnt bei der Zeit T3. Das Ende des Instruktionsausführungszyklus hängt von der jeweils ausgeführten Instruktion ab. Die Zeiteinteilung für Abruf und Atisführung einer E/A-Instruktion ist im einzelnen in Fig.23 gezeigt. In diesem speziellen Beispiel gibt es drei Typen von E/A-Instruktionen. CHe Formate für direkte E/A-Instruktionen, E/A-Speicher- eo Instruktionen und bedingte E/A-Verzweigungsinstruktionen sind in Fig. 16 gezeigt Jede Instruktion ist zwei Bytes lang und besteht aus 16 Bits.
Bei Abruf vom Steuerspeicher 10 werfen die Instruktionen über die Speichersammelleitung 12 in das Instniktionsregister 14 und das Speicherdatenregister 25 gleichzeitig eingegeben. Die Instruktion im Register 40 wird durch die Instruktions- und Funktionsdecodierlogik 50 decodiert. Die Logik 50 hat natürlich alle Arten von Instruktionen zu decodieren, es ist aber nur der Teil der Logik 50 gezeigt, der der Decodierung von E/A-Instruktionen dient. Jede E/A-Instruktion enthält einen durch die Bits 0 — 3 codierten Op-Code wie aus Fig. K. zu ersehen ist. Der Op-Code gibt die Art der Instruktion und die auszuführende Operation an. Die Bits 4-7 der E/A-Instruktion werden Modifizier-Bits genannt und sind im allgemeinen von der E/A-Anschlußeinheit abhängig. Die Bits 8 bis einschließlich 15 werden durch die CPU und die Übertragungs-Steuereinheit 250 dazu benutzt, vordefinierte Aufgaben auszuführen, die für jede Art von E/A-Instmktion spezifisch sind. In diesem Beispiel ist nur eine Übertragungssteuereinheit dargestellt, es können aber natürlich mehrere vorhanden sein, von denen jede separat adressierbar ist.
Aus F i g. 2 ist zu ersehen, daß die instruktions- und Funktionsdecodierlogik 50 Signale an die Speicherwahldecodierlogik 70 sendet, die wiederum Signale für die Speichersteuerschaltung 100 liefert. Die Speichersteuerschaltung 100 steuert den Datenlauf vom Speicherdatenregister 25 über die Sammelleitung 26 zur Systemausgangssammelleitung (SBO) 120 und die Systemausgangssammelleitung speist die Steuereinheit 250. Somit kontrolliert die Speichersteuerschaltung 100 den Fluß von Daten und Steuerinformation zur Übertragungssteuereinheit 250. Die Speichersteuerschaltung 100 empfängt auch Daten von den Arbeitsspeicherregistern (LSR) 200 über die Sammelleitung 201. Daten und Steuerinformation können also von zwei verschiedenen Quellen an die Übertragungssteuereinheit 250 gesendet werden. Die Sammelleitung 120 ist beim Verlassen der Speichersteuerschaltung 100 2 Bytes breit, sie ist jedoch beim Eintritt in die Übertragungssteuereinheit 250 nur 1 Byte breit (Bits 8 bis 15).
In den F i g. 5a und 5b ist der Teil zur Decodierung der E/A-Instruktionen der Instruktions- und Funktionsdecodierlogik 50 gezeigt. Die bedingte E/A-Verzweigungsinstruktion hat einen Op-Code von 0011 und dieser Op-Code wird durch die Instruktion 52 und 53 und das UND-Glied 54 decodiert, wenn sie im Instruktionsregister 40 steht Die direkte E/A-Instruktion hat einen Op-Code von 1011 und wird durch den Inverter 52 und das UND-Glied 55 decodiert Die E/A-Speicherinstruktion hat einen Op-Code von 0100 und wird durch die Inverter 56, 57, 58 und das U N D-Glied 59 decodiert
Ein E/A-lnstruktionssignal wird auch durch die Speicherwahl-Decodierlogik 70 in F i g. 4a benutzt und dieses Signal ist nur vorhanden, wenn eine E/A-Instruktion ausgeführt wird, um eine Operation einer Übertragungssteuereinheit oder eines E/A-Gerätes zu bewirken. Die direkte E/A-instruktion kann intern innerhalb der CPU ausgeführt werden und wenn das geschieht, ist das E/A-lnstruktionssignal nicht vorhanden. Die Feststellung, ob die direkte E/A-Instruktion für die Übertragungssleuereinheit oder ein E/A-Gerät oder für die CPU ist, hängt vom Zustand des Bit 10 im Instruktionsregister 40 in den Fi g. 2 und 5a ab. Wenn das Bit 10 eine 1 ist ist die direkte E/A-Instruktion der CPU zugeordnet und es handelt sich umgekehrt um eine E/A-Instruktion für die Obertragungssteuereinheit oder ein E/A-Gerät wenn dieses Bit eine 0 ist Das E/A-Instruktionssignal wird somit durch den Inverter 60 das UND-Glied 61, das ODER-Glied 62 und das UND-Glied 63 m Fig.5a decodiert Die Signale E/A BOC, E/A IMM E/A SPxma das E/A-Instruktionssignal werden an die Speicherwahl-Decodierlogik 70 in F i g. 2
geleitet, wo dieser Teil der Speicherwahldecodierlogik für die E/A-Instruktion im einzelnen in den Fig.4a, 4b und 4c dargestellt ist.
Zum vollen Verständnis der Arbeitsweise der Speichersteuerschaltung 100 ist zu beachten, daß drei aufeinanderfolgende Bytes an die Übertragungssteuereinheit während der Ausführung einer E/A-Instruktion gesendet werden. Aus F i g. 23 ist zu ersehen, daß die Ausführung einer E/A-Instruktion zur Zeit Γ3 beginnt. Das erste auf die Systemausgangssammelleitung 120 gesetzte Datenbyte ist das niedrige Byte aus dem Speicherdatenregister (SDR) 25. Die Übertragungssteuereinheit 250 empfängt somit das niedrige Byte der E/A-Instruktion zuerst. Das zweite an die Übertragungssteuereinheit 250 gesendete Byte ist das hohe Byte der Instruktion und wird aus dem hohen Byte des STR 25 eiiinoffiiiien. Dieses Daicnbytc wird während der Zeit T3A an die Steuereinheit gesendet. Zur Zeit T3B wird dann ein Datenbyte aus dem niedrigen Byteteil des ersten LSR für eine bestimmte Unterbrechungsstufe an die Übertragungssteuereinheit gesendet. Die Taktierung der CPU-Taktgcber für die E/A-Instruktionen ist in Fig. 21 gezeigt.
Die Speichersteuerschaltung 100, wie sie in F i g. 4c zu sehen ist, umfaßt das niedrige Speichertor 101 und das hohe Speichertor 107. Das erste an die Übertragungssteuereinheit gesendete Datenbyte wird durch das UND-Glied 103 und das ODER-Glied 106 an die Systemausgangssammelleitung 120 geleitet. Das UND-Glied 104 empfängt die Bits 8-15 vom SBR 25 über die Sammelleitung 26 und wird durch die Ausgabe des ODER-Gliedes 139, Fig.4b, und die Ausgabe des Inverters 113 gesteuert Das ODER-Glied 135 wird durch das ODER-Glied 86 in Fig.4a gespeist. Das ODER-Glied 86 liefert ein Signal P-Tor NSELi und wird durch die UND-Glieder 76 bis 80 gespeist. Das UND-Glied 76 hat zu dieser Zeit die Steuerung und empfängt ein Taktsignal Γ3, das E/A-Instruktionssignal und ein Signal T3A vom Inverter 83. Das Taktsignal T3 kommt von der CPU und den Speichertaktgebern 30 in den F i g. 2 und 3, die später noch genauer beschrieben werden.
Der inverter 113, der auch das UND-Glied 103 steuert, wird durch die Ausgabe des ODER-Gliedes 92 gespeist das ein Signal SP-TOR NSELO erzeugt. Damit das UND-Glied 103 die SDR-Bits 8-15 leitet sollte natürlich kein Signal vom ODER-Glied 92 anliegen, weil der Inverter 113 dann das UND-Glied 103 sperren würde. Das ODER-Glied 92 speist den Inverter 113 über das ODER-Glied 183 und wird selbst durch die UND-Glieder 87 bis 91 gespeist und von diesen UND-Gliedern ist zu diesem Zeitpunkt keines vorbereitet weil sowohl das Signa! 7*5 his T ft als auch das Signal T3A fehlen.
Das nächste auf die Systemausgangssammelleitung 120 gesetzte Datenbyte ist ein Zeitbyte Γ3Λ. Dieses Datenbyte ist das werthohe Byte vom SDR 25 und wird durch das UND-Glied 109 über das ODER-Glied 112 an das UND-Glied 105 und von dort zum ODER-Glied 106 und zur Systemausgangssammelleitung 120 geleitet Das UND-Glied 109 wird durch das hohe Byte oder die Bits 0 bis 7 des SDR 25 über die Sammelleitung 26 versorgt Es wird vorbereitet durch ein Signal SP-TOR-N SEL1 vom Ausgang des ODER-Gliedes 73 Ober das ODER-Glied 132 und durch die Ausgabe des Inverters 116. Das ODER-GBed 73 wird durch die UND-Glieder 71 und 72 gespeist das UND-Glied 72 ist jedoch zu dieser Zeh nicht vorbereitet Das UND-Glied 71 ist vorbereitet, weil das Zeitsignal Γ3 und das E/A-Instruktionssignal vorhanden sind. Der Inverter 116 wird durch die Ausgabe des UND-Gliedes 74 über das ODER-Glied 130 gespeist, dieses UND-Glied hat jedoch zu dieser Zeit keine Ausgabe, weil es die Zeitsignale T5 bis 7"6 braucht. Somit liefert der Inverter 116 ein Vorbereitungssignal für das UND-Glied 109.
In diesem speziellen Fall werden also die Bits 0 bis 7 vom SDR 25 durch das UND-Glied 109 und das
ίο UND-Glied 105 über das ODER-Glied 112 geleitet. Das UND-Glied 105 wird durch die Ausgaben von den ODER-Gliedern 86 und 92 über die ODER-Glieder 139 bzw. 138 gesteuert. In diesem Fall ist das UND-Glied 77 aktiv, weil das Signal T3A und nicht das Signal T3B vom Inverter 84 kommen. Dementsprechend leitet das ODER-Glied 86 ein Signal SP-TOR N SEL 1 über das ODER-Glied !39 zur Vorbereitung des UND-Gliedes 105. Das UND-Glied 91 der das ODER-Glied 92 speisenden UND-Glieder ist zu dieser aktiv, weil das Signal T3A vorhanden ist und das Signal T3B fehlt und somit liefert es das Signal SP-TOR N SELO über das ODER-Glied 92 und 138 zur Vorbereitung des UND-Gliedes 105. Das UND-Glied 105 ist also zu dieser Zeit aktiv und leitet die Bits 0-7 vom SDR 25 auf die Sammelleitung 120 und die Bits 8-15 zum Anlegen dieser Bits an die Übertragungssteuereinheit 250.
Das Zeitsignal T3A kommt vom Trigger 98 in Fig.4c, dessen Dateneingang mit dem UND-Glied 96 verbunden ist, das ein E/A-Instruktionssignal und ein Zeitsignal 7*3 empfängt. Der Takteingang des Triggers 98 ist so geschaltet, daß er ein Signaltrigger A (TRA) empfängt, welches ein Zeitsignal von der CPU und dem Speichertaktgeber 30 ist. Das die beiden Zeitsignale Γ4 und Tl empfangende ODER-Glied 97 ist mit den Rückstelleingängen der Trigger 98 und 99 verbunden. Die Einschaltausgabe des Triggers 98 ist ein Signal T3A, das an den Datenanschluß des Triggers 99 angelegt wird, der durch das Signal TRA getaktet und unter Steuerung des ODER-Gliedes 97 zurückgestellt wird. Die Ausgabe des Triggers 99 ist ein Signal T3B,
mit dem die Speichertore zur Übertragung eines Datenbytes von einem der LSR's 200 an die Übertragungssteuereinheit 250 gesteuert werden.
Wie aus F i g. 2 zu ersehen ist, bestehen die LRS's 200 64 Registern mit je 16 Bit Diese Register sind in Gruppen zu 8 Registern zusammengefaßt. Die Hauptprogrammstufe und die Maschinenprüfstufe, die sich gegenseitig ausschließen, benutzen gemeinsam die Register 0-7. Die Register 8-15 sind Adreßregister
so (AR) und Adreßrückgriffsregister (AB), die von der Hauptstufe, der Maschinenprüfstufe und den Unterbrecherstufen 1 und 2 benutzt werden. Die Unterbrecherstufe 1 benutzt die Register 16 bis 23 als Arbeitsregister und die Unterbrecherstufe 2 die Register 24 bis 31. Die Register 32 bis 39 werden als Arbeitsregister für die Unterbrechungsstufe 3 benutzt Die Register 40 bis 47 sind Adreßregister (AR) und Adreßrückgriffregister (AB) für die Unterbrechungsstufen 3, 4 und 5. Die Unterbrechungsstufe 4 benutzt die Register 48 bis 55 und die Unterbrechungsstufe 5 die Register 56 bis 63. Die LRS's 200 werden unter Steuerung der in der Instruktions- und Funktions-Decodierlogik 50 enthaltenen Steuerlogik adressiert Die Adreßleitungen zum Wählen eines LSR zum Lesen oder Schreiben bilden die Sammelleitung 48. Die LSR-Adreßdecodieriogik für E/A-Instruktionen ist in Fig.6 gezeigt Zum Wählen eines LSR 200 sind 6 Bits erforderlich. Bit 0 wird vom UND-Glied 203 abgenom-
men, welches ein Signal vom Inverter 202 und ein die Zykluszuordnung oder die Unterbrechungsstufe 3, 4 oder 5 anzeigendes Signal empfängt. Der Inverter 202 empfängt ein Maschinenprüfsignal von der Maschinenprüflogik65.
Das UND-Glied 207 liefert Bit 1 und empfängt ein Zykluszuordnungssignal oder ein Unterbrechungsstufensignal 1,2,4 oder 5. Es empfängt auch ein Signal vom Inverter 202 und ein Signal vom Inverter 206. Der Inverter 206 wird durch das ODER-Glied 205 und dieses durch das UND-Glied 204 gespeist und empfängt auch ein Taktsignal 70 bis 72. Das UND-Glied 204 wird durch ein Taktsignal Γ6 und das Signal E/A BOC gespeist.
Bit 2 wird vom ODER-Glied 209 genommen, das durch das UND-Glied 208 und das ODER-Glied 205 gespeist wird. Das UND Glied 208 wird durch den Inverter 202 gespeist und empfängt ein Zykluszuordnungssignal oder die Unterbrechungsstufensignale 2 oder 5.
Bit 3 wird vom ODER-Glied 217 genommen, das durch die UND-Glieder 211 bis 216 sowie das UND-Glied 242 gespeist wird. Das UND-Glied 211 wird durch den Inverter 210 gespeist, der wiederum das E/A-Instruktionssignal empfängt. Das UND-Glied 211 empfängt auch Bit 5 des Instruktionsregisters 40 und ein Taktsignal 73. Das UND-Glied 212 empfängt das Taktsignal 73, das E/A-Instruktionssignal und Bit 13 das Instruktionsregister 40. Das UND-Glied 213 empfängt Bit 5 des Instruktionsregisters 40, ein Taktsignal 74 bis 75 und ein Signal vom Inverter 219, der durch das ODER-Glied 218 gespeist wird, welches wiederum die Signale E/A SP und E/A IMM empfängt. Das UND-Glied 214 empfängt Bit 13 des Instruktionsregisters 14, das Taktsigna! 74 bis 75 und die Ausgabe des ODER-Gliedes 218.
Das UND-Glied 215 empfängt einen Eingang vom Inverter 202, ein Zykluszuordnungs- oder Unterbrechungsstufensignal 1,2,4 oder 5, ein Taktsignal 76 und ein Signal E/A BOC. Das UND-Glied 216 empfängt Bit 13 des Instruktionsregisters 40, ein Taktsignal 76 und die Ausgabe des Inverters 227, der das Signal E/A BOC empfängt. UND-Glied 242 wird durch einen Blockprozessortakt, BPC-Signal und ein Taktsignal 77 gespeist. Bit 4 wird vom Ausgang des ODER-Gliedes 226 abgenommen, das Eingänge von den UND-Gliedern 220 bis 225 hat. Das UND-Glied 20 empfängt die Ausgabe des Inverters 210, ein Taktsignal 73 u.id Bit 6 des Instruktionsregisters 40. Das UND-Glied 221 empfängt ein Taktsignal 73, das E/A-Instruktionssignal und Bit 14 das Instruktionsregister 40. Das UND-Glied 222 empfängt das Taktsignal 74 bis 75, die Ausgabe des inverters 2!9 und Bit 6 des !nsiniktionsregisters 40. Das UND-Glied 223 empfängt das Taktsignal 74 bis
75. die Ausgabe des ODER-Gliedes 218 und Bit 14 das Instruktionsregister 40. Das UND-Glied 224 empfängt das Zykluszuordnungssignal oder die Unterbrechungsstufensignale 2 oder 5, das Taktsignal 76 und das Signal E/A BOC Das UND-Glied 225 empfängt das Taktsignal
76, die Ausgabe des Inverters 227 und Bit 14 des Instruktionsregisters 40.
Bit 5 wird vom ODER-Glied 233 abgenommen, das Eingänge von den UND-Gliedern 228 bis 232 und vom UND-Glied 243 hat. Das UND-Glied 228 empfängt die Ausgabe des Inverters 210, das Taktsignal 73 und Bit 7 des Instruktionsregisters 40. Das UND-Glied 229 empfängt das Taktsignal 73, das E/A-Instruktionssignal und Bit 15 des Instruktionsregisters 40. Das UND-Glied 230 empfängt das Taktsignal 74- 75, die Ausgabe des Inverters 219 und Bit 7 das Instruktionsregister 40. Das UND-Glied 231 empfängt das Taktsignal 74-75, die Ausgabe des ODER-Gliedes 218 und Bit 15 des ■■> Instruktionsregisters 40. das UND-Glied 223 empfängt die Ausgabe des Inverters 227, das Taktsignal 76 und Bit 15 des Instruktionsregisters 40. Das UND-Glied 243 empfängt als Signal BPQ das Taktsignal 77 und Bit 3 von KOMMANDOEINCLTC. Cß/24.
κι Aus den obigen Ausführungen geht hervor, daß die LSR-Adreßbits 0-5 bestimmte Zustände haben, die von der Art der ausgeführten E/A-Instruktion, den Bitbedingungen bestimmter Bits im Instruktionsregister 40, dem jeweiligen Zeitzustand und dem Zykluszustand ι) oder der Unterbrechungsstufe abhängen. In jedem Fall wird ein Byte vom gewählten LSR, in diesem speziellen Beispiel das untere Byte des A.rbeitsregisters für die laufende Unterbrechungsstufe, zur Zeit 73ß durch das UND-Glied 102 des niedrigen Speichertores 101 über 2i) das ODER-Glied 106 zu den Bits 8-15 des SBO 120 geleitet. Das UND-Glied 102 wird zu dieser Zeit vorbereitet, weil die Inverter 113 und 114 keine Signale von den ODER-Gliedern 92 bzw. 86 über die ODER-Glieder 139 bzw. 138 empfangen. Die anderen Eingänge zu den ODER-Gliedern 138 und 139 sind zu dieser Zeit ebenfalls nicht aktiv.
Dieses Datenbyte vom gewählten LSR enthält außer bei E/A-Instruktionen für mehrere Geräte die Einheitsadresse in den Bits 8—11 und die Übertragungseinheijo tensteueradresse in den Bits 12—15. Am Ende der Zeit 73ß der E/A-Instruktion stehen somit die Einheitenadresse und die Steuereinheitenadresse in der Steuereinheit 250. Wenn die ausgeführte E/A-Instruktion für mehrere E/A-Geräte galt, dann sind die Bits 8 — 11 des Jj LSR-Byte modifizierabhängige Bits und die Bits 12-15 sind die Adreßbits für die Übertragungssteuereinheit. Die modifizierabhängigen Bits 8—11 können dazu verwendet werden, spezifische Befehle für mehrere an den adressierten E/A-Anschluß angeschlossene E/A-Geräte auszuführen.
Das erste an die Steuereinheit 250 über die Systemausgangssammelleitung 120 gesendete Datenbyte wird durch die Deeodiersehaltung 251 in den Fig.8 und 10 untersucht, die auch die Polaritätsschaltungen 253, 255 und 262 enthält, deren jeweilige Takteingabe ein Signal ABT. SDR Nempfängt. Dieses Signal kommt von der Steuereinheitentaktdecodierlogik in F i g. 12a. Die Dateneingabe der Polaritätsschaltung 253 ist mit Bit 9 der Systemausgangssammelleistung verbunden, die Dateneingabe der Polaritätsschaltung 255 ist jedoch mit der Ausgabe des Inverters 256 verbunden, der wiederum mit Bit 8 der Systemausgangssammelleitung verbunden ist. Die Dateneingabe der Polaritätsschaltung 262 ist an den Ausgang des UND-Gliedes 261 angeschlossen, das einen Eingang vom Inverter 260 und einen vom Bit 11 der Systemausgangssammelleitung hat Der Inverter 260 ist an Bit 10 der Systemausgangssammelleitung 120 angeschlossen.
Die Ausgänge der Polaritätsschaltungen 253 und 255 liefern die Bits 2 bzw. 1 auf die Befehlsausgangssammelleitung AUSG. KOMMANDO LTG.244. Das Bit 0 wird vom UND-Glied 259 abgenommen, dessen Eingänge mit der Polaritätsschaltung 258 und dem UND-Glied 264 zum Empfang eines Signals + BASISZYKL STEHLEN verbunden sind. Der Polaritätshalter 258 wird durch ein Signal ABT. SDR N getaktet, das vom UND-Glied 307 der Taktdecodierschaltung des Übertragungseinheitentaktgebers in Fig. 12a kommt. Der
Dateneingang des Polaritätshalters 258 ist mit dem UND-Glied 257 verbunden, dessen einer Eingang mit dem Inverter 256 und dessen anderer mit dem Bit 11 der Systemausgangssammelleitung verbunden ist. Der Inverter 256 ist mit seinem Eingang an Bit 8 der Systemausgangssammelleitung angeschlossen. Das UND-Glied 264 ist mit einem Eingang an die Polaritätsschaltung 262 und mit einem anderen an die Polaritätsschaltung 263 angeschlossen, der durch das Signal ABT. SDR Hgetaktet wird. Das UND-Glied 264 hat einen Eingang zum Empfang des Signals ÜBERTR. INSTRUKTION.
Das UND-Glied 252 kann auch die Polaritätsschaltung 253 ein- und die Polaritätsschaltung 255 zurückschalten. Das UND-Glied 252 ist verbunden zum Empfang der Ausgabe der Polaritätsschaltung 258 und des Signals .4S?: LSR DAT. vom Steuereinheiten-Taktdecodierer. Die Polaritätsschaltung 255 kann außerdem durch das Signal +BAS. ÜBERTRZKL STEHLEN eingeschaltet werden. Dieses Signal und das Signal + BAS. ÜBERTR. BES. werden auch an das ODER-Glied 254 zum Rückstellen der Polaritätsschaltung 253 angelegt.
Aus der obigen Beschreibung ist zu ersehen, daß die Bits 0. 1 und 2 vom KOMMANDOAUSG. LTG. sich ändern können abhängig von den Bit-Bedingungen der Systemausgangssammelleitung an den verschiedenen angegebenen Abfragezeiten. Die Funktion der CBO-Bits 0 — 2 hängt von der jeweils ausgeführten E/A-Instruktion ab. Die Ausgabe des UND-Gliedes 246 bildet ein Befehlssignal für mehrere Einheiten, das von der Taktdecodierschaltung der Übertragungssteuereinheit der Fig. 12a benutzt wird. Die Bits 0. 1 und 2 von KOMMANDO AUSG. LTG. werden an die mit der Übertragungssteuereinheit verbundenen E'A-Anschlußeinheiten angelegt, von denen eine in F i g. 15 gezeigt ist.
Wie angegeben ist, sind die Taktsignale natürlich notwendig, um die Bits zu entwickeln. Der Taktgeber der Übertragungssteuereinheit wird während der Ausführung einer E/A-Instruktion bestätigt. Das E/A-Instruktionssignal vom UND-Glied 63 in Fi g. 5a wird über das ODER-Glied 239 an das UND-Glied 268 der Übertragungseinheitensteuerlogik in Fig. 12b zusammen mit einem A-Phasensignal von der CPU und den Speichertaktgebern 30 i:nd einem gültigen Übertragungseinheitenkommandosignal angelegt, das von einer Spannungsquelle kommt, und einem Signal vom Inverter 267. Der Ausgang des UND-Gliedes 268 ist mit dem Einschalteingang der Verriegelung 269 verbunden. Im eingeschalteten Zustand liefert die Verriegelung 269 ein Verriegelungssignal + 7"3, das zur Vorbereitung der Übertragungseinheitentakttrigger zur Reihenfolgeschaltung benutzt wird, wenn die A-Phasensignale an die Takteingänge der Steuereinheitentrigger angelegt werden. Die Rückstellausgabe der Verriegelung 269 wird in das ODER-Glied 266 gespeist, das ein Signal + BAS. OBERTR. BES. an den Inverter 267 liefert
Das Verriegelungssignal T3 wird an das ODER-Glied 274 in F i g. 11 angelegt und dessen Ausgabe speist das UND-Glied 276, dessen Ausgabe wiederum an den Dateneingang des Triggers 277 angelegt wird. Der Takteingang des Triggers 277 ist mit dem Ausgang des Inverters 294 verbunden, der das A-Phasensignal empfängt Der Trigger 277 ist der erste Trigger des Steuereinheitentaktgebers und sein hoher Ausgang bereitet den Trigger 283 zur Einschaltung aber das ODER-Glied 278 vor. Der niedrige Ausgang des Triggers 277 wird an das UND-Glied 281 angelegt.
welches auch den niedrigen Ausgang des Triggers 283 und ein nichtgültiges Steuereinheitenkommandosignal empfängt. Der Trigger 283 wird durch das A-Phasensignal getaktet und sein hoher Ausgang wird zum UND-Glied 279 weitergeleitet, dessen Ausgang mit dem Dateneingang des Triggers 284 verbunden ist. Das UND-Glied 279 empfängt ajch nichts von Schleife 1 und der Trigger 277 ist mit dem Ausgang des Inverters 294 verbunden, der das A-Phasensignal empfängt. Der Trigger 277 ist der erste Trigger des Taktgebers der Übertragungssteuereinheit und sein hoher Ausgang bereitet den Trigger 283 zur Einschaltung über das ODER-Glied 278 vor. Der niedrige Ausgang des Triggers 277 wird an das UND-Glied 281 angelegt, welches auch den niedrigen Ausgang des Triggers 283 und ein nichtgültiges Steuereinheitenkommandosignal empfängt. Der Trigger 283 wird durch das A-Phasensignal getaktet und sein hoher Ausgang wird an das UND-Glied 279 geleitet,das mit seinem Ausgang an den Dateneingang des Triggers 284 angeschlossen ist. Das UND-Glied 279 empfängt auch Signale »Nicht Schleife 1« und »Nichi Schleife 2« von den Verriegelungen 289 bzw. 292. Nachdem der Trigger 283 also getaktet wurde, wird der Trigger 284 durch das nächste A-Phasensignal eingeschaltet. Der hohe Ausgang des Triggers 284 wird zur Vorbereitung des Triggers 285 über das UND-Glied 280 und das ODER-Glied 282 benutzt. Das UND-Glied 280 hat auch einen Eingang vom hohen Ausgang des Triggers 277. Wenn d'e Trigger 277 und 284 eingetaktet sind, wird somit der Trigger 285 mit dem nächsten A-Phasenimpuls getaktet.
Das UND Glied 308 der Übertragungseinheitentaktgeberdecodierlogik 295 in Fig. 12a erzeugt das Signal ABT. SDR N aus dem E/A-Instruktionssignal, das A-Phasensignal und das T3-Verriegelungssignal. Das Signal ABT. SJR H wird vom UND-Glied 307 abgenommen, welches die hohe Ausgabe des Triggers 277, das A-Phasensignal, die niedrige Ausgabe des Triggers 283, das E/A-Instruktionssignal und die niedrige Ausgabe der CIX-Verriegelung 293 empfängt. Die Verriegelung 293, die ein Teil des Übertragungseinheitentaktgebers ist, wird erst verriegelt, wenn die Verriegelung 289 geschaltet wird und somit ist das UND-Glied 307 vorbereitet zum Leiten des Signals ABT. SDR H zur Phasenzeit A, wenn der Trigger 277 eingeschaltet ist. Das Signal ABT. LSR DAT. wird vom UND-Glied 306 abgenommen, das das Phasensignal A. die niedrige Ausgabe der Verriegelung 293, das E/A-Instruktionssignal, die hohe Ausgabe des Triggers 283, die hohe Ausgabe des Triggers 277 und die niedrige Ausgabe des Triggers 2S4 empfängt. Somit wird das Signal ABT. LSR DAT. zur Phasenzeit A erzeugt, wenn die Trigger 277 und 283 eingetaktet und die Verriegelung 293 verriegelt sind.
Während der Zeit, in der das hohe Byte vom Speicherdatenregister (SDR) 25 auf der Systemausgangssammelleitung 120 liegt, erzeugt die Decodierlogik 309 für die Bits 8 -15 ein Taktsignal SYSTEM L TG. AUS Bits 12—15, das an einen Takteingang der Polaritätsschaltung 312 zum Speichern der Bits 12—15 angelegt wird Die Decodierschaltung 309 liefert dann ein Signal TAKT SYSTEM LTG. AUS Bits 8-11, das an einen Takteingang der Polaritätsschaltung 311 angelegt wird, um die Bits 8-11 von der Systemausgangssammelleitung 120 zuspeichem. Das Signal TAKT SYSTEMLTG. ΛΙ/SBits 8-11 wird während der Zeit erzeugt, in der Daten von den gewählten LSR's 200 auf SYSTEMLTG. AUS \xgen.Oie Polaritätsschaltung 311
enthält somit die Einheitenadreßdaten und die Polaritätsschaltung 312 die Modifizierdaten. Die in den Polaritätsschaltungen 311 und 312 festgehaltenen Daten werden dem E/A-Anschluß über das UND-Glied 316 und das ODER-Glied 317 und über ÜBERTR DAT. LTG. AUS319 zugeführt. Die Polaritätsschaltung 311 und 312 und das UND-Glied 316 sind zwar als einzelne Elemente dargestellt, in Wirklichkeit ist jedoch für jedes Datenbit ein Element vorhanden. Das UND-Glied 316 wird vorbereitet durch ein Signal SEL DAT. P, das durch die Decodierlogik 309 erzeugt wird.
Ein Steuersignal wird durch die Datenüberiragungssteuereinheit erzeugt das an die E/A-Anschlußeinheiten gesendet wird, um feststellen zu .'assen, weiche E/A-Anschlußeinheit adressiert wird. Dieses Steuersignal STEUERUNG AUS ist vom ODER-Glied 300 der Taktdecodierlogik 295 in Fig. 12a. Das ODER-Glied 300 wird durch die Ausgabe des UND-Gliedes 299 und ein — ßL-Signal gespeist Das UND-Glied 299 empfängt die Ausgabe des UND-Gliedes 297, die niedrige Ausgabe der Verriegelung 292, die hohe Ausgabe des Triggers 284 und die niedrige Ausgabe der Verriegelung 293 in Fig. 11. Das UND-Glied 297 wird durch die Ausgabe des Inverters 296 gespeist, der ein Signal + ÜBERTR. INSTRUKTION und ein Signal + E/A KOMMANDO empfängt. Das Signal STG. AUS wird an die E/A-Anschlüsse gesendet, um ihnen zu signalisieren, daß sie gleichzeitig KOMMANDO LTG. AUS244 nach dem Kommando und ÜBERTR. DAT. LTG. AUS 319 nach der Adresse abfragen sollen. Ein Impuls + ABT. wird durch die Übertragungseinheit 250 an die E/A-Anschlußeinheiten als Taktsignal gesendet. Der Impuls +ABT. kommt vom UND-Glied 298, das die hohe Ausgabe des Triggers 285, die Ausgabe des UND-Gliedes 297 und die hohe Ausgabe des Triggers 284 empfängt. Der Impuls +ABT. ermöglicht den E/A-Anschlußeinheiten die Bestimmung der Zeitdauer, in der das Signal STG AUS vorhanden war und gestattet den E/A-Anschlußeinheiten Intervallzeitbedingungen festzusetzen. Eine E/A-Anschlußeinheit in F i g. 15 enthält Register und die Decodierschaltung 401, die die Bits 0-2 KOMMANDO LTG. AUS auf der Sammelleitung 244 und die Bits 0-7 +Parität ÜBERTR. DAT. LTG. AUS auf der Sammelleitung 319 empfängt. Register und Decodierer 401 empfangen auch das Signal +STG AUS und +ABT. Der Decodierteil von 401 decodiert die Adresse auf 319 und den E/A-Befehl auf 244. Andere Leitungen kommen vom Decodierer 401, mit denen die UND-Glieder 418 und 419 geleitet werden, die das ODER-Glied 4.21 speisen, welches wiederum Leitung 363 versorgt. Register und Decodierer 401 haben auch Steuerleitungen (lesen, schreiben, drucken), die die Sammelleitung 420 zum angeschlossenen E/A-Gerät bilden.
Mit einer Ausgabe vom Register und Decodierer 401 wird der Zähler 402 vorgeschaltet für jeden Impuls + ABT. von der Übertragungssteuäreinheit 250 an die E/A-Anschlußeinheiten während STG. AUS. Wenn der E/A-Befehl von der E/A-Anschlußeinheit die Ausführung einer Funktion oder die Lieferung eines Datenbyte an die CPU verlangt, übernimmt die E/A-Anschlußeinheit eine Funktion oder stellt das Datenbyte zur Übertragung an die CPU zu dem Zeitpunkt bereit, an dem der Zähler 402 einen vorbestimmten Wert e rreicht. Wenn der E/A-Befehl der E/A-Anschlußeinheit dem Empfang eines Datenbyte von der CPU vorschreibt, stellt die E/A-Anschlußeinheit die notwendigen Bedingungen zum Empfang des Datenbyte ein, bevor Zähler 402 einen vorgegebenen Wert erreicht Wenn der Zähler 402 den vorgegebenen Wert erreicht wird in jedem Fall die Verriegelung 403 verriegelt und der niedrige Ausgang liefert ein Signal -SfRV. EIN an die ■-> Übertragungssteuereinheit 250.
E/A-Befehle für mehrere Geräte werden durch die Decodiereinheit 404 erkannt Der Decodierer 404 setzt unter den richtigen Bedingungen die Verriegelungen 405 so, daß ein Signal MEHRE EINH. ANTW. erzeugt
to wird, wenn die Verriegelung 403 das Signal -SERV. EIN an das UND-Glied 406 liefert Das Signal MEHRE ElNH. ANTW. wird an die Übertragungsteuereinheit 250 geliefert, die auf dieses Signal durch Erzeugung des Signals SER V. A US reagiert, welches vom ODER-Glied 302 der Taktdecodierschaltung 295 in Fig. 12a abgenommen wird. Das ODER-Glied 302 wird durch das Signa! -BL und die Ausgabe des UND-Gliedes 301 gespeist, das die hohe Ausgabe des Triggers 284, die niedrige Ausgabe der Verriegelung 289 und die hohe Ausgabe der Verriegelung 293 in F i g. 11 empfängt
Das Signal SER V. A US wird durch die E/A-Anschlußeinheit als weiteres Synchronisationssignal oder zur EntSynchronisation benutzt. Wenn das E/A-Kommando die Übertragung eines Datenbyte von der CPU an die
r> E/A- Anschluß einheit verlangt, wird es zur Anzeige dafür benutzt daß das Datenbyte auf der Leitung DBO 319 zur Verfügung steht zur Taktierung des Datenbyte in einem Puffer 411. Außerdem wird es dazu benutzt der E/A-Anschlußeinheit das Abwerfen des Signals SERV.
M) EIN zu ermöglichen. Das Signal SER V. A US wird somit an das UND-Glied 407 und 408 und an die Decodierlogikschaltung 409 in F i g. 15 angelegt. Das UND-Glied 407 empfängt auch das Signal + STGAUS, wodurch bei gleichzeitigem Vorhandensein von +SERV. AUS aas UND-Glied 407 den Zähler 402, die Verriegelungen 403 und 405 und einen Zähler 410 zurückstellt. Das UND-Glied 408 empfängt das Signal + ABT^ wodurch die Ausgabe des UND-Gliedes 408 während +SERV. AUS dazu benutzt wird, den Zähler 410 vorzuschalten und den Zähler 402 zurückzustellen. Der Zähler 410 liefert die notwendige Zeit zur EntSynchronisation und bei Erreichen eines vorbestimmten Wertes stellt er die Verriegelung 403 zurück, um -SERV. EIN fallen zu lassen und er stellt die Verriegelung 405 zurück, um das Signal +MEHRE EINH. ANTW. fallen zu lassen.
Der Decodierer 409 empfängt die Bits 0-2 von der Kommandoausgangssammelleitung auf der Sammelleitung 244 und das Signal +ABT, so daß bei einem
so E/A-Befehl zur Übertragung eines Datenbyte von der CPU an die E/A-Anschlußeinheit das auf Leitung 319 gesetzte Datenbyte in den Datenpuffer 411 unter Steuerung der Decodierung 409 eingegeben wird, die das Taktsignal zum Datenpuffer 411 liefert. Das Datenbyte im Puffer 411 steht dann auf der Sammelleitung 416 für das an den E/A-Anschluß angeschlossene E/A-Gerät zur Verfügung.
Wenn der E/A-Befehl die Übertragung eines Datenbyte vom E/A-Gerät an die CPU verlangt wird das Datenbyte in den Puffer 413 eingegeben und über das UND-Glied 419 und das ODER-Glied 420 weitergeleitet an Leitung 363. Zustandsdaten können ebenfalls an die CPU über das UND-Glied 418 und das ODER-Glied 420 geleitet werden auf Leitung 363.
br) Während der Ausführung der E/A-Instruktion schaltet der Steuereinheitentaktgeber weiter vom Zustand COO, welches der Rückstellzustand ist, auf C09 und von C09 auf C03 und von C03 auf C07, F i g. 23. Das Signal
+ STG. A US schaltet einen hohen Pegel zu Anfang der Zeit C 07 ein und der Steuereinheitentaktgeber bleibt in einer Schleife durch Wiederholung von C07, COF, COE und C 06. während +STG. AUS erzeugt wird und wartet auf den Ablauf eines von drei Vorgängen. Entweder reagiert die E/A-Anschlußeinheit auf + STG. A US durch Betätigen von -SER V. EIN oder bei einem Befehl für mehrere Einheiten durch Betätigen von -SER V. EIN und einschließend eine Antwort von mehreren Einheiten oder es tritt eine Zeitsperrbedingung ein. Ein Zeitsperrzähler 320 in Fig. 14 legt die Zeitsperrdauer fest, die sich entsprechend der adressierten E/A-Einheit ändern kann.
In diesem Beispiel gibt es zwei verschiedene Zeitsperren, und zwar eine erste Zeitsperre und eine erweiterte Zeitsperre. Die erweiterte Zeitsperre wird durch eine E/A-Instruktion gewählt, die in der Übertragungssteuereinheit eine Verriegelung für die erweitere Zeitsperre einschaltet. Diese erweiterte Zeitsperrenverriegelung ist ein Teil der Phasenhaltefunktionsdecodierschaltungen 332 Die erweiterte Zeiisperre wird gewählt durch die CBO-Bits 0—2, die SBO-Bits 12-15 und durch die Taktsignale einschließlich ABT. SDR H. ABT. LSR DAT. und durch das Steuereinheitentaktsignal + COF. Der Zeitsperrenzähler 320 wird durch das Signal + TAKTZEIT AUS vom Decodierer 309 in F i g. 12a vorgeschaltet, welches entweder zur Zeit C06 oder zur Zeit C16 des Steuereinheitentaktgebers auftritt. Das Signal + TAKTZEIT A US wird an den Trigger 321 angelegt und dessen j(l hohe Ausgabe in das UND-Glied 324 geieitet. Die niedrige Ausgabe des Triggers 321 wird an seinem Dateneingang und an den Takteingang des Triggers 322 angelegt, dessen hoher Ausgang mit dem UND-Glied 324 verbunden ist. Die niedrige Ausgabe des Triggers 322 wird an seinen Dateneingang und an den Takteingang des Triggers 323 angelegt Die hohe Ausgabe des Triggers 323 wird dem UND-Glied 324 zugeführt, die niedrige wird dem Dateneingang zugeführt. Die Ausgabe des UND-Gliedes 324 zeigt die erste Zeitdauer an und wird dem UND-Glied 326 zugeführt, das durch die Ausgabe des Inverters 325 vorbereitet ist. Der Inverter 325 empfängt das erweitere Zeitsperrsignal von den Phasenhalte-Decodier- und Funktionsverriegelungen 332. Wenn also das erweiterte Zeitsperrsignal fehlt, bereitet der Inverter 325 das UND-Glied 326 zum Leiten des Signals vom UND-Glied 324 an das ODER-Glied 328 vor, von wo das Signal +ZEIT AUS abgenommen wird. Wenn die Phasenhaltedecodier- und Funktionsverriegelungen 332 das Signal -ERW. ZEIT AUS liefern, wird das UND-Glied 327 vorbereitet zur Weiterleitung der hohen Ausgabe des Triggers 331 als Signal +ZEIT A US über das ODER-Glied 328. Die Ausgabe des UND-Gliedes 324 ist auch mit den's Takttrigger 329 verbunden, um die erweiterte Zeitsperre zu starten. Die niedrige Ausgabe des Triggers 329 ist mit dem Takttrigger 330 und dessen niedriger Ausgabe mit dem Takttrigger 331 verbunden.
Das Signal +ZEIT AUS wird an die UND-Glieder wi 336 und 341 der Übertragungseinheitenprüflogik in Fig. 13 angelegt. Das UND-Glied 336 wird durch ein Signal +COFund das UND-Glied 341 durch ein Signal + C16 beide vom Übertragungseinheitentaktgeber vorbereitet. Die Ausgabe des UND-Gliedes 336 schaltet e> > eine Schaltung 337 für eine ungültige Einheit, dessen Ausgang das UND-Glied 338 und die ODER-Glieder 344 und 350 speist. Das UND-Glied 338 wird vorbereitet durch ein Signal +SEL KANAL PRÜF und seine Ausgabe ist PRÜF BITl, das am Bit 9 der SKSTEM-Leitung 121 angelegt wird. Die Ausgabe des ODER-Gliedes 344 ist ein Signal -BL, das an das ODER-Glied 286 des Übertragungseinheiteiitaktgebers in Fig. 11 angelegt wird. Die Ausgabe des ODER-Gliedes 350 ist ein Signal + UBERTR. PRÜF.
Der Ausgang des UND-Gliedes 341 ist so verbunden, daß die Zeitsperrenverriegelung 342 eingeschaltet wird, deren Ausgabe das UND-Glied 343 und das ODER-Glied 344 speist Die Zeitsperrenverriegelung 342 erzeugt somit ein Signal — BL vom ODER-Glied 344. Das UND-Glied 343 wird vorbereitet durch das Sipnal + SEL KANAL PRÜF, und seine Ausgabe ist das Prüfbit 3, das angelegt wird an Bit 11 SYST. LTG. EIN.
Das - ßL-Signal wird auch an das ODER-Glied 287 der Übertragungseinheitentaktgeber in F i g. 11 angelegt und die Ausgaben der ODER-Glieder 286 und 287 werden in das UND-Glied 288 eingespeist das auch ein A-Phasensignal und ein Signal C06 empfängt. Das Signa) C06 kommt vom UND-Glied 303 der Taktdecodierlogik 295 in Fi g. 12a. Die Ausgabe des UND-Gliedes 288 wird an den Einschalteingang für die Austrittsverriegelung der ersten Schleife 289 in F i g. 11 angelegt. Der Einschaltausgang der Verriegelung 289 ist mit dem Einschalteingang der Cl X-Verriegelung 293 verbunden. Der Rückstellausgang der Verriegelung 289 ist als Eingang für die UND-Glieder 276 und 279 geschaltet, die die Dateneingabe der Trigger 277 bzw. 284 steuern. Bei Auftreten der Zeitsperrbedingung verläßt somit der Übertragungseinheitentaktgeber die Schleife 1. Er läuft dann weiter zur Zeit C02 und in die Zeit COO oder in den Rückstellzustand. Wenn die E/A-Anschlußeinheit auf einen Befehl für mehrere Geräte reagiert, betätigt sie -SERV. EIN und hebt dann die Antwort für mehrere Geräte an, nachdem sie mit ihrer zugeordneten Unterbrechungsantwort an ÜBERTR. DAT. LTG. EIN geantwortet hat. Die Verriegelungen 289 und 292 werden zurückgestellt, wenn das Signal + BAS. ÜBERTR. BES. abfällt.
Wenn die E/A-Anschlußeinheit das Signal -SERV. EIN vor dem Auftreten der Zeitsperre erzeugt, liefert das ODER-Glied 287 eine Eingabe an das UND-Glied 288, um die Austrittsverriegelung für die erste Schleife 289 einzuschalten. Das ODER-Glied 286 liefert auch ein Signal an das UND-Glied 288, wenn das Signal MEHRF. EINH. KOM. fehlt. Der Übertragungseinheitentaktgeber läuft dann weiter durch die Zeiten C12, ClO, C18, C19 und C13. Das Signal + ABT. vom UND-Glied 298 in Fig. 12a, das von der E/A-Anschlußeinheit zur Erzeugung von SERV. EIN benutzt wird, wird natürlich wiederholt erzeugt, während der Taktgeber der Übertragungseinheit die Schleife 1 durchläuft.
Die Übertragungseinheit erzeugt ein Signal -ADV. ZEIT, beginnend am Zeitpunkt C12. Das Signal -ADV. ZEIT wird von der Zeitvorlaufverriegelung 272 abgenommen, die unter Steuerung der UND-Glieder 270 und 271 ein- und durch ein Signal C18 und das Fehlen eines E/A-Instruktionssignals abgeschaltet wird. Das UND-Glied 270 empfängt ein A-Phasensignal, ein Signal -CiX, ein Signal - TRG1, ein Signal + TRG2 und ein Signal TRGA. Das UND-Glied 271 empfängt das A-Phasensignal, das Signal + ÜBERTR. INSTRUKTION und das Signal +TRG4. Das Signal -ADV. Z£/Tbeginnt also zur Zeit C12 und endet während der Zeit C18. Das Signal -ADV. ZEIT wird von der Übertragungseinheit an die in F i g. 3 gezeigte E/A ZYKL SPERR LOGIK 33 der CPU-Taktgeber und der
Speichertaktgeber 30 gesendet Die Logikschaltung 33 liefert ein Signal TAKT SYST. TGRS an die Systemtakttrigger und die Steuerlogik 35. Die Ausgaben von den Systemtakttriggern und der Steuerlogik 35 werden an die T-Zeitdecodierlogikschaitung 37 angelegt Die CPU- und die Speichertaktgeber 30 enthalten einen freilaufenden Oszillator 1, der Impulse an der Phasentaktgeber 32, die E/A-Zykluslogikschaltung 33 und die Speichertaktgeber 45 liefert Der Phasentaktgeber 32 erzeugt das A-Phasensignal und die Triggersignale + 77M, -TRA und TRB. Das Signal -TRA wird angelegt an die E/A ZYKL SPERR LOGIK 33 und an SPERR + /4DV. TAKT LOGIK34. Das Signal -TRA wird ebenfalls an das UND-Glied 46 angelegt zur Entwicklung des Signals SP FUNKTION. Das UND-Glied 46 wird vorbereitet durch ein Signal von der Speicherfunktionslogikschaltung 39, die auch pin Signal an den Speichertaktgeber 45 liefert
Die aus einer konventionellen Logikschaltung bestehende Steuer- und Taktschaltung 34 liefert die Signale ADV TAKT LAUF. SPERRTAKTund SETTRCan die SYSTEM TAKT TRIGGER und Steuerlogik 35 und außerdem das Signal SPERRETAKTan die Logikschaltung 36 zum Triggern von TT. Mit den Signalen ADV TAKT LAUF, SPERRE TAKT und SET TRC wird die Reihenfolgeschaltung der Takttrigger- und Steuerlogik 35 gesteuert
Der Phasentaklgeber 32 besteht aus A- und ß-Triggern, während die Trigger C, D, E und F zu den Systemtakttriggern 35 gehören. Die Stellungen der Trigger C D, E und F werden an die T-Zeitdecodierlogikschaltung 37 angelegt die mehrere T-Zeiten nach Darstellung liefert
Mit Ausnahme der Instruktionen, die nach der Ausführung einer bedingten oder unbedingten Verzweigungsinstruktion auftreten, werden alle Instruktionen beginnend mit der Zeit TO abgerufen. Die Instruktionsabrufzeit geht weiter bis zur Zeit T2 und die lnstruktionsausführungszeit beginnt mit der Zeit Γ3. Während der Ausführung einer E/A-Instruktion werden die Systemtakttrigger 35 in einem Zustand gehalten, durch den die T-Zeitdecodierlogikschaltung 37 dauernd ein Signal T3 liefert, bis ein Signal ADV ZEIT durch die Übertragungssteuereinheit erzeugt wird. Wenn die Übertragungssteuereinheit dieses Signal erzeugt schalten die Systemtakttrigger und die Steuerlogik 35 um, wodurch die T-Zeitdecodierlogik 37 sequentiell die Signale Γ4, Γ5 und T% liefert und dann weiter das Signal T6 liefert, bis die Schaltung 33 wieder ein Signal -4OVZ£/7"empfängt
Daten werden zwischen der ZE und der Übertragungseinheit während der Zeiten C12—C13 übertragen. Der Taktgeber der Übertragungseinheit läuft von der Zeit C13 aus in eine zweite Schleife, die die Zeiten C17, CXF, CXI und C16 umfaßt. Das Signal SERV. AL/Swird durch die Übertragungssteuereinheit erzeugt, wenn ihr Taktgeber durch die zweite Schleife läuft Das Signal SERV. AUS wird vom ODER-Glied 302 in Fig. 12a abgenommen, das durch das UND-Glied 301 gespeist wird. Das UND-Glied 301 empfängt ein Signal -SCHLEIFEX von der Verriegelung 289, das Signal + C XX von der Verriegelung 293 und die hohe Ausgabe des Triggers 284. Das Signal SERV. AUS wird an die E/A-Anschlußeinheit angelegt, wie vorher schon gezeigt wurde. Das Signal SERV. A LAS ist ein Synchronisationssignal für die E/A-Anschlußeinheiten, wenn Daten an diese von der CPU übertragen werden und es wirkt als Entsynchronisationssignal für die E/A-Anschlußein
heiten, wenn Daten von den Einheiten an die CPU übertragen werden.
Die E/A-AnschluSeinheit spricht entweder auf das Signal SERVICE A US zn durch Abschalten des Signals SERV. EIN oder es tritt eine Zeitsperre ein. Die Decodierung 309 liefert das Signal + TAKT ZEIT AUS zu jedem Zeitpunkt C16 der Schleife an den Takteingang des Triggers 321 des Zeitsperrenzählers 320 in F i g. 14. Der Zieitsperrenzähler 320 schaltet in der angegebenen Art weiter. Wenn die Zeitsperre auftritt wird das Signal - BL wie vorher beschrieben erzeugt und auch an die ODER-Glieder 300 und 302 in F i g. 12a angelegt um gleichzeitig die Signale STG AUS und SERV. AUS zu erzeugen. Diese Signale werden an das UND-Glied 407 der E/A-Anschlußeinheit in Fig. 15 angelegt um die Verriegelung 403 zurückzustellen und dadurch das Signal SERV. EIN fallen zu lassen. Dieses erzwungene Abwerfen des Signals SERV. EIN wird durch das UND-Glied 291 in Fig. 11 dazu benutzt, die Ausgangsverriegelung für die zweite Schleife 292 einzuschalten. Das UND-Glied 291 empfängt auch das Signal MEHRE EINH. ANTW^ das A-Phasensignal und das Signal C16. Das Signal C16 kommt vom UND-Glied 304 der Übertragungseinheiten-Taktgeberdecodierlogik 295 in F i g. 12a. Die Einschaltausgabe der Verriegelung 292 wird an den Rückstelleingang der Verriegelung 293 in F i g. 11 angelegt Die Rückstellausgabe des· Verriegelung 292 wird an die UND-Glieder 276 und 279 angelegt die die Dateneingabe zu den Triggern 277 bzw. 284 steuern.
Wenn das Signal -SERV. EIN durch die E/A-Anschlußeinheit abgeschaltet wird, bevor die Zeitsperre auftritt wird die Schleife 2 verlassen und der Taktgeber der Übertragungseinheit schaltet von C16 zur Zeit C02 und läuft dann weiter zum Zustand COO. Während der Zeit C02 prüft die Übertragungssteuereinheit ÜBERTR. DAT LTG EIN 363, SERV. EIN und KOMMANDO LTG EIN 245 darauf, ob die entsprechenden Leitungen abgeschalte! wurden. Das Signal C02 wird an das UND-Glied 345 in Fig. 13 angelegt, welches Eingänge empfängt die DBI oder CBI NICHT 0 anzeigen. Die Ausgabe des UND-Gliedes 345 wird an den Einschalteingang der Verriegelung 346 angelegt. Die Einschaltausgabe der Verriegelung 346 speist das ODER-Glied 344, das UND-Glied 347 und das ODER-Glied 350. Das Signal - BL wird vom ODER-Glied 344 wie vorher beschrieben abgenommen und ein Prüfbit-4-Signal wird vom UND-Glied 347 abgenommen. Das Prüfbit-4-SignaI wird an Bit 12 von SYSTEM LTG EINX2X angelegt Die Ausgabe des ODER-Gliedes 350 ist ein Signal + ÜBERTR. PRÜF.
Die Zeitvorschaltverriegelung 272, die zur Zeit C18 zurückgestellt wurde, wird während der Zeit C02 wieder eingeschaltet Das Signal - ADV ZEIT wird an Schaltung 33 in Fig.3 angelegt wodurch das Signal TAKT SYSTEM TRGS wieder erzeugt wird zum Vorschalten der Systemtaktgebertrigger und der Steuerlogik 35, so daß die T-Zeitdecodierlogik 37 Γ6 abschaltet und TO einschaltet Die T-Zeitdecodierlogik 37 schaltet auch das Signal Γ3-Γ6 ab, so daß das UND-Glied 63 in F i g. 5a nicht mehr vorbereitet ist und dadurch auch das Signal E/A INSTRUKTION abgeschaltet wird. Dadurch wird die Zeitvorschaltverriegelung 272 in Fig. 12b über das ODER-Glied 239 zurückgesetzt. Das Signal SERV. AUS wurde abgeschaltet und die Ausgangsverriegelung für die zweite Schleife 292 wurde verriegelt. Die Ausführung der E/A-Jnstruktion ist abgeschlossen. Die Übertragungs-
Steuereinheit tritt in den Rückstellzustand ein und erwartet die nächste E/A-Instruktion oder die Basis-Zykluszuordnungsoperation und die CPU ist in den Instruktionsabrufzyklus geschaltet zum Abrufen der nächstfolgenden Instruktion.
Wenn eine Basiszykluszuordnungsoparation vorliegt erzeugt die in F i g. 15 gezeigte E/A-Anschlußeinheit ein Signal + BAS ZYKL STEHLEN ANF. vom Decodierer 412. Dieses Signal erzeugt ein Signal/ BPC über das ODER-Glied 237 und das UND-Glied 238 in Fig. 12b. tu Das Blockprozessortaktgebersignal + BPC wird angelegt an die Schaltung 34 und TS an Schaltung 38. Die Schaltung 34 erzeugt ein Signal SPERR TAKT, durch das die Systemtaktgebertrigger und Steuerlogik 35 stoppt, nachdem ein Zyklus beendet ist; abhängig vom Auftreten des Blockprozessortaktsignals kann es jedoch notwendig sein, daß die Systemtakttrigger 35 einen weiteren Zyklus durchlaufen. Das Signal SPERR TAKT schaltet auch den T7-Trigger 36 ein.
Das Signal + Tl von den Triggern 36 wird an die Übertragungssteuereinheit gesendet, um ihr zu zeigen, daß die CPU zur Ausführung einer Zykluszuordnungsoperation bereit ist Das Signal + Tl wird an das UND-Glied 235 in Fig. 12b angelegt das auch das Signal +BAS ZYKL STEHL ANF. und ein -FD PPC- Blockprozessortaktsignal empfängt. Die nichtauswechselbare Magnetplatte sei das Einzelbetriebs-E/A-Gerät 460, dessen Priorität über jedes E/A-Gerät in der Basiszykluszuordnung geht Die Ausgabe des UND-Gliedes 235 schaltet die Basiszykluszuordnungsverriegelung 236 ein. Der Einschaltausgang der Verriegelung 236 wird über das ODER-Glied 239 an das UND-Gfied 268 angelegt um die Γ3-Verriegelung 269 zu verriegeln und dadurch den Taktgeber der Überlragungseinheit zu starten. J
Wenn der Taktgeber der Übertragungseinheit läuft wird das UND-Glied 240 zur Zeit C12 vorbereitet wenn die Basiszykluszuordnungsverriegelung 236 verriegelt ist Das UND-Glied 240 liefert eine Ausgabe für die Dateneingabe des Triggers 241, der durch das A-Phasensignal getaktet wird. Die Ausgabe des Triggers 241 ist ein Signal SPZYKL ANF, das an den Γβ-Trigger und die Logikschaltung 38 in Fig.3 angelegt wird. Das Signal + TS wird an die Speicherfunktionslogikschaltung 39 angelegt, die eine Ausgabe zum Starten der Speichertaktgeber 45 und eine Ausgabe an das UND-Glied 46 liefert zur Erzeugung eines Speicherfunktionssignals beim Auftreten eines - 77M-Signals vom Phasentaktgeber 32.
Das Basiszykluszuordnungsverriegelungssignal von der Verriegelung 236 wird auch an Verriegelungen 332 in Fig. 14 angelegt, die aufgrund dieses Signals das Signal + E/A KOMMANDO erzeugen, mit dessen Hilfe das UND-Glied 297 in Fig. 12a eine Eingibe zum UND-Glied 299 liefert zur Erzeugung des Signals 6TC AUS über das ODER-Glied 300. Die Ausgabe des UND-Gliedes 297 wird auch durch das UND-Glied 298 zur Erzeugung des Signals + /tÄTverwendet
Die in F i g. 15 gezeigte E/A-Anschlußeinheit benutzt die Signale +STGAUSund +Aßrgenausowiefürdie Ausführung einer E/A-Instruktion. Die E/A-Anschlußeinheit erzeugt entweder ein Signal -SERV. EIN oder es tritt eine Zeitsperre genauso auf wie bei der Ausführung einer E/A-Instruktion. Der Taktgeber der Übertragungseinheit arbeitet daher genauso wie bei der Ausführung einer E/A-Instruktion und das Signal + SERV. AUS wird über das UND-Glied 301 und das ODER-Glied 302 erzeugt. Die E/A-Anschlußeinheit muß auf das Signal SERV. AUS genauso reagieren wie bei der Ausführung einer E/A-Instruktion, und wenn sie nicht vor der Zeitsperre reagiert, wird die Verriegelung 403 über das UND-Glied 407 zurückgestellt und das Signal SERV. EIN fallen gelassen.
Der Trigger TS und die Logik 38 ermöglichen die Einstellung der notwendigen Adresse zum Abrufen oder Speichern von Daten aus dem Haupt- oder Steuerspeicher bzw. in diesen. Am Ende der Zykli'szuordnungsfolge wird das Blockprozessortaktsignal + ßfCabgeschaltet, wodurch der Trigger Tl und die Logik 36 zurückgestellt werden. Die Schaltung 34 startet auch die Systemtakttrigger und die Steuerlogik 35, wodurch die T-Zeitdecodierlogik 37 ein Signa! 7"0 zum Abrufen der nächsten Instruktion erzeugt
Die Datenübertragung von oder zur CPU während einer Zykluszuordnungsoperation wird eingeleitet durch das Speicherzyklusanforderungssignal +SP ZYKL ANF. Die Speicheradresse ist im Arbeitsspeicherregister für die Basiszykluszuordnung enthalten, das in diesem Speziellen Beispiel eines der LVL 5 LSR's 60 oder 61 in Fig.2 ist Das entsprechende Arbeitsspeicherregister wird durch die UND-Glieder 203, 207 und die ODER-Glieder 209,217,226 und 223 in Fig.6 gewählt Die Leitbedingung der UND-Glieder 203 und 207 wird zu diesem Zeitpunkt erfüllt, wodurch die LSR-Adreßbits 0 und 1 beide auf 1 stehen. Außerdem zu dieser Zeit die Leitbedingung des UND-Gliedes 208 erfüllt und daher liefert das ODER-Glied 209 eine Ausgabe, wodurch das LSR-Adreßbit 2 auf 1 steht Das LSR-Adreßbit 3 ist ebenfalls zu dieser Zeit 1, weil das Blockprozessortaktsignal -t-ßPCund das Signal Tl gleichzeitig am UND-Glied 242 anliegen. Keines der UND-Glieder 220 bis 225, die das ODER-Glied 226 speisen, ist zu dieser Zeit in seinen Leitbedingungen erfüllt und daher ist das LSR-Adreßbit 4 eine 0. Der Zustand des LSR-Adreßbit 5 hängt vom Zustand des Bit 3 des KOMLTG EIN CBl-Bh ab. Wenn das Bit 3 sine 1 ist, ist die Leitbedingung des UND-Gliedes 243 erfüllt wegen des gleichzeitigen Auftretens des Blockprozessortaktsignals + BPC und des Signals Tl und das LSR-Adreßbit 5 ist eine I. Wenn CBI 3 0 ist, ist das LSR-Adreßbit 0. Daraus geht hervor, daß LSR 60 oder 61 gewählt werden.
Die Adresse im gewählten LSR wird in das SAR 16 über die UND-Glieder 102 und 108 in Fig.4c übertragen. Das UND-Glied 102 wird durch die Inverter 113 und 114 und das UND-Glied 108 durch die Inverter 115 und 116 vorbereitet. Das UND-Glied 102 leitet die LSR-Bits 8-15, während das UND-Glied 108 die LSR-Bits 0—7 leitet. Diese Bits werden unter Steuerung eines Ladesignals für SAR- und X-Register vom UND-Glied 95 in das SAR 16 geladen. Das UND-Glied 95 empfängt zu dieser Zeit ein Signal vom ODER-Glied 94, das das Signal TS empfängt.
Wenn die Speicheradresse im SAR 16 steht, findet eine Speicheroperation statt. Die Art der Speicheroperation hängt von den Bits KOM LTG EIN ab. Diese Bits von der E/A-Anschlußeinheit speisen die Instruktionsund Funktionsdecodierlogik 50. Das Bit 1 gibt die Art der Speicheroperation an und ist eine 1, wenn eine Leseoperation stattfinden soll, sonst findet eine Schreiboperation statt. Das bit 4 gibt während einer Zykluszuordnungsoperation an, ob der betroffene Speicher der Steuerspeicher 10 oder der Hauptspeicher 11 ist. Das Bit 0 bestimmt, ob die Adresse im gewählten LSR erhöht werden muß. Wenn dieses Bit eine 1 ist, muß die Adresse erhöht werden. Das Bit 5 gibt an, ob ein
Datenübertragungsfehler vorliegt oder nicht.
In den Speicher vom E/A-Gerät zu übertragende Daten werden in den Datenpuffer 413 in der E/A-Anschlußeinheit in Fi g. 15 übertragen. Die Ausgabe des Datenpuffers 413 wird an das UND-Glied 414 angelegt, das durch die Einschaltausgabe der Verriegelung 403 vorbereitet ist. Die Ausgabe des UND-Gliedes 414 bildet ÜBERTR DAT EIN LTG. Dieses speist die Polaritätshalteschaltungen 311 und 312 in F i g. 9, die zu dieser Zeit getaktet werden durch das Signal + TAKT ÜBLTG EIN. Die Ausgaben der Poalritätshalter 311 und 312 werden an das UND-Glied 316 angelegt, das die Daten über das ODER-Glied 317 zur SYSTEM LTG EIN 121 leitet. Das ODER-Glied 317 enthält Durchschaltblöcke, die verbunden sind mit Leitung 121, die die UND-Glieder !04 und 110 des niedrigen Speichertores 101 bzw. des hohen Speichertores 107 speist. Das UND-Glied 104 wird zu dieser Zeit durch die Ausgabe des ODER-Gliedes 138 in F i g. 4b vorbereitet.
Das ODER-Glied 138 wird nicht nur durch den Ausgang des ODER-Gliedes 92 gespeist, sondern hat auch Eingänge von den UND-Gliedern 129 und 135. Das UND-Glied 129 wird durch das UND-Glied 127 und den Inverter 128 gespeist. Das UND-Glied 127 empfängt ein Signal T9 über den Inverter 126, ein Blockprozessortaktsigna] + PßCund ein Signal + Tl. Der Inverter 128 empfängt ein Signal CBI Bit 1. Da das Signal T8 nur für 200 Nanosekunden vorhanden ist, d.h. für die Zeit, während der die Adresse in das SAR 16 getaktet wurde, bereitet der Inverter 126 das UND-Glied 127 vor. Da das Blockprozessortaktsignal +BPC und das Signal + Tl vorhanden sind, leitet somit das UND-Glied 127 ein Signal an das UND-Glied 129. Das CßABit 1 ist zu dieser Zeit eine 0 und somit liefert das UND-Glied 129 eine Ausgabe an das ODER-Glied 138 zur Vorbereitung des UND-Gliedes 104. Das UND-Glied 104 leitet die Bits auf Leitung 120 zum Speicher. Wenn KOMMAN DO LTG EIN Bit 1 eine 0 ist und wenn CBI Bit 4 eine 0 ist werden die Daten in den Hauptspeicher 11 eingegeben. Wenn KOMMANDO LTG EIN-Bh 1 eine 0 und KOMMANDO LTG EIN-Bh 4 eine 1 ist, werden die Daten in den Stcuerspeicher 10 gegeben. Unter diesen Bedingungen liefert das UND-Glied 135 eine Ausgabe an das ODER-Glied 138 zur Vorbereitung des UND-Gliedes 104. Das KOMMANDO LTG EIN-Bh 0 ist 0, wodurch der Inverter 133 das UND-Glied 135 vorbereitet das auch eine Eingabe vom UND-Glied 131 empfängt welches durch die Ausgabe des UND-Gliedes 127 gespeist wird, dessen Leitbedingungen, wie oben erwähnt zu dieser Zeit erfüllt sind. Das UND-Glied 131 empfängt auch das CJ3/-Bit 1.
Wenn Daten zum Steuerspeicher 10 übertragen werden, wird das hohe Datenbyte zuerst vom E/A-Gerät übertragen. Das hohe Datenbyte wird über Leitung 121 an das UND-Glied 110 in F ig.4c angelegt Das UND-Glied 110 wird durch das Signal SP H SEL 0 und durch die Ausgabe des Inverters 115 vorbereitet der das Signal SP TOR H SEL1 empfängt Das Signal SP TOR H SEL 0 wird über das ODER-Glied 130 vom "UND-Glied 129 empfangen, welches aktiv ist wenn das Cß/-Bit 1 fehlt und die Eingänge zum UND-Güed 127 erfüllt sind, so daß Daten in den Hauptspeicher 11 geschrieben werden können. Wenn in den Hauptspeicher 11 geschrieben wird, muß jedoch das UND-Glied 137 vorbereitet sein zur Lieferung des Signals SCHR SP N. Das UND-GBed 137 ist zu dieser Zeit nicht vorbereitet weil das UND-Gfied 134 vorbereitet ist und somit ein Signal an den Inverter 136 zum Abschalten des
UND-Gliedes 137 liefert. Das Signal SP TORHSEL 1, das an den Inverter 115 angelegt wird, wird über das ODER-Glied 132 vom UND-Glied 131 abgenommen. Das UND-Glied 131 ist zu dieser Zeit nicht vorbereitet, da das CÖ/-BU 1 eine 0 ist und somit liefert der Inverter 115 eine Ausgabe zur Vorbereitung des UND-Gliedes 110.
Das niedrige Byte wird dann über das UN D-Glied 104 ähnlich in den Steuerspeicher eingegeben wie das Datenbyte in den Hauptspeicher 11. Unter diesen Umständen wird das UND-Glied 137 vorbereitet zur Abgabe eines Signals SCHR SP N. In diesem Fall wird unter Steuerung des UND-Gliedes 142 in den Steuerspeicher geschrieben, welches das Blockprozessortaktsignal + BPC, das Signal + Tl und das Signal CBI-Bh 4 empfängt. Das UND-Glied 142 speist das ODER-Glied 143 in Fig. 5a zur Wahl des Steuerspeichers. Die Signale SCHR SP Hund SCHR SPNwerden durch die ODER-Glieder 140 bzw. 141 an die Speicheradreßdecodierlogik 17 geleitet.
Während einer Zykluszuordnungsoperation können Daten auch vom Steuer- oder Hauptspeicher an das E/A-Gerät übertragen werden. In diesem Fall wird die Adresse für die Stelle, von der die Daten zu holen sind, in das SAR 16 vom gewählten LSR 200 eingegeben. Das LSR 200 wird genauso gewählt wie oben beschrieben. Wenn die Daten vom Steuerspeicher geholt werden, dann werden zwei Datenbytes in das SDR 25 eingegeben. Wenn Daten vom Hauptspeicher 11 geholt werden, wird ein Datenbyte in das SDR 25 gegeben. Die Daten im SDR 25 werden dann byteweise auf die Leitung 120 über die Speichertore 101 und 107 übertragen. Wenn das niedrige Datenbyte MSDR 25 an das E/A-Gerät gesendet werden soll, wird es über das UND-Glied 103 und das ODER-Glied 106 übertragen auf die Leitung 120. Das UND-Glied 103 wird durch das Signal SP TOR N SEL 1 und die Ausgabe des Inverters 113 vorbereitet, der das Signal SP TOR N SEL 0 empfängt. Das Signal SP TOR N SEL 1 ist über das ODER-Glied 139 vom UND-Glied 131 vorhanden. Das UND-Glied 131 ist zu dieser Zeit aktiv, weil das CSABit 1 eine 1 ist und das UND-Glied 127 liefert eine Ausgabe. Das Signal SP TOR N SEL 0 steht zu dieser Zeit nicht zur Verfügung, weil die UND-Glieder 129 und 135 nicht aktiv sind. Das UND-Glied 129 ist nicht aktiv, weil das CßZ-Bit 1 vorhanden ist und somit der Inverter 128 das UND-Glied 129 abschaltet Das UND-Glied 135 wird zu dieser Zeit abgeschaltet wenn die Daten im SDR 25 vom Hauptspeicher kamen, weil das CBI-Bh 4 eine 0 ist Wenn die Daten im SDR 25 vom Steuerspeicher 10 stammen, ist das UND-Glied 135 entweder aktiv oder inaktiv, abhängig vom Zustand des Cß/-Bit 0. Wenn eine Erhöhungsfunkiioii ausgeführt wird, äst das C3/-BU 0 eine 1 und der Inverter 133 schaltet das UND-Glied 135 ab. Somit bereitet der Inverter 113 dann das UND-Glied 103 vor. Wenn keine Erhöhungsfunktion ausgeführt wird, wird das niedrige Byte vom SDR 25 durch das UND-Glied 103 geleitet und nicht das hohe Datenbyte im SDR 25 über das UND-Glied 109 und das ODER-GBed 112 an das UND-Güed 105 weitergeleitet Bei der Datenübertragung vom Steuerspeicher 10 zum E/A-Gerät werden zwei aufeinanderfolgende Speicherzyklen genommen, wenn zwei Datenbytes an das E/A-Gerät zu übertragen sind. Die beiden aufeinanderfolgenden Zyklen werden genommen, obwohl bei der Adressierimg des Steuerspeichers zwei Datenbytes in das SDR 25 mit einem Speicherzugriff eingegeben werden, weil eine zusätzliche Logik für Taktzwecke
erforderlich wäre, wenn nur ein Speicherzugriff gemacht würde.
Die direkte E/A-Instruktion wird zur Datenübertragung von und zum Arbeitsspeicherregisier 200 in der CPU von und zu den E/A-Geräten benutzt. Wenn Daten von einem gewählten LSR an ein E/A-Gerät übertragen werden, ist die Instruktion eine direkte Ladeinstruktion, wogegen bei der Datenübertragung von dem E/A-Gerät zu einem gewählten LSR die Instruktion eine direkte Abfrageinstruktion genannt wird. Bei der Ausführung der direkten E/A-Ladeinstruktion ist das untere Byte der Instruktion im SDR-Register 25 enthalten und wird an die Übertragungssteuereinheit 250 in der oben beschriebenen Weise übertragen. Das untere Byte besteht aus den Bits 8—15. Die Bits 8 — 11 nennt man Funktionsbits, wobei das Bit 8 die betroffene Dalenart angibt, d. h., es gibt an, ob die Daten für Stcucrzwcckc oder für Informationszwecke dienen. Bit 9 gibt die Richtung der Datenübertragung an, d. h., es gibt an, ob es sich um eine Lade- oder eine Abfrageoperation handelt. Bit 10, das für eine E/A-Instruktion immer 0 ist, gibt an, ob die Operation intern oder extern der CPU verläuft. Bit 11 gibt an, ob die E/A-Instruktion ein Befehl für mehrere Geräte ist oder nicht. Bit 12 bezeichnet entweder das hohe oder das niedrige Byte des Arbeitsspeicherregisters (LSR), das durch die Bits 13-15 gewählt wurde.
Als zweites wird das hohe Datenbyte des SDR-Registers 25 übertragen. Das hohe Byte umfaßt die Bits 0 — 7, wobei die Bits 0-3 den OP-Code enthalten und die Bits 4-7 Modifizierbils sind. Die Modifizierbils 4-7 werden durch die Übertragungssteuereinheit 25 an die E/A-Anschlußeinheit gesendet, während STG A US und es ist der E/A-Anschlußeinheit überlassen, wozu sie die Modifizierbits benutzt. Nimmt man z. B. an. daß eine direkte E/A-Ladeinstruktion ausgeführt wird, so werden die LSR's 200 für eine Datenübertragung während der Zeiten TA und TS adressiert. Die LSR-Adreßbits 0. 1 und 2 sind durch die jeweilige Unterbrechungsstufe definiert. Die LSR-Adreßbits 3, 4 und 5 kommen von den Bits 13—15 der Instruktion und Bit 12 der Instruktion gibt an, welches Byte, d. h., das hohe oder das niedrige, im gewählten LSR, zu übertragen ist.
Das gewählte Byte wird durch die Speichertore 100 weitergeleitet auf Leitung 120. Das Datenbyte tritt in die Übertragungssteuereinheit 250 ein und wird insbesondere in die Polaritätsschaltung 311 und 312 in Fig.9 getaktet. Das Datenbyte wird dann von den Polaritätsschaltern 311 und 312 gelesen und auf Leitung 319 über das UND-Glied 316 und das ODER-Glied 317 übertragen. Die Daten werden dann in den Datenpuffer 411 in Fig. 15 während der SERV. AUS-ZeW unter Steticmn*7 des Impulses -f- ABT oet2kte! und stehe" somit der E/A-Anschlußeinheit und dem daran angeschlossenen E/A-Gerät zur Verfugung.
Wäre die Instruktion eine direkte E/A-Abfühlinstruktion gewesen, so würde man ein Datenbyte in den Datenpuffer 413 vom E/A-Gerät aus eingeben. Das E/A-Gerät steuert die Taktierung der Daten in den Puffer 413 hinein. Das Datenbyte im Puffer 413 wird über das UND-Glied 413 unter Steuerung des Signals -SERV. EIN auf Leitung 363 geleitet Diese führte die Information an die Polaritätsschaltungen 311 und 312 und die Daten -werden durch das Signal TAKT ÜBERTR. EIN dort gespeichert Die Daten werden dann über das UND-Glied 316 und das ODER-Glied 317 übertragen auf Leitung 121.
Leitung 121 überträgt das Datenbyte an das Speichertor 100 und speziell an die UND-Glieder 104 und 110 in Fig. 4c. Das UND-Glied 104 wird geleitet durch SP TOR NSELO und die Ausgabe des Inverters Π4, der das Signal SPTORNSELi empfängt. Das Signal SPTOR NSEL 0 kommt vom ODER-Glied 92 in Fig. 4a über das ODER-Glied 38 in Fig. 4b. Die UND-Glieder 88 und 89, die das ODER-Glied 92 speisen, werden zu dieser Zeit durch das Signal E/A IMM vorbereitet. Das steuernde Zeilsignal von diesen IU UND-Gliedern ist das Signal Γ5-Γ6. Welches der beiden UND-Glieder 88 oder 89 aktiv ist, hängt vom Zustand der Bits im Instruktionsregister 40 ab.
Das Signal SP TOR NSEL I wird vom ODER-Glied
86 abgenommen. Das das ODER-Glied 86 speisende UND-Glied 79 wird zu dieser Zeit durch das Signal E/A IMM vorbereitet. Das UND-Glied 79 wird ebenfalls vorbereitet durch das Zeitsignal 7"5- Γ6 und hat einen Eingang vom Inverter 79, der das Bit 9 vom Instrukttonsregister 40 empfängt. Da Bit 9 für eine direkte Abfrage-Instruktion eine 1 ist, wird das UND-Glied 79 durch den Inverter 75 gesperrt, wodurch das Signal SP TOR N SEL 1 auf 0 steht und der Inverter 114 somit das UND-Glied 104 vorbereitet. Das UND-Glied 110 ist zu dieser Zeit nicht vorbereitet, weil das Signal SP TOR H SEL 1 vom ODER-Glied 73 auf 0 steht, da das Signal E/A IMM nicht zur Vorbereitung eines der UND-Glieder 71 oder 72 benutzt wird.
Das Datenbyte läuft somit über das UND-Glied 104
und das ODER-Glied 106 zur Leitung 120, die es Toren
jo 160 in den F i g. 2 und 7a zuführt. Die Tore 160 bestehen aus dem niedrigen Tor 161 und dem hohen Tor 168. Das niedrige Tor 161 umfaßt das ODER-Glied 167,das durch die UND-Glieder 162-166 gespeist wird. Die Leitung 120 ist so geteilt, daß ihre Bits 8-15 an das UND-Glied
v, 163 und ihre Bits 0-7 an das UND-Glied 170 angelegt werden. Das UND-Glied 163 wird durch das Signal TOR H/N SEL 2 und die Ausgabe eines Inverters 157 vorbereitet, der durch das Signal TOR H/N SEL 1 gespeist wird. Das Signal TOR H/N SEL 1 kommt vom UND-Glied 174, das durch das UND-Glied 175 und durch ein Taktsignal T3—T4 gespeist wird. Das UND-Glied 175 ist mit den Bits 0, 1. 2 und 3 des Instruktionsregisters 40 verbunden. Das Signal TOR H/N SEL 2 wird vom ODER-Glied 176 abgenommen.
das durch die UND-Glieder 177 und 178 gespeist wird.
Das UND-Glied 177 wird durch das Signal E/A BOC vom UND-Glied 54 und ein Taktsignal Γ6 gespeist.
Somit ist das UND-Glied 177 zur Zeit TB nicht aktiv.
weil es sich bei der ausgeführten Instruktion um eine
se direkte E/A-Abfrageinstruktion handelt.
Das UND-Glied 178 wird durch das Signal E/A IMM vom UND-Glied 55 und durch das Taktsignal Γ3- TS gespeist. Somit ist das IJNP-GHpH 178 zu dieser Zeit aktiv und leitet ein Signal über das ODER-Glied 176 zur Vorbereitung des UND-Gliedes 163. Das UND-Glied 174 liefert zu dieser Zeh kein Signal TOR H/N SEL I. weil der Op-Code einer direkten E/A-Abfrageinstruktion 1011 lautet und somit die Leitbedingungen des UND-Gliedes 175 nicht erfüllt sind. Daher wird das UND-Glied 163 vorbereitet zur Übertragung des Datenbyte auf das gewählte LSR-Register 200.
Das Datenbyte wird entweder in den hohen oder niedrigen Teil des gewählten LSR geschrieben. Das Schreiben das Datenbyte in das gewählte LSR wird entweder durch das Signal SCHR LSR Noder durch das Signal SCHR LSR //gesteuert Wenn das Datenbyte in den hohen Teil des gewählten LSR einzugeben ist wird es von dem niedrigen Tor 161 an das hohe Tor 168 und
insbesondere an dessen UND-Glied 172 und von dort über das ODER-Glied 173 an das gewählte LSR übertragen.
Das UND-Glied 172 wird vorbereitet durch ein Signal TOR H/NSEL 0 über das ODER-Glied 155. Das Signal TOR H/NSELOkomml vom UND-Glied 179, das durch das Signal E/A IMM vom UND-Glied 55 und das Taktsignal T3- T5 vorbereitet ist. Die Signale SCHR LSR N und SCHR LSR H werden vom ODER-Glied 180 bzw. 181 abgenommen. Das ODER-Glied 180 wird über die UND-Glieder 182,183 und 184 gespeist.
Nur das UND-Glied 183 hat die Möglichkeit, zu dieser Zekt aktiv zu sein, weil das UN D-Glied 182 durch ein Signal E/A SP vom UND-Glied 59 und das UND-Glied 184 durch ein Seignal E/A BOC vom UND-Glied 54 vorbereitet werden. Das UND-Glied 183 wird vorbereitet durch ein Signal E/A IMM vom UND-Glied 55, welches anliegt, weil eine direkte E/A-lnstruklion ausgeführt wird. Das UND-Glied 183 empfängt auch das Taktsignal Γ5, ein Signal — TRA vom Inverter 185, Bit 9 vom Instruktionsregister 40 und nicht Bit 12 vom Inverter 186. Bit 9 einer direkten E/A-Abfrageinstruktion ist 1 und wenn das vom E/A-Gerät übertragene Datenbyte in den niedrigen Teil des gewählten LSR zu schreiben ist, ist Bit 12 eine 0. Die Leitbedingungen des UND-Gliedes 183 sind daher erfüllt und das Datenbyte wird in den niedrigen Teil des LSR geschrieben.
Das Signal SCHR LSR H wird vom ODER-Glied 81 abgenommen, das durch die UND-Glieder 182 und 87 gespeist wird. Das ODER-Signal 182 wäre zu dieser nicht aktiv, weil es durch ein Signal E/A SP vom UND-Glied 59 vorbereitet wird. Das UND-Glied 187 hat dieselben Eingänge wie das UND-Glied 183, empfängt jedoch Bit 12 vom Instruktionsregister 40 und nicht vom Inverter 186. Wenn also das Bit 12 eine 1 ist, wird ein übertragenes Datenbyte in den hohen Teil des gewählten LSR geschrieben. Obwohl ein Datenbyte an das UND-Glied 170 des hohen Tores 168 angelegt wird, wird dieser Weg nicht für eine direkte E/A-Abfrageinstruktion oder für eine andere Instruktion benutzt.
Die E/A-Speicherinstruktion wird zur Datenübertragung von und zum Haupt- oder Steuerspeicher von und zu einem E/A-Gerät verwendet Der Op-Code einer E/A-Speicherinstruktion ist 0100 und ist in den Bits 0-3 der Instruktion enthalten. Die Bits 4-7 der Instruktion sind Modifizierbits, die geräteabhängig sind. Diese Bits werden an das E/A-Gerät übertragen während STG AUS. Bit 8 ist 0. Bit 9 gibt die Richtung der Datenübertragung an. Wenn Bit 9 eine 0 ist, werden Daten vom Speicher gelesen und an das E/A-Gerät übertragen, wogegen sie vom E/A-Gerät übertragen und in den Speicher geschrieben werden, wenn das Bit S eine 1 ist Bit 10 gibt an, ob Haupt- oder Steuerspeicher von der Datenübertragungsoperation betroffen sind. Wenn das Bit 10 eine 0, ist der Hauptspeicher gewählt wenn das Bit 10 eine 1 ist, ist der Steuerspeicher gewählt Auch wenn Bit 4 geräteabhängig ist wird es zur Angabe benutzt, ob das hohe oder niedrige Byte des Steuerspeichers von der Datenübertragungsoperation betroffen ist Mit den Bits It wird die Fortschreibung der Speicheradresse auf den neuesten Stand gesteuert Die Speicheradresse wird entweder um 1 oder 0 erhöht oder erniedrigt Mit den Bits 13—15 wird eines der 8—16 Bit großen LSR's 200 als Adreßquelle für die Datenübertragung gewählt Die Adresse im gewählten LSR wird durch die Bits 11 und 12 auf den neuesten Stand gebracht und dann in dieses LSR zurückgeschrieben. Während der Ausführung einer E/A-Speicherinstruktion wird die Instruktion an die Übertragungssteuereinheit so ausgesendet, wie es oben für alle E/A-Instruktionen gezeigt wurde. Die Speicheradresse wird vom gewählten LSR zur Zeit TA gewonnen. Die LSR-Adreßbits 0, 1 und 2 werden durch die jeweilige Unterbrechungsebene bestimmt. Das LSR-Adreßbit 3 wird vom ODER-Glied 217 in F i g. 6 abgenommen über das UND-Glied 214, das das E/A-Speichersignal vom
ίο ODER-Glied 218 empfängt. Das LSR-Adreßbit 4 wird vom ODER-Glied 226 abgenommen, welches ein Signal vom UND-Glied 223 empfängt. Das UND-Glied 223 empfängt das E/A-Speichersignal über das ODER-Glied 218. Das LSR-Adreßbit wird vom ODER-Glied 233 abgenommen und es empfängt ein Signal vom UND-Glied 231, welches das Speichersignal über das ODER-Glied 218 empfängt.
Die Adresse vom gewählten LSR wird in das SAR 16 über die ODER-Glieder 106 und 112 in Fig.4c eingegeben, die durch die UND-Glieder 102 bzw. 108 gespeist werden. Das SAR 16 wird während der Zeit TA durch ein Signal vom UND-Glied 95 in F i g. 4a getaktet, das durch das ODER-Glied 94 gespeist wird, welches wiederum vom UND-Glied 93 versorgt wird. Das UND-Glied 93 empfängt das Taktsignal Γ4 und das E/A-Speichersignal. Die Adresse vom gewählten LSR wird gleichzeitig in das X-Register 195 eingegeben. Wenn die Adresse auf den neuesten Stand gebracht werden muß, wird sie vom X-Register 195 genommen.
Die Fortschreibung der Adresse auf den neuesten Stand wird später beschrieben.
Das E/A-Speichersignal vom UND-Glied 59 in Fig. 5a wird zur Erzeugung des Signals SP FUNK TION GEN vom UND-Glied 188 benutzt. Das UND-Glied 188 wird durch das Taktstignai 74 und das Signal - TRA vom Inverter 195 gespeist. Das Speicherfunktionen-Generierungssignal läuft in die Speichcrfunktionslogik 39, wodurch der Speichertaktgeber 45 gestartet wird und ein Speicherfunktionssignal durch das UND-Glied 46 geleitet wird.
Wenn die E/A-Speicherinstruktion eine Abfrageinstruktion ist, wird das Datenbyte vom E/A-Gerät an die CPU übertragen und zwar genauso, wie es für die direkte Abfrageinstruktion gezeigt wurde. In ähnlicher Weise wird das Datenbyte vom Speicher an das E/A-Gerät übertragen wie bei einer direkten E/A-Ladeinstruktion. Die Signale SCHR SP und SCHR SP N werden von den ODER-Gliedern 140 und 141 abgenommen, die ebenfalls für die Basiszykluszuordnungsoperation verwendet werden; diese ODER-Glieder werden jedoch auch durch die UND-Glieder 190 bzw. 191 gespeist die während der Ausführung der E'A-Spcichcrjnstroktion insofern aktiv sind, als sie das Signal E/A SP vom UND-Glied 59 empfangen. Das UND-Glied 190 empfängt auch Bit 4, Bit 9 und Bit 10 vom Instruktionsregister 40 und das Taktsignal TA- Γ6.
Das UND-Glied 191 hat dieselben Eingänge wie das UND-Glied 190, ausgenommen die Eingänge für Bit 4 und Bit 10. Statt dessen empfängt das UND-Glied 191 einen Eingang vom ODER-Glied 192, das selbst einen Eingang vom Inverter 60 hat der die Bit 10-Eingabe empfängt und auch vom Inverter 193 gespeist wird, der die Bit 4-Eingänge empfängt Der hohe Speicher wird somit beschrieben, wenn die Bits 4, 9 und 10 des Instruktionsregisters 40 Einsen sind. Ist das nicht der FaIL wird der niedrige Speicher beschrieben. Der Hauptspeicher 11 wird natürlich immer beschrieben mit
einem Signal SCHSPN.
Um in den Steuerspeicher IO zu schreiben, braucht man ein Steuerspeicheradressiersignal STSPZUGR vom ODER-Glied 143, das in diesem Fall ein Signal vom UND-Glied 189 braucht. Das UND-Glied 189 ist vorbereitet durch das Signal E/A SP vom UND-Glied 59 und es empfängt auch das Taktsignal T1 BIS Γ 6 und ein Bis 10-Signa! vom Instruktionsregister 40. Wenn Daten entweder vom Haupt- oder vom Steuerspeicher gelesen werden, fehlen die Signale SCHR SP N und SCHRSPH.
Die Speicheradresse im SAR 16 wird während der Zeit Γ6 erhöht oder heruntergesetzt. Wenn die Adresse vom gewühlten LSR in das SAR 16 eingegeben wurde, wurde sie auch in das X-Register 195 in Fig.4c \r, eingegeben. Die Ausgabe des X-Registers 195 wird an die ALU 197 über X REF-Sammelleitung 196 in F i g. 7a gegeben. Ob die Adresse erhöht wird oder heruntergesetzt wird, wird bestimmt durch die Bits 11 und 12 im Instruktionsregister 40, die durch die ALU-Steuerdecodierlogikschaltung 198 in F i g. 5a decodiert werden und deren Ausgabe an die Steuer-ALU 197 geleitet wird. Die erhöhte, erniedrigte oder durchgeschaltete Adresse wird dann das gewählte LSR über die Tore 161 und 168 in Fig. 7a zurückgeleitet. Insbesondere werden die 2~> UND-Glieder 162 und 169 vorbereitet, um die Bits 8-15 bzw. 0-7 über die ODER-Glieder 167 bzw. 173 auf den hohen und niedrigen Teil des gewählten LSR 200 zu leiten. Die Inverter 157 und 158 bereiten das UND-Glied 162 und die Inverter 151, 152 und 153 das UND-Glied 169 vor. Die Signale SCHR LSR N und SCHR LSR tf sind gleichzeitig von den ODER-Gliedern 180 und 181 in Fig.5a vorhanden, weil das UND-Glied 182 zu dieser Zeit aktiv ist. Das UND-Glied 182 empfängt das E/A-Speichersignal vom UND-Glied 59 und ein Taktsignal 76 sowie die Phase A vom CPU-Taktgeber 30.
Wenn ein Datenbyte von einem E/A-Gerät während der Ausführung einer E/A-Speicherinstruktion in den Speicher übertragen wird, steuert das E/A-Gerät das CBl-Bit 4 so, daß der Übertragungssteuereinheit angezeigt wird, ob eine Parität zu erzeugen ist oder ob die Parität mit dem Datenbyte übertragen wird. Wenn das CBI-Bit 4 eine Eins ist, muß die Parität durch die Übertragungssteuereinheit erzeugt werden und wenn Bit 4 eine 0 ist, wird die Parität mit dem Datenbyte übertragen. Das CBI-Bit 4 wird so verriegelt, daß es der CPU über längere Zeit zur Verfügung steht. Das UND-Glied 374 empfängt das CBI-Bit 4 und wird durch das Signal E/A BOC sowie das Taktsignal C12 so geschaltet, daß die Verriegelung 375 verriegelt wird. Die Verriegelung 375 liefert das Signal für die Verriegelung des CBI-Bit 4 und wird durch das Signal +BAS ÜBERTR. BES zurückgestellt. Das E/A-Gerät codiert das CBI-Bit 5 so, daß der Übertragungssteuereinheit angezeigt wird, daß ein Paritätsfehler während der Datenübertragung vom Speicher zur E/A-Anschlußeinheit aufgetreten ist Wenn das CBI-Bit 5 eine 1 ist, dann trat während der Datenübertragung ein Paritätsfehler auf. Die CBI-Bits 0—5 kommen von der Decodier- und Funktionslogik 415 in Fig. 15. Grundsätzlich bestimmt das E/A-Gerät den Zustand des CBI-Bit 4 und der Zustand des CBI-Bit 5 wird bestimmt durch die vom Puffer 411 kommenden Daten.
Das CBI-Bit 4 wird an das UND-Glied 360 und den Inverter 361 in Fig.9 angelegt Das UND-Glied 360 speist das ODER-Glied 364 und empfängt auch eine Eingabe von der Paritätsgeneratorschaltung 362, die zum Empfang von Daten von Leitung 121 geschaltet ist.
Die Paritätserzeugungsschaltung 362 kann entweder gerade oder ungerade Parität erzeugen und erzeugt eine gerade Parität unter Steuerung des Signals EV MOD in Fig. 14, das aus der Ausführung einer vorhergehenden E/A-Instruktion für die Übertragiingssteuercinheit 250 resultiert. Die Ausgabe der Paritätserzeugerschallung 362 speist auch die UND-Glieder 366 und 367 sowie die Antivalenzschaltung 313, die das Paritätsbit von der Polaritätsschaltung 312 mit dem erzeugten Paritätsbit vergleicht und ein Signal UN- GÜLT PAR entwickelt, wenn eine Diskrepanz auftritt.
Das UND-Glied 360 wird also durch das CBI-Bit 4 so vorbereitet, daß es das erzeugte Paritätsbit weiterleitet. Das UND-Glied 369 jedoch wird durch das Fehlen des CBI-Bit 4 über den Inverter 361 so vorbereitet, daß es das Paritätsbit von der Paritätsschaliung 312 weiterleitet. Die UND-Glieder 360 und 369 speisen das ODER-Glied 364, welches wiederum das UND-Glied 365 versorgt. Das UND-Glied 365 wird durch das Signal SEL DAT PUFFER vorbereitet, das, wie oben gesagt, auch das UND-.GIied 316 vorbereitet, um die Daten von den Polaritätsschaltungen 311 und 312 auf die Leitungen 321 oder 319 zu 'eiten. Das durch das UND-Glied 365 geleitete Paritätsbit wird an das ODER-Glied 368 angelegt, welches es zur Leitung 121 weiterleitet, wodurch ein Datenbyte mit Parität an die CPU geleitet wird. Das Paritätsbit für die Leitung 319 wird auch vom ODER-Glied 368 genommen.
Auch in zwei weiteren Fällen wird ein Paritätsbit vom ODER-Glied 368 genommen. Die Kanalregisterpolaritätshaltung 314 kann ein Datenbyte über das ODER-Glied 370 an die Leitung 121 leiten. Das Paritätsbit für dieses Datenbyte v. ird von der Paritätserzeugerschaltung 362 abgenommen und zum UND-Glied 366 geleitet, welches vorbereitet wird durch das Signal SEL KANAL REG. Dieses Signal bereitet auch das UND-Glied 370 vor. Das UND-Glied 366 speist dann das Paritätsbi» in die ODER-Schaitung 368 ein.
Die UND-Glieder 335,338,340,343,347,349,352 und 357 in Fig. 13 sind in Fi g. 9 durch das UND-Glied 371 dargestellt. Die Kanalprüfsignale von diesen UND-Gliedern werden dann über das ODER-Glied 317 an Leitung 121 und an die Paritätserzeugerschaltung 362 geleitet. Das erzeugte Paritätsbit wird an das UND-Glied 367 angelegt, welches durch das Signal SEL KANAL PRÜF geleitet wird. Das Paritätsbit wird dann durch das ODER-Glied 368 weitergeleitet an Leitung 121.
Das CBI-Bit 5 ist mit dem Einschalteingang der Paritätsprüfverriegelung 334 ÜBERTR DBO in F i g. 13 verbunden. Der Einschaltausgang der Verriegelung 434 wird an das UND-Glied 335 geführt, welches durch das Signal +SEL KANAL PRÜF geschähet wird. Das UND-Glied 335 liefert das Prüfbit 0 auf Leitung 121 Bit 8.
Die Leitung 363 wird auf Parität, wie oben erwähnt abgefragt durch die Paritätsprüfschaltung oder die Antivalenzschaltung 313 in Fig.9. Diese Schaltung erzeugt das Signal UNGÜLT. PAR, wenn eine ungültige Parität für die Daten auf der Leitung 363 vorliegt Dieses Signal wird als Dateneingang an den Trigger 339 in Fig. 13 angelegt Die Ausgabe des Triggers 339 wird in das UND-Glied 340 und das ODER-Glied 350 eingespeist Das UND-GDed 340 wird durch das Signal +SEL KANAL PRÜF geschaltet und liefert ein Signalprüfbit 2 an die Leitung 121 Bit 10. Die Paritätsprüfschaltung 313 prüft auch die Parität der
Daten auf Leitung 120. Das ungültige Paritatssignal von der Paritätsprüfschaltung 313 wird an den Dateneingang des Triggers 348 angelegt. Die Ausgabe des Triggers 348 wird in das UND-Glied 349 eingespeist, welches durch das Signal + SEL KANAL PRÜF geschaltet wird. Das UND-Glied 349 liefert ein Priifbit-5-SignaI an Leitung 121 Bit 13.
Eine Nicht-O-Prüfung DBI/CB1 wird am Ende aller E/A-Instruktionen zur Zeit C02 vorgenommen. Diese Prüfung erfolgt durch das UND-Glied 345 in Fig. 13. Das Signal DBUCBO NICHT 0, angelegt an das UND-Glied 345, kommt vom ODER-Glied 318 in Fig.9. Die Ausgabe des UND-Gliedes 345 speist den Einschalteingang der Verriegelung 346 und deren Ausgabe wird an die ODER-Glieder 344 und 350 sowie an das UND-Glied 347 angelegt. Das ODER-Glied 344 liefert das Signal - BL und das ODER-Glied 350 das Signal + ÜBERTR PRÜF. Das UNlD-Glied 347 wird durch das Signal +KANAL PRÜF geschaltet und liefert ein Prüfbit-4-Signal an Leitung Bit 12.
Die bedingte E/A-Verzweigunsinstruktion wird zum Leiten der Modifizierbits an das E/A-Gerät während STG AUS benutzt. Das E/A-Gerät benutzt die vier Modifizierbits zum Erkennen einer jeden von 16 Bedingungen im E/A-Gerät und codiert CBI-Bit-4 zur Mitteilung, ob die Verzweigungsbedingung erfüllt wurde. Der Op-Code der bedingten E/A-Verzweigungsinstruktion ist 0011. Die Modifizierbits sind die Bits 4-7 der bedingten E/A-Verzweigungsinstruktion. Die Bits 8-15 der bedingten E/A-Verzweigungsinstruktion werden zur Bildung der Verzweigungszieladresse benutzt und diese Bits sind mit dem hohen Byte vom Adreßregister im LSR für die laufende Unterbrechungsstufe verkettet, wenn das E/A-Gerät angibt, daß die Verzweigungsbedingung erfüllt ist.
Dk bedingte E/A-Verzweigungsinstruktion wird an die Übertragungssteuereinheit genauso gesendet, wie es oben für die Übertragung von E/A-Instruktionen an diese Einheit beschrieben wurde. Die Modifizierbits werden auf dieselbe Weise ausgesendet, wie es oben für die Ausführung von E/A-Instruktionen gezeigt wurde. Bit 4 der Leitung 245 wird während SERV. EIN in die CPU übertragen. Bit 4 der Leitung 245 wisd an das UND-Glied 184 in Fig.5b angelegt, welches durch das Signal E/A BOC vom UND-Glied 54 vorbereitet wird und ein Taktsignal Γ6 UND PHASEA vom Taktgeber 30 empfängt. Das UND-Glied 184 liefert ein Signal SCHR LSR N über das ODER-Glied 184. Die Adresse für das LSR muß das Adreßregister im LSR 200 wählen. Da das Signal E/A BOCdas UND-Glied 204 in Fig. 6 vorbereitet, leitet dieses zur Zeit Γ6 ein Signal über das ODER-Glied 205 und das ODER-Glied 209, um ein LSR-Adreßbit 2 zu erzwingen. Das UND-Glied 204 liefert auch ein Signal an den Inverter 206 über das ODER-Glied 205, wodurch das UND-Glied 207 gesperrt wird und das LSR-Adreßbit 1 auf 0 gezwungen wird. Das LSR-Bit 0 wird bestimmt durch die Unterbrechungsstufe und das Fehlen des Signals MASCHIN. PRÜF. Die LSR-Adreßbits 3, 4 und 5 werden durch die Unterbrechungsstufe bestimmt.
Die während der Ausführung der bedingten E/A-Verzweigungsinstruktion ausgeführten Prüfungen sind dieselben, wie die Prüfungen für die anderen E/A-Instruktionen mit Ausnahme der Paritätsprüfung für Leitung 363, weil dort während der Ausführung der bedingten E/A-Verzwcigungsinstruktion keine Daten stehen.
Während der Basiszykluszuordnungsoperation werden auch Prüfungen ausgeführt Wenn dabei eine Prüfung auftritt, wird ein Signal MASCHIN. PRÜF. erzeugt. Dieses Signal wird an den Takteingang des Triggers 351 in Fi g. 13 angelegt, dessen Dateneingabe zum Empfang eines Signals +ZYKL STEHLZEIT von der Sch iltung 332 in F i g. 14 geschaltet ist Die Ausgabe des Triggers 315 speist das UND-Glied 352, welches wiederum durch das Signal +SEL KANAL PRÜF geschaltet wird. Die Ausgabe des UND-Gliedes 352 ist
ίο ein Prüfbit 6-Signal, welches Bit 14 von Leitungen 121 speist.
Sobald die Übertragungssteuereinheitenadresse und die E/A-Geräteadresse an die Übertragungssteuereinheit 250 und andere nicht gezeigte Übertragungssteuereinheiten gesendet werden, wird wählend der Ausführung einer E/A-Instruktion mit einer Prüfung festgestellt, ob eine Steuereinheit ihre Adresse erkannt hat und wenn das nicht der Fall ist, wird eine Steuereinheiten-Ungültigkeitsverriegelung 356 in F i g. 13 geschaltet.
Die Prüfung erfolgt durch das UND-Glied 353. Wenn die Übertragungssteuereinheit 250 ihre Adresse erkennt, erzeugen -Schaltungen 332 ein Signal + ÜBERTR. INSTRUKTION. Dieses Signal wird durch den Inverter 354 invertiert and an das UND-Glied 353 angelegt. Das
Signal GÜLTC ÜBERTR. CMD ist nur vorhanden, wenn eine andere als die Steuereinheit 250 ihre Steuereinheitenadresse erkennt. Wenn also keine Übertragungssteuereinheit zur Zeit COF ihre Adresse erkennt, schaltet das UND-Glied 353 die Verriegelung 356 ein. Die Ausgabe dieser Verriegelung speist das UND-Glied 357, welches durch das Signal +SEL. KANAL PRÜF vom Decodierer 309 in Fig. 12a geschaltet wird. Die Ausgabe des UND-Gliedes 357 ist ein Prüfbit 7-Signal, welches Bit 15 von Leitung 121 speist.
Zusammenfassend soll noch das der Erfindung zugrunde liegende Prinzip erklärt werden.
Während der Ausführung eines Ein- und Ausgabebefehls wird ein Taktgeber 32 gesteuert, wodurch der Taktgeber der CPU in einem ersten bestimmten Zeitzustand stehenbleibt, während drei Datenbytes nacheinander an eine Übertragungssteuereinheit übertragen werden. Die adressierte Übertragungssteuereinheit bildet die Ein- und Ausgabeanschlußadreßinformation und die Befehlsinformation aus den drei übertragenen Bytes und überträgt diese Information gleichzeitig in das adressierte Ein- und Ausgabegerät. Der Taktgeber der Überträgungssteuereinheit wird durch Decodierung eines E/A-Befehls in der CPU gesteuert.
Der Taktgeber durchläuft aufeinanderfolgende Zeitzustände und tritt in eine erste Schleife ein. Während der Taktgeber in der ersten Schleife läuft, erzeugt die Steuereinheiten-Taktgeberdecodierlogik ein Steuerausgangssignal. Entweder reagiert nun die adressierte E/A-Einheit auf das Steuerausgangssignal durch Erzeugen eines Bedienungseingangssignals oder es tritt eine Zeitsperrbedingung ein. Wenn die Zeitsperre auftritt, bevor die adressierte E/A-Einheit den Bedienungseingang erzeugt, verläßt der Taktgeber der Übertragungs-Steuereinheit die Schleife und tritt in einen Rückstellzustand ein. Die Steuereinheitenprüflogik erzeugt ein Signal zum Löschen der die E/A-Geräte anschließenden Sammelleitungen.
Wenn das adressierte E/A-Gerät das Bedienungseingangssignal erzeugt, bevor die Zeitsperre wirksam wird, verläßt der Taktgeber der Übertragungssteuereinheit erst die Schleife und läuft durch einige nacheinanderfolgende Zeitzustände. Die Steucrlogik der Übertragungs-
Steuereinheit sendet während bestimmter dieser sequentetiellen Zeitzustände ein Vorschaltzeitsignal an den Taktgeber der CPU, um diesen vorzuschalten. Daten werden zwischen der CPU und der Ubertragungssteuereinheit während bestimmter dieser sequentiellen Zeitzustände übertragen und der Taktgeber der Übertragungssteuereinheit läuft dann in eine zweite Schleife. Die Decodierlogik des Taktgebers in der Übertragungssteuereinheit erzeugt dann ein Bedienungsausgangssignal. Dann tritt entweder eine Zeitsperre auf oder das E/A-Gerät schaltet das Bedienungseingangssignal ab.
Wenn die Zeitsperre auftritt, bevor das E/A-Gerät das Bedienungseingangsgerät abschaltet, erzeugt die Prüflogik der Übertragungssteuereinheit ein Signal, welches die zu den E/A-Geräten führenden Sammelleitungen löscht Wenn das E/A-Gerät das Bedienungseingangssignal vor der Zeitsperre abschaltet, läuft der Taktgeber der Übertragungseinheit aus der zweiten Schleife weiter bis zu einem Endzeitzustand. Dieser Endzeitzustand ermöglicht der Steuerlogik der Übertragungseinheit die Erzeugung eines Zeitvorschaltsignals für den Taktgeber der CPU, damit dieser in seinen nächsten Zustand weiterschaltet. Die E/A-Anschlüsse können auf dieselbe Unterbrechurigsprioritätenstufe gesetzt werden, weil die vorliegende Erfindung einen Mehrgerätebefehl enthält, mit dem bestimmt wird, welcher E/A-Geräteanschluß die Unterbrechung anfordert.
Die Basiszykluszuordnungsteuerung unterscheidet sich von der E/A-Instruktionssteuerung dadurch, daß für die Datenübertragung keine Instruktion betroffen ist, sondern der Betrieb der CPU und des Speichers werden dem E/A-Gerät übergeben, dem nach Ausführung der laufenden oder nächsten auftretenden Instruktion abhängig vom Erscheinen der Zykluszuordnungsanforderung der Zyklus zugeordnet wurde (im allgemeinen gibt es ein Zykluszuordnungsprioritätssystem). Eine Basiszykluszuordnungsoperation verlangt jedoch dieselbe Steuerlogik für Synchronisierung und Entsynchronisierung wie sie eine E/A-Instruktionsoperation verlangt. Die E/A-Instruktionen werden jedoch dazu benutzt, den E/A-Anschluß vor der eigentlichen Zykluszuordnung zu initialisieren. Die Zykluszuordnung erfolgt dann, um die Datenübertragung auszuführen.
Der Stoßbetriebgeräteanschluß 450 arbeitet in Zykluszuordnung, verlangt jedoch die Steuerlogik für Synchronisation und EntSynchronisation nicht Dieser Anschluß arbeitet in zugeordnetem Betrieb, wo alle verfügbaren CPU- und Speicherzyklen dem E/A-Anschluß 450 oder dem angeschlossenen E/A-Gerät 460 zugeordnet sind. Das E/A-Gerät 460 stellt hohe Anforderungen an die Datenübertragungsrate, wie beispielsweise ein Plattenspeicherlaufwerk. Der E/A-Anschluß 450 und das E/A-Gerät 460 bilden keinen Teil der vorliegenden Erfindung, sondern sind hier nur angegeben zur besseren Erklärung der Erfindung.
In diesem speziellen Beispiel ist der Steuerspeicher 10 zwei Bytes breit, wobei jedes Byte aus 8 Detenbits und einem Paritätsbit besteht. Der Steuerspeicher 10 enthält die Instruktionen, die durch die CPU abgerufen und ausgeführt werden. Der Hauptspeicher 11 ist nur ein Byte breit und enthält die durch die CPU zu bearbeitenden Daten und die durch die E/A-Geräte zu benutzenden Daten. Instruktionen werden vom Steuerspeicher 10 geholt und E/A-Instruktionen entweder, wie sie sequentiell im Instruktionsstrom auftreten oder wie sie in einer Unterbrechungsroutine erscheinen.
Der Steuerspeicher 10 und der Hauptspeicher 11 werden durch eine 15 Bit große Adresse adressiert, die in das Speicheradreßregister 16 in Fig.2 eingegeben
ίο wird. Die Speicheradresse wird durch die Speicherceradreßdecodierlogik 17 decodiert, die Speichertaktzeiten von der CPU und den Speichertakgebern 30 über die Sammelleitung 31 und die Speicheradreßsteue leitungen von der Instruktions- und Funktionsdecodierlogik 50 über die Sammelleitung 51 empfängt Die Speicheradreßsteuerleitungen, SPADRSTG, enthalten eine Leitung für ein Steuerspeicherzugriffssignal STSPZUCR, eine Leitung für ein Speicher-schreiben-hoch-Signal, SCHR SP H, und eine Leitung für ein Speicher-schreiben-nieder-Signal, SCHR SP N. Der Steuerspeicher 10 hat ein hohes und ein niedriges Byte, der Hauptspeicher hat nur ein niedriges Byte. Diese Ausdrücke sind relativ und können vertauscht werden, ohne daß der Rahmen der Erfindung dadurch beeinflußt wird, die Ausdrücke sind jedoch in Computerfachkreisen allgemein bekannt Instruktionen werden zu vorbestimmten Zeiten
innerhalb des Instruktionszyklus abgerufen, der sowohl Instruktionsabruf- als auch -ausführungsteile gemäß der Darstellung in den Fig. 18 und 19 enthält. Mit Ausnahme der Instruktionen nach einer Verzweigungsoder bedingten Verzweigungsinstruktion werden die Instruktionen abgerufen, beginnend zur Zeit TO. Die durch den Block 2 dargestellten Systemsteuerungen liefern ein Verriegelungslaufsignal RUN LTH, das der
Jj Taktgeber-Sperr- und Vorschaltlogik 34 des Taktgebers 30 zugeführt wird. Das Signal RUN LTH sperrt die Verriegelungen in der Logik 34 vor der Rückstellung und schaltet dadurch das Signal SPERRE TAKTzu den Systemtaktträgern und der Steuerlogik 34 ab, damit die Taktgebertrigger in der Reihenfolge weiterleiten können. Die Zeiteinteilung ist im einzelnen in Fig.20 gezeigt. Wie daraus hervorgeht, werden die Systemtakttrigger auf normale Weise gestoppt (ausgenommen der Fall einer Systemrückstellung, wo die Trigger alle sofort in den Rückstellzustand gezwungen werden), wenn das Signal RUN LTH abgeschaltet wird, und bleiben im Zustand Tl gestoppt durch das Signal SPERRE TAKT, bis das Signal RUN LTH das Signal SPERRE TAKT abschaltet.
Die CPU-Taktgeber 35 und die Speichertaktgeber 32 werden von einem freilaufenden Oszillator 1, der mit 100 MHZ schwingt und Impulse gemäß Darstellung in F i g. 17 abgibt getrieben. Die Signale vom Oszillator 1 treiben freilaufende Trigger TRA und TRB in den Speichertaktgebern 32. Die Ausgabe vom Trigger TRA ist die Dateneingabe für den Trigger TRB. Ein Phasentaktsignal Phase A wird aus den Signalen TRA und TRB geformt Während dieses Endzeitzustandes prüft die Prüflogik der Übertragungssteuereinheit außerdem die zum E/A-Gerät führenden Sammelleitungen, um festzustellen, ob sie richtig abgeschaltet wurden.
Hierzu 34 Blatt Zeichnungen
230 233/178

Claims (4)

Patentansprüche:
1. Verfahren zur asynchronen Datenübertragung in Datenverarbeitungsanlagen mit einer Vielzahl von Ein- und Ausgabegeräten (425, 490), die über Schaltungen zur Übertragungssteuerung (250) mit Pufferspeichern sowie mikroprogrammgesteuerten Schnittstellen- und Anpassungsschaltungen (400, 450, 480) miteinander und mit einer zentralen Datenverarbeitungseinheit (15) verbunden sind, wobei von den Schaltungen zur Übertragungssteuerung (250) gleichzeitig Ein- und Ausgabeanpassungsschaltungsadressen und Ein-/Ausgabe-Befehle sowie Steuersignale auf die Anpassungsschaltungen (400, 450, 480) gegeben werden, dadurch gekennzeichnet, daß zu Beginn einer Datenübertragung rechnerseitig ein Synchronisationssignal erzeugt wird, daß ein zugehöriger Ein- und Ausgabe-Befehl und die dazugehörige Ein- und Ausgabeanpassungsschaltungsadresse decodiert werden, daß danach ein Antwortsignal von der Anpassungsschaltung (400, 450, 480) erzeugt wird, das zur Übertragungsschaltung (250) zurückgesendet wird, um das Synchronisationssignal zu deaktivieren und dort ein Antwortsignal zu erzeugen, das zur zentralen Datenverarbeitungseinheit (15) übertragen wird, um Daten für die ausgewählte Anpassungsschaltung (425, 450, 490) über die Schaltung zur Übertragungssteuerung (250) zu übertragen, die vor der Übertragung der Daten ein weiteres Synchronisationssignal erzeugt und auf die ausgewählte Anpassungsschaltung(425,450,490) mit den Daten sendet, worauf diese Anpassungsschaltung ein weiteres Antwortsignal erzeugt, das über die Schaltung zur Übertragungssteuerung (250) auf die zentrale Datenverarbeitungseinheit (15) läuft und anzeigt, daß diese Ein- oder Ausgabeoperation beendet ist, wobei der Taktgeber (Fig.3) der zentralen Datenverarbeitunjjseinheit (15) während der Ausführung eines Ein- und Ausgabe-Befehls in einem ersten Zeitzustand stehen bleibt, während eine bestimmte Anzahl Datenbytes nacheinander von der zentralen Datenverarbeitungseinheit (15) an die Schaltung zur Übertragungssteuerung (250) übertragen werden.
2. Schaltungsanordnung zur Durchführung des Verfahrens nach Anspruch 1, dadurch gekennzeichnet, daß ein Taktgeber (35) der zentralen Verarbeitungseinheit (15) während der Ausführung eines Ein- und Ausgabe-Befehls in einem ersten Zeitzustand stehenbleibt, während drei Datenbytes nacheinander von der zentralen Verarbeitungseinheit (15) an die Schaltung zur Übertragungssteuerung (250) übertragen werden, daß die adressierte Schaltung zur Übertragungssteuerung (250) Ein- und Ausgabeanschlußadreßinformationen und die Befehlsinformation generiert und gleichzeitig an die adressierte Ein- und Ausgabeeinheit überträgt, daß die Schaltung zur Übertragungssteuerung (250) auf das generierte Befehlssteuersignal durch Starten eines Taktgebers (32) in der Schaltung zur Übertragungssteuerung (250) reagiert, der in eine erste Schleife eintritt, währenddem die daran angeschlossene Decodierlogik (37) ein Steuerausgangssignal erzeugt, auf das die adressierte Ein- und Ausgabeeinheit daraufhin ein Bedienungseingangssignal oder ein Zeitsperrbedingungssignal generiert.
3. Schaltungsanordnung nach Anspruch 2, dadurch gekennzeichnet, daß bei Auftreten der Zeitsperrbedingung, bevor die adressierte Ein- und Ausgabeeinheit das Bedienungseingangssignal generiert, der Taktgeber (32) der Schaltung zur Übertragungs-5 steuerung (250) die Schleife verläßt und in einen Rückstellzustand eintritt, worauf eine damit verbundene Steuereinheitenprüflogik ein Signal cum Löschen der Sammelleitungen, an denen die Ein- und Ausgabeeinheiten angeschlossen sind, erzeugt
ίο
4. Schaltungsanordnung nach Anspruch 2, dadurch
gekennzeichnet, daß bei Generierung eines Bedienungseingangssignals durch die adressierte Ein- und Ausgabeeinheit vor dem Zeitsperrbedienungssignal der Taktgeber (32) der Schaltung zur Übertragungssteuerung (250) erst die Schleife verläßt und dann durch nacheinanderfolgende Zeitzustände läuft, währenddem ein Vorschaltzeitsignal erzeugt wird, das an den Taktgeber (35) der zentralen Verarbeitungseinheit (15) geleitet wird, daß der Taktgeber
(32) dann in eine zweite Schleife läuft, währenddem Daten zwischen der zentralen Verarbeitungseinheit (15) und der Schaltung zur Übertragungssteuerung (250) übertragen werden und daß die Decodierlogik des Taktgebers (32) in der Schaltung zur Übertragungssteuerung (250) dann ein Bedienungsausgangssignal erzeugt, woraufhin entweder ein Zeitsperrsignal erzeugt wird oder die adressierte Ein- und Ausgabeeinheit das Bedienungseingangssignal abschaltet.
DE2556624A 1974-12-30 1975-12-16 Verfahren und Schaltungsanordnung zur asynchronen Datenübertragung Expired DE2556624C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/537,471 US3972023A (en) 1974-12-30 1974-12-30 I/O data transfer control system

Publications (2)

Publication Number Publication Date
DE2556624A1 DE2556624A1 (de) 1976-07-08
DE2556624C2 true DE2556624C2 (de) 1982-08-19

Family

ID=24142781

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2556624A Expired DE2556624C2 (de) 1974-12-30 1975-12-16 Verfahren und Schaltungsanordnung zur asynchronen Datenübertragung

Country Status (8)

Country Link
US (1) US3972023A (de)
JP (1) JPS5531942B2 (de)
BR (1) BR7508755A (de)
CA (1) CA1050664A (de)
DE (1) DE2556624C2 (de)
FR (1) FR2296883A1 (de)
GB (1) GB1513766A (de)
IT (1) IT1049020B (de)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4159516A (en) * 1976-03-23 1979-06-26 Texas Instruments Incorporated Input/output controller having selectable timing and maskable interrupt generation
US4148098A (en) * 1976-10-18 1979-04-03 Xerox Corporation Data transfer system with disk command verification apparatus
US4339793A (en) * 1976-12-27 1982-07-13 International Business Machines Corporation Function integrated, shared ALU processor apparatus and method
US4131945A (en) * 1977-01-10 1978-12-26 Xerox Corporation Watch dog timer module for a controller
US4172281A (en) * 1977-08-30 1979-10-23 Hewlett-Packard Company Microprogrammable control processor for a minicomputer or the like
DD142135A3 (de) * 1978-05-03 1980-06-11 Wolfgang Henzler Mehrrechnerkopplung
US4213178A (en) * 1978-10-23 1980-07-15 International Business Machines Corporation Input/output command timing mechanism
US4479179A (en) * 1979-07-30 1984-10-23 International Business Machines Corporation Synchronous cycle steal mechanism for transferring data between a processor storage unit and a separate data handling unit
US4417304A (en) * 1979-07-30 1983-11-22 International Business Machines Corporation Synchronous cycle steal mechanism for transferring data between a processor storage unit and a separate data handling unit
US4310896A (en) * 1979-11-13 1982-01-12 General Electric Company Method of interfacing remote units to a central microprocessor
US4358826A (en) * 1980-06-30 1982-11-09 International Business Machines Corporation Apparatus for enabling byte or word addressing of storage organized on a word basis
JPS5758646U (de) * 1980-09-25 1982-04-06
GB8324155D0 (en) * 1983-09-09 1983-10-12 British Telecomm Control networks
JPS6173904U (de) * 1984-10-22 1986-05-19
US4991217A (en) * 1984-11-30 1991-02-05 Ibm Corporation Dual processor speech recognition system with dedicated data acquisition bus
US4747127A (en) * 1985-12-23 1988-05-24 American Telephone And Telegraph Company, At&T Bell Laboratories Customer programmable real-time system
US4727575A (en) * 1985-12-23 1988-02-23 American Telephone And Telegraph Company, At&T Bell Laboratories State control for a real-time system utilizing a nonprocedural language
JP2829091B2 (ja) * 1990-04-19 1998-11-25 株式会社東芝 データ処理システム
JPH0455567A (ja) * 1990-06-26 1992-02-24 Suzuki Kiyo 鋼管製足場材の緊結金具
US5293603A (en) * 1991-06-04 1994-03-08 Intel Corporation Cache subsystem for microprocessor based computer system with synchronous and asynchronous data path
US5339395A (en) * 1992-09-17 1994-08-16 Delco Electronics Corporation Interface circuit for interfacing a peripheral device with a microprocessor operating in either a synchronous or an asynchronous mode
US5581794A (en) * 1992-12-18 1996-12-03 Amdahl Corporation Apparatus for generating a channel time-out signal after 16.38 milliseconds
US6260126B1 (en) 1998-06-05 2001-07-10 International Busines Machines Corporation Data storage subsystem having apparatus for enabling concurrent housekeeping processing while an input/output data transfer occurs

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US488349A (en) * 1892-12-20 Truss for mining-machines
GB904334A (en) * 1959-02-04 1962-08-29 Int Computers & Tabulators Ltd Improvements in or relating to data handling equipment
NL295279A (de) * 1962-08-25
US3377619A (en) * 1964-04-06 1968-04-09 Ibm Data multiplexing system
US3303476A (en) * 1964-04-06 1967-02-07 Ibm Input/output control
US3336582A (en) * 1964-09-01 1967-08-15 Ibm Interlocked communication system
US3406380A (en) * 1965-11-26 1968-10-15 Burroughs Corp Input-output data service computer
US3810105A (en) * 1967-10-26 1974-05-07 Xerox Corp Computer input-output system
US3588831A (en) * 1968-11-13 1971-06-28 Honeywell Inf Systems Input/output controller for independently supervising a plurality of operations in response to a single command
GB1354089A (en) * 1970-04-01 1974-06-05 Digital Equipment Corp Data processing system
US3668651A (en) * 1970-12-30 1972-06-06 Ibm Working device code method of i/o control
US3710328A (en) * 1971-01-21 1973-01-09 Honeywell Inf Systems Method and apparatus for communicating devices each performing preprocessing operations on data autonomously of the central processor
US3725871A (en) * 1971-02-11 1973-04-03 Honeywell Inf Systems Multi function polling technique
US3833888A (en) * 1973-02-05 1974-09-03 Honeywell Inf Systems General purpose digital processor for terminal devices
JPS50103947A (de) * 1974-01-14 1975-08-16
JPS5160424A (ja) * 1974-11-25 1976-05-26 Hitachi Ltd Nyushutsuryokuseigyohoshiki

Also Published As

Publication number Publication date
US3972023A (en) 1976-07-27
BR7508755A (pt) 1976-08-24
DE2556624A1 (de) 1976-07-08
GB1513766A (en) 1978-06-07
FR2296883A1 (fr) 1976-07-30
CA1050664A (en) 1979-03-13
JPS5178948A (de) 1976-07-09
JPS5531942B2 (de) 1980-08-21
IT1049020B (it) 1981-01-20
FR2296883B1 (de) 1977-12-16

Similar Documents

Publication Publication Date Title
DE2556624C2 (de) Verfahren und Schaltungsanordnung zur asynchronen Datenübertragung
DE3204905C2 (de)
DE2744531C2 (de) Anordnung zur Auswahl von Unterbrechnungsprogrammen in einer Datenverarbeitungsanlage
DE2457553C2 (de) Asynchrone Taktgebereinrichtung
DE2523372C3 (de) Eingabe-/Ausgabe-Anschlußsteuereinrichtung
DE2714267C2 (de)
DE1299145B (de) Schaltungsanordnung zum Steuern von peripheren Ein- und Ausgabegeraeten von Datenverarbeitungssystemen
DE2855673C2 (de)
DE1524130B1 (de) Datenverarbeitende Mehrfachanlage
DE2209136B2 (de) Steuer- und Anpassungsschaltung für Datenverarbeitungsanlagen
DE3232600C2 (de)
DE2635592A1 (de) Multiprozessor-abrufsystem
DE2322674B2 (de) Mikroprogramm-Steuereinrichtung
DE2755616A1 (de) Asymmetrischer multiprozessor
DE2363846C2 (de) Datenverarbeitungsanlage mit einer Schaltungsanordnung zur Steuerung des Datentransfers zwischen dem Hauptspeicher und mehreren peripheren Geräten
DE2019444A1 (de) Datenverarbeitungsanlage
EP0282877B1 (de) Verfahren und Einrichtung zur Steuerung der Fehlerkorrektur innerhalb einer Datenübertragungssteuerung bei von bewegten peripheren Speichern, insbesondere Plattenspeichern, eines Datenverarbeitungssystems gelesenen Daten
DE2218630B2 (de) Schaltungsanordnung zur Steuerung von Unterbrechungssignalen in Datenverarbeitungsanlagen
DE2530599A1 (de) Steuerung von ein/ausgabe-geraeten
DE1499191B2 (de) Elektronische einrichtung fuer eine datenverarbeitungsanlage
DE2610428A1 (de) Anordnung zur steuerung der zwischenspeicherung von zwischen zwei funktionseinheiten zu uebertragenden daten in einem pufferspeicher
DE1163579B (de) Steuerwerk einer digitalen programmgesteuerten Rechenmaschine
DE3239997C1 (de) Verfahren und Anordnung zur Durchfuehrung von kontinuierlichen Datentransfers bei der Ausfuehrung von Ein-/Ausgabeoperationen ueber Selektor- oder Blockmultiplexkanaele des Ein-/Ausgabewerkes einer Datenverarbeitungsanlage
DE2936801C2 (de) Steuereinrichtung zur Ausführung von Instruktionen
DE1277921B (de) Codeumsetzer zur UEbertragung von Informationszeichen einer vorgegebenen ersten Codierung in gleichwertige Informationszeichen einer ausgewaehlten zweiten Codierung

Legal Events

Date Code Title Description
OD Request for examination
D2 Grant after examination
8339 Ceased/non-payment of the annual fee