DE2164718A1 - Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/Ausgabe-Einheiten mittels einer Zentraleinheit - Google Patents
Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/Ausgabe-Einheiten mittels einer ZentraleinheitInfo
- Publication number
- DE2164718A1 DE2164718A1 DE19712164718 DE2164718A DE2164718A1 DE 2164718 A1 DE2164718 A1 DE 2164718A1 DE 19712164718 DE19712164718 DE 19712164718 DE 2164718 A DE2164718 A DE 2164718A DE 2164718 A1 DE2164718 A1 DE 2164718A1
- Authority
- DE
- Germany
- Prior art keywords
- unit
- code
- units
- work
- memory
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
- G06F13/26—Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Description
I. 141
Augsburg, den 24. Dezember 1971
International Business Machines Corporation, Armonk,
N.Y. 10 504, V.St.A.
Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/Ausgabe-Einheiten mittels
einer Zentraleinheit
Die Erfindung betrifft Verfahren und Datenverarbeitungsanlagen
zur Steuerung einer Vielzahl von Eingabe/Ausgabe(E/A)· Einheiten mittels einer Zentraleinheit.
-X-
209830/0 9 78
Allgemein handelt es sich dabei um das Steuern von an eine Zentraleinheit angeschlossenen E/A-Einheiten und
insbesondere um ein indirektes Adressierverfahren zur E/A-Steuerung, nach welchem die Prioritäten der Tätigkeiten
der E/A-Einheiten durch ein Überwachungsprogramm diesen zugeordnet werden können, wann immer diese E/A-Einheiten
eine Unterbrechung anderer Bearbeitungsvorgänge verlangen. Dies geschieht in der Weise, daß den E/A-Einheiten
bestimmte Arbeitscodes, im folgenden Arbeitseinheitscodes genannt, derart wahlweise zugeordnet werden, daß die
tatsächliche Verdrahtung der Anlage unwichtig ist, jedenfalls so weit es die Prioritätssteuerung betrifft.
Es ist bereits ein Verfahren vorgeschlagen worden, gemäß welchem ein Arbeitseinheitscode zur indirekten
Adressierung eines Speichers verwendet wird, damit dieser einen echten Code der Einheit, im folgenden echter Einheitscode genannt, zur E/A-Steuerung abgibt. Bei diesem Verfahrensvorschlag
weisen die E/A-Einheiten, von welchen beispielsweise zweiunddreißig vorhanden sind, jeweils einen
unterschiedlich verdrahteten echten Einheitscode auf. Im Betrieb wird der in der E/A-Instruktion enthaltene
Arbeitseinheitscode dazu verwendet, durch Tabellensuchen den einem bestimmten Arbeitseinheitscode zugeordneten
209830/0978
echten Einheitscode zu ermitteln, welcher anschließend zu sämtlichen E/A-Einheiten übertragen wird, so daß
diejenige E/A-Einheit, welche einen gleichen verdrahteten echten Einheitscode aufweist, feststellen kann, daß
sie durch die E/A-Instruktion adressiert worden ist. Nachdem die E/A-Einheit festgestellt hat, daß sie
adressiert worden ist, speichert sie die die auszuführende Punktion betreffende Information. Während acht aufeinanderfolgender
Unterbrechungsoperationen aktivieren die E/A-Einheiten, welche jeweils mit einer einzelnen Unterbrechungsanforderungsleitung
versehen sind, ihre Unterbrechungsanforderungsleitung.
Eine Matrix in der Zentraleinheit stellt fest, welche von mehreren gleichzeitig in Tätigkeit zu treten verlangenden E/A-Einheiten die
höchste Priorität hat. Die Priorität wird demzufolge bei dieser bereits vorgeschlagenen Datenverarbeitungsanlage
durch die Art, in welcher die E/A-Einheiten mit der Matrix verbunden sind, bestimmt. Diese vorgeschlagene
Datenverarbeitungsanlage ist zwar so flexibel, daß eine gemeinsame Programmbenutzung möglich ist, die starre
Verdrahtung und die Forderung, daß für jede an die Datenverarbeitungsanlage angeschlossene E/A-Einheit eine
eigene Unterbrechungsanforderungsleitung vorhanden sein muß, sind jedoch in einigen Fällen unerwünscht. Außerdem
2 0 9 8 3 0/0978
ist, wenn die E/A-Einheiten jeweils eine gesonderte ünterbrechungsanforderungsleitung
haben, bei dem genannten Beispiel eine Matrix mit zweiunddreißig Variablen erfor
derlich und außerdem müssen die Adreßdecodierer und E/A-Adreßregisterspeicher verhältnismäßig groß sein. Die
Kosten der großen Matrix und der großen Decodierer und E/A-Adreßregisterspeicher können den Einsatz der vorgeschlagenen
Datenverarbeitungsanlage in nur auf einen Zweck ausgerichteten und damit kostenanfälligen Anwendungsfällen,
in welchen nur ein Bruchteil der 32 E/A-Einheiten erforderlich ist, verhindern.
Die Verwendung der Datenverarbeitungsanlage gemäß obengenanntem Vorschlag ist außerdem dadurch, daß die
E/A-Einheiten jeweils einen eindeutigen echten Einheitscode haben müssen, eingeschränkt, denn sofern nicht für
Fälle, in welchen identische E/A-Einheiten erforderlich sind, Vorkehrungen zur Feldmodifikation der festverdrahteten
echten Einheitscodes getroffen sind, ist sie nicht verwendbar. Eine Feldmodifikation von Satzkennzeichnungen
bzw. Feldnamen ist jedoch, wie allgemein bekannt, höchst unerwünscht.
Durch die Erfindung soll die Aufgabe gelöst werden,
- I1 _
209830/0978
ein Verfahren und eine Datenverarbeitungsanlage zur Steuerung einer Vielzahl von E/A-Einheiten anzugeben,
bei welchen nicht für jede E/A-Einheit eine gesonderte Un terbrechungsanforderungsleitung und keine Modifikation
des Feldnamens erforderlich sind.
Im Sinne der Lösung dieser Aufgabe beinhaltet die Erfindung ein Verfahren zur Steuerung einer Vielzahl
von Eingabe/Ausgabe-Einheiten mittels einer Zentraleinheit, welches gemäß der Erfindung durch folgende Schritte
gekennzeichnet ist:
a) Miteinanderverbinden der durch die Zentraleinheit direkt adressierbaren E/A-Einheiten über Datenübertragungswege,
b) Zuordnen eines echten Einheitscodes zu jeder E/A-Einheit, . ■-....
c) Laden der echten Einheitscodes der durch die Zentraleinheit zu adressierenden E/A-Einheiten
in den Speicher der Zentraleinheit,
ORIGINAL lNSPEGTEÖ
209830/0978
d) Zuordnen eines Arbeitseinheitscodes zu jeder benutzten E/A-Einheit und Verwenden dieses
Arbeitseinheitscodes zum Adressieren des echten Einheitscodes im Speicher,
e) übertragen eines echten Einheitscodes und eines Arbeitseinheitscodes aus dem Speicher
zu sämtlichen E/A-Einheiten, und
f) Vergleichen des übertragenen echten Einheitscodes mit dem jeder E/A-Einheit zugeordneten
echten Einheitscode und Speichern des Arbeitseinheitscodes in der den Vergleich ausführenden
E/A-Einheit.
Die Erfindung beinhaltet außerdem eine Datenverarbeitungsanlage zur Durchführung des Verfahrens nach
der Erfindung. Eine solche Datenverarbeitungsanlage ist gemäß der Erfindung gekennzeichnet durch eine Vielzahl
von E/A-Einheiten, welchen jeweils ein eindeutiger echter Einheitscode sowie ein Vergleicher zum Empfang dieses
echten Einheitscodes und außerdem ein Arbeitseinheitscodespeicher und ein weiterer Vergleicher zum Empfang der
Arbeitseinheitöcödeä'zugeordnet sind, ferner1 durch eine
209830/0978
jeweils rait den E/A-Einheiten verbundene Zentraleinheit,
welche einen Echteinheitseodespeicher, der durch die Arbeitseinheitscodes adressiert wird und die benutzten
echten Einheitscodes enthält, außerdem einen E/A-Adreßregisterspeicher zum Speichern der Adressen von Speicherplätzen
im Speicher, die von den E/A-Einheiten benutzt werden, sowie Einrichtungen zum Entnehmen desjenigen
echten Einheitscodes aus dem Echteinheitseodespeicher, welcher durch das Arbeitseinheitscodefeld einer E/A-Instruktion
bestimmt ist, und zum Ausgeben des ermittelten echten Einheitscodes zusammen mit dem diesen bestimmenden
Arbeitseinheitscode an die E/A-Einheiten, und außerdem einen Adreßdecodierer aufweist, welcher ebenfalls die
an die E/A-Einheiten abgegebenen Arbeitseinheitscodes empfängt und das eindeutige E/A-Adreßregister aus dem
E/A-Adreßregisterspeicher zur Verwendung durch diejenige E/A-Einheit auswählt, welche dem ausgegebenen Arbeitseinheitscode
entspricht, wobei der eine Vergleicher die ausgegebenen echten Einheitscodes mit den in den
E/A-Einheiten festverdrahteten echten Einheitscodes vergleicht und bewirkt, daß bei Übereinstimmung derselben
der ausgegebene Arbeitseinheitscode in dem Arbeitseinheitscodespeicher gespeichert wird.
209830/0978
Gemäß der Erfindung weisen die E/A-Einheiten, welche in Sternschaltung an die Zentraleinheit angeschlossen sind,
jeweils einen eindeutigen echten Einheitscode, welcher in
den E/A-Einheiten jeweils festverdrahtet ist, und einen Arbeitseinheitscode auf, welcher durch die E/A-Instruktion
in einen Speicher geladen wird. Während des Ausführens einer
E/A-Instruktion enthält diese anstelle des echten Einheitscodes einen Arbeitseinheitscode. Dieser Arbeitseinheitscode wird während der Instruktionsausführung zum Adressieren
eines Speicherteils verwendet, in welchem die echten Einheitscodes gespeichert sind. Der dem betreffenden Arbeitseinheitscode
zugeordnete echte Einheitscode wird an die E/AEinheiten ausgegeben. Durch einen Vergleich zwischen dem
örtlichen echten Einheitscode, welcher in jeder E/AEinheit festverdrahtet ist, und dem übertragenen echten
Einheitscode wird festgestellt, welche E/A-Einheit ausgewählt worden ist. Die ausgewählte E/A-Einheit
speichert den Arbeitseinheitscode, welcher gleichzeitig über einen weiteren Datenübertragungsweg in ein Arbeitseinheitscoderegister
in der E/A-Einheit eingegeben wird. Die gemäß der E/A-Instruktion auszuführende Punktion wird
ebenfalls in der ausgewählten E/A-Einheit gespeichert.
Der Arbeitseinheitscode aus der E/A-Instruktion wird
209830/0978
außer den E/A-Einheiten auch einem Adreßdecodierer zugeleitet, welcher ihn decodiert und dadurch ein E/A-Adreßregister
auswählt, welches während einer anschließenden Bearbeitung von der entsprechenden E/A-Einheit verwendet
wird. In dem E/A-Adreßregister ist die Speicheradresse gespeichert, welche von der E/A-Einheit benutzt wird.
Diese Adresse wird bei jeder Unterbrechung in einer fortlaufenden Binärfolge von Adressen indiziert, damit
sich bei der Ausführung einer einzelnen E/A-Instruktion eine Vielzahl von Unterbrechungen ergibt.
Die E/A-Einheiten sind über beispielsweise acht Unterbrechungsanforderungsleitungen mit einer Matrix
in der Zentraleinheit verbunden. Die Matrix stellt fest, welche E/A-Einheit die höchste Priorität hat,
wenn mehr als eine E/A-Einheit in Tätigkeit zu treten verlangt, wenn eine Unterbrechung gestattet ist und
wenn eine Unterbrechungsfolge eingegeben wird. Die betreffende Ünterbrechungsanforderungsleitung, welche
durch eine E/A-Einheit aktiviert wird, wenn diese
in Tätigkeit zu treten verlangt, wird durch Decodieren des der betreffenden Ε/Ά-Einheit zugeordneten und in derselben
gespeicherten Arbeitseinheitscodes bestimmt. Die Datenausgabe der Matrixyir ä zum Adressieren des E/A-A^reß-
209830/0978
registerspeichers verwendet, um die Adresse im Speicher
zu ermitteln, welche der betreffenden E/A-Einheit mit der höchsten Priorität zugeordnet ist. Außerdem wird die
Datenausgabe der Matrix einem Einheitscode-Codierer zugeleitet, welcher über den Einheitsübertragungsweg- einen
Code abgibt, mittels welchem die ausgewählte E/A-Einheit durch Vergleichen des übertragenen Codes mit ihrem eigenen
gespeicherten Arbeitseinheitscode feststellen kann, ob sie ausgewählt worden ist.
Bei einem bevorzugten Ausführungsbeispiel der Erfindung werden 32 echte Einheitscodes verwendet,
welche durch einen 5-Bit-Code definiert sind. Es werden acht Arbeitseinheitscodes verwendet. Es können dabei nur
diejenigen E/A-Einheiten, welche mittels einer E/AInstruktion, aktiviert worden sind, eine Unterbrechung
anfordern. Die 32 E/A-Einheiten, welche jeweils einen eindeutigen echten Einheitscode haben, können somit
an eine Datenverarbeitungsanlage angeschlossen und in derselben betrieben werden, welche nur acht Unterbrechungsanforderungsleitungen
und acht E/A-Adreßregister aufweist. Die begrenzt vorhandenen Systemeinrichtungen
der Zentraleinheit, welche zur E/A-Steuerung vorgesehen sind, werden von den angeschlossenen E/A-Einheiten gemeinsam
- 10 -209830/0978 Γ original inspected
benutzt, wodurch die Anzahl-von Sehalt verbindungen, Schaltkreisen
und E/A-Adreßregisterspeichern verringert wird.
Außerdem ist gemäß der Erfindung das Hintereinanderschalten
zusätzlicher E/A-Einheiten möglich, welche den gleichen echten Einheitscode haben, indem ein zusätzlicher
Code, welcher im folgenden "identisch adressierter EinheitS' code" bzw. "IAD-Code" genannt wird, verwendet wird, welcher
von den hintereinandergeschalteten E/A-Einheiten permutiert wird und dadurch jeweils nur eine der E/A-Einheiten auswählt,
obgleich diese E/A-Einheiten jeweils den gleichen echten Einheitscode und den gleichen Arbeitseinheitscode
haben.
Gemäß der Erfindung ergibt sich eine beträchtliche Verbesserung der Erweiterungsmöglichkeiten von Datenverarbeitungsanlagen,
und zwar insbesondere bei solchen Datenverarbeitungsanlagen, bei welchen das Anschließen
einer Vielzahl verschiedener E/A-Einheiten erforderlich ist.
Zwei Ausführungsbeispiele der Erfindung sind in den Zeichnungen dargestellt und werden im folgenden näher
- 11 -
2 0§830/Og?8
beschrieben. Es zeigen:
Pig. I die Zusammenschaltung einer
Zentraleinheit und dieser zugeordneter E/A-Einheiten mit einer Matrix,
Fig. 2 als Einzelheit ein Logik
diagramm der in Fig. 1 dargestellten Matrix,
die Fig. 3a und 3b ein E/A-Instruktionsformat
und ein Registerrechenformat welches bei einer mit einer Matrix versehenen Anlage
verwendet werden kann,
Fig. 4 einen Schaltplan der in Fig.
dargestellten Zentraleinheit und der an diese in Sternschaltung angeschlossenen E/A-■
Einheiten,
Fig. 5 einen Schaltplan der in Fig.
- 12 -
8 3 0/0 97 8
dargestellten Zentraleinheit und der E/A-Einheiten, von welchen einige identisch
adressierte Einheitscodes haben und in Hintereinanderschaltung an die Zentraleinheit angeschlossen
sind,
Pig, 6 ein Logikdiagramm eines in
den Fig. 4 und 5 dargestellten
Einheitscode-Codierers,
Fig. 7 eine Wertetabelle zur
Erläuterung der Betriebsweise des in Fig. 6 dargestellten Einheitscode-Codierers,
Fig. 8 in Fig. 5 dargestellte Per
mutationsschaltungen, und
Fig. 9 eine Wertetabelle zur Erläu
terung der Betriebsweise der in den Fig. 5 und 8 dargestellten Permutationsschaltungen.
- 13 -
209830/0978
Ein in Pig. 1 dargestelltes vollständiges Blockdiagramm zeigt eine Zentraleinheit 1 mit zugeordneten
Eingabe/Ausgabe(E/A)-Einheiten, welche in Sternschaltung an die Zentraleinheit angeschlossen sind, und mit einer
Matrix zur Vorrang- bzw.· Priorität sunterbrechungsauswahl. Der hier verwendete Ausdruck "Sternschaltung" bedeutet,
daß die E/A-Einheiten im Sternpunkt jeweils direkt mit der Zentraleinheit verbunden sind, im Gegensatz zu
einer Hintereinanderschaltung, bei welcher eine erste E/A-Einheit mit der Zentraleinheit, eine zweite E/AEinheit
mit der ersten E/A-Einheit, eine dritte E/AEinheit mit der zweiten E/A-Einheit usw. verbunden
ist, d.h. bei welcher nur die erste E/A-Einheit direkt mit der Zentraleinheit verbunden ist. Die Zentraleinheit
enthält ein gespeichertes Programm und außerdem den Arbeitsspeicher. Dieser Typ einer Zentraleinheit ist
an sich bekannt und es werden deshalb nur diejenigen Teile der Zentraleinheit näher beschrieben^ welche zum
Verständnis der Erfindung wesentlich sind. Eine Vielzahl von E/A-Einheiten 8, 9 und 10 ist mit der Zentraleinheit
1 verbunden, und zwar jeweils über einen Datenübertragungsweg 11, eine TaktSteuerleitung 12 und
eine Adreßleitung 13. Darüberhinaus sind die E/AEinheiten jeweils mit einer Matrix 3 verbunden, welche
- 14 -
209830/0978
ihrerseits über eine Leitung 2 an die Zentraleinheit 1 angeschlossen ist. Für die -folgende Beschreibung wird
ic ■ ■· ■ ■ ■-.-■"■
angenommen, daß der in der Datenverarbeitungsanlage verwendete Arbeitseinheitscode WDC eine Länge von 3 Bits
aufweist. Acht Unterbrechungsanforderungsleitungen
verbinden deshalb die E/A-Einheit 8 über einen Datenübertragungsweg 5 mit der Matrix 3. Das gleiche gilt
für Datenübertragungswege 6, 7 und 4 mit Bezug auf die E/A-Einheiten 9 und 10. Diese Schaltungsverbindung wird
mit Bezug auf die Fig. 4 und 5 näher beschrieben. Falls mehrere E/A-Einheiten gleichzeitig in Tätigkeit zu
treten verlangen, stellt die Matrix 3, wie oben bereits kurz erwähnt, fest, welche der E/A-Einheiten die höchste
Priorität hat und teilt dies der Zentraleinheit 1 über die Leitung 2 mit. Die Zentraleinheit 1 gibt sodann
einen Arbeitseinheitscode, welcher dem Arbeitseinheitscode der von der Matrix 3 ausgewählten E/A-Einheit mit
der höchsten Priorität entspricht, über die Leitung 13 an die E/A-Einheiten ab.
Fig. 2 zeigt ein ausführliches Logikdiagramm der in Fig. 1 dargestellten Matrix 3. Unterbrechungsanforderungsleitungen
IRR1 bis IRRg, welche von den
- 15 -
2 0 98 3 0 /.0 9 7 8
E/A-Einheiten hergeführt sind, bilden die Eingänge der Matrix, während Unterbrechungsanforderungsleitungen IRR1'
bis IRRq' die Ausgänge der Matrix bilden. Die hochgesetzten Striche sollen keine Negation anzeigen, sondern werden
lediglich zur Unterscheidung zwischen den Dateneingaben und Datenausgaben der Matrix verwendet, da zwischen
einer Dateneingabe und der entsprechenden Datenausgabe eine enge Beziehung besteht. Die Unterbrechungsanforderungsleitung
IRR^ ist die Leitung mit der höchsten
Priorität, da sie direkt durch die Matrix hindurchgeführt ist und als Leitung IRR^1 wieder erscheint. Die Unterbrechungsanforderungsleitung
IRRg ist die Leitung mit der niedrigsten Priorität. Die Unterbrechungsanforderungsleitung
IRR1 ist über einen Inverter Ik und über eine
Leitung 15 mit einer UND-Schaltung 16 verbunden, welch letztere außerdem eine Dateneingabe von der Leitung
IRR2 empfängt. Der Ausgang des Inverters l4 ist außerdem
über eine Leitung 17 mit einer UND-Schaltung 18 verbunden, welche ihrerseits ein invertiertes IRRp-Signal
über einen Inverter 19 empfängt. Der Ausgang der UND-Schaltung 18 ist über eine Leitung 20 mit einer
UND-Schaltung 21 verbunden, welch letztere den UND-Ausgang der Leitung IRR5 bildet. Die UND-Schaltung 21
empfängt außerdem eine Dateneingabe von der Leitung IRR,-
- 16 -
209830/0978
Der Ausgang der UND-Schaltung 18 ist außerdem über eine Leitung 22 mit einer UND-Schaltung 24 verbunden, welche
über einen Inverter 23 das invertierte Signal von der Leitung IRR, empfängt. Der Ausgang der UND-Schaltung 24
ist über eine Leitung 25 mit einer UND-Schaltung 26 verbunden, welche außerdem eine Dateneingabe von der
Leitung IRRh empfängt. Diese Folge von Schaltverbindungen setzt sich bis zur letzten Stufe 8 fort. Demzufolge
liefert ein Inverter 27 ein invertiertes Signal aus der vorhergehenden Stufe mit der höheren Priorität an eine
UND-Schaltung 29, welche außerdem ein Eingangssignal über eine Leitung 28 aus der vorhergehenden Stufe mit
der höheren Priorität empfängt und Über eine Leitung 30 eine Datenausgabe an eine UND-Schaltung 31 liefert, welch
letztere eine weitere Dateneingabe von der Leitung IRRg
empfängt. An die Leitung IRRo ist außerdem über eine
Leitung 36 ein Inverter 35 angeschlossen, welcher sein
Ausgangssignal an eine UND-Schaltung 33 abgibt, die über Leitungen 30 und 32 eine weitere Dateneingabe aus
der UND-Schaltung 29 empfängt und ein invertiertes logisches Summenausgangssignal abgibt. Dieses invertierte
logische Summenausgangssignal zeigt lediglich an, ob irgendwelche der Unterbrechungsanforderungsleitungen 1 bis
- 17 -
209830/0978
auf positivem Pegel sind. Demzufolge ist das invertierte logische Summensignal dann auf positivem Pegel, wenn keine
der E/A-Einheiten in Tätigkeit zu treten verlangt.
In der folgenden Beschreibung wird angenommen, daß ein positiver logischer Pegel, welcher auf einer
Unterbrechungsanforderungsleitung vorhanden ist, eine Anforderung anzeigt, während ein negativer logischer
Pegel das NichtVorhandensein einer Anforderung anzeigt. Gleichfalls zeigt ein am Ausgang der Matrix erscheinender
positiver logischer Pegel an, daß die zugeordnete Leitung die höchste Priorität hat. Außerdem ist der Ausgang
sämtlicher UND-Schaltungen jeweils auf einem negativen logischen Pegel, sofern nicht jeweils beide Eingänge
einer UND-Schaltung positiv sind.
Gemäß der Darstellung in Fig. 2 bewirkt ein positiver
Pegel auf IRR1, daß am Ausgang IRR1 1 ein positiver
Pegel erscheint. Sämtliche anderen Matrixausgänge müssen negativ sein, ausgenommen das invertierte logische
Summenausgangssignal. Das gilt aufgrund der Schaltverbindungen
zwischen den Invertern und UND-Schaltungen von Stufe zu Stufe unabhängig davon, ob andere Unterbrechungsanforderungsleitungen
geringerer Priorität
- 18 -
209830/0978
positive Signale führen oder nicht. Zu Erläuterungszwecken sei deshalb angenommen, daß an IRR. und IRR?
jeweils positive Signale anliegen. Der Ausgang der UND-Schaltung 16, welcher anzeigt, daß IRRp' die höchste
Priorität hat, wird durch die Inversion des von 1 an den Inverter 14 angelegten positiven Signals gesperrt,
da dieser über die Leitung 15 dem einen Eingang der UND-Schaltung 16 ein negatives Signal zuführt. Dieses
negative Signal aus dem Inverter 14 liegt ebenfalls über die Leitung 17 an einem Eingang der UND-Schaltung
an und bewirkt, daß diese ein negatives Signal abgibt, d.h. daß deren Ausgang auf einem negativen logischen
Pegel ist. Das negative Signal aus der UND-Schaltung liegt gleichfalls an der UND-Schaltung 24 an, so daß
diese ein negatives Ausgangssignal abgibt. Auf diese Weise kann gezeigt werden, daß an sämtlichen UND-Schaltungen
18 bis 33 ein negatives Eingangssignal anliegt, sofern
das Signal aus dem Inverter 14 negativ ist. Das gilt
unabhängig davon, ob die zugeordneten Ünterbrechungsanforderungsleitungen IRR? bis IRRg ein positives
Signal führen.
Nimmt man andererseits an, daß die Leitung IRR1
- 19 -
209830/0978
ein negatives Signal führt, so ist das Ausgangssignal des Inverters l4 positiv und das Ausgangssignal der
UND-Schaltung 16 ist ebenfalls positiv, wenn das Signal auf der Leitung IRR2 positiv ist. Das Ausgangssignal
des Inverters 23 ist jedoch auf negativem logischem Pegel, wenn IRR2 positiv ist, so daß auch die UND-Schaltung
18 ein negatives Ausgangssignal hat und die
gleiche Sperrwirkung, wie oben bereits beschrieben, hervorruft. Das gleiche gilt durch die gesamte Matrix
hindurch, so daß IRRo nur ausgewählt werden kann, wenn keine Leitungen höherer Priorität ausgewählt sind.
Fig. 3a zeigt das Instruktionsformat für eine E/A-Instruktion, während Fig. 3b das Format einer
2-Adreß-Recheninstruktion zeigt. Diese Formate werden gezeigt, um einen Vergleich zwischen den beiden
Instruktionen zu erleichtern. Insbesondere ist die Ähnlichkeit zwischen dem Arbeitseinheitscodefeld der
E/A-Instruktion und dem Q-Registeradreßfeld der Recheninstruktion zu beachten. Im folgenden ist noch näher
ausgeführt, daß diese Felder jeweils zur Speicheradressierung
verwendet werden. Außerdem wird im folgenden noch deutlich, daß eine E/A-Instruktion in gleicher
- 20 -
209830/097 8
Weise wie die Recheninstruktion und mit den gleichen Registern und internen Datenübertragungswegen gehandhabt
werden kann, so daß keine Spezialhardware bzw.
kein geänderter Aufbau der Zentraleinheit vorgesehen zu werden braucht, da die Wortlängen bei den Rechen- und E/A-Instruktionen gleich sind. Das Arbeitseinheitscodefeld WDC der E/A-Instruktion, welches zum Adressieren eines Speicherteils verwendet wird, weist eine Länge von nur 3 Bits auf und ermöglicht damit ein 4-Bit-Punktionsfeld, welches in einem großen und verzweigten E/A-System benötigt wird. Demgegenüber weist das
Q-Registeradreßfeld eine Länge von 5 Bits auf,' was
zur Speicheradressierung während der Verarbeitung
erforderlich ist, während das Funktionsfeld nur eine Länge von 2 Bits aufweist, was für Rechenoperationen angemessen ist.
kein geänderter Aufbau der Zentraleinheit vorgesehen zu werden braucht, da die Wortlängen bei den Rechen- und E/A-Instruktionen gleich sind. Das Arbeitseinheitscodefeld WDC der E/A-Instruktion, welches zum Adressieren eines Speicherteils verwendet wird, weist eine Länge von nur 3 Bits auf und ermöglicht damit ein 4-Bit-Punktionsfeld, welches in einem großen und verzweigten E/A-System benötigt wird. Demgegenüber weist das
Q-Registeradreßfeld eine Länge von 5 Bits auf,' was
zur Speicheradressierung während der Verarbeitung
erforderlich ist, während das Funktionsfeld nur eine Länge von 2 Bits aufweist, was für Rechenoperationen angemessen ist.
Für eine mehr ins einzelne gehende Beschreibung wird im folgenden auf Fig. 4 Bezug genommen. Zur Vereinfachung
der Beschreibung dieser Figur werden jeweils von einem Kreis umrahmte Zahlen verwendet, um die
Anzahl von Leitungen in den verschiedenen üfaerfcragungswegen anzugeben. Außerdem werden Pfeile verwendet, um die Richtung;'~ detf'DäterifiüBflesänaugeberi, welch^i* in ■»■ ■ * "
Anzahl von Leitungen in den verschiedenen üfaerfcragungswegen anzugeben. Außerdem werden Pfeile verwendet, um die Richtung;'~ detf'DäterifiüBflesänaugeberi, welch^i* in ■»■ ■ * "
- 21 -
°a«3'NAt INSPECTED
209 830/0978
bestimmten Datenübertragungswegen, beispielsweise im
übertragungsweg 59, in zwei Richtungen verläuft.
Gemäß der Darstellung in Fig. 4 ist die Zentraleinheit
1 mittels der Datenübertragungswege mit einer Anzahl von E/A-Einheiten verbunden. Zu Erläuterungszwecken sind 32 E/A-Einheiten gewählt worden, von
welchen die Einheiten 200 und 201 dargestellt sind. Jede E/A-Einheit enthält ein Datenregister, beispielsweise
die E/A-Einheit 200 das Datenregister l67, welches Daten aus der Zentraleinheit bzw. Daten zur Weiterleitung
an die Zentraleinheit über die Datenübertragungsleitung speichert. Außerdem enthält jede E/A-Einheit einen
örtlichen Einheitscode, welcher im folgenden als echter Einheitscode bezeichnet wird bzw. in den Zeichnungen
mit ADC bezeichnet ist. Dabei handelt es sich um einen eindeutigen 5-Bit-Code für jede E/A-Einheit, welcher
innerhalb derselben festverdrahtet ist. Der echte Einheitscode wird einem Vergleicher 170 zugeführt, welcher
außerdem eine Dateneingabe über den Datenübertragungsweg 139 empfängt. Wenn ein Vergleich angestellt wird,
wird einer in der E/A-Einheit enthaltenen. Folgesteuerlogik
171 ein Signal zugeführt. Die Folgesteuerlogik der Einheit ist ein besonderer LpgiksahfltkreiSj dessen
- 22 -
ORIGINAL JNSPECTED
2 09830/0978
Auslegung vom Typ der Einheit abhängt. Die Folgesteuerlogik
ist außerdem über eine Leitung IMl mit einer
in der Zentraleinheit 1 enthaltenen Folgesteuerlogik
verbunden, so daß die von der Zentraleinheit angegebene Funktion in der E/A-Einheit gespeichert werden kann.
Die E/A-Einheit 200 enthält außerdem ein Arbeitseinheitscoderegister
168, welches den von der Zentraleinheit 1 aus in dieses Register eingegebenen Arbeitseinheitscode
speichert. Das Arbeitseinheitscoderegister in der E/A-Einheit 200 ist außerdem mit einem Vergleicher
169 und mit einem Decodierer 172 verbunden.
Der Vergleicher I69 vergleicht den in dem Arbeitseinheitscoderegister
168 enthaltenen Code mit einem anschließend von der Zentraleinheit 1- übertragenen Code.
Der Vergleicher I69 ist mit dem Arbeitseinheitseoderegister 168 verbunden und empfängt außerdem über
eine Leitung Ao eine Dateneingabe aus der,-Zentraleinheit
1. Eine Anzeige darüber, ob ein Vergleich ausgeführt worden- ist oder nicht, wird der Folgesteuereinheit
171 zugeleitet. In ähnlicher Weise empfängt der Vergleicher 170 eine Dateneingabe aus dem
- 23 -
2098 30/09 78
2164778
festverdrahteten Einheitscode und eine weitere Dateneingabe über die Leitung 139 aus der Zentraleinheit 1.
Der Vergleicher 170 liefert ebenso wie der Vergleicher eine Anzeige darüber an die Polgesteuereinheit 171»
ob ein Vergleich angestellt wird. Schließlich ist das Arbeitseinheitscoderegister I68 noch mit dem Decodierer
verbunden. Der Decodierer 172 ist eine herkömmliche Decodierschaltung, welche den in dem Register I68 gespeicherten
3-Bit-Arbeitseinheitscode empfängt, diesen decodiert und entsprechend dem in dem Register 168
gespeicherten Arbeitseinheitscode eine von acht mit einem Datenübertragungsweg 1^2 verbundenen Unterbrechungsanforderungsleitungen
auswählt.
Bevor das Betriebsverhalten der Zentraleinheit 1 und deren Zusammenwirken mit den E/A-Einheiten beschrieben
wird, wird zunächst der Aufbau der in Fig. 4 dargestellten Zentraleinheit 1 näher erläutert. Die Zentraleinheit
1 enthält ein herkömmliches Speicheradreßregister 125, welches über eine Leitung 126 mit einem
Hauptspeicher und mit einem Echteinheitscodespeicher verbunden ist. Das Adressieren des Hauptspeichers 127
und des innerhalb desselben enthaltenen Echteinheits-
- 24 -
209830/0978
codespeichers durch das Speicherädreßregister 125
erfolgt in herkömmlicher Weise. Der Hauptspeicher 127 ist über eine Leitung 128 mit einem Hauptdatenregister
verbunden, welches seinerseits über Leitungen 131 und 132 mit einem Instruktionsregister 133 verbunden ist.
Das Hauptdatenregister 130 ist außerdem über die Leitung mit einem weiteren Datenregister 138 verbunden. Das
Hauptdatenregister 130 bzw. das weitere Datenregister ist über eine Leitung 210 bzw. 211 mit einem Addierer
verbunden.
Das Instruktionsregister 133 ist mit einer OP-Decodierleitung 134 verbunden, welche ihrerseits an
die Polgesteuerlogik 143 der Zentraleinheit 1 angeschlossen ist. Das Instruktionsregister 133 ist außerdem
über eine Leitung 135 mit der Polgesteuerlogik verbunden. Allgemein hat die Polgesteuerlogik 143 die
Aufgabe, die Art einer Instruktion festzustellen und die Zentraleinheit in den richtigen Schritten zu steuern,
damit die Instruktion ausgeführt wird und der Zugriff auf die nächste Instruktion erfolgt. Die Polgesteuerlogik
143 steuert die Datenübertragung Über die verschiedenen
Datenübertragungswege, sorgt dafür, daß
- 25 -
209830/0978
Speicherzyklen in der geforderten Weise ausgeführt werden, und steuert im Falle von E/A-Instruktionen die
zu den E/A-Einheiten hinführenden Datenübertragungswege. Die Folgesteuerlogik 143 steuert außerdem die
Ausführung einer Unterbrechungsfolge, wenn ein negatives Signal aus der Matrix 153 über eine Leitung 152 empfangen
wird. Während der Ausführung einer E/A-Instruktion weist gemäß der Darstellung in den Fig. 3a und 3b der
OP-Code eine Länge von 4 Bits auf und wird über Leitungen zur Folgesteuerlogik 143 übertragen, während die
Funktion eine Länge von ebenfalls 4 Bits aufweist und über Leitungen 135 zur Folgesteuerlogik 143 übertragen
wird.
Der Arbeitseinheitscodeteil des Wortes liegt während einer E/A-Instruktion an Leitungen 136 an,
welche gemäß der Darstellung in Fig. 4 mit dem übertragungsweg 4o und mit Leitungen 144, 159» I63 und
verbunden ist» damit der Arbeitseinheitscode dem Speicheradreßregister
125 zugeleitet wird.
Der Addierer 46 ist über Leitungen 147 und 16I
mit dem Hauptspeicher verbunden» Dieser Addierer dient zur Ausführung einer Recheninstpuktion und »um Einspeichern
- 26 209830/0978
des Ergebnisses über die Leitung l6l in den Hauptspeicher
in herkömmlicher Weise, was im folgenden noch näher erläutert ist. Der Übersichtlichkeit halber nicht
dargestellte TorSteuereinrichtungen ermöglichen das
Eingeben der Inhalte des weiteren Datenregisters 1338, der Inhalte bzw. des Komplements der Inhalte des Hauptdatenregisters
130 bzw. einer Kombination derselben in den Addierer 46. Implizierte Konstanten, wie beispielsweise
1, können für Indexzwecke ebenfalls in den Addierer eingegeben werden. Sämtliche vorgenannten Einrichtungen
sind über Unterbrechungsanforderungsleitungen 142 mit
der Matrix 153 verbunden. Die mit Bezug, auf Fig. 2 bereits näher beschriebene Matrix 153 ist über die
Leitung 152 mit der Polgesteuerlogik 143 verbunden und
meldet dieser, wann eine E/A-Einheit eine Unterbrechung verlangt. Die Verwendung des logischen §ummenausgangssignals
der Matrix für diesen Zweck ist. an si.ch ebenfalls bekannt. Die Datenausgabe der Matrix 153 wird außerdem
über Leitungen 157 und 156 einem E/A-Adreßregist;erspeicher I58 zugeführt, um. in diesem eine Adresseauszuwählen.
Mit Bezug auf Fig. 2 ist bereits beschrieben worden, daß sich nur eine der acht mit dem E/A-Adreßregisterspeicher
verbundenen Leitungen in einem bestimmten
- 27 -
2 0983 0/09 78
Zeitpunkt entsprechend den Prioritäten, die in den E/A-Einheiten durch Zuordnung von Arbeitseinheitscodes festgelegt
sind, auf positivem logischem Pegel befinden kann. Der Inhalt des E/A-AdreßregisterSpeichers 158,
bei welchem es -sieh um eine Adresse im Speicher handelt, die der durch die Matrix ausgewählten E/A-Einheit zugeordnet
ist, wird über Leitungen 162, I63 und 164 dem Speicheradreßregister 125 zugeführt. Die Datenausgabe
der Matrix 153 wird außerdem über Leitungen 154 und
einem Einheitscode-Codierer 150 zugeleitet. Der Einheitscode-Codierer,
welcher näher mit Bezug auf Fig. 6 beschrieben ist, gibt einen Arbeitseinheitscode ab, der
davon abhängt, welche der acht Ausgangsleitungen der Matrix von dieser als Leitung mit der höchsten Priorität
ausgewählt worden ist. Die Datenausgabe des Einheitscode-Codierers I50 wird sodann über Leitungen 151, 1^5
und 40 den E/A-Einheiten zugeleitet.
Das Instruktionsregister 133 ist außerdem über Leitungen 136, 144 und 48 mit einem Adreßdecodierer
verbunden. Dieser Adreßdecodierer 149 hat die Aufgabe, den ihm zugeführten 3-Bit-Arbeitseinheitseode zu decodieren,
um eine von acht Leitungen auszuwählen, die eines der E/A-Adreßregister in dem Speicher I58 während des
- 28 209830/0978
anfänglichen Ladens der Arbeitseinheitscodes in die E/A-Einheiten adressiert.
Im folgenden wird das Ausführen einer E/A-Instruktion beschrieben. Eine E/A-Instruktion wird aus dem Hauptspeicher
über eine Leitung 128, über das Hauptdatenregister 130 und über Leitungen 131 und 132 in das
Instruktionsregister 133 eingelesen. Der OP-Decodierteil der in Fig. 3a dargestellten Instruktion liegt über die
Leitung 134 an der Folgesteuerlogik 143 an. Der Funktionsteil des Wortes liegt über die Leitung 135 an der
Folgesteuerlogik 143 an. Der Arbeitseinheitscodeteil,
für welchen zu Erlauterungszwecken eine Länge von 3 Bits
angenommen wird, damit sich acht Arbeitseinheitscodes ergeben, liegt über die Leitungen 136, IM1I3 159>
I63 und 164 an dem Speicheradreßregister 125 an. Der Echteinheit
scodespeicher, welcher unter der Steuerung durch das Überwachungsprogramm geladen wird, besteht aus
acht Worten, von welchen eines durch den betreffenden Arbeitseinheitscode in dem Speicheradreßregister 125
ausgewählt wird. Den acht Arbeitseinheitscodefeldern ist jeweils ein echter 5-Bit-Einheitscode zugeordnet,
ORIGINAL INSPECTED 209830/0 978
welcher wiederum unter der Steuerung durch das Überwachungsprogramm
abhängig davon, welche der 32 angeschlossenen E/A-Einheiten in Tätigkeit zu treten verlangt,
in den Speicher geladen wird.
Der dem betreffenden Arbeitseinheitscode zugeordnete echte Einheitscode wird aus dem Hauptspeicher
über eine Leitung 128 in das Hauptdatenregister 130 und von diesem aus über die Leitung 131 in das weitere.
Datenregister 138 eingelesen. Anschließend wird er aus dem weiteren Datenregister 138 über den Übertragungsweg
an die E/A-Einheiten abgegeben. Die E/A-Einheiten vergleichen jeweils in ihren Vergleichern 170 bis 178
den auf dem übertragungsweg 139 Übertragenen echten Einheitscode mit ihrem örtlichen bzw. festverdrahteten
Einheitscode. Die E/A-Einheit, deren echter Einheitscode mit dem Übertragenen Einheitscode identisch ist,
meldet dies dann ihrer Polgesteuerlogik 171 bis 179 welch letztere daraufhin bewirkt, daß der gleichzeitig
von dem Instruktionsregister 133 an die Leitung 40 abgegebene Arbeitseinheitscode, der im Funktionsfeld
der Instruktion enthalten ist, gespeichert wird. Die ausgewählte E/A-Einheit speichert außerdem eine dife
- 30 -
20 98 3 0/0978 original inspected
2184718
auszuführende Punktion betreffende Information, wie beispielsweise
Dateneingabe, Datenausgabe, Zustandsprüfung usw.. Diese Folge des Ladens von Arbeitseinheitscodes
in die Arbeitseinheitscoderegister 168 bis ,175 der E/A-Einheiten kann so lange fortgesetzt werden, bis
acht der E/A-Einheiten mit ihren zugeordneten Arbeitseinheitscodes geladen sind. Wenn dann während der anschließenden
Bearbeitung eine E/A-Einheit in Tätigkeit zu treten verlangt, legt sie unter der Steuerung durch
ihre eigene Folgesteuerlogik 171 bis 179 den in ihrem Arbeitseinheitscoderegister gespeicherten Arbeitseinheitscode
an ihren Decodierer 172 t>is l80 an und
decodiert den Arbeitseinheitscode und wählt eine der acht Unterbrechungsanforderungsleitungen aus. Die Matrix
in der Zentraleinheit 1 bestimmt dann, wie oben bereits beschrieben, welche der E/A-Einheiten wahrend gleichzeitiger
Unterbrechungsanforderungen die höchste Priorität hat, und wählt über Leitungen 156 und 157 "das zugehörige
Eingabe/Ausgabe-Adreßregister aus. Die Datenausgabe der
Matrix 153 wird außerdem dem Einheitscode-Codierer 150 zugeleitet, welcher seinerseits die Datenausgabe der Matrix
in einen der ausgewählten E/A-Einheit entsprechenden Arbeitseinheitscode decodiert und diesen über die Leitungen
151, 1^5 und 40 an die E/A-Einheiten abgibt. Dieser
- 31 20 9 8 3Q/097 8
Arbeitseinheitscode wird anschließend den Vergleichern 169 bis 176 zugeleitet, welche außerdem eine Dateneingabe
aus den Arbeitseinheitscoderegistern I68 bis 175 empfangen. Diejenige E/A-Einheit, welche den mit dem übertragenen
Arbeitseinheitscode identischen Arbeitseinheitscode aufweist, teilt sodann ihrer Polgesteuerlogik 171 bis 179 mit,
daß sie die ausgewählte E/A-Einheit ist. Die ausgewählte E/A-Einheit aktiviert die TaktSteuerleitung je nach dem,
ob sie eine Dateneingabe oder eine Datenausgabe ausführt, damit die Zentraleinheit 1 entsprechend anspricht. Die
ausgewählte E/A-Einheit gibt in ihrem Datenregister 171 gespeicherte Daten an«den Datenübertragungsweg 139 ab
oder nimmt aus diesem Datenübertragungsweg Daten in ihr Datenregister auf, je nach dem, ob sie eine Dateneingabe
oder eine Datenausgabe ausführt. In der Zentraleinheit werden die E/A-Adreßregisterinhalte zu dem Speicheradreßregister
übertragen. Wenn es sich bei der Operation gemäß der Angabe durch die E/A-Einheit um eine Dateneingabe
handelt, steuert die Polgesteuerlogik 1^3 die
Zentraleinheit 1 derart, daß die Dateneingabe von dem Datenübertragungsweg 139 über das weitere Datenregister 138,
über den Addierer 46 und über die Leitungen 147 und 16I
zu dem Hauptspeicher 127 übertragen wird. Wenn, es sich
- 32 -
209830/0978
bei der Operation um eine Datenausgabe handelt, wird die Zentraleinheit derart gesteuert, daß sie aus dem Hauptspeicher
127 über das Hauptdatenregister 130 Daten in das weitere Datenregister 138 einliest. Diese Daten
werden aus dem weiteren Datenregister I38 an den Datenübertragungsweg
139 abgegeben. Diese Art der Unterbrechung
ist als Cycle-Steal-Unterbrechung an sich bekannt.
Fig. 6 zeigt ein Logikdiagramm des Einheitscode-Codierers
150, während Fig. 7 die dazugehörige Wertetafel zeigt. In Fig. 7 enthält die mit "Leitung" bezeichnete
spalte die Bezeichnungen IRR. bis IRRn. Diese Bezeichnungen
entsprechen der Dateneingabe der Matrix 153 in Fip;. H. Den Ausgang der Matrix 153 bildet eine der
Leitungen IRR1 1 bis IRRo1, welche entsprechend der in
der Matrix festgelegten Priorität auf positiven logischen Pe;-;el gebracht wird. Bei der hier verwendeten Nomenklatur
ist die Datenausgabe der Matrix jeweils als eine mit einem hochgesetzten Strich versehene Zahl dargestellt.
Da die Eingänge des Einheitscode-Codierers 150 mit den von der Matrix 153 hergeführten Leitungen verbunden sind,
sind die Bezeichnungen dieser Leitungen in Fig. 6 ebenfalls jeweils mit einem hochgesetzten Strich versehen.
- 33 209830/09 7$
Die Eingänge der in Pig. 6 dargestellten logischen Blöcke sind jeweils durch eine ODER-Punktion miteinander
verknüpft, so daß beispielsweise bei IRRg' die Ausgänge
DV. bis DV, jeweils auf einem positiven logischen Pegel
sein müssen, wenn IRRg1 wahr ist. Gemäß der Darstellung
in den Fig. 6 und 7 ergibt sich ein nur aus Nullen bestehendes Bitmuster, wenn IRR1 1 auf positivem logischem
Pegel ist. Ebenso ergibt sich ein Bitmuster, in welchem sämtliche Bits außer DV. Nullen sind, wenn IRRp' auf
positivem logischem Pegel ist. Gleichfalls ergibt sich ein eindeutiges Bitmuster auf den Leitungen DV1 bis DV,
bei Auswahl irgendeiner der Eingangsleitungen IRR1' bis
IRR8 1.
Durch das oben beschriebene Verfahren nach der Erfindung, gemäß welchem den E/A-Einheiten mittels
des Überwachungsprogramms ein Arbeitseinheitscode zugeordnet wird, ergibt sich eine große Flexibilität im
Systemaufbau. Das heißt, die tatsächliche Zusammenschaltung der E/A-Einheiten ist in bezug auf die Prioritätszuordnung unwichtig, da der Arbeitseinheitscode derart
zugeordnet werden kann, daß jedes Prioritätsschema verwirklicht werden kann, und zwar unabhängig davon,
wie die E/A-Einheiten tatsächlich zusammengeschaltet sind.
209830/0978
Es ist bemerkenswert, daß mit einer Matrix mit nur acht
Eingangsvariablen, einem Einheitscode-Codierer mit acht Eingangsvariablen und einem 3-Bit-Adreßdecodierer die Anzahl
der Schaltverbindungen in der Zentraleinheit im Vergleich zu dem eingangs beschriebenen Vorschlag eines Arbeitseinheitscode-Anwendungsfalles
verringert worden ist. Außerdem ergibt sich eine Gesamtverringerung der Schaltverbindungen
in dem Gesamtsystem auch bei Datenverarbeitungsanlagen, an welche nur eine geringe Anzahl.von E/A-Einheiten angeschlossen
ist. Diese Datenverarbeitungsanlagen, welche weniger flexibel sind, sind vermutlich kostenanfälliger
als Datenverarbeitungsanlagen., an welche eine Vielzahl von E/A-Einheiten angeschlossen ist.
Um nachzuweisen, daß bei Anwendung des Verfahrens nach der Erfindung keine Abwandlung der Datenübertragungswege
der üblichen Zentraleinheit erforderlich ist, wird kurz eine Recheninstruktion beschrieben und
mit einer E/A-Instruktion verglichen. In der in Fig. 3b dargestellten Recheninstruktion hat die Funktion eine
Länge von 2 Bits, im Gegensatz zu der E/A-Instruktion, bei welcher das Funktionsfeld eine Länge, von k Bits hat.
Die OP-Codes haben die gleiche Länge, ßei beiden Instruktionen
- 35 2 0 98 30/09 78 ,
werden der OP-Code und die Punktion der Polgesteuerlogik
143 zugeleitet, um den Betrieb der Zentraleinheit
zu steuern. In der Recheninstruktion haben die Q-Adresse und die P-Registeradresse jeweils eine Länge von 5 Bits,
Mit Hilfe der Q-Adresse in der Recheninstruktion wird über Leitungen 136, 159 und 16O ein im Hauptspeicher
befindliches Mehrzweckregister ausgewählt, während bei
der Recheninstruktion das gleiche Feld, welches eine Länge von drei Bits aufweist, dazu verwendet wird, um
über das Speicheradreßregister 125 ein Wort im Hauptspeicher 127 zu adressieren, dessen Inhalt einer der
acht echten Einheitscodes ist, welcher sodann zum Auswählen einer der E/A-Einheiten verwendet wird. Zusätzlich
entspricht in der Recheninstruktion die P-Registeradresse in gleicher Weise wie bei der E/A-Instruktion einer
Registeradresse. Diese fünf-Bit-Adresse wird dem Speicheradreßregister 125 zugeleitet, welches sodann ein Wort
im Speicher angibt, aus welchem Daten erhalten werden, die zu Erläuterungszwecken dem Addierer 46 zugeführt
werden. Bei beiden Instruktionen wird dieses Feld, d.h. das Q-Adreß- bzw. Arbeitseinheitscodefeld zu dem Speicheradreßregister
125 übertragen und zur Speicheradressierung verwendet. Die implizierten Bits höherer Ordnung der
Adresse können gleich oder verschieden sein, was von dem
- 36 209 8 3 0/0978
Zweck der Anlage abhängt, und sie werden von der Polgesteuerlogik 143 bestimmt.
Mit Bezug auf Fig. 5 wird im folgenden eine Ausführungsform
der Anlage nach der Erfindung beschrieben, bei welcher E/A-Einheiten mit jeweils identischen echten
Einheitscodes verwendet werden können. Diese Ausführungsform der Anlage nach der Erfindung arbeitet trotzdem wie
die Zentraleinheit und die E/A-Einheiten in Fig. 4 und
weist die gleiche Flexibilität in der Prioritätszuordnung auf. Die in Fig. 5 dargestellte Zentraleinheit
arbeitet in der gleichen Weise wie in Fig. 4 dargestellte Zentraleinheit 1, lediglich mit Ausnahme der Länge der
aus dem Hauptspeicher 39 dann erhaltenen Adresse, wenn der Arbeitseinheitscode zur Ermittlung des echten Einheitscodes verwendet wird. Der Hauptspeicher 39 enthält nicht
nur einen echten Einheitscode, sondern zusätzlich noch einen identisch adressierten Einheitscode, welcher im
folgenden IAD-Code genannt wird. Die Anzahl der in dem
adressierten Wort enthaltenen Bits ist so bemessen, daß zusätzlich zu dem echten Einheitscode noch ein IAD-Code
gespeichert wird. Während der Auswahl der E/A-Einheiten zum Speichern des Arbeitseinheitscodes liegt der echte
- 37 -
209830/0978
Einheitscode über die Leitung 58 an den E/A-Einheiten
an, welche, wie in bezug auf Fig. 4 beschrieben, sodann
den Arbeitseinheitscode speichern, der gleichzeitig von der Zentraleinheit aus über die Leitung 59 übertragen
wird. Auch hier speichert die E/A-Einheit, welche den dem übertragenen echten Einheitscode entsprechenden
festverdrahteten echten Einheitscode enthält, den über·?
tragenen Arbeitseinheitscode. Dabei wird jedoch zusätzlich gefordert, daß der von der E/A-Einheit empfangene IAD-Code
Null ist.
Die E/A-Einheit 82 beispielsweise, welche mit der E/A-Einheit 83 und jeder anderen der hintereinandergeschalteten
E/A-Einheiten identisch ist, weist einen Vergleicher 91 auf, der den in dem Register 89 gespeicherten
Arbeitseinheitscode vergleicht für den Fall, daß die E/A-Einheit eine Unterbrechung verlangt hat,
ob diese nun die höchste Priorität hat oder nicht. Ebenso wie in bezug auf Fig. 4 bereits beschrieben, wird
der Arbeitseinheitscode derjenigen E/A-Einheit, welche die höchste Priorität hat, von dem Einheitscode-Codierer
66 der Zentraleinheit abgegeben. Außerdem wird, was auch bei den in fig. 4 dargestellten E/A-Einheiten
galt, jeder von der Zentraleinheit über die Leitung 58
- 38 209830/0978
übertragene echte Einheitscode in einem Vergleicher 92 mit einem in der E/A-Einheit festverdrahteten örtlichen
echten Einheitscode verglichene Falls dieser Vergleich während der Ausführung einer E/A-Instruktion positiv
ausfällt, speichert die E/A-Einheit den Arbeitseinheitscode, welcher gleichzeitig von der E/A-Instruktion im
Instruktionsregister 52 über eine Leitung 69 übertragen wird. Der einzige Unterschied zwischen den in den Fig. H
und 5 dargestellten Anlagen besteht in der Hinzufügung eines Vergleichers 88 und einer IADC-Permutierschaltung
115 in den E/A-Einheiten. Der Vergleicher 88 empfängt eine Dateneingabe, wie bereits beschrieben, für den
echten Einheitscode über eine Leitung 57 aus dem Hauptspeicher 39· Bei Verwendung der in Fig. 8 dargestellten
Permutierschaltung können mit einem 3-Bit-Code sechs E/A-Einheiten hintereinandergeschaltet werden. Der Vergleicher
88 hat lediglich die Aufgabe, den übertragenen IAD-Code mit Null zu vergleichen und der Folgesteuerlogik
93 der Einheit anzuzeigen, ob der übertragene IAD-Code gleich Null ist oder nicht. Das gilt auch für
sämtliche anderen E/A-Einheiten, welche mit der E/AEinheit 82 verbunden sind. Die IADC-Permutierschaltung
in der E/A-Einheit 82 gibt über eine Leitung 116 einen
- 39 -
2098 3 0/097 8
Null-Code an den Vergleicher 102 der E/A-Einheit 83 ab, falls es sich bei dieser um die ausgewählte E/A-Einheit
handelt. Die E/A-Einheit 83 gibt ihrerseits von ihrer IADC-Permutierschaltung 112 aus sämtliche Nullen
an die nächste E/A-Einheit über eine Leitung 133 ab, falls diese nächste E/A-Einheit die entsprechend dem
IAD-Code ausgewählte E/A-Einheit ist.
Zum besseren Verständnis der oben kurz erläuterten Permutationsfolge wird im folgenden noch auf die
Fig. 8 und 9 Bezug genommen. Fig. 8 zeigt eine Permutierschaltung und Fig. 9 eine Wertetafel zur Erläuterung
der Permutation des von einer E/A-Einheit zur anderen übertragenen Codes. Nimmt man gemäß Fig. 8 an,
daß die Permutierschaltung 184 sich in der ersten E/A-Einheit in der'Hintereinanderschaltung befindet,
und daß die Permutierschaltung I85 sich in der Hintereinanderschaltung
in der zweiten E/A-Einheit befindet, und nimmt man, wie in dem Codeplan dargestellt, weiterhin
an, daß ein Null-Bit bzw. ein niedriger logischer Pegel jeweils an den Leitungen I87, I88 und I89
anliegt, so wird die Permutierschaltung 184 die Bits
in dem Code neu ordnen und das an der Leitung I89
- 40 209830/0978
anliegende Signal invertieren, ao daß in die nächste
Permutierschaltung I85 ein Codemuster "100" eingegeben
wird. Dieses Codemuster wird in den anschließenden E/A-Einheiten 3 bis 6 weiter permutiert, wie in der
Wertetafel in Fig. 9 dargestellt. Sämtliche E/A-Einheiten
empfangen jeweils einen eindeutigen Code, wobei nur die erste E/A-Einheit einen nur aus Nullen bestehenden
Code empfängt und deshalb ausgewählt wird» Zum Auswählen der zweiten E/A-Einheit muß der übertragene
IAD-Code, welcher an die Leitungen I87, I88 und I89
anzulegen ist, gleich 001 sein. Bei Anliegen dieses Codemusters empfängt die erste E/A-Einheit einen 001-Code
und wird nicht ausgewählt. Durch die Inversion in dem Inverter I86 der ersten Permutierschaltung wird jedoch
ein 000-Code zu der zweiten E/A-Einheit übertragen, welche dadurch ausgewählt wird, da in dieser ein Vergleich
auf Null vorgenommen wird. Weitere Permutationen in den folgenden E/A-Einheiten bewirken, daß sämtliche
permutierten Codemuster ungleich Null sind. Das obengesagte gilt auch für das Auswählen der anderen E/A-Enheiten,
wie in der Wertetafel in Pig. 9 dargestellt.
Der oben beschriebene Aufbau der beiden Ausführungsformen von Datenverarbeitungsanlagen nach der Erfindung
- 41 209830/0978
gestattet eine große Flexibilität in der Zusammenschaltung einer Zentraleinheit mit zugeordneten E/A-Einheiten.
Diese Flexibilität wird durch das indirekte Adressierverfahren nach der Erfindung erreicht, gemäß welchem
ein echter Einheitscode zur Kennzeichnung einer E/A-Einheit verwendet wird, wobei dieser echte Einheitscode
zusammen mit einem zugeordneten Arbeitseinheitscode, der durch das Überwachungsprogramm entsprechend der
gewünschten Priorität einer bestimmten E/A-Einheit zugeordnet ist, in einen Speicher eingegeben wird. Dieser
Arbeitseinheitscode wird sodann als Bezeichnung verwendet, welche der Zentraleinheit eine Unterbrechung
meldet und außerdem dieser gestattet, eine der E/A-Einheiten zu adressieren. Darüberhinaus kann eine Anzahl
von E/A-Einheiten zusätzlich zu denjenigen E/A-Einheiten, welche direkt für Unterbrechungspegel (Matrixeingaben),
Eingabe/Ausgabe-Adreßregister und in der E/A-Instruktion festgelegte Adreßcodes vorgesehen
sind, an die Datenverarbeitungsanlage angeschlossen werden. Bei der weiteren bevorzugten Ausführungsform
können E/A-Einheiten, welche identische echte Einheitscodes aufweisen, in Hintereinanderschaltung
angeschlossen werden, so daß identische E/A-Einheiten
- 42 -
209830/0978
verwendet werden können. Das wird gemäß der Erfindung mit einem Minimum an Änderungen der in einer Zentraleinheit
gewöhnlich vorhandenen Hardware erreicht, da die normalerweise einer Zentraleinheit und den Registern
zugeordneten Datenübertragungswege verwendet werden, um sämtliche oben beschriebenen Punktionen auszuführen.
Im Rahmen der Erfindung bietet sich dem Fachmann über die beschriebenen Ausführungsbeispiele hinaus
selbstverständlich noch eine Vielzahl von Vereinfachungsund Verbesserungsmöglichkeiten.
- 43 209830/0978
Claims (14)
- Patentansprüche1/ Verfahren zur Steuerung einer Vielzahl von Eingabe/Ausgabe(E/A)-Einheiten mittels einer Zentraleinheit, gekennzeichnet durch folgende Schritte:a) Miteinanderverbinden der durch die Zentraleinheit direkt adressierbaren E/A-Einheiten über Datenübertragungswege,b) Zuordnen eines echten Einheitscodes zu jeder E/A-Einheit,c) Laden der echten Einheitscodes der durch die Zentraleinheit zu adressierenden E/A-Einheiten in den Speicher der Zentraleinheit,d) Zuordnen eines Arbeitseinheitscodes zu jeder benutzten E/A-Einheit und Verwenden dieses Arbeitseinheitscodes zum Adressieren des echten Einheitscodes im Speicher,2 0 9830/0978e) übertragen eines echten Einheitscodes und eines Arbeitseinheitscodes aus dem Speicher zu sämtlichen E/A-Einheiten, undf) Vergleichen des übertragenen echten Einheitscodes mit dem jeder E/A-Einheit zugeordneten echten Einheitscode und Speichern des Arbeitseinheitscodes in der den Vergleich ausführenden E/A-Einheit.
- 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die E/A-Einheiten durch die Zentraleinheit adressiert werden, indem anschließend der Arbeitseinheitscode übertragen und mit den bereits gespeicherten Arbeitseinheitscodes verglichen wird, um die adressierte E/A-Einheit zu melden.
- 3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die E/A-Einheiten über eine bestimmte Anzahl von Unterbrechungsanforderungsleitungen mit einer Matrix in der Zentraleinheit verbunden werden, wobei die genannte Anzahl der Zahl der Arbeitseinheitscodes äquivalent ist und wobei die- 45 209 8 3 0/0978gespeicherten Arbeitseinheitscodes durch die E/A-Einheiten decodiert werden, um während Unterbrechungsanforderungen eine entsprechende Unterbrechungsanforderungsleitung zu aktivieren.
- 4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß innerhalb der Matrix festgestellt wird, welche von mehreren E/A-Einheiten die höchste Priorität hat, und daß das Ausgangssignal der Matrix einem Codierer zugeleitet wird, welcher einen entsprechenden Arbeitseinheitscode erzeugt, der zu den E/A-Einheiten übertragen wird, welche diesen übertragenen Arbeitseinheitscode mit ihren gespeicherten Arbeitseinheitscodes vergleichen, um festzustellen, für welche der E/A-Einheiten eine Unterbrechung ausgeführt wird.
- 5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß während des anfänglichen Ladens der Arbeitseinheitscodes in die E/A-Einheiten jeweils der betreffende Arbeitseinheitscode decodiert wird, um eine Leitung zum Auswählen eines in dem Speicher enthaltenen E/A-Adreßregisters zu aktivieren, welches die Adresse des von der entsprechenden E/A-Einheit zu verwendenden Speicherplatzes im Speicher enthält.- 46 209830/0978
- 6. Verfahren nach Anspruch 4 oder 5, dadurch gekennzeichnet, daß das Ausgangssignal der Matrix während Unterbrechungsanforderungen zum Aktivieren einer der Unterbrechungsanforderungsleitungen verwendet wird, um ein E/A-Adreßregister in dem Speicher auszuwählen, welches die Adresse des von der E/A-Einheit mit der höchsten Priorität als nächsten zu adressierenden Speicherplatzes im Speicher enthält.
- 7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß eine Vielzahl von E/A-Einheiten verwendet wird, welche identische echte Einheitscodes haben und welche in Hintereinanderschaltung miteinander verbunden sind, und daß die durch die Zentraleinheit adressierte E/A-Einheit während der Auswahl durch die Zentraleinheit einen zusätzlichen Festwertcode empfängt.
- 8. Verfahren nach Anspruch 7S dadurch gekennzeichnet, daß während der Auswahl der hintereinandergeschalteten E/A-Einheiten an diese ein Code abgegeben wird, welcher nach seiner Permutation durch die E/A-Einheiten nur in der gewünschten E/A-Einheit und in keiner anderen, ebenfalls den Festwertcode empfangenden Einheit anzeigt, daß sie adressiert worden ist.- 47 209830/0978
- 9. Datenverarbeitungsanlage zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 8, gekennzeichnet durch eine Vielzahl von E/A-Einheiten (200, 201; 82, 83), welchen jeweils ein eindeutiger echter Einheitscode (ADC) sowie ein Vergleicher (170, 178; 92, IO6) zum Empfang dieses echten Einheitscodes und außerdem ein Arbeitseinheitscodespeicher (I68, 175; 89» 103) und ein weiterer Vergleicher (169, 176; 91, 104) zum Empfang der Arbeitseinheitscodes (WDC) zugeordnet sind, ferner durch eine jeweils mit den E/A-Einheiten verbundene Zentraleinheit (1), welche einen Echteinheitscodespeicher der durch die Arbeitseinheitscodes adressiert wird und die benutzten echten Einheitscodes enthält, außerdem einen E/A-Adreßregisterspeicher (I58; 76) zum Speichern der Adressen von Speicherplätzen im Speicher, die von den E/A-Einheiten benutzt werden, sowie Einrichtungen (13O 138; 42, 48) zum Entnehmen desjenigen echten Einheitscodes aus dem Echteinheitscodespeicher, welcher durch das Arbeitseinheitscodefeld einer E/A-Instruktion bestimmt ist, und zum Ausgeben des ermittelten echten Einheitscodes zusammen mit dem diesen bestimmenden Arbeitseinheitscode an die E/A-Einheiten, und außerdem einen Adreßdecodierer (149; 70) aufweist, welcher ebenfalls die an die E/A-Einheiten abgegebenen Arbeitseinheitscodes- 48 209830/0978empfängt und das eindeutige E/A-Adreßregister aus dem E/A-Adreßregisterspeicher zur Verwendung durch diejenige E/A-Einheit auswählt, welche dem ausgegebenen Arbeitseinheitscode entspricht, wobei der eine Vergleicher (170, 178; 92, 106) die ausgegebenen echten Einheitscodes mit den in den E/A-Einheiten festverdrahteten echten Einheitscodes vergleicht und bewirkt, daß bei Übereinstimmung derselben der ausgegebene Arbeitseinheitscode in dem Arbeitseinheitscodespeicher gespeichert wird.
- 10. Anlage nach Anspruch 9» gekennzeichnet durch eine bestimmte Anzahl von Unterbrechungsanforderungsleitungen (142; 6l), welche die E/A-Einheiten (200, 201; 82, 83) jeweils mit der Zentraleinheit (1) verbinden, wobei diese Anzahl gleich der maximal möglichen Anzahl von durch den Arbeitseinheitscode eindeutig festlegbaren Leitungen ist.
- 11. Anlage nach Anspruch 10, dadurch gekennzeichnet, daß jede E/A-Einheit (200, 201; 82, 83) einen Decodierer (172, 180; IO8) enthält, welcher den gespeicherten Arbeitseinheitscode decodiert und eine- 49 -209830/0978der Unterbrechungsanforderungsleitungen (l42; 61) zur Unterbrechungsanforderung auswählt.
- 12. Anlage nach Anspruch 10 oder 11, gekennzeichnet durch eine Matrix (152; 73), welche jeweils mit den Unterbrechungsanforderungsleitungen (142; 61) der E/A-Einheiten (200, 201; 82, 83) verbunden ist und deren Ausgang mit dem E/A-Adreßregisterspeicher (158; 76) derart verbunden ist, daß entsprechend der Datenausgabe der Matrix ein bestimmtes E/A-Adreßregister adressiert wird.
- 13. Anlage nach Anspruch 12, dadurch gekennzeichnet, daß die Matrix (152; 73) eine Prioritätsbestimmungseinrichtung (Fig. 2) aufweist, welche dann, wenn mehrere E/A-Einheiten (200, 201; 82, 83) gleichzeitig in Tätigkeit zu treten verlangen, dem E/A-Adreßregisterspeicher (158; 76) die Adresse der E/A-Einheit mit der höchsten Priorität zuleitet.
- 14. Anlage nach Anspruch 12 oder 13, dadurch gekennzeichnet, daß die Zentraleinheit (1) einen Einheitscodecodierer (I50; 66) aufweist, welcher mit dem Ausgang der Matrix (153; 72) verbunden ist und- 50 209830/09782164778(37entsprechend der Datenausgabe der Matrix einen Ausgabecode an einen Einheitscodeübertragungsweg (40; 59) abgibt und sämtlichen E/A-Einheiten (200, 201; 82, 83) zuführt, um diesen anzuzeigen, welche der in Tätigkeit zu treten verlangenden E/A-Einheiten von der Matrix ausgewählt worden ist.- 51 209830/0978stLeerseite
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10274070A | 1970-12-30 | 1970-12-30 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| DE2164718A1 true DE2164718A1 (de) | 1972-07-20 |
Family
ID=22291455
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE19712164718 Pending DE2164718A1 (de) | 1970-12-30 | 1971-12-27 | Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/Ausgabe-Einheiten mittels einer Zentraleinheit |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US3713109A (de) |
| DE (1) | DE2164718A1 (de) |
| FR (1) | FR2122403B2 (de) |
| GB (1) | GB1365984A (de) |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB1397438A (en) * | 1971-10-27 | 1975-06-11 | Ibm | Data processing system |
| US3859461A (en) * | 1972-08-28 | 1975-01-07 | Siemens Ag | Operational method for the control of a device |
| US3812471A (en) * | 1972-08-30 | 1974-05-21 | Sperry Rand Corp | I/o device reserve system for a data processor |
| US3881174A (en) * | 1974-01-18 | 1975-04-29 | Process Computer Systems Inc | Peripheral interrupt apparatus for digital computer system |
| US4031517A (en) * | 1974-04-24 | 1977-06-21 | Honeywell Information Systems, Inc. | Emulation of target system interrupts through the use of counters |
| US4034349A (en) * | 1976-01-29 | 1977-07-05 | Sperry Rand Corporation | Apparatus for processing interrupts in microprocessing systems |
| US4290102A (en) | 1977-10-25 | 1981-09-15 | Digital Equipment Corporation | Data processing system with read operation splitting |
| FR2503899A1 (fr) * | 1981-04-08 | 1982-10-15 | Thomson Csf | Procede et dispositif de transmission de donnees numeriques |
| EP0351157B1 (de) * | 1988-07-12 | 1995-11-22 | Sony Corporation | Integrierte Halbleiterschaltungen |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3274561A (en) * | 1962-11-30 | 1966-09-20 | Burroughs Corp | Data processor input/output control system |
| US3425037A (en) * | 1966-03-29 | 1969-01-28 | Computing Devices Canada | Interrupt computer system |
| US3432813A (en) * | 1966-04-19 | 1969-03-11 | Ibm | Apparatus for control of a plurality of peripheral devices |
| US3408632A (en) * | 1966-06-03 | 1968-10-29 | Burroughs Corp | Input/output control for a digital computing system |
| US3526878A (en) * | 1967-03-27 | 1970-09-01 | Burroughs Corp | Digital computer system |
| US3539998A (en) * | 1967-07-12 | 1970-11-10 | Burroughs Corp | Communications system and remote scanner and control units |
-
1970
- 1970-12-30 US US00102740A patent/US3713109A/en not_active Expired - Lifetime
-
1971
- 1971-12-02 FR FR717144311A patent/FR2122403B2/fr not_active Expired
- 1971-12-27 DE DE19712164718 patent/DE2164718A1/de active Pending
- 1971-12-29 GB GB6029771A patent/GB1365984A/en not_active Expired
Also Published As
| Publication number | Publication date |
|---|---|
| FR2122403B2 (de) | 1973-06-08 |
| GB1365984A (en) | 1974-09-04 |
| FR2122403A2 (de) | 1972-09-01 |
| US3713109A (en) | 1973-01-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69124437T2 (de) | Verfahren und Vorrichtung zum Umkehren von Byteordnung in einem Rechner | |
| DE1499722C2 (de) | Einrichtung zur Modifizierung von Informationswörtern | |
| DE3132225C2 (de) | Einrichtung für die Adressierung gespeicherter Ergebniswerte bei einer schnellen Hadamard-Transformation | |
| DE2524046C2 (de) | Elektronische Datenverarbeitungsanlage | |
| DE2346525A1 (de) | Virtuelle speichereinrichtung | |
| DE2457312A1 (de) | Datenbehandlungseinrichtung mit einem feldwaehler | |
| DE1499175B2 (de) | Steuereinrichtung in einem mehrspezies rechner | |
| DE2230102A1 (de) | Rechenwerk fuer variable wortlaengen | |
| DE3689006T2 (de) | Mikroprogrammsteuersystem. | |
| DE2023354A1 (de) | Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit | |
| DE2164793A1 (de) | Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/ Ausgabe-Einheiten mittels eine Zentraleinheit | |
| DE2532125C2 (de) | Modularbaustein für Datenverarbeitungsanlagen | |
| DE2926322A1 (de) | Speicher-subsystem | |
| DE2758829A1 (de) | Multiprozessor-datenverarbeitungssystem | |
| DE2900586C2 (de) | Anordnung zum Decodieren von Codewörtern variabler Länge | |
| DE2164718A1 (de) | Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/Ausgabe-Einheiten mittels einer Zentraleinheit | |
| DE1524898C3 (de) | Datenspeicher mit direktem mehrdimensionalen Zugriff zur gleichzeitigen Entnahme mehrerer Wörter | |
| DE1271433B (de) | Adressiereinrichtung fuer einen Tabellenwertspeicher | |
| DE2311503A1 (de) | Datenverarbeitungsanlage mit mehreren zentraleinheiten | |
| DE3105115C2 (de) | ||
| DE1296428B (de) | Einrichtung zur Ermittlung von Speicheradressen aus Schluesselwoertern | |
| DE2057587A1 (de) | Inhaltsadressierter Speicher | |
| DE69934517T2 (de) | Mittels redundanter eingabedaten inhaltsadressierbarer speicher | |
| DE2519195A1 (de) | Assoziativspeicher | |
| DE1806464A1 (de) | Adressengenerator fuer einen Digitalrechner |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| OHJ | Non-payment of the annual fee |