DE1499206B2 - Rechenanlage - Google Patents

Rechenanlage

Info

Publication number
DE1499206B2
DE1499206B2 DE19651499206 DE1499206A DE1499206B2 DE 1499206 B2 DE1499206 B2 DE 1499206B2 DE 19651499206 DE19651499206 DE 19651499206 DE 1499206 A DE1499206 A DE 1499206A DE 1499206 B2 DE1499206 B2 DE 1499206B2
Authority
DE
Germany
Prior art keywords
register
data
memory
input
word
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19651499206
Other languages
English (en)
Other versions
DE1499206C3 (de
DE1499206A1 (de
Inventor
Lewis Edward Highland Hoskinson William Clifford Annuziata Eugene Joseph Wise Francis William Poughkeepsie Pierce Edwin Bruce Wapptngers Falls NY King (V St A ) G06f9 06
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE1499206A1 publication Critical patent/DE1499206A1/de
Publication of DE1499206B2 publication Critical patent/DE1499206B2/de
Application granted granted Critical
Publication of DE1499206C3 publication Critical patent/DE1499206C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T74/00Machine element or mechanism
    • Y10T74/21Elements
    • Y10T74/2101Cams
    • Y10T74/2102Adjustable

Description

10
und bestimmten Bereichen des Speichers ermöglicht, ohne daß diese Übertragung durch das Eingreifen anderer Eingabe/Ausgabe-Einheiten oder der zentralen Recheneinheit gestört wird. Dabei wird jeder Eingabe/Ausgabe-Einheit vom Speicher jeweils ein Kanalkommandowort zugeordnet, das folgendes angibt:
1. Die jeweils gültige Adresse eines Blocks von Bereichen, die im Speicher für diese Eingabe/ Ausgabe-Einheit zur Verfügung stehen,
2. die Anzahl (Wortzählung) der aufeinanderfolgenden Bereiche des genannten Blocks, beginnend mit dem ersten Bereich,
3. der Platz eines anderen Kanalkommandowortes, das nach der Übertragung des angegebenen Speicherblocks verwendet werden soll, und
4. verschiedene Steuerinformationen, die unter anderem die Art der auszuführenden Übertragungsoperationen angeben.
2o
Sooft eine Eingabe/Ausgabe-Einheit eine Bedienung anfordert und auch den erforderlichen Prioritätsrang aufweist, wird sie mit dem Speicher für eine Datenwort-Übertragung zum bzw. vom jeweils angegebenen Speicherbereich verbunden. Nach jeder solchen Übertragung wird die Bereichsadresse geändert, um den nächsten Bereich zu bezeichnen. Gleichzeitig wird die Wortzählung abgeändert, um anzuzeigen, daß im Block ein Bereich weniger für die Übertragung zur Verfügung steht. Zeigt die Wortzählung an, daß keine weiteren Bereiche im angegebenen Block des Speichers vorhanden sind, kann ein neues Kanalkommandowort zur Steuerung aufgerufen werden.
In derartigen Datenverarbeitungsanlagen ist ein Wortzähler, ein Adressenzähler und ein Bereichzähler vorgesehen. Der Adressenzähler gibt die jeweilige Adresse zum Speichern bzw. zum Abrufen gespeicherter Daten an, während der Wortzähler die noch freien Bereiche im addressierten Speicherblock bezeichnet. Der Bereich- oder Speicherplatz-Zähler gibt die Adresse des jeweils nächsten Kanalkommandowortes an, dessen Inhalt in den Wortzähler und in den Adressenzähler eingegeben werden soll, wenn der Wortzähler das Ende des laufenden Speicherblocks anzeigt. Eine solche Arbeitsweise erfordert drei gesonderte Zähler, die nur mit großem Aufwand auf das Vorliegen von Fehlern zu prüfen sind und die wegen ihrer langen Wartezeiten zwischen den einzelnen Zähloperationen schlecht ausgenutzt werden.
In den bisher bekannten Anlagen ist es nur möglieh, Speicherplätze zu adressieren, in denen sich ganze Datenwörter befinden. Diese Datenwörter bestehen z. B. aus acht Bytes, zu je acht Bits. In anderen Rechenanlagen ist es möglich, mit Hilfe von Wortmaskenwerten Datenadressen anzugeben, die nicht notwendigerweise auf einen Wortanfang fallen müssen, sondern sich auch auf den Anfang eines Bytes innerhalb des Wortes beziehen können. Die zuvor beschriebenen Anlagen mit Übertragung von Daten zwischen dem Speicher und äußeren Eingabe/ Ausgabe-Einheiten sind jedoch nur in der Lage, die Adressen ganzer Worte zu behandeln.
Der Erfindung liegt die Aufgabe zugrunde, eine Rechenanlage anzugeben, bei der unter Vermeidung der genannten Nachteile eine Übertragung von Datenblöcken zwischen einer zentralen Verarbeitungseinheit und mit dieser verbundenen Eingabe/Ausgabe-Einheiten ohne Rücksicht auf die Speicheradressen der Bitgruppen des Datenblockes in bezug auf Speicherworte fester Länge ermöglicht wird. Die Rechenanlage soll es demnach gestatten, eine Eingabe/Ausgabe-Einheit mit einem Speicherplatz zu verbinden, der nicht notwendigerweise mit dem Anfang eines Speicherwortes zusammenfallen muß Die Rechenanlage soll zudem zur Ausfuhrung der Übertragungsoperationen einen geringen Schaltungsaufwa"d u un<Lemf hohe Arbeitsgeschwindigkeit durch zeitllche Überlappung von Teiloperationen aufwei-
. Diese A"fSabe wir A d bf ?m? Rechenanlage der eingangs erläuterten Art dadurch gelost, daß in der Kanalsteuereinrichtung ein Datenadressen-Register *ur Aufnahme einer Datenblockadresse aus dem Kanalkommandowort dient die in einem hochstelhfn Teil die Adresse eines durch die physikalischen Speichergrenzen festgelegten Speicherwortes und m einem niedrigstelligen Teil die Adresse einer bestimmten Bitgruppe in diesem Speicherwort angibt,, daß ein Blocklängenregister vorgesehen ist, das zur Aufnahme einer in keiner festen Beziehung zu einem Speicherwortende stehenden Datenblocklängenangäbe aus dem Datenblock-Längenfeld des Kanalkommandowortes dient und zu dessen Inhalt vor Beginn einer Übertragung über ein Addierwerk der Bitgruppen-Adressenteil der Datenblockadresse addiert wird, daß ein die Datenübertragung steuernder Bitgruppenzähler vorgesehen ist, der am Beginn einer Blockübertragung entsprechend dem Bitgruppen-Adressenteil voreingestellt wird und dessen Zählstand mit jeder Übertragung einer Bitgruppe zu oder von einer der Eingabe/Ausgabe-Einheiten um eins weitergeschaltet wird und der jeweils bei Erreichen eines vorgegebenen, der Länge eines Speicherwortes entsprechenden Zählstandes eine Speicherwortübertragung zwischen einem Datenregister und dem Speieher der zentralen Verarbeitungseinheit sowie über das Addierwerk die Subtraktion einer festen Speicherwort-Bit-Gruppenzahl vom Inhalt des Blocklängenregisters auslöst, und daß das Blocklängenregister, sofern sein Inhalt während einer oder mehrerer derartiger Subtraktionen gleich oder kleiner einer Speicherwortlänge geworden ist, ein Anzeigesignal »letztes Speicherwort« liefert, das eine Vergleichsschaltung wirksam macht, die nach jeder Weiterschaltung des Bitgruppenzählers dessen Zählerstand mit dem Inhalt des Blocklängenregisters auf Ubereinstimmung prüft und im Falle einer Übereinstimmung ein »Blockübertragung beendet«-Signal erzeugt.
Nachfolgend wird ein Anwendungsbeispiel der Erfindung an Hand der Zeichnungen näher erläutert. Es stellt dar
Fig. 1 ein vereinfachtes Blockschaltbild einer datenverarbeitenden Anlage, die aus einer zentralen Verarbeitungseinheit, einer Speichereinheit und mehreren angeschlossenen Eingabe/Ausgabe-Einheiten besteht und die ein Ausführungsbeispiel der Rechenanlage gemäß der Erfindung darstellt,
F i g. 2 das Format eines Ubertragungsbefehls, wie er in der Anlage von F i g. 1 Verwendung findet,
F i g. 3 das Format eines Kanaladressenwortes, wie es in der Anlage von F i g. 1 verwendet wird,
F i g. 4 das Format eines Kanalkommandowortes, das als Befehl der Kanalsteuereinrichtung in der'Anlage von F i g. 1 dient,
7 8
Fig. 5A und 5B ein Blockschaltbild der Kanal- kung einer Kanalsteuereinheit44, 44' aus dem Speisteuereinrichtung, eher 20 entnommen, nachdem die betreffende Kanal-
Fig. 6A und 6B ein detailliertes Blockschaltbild Steuereinheit eine Start-Eingabe/Ausgabe-Instruktion
des Bytezählers in der Kanalsteuereinrichtung von empfangen hat. Die Kommandos lösen nach ihrer
Fig. 5 A und 5B, : 5 Decodierung die Eingabe/Ausgabe-Operation aus.
Fig. 7A und 7B ein detailliertes Blockschaltbild Der Kanal ist zur Ausführung folgender Kommaneiner Pufferregisteranordnung zur Übertragung von dos in der Lage: Schreiben, Lesen, rückwärts Lesen, Daten zwischen der zentralen Verarbeitungseinheit Steuern, Abfühlen und Übertragen. Ein Kommando und den Eingabe/Ausgabe-Einheiten unter dem Ein- »Steuern« betrifft eine nicht mit einer Informationsfluß der Kanalsteuereinrichtung von Fig. 5A und io übertragung zusammenhängende Steueroperation in 5B, einer Eingabe/Ausgabe-Einheit, wie beispielsweise
F i g. 8 eine Schaltungsanordnung zur Eingabe der das Rückspulen von Magnetbändern,
von einer Eingabe/Ausgabe-Einheit empfangenen In F i g. 2 ist das Format 81 einer Eingabe/AusDaten in eines der Pufferregister, gabe-Instruktion dargestellt. Das Instruktionsformat
Fig. 9 ein detailliertes Blockschaltbild zu dem in 15 umfaßt 32Bitstellen, die sich in ein Operationscode-
F i g. 5 A vorgesehenen Zählregister, feld 82, ein Kanaladreßfeld 84 und ein Einheiten-
F i g. 10 ein vereinfachtes Blockschaltbild ver- adreßfeld 86 aufteilen. Das Operationscodefeld 82
schiedener Steuerschaltungen. besteht aus acht binären Bits und gibt die auszufüh-
Die datenverarbeitende Anlage gemäß Fig. 1 be- rende Operation an. Die Bitstellen 8 bis 15 und 18 steht aus einem Hauptspeicher 20, der über eine 20 bis 25 des Instruktionsformats 81 bleiben unberückgeeignete Sammelleitung 21 mit einer zentralen Re- sichtigt. Das Kanaladreßfeld 84 enthält acht Bits und cheneinheit 22 verbunden ist, aus Steuereinheiten 26, bezeichnet die Adresse der die Übertragung ausfüh-28 und 30, aus einer Anzahl von Eingabe/Ausgabe- renden Kanalsteuereinheit 44 oder 44'. Die Beson-Einheiten 26', 26" ... 26'", 28" . .. 28'" und 30', derheiten der Start-Eingabe/Ausgabeoperation, d. h., 30" . .. 30'". Die Steuereinheiten 26 und 28 sind 25 ob es sich um eine Schreib-, eine Lese-, eine Rückmit einer Sammelleitung 32 verbunden. Desgleichen wärtslese-, eine Steuer- oder eine Abfühloperation ist die Steuereinheit 30 mit einer Sammelleitung 32' handelt, werden durch das Programm der zentralen verbunden. Die Sammelleitungen 32, 32' enthalten Verarbeitungseinheit 22 festgelegt, das auf einer vorunter anderem je eine nicht dargestellte Prioritäts- gegebenen Adresse im Speicher 20 den Platz des auswahl-Sammelleitung, da die Steuereinheiten 26, 3° Kanalkommandowortes angibt, das die Kanalopera-28 bzw. 30 die Sammelleitungen 32 bzw. 32' im Zeit- tion einleitet,
multiplex benutzen. Eine Halt-Eingabe/Ausgabe-Instruktion erfordert
Jede der Sammelleitungen 32, 32' ist mit einer keine Einheitsadresse im Feld 86. Wird die Halt-Kanalsteuereinheit 44, 44' verbunden, die im folgen- Eingabe/Ausgabe-Instruktion einem arbeitenden den auch Datenkanal genannt wird. Die Kanalsteuer- 35 Kanal zugeleitet, so wird die Kanalsteuereinheit von einheiten 44, 44' sind über eine Sammelleitungs- der Eingabe/Ausgabe-Einheit getrennt. Die Haltgruppe 52 mit der zentralen Verarbeitungseinheit 22 Eingabe/Ausgabe-Instruktion bleibt ohne Wirkung, verbunden. Die Sammelleitungsgruppe 52 umfaßt wenn sie einem nicht arbeitenden Kanal oder einem eine Multiplex-Sammelleitung 54 und eine Anzahl solchen Kanal zugeführt wird, der eine Operation von in einer Richtung wirksamen Leistungen 56, 56'. 4° beendet hat und auf eine Unterbrechung wartet.
Alle Kanalsteuereinheiten teilen sich in die Multiplex- Die Test-Eingabe/Ausgabe-Instruktion wird zur Sammelleitung 54. Löschung der Unterbrechungszustände verwendet,
Die Kanalsteuereinheiten 44, 44' sind mit der die in einem adressierten Kanal oder in einer zuge-Speichereinheit 20 über eine Sammelleitung 60 ver- ordneten Eingabe/Ausgabe-Einheit bestehen. Diese bunden, die als Multiplex-Sammelleitung durch eine 45 Instruktion hat zur Folge, daß ein Kanalstatuswort Sammelleitungs-Steuereinheit 64 gesteuert wird. Eine (CSW) gebildet und in eine vorgegebene Speicherweitere Sammelleitungsgruppe 70, die eine Multiplex- stelle eingegeben wird und daß der Unterbrechungs-Sammelleitung 72 und einzelne nur in einer Richtung zustand gelöscht wird. Das Kanalstatuswort enthält wirksame Leitungen 74 enthält, verbindet die Kanal- den Fehlerzustand angebende Statusbits der Kanalsteuereinheiten 44, 44' und die Sammelleitungs- 50 Steuereinheit und der mit dieser verbundenen EinSteuereinheit 64. Die Sammelleitungs-Steuereinheit gabe/Ausgabe-Einheit. Eine Test-Kanal-Instruktion 64 ist durch eine Speichersammelleitung 76 mit dem erfordert ebenfalls keine Einheitenadresse im Feld Speicher 20 und durch Sammelleitungen 78 und 80 86. Eine solche Instruktion bewirkt auch, daß der mit der zentralen Verarbeitungseinheit 22 verbunden. Kanal einen Zustandscode aussendet, der den Zu-
Bevor auf die Beschreibung der Kanalsteuerein- 55 stand des Kanals im Zeitpunkt der Freigabe der
heiten eingegangen wird, soll das Format der binären zentralen Verarbeitungseinheit 22 angibt.
Code-Kombinationen beschrieben werden, die als Eine Start-Eingabe/Ausgabe-Operation verbindet
Instruktionen, Kommandos und Steuerbefehle zur eine der Kanalsteuereinheit 44 oder 44' mit einer fest
Auslösung der Funktion des Kanals durch Beeinflus- vorgegebenen Stelle des Speichers 20, um ein Kanal-
sung des Informationsflusses zwischen den Eingabe/ 60 adreßwort (CAW), dessen Format in Fig. 3 darge-
Ausgabe-Einheiten und dem Hauptspeicher dienen. stellt ist, der Kanalsteuereinheit verfügbar zu ma-
Eine Instruktion wird durch die zentrale Verarbei- chen. Das Kanaladreßwort 87 ist im wesentlichen
tungseinheit 22 geliefert und nach ihrer Decodierung eine indirekte Adresse, die den Platz des gewünsch-
in einer Kanalsteuereinheit ausgeführt. Die Instruk- ten Kanalkommandowortes (CCW) angibt und dies
tion kann eine Start-Eingabe/Ausgabe-, eine Halt- 65 zwar unter Steuerung des Programms in der zentralen
Eingabe/Ausgabe-, eine Prüf-Eingabe/Ausgabe oder Verarbeitungseinheit 22. Wie aus F i g. 3 ersichtlich
eine Testkanalinstruktion sein. Kommandos werden ist, besteht das Kanaladreßwort 87 aus 32 binären
in Form von Kanalkommandowörtern unter Wir- Bitstellen, die ein Markierungsfeld 88 und ein Korn-
9 10
mandoadressenfeld 90 bilden. Das Markierungsfeld Kanal in umgekehrter Richtung zugeleitet. Die Daten
88 hat drei Bitstellen, die den Speicherbereich ange- werden im Speicher 22, beginnend mit der durch das
ben, in welchem die Eingabe/Ausgabe-Operation, Kanalkommandowort im Feld 94 angegebenen
d. h. Lesen, Schreiben, Rückwärtslesen usw., durch- Adresse, in absteigender Adressenfolge eingegeben,
geführt werden soll. Das Kommandoadreßfeld 90 5 Auch hier werden die verschiedenen Kennzeichnun-
gibt den Platz eines Kanalkommandowortes (CCW) gen im CCW während der Rückwärts-Lesen-Opera-
an, das die Einzelheiten der auszuführenden Ein- tion untersucht. Das Operationscodefeld 92 kann
gabe/Ausgabe-Operation festlegt. Die Bitstellen 4 bis Modifizierbits enthalten, um die Operation abzuän-
7 des Kanaladreßwortes enthalten im Hinblick auf dem.
eine auszuführende Gültigkeitsprüfung binäre Nullen. io Um bestimmte Steueroperationen in einer Eingabe/ In F i g. 4 ist ein Format 91 eines Kanalkom- Ausgabe-Einheit auszuführen, wird ein Kanalkommandowortes (CCW) dargestellt, das 64 Bitstellen mandowort verwendet, dessen Operationscodefeld 92 und zusätzlich acht nicht dargestellte Paritätsbits um- ein entsprechendes Steuerkommando enthält,
faßt. Das Format 91 enthält ein aus acht Bits beste- Das Steuerkommando wird zur Eingabe/Ausgabehendes Operationscodefeld 92, ein aus 24 Bits be- 15 Einheit übertragen und dort entschlüsselt. Es kann stehendes Datenadreßfeld 94, ein aus sechs Bits be- ζ. B. ein teilweises Rückspulen oder Weiterspulen stehendes Kennzeichnungsfeld 96, ein aus fünf Bits eines Magnetbandes oder die Einstellung eines Platbestehendes Pufferfeld 98 und ein aus 24 Bits beste- tenspeicher-Zugriffsmechanismus in einer Eingabe/ hendes Längenzählfeld 100. Die Bitstellen 40 bis 47 Ausgabe-Einheit steuern. Das Steuerkommando bebleiben unbeachtet. Das Operationscodefeld 92 gibt 20 stimmt die vollständige Steuerfunktion. Die Datendie durchzuführende Operation an, wie beispiels- adresse gibt die zur Durchführung der Operation weise Lesen, Schreiben usw. Das Datenadressenfeld notwendigen zusätzlichen Informationen an.
94 bezeichnet eine Speicherstelle im Speicher 20, die Das Ketten-Kommando-Kennzeichen (CC), das in' den Anfang der zu übertragenden Information ent- der 33. Bitstelle des Kanalkommandowortes von hält bzw. aufnimmt. Das Längenzählfeld 100 gibt die 25 F i g. 4 auftritt, gibt dem Programmierer die Möglich-Anzahl der zu übertragenden Datenbytes an, wobei keit, mehrfache Eingabe/Ausgabe-Operationen mit jedes Byte aus einer Bitgruppe, wie beispielsweise einem einzigen Start-Eingabe/Ausgabe-Befehl von acht Bits, besteht. Die Bitstellen 37 bis 39 enthalten der zentralen Recheneinheit einzuleiten. Wenn das Informationen über die Gültigkeit des CCW. Das Längenzählfeld eines bestimmten Kommandowortes Kennzeichnungsfeld 96 enthält wahlweise folgende 30 erschöpft ist und in diesem das CC-Kennzeichen Kennzeichnungsbits: ein Ketten-Datenadressen- vorliegt, veranlaßt die Kanalsteuereinheit den Abruf Kennzeichnungsbit, ein Ketten-Kommando-Kenn- des nächsten Kanalkommandowortes von der folgenzeichnungsbit, ein Unrichtige-Längenangabe-Unter- den Adresse im Speicher 20. Das neue Kanalkomdrücken-Kennzeichnungsbit, ein Uberspringen-Kenn- mandowort gibt eine weitere Eingabe/Ausgabezeichnungsbit und ein Programmsteuerung-Unterbre- 35 Operation bzw. Kanalübertragungsoperation an. Das chen-Kennzeichnungsbit. Kommandoverketten ermöglicht es dem Programmie-
Ein vom Operationscodefeld 92 angegebenes rer, die Übertragung von mehreren Datenblöcken Schreibkommando löst die Ausführung einer Schreib- mit einer einzigen Start-Eingabe/Ausgabe-Instruktion operation in einer durch das Feld 86 der vorausge- einzuleiten. Es ermöglicht auch, durch eine einzige gangenen Kanalinstruktion 81 bezeichneten Eingabe/ 40 Instruktion bestimmte Hilfsfunktionen in Verbindung Ausgabeeinheit 26, 28, 30 aus. Das Kommando ver- mit einer Eingabe/Ausgabe-Operation auszulösen, ursacht eine Übertragung von Daten aus dem Spei- wie beispielsweise das Rückspulen eines Magnetcher20 zu der betreffenden Eingabe/Ausgabe-Ein- bandes am Ende einer Übertragungsoperation. Eine heit. Die Daten aus dem Speicher 20 werden, begin- Kommandoverkettung in Zusammenhang mit entnend mit der durch das CCW im Feld 94 angegebe- 45 sprechenden Zustands-Modifizierbits ermöglicht es nen Adresse, in aufsteigender Reihenfolge den Spei- dem Kanal, die normale Folge von Operationen auf cherplätzen entnommen. Das eine Schreiboperation Grund eines von der Eingabe/Ausgabe-Einheit gesteuernde Kanalkommandowort wird auf das Vor- lieferten Signals abzuändern. Da eine Kommandoliegen von Kennzeichnungen untersucht, die einen verkettung immer die Auslösung neuer Eingabe/ Fehler oder bestimmte, während der Operation auf- 50 Ausgabe-Operationen beinhaltet, ist ihr Gebrauch, tretende Zustände angeben. Die Schreiboperation d. h. ihre Ausdehnung über eine größere Anzahl von kann durch das Auftreten besonderer Bits im Opera- Kanalkommandowörtern, nicht beschränkt,
tionscodefeld 92 abgeändert werden. Die Kennzeichnung (SILI) »Unrichtiges Längen-
Ein vom Operationscodefeld 92 angegebenes Le- zählfeld unterdrücken«, welche in der Bitstelle 34 des sekommando löst eine Leseoperation in einer adres- 55 Kanalkommandowortes von F i g. 4 auftritt, bestimmt, sierten Eingabe/Ausgabe-Einheit aus und verursacht ob eine unrichtige Längenbedingung dem Programm eine Übertragung von Daten von dieser Eingabe/ angezeigt worden ist oder nicht. Eine unrichtige Ausgabe-Einheit in den Speicher 20. Der Informa- Längenbedingung besteht darin, daß das Zählfeld tionsfluß läuft hier gegenüber einer Schreiboperation des Kanalkommandowortes und die tatsächliche Aufin umgekehrter Richtung. Im übrigen treffen die 60 zeichnungslänge nicht übereinstimmen. Wenn das obigen Erläuterungen zum Schreibkommando auch Kennzeichnungsbit SILI vorliegt und die Kettenauf das Lesekommando zu. Datenadressen-Kennzeichnung (CDA) fehlt, wird der
Ein Rückwärtslesen-Kommando löst die Ausfüh- inkorrekte Inhalt des Längenzählfeldes unterdrückt,
rung einer Rückwärts-Lesen-Operation in einer Ein- Besitzt das CCW die CC-Kennzeichnung, erfolgt eine
gäbe/Ausgabeeinheit aus. Dieses Kommando ist nur 65 Kommandoverkettung. Das Fehlen der 5/L/-Kenn-
bei bestimmten Magnetbandeinheiten anwendbar; es zeichnung oder das Vorliegen sowohl der SILI- und
verursacht einen Lesevorgang bei rückwärts laufen- der CDA-Kennzeichnung beendigt die Operation und
dem Magnetband. Die gelesenen Bytes werden dem verursacht eine Unterbrechung des Programms.
Das Ketten-Datenadressen-Kennzeichen, das in der Bitstelle 32 erscheint, leitet die Maßnahmen ein, die die Kanalsteuereinheit bei Erschöpfung eines Kanalkommandowortes ,oder beim Auftreten verschiedener Fehlerbedingungen treffen muß. Wenn das Kanalkommandowort erschöpft ist, sei es, daß das Längenzählfeld den Wert Null erreicht hat oder daß eine andere Beendigungsbedingung aufgetreten ist, so wird ein neues Kanalkommandowort aus dem Speicher 20 entnommen, ohne daß hierzu die zentrale Verarbeitungseinheit 22 veranlaßt wird, die Operation fortzusetzen oder einen neuen Kanalbefehl zur Verfügung zu stellen. Die Ketten-Datenadressen-Kennzeichnung (CDA) erlaubt es, daß verschiedene Teile der gleichen Aufzeichnung in bzw. von nicht zusammenhängenden Bereichen des Speichers gespeichert bzw. ausgelesen werden. Die CDA -Kennzeichnung wird vom Kanal als ein Signal dafür gewertet, daß ein neues Kanalkommandowort aufzurufen ist, das einen neuen Längenzählwert und möglicherweise ebenfalls eine Datenadressen - Verkettungskennzeichnung aufweist. Das Operationscodefeld des neu aufgerufenen Kanalkommandowortes wird nicht beachtet.
Das Überspringen-Kennzeichen, das in der 35. Bitstelle eines Kanalkommandowortes in dem in F i g. 4 ersichtlichen Format 91 auftritt, erlaubt die Unterdrückung von Hauptspeicher-Zugriffen während einer Eingabe/Ausgabe- Operation. Die Überspringen-Kennzeichnung ist anwendbar bei den Operationen »Lesen«, »Rückwärtslesen« und »Abfühlen«. In allen anderen Fällen wird die Überspringen-Kennzeichnung nicht beachtet. Das Überspringen betrifft die Handhabung der Information durch den Kanal. Die Funktion der Eingabe/Ausgabe-Einheit verläuft normal, und gelesene Informationen werden wie üblich dem Kanal zugeleitet. Der Kanal hält seinerseits den Längenzählstand auf dem laufenden, überträgt die Informationen aber nicht in den Hauptspeicher. Die mit einem CDA -Kennzeichen kombinierte Überspringen-Funktion ermöglicht es dem Programm, in den Hauptspeicher nur ausgewählte Teile der in einer Eingabe/Ausgabe-Einheit gelesenen Informationen zu übertragen.
Die Programmsteuerungs - Unterbrechungskennzeichnung (PCI), die in der 36. Bitstelle des Formats 91 auftritt, ermöglicht es dem Programmierer, eine Eingabe/Ausgabe-Operation während ihrer Durchführung zu unterbrechen. Sooft ein PCZ-Kennzeichen im Kanalkommandowort erscheint, wird das Programm durch die Kanalsteuereinheit unterbrochen, so schnell dies nach dem Start der Übertragung ohne Verlust von Daten möglich ist. Das Setzen des PCZ-Kennzeichens wird in jedem Kanalkommandowort überwacht, mit Ausnahme solcher Kanalkommandowörter, die eine Kanalübertragung angeben. Hierbei können Modifizierbits im Operationscodefeld 92 des Kanalkommandowortes untergebracht werden.
Ein Abfühlen-Kommando löst die Durchführung einer Abfühloperation in der Eingabe/Ausgabe-Einheit aus. Dieses Kommando verursacht die Übertragung von in der Eingabe/Ausgabe-Einheit gesammelten Maschinenstatus-Informationen zum Hauptspeicher 20. Die Information wird im Speicher 22, ausgehend von der durch das Feld 94 des Kanalkommandowortes angegebenen Adresse, in aufsteigender Reihenfolge der Adressennummern, eingegeben. Der Abfühlstatus enthält detailliertere Informationen als das obengenannte Kanalstatuswort. Es wird auf diese Weise ermöglicht, genaue Informationen über den Maschinenstatus einer Eingabe/ Ausgabe-Einheit zu erhalten. Auch bei diesem Kommando werden die Kennzeichenbits untersucht, und es können Modifizierbits in das Operationscodefeld 92 aufgenommen werden.
Das Kommando »Übertragen im Kanal« bewirkt, daß die Kanalsteuereinheit ein anderes Kanalkommandowort von einem Speicherplatz aufruft, der durch die Adresse im Feld 94 des laufenden Kanalkommandowortes bezeichnet ist. Danach wird die Datenadresse inkrementiert und in ein Kommandoadreßregister 202 eingegeben. Das »Übertragung im Kanal«-Kommando löst im übrigen keine Operation in der Kanalsteuereinheit oder in den Eingabe/Ausgabe-Einheiten aus. Der Zweck des »Übertragen im Kanal«-Kommandos ist die Bildung einer Verkettung zwischen einander nicht benachbart gespeicherten Kanalkommandowörtern. Die »Übertragen im Kanal«- Funktion kann sowohl bei einer Datenadressenverkettung als auch bei einer Kommandoverkettung vorkommen. In Verbindung mit diesem Kommando werden einige Kennzeichenbits und Modifizierbits nicht beachtet.
Die beiden niedrigstelligen Bits des insgesamt acht Bits langen Operationscodefeldes 92 oder, sofern diese Bits binäre Nullen sind, die vier niedrigstelligen Bits des Feldes 92, geben dem Kanal die auszuführende Operation an. Der Kanal unterscheidet zwischen vier Operationen: Ausgabe vorwärts (Schreiben und Steuern), Eingabe vorwärts (Lesen und Abfühlen), Eingabe rückwärts (Lesen rückwärts) und Verzweigen (Übertragen im Kanal). Die verbleibenden vier Bits des Operationscodefeldes geben die Einzelheiten der jeweiligen Operation der Eingabe/ Ausgabe-Einheit an. Die Kanalkommandocodes für die verschiedenen Operationen sind folgende:
Tabelle I
0000 0000 Ungültiger Code
MMMM 0100 Abtasten
XXXX 1000 Übertragen im Kanal
MMMM 1100 Rückwärtslesen, Rückspulen
MMMM MMOl Schreiben
MMMM MMlO Lesen
MMMM MMIl Steuern
In der obigen Tabelle bedeutet M die Anwesenheit von Modifizierbits.
Die F i g. 5 A und 5 B geben ein allgemeines Blockschaltbild der Kanalsteuereinheit 44 bzw. 44' an, die Programmregister, Übertragungsregister, Steuerschaltungen und Taktgeberschaltungen enthält. Diese Einheiten werden auf eine Instruktion von der zentralen Verarbeitungseinheit 22 hin in Tätigkeit gesetzt, um Informationen zum oder vom Speicher 20 zu übertragen. Wenn eine Eingabe/Ausgabe-Einheit, z. B. 26', das der zentralen Verarbeitungseinheit 22 zugeleitet werden soll, so überführt die Kanalsteuereinheit das Signal in ein Format, das geeignet ist, in der zentralen Verarbeitungseinheit verwendet zu werden. Die Kanalsteuereinheit enthält alle für die Steuerung der Eingabe/Ausgabe-Operationen erforderlichen Einrichtungen. Die Eingabe/Ausgabe-Operationen überlappen sich vollständig mit der Tätigkeit
13 14
der zentralen Verarbeitungseinheit 22. Darüber hin- Kanaladreßwort CA W zugeleitet, um zur Adressieaus überlappen sich auch einzelne Kanaloperationen rung des Speichers 20 für die Entnahme des nächsten unter sich. Die einzigen Hauptspeicherzugriffszyklen, Kanalkommandowortes zu dienen. Das Register 200 die während der Eingabe/Ausgabe-Operationen erfor- wird jeweils während der Operationen »Lesen«, derlich sind, sind solche, die zur Übertragung von 5 »Schreiben« oder »Rückwärtslesen« auf den letzten Daten zu oder von den endgültigen Plätzen im Stand gebracht, d. h., die Datenwortadresse wird Speicher erforderlich sind. Diese Speicherzugriffs- inkrementiert zur Adressierung des folgenden Datenzyklen stören nicht den Programmablauf in der Wortes im Speicher 20. Die drei niedrigsten Bitstellen zentralen Verarbeitungseinheit 22 und werden auch des Registers 200 bezeichnen die Bytestelle eines ihrerseits nicht durch diesen Programmablauf gestört. io Speicherwortes, auf der die Speicherung oder die Die einzige Ausnahme hiervon tritt dann auf, wenn Entnahme der zu übertragenden Daten zu beginnen sowohl die zentrale Verarbeitungseinheit 22 als auch hat.
eine Kanalsteuereinheit 44 gleichzeitig einen Speicher- Das Kommandoadreßregister 202 hat 21 Bitstellen,
zugriff zum Speicher 20 anfordert. Im folgenden Jede Stelle besteht in für sich bekannter Weise aus
werden die verschiedenen Teile der Kanalsteuer- 15 einer Verriegelungsschaltung der in Zusammenhang
einheit beschrieben. mit dem Datenregister 200 genannten Art. Es sind
Das Blockdiagramm von Fig. 5 A weist ein Daten- drei zusätzliche Stellen für die Aufnahme von Pariadressenregister 200, ein Kommandoadressenregister tätsbits vorgesehen. Der Eingang zum Register 202 202, ein Kennzeichenregister 204, ein Zählregister erfolgt von den Ausgängen gleichnamiger Bitstellen 206, ein Speicherschutzregister 208, ein Einheit- 20 des Addierers 214. Die Übertragung der Ausgangs-Adreßregister 210 und ein Operationsregister 212 auf. signale des Addierers 214 zum Register 202 wird Mit diesen Registern arbeiten ein Addierer 214 und durch nicht im einzelnen erläuterte Torschaltungen, ein Bytezähler 216 zusammen. Die Register sind gesteuert. Ausgangssignale des Kommandoadreßuntereinander durch eine Speicher-Ein-Sammelleitung registers 202 werden zu den entsprechenden Bitstellen 150, eine Speicher-Aus-Sammelleitung 154, eine 25 des Addierers 214 geleitet. Ein weiterer Ausgang des Speicher-Ein-Adressensammelleitung 151 und andere, Registers 202 ist mit ausgewählten Leitungen einer nicht dargestellte Datenwege verbunden. Die hori- Kanalstatus-Sammelleitung 218 verbunden, die bei zontalen Linien oberhalb eines jeden Registers sym- 192 an die Speicher-Ein-Datensammelleitung 150 bolisieren, daß die Adern einer Eingangssammel- angeschlossen ist. Ein weiterer Ausgang des Regileitung mit den Eingängen der entsprechenden Bit- 30 sters 202 führt zur Speicher-Ein-Adressensammelstellen des Registers verbunden sind. Die horizontalen leitung 151.
Linien unterhalb eines Registers symbolisieren, daß Das Register 202 enthält das Kanaladreßwort CA W, die Ausgänge der Bitstellen des Registers mit ent- das die Adresse des benötigten Kanalkommandosprechenden Adern in der ausgangsseitigen Sammel- wortes CCW bereitstellt. Während das Kanalkomleitung verbunden sind. Die Halbkreise in den be- 35 mandowort dem Speicher entnommen wird, erfolgt zeichneten Leitungen deuten auf Schaltmittel hin, mit Hilfe des Addierers 214 eine Abänderung des wie beispielsweise durch Takt- und Steuerschaltungen Kanaladreßwortes im Register 202, um, falls erfordergesteuerte Torschaltungen. Hch, die Adresse für das folgende Kanalkommando-
Das Datenadreßregister 200 (Fig. 5A) umfaßt wort anzugeben. Der Inhalt des Registers 202 wird 24 Bitstellen, und eine zusätzliche Stelle ist für die 4° Teil des Kommandostatuswortes, d.h. als Teil des-Paritätsprüfung vorgesehen. Jede dieser Bitstellen selben in den Speicher 20 übertragen, wenn eine besteht in für sich bekannter Weise aus einer bi- Unterbrechungsbedingung im Kanal auftritt,
stabilen Verriegelungsschaltung. Die Eingabe binärer Das Zählregister 206 ist ein 16 Bitstellen umf assen-Informationen in das Register erfolgt von zwei des Register, von denen jede Bitstelle aus einer VerQuellen. Jede Bitstelle ist mit einer Leitung der 45 riegelungsschaltung besteht. Außerdem sind zusätz-Speicher-Aus-Sammelleitung 154 verdrahtet. Außer- liehe Bitstellen für die Aufnahme von Paritätsbits dem sind die Eingänge aller Bitstellen, mit Ausnahme vorgesehen. Das Register enthält ferner eine »letztes der drei niedrigsten, über eine Sammelleitung 191 mit Wort«-Anzeigeschaltung 501 (F i g. 9), eine »Zählden Ausgängen der entsprechenden Bitstellen des stand kleiner als zwei Wörter«-Anzeigeschaltung 502 Addierers 214 verbunden. Die Ausgänge jeder Bit- 50 und eine »Zählstand gleich zwei Wörter«-Anzeigestelle des Registers 200 führen zu den Eingängen der schaltung 503. Außerdem ist in F i g. 9 auch eine entsprechenden Bitstellen des Addierers 214. Die Verriegelungsschaltung 379 dargestellt als Beispiel Ausgänge aller Bitstellen des Registers 200, mit Aus- einer Bitstelle des Registers 206. Die Anzeigeschalnahme der drei niedrigsten, sind weiterhin mit ent- tungen 501, 502 und 503 sind mit den Ausgängen sprechenden Leitungen der Speicher-Ein-Adressen- 55 der Verriegelungsschaltungen der am linken Rand Sammelleitung 151 verbunden. Die drei niedrigsten von F i g. 9 bezeichneten Bitstellen des Registers 206 Bitstellen des Registers 200 sind an die Eingänge des über UND- und ODER-Schaltungen in der Weise Bytezählers 216 angeschlossen und außerdem mit den verbunden, daß die Anzeigeschaltung 501 ein AusEingängen der entsprechenden Bitstellen des Addie- gangssignal liefert, wenn der Inhalt des Registers 206 rers 214 verbunden. 60 gleich oder kleiner als acht ist, die Anzeigeschaltung
21 Bitstellen des Registers 200 dienen zur Auf- 502 ein Ausgangssignal liefert, wenn der Inhalt des nähme der Adresse, auf der oder von der die zu Registers 206 kleiner als 16 ist und die Anzeigeübertragenden Daten im Speicher 20 aufgezeichnet schaltung 503 ein Ausgangssignal liefert, wenn der oder gelesen werden sollen. Während eines Korn- Inhalt des Registers 206 den Wert 16 aufweist. Da mandos »Übertragen im Kanal« enthält das Register 65 jedes Speicherwort im Speicher 20 aus acht Bytes 200 die Adresse des nächsten Kanalkommandowortes besteht, liefert somit das Ausgangssignal der Anzeige- CCW. Diese Adresse wird auf den neuesten Stand schaltung 501 eine Anzeige dafür, daß der Inhalt des gebracht und dem Register 202 als das nächste Registers 206 kleiner ist als die Anzahl der Bytes
15 16
in einem Speicherwort. Dementsprechend bedeuten empfängt die zum Vergleich der Adresse auf der Eindie Ausgangssignale der Anzeigeschaltung 502, daß heit/Adressen - Aus -Sammelleitung 125 und auf der der Inhalt des Registers 206 kleiner ist als die Byte- Eingabe/Ausgabe-Aus-Sammelleitung 170. Das Verzähl zweier Speicherwörter, und die Ausgangssignale gleichsregister 211 liefert ein Signal an; die Steuerder UND-Schaltung 503 bedeuten, daß der Zählstand 5 schaltungen der Kanalsteuereinheit, des Registers 206 der Bytezahl zweier Speicherwörter Das Speicherschutzregister 208 umfaßt vier Bitentspricht, stellen. Der Eingang dieses Registers ist mit ausge-Der Eingang des Registers 206 ist an ausgewählte wählten Stellen der Speicher-Aus-Sammelleitung 154 Leitungen der Speicher-Aus-Sammelleitung 154 ange- verbunden. Der Ausgang des Registers 208 führt zu schlossen. Außerdem ist ein weiterer Eingang zu den 10 einer Speicherschutz-Sammelleitung 153 sowie zu be-Bitstellen des Registers 206 mit dem Ausgang des stimmten Leitungen einer Kanalstatus-Sammelleitung Addierers 216 verbunden. Diese Eingänge sind über 218. Darüber hinaus führen Ausgänge des Registers nicht dargestellte Torschaltungen geführt. 208 zu einer Paritätsprüfschaltung 209. Das Register Die Ausgangssignale der drei niedrigsten Bitstellen 208 enthält die Speicherschutzmarkierungen, die des Zählregisters 206, die in echter und komplemen- 15 einen Bereich im Speicher festlegen, auf den die tärer Form gebildet werden, werden einem Verglei- Operationen des Kanals beschränkt sind. Diese Speicher 312 und dem Markier-B-Register 302 (F i g. 5B) cherschutzmarkierungen, bei denen es sich um Adreszugeleitet. Außerdem sind die Ausgänge aller Bit- sen von Speicherbereichen oder Speicherblöcken des stellen mit den Eingängen des Addierers 214 verbun- Speichers 20 handelt, werden als Teil des Kanalden und werden auch der Kanalstatuswort-Sammel- 20 Statuswortes geliefert und sichergestellt, wenn eine leitung 218 zugeführt. Alle diese Leitungen sind über Kanalunterbrechung oder die Beendigung einer Kageeignete Torschaltungen geführt. naloperation eintritt.
Das Zählregister 206 nimmt aus dem vom Speicher Das Operationsregister 212 umfaßt acht Bitstellen 20 gelesenen Kanalkommandowort den Inhalt des und zusätzliche Bitstellen für Paritätsprüfungen. Die Längenzählfeldes 100 auf. Der durch dieses Feld 25 Eingabe in das Register 212 geschieht über die Speiausgedrückte Zählstand wird mit Hilfe des Addierers cherdaten-Aus-Sammelleitung 154. Die Ausgänge des 214 verändert, während eine Datenübertragung durch Registers 212 sind mit bestimmten Leitungen der den Kanal erfolgt. Außerdem werden die niedrigsten Eingabe/Ausgabe-Aus-Sammelleitung 170 verbunden drei Stellen des Zählstandes und der im Bytezähler und werden über diese der Eingabe/Ausgabe-Koppelgebildete Zählwert algebraisch miteinander verknüpft, 30 einheit 26 zugeleitet. Darüber hinaus werden die Ausum das Ende einer Datenübertragungsoperation zu gänge des Registers 212 der Speicherdaten-Ein-Sambestimmen. Die hierbei stattfindenden Operationen melleitung 150 zugeführt. Ein nicht dargestellter Auswerden im einzelnen in einem späteren Abschnitt gang des Registers 212 ist außerdem mit dem Byteerläutert, zähler 216 verbunden, um diesen bei einer Rück-Das Kennzeichen-Register 204 weist fünf Bitstellen 35 wärts-Lesen-Operation ein Steuersignal zur Umkehauf. Der Eingang zu diesem Register ist mit aus- rung der Zählrichtung zuzuführen, gewählten Leitungen der Speicher-Aus-Sammelleitung Das Register 212 nimmt den im Zusammenhang 154 verbunden. Die Ausgänge des Registers 214 sind mit der F i g. 4 und der Tabelle 1 beschriebenen Inan eine Paritätsprüfschaltung 205 angeschlossen. Das halt des Operationscodefeldes 92 des Kanalkom-Register weist auch andere hier nicht dargestellte 40 mandowortes 91 auf zur Steuerung der Eingabe/Aus-Ausgänge auf. gabeeinheiten (F i g. 1) für eine Ausführung der Ope-Das Einheit-Adressenregister 210 umfaßt acht Bit- rationen Lesen, Schreiben, Abtasten u. dgl. Kanalstellen zur Aufnahme des Inhaltes aus dem Feld 86 kommandos, die diese Operationen einleiten, bewir-(F i g. 2) eines Kanalbefehls der zentralen Verarbei- ken, daß alle acht Bits aus dem Operationsregister tungseinheit 22. Mit dem Inhalt des Registers 210 45 212 zu der betreffenden Eingabe/Ausgabe-Einheit, wird eine Eingabe/Ausgabe-Einheit 26', 28', 30' usw. z. B. 26', übertragen werden. Die hohen Bitstellen ausgewählt, die an einer Kanaloperation beteiligt des Registers 212 enthalten Modifizierbits, welche werden soll. Die Eingabe in das Register 210 erfolgt der Eingabe/Ausgabe-Einheit zusätzliche Einzelheiüber eine Einheit-Adressen-Aus-Sammelleitung 125 ten zur Durchführung einer Operation angeben. Sie und über die Eingabe/Ausgabe-Ein-Sammelleitung 50 können eine Eingabe/Ausgabe-Einheit veranlassen, 176. Die Eingabesignale werden über Torschaltungen die ihr während einer Schreiboperation zugeführten den einzelnen Bitstellen des Registers 210 zugeführt. Daten mit den vorher aufgezeichneten Daten zu ver-Die an das Register 210 gelieferten Einheit-Adres- gleichen, und sie können weitere Bedingungen, wie sen-Signale werden gleichzeitig auch einem Ver- Aufzeichnungsdichte und Parität, angeben. Für das gleichsregister 211 zugeleitet. Die Ausgänge des 55 Steuerkommando können die Modifizierbits auch den Registers 210 sind mit einer Einheit-Adressen-Ein- Ordnungscode angeben, der die durchzuführenden Sammelleitung 126 und über ein Aus-Empfangsregister Steueroperationen bestimmt.
318 mit einer Eingabe/Ausgabe-Aus-Sammelleitung Sooft ein Kanal ein ungültiges Kommando fest-
170 verbunden. Nicht dargestellte Ausgänge des Re- stellt, wird ein Programmprüfzustand erzeugt. Wenn
gisters 210 sind an die Speicher-Ein-Sammelleitung 60 das Kanalstatuswort (CSW) einen ungültigen Code
150 angeschlossen. enthält, wird der Statusteil des CSW während der
Das Register 210 dient zur Aufnahme der Adresse, Durchführung der Start-Eingabe/Ausgabe-Instruktion
die für die Auswahl einer Eingabe/Ausgabe-Einheit gespeichert. Wenn der ungültige Code während einer
verwendet wird. Wahlweise kann das Register 210 Kommandoverkettung entdeckt wird, wird die neue
auch die Adresse einer Einheit enthalten, die einen 65 Operation nicht ausgelöst, statt dessen wird ein
Unterbrechungsstatus liefert. Das Register ist ferner Unterbrechungszustand erzeugt,
mit Paritätsprüfschaltungen versehen. Der Addierer 214 weist 24 Stellen auf, die einen
Das Vergleichsregister 211 umfaßt 8 Stellen und Volladdiererteil und einen Inkrement-Dekrement-
Teil umfassen. Der Volladdiererteil enthält die vier niedrigsten Bitstellen. Der Rest des Addierers 214 besteht aus dem Inkrement-Dekrement-Teil. Alle Bitstellen besitzen an ihrem Ausgang eine Verriegelungsschaltung, die in Fig. 5A in ihrer Gesamtheit mit 214' bezeichnet sind. Einerseits sind alle Bitstellen des Addierers mit dem Ausgang des Datenadreßregisters 200 verbunden, und andererseits besteht eine zusätzliche Verbindung zwischen dem Eingang der niedrigen Bitstellen des Addierers und dem Ausgang der entsprechenden Bitstellen des Datenadreßregisters 200. Zusätzlich liefert das Zählregister 206 Eingangssignale zu allen Stellen des Addierers 214. Die Bitstelle 4 erhält in nicht dargestellter Weise ein Eins-Eingangssignal von der Inkrement-Dekrement-Steuerschaltung, wenn dem Addierer die Datenadresse aus dem Register 200 zugeführt wird.
Jede Bitstelle des Inkrement-Dekrement-Teiles erhält Eingangssignale vom Kommandoadressenregister 202 und vom Datenadressenregister 200 zugeführt. Die niedrigen Bitstellen erhalten zusätzlich Eingangssignale vom Zählregister 206 zugeführt. Die Ausgänge des Addierers 214 sind mit dem Datenadreßregister 200, dem Kommandoadressenregister 202 und dem Zählregister 206 verbunden. Ausgangssignale werden auch an die nicht dargestellte Paritätsprüfschaltung abgegeben. Der Inkrement-Dekrement-Teil des Addierers ist als Übertragungsvorausschau-Addierer ausgebildet, in dem Gruppen-Überträge und Gruppen-Borger gebildet werden.
Der Addierer 214, eine nicht dargestellte Inkrement-Dekrement-Steuerschaltung, nicht dargestellte Paritätsvorhersage-Schaltungen und die Schaltungen zur Erzeugung der Gruppenüberträge und Gruppenborger arbeiten zusammen, um den Inhalt des Registers 206 jeweils auf den letzten Stand zu bringen, und die Datenadressen oder die Kommandoadressen in den Registern 200 und 202 zu inkrementieren oder zu dekrementieren. Während dieser Vorgänge wird beispielsweise der Inhalt des Kommandoadressenregisters 202 auf das Vorhandensein von Paritätsfehlern geprüft. Jeder Paritätsfehler wird den entsprechenden Steuerschaltungen gemeldet, um die geeigneten Prüfoperationen für den Kanal einzuleiten. Der Addierer 214 dekrementiert in noch zu beschreibender Weise den Zählstand im Register 206 um acht. Die Datenadresse im Register 200 wird um acht inkrementiert.
Der Bytezähler 216 ist ein drei Zählstufen aufweisender Binärzähler, der zur Auswahl der veränderlichen Wortgrenze für die über den Kanal zu übertragenden Daten liegt. Der Bytezähler 216 enthält ein Register 215, einen Entschlüßler 217 und eine Verriegelungsschaltung 219. Das Register 215 und die Verriegelungsschaltung 219 werden in einem späteren Abschnitt ausführlich erläutert. Die Eingabe zu jeder Bitstelle wird durch die Ausgänge der drei niedrigsten Bitstellen des Datenadressenregisters 200 gebildet. Der Zähler liefert Ausgangssignale an noch zu beschreibende Steuerschaltungen und an eine nur Übertragung-Ende-Prüfschaltung in Form eines Vergleichers 312 (Fig. 5B).
Der Bytezähler-Entschlüßler 217 weist drei Eingänge auf, die mit dem Ausgang des Registers 215 verbunden sind, und liefert über acht Ausgangsleitungen Steuersignale zum Markier-B-Register 202 sowie zum Daten-B-Register 310 (Fig. 5B). Diese Ausgangssignale wählen Bitstellen des Markier-B-Registers302 und des Daten-B-Registers 310 aus im Rahmen des Betriebes der Speicheradressen-Sammelleitungen für die spätere Übertragung der im Daten-ARegister 308 gespeicherten Daten zum Speicher 20. Die Verriegelungsschaltung 219 enthält jeweils einen Wert, der um 1 höher ist als der Zählstand im Register 215. Die Ausgänge der Verriegelungsschaltungen 219 sind mit dem Vergleicher 212 verbunden. Der Bytezähler 217 ist ein bis acht zählender Binärzähler
ίο mit einer zusätzlichen Paritätsprüfstelle. Das Register 215 und die Verriegelungsschaltung 219 bilden zusammen die eigentliche Zählschaltung, die eine Übertragungsvorausschau-Funktion ausführt, um die üblicherweise bei binären Zählern auftretende Übertragungsausbreitungszeit zu vermeiden. Wenn der Bytezähler 216 ein Zählsignal empfängt, wird das Register 215 entsprechend dem im Vorausschauteil (Verriegelungsschaltung 219) enthaltenen Wert eingestellt. Der Vorausschauwert ist jeweils um 1 höher als der im Register 215 enthaltene Zählwert.
Nachdem das Register 215 auf dem neuen Zählstand eingestellt wurde, sind die Ausgangssignale des Entschlüßlers 217 ohne weitere Verzögerung verfügbar, da die Vorausschau-Schaltung 219 verriegelt ist, während sich der Zählstand ändert. Die Vorausschau-Schaltung bereitet daraufhin unabhängig vom Register 215 sofort den nächsten Zählwert vor, sobald ein Zählsignal aufgetreten ist. Der Zähler kann auf jede beliebige Zahl durch den Datenadresseneingang vom Register 200 voreingestellt werden.
Nachdem die Steuerregister der Kanalsteuereinheit 44 bzw. 44' beschrieben worden sind, werden die Datenübertragungsregister beschrieben, die zur Übertragung der Daten zwischen dem Speicher 20 und den Eingabe/Ausgabe-Einheiten, z. B. 26', Verwendung finden. Gemäß F i g. 5 B bestehen diese Register aus einem Markier-A-Register 300, einem Markier-B-Register 302, einem Daten-A-Register 308 und einem Daten-B-Register 310. Des weiteren sind der bereits erwähnte Vergleicher 312, ein Eingabe/Ausgabe-Ein-Empfangsregister 316, ein Eingabe/Ausgabe-Aus Empfangsregister 318, Kanalstatus - Schaltungen 320 und ein Adressenvergleichsregister 322 vorgesehen.
Das Markier-A-Register 300 besitzt acht Bitstellen und enthält eine zusätzliche Stelle zur Paritätsprüfung. Jede Bitstelle besteht aus einer herkömmlichen Verriegelungsschaltung. Die Eingänge des Markier-A-Registers 308 sind mit den gleichnamigen Bitstellen des Markier-B-Registers 310 verbunden. Die Eingangssignale werden über geeignete Torschaltungen zugeführt, die durch Kanalspeicher-Steuersignale oder andere Signale in an sich bekannter Weise betätigt werden können. Die Steuersignale wirken mit den Bitstellen-Eingabesignalen zusammen, um Ausgangssignale an die Markier-Sammelleitung 152 zum Speicher 20 abzugeben. Die durch die verschiedenen Bitstellen des Markier-A-Registers 308 erzeugten Ausgabesignale stellen Steuerflipflops für die Speicherung von Datenbytes in die ausgewählten Wortspeicherbereiche des Speichers 20 ein. Sie dienen in diesem Sinne als Byte-Adressensignale.
Das Markier-B-Register 302 weist acht Bitstellen auf. Jede, dieser Bitstellen besteht aus einer herkömmlichen Vemegelungsschaltung. Das Markier-B-Register 302 erhält Eingabesignale über eine Sammelleitung 650 vom Bytezähler-Entschlüßler 217 zugeführt. Außerdem liefert das Zählregister 206 seine vier njedrigstelligen Bits über eine Sammelleitung 651
an die entsprechenden Stellen des Markier-B-Registers 302. Diese Signale werden zusammen mit geeigneten Schreib-Steuersignalen und einem Torsignal über UND-Schaltungen geführt. Das Register 302 enthält auch Paritätsprüfschaltungen. Alle Bitstellen des Registers 302 sind ausgangsseitig mit den Eingängen der entsprechenden Bitstellen des Markier-A-Registers 300 verbunden. Der Inhalt der drei niedrigstelligen Bitstellen wird dem Vergleicher 312 zur Bestimmung der Wortgrenzen zugeleitet. Die drei niedrigstelligen Bits werden auch der Speicherdaten-Aus-Sammelleitungen 154 zugeleitet. Entsprechend dem im Markier-B-Register 302 enthaltenen Steuerwert wird das Markier-A-Register 300 eingestellt.
Das Daten-A-Register 308 ist ein 64 Bitstellen langes Register, das zum Übertragen oder zum Zusammenstellen der Daten dient, die zwischen dem Speicher 20 und den Eingabe/Ausgabeeinheiten 26', 28', 30' usw. zu übertragen sind. Jede Bitstelle besteht aus einem konventionellen UND/ODER-Inverter, der mit einem konventionellen Inverter in an sich bekannter Weise zu einer bistabilen Verriegelungsschaltung verbunden ist. Die Eingangssignale zu den einzelnen Bitstellen des Registers 308 werden von ausgewählten Leitungen der Speicherdaten-Aus-Sammelleitung 154 erhalten. Ebenso sind die Ausgänge der Bitstellen des Daten-B-Registers 310 mit den Eingängen der entsprechenden Bitstellen des Daten-A-Registers 308 verbunden. Diese Eingangssignale werden zusammen mit geeigneten Torsteuersignalen über UND-Schaltungen zugeführt. Die Ausgänge der einzelnen Bitstellen sind mit den Eingängen der entsprechenden Bitstellen des Daten-B-Registers 310 und mit ausgewählten Leitungen der Speicherdaten-Ein-Sammelleitung 150 verbunden. Für jedes Byte im Register 308 wird ein Paritätsbit erzeugt und dem B-Register 310 sowie der Speicherdaten-Ein-Sammelleitung 150 zugeführt.
Das Daten-B-Register 310 enthält wie das Daten-A-Register 308 64 Bitstellen, die den gleichen Schaltungsaufbau aufweisen. Die Eingabesignale zu den einzelnen Bitstellen des Registers 310 werden von den entsprechenden Bitstellen des Registers 308 erhalten. Der Eingang jeder Bitstelle ist weiterhin mit der Eingabe/Ausgabe-Ein-Sammelleitung 176 verbunden. Die Eingabesignale werden durch geeignete Tor-Steuersignale über UND-Schaltungen zugeführt. Die Torsignale leiten die verschiedenen Bytes der über die Sammelleitung 176 eintreffenden Daten in aufeinanderfolgende Bytestellen des Registers 310. Jedes Byte besteht aus einer Bitgruppe von 8 Bits und ist mit einem zusätzlichen Paritätsbit versehen.
Die Ausgänge der Bitstellen des Registers 310 sind mit den Eingängen der entsprechenden Bitstellen des Daten-A-Registers 308 verbunden. Wie bereits erwähnt, sind die Ausgänge auch mit ausgewählten Leitungen der Eingabe/Ausgabe-Aus-Sammelleitung 170 verbunden. Auf diese Weise ist das Daten-B-Register 310 geeignet, Daten von in Eingabe/Ausgabe-Einheiten entgegenzunehmen und zur Übertragung in den Speicher 20 dem Daten-A-Register 308 zuzuführen sowie in umgekehrter Richtung Daten aus dem Speicher 20 über das Register 308 zu empfangen und an die Eingabe/Ausgabe-Einheiten weiterzuleiten.
Der Vergleicher 308 ist eine sechs Stellen aufweisende Vergleichsschaltung zur Aufnahme von echten und komplementären Signalen von der Bytezähler-Verriegelungsschaltung 219 und vom Zählregister
206. Die echten und die komplementären Signale von den genannten Quellen werden gemeinsam über UND-Schaltungen unter Wirkung geeigneter Steuersignale zugeführt. Der Vergleicher 312 erhält als weitere Eingabesignale auch die ! drei niedrigstelligen Bits des Markier-B-Registers 202. Die letzteren Signale werden gleichzeitig mit den Eingangssignalen aus der Verriegelungsschaltung 219 über UND-Schaltungen zugeführt und bilden ein Ausgangssignal, das anzeigt,
ίο daß der Bytezähler 216 den gleichen Inhalt aufweist wie das Markier-B-Register 302. Die Ausgangssignale des Vergleichers 312 werden zu Steuerschaltungen geleitet, die noch beschrieben werden.
Während einer Datenübertragung vergleicht der Vergleicher 312 den Inhalt des Zählregisters 206 und des Bytezählers 216, um das Ende der Datenübertragung zu bestimmen. Die Einzelheiten dieser Operation werden in einem späteren Abschnitt erläutert.
Das Eingabe/Ausgabe-Ein-Empfangsregister 316
zo ist eine aus acht Stellen bestehende Registerschaltung mit einer zusätzlichen Stelle für ein Paritätsbit. Jede Stelle besteht aus einer konventionellen Verriegelungsschaltung, die im Block 176' zusammengefaßt dargestellt sind. Jede Stelle ist mit einer Leitung der Eingabe/Ausgabe-Ein-Sammelleitung 176 verbunden. Die Ausgänge der einzelnen Stellen sind außerdem mit ausgewählten Eingangsleitungen des Daten-B-Registers 310 verbunden. Andere Ausgangsleitungen der Registerschaltung 316 sind an ausgewählte Eingänge des Einheit-Adressenregisters 210 angeschlossen. Darüber hinaus sind auch Ausgänge des Empfangsregisters 216 mit der Kanalstatus-Schaltung 320 verbünden. Das Empfangsregister 316 wird durch geeignete Torsignale in Tätigkeit gesetzt, die von nicht dargestellten Steuerschaltungen erzeugt werden. Das Empfangsregister 316 erhält die von den Eingabe/ Ausgabe-Einheiten über die Sammelleitung 176 übertragenen Datenbytes und gibt diese an geeignete Register der Kanalsteuereinheit ab.
Das Eingabe/Ausgabe-Aus-Empfangsregister 318 ist im wesentlichen in der gleichen Weise wie das vorher beschriebene Empfangsregister 316 aufgebaut. Es weist acht Bitstellen und eine zusätzliche Bitstelle für Paritätsprüfzwecke auf. Diese Stelle besteht aus einer konventionellen Verriegelungsschaltung. Die Eingänge der einzelnen Stellen sind mit Ausgängen von ausgewählten Stellen des Daten-B-Registers 310 verbunden. Außerdem liefert das Operationsregister 212 und das Einheitadressenregister 210 Eingangssignale
So zu ausgewählten Stellen des Empfangsregisters 318, das seine Ausgabesignale an die Eingabe/Ausgabe-Aus-Sammelleitung 170 abgibt.
Das Adressenvergleichsregister 322 ist ein achtstelliges Bitregister und beinhaltet eine zusätzliche Bitstelle für die Paritätsprüfung. Jede Stelle besteht aus einer konventionellen UND/ODER-Inverter-Verriegelungsschaltung. Jede Stelle ist mit einer Leitung der Eingabe/Ausgabe-Aus-Sammelleitung 170 und mit den Eingängen des Einheitadressenregisters 210 verbunden.
Das Register 322 gibt ein Ausgangssignal an eine nicht dargestellte Steuerschaltung ab im Zusammenhang mit der ursprünglichen Einstellung des Kanals, wenn dieser auf eine Instruktion anspricht. Als Teil der Kanal-Einstellung wird ein von einer angerufenen Eingabe/Ausgabe-Einheit als Kennsignal oder Rufsignal geliefertes Adressen-Ein-Signal und ein im Register 210 enthaltenes Adressen-Aus-Signal 322 ver-
glichen. Eine Übereinstimmung zeigt an, daß die Verbindung zur angerufenen Eingabe/Ausgabe-Einheit hergestellt ist.
Die Kanalstatus-Schaltungen 320 enthalten eine Vielzahl von Verriegelungsschaltungen, die auf die verschiedenen Eingabesignale zur Darstellung der verschiedenen Systembedingungen beim Übertragungsbetrieb ansprechen. Unter den einzelnen Kanalstatus-Schaltungen befindet sich eine Falsche-Länge-Aufzeichnungsschaltung, eine Schaltung zum Erneuern der Kommandoadresse, eine Programmprüfschaltung, eine Speicherschutzschaltung, eine Datenkanal-Prüfschaltung, eine Kanalsteuerung-Prüfschaltung und eine Verkettungsprüfschaltung. Jede Verriegelungsschaltung erhält verschiedene Kennzeichen-, Steuer- und Taktsignale, um das gewünschte Statussignal zu erzeugen. Die Ausgänge der verschiedenen Verriegelungsschaltungen werden der Kanalstatus-Sammelleitung 218 zur Übertragung zum Speicher 20 über die Speicherdaten-Ein-Sammelleitung 150 zugeleitet. Die Kanalstatus- und die Einheitsstatus-Signale werden als Kanalstatuswort CSW zum Speicher 20 übertragen und dort für eine spätere Verwendung, z. B. zur Fehleranalyse, aufbewahrt.
Der Bytezähler 216 ist ein achtstelliger Binärzähler mit den Zählzuständen 0 bis 7 und mit einer Paritätsbitstelle für eine ungerade Parität. Jede Zählstufe besteht aus drei bistabilen Schaltungen: Einer Register-Verriegelungsschaltung, einer Vorausschau-Verriegelungsschaltung und einem Schrittflipflop. Die Vorausschau-Verriegelungsschaltungen und die Schrittflipflops bilden die Vorhersagefunktion, durch die in der oben bereits erwähnten Weise die Übertragsdurchlaufzeit vermieden wird. Wenn ein Zählsignal auftritt, werden die Schaltzustände der Register-Verriegelungsschaltungen (P, 3, 2, 1) unmittelbar auf die gleichen Schaltzustände eingestellt, die von den Vorausschau-Verriegelungsschaltungen eingenommen werden. Die Vorausschau-Verriegelungsschaltungen stellen immer einen Wert dar, der um 1 höher ist als der in den Register-Verriegelungsschaltungen enthaltene Wert. Nach einer Veränderung des Zählwertes der Register-Verriegelungsschaltungen fällt keine Verzögerung für die Decodierung der Ausgangssignale an, da die Vorhersage-Verriegelungsschaltungen bereits eingestellt sind, während der Zähler seinen Zählzustand ändert. Unmittelbar nach Zählzustandsänderung werden die Vorausschau-Verriegelungsschaltungen auf den nächsthöheren Zählwert eingestellt. Die Register-Verriegelungsschaltungen können auf jeden Anfangswert zwischen 000 und 111 durch Erregung der »DA REG BIT«-Leitungen eingestellt werden. Der Zähler schreitet von seiner ursprünglichen Einstellung zu Null und von da weiter von 0 bis 7 fort, bis er ein Löschsignal empfängt und auf einen neuen Anfangswert voreingestellt wird. Der Zähler 216 steuert das Durchschalten der einzelnen Bytes eines Acht-Byte-Wortes, das von einer Eingabe/Ausgabe-Einheit der Kanalsteuereinheit zugeführt wird oder umgekehrt von der letztgenannten Einheit einer Eingabe-Ausgabe-Einheit zugeleitet wird.
Es folgt eine Beschreibung des Bytezählers 216 an Hand der Fig. 6A und 6B. Der Zähler 216 enthält Register-Verriegelungsschaltungen 975, 976 und 977, von denen jede mit einer Adressenleitung 978, 979 und 980 vom Ausgang des Registers 200 verbunden ist. Ferner ist eine Paritäts-Register-Verriegelungsschaltung 981 (Fig. 6B) vorgesehen. Die Register-Verriegelungsschaltungen 975, 976, 977 und 981 arbeiten mit entsprechenden Vorhersage-Verriegelungsschaltungen 975', 976', 977' und 978' zusammen. So arbeitet beispielsweise die Vorhers age-Ver-5 riegelungsschaltung 975' mit der Register-Verriegelungsschaltung 975 zusammen.
Die Vorhersage-Verriegelungsschaltungen nehmen jeweils einen Zählstand ein, der um 1 höher ist als der in den Register-Verriegelungsschaltungen enthaltene Zählwert. Der Zähler enthält ferner Schrittflipflops 975", 976", 977" und 981", die den Zählstand der Register-Verriegelungsschaltungen 975 bis 977 und 981 entsprechend den in den Vorhersage-Verriegelungsschaltungen 975" bis 977" und 981" enthaltenen Wert einstellen. So arbeitet beispielsweise das Schrittflipflop 975" mit der Register-Verriegelungsschaltung 975 und der Vorhersage-Verriegelungsschaltung 975' zusammen. Wie bereits erwähnt, werden die Register-Verriegelungsschaltungen 975 bis 977 durch die mit ihnen verbundenen Datenadressenleitungen vom Register 200 eingestellt. Die Vorhersage-Verriegelungsschaltungen 975' bis 977' werden auf die nächsthöhere binäre Zahl eingestellt als Folge der Ausgangssignale von den Register-Verriegelungsschaltungen. Die Schrittflipflops 975" bis 977" nehmen jeweils einen Zustand ein, der es erlaubt, die Einstellung der Vorhersage-Verriegelungsschaltungen 975' bis 977' in die Register-Verriegelungsschaltungen zu übertragen, wenn der Zähler ein Zählsignal empfängt. In der Tabelle II sind die verschiedenen Schaltzustände für die Register-Verriegelungsschaltungen, die Vorhersage-Verriegelungsschaltungen und die Schrittflipflops über die einzelnen Zählzustände dargestellt.
Tabelle II
40 O Register- 3 2 1 Vorhersage- 3 2 1 Schrittflipfiop 3 2 1
Zähl 1 Verriegelungs O O O Verriegelungs 0 0 1 0 0 1
wert 2 schaltungen O O 1 schaltungen 0 1 0 P 0 1 0
45 3 P O T-H O P 0 1 1 0 0 1 1
4 1 O T-H 1 0 1 0 0 0 1 0 0
5 O 1 O O 0 1 0 1 1 1 0 1
6 O 1 O 1 1 1 1 0 0 1 1 0
7 1 1 1 O 0 1 1 T-H 1 1 1 1
O 1 1 1 1 0 0 0 1 0 0 0
1 1 0
1 0 1
O 1
Die Tabelle II wird nachfolgend an Hand einer Zählstandsveränderung erläutert. Es sei angenommen, daß zum Zeitpunkt rl die Datenadressen-Zählereingänge eine binäre 0 darstellen, für die eine negative Polarität angezeigt wird. Die Ausgänge 982 und 983 sind positiv bzw. negativ. Diese Ausgangssignale zeigen die Einstellung einer binären 0 in der Register-Verriegelungsschaltung 175 an. Die Ausgänge 984 und 985 der Vorhersage-Verriegelungsschaltung 975' sind positiv und negativ. Eine solche Ausgangssignalkombination entspricht der Einstellung einer binären 1. Die Ausgänge 986 und 987 des Schrittflipflops 975" sind beide positiv. Eine solche Einstellung ist unbestimmt; wenn aber ein Zählstands veränderungssignal an die Klemme 988 angelegt wird, ändert sich die Einstellung des Schrittflipflops 975" in einen binären 1-Zustand, welcher der folgenden Einstellung der Register-Verriegelungsschaltung 975 entspricht.
In Übereinstimmung mit der obigen Annahme
23 24
enthalten auch die Register-Verriegelungsschaltung rungsleitung 181 über nicht dargestellte Steuerschal-976, 977 und 978 anfangs binäre Nullen bzw. eine tungen erregt. Den Torschaltungen 310' am Eingang Paritäts-Aus-Einstellung. Dementsprechend nehmen , des Daten-B-Registers 310 wird ein Abtastimpuls von die Vorhersage-Verriegelungsschaltungen 976', 977' ; einem Abtastgenerator 520 zugeleitet. Das vom Aus- und 981' die Einstellung Null ein. Die Schittflipflops 5 gang des Zählers 316 vorbereitete Tor wird daraufhin 976", 977" und 981" befinden sich zu dieser Zeit geöffnet, wodurch das betreffende Byte in die zualle in der Einstellung »positiv unbestimmt«. geordnete Bytestelle des Daten-B-Registers 310 ein-
Wird zum Zeitpunkt ti ein Zählstandsverände- gegeben wird.
rungssignal an die Leitung 988 angelegt, so ändert Gleichzeitig wird das diesem Byte zugeordnete Bit sich das Potential auf den Ausgängen 982 und 983 io in der Maske im Markier-B-Register 302 durch das der Verriegelungsschaltung 975. Hierdurch wird eine Ausgangssignal der leitenden Torschaltung der Torbinäre 1 als Inhalt der Verriegelungsschaltung 975 schaltungen 310' auf 1 eingestellt. In dieser Weise angezeigt. In der Folge werden die Ausgänge 984 wird die Eingabe von Bytes in das Register 310 und und 985 positiv, und die Ausgänge 986 und 987 die Eingabe entsprechender Bits in das Register 302 werden positiv und negativ und zeigen damit eine 15 fortgesetzt, bis das am weitesten rechts liegende Byte binäre 1 an. In dieser Weise wird in die Register- des Registers 310 geladen worden ist oder bis ein Verriegelungsschaltung 975 eine binäre 1 eingestellt, Ende der Leseoperation angezeigt wird. Zu diesem und die Vorhersage-Verriegelungsschaltung 975' geht Zeitpunkt wird der Inhalt des Daten-B-Registers 310 in eine binäre 0-Einstellung über. Der Schrittflipflop in das Daten-A-Register 308 übertragen, und der 975" enthält eine binäre 1 entsprechend den Aus- 20 Inhalt des Markier-B-Registers 302 wird in das gangssignalen der Register-Verriegelungsschaltung Markier-A-Register 300 übertragen. Daraufhin wird
975. Wenn das Zählstandsveränderungssignal an der ein Speicherzugriffszyklus eingeleitet. Wenn der Eingangsleitung 988 abklingt, behält die Register- Speicher antwortet, werden die Adresse aus dem Verriegelungsschaltung 975 ihren binären 1-Schalt- Datenadressenregister 200, die Byteadresse aus dem zustand bei. Die Vorhersage-Verriegelungsschaltung 25 Markier-A-Register 300 und die im Daten-A-Register 975' weist dann eine binäre 0-Einstellung und das 308 enthaltenen Daten zum Speicher 20 übertragen. Schrittflipflop 975" ebenfalls eine binäre 0-Einstellung In Zusammenhang mit der Fig. 7 B wird ein auf. Die Schaltzustände der Register-Verriegelungs- Speicherzugriffszyklus für eine Schreiboperation beschaltungen 976, 977, der Vorhersage-Verriegelungs- schrieben. Das durch die Datenadresse im Register schaltungen 976', 977' und der Schrittflipflops 976" 30 200 angegebene Wort wird aus dem Speicher 20 ge- und 977" sind aus der Tabelle II ersichtlich. lesen, und die vom Markier-A-Register 300 aus-
Die Ausgangssignale des Bytezählers 216 werden gehenden Maskensignale werden zur Einstellung von
dem Daten-B-Register 310 (Fig. 5B) und dem Mar- Torschaltungen 308' am Eingang des Daten-A-Regi-
Mer-B-Register 202 zugeleitet, um die Eingangstore sters 308 verwendet. Sofern das Markierbit einer
dieser Register für eine Dateneingabe zu öffnen. 35 Bytestelle 0 ist, wird das betreffende Byte vom Spei-
Hierzu werden die Ausgänge des Bytezählerregisters eher 20 in das Register 308 übertragen. Wenn da-
215, das den Register-Verriegelungsschaltungen 975, gegen das Markierbit einer Bytestelle den Wert 1 hat,
976, 977 in F i g. 6 entspricht, dem Bytezähler-Ent- wird das entsprechende Byte vom Ausgang des schlüßler 217 (Fig. 5A) zugeleitet, der entsprechend Speichers 20 blockiert, und statt dessen wird ein von den acht Zählstellungen acht Ausgangsleitungen auf- 40 einer Eingabe/Ausgabe-Einheit empfangenes Byte weist (Fig. 7A und 8). Diese Ausgangsleitungen sind zum Register 308 durchgeschaltet. Beim letzteren in der Reihenfolge der Zählstellungen den Bytestellen Byte handelt es sich um ein Byte aus dem Datendes Registers 310 und den Bitstellen des Registers B-Register 310, das dort in der beschriebenen Weise 302 zugeordnet. Das Markier-B-Register 302 betätigt nach dem Empfang in der Kanalsteuereinheit über die Speicheradressen-Treiber, um die in den Regi- 45 die Sammelleitung 176 eingestellt worden ist. Bei stern 310 und 308 gespeicherten Bytes in die rieh- dem sich anschließenden Speicherregenerationszyklus tigen Bytestellen des adressierten Speicherwortes zu wird der gesamte Inhalt des Daten-A-Registers 308 leiten. in den Speicher 20 eingeschrieben. Im Falle einer
Die Kanalsteuereinheit ermöglicht in Verbindung Schreiben-Kanaloperation wird gleichzeitig mit dem
mit dem Hauptspeicher 20 die Speicherung von 50 Rückschreiben des Datenwortes in den Speicher 20
vollen 64 Bits aufweisenden Wörtern oder von Teilen eine Übertragung desselben in das Daten-B-Register
dieser Wörter, beginnend mit jeder beliebigen Byte- 310 vorgenommen.
stelle des Speichers, durch die Verwendung von Das oben beschriebene Verfahren der Byteadres-Masken. Die Masken oder Markierbits, zu deren sierung innerhalb von Speicherwörtern vorgegebener Aufnahme die Register 202 und 300 dienen, werden 55 Größe kann bei jedem Byte/Wort-Längenverhältnis zusammen mit der Speicherdaten-Wortadresse als zur Speicherung jedes Bytes oder jeder Kombination Byteadressen zur Adressierung des Speichers 20 be- von Bytes in einem Speicherwort verwendet werden, nutzt. Die Steuerung der Byte-Speicheroperation Eine Datenübertragung ausführende Eingabe/ wird in Verbindung mit F i g. 7 A beschrieben. Ein Ausgabe-Einheiten sind oft nicht in der Lage, auf Kanalkommandowort für eine Kanal-Lesen-Opera- 60 einen Kanal zu warten, der entscheiden soll, wo die tion stellt die Start-Datenadresse im Register 200 Anfangs-Grenzadresse eines ersten Datenbytes fest-(Fig. 5A) ein. Der Byteteil dieser Start-Daten- gelegt werden soll, das einem verketteten Kanaladresse wird in der beschriebenen Weise dem Byte- kommandowort zugeordnet ist. Im günstigsten Falle zähler 216 zugeführt. kann diese Einstellung durch eine Vorausentnahme
Ein der adressierten Eingabe/Ausgabe-Einheit zu- 65 eines neuen Kanalkommandowortes vermieden wergeführtes Lesekommando bewirkt, daß ein Datenbyte den, wenn der Kanal das Auslaufen der Längenauf der Eingabe/Ausgabe-Ein-Sammelleitung 176 er- zählung im laufenden Kanalkommandowort feststellt, scheint. Hiermit wird auch die Bedienungsanforde- Eine zweite Möglichkeit besteht für die Kanal-
kommandosteuereinheit darin, jeweils eine von zwei Anfangs-Begrenzungsadressen anzunehmen und die eintreffenden Daten entsprechend zuzuordnen. Durch Schieberegister kann dann später eine Adressenumordnung vorgenommen werden. Die hier beschrie- S bene Kanalsteuereinheit benutzt dagegen eine parallele Dateneingabe in ein Zusammenstellungsregister, wobei zunächst beide von zwei möglichen Anfangs-Adressenbegrenzungen angenommen werden.
In F i g. 8 wird ein über die Eingabe/Ausgabe-Ein-Sammelleitung 176 kommendes Datenbyte durch den Bytezähler-Entschlüßler 217 in eine von diesen angegebene Bytestelle des Registers 310 über von den Zählerausgangssignalen gesteuerte Torschaltungen 310" eingegeben. Zusätzlich wird das Byte auch in die gleichnamige Bytestelle des folgenden Wortes im gleichen Register eingegeben, das eine Aufnahmekapazität von zwei vollständigen Wörtern aufweist. Auf diese Weise wird ein erstes Datenbyte in die erste Stelle eines einzelnen Wortes und in die erste Stelle eines Doppelwortes eingegeben, unabhängig davon, in welchem Teil des Registers 310 das einzelne Wort gespeichert wird. Diese Doppeleingabe tritt als Folge ernes Signals auf einer Leitung 217' auf, wenn eine Daten-Lesen-Adressenverkettungsoperation durchgeführt wird. Die Doppelspeicherung wird gemäß F i g. 8 dadurch erzielt, daß die höchste Bitstelle am Eingang des Entschlüßlers 217 durch das Signal auf der Leitung 217' gebildet wird, wodurch beispielsweise in der Zählstellung 000 gleichzeitig die Entschlüßlerausgänge 000 und 100 signalführend werden. Normalerweise wird die Kanalsteuereinheit ein neues Signalkommandowort aufrufen, wenn eine Vier-Wort-Zählung erreicht wurde. Wenn ein neues Kanalkommandowort vorliegt, kann im Register 310 die Auswahl eines einzelnen oder eines doppelten Wortes durchgeführt werden. Bezieht sich die im neuen Kanalkommandowort enthaltene Adresse auf eine Doppelwortgrenze, dann wird die zweite Hälfte des Inhaltes des Registers 310 von dem in ihr enthaltenen Teil des doppelt gespeicherten Wortes gelöscht, und die Zusammenstellung des vollständigen Doppelwortes wird fortgesetzt. Ist die neue Adresse hingegen auf eine einfache Wortbegrenzung gerichtet, so wird die erste Hälfte des Registers 310 von dem in ihr enthaltenen Teil des doppelt gespeicherten Wortes gelöscht, und der Inhalt der zweiten Hälfte des Registers wird vollständig gespeichert. Auf diese Weise ist es möglich, daß die Kanalsteuereinheit Adressenverkettungen durchführt, ohne auf eine hohe Datenübertragungsgeschwindigkeit verzichten zu müssen. Es fällt dadurch auch die Beschränkung weg, daß der Kanal eine Verkettungsoperation entweder nur an einer Bytegrenze oder nur an einer Acht-Byte-Wortgrenze durchführt.
Nachfolgend wird die Arbeitsweise der Kanalsteuereinrichtung an Hand der Fig. 5A, 5B und 10 erläutert. Der Addierer (Fig. 5B) erhöht jeweils den Inhalt des Datenadreßregisters 200 um den konstanten Wert 8 und erniedrigt den Inhalt des Zählregisters 206 jeweils um den gleichen konstanten Betrag. Der Konstantwert 8 ergibt sich aus der Wortlänge von 8 Bytes. In diesem Zusammenhang sei daran erinnert, daß das Register 200 die jeweilige Wortadresse und das Register 206 den Längenzählstand für die zu übertragenden Daten enthält. Es sei beispielsweise angenommen, daß ein Kanalkommandowort angibt, 13 (binär 01101) Datenbytes aus dem Speicher 20 zu einer ausgewählten Eingabe/Ausgabe-Einheit, z. B. 26', zu übertragen, und zwar anfangend mit dem sechsten Byte (binäre Byteadresse 101) einer Datenwortadresse 30 (binär 11110) und endend mit dem zweiten Byte (binäre Byteadresse 001) einer Datenwortadresse 32 (binär 110000). Hierbei ist zu beachten, daß die Byteadressierung innerhalb eines Wortes jeweils mit 000 beginnt (= erstes Byte).
Nachdem die Kanalsteuereinheit den Operationscode des Kanalkommandowortes entschlüsselt hat und während die vom Inhalt des Registers 210 bezeichnete Eingabe/Ausgabe-Einheit ausgewählt und verfügbar gemacht wird, hat der Inhalt des Datenadreßregisters 200 den Wert 30 (binär 11110). Diese Wortadresse wird zum Speicher 20 durchgeschaltet, und das erste zu übertragende Datenwort wird aus diesem Speicher entnommen und in das Daten-A-Register 308 eingegeben. Dieses Wort wird daraufhin in das Daten-B-Register 310 übertragen, und es wird die Entnahme des nächsten Wortes von der Wortadresse 31 (binär 1111) zur Übertragung in das Register 308 vorbereitet. Zu diesem Zweck wird der · Inhalt des Registers 200 in noch zu beschreibender Weise inkrementiert.
Zur gleichen Zeit, wenn die Wortadresse im Register 200 der Speichereinheit für eine Speicherentnahme zugeleitet wird, wird diese auch dem Addierer 214 zugeführt, jedoch ohne den Byteadressenteil, d. h. ohne die letzten drei Bitstellen. Ein Inkrementier-Steuersignal wird dem Addierer zugeführt zur Änderung der Wortadresse 30 (binär 11110) in die Wortadresse 31 (binär 1111). Da die Inkrementierung der Wortadresse unter Wirkung des Inkrementier-Steuersignals in der vierten Bitstelle des Addierers 214 durchgeführt wird, entspricht sie der Addition des Wertes 8 zur vollständigen Datenadresse im Register 200. Die nächste Speicherentnahmeoperation beginnt nun mit der Datenadresse 31. Wenn das von der Adresse 31 entnommene Wort zum Daten-A-Register 308 übertragen wird, werden die drei niedrigstelligen Bits des Adressenwertes im Register 200, nämlich die Byteadresse (binär 101) dem Addierer 214 zusammen mit dem Zählstand aus dem Zählregister 206 zugeführt. Zu diesem Zeitpunkt hat der Zählstand im Register 206 den Wert 13 (binär 01101); die Summe zwischen der Byteadresse und dem Inhalt des Registers 206 ist somit 18 (binär 10010). Diese Summe wird wieder zurück in das Zählregister 206 übertragen und ersetzt dort den bisherigen Inhalt 13. Gleichzeitig mit der Übertragung der Byteadresse 101 zum Addierer 214 wird diese Byteadresse im Bytezähler 216 eingestellt. Der Zähler 216 schaltet zu seinem nächsten Zählstand bzw. zum Zählstand 6 fort, um die Eingangstore des Daten-B-Registers 310 in der beschriebenen Weise während des Empfangs der Daten vom Daten-A-Register 308 zu steuern (Fig. 7B). Hierbei wird angenommen, daß das dem Kanal zugeführte Kanalkommandowort eine Schreib-Operation steuert. Wenn der Bytezähler im Verlaufe der folgenden Byteübertragungen in die Stellung 000 geschaltet wird, ist eine Wortgrenze erreicht, und es muß in der beschriebenen Weise die nächste Datenadresse gebildet werden. Nachdem das Daten-A-Register 308 mit dem von der Wortadresse 31 gelesenen Wort geladen und der Inhalt des Registers 200 auf den letzten Stand gebracht wurde, wird der Inhalt des Zählregisters 208 um den Wert 8 dekrementiert. Das Dekrementieren
erfolgt durch den Addierer 214, dem zu diesem Zweck ein Dekrementier-Steuersignal zugeleitet wird. Unter Wirkung dieses Dekrementier-Steuersignals wird vom Inhalt des Zählregisters 206 der Wert 8 subtrahiert. Damit wird der neue Längenzählstand 10 (binär 01010) erhalten, der daraufhin in das Zählregister 206 zurückübertragen wird, um dort den vorherigen Inhalt 18 (binär 10010) zu ersetzen.
Nachdem alle Bytes des folgenden Wortes über die von den Ausgangssignalen des Dekodierers 217 gesteuerten ausgangsseitigen Torschaltungen 310"' des Registers 310 und über die Sammelleitung 170 zur adressierten Eingabe/Ausgabe-Einheit übertragen worden sind, wird der Zählstand des Registers 206 erneut dekrementiert. Dies erfolgt zu einem Zeitpunkt, wenn das Daten-A-Register 308 mit dem Wort von der Wortadresse 32 geladen und die Adresse im Register 200 auf den letzten Stand gebracht worden ist. Der vom Ausgang des Addierers 214 erhaltene neue Längenzählstand-Wert 2 (binär 00010) wird dem Zählregister 206 zugeleitet, das damit ein Anzeigesignal »letztes Wort« durch die Anzeigeschaltung 501 in der in Verbindung mit F i g. 9 beschriebenen Weise erzeugt. Dieses Anzeigesignal veranlaßt, daß die drei niedrigstelligen Bits des Zählregisters 206, d.h. der Binärwert 010, dem Vergleicher 312 zugeleitet wird. Gleichzeitig liefert der Bytezähler 216 einen Eingang als zweiten Vergleichsoperanden zum Vergleicher 312. Dieser Eingang kommt von der Bytezähler-Verriegelungsschaltung 219, die, wie oben erläutert, jeweils einen um 1 höheren Wert als das Bytezählerregister 215 enthält. Wenn die Bytezähler-Verriegelungsschaltung 219 im Verlaufe der folgenden Byteübertragungen bis zum Binärwert 010 fortgeschritten ist, zeigt der Vergleicher 312 eine Übereinstimmung an und erzeugt ein Ausgangssignal, das ein Ende der Übertragungsoperation einleitet.
Aus der obigen Erläuterung ist ersichtlich, daß der Addierer nur zur Veränderung des Längenzählstandes im Register 206 und Veränderung der Speicheradresse im Register 200 nach jeder Wortübertragung benötigt wird. Es ist daher zulässig, daß der Addierer 214 langsamer arbeitet als die Datenübertragung zwischen den Registern 308 und 310. Die Addierer-Operation wird jeweils durch den Zähler 216 gesteuert. Letzteres wird zusammenfassend an Hand der Fig. 10 erläutert. Jeweils dann, wenn die Vorhersage-Verriegelungsschaltungen 975', 976' und 977' (Fig. 6) der Schaltung 219 den Zählstand 0 erreicht haben, wird eine UND-Schaltung (AP) 530 signalführend und bringt eine »Bytezähler = 0«- Verriegelungsschaltung 345 in den Ein-Zustand (Fig. 10). Die Verriegelimgsschaltung 345 liefert in diesem Zustand Steuersignale an Steuerschaltungen 532 bis 536, die außerdem auch geeignete Steuer- und Taktsignale von anderen nicht dargestellten Teilen der Kanalsteuereinheit erhalten. Die Steuerschaltungen 534 und 535 dienen in der oben erläuterten Weise der Veränderung des Inhalts der Register 206 und 202. Die Steuerschaltung 534 veranlaßt eine Inkrementierung der Datenadresse im Register 200 um die Wortlängenkonstante 8. Die Steuerschaltung 535 veranlaßt eine Dekrementierung des Längenzählstands im Zählregister 206 um die Wortlängenkonstante 8. Beide Schaltungen werden durch das Ausgangssignal von der Verriegelungsschaltung 531 in Tätigkeit gesetzt, obwohl die Inanspruchnahme des Addierwerkes 214 für die Adresseninkrementierung und die Zählstandsdekrementierung nacheinander erfolgt. Den zeitlichen Takt legen dabei Taktsignale auf Sammelleitungen 537 und 538 fest.
Das Ausgangssignal der UND-Schaltung 530 wird in Abhängigkeit vom 0-Zustand der Vorhersage-Verriegelungsschaltung 219 erzeugt. Hiermit wird die ίο Vorhersage-Funktion der letztgenannten Verriegelungsschaltung für ein vorbereitendes Ingangsetzen der Steuerschaltungen 534 und 535 ausgenutzt. Die Steuersignale von den Anzeigeschaltungen 502 und 503 (Fig. 9), die Teil der auf den Sammelleitungen 537 und 538 auftretenden Steuersignale sind, dienen dabei als Anzeige, daß der im voraus angezeigte 0-Zustand im Zähler 216 auch tatsächlich erreicht wird, d. h., daß es sich nicht um das letzte Wort handelt.
Mit den Steuerschaltungen 534 und 535 wird auch die Steuerschaltung 532 oder die Steuerschaltung 533 wirksam. Die Steuerschaltung 532 veranlaßt die während einer Schreiben-Operation von der Kanalsteuereinheit auszuführenden, oben beschriebenen Operationen zur Übertragung von Daten aus dem Speicher 20 zu einer adressierten Eingabe/Ausgabe-Einheit. Die Steuerschaltung 533 dient hingegen zur Steuerung der Leseoperation, während der Daten von einer adressierten Eingabe/Ausgabe-Einheit zum Speicher 20 übertragen werden. Beide Schaltungen werden unter Wirkung des im Kanal jeweils wirksamen Kanalkommandowortes wahlweise zur Wirkung gebracht.
Der Kanal dekrementiert somit den Längenzählstand, speichert oder liest ein Datenwort in bzw. von einer angegebenen Stelle des Speichers 20 und inkrementiert die Datenadresse, wenn der Bytezählstand 0 erreicht ist. Die Speicherzugriffsoperation und das Inkrementieren des Längenzählstandes werden dabei unabhängig voneinander und mit zeitlicher Überlappung durchgeführt. Ebenso wird die Adressenänderung im Register 200 in zeitlicher Überlappung mit den Byteübertragungen durchgeführt. Wenn der Kanal die Bestätigung einer Speicherung von Daten im Speicher 20 erhält, inkrementiert er bereits die im Register 202 stehende Datenadresse. Gleichzeitig mit dieser Operation fährt der Kanal fort, Informationen zu übertragen. Wenn hierbei das Daten-B-Register 310 gefüllt bzw. geleert worden ist, wird eine erneute Inkrementierung der Datenadresse und Dekrementierung des Längenzählstandes veranlaßt.
Die Steuerschaltung 536 von Fig. 10 kommt zur Wirkung, wenn das Steuersignal vom Ausgang der Verriegelungsschaltung 345 mit einem Ausgangssignal des Vergleichers 312 zusammentrifft. Da der Vergleicher 312 nur dann ein solches Ausgangssignal liefert, wenn er zuvor vom Zählregister 206 ein Anzeigesignal »letztes Wort« erhalten hat, besagt sein Ausgangssignal, daß das Ende der Übertragung auf Grund des Zählstandes der Verriegelungsschaltungen 219 vorhersehbar ist. Während daher das letzte Datenbyte übertragen wird, werden bereits die Steueroperationen zur Beendigung der Übertragung durch die Steuerschaltung 536 eingeleitet.
Hierzu 4 Blatt Zeichnungen

Claims (1)

  1. Patentansprüche:
    1. Rechenanlage, bestehend aus einer zentralen Verarbeitungseinheit und über Datenkanäle mit dieser verbundenen Eingabe/Ausgabe-Einheiten und aus wenigstens einer Kanalsteuereinrichtung, die unter der Steuerung im Speicher der zentralen Verarbeitungseinheit enthaltener Kanalkommandoworte steht und Pufferregister für die Zwischenspeicherung der zu übertragenden Daten und des diese Übertragung jeweils steuernden Kanalkommandowortes aufweist, das neben Operationsart-Steuerdaten ein Datenblock-Adressenfeld für einen zwischen der zentralen Verarbeitungseinheit und den Eingabe/Ausgabe-Einheiten zu übertragenden Datenblock sowie ein Datenblock-Längenfeld zur Markierung der Anzahl der zu einem Datenblock gehörenden Bitgruppen umfaßt, dadurch gekennzeichnet, daß in der Kanalsteuereinrichtung ein Datenadressen-Register (200) zur Aufnahme einer Datenblockadresse aus dem Kanalkommandowort dient, die in einem hochstelligen Teil die Adresse eines durch die physikalischen Speichergrenzen festgelegten Speicherwortes und in einem niedrigstelligen Teil die Adresse einer bestimmten Bitgruppe in diesem Speicherwort angibt, daß ein Blocklängenregister (206) vorgesehen ist, das zur Aufnahme einer in keiner festen Beziehung zu einem Speicherwortende stehenden Datenblocklängenangabe aus dem Datenblock-Längenfeld des Kanalkommandowortes dient und zu dessen Inhalt vor Beginn einer Übertragung über ein Addierwerk (214) der Bitgruppen-Adressenteil der Datenblockadresse addiert wird, daß ein die Datenübertragung steuernder Bitgruppenzähler (216) vorgesehen ist, der am Beginn einer Blockübertragung entsprechend dem Bitgruppen-Adressenteil voreingestellt wird und dessen Zählstand mit jeder Übertragung einer Bitgruppe zu oder von einer Eingabe/Ausgabe-Einheit um eins weitergeschaltet wird und der jeweils bei Erreichen eines vorgegebenen, der Länge eines Speicherwortes entsprechenden Zählstandes eine Speicherwortübertragung zwischen einem Datenregister (308) und dem Speicher der zentralen Verarbeitungseinheit sowie über das Addierwerk die Subtraktion einer festen Speicherwort-Bit-Gruppenzahl vom Inhalt des Blocklängenregisters auslöst, und daß das Blocklängenregister, sofern sein Inhalt während einer oder mehrerer derartiger · Subtraktionen gleich oder kleiner einer Speicherwortlänge geworden ist, ein Anzeigesignal »letztes Speicherwort« liefert, das eine Vergleichsschaltung (312) wirksam macht, die nach jeder Weiterschaltung des Bitgruppenzählers dessen Zählstand mit dem Inhalt des Blocklängenregisters auf Übereinstimmung prüft und im Falle einer Übereinstimmung ein »Blockübertragung beendet«-Signal erzeugt.
    2. Rechenanlage nach Anspruch 1, gekennzeichnet durch zwei parallel wirksame Pufferregister (308, 310), von denen das eine zur wortweisen Datenübertragung zwischen der Kanalsteuereinrichtung (44) und dem Speicher (20) und das andere zur bitgruppenweisen Datenübertragung zwischen der Kanalsteuereinrichtung und den Eingabe/Ausgabe-Einheiten (z. B. 26') dient, und daß beide Pufferregister vom Bitgruppenzähler (216) steuerbar sind, indem die Ein- und Ausgabeoperationen des einen vom 0-Zustand des Bytezählers abhängen und die Ein- und Ausgabeoperationen des anderen den verschiedenen Zählzuständen des Bitgruppenzählers zugeordnet sind und von diesen gesteuert werden.
    3. Rechenanlage nach einem der Ansprüche 1 und 2, dadurch gekennzeichnet, daß den Pufferregistern (308, 310) ein Markierregister (302) zugeordnet ist, das einen Kennwert für die belegten Pufferregisterstellen aufzeichnet, der als Maske oder Byteadresse die Übertragung zwischen den Pufferregistern und dem Speicher (20) steuert.
    4. Rechenanlage nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß das Markierregister (302) für jeden Bitgruppenstellenabschnitt des zur Übertragung zu den oder von den Eingabe/Ausgabeeinheiten dienenden Pufferregisters (310) eine Bitstelle aufweist, in die unter der Wirkung von aufeinanderfolgenden, den Bitgruppenstellenabschnitten zugeordneten Steuersignalen, die der Bitgruppenzähler (216) beim Durchlaufen seiner Schaltzustände erzeugt, binäre Eins-Werte eingeschrieben werden, wenn in den betreffenden Abschnitt dieses Pufferregisters eine Datenbitgruppe eingegeben wird.
    5. Rechenanlage nach den Ansprüchen 3 und 4, dadurch gekennzeichnet, daß für jedes der Pufferregister (308, 310) ein Markierregister (300, 302) vorgesehen ist, daß das Markierregister (302) des zur Übertragung zu den oder von den Eingabe/ Ausgabeeinheiten dienenden Pufferregisters (310) zur Bildung der Maske oder Byteadresse bei der Bitgruppeneingabe in dieses Pufferregister dient, und daß die Bitstellen dieses Markierregisters parallel mit den Bitstellen des anderen Markierregisters (300) verbunden sind, das die Maske während der Übertragungssteuerung enthält.
    6. Rechenanlage nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß das Blocklängenregister (206) mit seinen Bitstellen verbundene Anzeigeschaltungen (501 bis 503) aufweist, die ein Anzeigesignal »letztes Datenwort« erzeugen, wenn der Zählstand im Blocklängenregister gleich oder kleiner ist als die Bitgruppenkapazität eines Speicherwortes, und daß dieses Anzeigesignal die Vergleichsschaltung (312) zur Endanzeige wirksam macht.
    7. Rechenanlage nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß der Bitgruppenzähler (216) ein Binärzähler mit einer Zählkapazität ist, die der Anzahl der in einem Speicherwort enthaltenen Bitgruppen entspricht, und daß seine Zählstufen mit einer Anzeigeschaltung (AP/530) verbunden sind, die bei Auftreten des Null-Zählstandes ein Steuersignal liefert, das einen Speicherzugriffszyklus und zeitlich parallel zu diesem eine Subtraktion eines der Zählkapazität des Zählers entsprechenden Wertes vom Inhalt des Blocklängenregisters (206) veranlaßt.
    8. Rechenanlage nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß in Abhängigkeit vom Ausgangssignal der Null-Anzeigeschaltung (ΛΡ/530) des Bitgruppenzählers (216) das Addierwerk (214) mit dem Datenadressen-Re-
    3 4
    gister (200) verbunden wird, um den Inhalt dieses äußeren Eingabe/Ausgabe-Einheiten und aus einer
    Registers mit einem konstanten Wert auf die oder mehreren Kanalsteuereinheiten bestehen, wel-
    Adresse des nächsten Speicherwortes zu in- ehe die Datenübertragung zwischen den äußeren Ein-
    krementieren. heiten, der zentralen Recheneinheit und dem Spei-
    8. Rechenanlage nach einem der Ansprüche 1 5 eher steuern. Der Speicher i enthält neben den von
    bis 8, dadurch gekennzeichnet, daß mit dem Bit- der zentralen Recheneinheit zu verarbeitenden Da-
    gruppenzähler (216) in Verbindung stehende erste ten auch Instruktionen und Kommandos, die die
    Steuerschaltungen (532, 533) zur Ausführung der Verarbeitung dieser Daten sowie den Datenfluß zwi-
    Speicherzugriffe und ebenso mit dem Bitgruppen- sehen dem Speicher, der zentralen Recheneinheit und
    zähler (216) in Verbindung stehende zweite io den äußeren Eingabe/Ausgabe-Einheiten steuern. Da
    Steuerschaltungen (534, 535) zur Änderung des die Arbeitsgeschwindigkeiten der einzelnen Teile der
    Inhaltes des Datenadressen-Registers (200) und datenverarbeitenden Anlage sehr verschieden sind,
    des Blocklängenregisters (206) nach Anstoß was insbesondere auf das Verhältnis der Arbeitsge-
    durch ein Null-Ausgangssignal vom Bitgruppen- schwindigkeit der Eingabe/Ausgabe-Einheiten zur
    zähler (216) zeitlich parallel wirksam sind und 15 Arbeitsgeschwindigkeit der übrigen Teile der Anlage
    daß die Steuerung der Bitgruppeneingabe und zutrifft, entstehen für die schneller arbeitenden An-
    -ausgabe des zur Übertragung zu oder von den lagenteile Wartezeiten, die den Wirkungsgrad und die
    Eingabe/Ausgabe-Einheiten dienenden Puffer- Geschwindigkeit der Gesamtanlage stark herabsetzen,
    registers durch den Bitgruppenzähler (216) zeit- Dieser Nachteil wurde bisher durch die Verwen-
    lich parallel zur Tätigkeit der ersten und zweiten 20 dung von Programmen teilweise vermieden, durch
    Steuerschaltungen erfolgt. die die Eingabe/Ausgabe-Einheiten in regelmäßigen
    10. Rechenanlage nach einem der Ansprüche 1 Abständen der Reihe nach auf das Vorliegen von Bebis 9, dadurch gekennzeichnet, daß der Bit- dienungsanforderungen abgefragt wurden, Auf diese gruppenzähler (216) eine Registerschaltung (215) Weise konnten zwar die Wartezeiten der Anlagenaufweist, die den laufenden Zählwert speichert, 25 teile mit hoher Arbeitsgeschwindigkeit wesentlich des weiteren eine Zählwertvorausschau-Verriege- herabgesetzt werden, die erforderlichen Programme lungsschaltung (219) aufweist, die mit jeder Zähl- waren aber sehr umfangreich und ihre Herstellung Standsänderung auf den jeweils nächsten Zähl- außerordentlich mühsam und zeitraubend.
    wert voreingestellt wird, und schließlich eine Es sind auch schon datenverarbeitende Anlagen
    Schritt-Steuerschaltung (975" bis 977") aufweist, 30 bekanntgeworden, bei denen die Eingabe/Ausgabe-
    die bei einer Zählstandsänderung jeweils zu- Einheiten unter Steuerung einer Datenkanal-Steuer-
    > nächst die Registerschaltung auf den in der Zähl- einrichtung im wesentlichen gleichzeitig mit einer
    Standsvorausschau-Verriegelungsschaltung ent- zentralen Recheneinheit arbeiten, die mit den Ein-
    haltenen Wert einstellt, bevor die Weiterschal- gabe/Ausgabe-Einheiten einen gemeinsamen Speicher
    rung der letzteren auf den nächsten Zählwert, 35 teilt. Da es nicht möglich ist, mehrere Speicherzu-
    einschließlich der Übertragsverarbeitung, erfolgt. griffsoperationen gleichzeitig durchzuführen, sind
    11. Rechenanlage nach einem der Ansprüche 7 Prioritätsschaltungen vorgesehen, die festlegen, welbis 10, dadurch gekennzeichnet, daß die Null- ehe Eingabe/Ausgabe-Einheit den Vorzug hat und Anzeigeschaltung (AP/530) des Bitgruppenzäh- ob die zentrale Recheneinheit oder die Eingabe/Auslers (216) mit der Zählstandsvorausschau-Verrie- 40 gabe-Einheiten als Ganzes, d. h. die Datenkanalgelungsschaltung (219) verbunden ist und ein Steuereinrichtung, Zugriff zum Speicher erhalten solvobereitendes Steuersignal bereits erzeugt, wenn len. Eine solche Anlage ist zwar geeignet, die Wartedie Übertragung des letzten Datenbytes noch im zeiten der Anlagenteile mit hoher Arbeitsgeschwin-Gange ist. digkeit weiter herabzusetzen. Es treten jedoch auch
    45 hier Wartezeiten sowohl der Anlagenteile mit hoher Arbeitsgeschwindigkeit als auch seitens der langsa-
    mer arbeitenden Eingabe/Ausgabe-Einheiten auf.
    In den vorausgehend beschriebenen datenverarbeitenden Anlagen wird jeweils die Einheit mit dem 50 höchsten Vorrang für eine begrenzte Zeit mit dem
    Die Erfindung betrifft eine Rechenanlage, beste- Speicher verbunden. Wird die zentrale Recheneinheit hend aus einer zentralen Verarbeitungseinheit und mit dem Speicher verbunden, so überträgt sie ein über Datenkanäle mit dieser verbundenen Eingabe/ Datenwort zum Speicher oder empfängt von diesem Ausgabeeinheiten und aus wenigstens einer Kanal- ein Datenwort, oder sie entnimmt dem Speicher eine Steuereinrichtung, die unter der Steuerung im Spei- 55 Instruktion. Hat dagegen eine Eingabe/Ausgabecher der zentralen Verarbeitungseinheit enthaltener Einheit Priorität für einen Speicherzugriff, so wird Kanalkommandoworte steht und Pufferregister für unter Wirkung der Kanalsteuereinheit entweder ein die Zwischenspeicherung der zu übertragenden Da- Datenwort von der betreffenden Eingabe/Ausgabeten und des diese Übertragung jeweils steuernden Einheit zum Speicher oder umgekehrt vom Speicher Kanalkommandowortes aufweist, das neben Opera- 60 in die Eingabe/Ausgabe-Einheit übertragen, oder es tionsart-Steuerdaten ein Datenblock-Adressenfeld für wird ein Kanalkommandowort vom Speicher zu der einen zwischen der zentralen Verarbeitungseinheit Datenkanalsteuereinrichtung, auch Datensynchroni- und den Eingabe/Ausgabe-Einheiten zu übertragen- sierer genannt, übertragen, um die folgenden Datenden Datenblock sowie ein Datenblock-Längenfeld Übertragungen zwischen den Eingabe/Ausgabe-Einzur Markierung der Anzahl der zu einem Datenblock 65 heiten und dem Speicher zu steuern. Eine solche Angehörenden Bitgruppen umfaßt. lage ist im allgemeinen so ausgebildet, daß ein Kanal-Es sind datenverarbeitende Anlagen bekannt, die kommandowort die Übertragung großer Datenblocks aus einer zentralen Recheneinheit, einem Speicher, zwischen einer adressierten Eingabe/Ausgabe-Einhe.it
DE1499206A 1964-04-06 1965-04-06 Rechenanlage Expired DE1499206C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US35736964A 1964-04-06 1964-04-06

Publications (3)

Publication Number Publication Date
DE1499206A1 DE1499206A1 (de) 1970-01-15
DE1499206B2 true DE1499206B2 (de) 1973-08-16
DE1499206C3 DE1499206C3 (de) 1974-03-28

Family

ID=23405298

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1499206A Expired DE1499206C3 (de) 1964-04-06 1965-04-06 Rechenanlage

Country Status (3)

Country Link
US (1) US3488633A (de)
DE (1) DE1499206C3 (de)
GB (1) GB1062225A (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3701972A (en) * 1969-12-16 1972-10-31 Computer Retrieval Systems Inc Data processing system
US3728682A (en) * 1971-03-11 1973-04-17 Rca Corp Computer input-output chaining system
US3898623A (en) * 1973-06-05 1975-08-05 Ibm Suspension and restart of input/output operations
US3967246A (en) * 1974-06-05 1976-06-29 Bell Telephone Laboratories, Incorporated Digital computer arrangement for communicating data via data buses
US4045781A (en) * 1976-02-13 1977-08-30 Digital Equipment Corporation Memory module with selectable byte addressing for digital data processing system
US4040037A (en) * 1976-06-01 1977-08-02 International Business Machines Corporation Buffer chaining
US4126897A (en) * 1977-07-05 1978-11-21 International Business Machines Corporation Request forwarding system
US4131940A (en) * 1977-07-25 1978-12-26 International Business Machines Corporation Channel data buffer apparatus for a digital data processing system
US4347567A (en) * 1980-02-06 1982-08-31 Rockwell International Corporation Computer system apparatus for improving access to memory by deferring write operations
US4453209A (en) * 1980-03-24 1984-06-05 International Business Machines Corporation System for optimizing performance of paging store
US4368513A (en) * 1980-03-24 1983-01-11 International Business Machines Corp. Partial roll mode transfer for cyclic bulk memory
EP0378398B1 (de) * 1989-01-13 1996-07-24 International Business Machines Corporation Datenverarbeitungssystem mit Mitteln zur Zustandserkennung der Befehle empfangenden Datenverarbeitungseinrichtung
US5526484A (en) * 1992-12-10 1996-06-11 International Business Machines Corporation Method and system for pipelining the processing of channel command words
US7081421B2 (en) 2004-08-26 2006-07-25 Micron Technology, Inc. Lanthanide oxide dielectric layer
US7494939B2 (en) * 2004-08-31 2009-02-24 Micron Technology, Inc. Methods for forming a lanthanum-metal oxide dielectric layer
US7235501B2 (en) 2004-12-13 2007-06-26 Micron Technology, Inc. Lanthanum hafnium oxide dielectrics
US7662729B2 (en) * 2005-04-28 2010-02-16 Micron Technology, Inc. Atomic layer deposition of a ruthenium layer to a lanthanide oxide dielectric layer
US7927948B2 (en) 2005-07-20 2011-04-19 Micron Technology, Inc. Devices with nanocrystals and methods of formation

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3029414A (en) * 1958-08-11 1962-04-10 Honeywell Regulator Co Information handling apparatus
US3061192A (en) * 1958-08-18 1962-10-30 Sylvania Electric Prod Data processing system
US3222649A (en) * 1961-02-13 1965-12-07 Burroughs Corp Digital computer with indirect addressing
US3200380A (en) * 1961-02-16 1965-08-10 Burroughs Corp Data processing system
US3369221A (en) * 1964-05-04 1968-02-13 Honeywell Inc Information handling apparatus

Also Published As

Publication number Publication date
US3488633A (en) 1970-01-06
GB1062225A (en) 1967-03-15
DE1499206C3 (de) 1974-03-28
DE1499206A1 (de) 1970-01-15

Similar Documents

Publication Publication Date Title
DE1499206C3 (de) Rechenanlage
DE1524102C3 (de) Elektronische, aus Baueinheiten aufgebaute Datenverarbeitungsmaschine
DE1299145B (de) Schaltungsanordnung zum Steuern von peripheren Ein- und Ausgabegeraeten von Datenverarbeitungssystemen
DE2912738A1 (de) System mit direkter uebertragung zwischen subsystemen
DE2806045A1 (de) Dv-system mit pufferspeicher
DE2635592A1 (de) Multiprozessor-abrufsystem
DE2750721A1 (de) Ein/ausgabe-system
DE1424732A1 (de) Elektronische Ziffernrechenmaschine
DE1285220B (de) Datenverarbeitungssystem mit mehreren selbstaendigen Recheneinheiten
DE1499182B2 (de) Datenspeichersystem
DE1549474C3 (de) Anordnung In einer elektronischen digitalen Datenverarbeitungsanlage zur Ausführung eines ersten Befehls und gleichzeitigen Decodierung eines folgenden Befehls
DE1774870C3 (de) Einrichtung zur Adressierung einer Speicherzelle eines Speichers in einer Datenverarbeitungsanlage
DE4207158A1 (de) Speicher-zugriffssteuerung
DE1524111C3 (de) Elektronische Datenverarbeitungsanlage
DE2454613C2 (de) Kanaleinheit für die Steuerung der Datenübertragung auf einer Vielzahl von Kanälen zwischen den peripheren Einrichtungen und dem Hauptspeicher einer digitalen Datenverarbeitungsanlage
DE2063195C2 (de) Verfahren und Einrichtung zur Operationssteuerung einer Anzahl von externen Datenspeichern
DE2458525B2 (de) Speicheranordnung mit Haupt- und Pufferspeicher
DE1922304A1 (de) Datenspeichersteuergeraet
DE2221926C3 (de) Datenverarbeitungsanlage mit wenigstens einem in Verbindung mit mehreren Peripheriegeräten stehenden Prozessor
DE2704560C2 (de) Datenverarbeitende Anlage mit paralleler Bereitstellung und Ausführung von Maschinenbefehlen
CH495584A (de) Datenverarbeitungsanlage
DE2610428A1 (de) Anordnung zur steuerung der zwischenspeicherung von zwischen zwei funktionseinheiten zu uebertragenden daten in einem pufferspeicher
DE1212748B (de) Datenverarbeitende Maschine mit Programmunterbrechung
DE3149678A1 (de) Anordnung zur zwischenspeicherung von zwischen zwei funktionseinheiten in beiden richtungen zu uebertragenden informationen in einem pufferspeicher
DE1474090B2 (de) Datenverarbeitungsanlage

Legal Events

Date Code Title Description
SH Request for examination between 03.10.1968 and 22.04.1971
C3 Grant after two publication steps (3rd publication)
E77 Valid patent as to the heymanns-index 1977