DE1499284B2 - Datenverarbeitungsanlage - Google Patents

Datenverarbeitungsanlage

Info

Publication number
DE1499284B2
DE1499284B2 DE19651499284 DE1499284A DE1499284B2 DE 1499284 B2 DE1499284 B2 DE 1499284B2 DE 19651499284 DE19651499284 DE 19651499284 DE 1499284 A DE1499284 A DE 1499284A DE 1499284 B2 DE1499284 B2 DE 1499284B2
Authority
DE
Germany
Prior art keywords
register
word
index
command
field
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
DE19651499284
Other languages
English (en)
Other versions
DE1499284A1 (de
DE1499284C3 (de
Inventor
Werner Colts Neck N.J. Ulrich (V.StA.)
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.)
AT&T Corp
Original Assignee
Western Electric Co Inc
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 Western Electric Co Inc filed Critical Western Electric Co Inc
Publication of DE1499284A1 publication Critical patent/DE1499284A1/de
Publication of DE1499284B2 publication Critical patent/DE1499284B2/de
Application granted granted Critical
Publication of DE1499284C3 publication Critical patent/DE1499284C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355Indexed addressing

Description

Die Erfindung betrifft eine Datenverarbeitungsanlage mit einem Speicher für Befehlswörter und Daten, einem Befehlswortregister zur Aufnahme von dem Speicher entnommenen Befehlswörtern, die je ein Operationsfeld, ein Datenadreßfeld, ein Indexfeld und ein Steuerfeld aufweisen, einer Vielzahl von Indexregistern, einem Befehlsdecodierer, der auf das Operationsfeld jedes Befehlswortes im Befehlswortregister anspricht und dessen Ausführung steuert, und einem Index-Addierer zur arithmetischen Kombination des Inhalts des durch das Indexfeld im Befehls-Wortregister angegebenen Indexregisters mit dem Inhalt des Datenadreßfeldes im Befehlswortregister.
In bekannter Weise ermöglicht das Indizieren eine größere Anpassungsfähigkeit bei der Abänderung von Adressen, deren Inhalt bei der Ausführung von Befehlen verarbeitet wird. Dabei ist es auch bekannt, in bestimmten Fällen eine Doppelindizierung vorzusehen, also eine Adresse nicht nur durch den Inhalt eines ersten Registers sondern auch durch den Inhalt eines zweiten Registers abzuändern. Dazu ist dann ein erster Befehl nötig, um das Datenadreßfeld des Befehls mit dem Inhalt eines ersten Indexregisters arithmetisch zu kombinieren. Ein zweiter Befehl ist nötig, um die erste Kombination (Datenadresse und Inhalt des ersten Indexregisters) mit dem Inhalt eines zweiten Indexregisters arithmetisch zu kombinieren. Es müssen also mindestens zwei Befehle ausgeführt werden, um ein endgültiges Datenadreßfeld abzuleiten, das die Summe von Dreivariablen ist. Während des Indexvorganges kann nämlich bei der Ausführung eines einzigen Befehls das Datenadreßfeld des Befehls nur jeweils zu dem vollständigen, in einem Indexregister enthaltenen Datenwort addiert werden.
Der Erfindung liegt die Aufgabe zugrunde, eine Datenverarbeitungsanlage zu schaffen, bei der unter Ausführung nur eines einzigen Befehls eine Doppelindizierung möglich ist.
Zur Lösung der Aufgabe geht die Erfindung aus von einer Datenverarbeitungsanlage der eingangs genannten Art und ist dadurch gekennzeichnet, daß Schaltungen vorgesehen sind, die bei einem besonderen Bitmuster im Steuerfeld auf Grund eines Teils des Datenadreßfeldes bestimmt, wie viele Bits in einem bestimmten Indexregister gleichzeitig mit der Übertragung des Inhalts des durch das Indexfeld des Befehlswortes angegebenen Indexregisters an den Index-Addierer übertragen werden.
Dem Index-Addierer werden bei der Ausführung eines Befehls dieser Art also neben dem Datenadressenfeld der Inhalt eines wählbaren Indexregisters und ein wählbarer Teil des Inhalts eines bestimmten Indexregisters zugeführt, so daß eine Doppelindizierung möglich ist, ohne daß mehrere Befehle ausgeführt werden müssen.
Eine Weiterbildung der Erfindung sieht vor, daß eine Schiebeschaltung, die auf den Teil des Datenadressenfeldes anspricht und in Serienform den Inhalt der Stellen des bestimmten Indexregisters verschiebt, und eine Leseschaltung vorgesehen ist, die das bestimmte Indexregister mit dem Index-Addierer verbindet.
Nachfolgend wird ein Ausführungsbeispiel der Erfindung an Hand der Zeichnungen näher beschrieben.
F i g. 1 und 2 zeigen ein Blockschaltbild des Ausführungsbeispiels.
Der Programmspeicher 40 enthält eine Folge von Befehlswörtern, die nacheinander über das Kabel 48 zum Befehlswortregister 28 übertragen werden. Das jeweilige Befehlswort, das sich im Befehlswortregister befindet, steuert die Operation der verschiedenen Einheiten der Anlage. Die Speicheradresse des Befehls, der zum Befehlswortregister übertragen wird, ist im Programmadressenregister 38 enthalten. Die Adresse wird über das Kabel 50 zum Programmspeicher gegeben, der den in der entsprechenden Speicherstelle enthaltenen Befehl an das Befehlswortregister gibt. Die Adresse im Register 38 wird kontinuierlich durch die Inkrementschaltung 36 weitergeschaltet. Da aufeinanderfolgend numerierte Adressen im Register 38 enthalten sind, werden aufeinanderfolgend gespeicherte Befehle zum Befehlswortregister 28 übertragen. Es besteht jedoch bei der Anlage die Möglichkeit, die Übertragung eines Befehlswortes, das nicht in der Folge liegt, zum Befehlswortregister zu steuern. Dazu wird eine Adresse über das Kabel 52 zum Programmadressenregister 38 gegeben. Wenn das Befehlskabel XFR (Sprung) erregt ist, wird diese Adresse in das Programmadressenregister eingeschrieben und der entsprechende Befehl zum Befehlswortregister übertragen. Diese Adresse wird dann weitergeschaltet, um die Übertragung von in aufeinanderfolgenden Adressen des Programmspeichers gespeicherten Befehlen an das Befehlswortregister 28 zu steuern.
Jedes Befehlswort besteht entsprechend der symbolischen Darstellung des Befehlswortregisters aus
vier Teilen, nämlich dem Operations-, dem DA-, dem IR- und dem ZJM-FeId, deren Bedeutung noch erläutert wird. Das Operationsfeld ist ein Code (invariabel numerisch, wie auch die anderen Felder), der bestimmt, welche Einheiten des Systems bei der Ausführung des durch das bestimmte Befehlswort angegebenen Befehls in Tätigkeit tritt. Der Befehlsdecodierer 34 bestimmt aus den Bits des Operationsfeldes den auszuführenden Befehl und erregt eines der vier in der Zeichnung strichpunktiert dargestellten Befehlskabel. Diese übertragen die zur Ausführung des Befehls erforderlichen Informationen zu den verschiedenen Einheiten des Systems. In dem dargestellten System können nur vier Befehle ausgeführt werden. Die Erfindung ist jedoch in gleicher Weise bei Systemen anwendbar, bei denen wesentlich mehr Operationsarten vorgesehen sind.
Das Datenadreßfeld (D/l-Feld) gibt entweder Daten oder eine Adresse an. Gleichzeitig mit der Übertragung des Operationsfeldes an den Befehlsdecodierer 34 wird ein Unterfeld DAx des DA -Feldes über das Kabel 21 direkt zum Index-Addierer 32 gegeben. Das Tor 30 ist normalerweise geöffnet. Es wird nur dann gesperrt, wenn das Bit P des Steuerfeldes LPA im Befehlswortregister 28 eine 1 ist. Wenn das Bit P 0 ist, wird das DA .,-Unterfeld des DA -Feldes ebenfalls zum Index Addierer 32 übertragen. Es wird also, wenn das Bit P 0 ist, das gesamte D/4-Feld zum Index-Addierer gegeben. Der Index-Addierer 32 addiert die im DA-FeId des Befehlswortes enthaltene Zahl zum Inhalt eines von einer Anzahl von im System vorgesehenen Indexregistern.
Der Registerleser 16 liest den Inhalt des Pufferregisters 12, des L-Registers 18, des Af-Registers 20, des Y-Registers 20 oder des Z-Registers 24. Ein entsprechendes Kabel führt von jedem dieser fünf Register zum Registerleser. Das Indexregisterfeld (IR-FeId) gibt keines (wenn es leer ist) oder eines dieser fünf Register an, und der Inhalt des angegebenen Registers wird über das Kabel 62 zum Index-Addierer 32 übertragen. Wenn kein Register im IR-Fdd des Befehlwortes angegeben ist, werden keine Bits über das Kabel 62 zum Index-Addierer gegeben. Der Index-Addierer bildet die Summe der Zahlen, die im DA -Feld des Befehlswortes und dem angegebenen Register enthalten sind. Die Summe am Ausgang des Index-Addierers wird zu verschiedenen Einheiten im System übertragen. Es arbeitet jedoch nur die Einheit mit diesem indizierten Daten- oder Adressenwort, die durch das erregte der vier Befehlskabel in Tätigkeit gesetzt wird.
Von der Maskierschaltung 14 kann ein Wort zum Registerdirektor 44 übertragen werden. Der Registerdirektor arbeitet, wenn eines der beiden Befehlskabel M(R) oder W(R) erregt ist. Informationen werden zum Registerdirektor vom Decodierer-Verteiler über das erregte Befehlskabel übertragen, das entweder das Pufferregister oder eines der Register L, X, Y und Z identifiziert. Das Eingangswort für den Registerdirektor auf dem Kabel 64 wird zu dem durch die Befehlskabelinformation angegebenen Register über eines der fünf entsprechenden Ausgangskabel des Registerdirektors 44 übertragen.
Der Index-Addierer 32 wird in der Anlage nicht zur Addition von zwei Datenwörtern benutzt. Er ist lediglich vorgesehen, um das DA-FcId eines Befehlswortes entsprechend dem Inhalt eines (oder von zwei, wie später gezeigt wird) der Register im System abzuändern. Zur Bildung der Summe von zwei Datenwörtem ist der Addierer 42 vorgesehen. Immer dann, wenn ein neues Wort durch den Registerdirektor in das Y-Register eingeschrieben wird, wird das Wort zum Addierer 42 übertragen. Das Z-Register ist über das Kabel 58 an den Addierer 42 angeschaltet und überträgt an den Addierer das in ihm gespeicherte Wort. Wenn ein neues Wort in das Y-Register eingeschrieben wird, addiert der Addierer 42 dieses Wort zu dem Wort im Z-Register, und die Summe wird zum Z-Register übertragen und dort gespeichert. Das neue Wort verbleibt im Y-Register und das Z-Register enthält die Summe des neuen Wortes und des vorhergehenden Inhaltes des Z-Registers. Eine Addition von zwei Datenwörtern wird also erreicht, indem zuerst der Registerdirektor 44 so gesteuert wird, daß er eines von ihnen in das Z-Register einschreibt, und dann so gesteuert wird, daß er das andere in das Y-Register eingibt. Wenn der Registerdirektor ein Wort in das Z-Register einschreibt, arbeitet der Addierer 42 nicht. Eine Addition von zwei Digitalwörtern findet nur dann statt, wenn zuerst ein Wort in das Y-Register gegeben wird.
Bei vielen Datenverarbeitungsanlagen besteht für verschiedene Befehlsarten eine Produkt-Maskiermöglichkeit. Dabei wird das logische Produkt (UND) entsprechender Bits der Maske und von Datenwörtern gebildet. Das sich ergebende maskierte Datenwort weist eine 1 nur in den Positionen auf, für welche die Maske und das Datenwort beide eine binäre 1 enthalten. Beispielsweise werde bei einer mit sechs Bits arbeitenden Anlage das Datenwort 101011 vom Datenspeicher zu einem Register übertragen. Bei dieser Übertragung läuft das Wort durch die Maskierschaltung. Es sei angenommen, daß die von der Maskierschaltung benutzte Maske 011110 ist das sich ergebende maskierte Wort, das im Register gespeichert ist, ist dann 001010.
Immer dann, wenn eine Maskierung erforderlich ist, muß das Maskierwort zuerst im L-Register gespeichert werden. Dieses Register ist über das Kabel 60 mit der Maskierschaltung 14 verbunden und steuert die Maskierung eines durch die Maskierschaltung übertragenen Wortes. Die Maskierschaltung ist zweiseitig gerichtet. Ein vom Registerleser 16 zur Maskierschaltung über das Kabel 56 übertragenes Wort kann durch die Maske im L-Register maskiert werden, bevor es im Pufferregister 12 gespeichert wird. Analog kann das Wort im Pufferregister oder auf dem Kabel 55 in der Maskierschaltung maskiert und über das Kabel 64 zum Registerdirektor 44 übertragen und von dort zu einem der fünf Speicherregister im System gegeben werden (Es kann zurück zum Pufferregister und zu einem der anderen vier Register übertragen werden). Die Maskierschaltung 14 maskiert das sie durchlaufende Wort mit der Maske im L-Register nur dann, wenn das Bit L im LPA-Fud des Befehlswortregisters 28 eine 1 ist. Das Bit L wird über die Ader L zur Maskierschaltung 14 übertragen, und wenn es eine 0 ist, läßt die Maskierschaltung das Datenwort unverändert durch.
Das Pufferregister stellt einen Puffer zwischen dem Datenspeicher 10 und dem Rest der Anlage dar. Die von der Anlage zu bearbeitenden Daten sind im Datenspeicher 10 enthalten. Eine Adresse wird über die Kabel 53 und 66 vom Index-Addierer 32 zum Datenspeicher 10 übertragen. Wenn ein Wort aus dem Datenspeicher abgelesen werden soll, ist das Befehls-
kabel M (R) erregt, und das in der angegebenen Stelle des Datenspeichers enthaltene Wort zum Pufferregister 12 übertragen. Wenn ein Wort in den Datenspeicher einzuschreiben ist, ist das Befehlskabel (R) M erregt, und das im Pufferregister 12 gespeicherte Wort wird in die angegebene Stelle des Datenspeichers eingeschrieben.
Wenn ein Wort vom Datenspeicher 10 zum Pufferregister 12 gegeben wird, wird es automatisch aus dem Pufferregister zur Maskierschaltung 14 übertragen. Entsprechend wird, wenn ein Wort vom Registerleser 16 durch die Markierschaltung 14 zum Pufferregister 12 gegeben wird, das Wort automatisch vom Pufferregister zum Datenspeicher übertragen. In beiden Fällen verbleibt das Datenwort außerdem im Pufferregister. Wenn ein Wort in einem Register in den Datenspeicher 10 einzuschreiben ist, wird es vom Registerleser 16 über die Maskierschaltung 14 zum Pufferregister 12 übertragen. Es kann erwünscht sein, dieses Wort erneut zu bearbeiten, beispielsweise, indem die Inkrementschaltung 70 so gesteuert wird, daß sie eine 1 zu dem Wort addiert. Aus diesem Grund bleibt das Wort außerdem im Pufferregister gespeichert. Analog kann es erwünscht sein, wenn ein Datenwort aus dem Datenspeicher über das Pufferregister, die Maskierungsschaltung 14 und den Registerdirektor 44 zu einem der Register übertragen wird, das ursprüngliche Wort im Pufferregister zu bearbeiten. Beispielsweise kann das abgelesene Datenwort maskiert und im X-Register gespeichert werden. Das ursprüngliche Datenwort verbleibt im Pufferregister, damit eine Weiterschaltung und Rückspeicherung im Datenspeicher möglich ist. Entsprechend bleibt, wenn der Registerleser 16 ein Datenwort aus dem Pufferregister 12 abliest, der Inhalt des Pufferregisters unverändert. Auch der Inhalt der anderen Register bleibt unverändert, wenn der Registerleser 16 ein Datenwort aus einem von ihnen abliest.
Der Index-Addierer 32 muß vor der Ausführung eines Befehls zurückgestellt werden. Das im anderen Fall verbleibende Ausgangssignal des Index-Addierers wäre dasjenige, das bei dem Index-Vorgang während der Ausführung des vorhergehenden Befehls abgeleitet worden ist. Der Decodierer 34 legt immer dann einen Rückstellimpuls an die Ader 46, wenn ein neues Befehlswort zum Befehlswortregister 28 übertragen wird. Dieser Rückstellimpuls wird zum Index-Addierer gegeben und stellt ihn vor der Ausführung des neuen Befehls zurück.
Das Steuerfeld LPA des Befehlswortes im Befehlswortregister enthält drei Informations-Bits, welche die Erregung der drei entsprechenden Adern L, P und A steuern. Die Erregung der Ader L steuert, wie oben beschrieben, die Maskierschaltung 14. Wenn das Bit A eine 1 ist, läßt es die Inkrement-Steuerschaltung 70 eine 1 zum Inhalt des Pufferregisters addieren, bevor der Befehl selbst ausgeführt wird. Das Bit P steuert die Übertragung des IM .,-Unterfeldes entweder zum Index-Addierer 32 oder zur Schiebesteuerschaltung 72 und zur Leseschaltung 74. Wenn das Bit P eine 0 ist, ist das Tor 30 geöffnet und das Tor 26 gesperrt. Das Dy42-Unterfeld auf dem Kabel 19 läuft durch das Tor 30 zum Kabel 17 und zum Index-Addierer 32. Wenn das Bit P eine 1 ist, ist das Tor 30 gesperrt und das Tor 26 geöffnet. In diesem Fall wird das DA .,-Unterfeld über die Kabel 76 und 86 zur Schiebesteuerschaltung 72 und zur Leseschaltung 74 übertragen.
Die Arbeitsweise des Systems läßt sich am besten verstehen, indem die Ausführung der vier Befehlsarten individuell betrachtet wird.
Bei der folgenden Analyse der vier Befehlsarten ist das Bit P eine 0, und das gesamte DA-Fdd im Befehlsregister 28 wird zum Index-Addierer 32 übertragen. Die Schiebeschaltung 72 und die Leseschaltung 74 arbeiten nicht. Nach der Analyse der einzelnen Befehle, wobei das Bit P in jedem Fall 0 ist, soll
ίο die Betriebsweise des Systems betrachtet werden, wenn das Bit P eine 1 ist.
Ein Sprungbefehl steuert einen Sprung auf einen neuen Befehl außerhalb der laufenden Folge. Ein typischer Befehl kann lauten XFR, 500, Y, 000. Der Decodierer 34 erregt das Befehlskabel XFR. Dieses Befehlskabel ist nur mit dem Programmadreßregister 38 verbunden, so daß eine neue Adresse, die auf dem Kabel 52 erscheint, in das Register eingeschrieben werden kann. Da das Bit P 0 ist, ist das Tor 30 geöffnet, und das vollständige DA-FeId wird zum Index-Addierer übertragen. Vorher gibt der Decodierer 34 einen Rückstellimpuls zur Rückstellung des Index-Addierers auf die Ader 46. Das DA-FeId, 500, wird dann zum Index-Addierer übertragen, und zwar teilweise direkt und teilweise durch das Tor 30. Gleichzeitig wird die Identität des Y-Registers über das Kabel 54 zum Registerleser 16 gegeben. Der Registerleser liest den Inhalt des Y-Registers ab, der beispielsweise aus der Zahl 25 bestehen kann, und überträgt diese Zahl über das Kabel 62 zum Index-Addierer. Der Index-Addierer addiert das D^I-FeId zu seinem Inhalt, und die Summe 525 erscheint an seinem Ausgang. Diese Zahl wird außer zum Programmadressenregister 38 auch zum Datenspeicher 10 und zum Tor 79 übertragen, aber der Datenspeicher und das Tor sind durch das Befehlskabel XFR nicht erregt. Die Zahl 525 auf dem Kabel 52 wird nur in das Programmadressenregister 38 eingeschrieben, da das erregte Befehlskabel nur mit dieser Einheit verbunden ist. Der nächste über das Kabel 48 zum Befehlswortregister 28 übertragene Befehl ist derjenige, der in der Speicherstelle des Programmspeichers mit der Adresse 525 gespeichert ist. Diese Adresse wird dann nachfolgend im Programmadressenregister weitergeschaltet.
Bei der Ausführung eines Sprungbefehls kann das Bit L eine 0 sein, aber auch dann hat es keinen Einfluß auf das System. Ein Wort wird nur dann über die Maskierschaltung 14 übertragen, wenn der Registerleser 16 auf Grund eines Befehls (R) M arbeitet, das Tor 79 bei einem Befehl W(R) geöffnet ist oder wenn ein Wort zuerst bei der Ausführung eines Befehls M(R) aus dem Datenspeicher 10 in das Pufferregister 12 geschrieben wird, wobei das Wort dann automatisch vom Pufferregister zur Maskierschaltung 14 gegeben wird. Bei der Ausführung eines Sprungbefehls wird kein Wort zur Maskierschaltung übertragen, so daß, auch wenn das Bit L eine 1 ist, kein Wort vorhanden ist, das in der Maskierschaltung 14 maskiert sein könnte.
Man beachte, daß der Registerleser 16 den Inhalt des im /Ä-Feld angegebenen Registers zur Übertragung an den Tndexaddierer auf das Kabel 62 gibt. Bei einem Befehl (R)M gibt der Registerleser ebenfalls ein Wort auf das Kabel 56, aber diese Operation wird durch das Befehlskabel (R) M gesteuert. Bei der Ausführung eines Sprungbefehls ist nur das Befehlskabel XFR erregt, und der Registerleser gibt den
7 8
Inhalt des im /R-FeId angegebenen Registers nur an ist immer erregt, wenn ein Befehl MB, ML, MX, das Kabel 62. Die Adresse im IM-FeId des Befehls- MY oder MZ ausgeführt wird. Der zweite Buchstabe wortes kann durch den Inhalt des angegebenen Re- im Operationsfeld des Befehlswortes stellt das Registers geändert werden, und auf diese geänderte gister dar, in welches die Daten oder das Speicher-Adresse erfolgt der Sprung. 5 wort einzuschreiben sind. Die Identität des Registers
Wenn das im DA-FeId eines Befehlswortes enthal- wird über das Befehlskabel zum Registerdirektor 44
tene Wort in eines der fünf Register einzuschreiben übertragen.
ist, wird das Befehlskabel W(R) erregt. Der Code, der Das IR-FeId gibt dasjenige der fünf Register an,
im Operationsfeld des Befehlswortregisters erscheint, dessen Inhalt zum Index-Addierer 32 zu übertragen
ist entweder WB, WL, WX, WY oder WZ. Das (R) io ist, um bei dem Index-Vorgang benutzt zu werden,
in der Bezeichnung W(R) gibt an, daß irgendeiner Wie bei der Ausführung von Befehlen XFR und
der fünft speziellen Codierungen in dem Operations- W (R) wird nach Rückstellung des Index-Addierers
feld des Befehlswortes erscheinen kann. Das B in das DA-FeId im Index-Addierer zum Inhalt des im
dem Code WB gibt an, daß das DA-FeId in das Puf- IR-FeId angegebenen Registers addiert. Die Summe
ferregister einzuschreiben ist. 15 wird über die Kabel 53 und 56 zum Datenspeicher
Bei der Ausführung eines Befehls W (R) gibt das 10 übertragen und stellt die Adresse im Datenspei-/R-FeId wiederum dasjenige der fünf Register an, eher dar, deren Inhalt zum Pufferregister 12 zu geben dessen Inhalt bei dem Index-Vorgang zu dem DA- ist. Das Wort wird dann automatisch vom Puffer-Feld zu addieren ist. Das Summenwort wird in dem register über die Maskierschaltung 14 zum Register-Register gespeichert, dessen Identität im Operations- 20 direktor 44 übertragen. Es wird durch den Inhalt des feld enthalten ist. Der Registerleser 16 liest das Wort L-Registers nur dann maskiert, wenn das Bit L im ab, das in dem angegebenen der Register 12, 18, 20, ZJM-FeId des Befehlswortes eine 1 ist. Das maskierte 22 und 24 gespeichert ist, und überträgt es über das Wort auf dem Kabel 64 wird dann vom Register-Kabel 62 zum Index-Addierer 32. Das zum Index- direktor 44 zu dem im Operationsfeld angegebenen Addierer übertragene DA-FeId wird zu dem Daten- 25 der fünf Register übertragen. Man beachte, daß das wort addiert, das über das Kabel 62 zum Index-Ad- Ausgangssignal des Index-Addierers auf dem Kabel dierer 32 gegeben worden ist. Das Programmadres- 68 zum Tor 79 und auch zum Datenspeicher gegeben senregister 38 und der Datenspeicher 10 sind bei der wird. Bei der Ausführung eines Befehls M(R) ist das Ausführung eines Befehls W(R) nicht erregt. Der Tor 79 jedoch nicht geöffnet.
Registerdirektor 44 ist jedoch über das Befehlskabel 30 Wenn ein Befehl (M(R) ausgeführt wird, kann das
W(R) in Tätigkeit gesetzt und wird von der Identität Bit A eine 1 sein. Aber auch in diesem Falle hat es
entweder des Pufferregisters oder eines der Register keinen Einfluß auf das System. Wenn es eine 1 ist,
L, X, Y und Z in Kenntnis gesetzt. Das abgeänderte wird der Inhalt des Pufferregisters 12 vor Ausfüh-
DA-FeId wird über das geöffnete Tor 79 zur Mas- rung des Befehls weitergeschaltet. Das Wort im Puf-
kierschaltung 14 übertragen und von dort über das 35 ferregister wird jedoch gelöscht, wenn das neue
Kabel 64 zum Registerdirektor. Der Registerdirektor Wort aus dem Datenspeicher in das Pufferregister
schreibt das Wort entsprechend dem speziellen der gegeben wird. Aus diesem Grund besteht kein An-
fünf Befehle W (R), der ausgeführt wird, in eines der laß, den ursprünglichen Inhalt des Pufferregisters zu-
fünf Register ein. nächst weiterzuschalten, und das Bit A sollte bei
Wenn das Befehlskabel W(R) erregt ist, öffnet es 40 einem Befehl M (R) eine 0 sein.
das Tor 79. Nur bei der Ausführung eines Befehls Die vierte Befehlsart ist ein Befehl (R)M, der die
W(R) wird das Ausgangssignal des Index-Addierers Einspeicherung des in einem bestimmten der fünf
über das Kabel 55 zur Maskierschaltung übertragen. Register enthaltenen Wortes in den Datenspeicher
Wenn das Bit L eine 1 ist, wird das Wort, das durch steuert. Es sei angenommen, daß der Befehl ZM,
die Maskierschaltung läuft, durch die Maske im L- 45 500, Y, 100 ausgeführt wird und der Inhalt des
Register maskiert. Das sich ergebende maskierte Wort Y-Registers 25 ist. Da das Bit P eine 0 ist, wird das
wird in dem im Operationsfeld angegebenen Register vollständige DA-FeM, 500, zum Index-Addierer
gespeichert. übertragen. Gleichzeitig gibt der Registerleser 16 den
Das DA -Feld kann nur aus 0-Werten bestehen. In Inhalt des Y-Registers über das Kabel 62 an den diesem Fall besteht das A.usgangssignal des Tndex- 50 Index-Addierer. Die im Index-Addierer gebildete Addierers lediglich aus dem Inhalt des im /R-FeId Summe, 525, wird über die Kabel 53 und 66 zum angegebenen Registers. Der Befehl W(R) kann auf Datenspeicher 10 übertragen. Das Befehlskabel (R) M diese Weise zur Übertragung eines Datenwortes aus wird erregt und setzt den Datenspeicher davon in einem Register in ein anderes benutzt werden. Das Kenntnis, daß die Zahl 525 die Adresse der Speicher-Bit A kann bei der Ausführung eines Befehls W(R) 55 stelle ist, in welcher das als nächstes in das Puffereine 1 sein. Dann steuert es lediglich das Weiterschal- register einzuschreibende Wort gespeichert werden ten des Wortes im Pufferregister 12 vor der Ausfüh- soll. Der Code ZM im Operationsfeld steuert die rung des Befehls. Wenn jedoch ein Befehl WB ausge- Übertragung eines Kommandos über das Befehlsführt wird, hat das Bit/4, auch wenn es eine 1 ist, kabel (R)M zum Registerleser 16, den Inhalt des keinen Einfluß auf das System. Der Inhalt des Puffer- 60 Z-Registers abzulesen und das Datenwort an das registers 12 wird weitergeschaltet, aber unmittelbar Kabel 56 zu geben. Der Registerleser 16 arbeitet danach gibt der Registerdirektor das übertragene Wort zweimal nacheinander, und zwar zuerst auf Grund in das Pufferregister, und das weitergeschaltete Wort des Code Y im /R-FeId und dann auf Grund des wird gelöscht. Aus diesem Grunde sollte das Bit A Code Z im Operationsfeld, wobei der Inhalt des bei der Ausführung eines Befehls WB immer 0 sein. 65 Y-Registers an das Kabel 62 und der Inhalt des
Die dritte Befehlsart steuert das Ablesen eines Z-Registers an das Kabel 56 gegeben wird. Das Wort
Wortes im Datenspeicher und dessen Einschreiben in im Z-Register wird über die Maskierschaltung 14
eines der fünf Register. Das Befehlskabel M (R) zum Pufferregister 12 übertragen, und, da das Bit L
9 10
eine 1 ist, durch den Inhalt des L-Registers maskiert. größerem Umfang auf dem Gebiet der Nachrichten-
Das maskierte, zum Pufferregister übertragene Wort Übertragungen verwendet. Beispielsweise kann eine
wird dann in die Speicherstelle des Datenspeichers Datenverarbeitungsanlage benutzt werden, um die
mit der Adresse 525 eingeschrieben. Verfügbarkeit eines Weges durch ein Fernsprechver-
Bisher wurde die Betriebsweise des Systems be- 5 mittlungsnetzwerk festzustellen. Es sei angenommen, trachtet, wenn das Befehlswort im Befehlswortregi- daß in einem bestimmten Netzwerk vier Stufen vorster 28 für das Bit P eine 0 enthält. Der Index-Ad- handen sind, die jeweils viele Verbindergruppen aufdierer weist vier Eingänge auf, nämlich die Kabel 21, weisen, und daß acht Kreuzpunkte in jeder Verbin-17, 62 und 78. Wenn das Bit P eine 0 ist, werden dergruppe vorhanden sind. Ein Weg kann durch die DA1- und DA ,-Unterfelder zum Index-Addierer io das Netzwerk nur dann durchgeschaltet werden, über die Kabel 21 und 17 und der Inhalt des im IR- wenn ein gleich numerierter Kreuzpunkt in einer VerFeld des Befehlswortes angegebenen Registers über bindergruppe jeder dieser vier Stufen zur Verfügung das Kabel 62 zum Index-Addierer übertragen. Über steht. Der Zustand (verfügbar oder nicht verfügbar) das Kabel 78 wird nicht zum Index-Addierer über- jedes Kreuzpunktes kann durch eine der beiden tragen, und der Index-Addierer bildet lediglich die 15 Binärzahlen dargestellt werden, wobei eine 1 anSumme des DA-Feldes im Befehlswortregister und zeigt, daß der Kreuzpunkt verfügbar ist, und eine 0, des Datenwortes in dem durch das IR-FeId ange- daß er nicht verfügbar ist. Vier Datenworte mit acht gegebenen Indexregister. Wenn das Bit P jedoch Bits können den Zustand der Kreuzpunkte von vier eine 1 ist, wird nur das D/i1-Unterfeld zum Index- Verbindergruppen darstellen. Um die Verfügbarkeit Addierer übertragen. Das DA 2-Unterield wird über 20 eines der acht Wege über diese vier Verbindergrupdas Tor 26 und die Kabel 76 und 86 zur Schiebe- pen festzustellen, muß nur bestätigt werden, daß eine schaltung 72 und zur Leseschaltung 74 übertragen. 1 in der entsprechenden Position jedes der vier Die Leseschaltung 74 ist mit den Stufen des Z-Regi- Datenworte vorhanden ist. Wenn also die vier Wörsters verbunden, welche die Bits der niedrigsten Stel- ter, welche den Zustand der Kreuzungspunkte wielenzahlen enthalten. Die Zahl von Stufen, mit wel- 25 dergeben, 11100000, 1101110, 01111101 und eher die Leseschaltung verbunden ist, hängt von der 11110011 sind, zeigt sich, daß der einzige verfüg-Maximalzahl von Bits ab, die bei einer gegebenen bare Weg über diejenigen vier Kreuzungspunkte Anwendung vom Z-Register zum Index-Addierer führt, deren Zustand durch das Bit mit der zweitzu übertragen sind. Das DA .,-Unterfeld gibt eine höchsten Stellenzahl in jedem der vier Worte mit Zahl von Bits, beispielsweise vier, an. Die Lese- 30 acht Bits dargestellt wird.
schaltung 74 liest die vier Bits mit der niedrigsten Der verfügbare Weg oder die verfügbaren Wege
Stellenzahl im Z-Register ab und überträgt sie über lassen sich wie folgt bestimmen: Es wird das logi-
das Kabel 78 zum Index-Addierer 32. Der Inhalt des sehe Produkt (UND-Verknüpfung) der ersten beiden
angegebenen Indexregisters erscheint, wie üblich, auf Wörter mit acht Bits gebildet. Das Ergebnis ist
dem Kabel 62. Der Index-Addierer bildet dann die 35 11000000. Das logische Produkt dieses Produktes
Summe des IMj-Unterfeldes, des Datenwortes auf mit dem dritten Wort wird gebildet. Das logische
dem Kabel 62 und der vier Bits auf dem Kabel 78. Produkt von 11000010 und 01111101 ist 01000000.
Das DA -Feld des Befehlswortes, oder genauer, das Endlich wird das logische Produkt dieses Produktes
D^-Unterfeld, wird auf diese Weise nicht nur durch mit dem vierten Wort gebildet. Das Ergebnis,
das Datenwort in dem durch das /i?-Feld angegebe- 40 01000000, bestätigt, daß der einzige verfügbare Weg
nen Indexregister verändert, sondern außerdem über die vier Verbindergruppen über die vier Kreu-
durch die vier Bits mit der niedrigsten Stellenzahl im zungspunkte führt, deren Zustand durch das zweite
Z-Register. Bit von links der vier Wörter mit acht Bits dargestellt
Unmittelbar nach der Operation der Leseschaltung wird.
74 tritt die Schiebeschaltung 72 in Tätigkeit. Sie 45 Zur Erläuterung soll im folgenden der Octal-Code
überträgt Steuersignale über das Kabel 84 zum benutzt werden. Das Z-Register enthält beispiels-
Z-Register. Das Wort im Z-Register wird nach weise 24 Bits, aber ein Octal-Code mit acht Ziffern
rechts verschoben, also in Richtung auf niedrigere reicht aus, um jedes Datenwort im Register darzu-
Stellenzahlen. Die Größe der Verschiebung hängt stellen. Adressen werden ebenfalls im Octal-Code
von der Zahl der Bits mit der niedrigsten Stellenzahl 50 angegeben. Beispielsweise entspricht die Adresse 100
ab, die durch die Leseschaltung 74 abgelesen worden der Dezimal-Adresse 64.
sind. In dem gewählten Beispiel wird das Datenwort Es sei angenommen, daß das erfindungsgemäße im Z-Register um vier Stellen nach rechts verscho- Ausführungsbeispiel einer Datenverarbeitungsanlage ben. Diese Schiebeoperation findet zur Vorbereitung benutzt wird, um die Verfügbarkeit eines Weges des nächsten Befehls statt. Die Bit mit der niedrig- 55 durch ein Vermittlungsnetzwerk zu bestimmen. Die sten Stellenzahl im Z-Register nach dem Index-Vor- Wörter mit acht Bits, welche den Zustand der entgang werden aus dem Register hinausgeschoben. Die sprechenden Verbindergruppen darstellen, können Bits, die als nächste bei einem Index-Vorgang erfor- (nachdem sie auf den neuesten Stand gebracht sind) derlich sein mögen, werden in die Stufen mit der im Datenspeicher in einer Folge von Tabellen geniedrigsten Stellenzahl des Z-Registers gegeben. Auf 60 speichert werden. Es sei angenommen, daß vier Tadiese Weise können diese Bits durch die Leseschal- bellen A bis D vorhanden sind, die jeweils 100 Vertung 74 aus dem Z-Register ausgelassen werden, ob- bindergruppen zugeordnet sind. Das Wort, welches wohl die Leseschaltung über das Kabel 82 nur mit den Zustand der acht Kreuzungspunkte in einer beden Stufen der niedrigsten Stellenzahl des Z-Regi- stimmten Verbindergruppe wiedergibt, wird im folsters verbunden ist. 6g genden »Zustandswort« genannt. Jedes Zustands-
Der mit der Erfindung erzielte Fortschritt läßt wort wird durch ein Symbol, wie beispielsweise WA.M,
sich am besten an Hand eines speziellen Beispiels er- wiedergegeben. Die Indizes A bis D geben an, ob
kennen. Datenverarbeitungsanlagen werden in immer das Zustandswort der ersten, zweiten, dritten oder
Adresse
1000
1001
Zustandsort
^ 00
1077
1100
1101
W'b oo
Wb01
1177
1200
1201
War,
Wc oo
Wc01
1277 w'c„
1300
1301
WD 00
Wo01
1377 Wn7,
11 12
vierten Stufe des speziellen Netzwerkes zugeordnet daß der Octal-Code benutzt wird. Das LPA -Feld ist. Eine der Zahlen 00-77 im Index gibt an, wel- weist drei Ziffern (jeweils 0 oder 1) auf. Die vier chem der 100 Verbindergruppen das Zustandswort Felder eines Befehlswortes sind durch Kommata gezugeordnet ist. So ist das Zustandswort WA.^ den trennt. Die Unterfelder DA1 und DA2 sind durch acht Kreuzungspunkten in der 33sten Verbinder- 5 einen Schrägstrich getrennt. Eine 6 im IM.,-Untergruppe der Stufe A zugeordnet. feld entspricht zwei Octal-Ziffern — die Bits im
Die 400 Zustandsworte werden im Datenspeicher Z-Register werden um sechs Positionen oder zwei 10 in vier Tabellen A bis D mit jeweils 100 Wörter Octal-Positionen verschoben.
gespeichert. Das erste Wort der Tabelle A ist in der Bei der Herstellung einer Gesprächsverbindung,
Speicherstelle 1000 und das letzte Wort der Ta- io bei der die vier oben angegebenen Verbindergruppen belle D in der Speicherstelle 1377 gespeichert. Die in Betracht gezogen werden, wird die Zahl 28546235 400 Zustandswörter sind also im Speicher auf fol- in das Z-Register gegeben. Die Zahl 1000 wird in gende Weise gespeichert: das Y-Register gegeben. Danach sind nur die folgen
den vier Befehle erforderlich, um die Verfügbarkeit 15 eines Weges über die vier Verbindergruppen festzustellen:
ML, 0/6, Y, 010
ML, 100/6, Y, 110
ML, 200/6, Y, 110
20 ML, 300/6, Y, 110
Als erstes Befehlswort wird der erste der oben angegebenen vier Befehle in das Befehlswortregister 28 eingegeben. Das Y im //?-Feld bewirkt, daß der Re-25 gisterleser 16 den Inhalt des F-Registers an den Index-Addierer 32 überträgt. Es erscheint also die Zahl 1000 auf dem Kabel 62. Das Bit P im LPA-FeId ist eine 1. Folglich wird das D^-Unterfeld, 0, zum Index-Addierer 32 über das Kabel 21 und das 30 DA .,-Unterfeld, 2, über die Kabel 76 und 86 zur Schiebeschaltung 72 und zur Leseschaltung 74 übertragen. Die Leseschaltung 74 liest die beiden Ziffern mit der niedrigsten Stellenzahl im Z-Register, 35, ab
Es sei angenommen, daß festgestellt werden soll, und überträgt sie über das Kabel 78 zum Index-Adob ein Weg über die Verbindergruppe 35 in der 35 dierer 32. Der Index-Addierer leitet dann die Summe Stufe A, die Verbindergruppe 62 in der Stufe B, die der Zahlen 1000, 0 und 35 ab. Die sich ergebende Verbindergruppe 54 in der Stufe C und die Verbin- Adresse 1035 wird über die Kabel 53 und 66 zum dergruppe 28 in der Stufe D verfügbar ist. Dann Datenspeicher 10 gegeben, und da das Befehlskabel müssen aus dem Datenspeicher die vier Zustande- M (R) erregt ist, wird das Zustandswort WA 35 vom Wörter abgelesen werden, die in den Speicherstellen 40 Datenspeicher 10 zum Pufferregister und von dort 1035, 1162, 1254 und 1328 gespeichert sind. Die zur Maskierschaltung 14 übertragen. Das Bit L im drei aufeinanderfolgenden logischen Produkte, die Befehlswortregister ist eine 0, und folglich wird das aus den Zustandsworten WA 35, Wn 02, Wc 54 und W0 28 Zustandswort WA 3, nicht durch den Inhalt des L-Regebildet worden sind, führen zu einem Wort mit acht gisters maskiert. Das Zustandswort geht über die Bits, das die Verfügbarkeit von Wegen über die vier 45 Maskierschaltung 14 zum Registerdirektor 44. Da das gewählten Verbindergruppen in den Stufen A, B, C Operationsfeld ML ist, wird das Zustandswort im und D anzeigt. L-Register gespeichert. Unmittelbar nachdem die
Um jedes dieser vier Zustandswörter aus dem beiden Ziffern mit der niedrigsten Ziffernstelle im Datenspeicher 10 zum Pufferregister 12 und zur Mas- Z-Register zum Index-Addierer übertragen worden kierschaltung 14 zu geben, müssen drei Informa- 50 sind, tritt die Schiebeschaltung 72 in Tätigkeit und tionsstücke angegeben werden. Zuerst muß die Spei- schiebt den Inhalt des Z-Registers um zwei (Octal-) cherstelle, in welcher das erste Wort in der Tabelle A Positionen nach rechts. Die Ziffern, die vorher in der gespeichert ist, die Speicherstelle 1000, identifiziert dritten und vierten Stufe des Z-Registers enthalten werden, um die Tabellen A bis D von anderen Daten waren, befinden sich jetzt in den ersten beiden Stuzu unterscheiden, die im Datenspeicher 10 enthalten 55 fen. Damit wird die Ausführung des nächsten Besein können. Zweitens muß die Zahl von Daten- fehls vorbereitet.
speicherstellen zwischen der Stelle 1000 und der Der zweite ausgeführte Befehl entspricht bis auf
Speicherstelle des ersten Wortes in einer der vier drei Abweichungen dem ersten Befehl. Zum einen ist Tabellen identifiziert werden. Das zweite Informa- das über das Kabel 21 zum Index-Addierer 32 übertionsstück ist daher immer eine der Zahlen 0, 100, 60 tragene DA ,-Unterfeld 100 statt 0. Zweitens wird die 200 oder 300. Das dritte Informationsstück ist die Octalzahl 62 durch die Leseschaltung 74 zum Index-Zahl von Speicherstellen, welche das gewünschte Zu- Addierer 32 übertragen. Die im Index-Addierer gestandswort von dem ersten Wort in der gleichen Ta- bildete Summe ist 1162. Drittens wird das aus dem belle trennen, d. h. eine der Zahlen 00-77. Beispiels- Datenspeicher abgelesene und über die Maskierweise müssen zur Identifizierung des Zustandswortes 65 schaltung übertragene Zustandswort WBe2 jetzt durch J^c54 die Zahlen 1000, 200 und 54 angegeben wer- den Inhalt des L-Registers maskiert, da das Bit L den. im LPA-Fdd eine 1 ist. Das Zustandswort WB G2
Für die folgende Erläuterung sei daran erinnert, wird also durch das Zustandswort WA 35 maskiert.
13 14
Das sich ergebende maskierte Wort auf dem Kabel kann es wünschenswert sein, das Datenwort im 64 ist das logische Produkt der ersten beiden Zu- Z-Register um eine Zahl von Positionen zu verschiestandswörter. Dieses logische Produkt wird im L-Re- ben, die nicht gleich der Zahl von Bits ist, die von gister gespeichert und ersetzt das vorher darin be- der Leseschaltung aus dem Register abgelesen wernndliche Zustandswort WAs5. Dann steuert die 5 den. Beispielsweise kann eine bestimmte Folge er-Schiebeschaltung 72 erneut das Verschieben des In- fordern, daß zwei Octal-Ziffern aus dem Register haltes des Z-Registers um zwei Ziffern nach rechts. gelesen werden, und das Datenwort dann um vier Bei der Ausführung des dritten Befehls findet eine Octal-Positionen nach recht verschoben wird. Bei ähnliche Folge von Vorgängen statt. Die einzigen solchen Systemen kann das DA .,-Unterfeld zwei InUnterschiede bestehen darin, daß das zum Index- io formationen enthalten. Die erste gibt der Leseschal-Addierer übertragene D^1-Unterfeld 200 statt 100 tung74 die Zahl der aus dem Register abzulesenden ist, und daß die Zahl 54 statt der Zahl 62 von der Bits an, und die zweite der Schiebeschaltung 72 die Leseschaltung 74 zum Index-Addierer gegeben wird. Größe der Verschiebung. Analog kann es bei man-Das Ausgangssignal des Index-Addierers ist daher chen Anwendungen erwünscht sein, eine Rotation 1254, und das Zustandswort WCii wird aus dem 15 statt einer Verschiebung des Datenwortes im Z-Re-Datenspeicher abgelesen. Dieses Zustandswort wird gister oder sogar eine Verschiebung nach links statt durch das logische Produkt maskiert, das vorher ge- nach rechts zu veranlassen. In einem solchen Fall bildet und im L-Register gespeichert worden war. kann das Dy42-Unterfeld zusätzlich Informationen Das sich ergebende logische Produkt wird dann in hinsichtlich der Art der erforderlichen Schiebeoperadas L-Register eingegeben. 20 tion enthalten, wobei die Schiebeschaltung 72 die geWenn schließlich der vierte Befehl ausgeführt wünschte Operation für das Datenwort im Z-Regiwird, ist das Ausgangssignal des Index-Addierers ster entsprechend dem im Z)/4 .,-Unterfeld dargestell-1328, und das Zustandswort WD 8 wird aus dem ten Kommando ausführt.
Datenspeicher abgelesen. Es wird durch das logische Bei dem Ausführungsbeispiel der Erfindung muß Produkt maskiert, das vorher im L-Register gespei- 25 der Index-Addierer 32 drei Zahlen addieren können, chert worden ist. Das sich ergebende logische Pro- nämlich einen Teil des oder das vollständige DA-dukt wird in das L-Register eingespeichert. Wie oben Feld, ein über das Kabel 62 übertragenes Indexregierläutert, zeigt das endgültige logische Produkt an, ster-Datenwort und einen Teil des über das Kabel 78 welche Wege durch die gewählten vier Verbinder- übertragenen Z-Register-Datenwortes. Addierer, die gruppen verfügbar sind. Die Gesprächsverbindung 30 drei Variable addieren können, sind im allgemeinen kann dann entsprechend nachfolgenden, zum Befehls- teurer als Addierer, die nur zwei Variable addieren Wortregister übertragenen Befehlen hergestellt können. Bei vielen Anwendungen besteht die Mögwerden, lichkeit, den Index-Addierer 32 zu vereinfachen. Für Zur vollen Würdigung der erreichten Vorteile das oben beschriebene Fernsprechsystem sei angemuß die eben beschriebene Untergruppe von vier 35 nommen, daß das ZMj-Unterfeld immer wenigstens Befehlen noch näher untersucht werden. Man könnte η Octalziffem aufweist, von denen m Ziffern mit der fragen, warum es erforderlich ist, das Bit P in jedem niedrigsten Stellenzahl (m kleiner als oder gleich n) der Befehle zu einer 1 zu machen und die beiden immer O-Werte enthalten, und daß in keinem Fall Unterfelder des DA -Feldes zu verschiedenen Einhei- mehr als m Octalziffem vom Z-Register zum Indexten zu übertragen, statt nacheinander die vollständi- 40 Addierer übertragen werden (n und m können sich gen ZM-Felder 1035, 1162, 1254 und 1328 direkt von Befehl zu Befehl ändern). In einem solchen Fall zum Index-Addierer zu übertragen. Die Antwort sind die 3/z Bits der niedrigsten Ziffernstellen im geht dahin, daß die oben betrachtete Untergruppe DA ,-Unterfeld immer 0, und der Teil des Z-Registervon vier Befehlen bei beliebigen vier Verbindergrup- Datenwortes, der zum Index-Addierer übertragen pen in den vier Stufen benutzt werden kann. Es ist 45 wird, enthält niemals mehr als 3 η Bit. In einem solnur erforderlich, das Z-Register mit den Identitäten chen Fall besteht die Möglichkeit, die Adern, welche der betrachteten vier Verbindergruppen einzustellen. die Bits der niedrigstens Stellenzahl im D^j-Unter-Die gleiche Untergruppe von Befehlen kann dann feld führen und die Adern, welche das Kabel 78 bilbenutzt werden. Die gleichen vier Befehle sind also den, über Oder-Tore zusammenzuführen. Es kann die einzigen, die erforderlich sind, um die Verfügbar- 50 eine Anzahl von Oder-Toren vorgesehen sein, und keit eines Weges durch die Stufen A, B, C und D bei da die 1-Werte auf den Adern des Kabels 78 nur beliebigen vier Verbindergruppen festzustellen. Wenn dann erscheinen können, wenn die entsprechenden das dreifache Indizieren und insbesondere das par- Adern in Kabel 21 alle 0-Werte führen, sind die tielle Indizieren des Z-Registers vorgesehen wäre, Ausgangssignale der Oder-Tore tatsächlich die müßten wesentlich mehr Befehle benutzt werden, um 55 Summe der beiden Variblen. In diesem Falle hätte die Verfügbarkeit eines Weges durch eine gewählte der Index-Addierer nur zwei Eingänge, einen für das Gruppe von vier Verbindern zu bestimmen. Indexregister-Datenwort auf dem Kabel 62 und den Bei dem Ausführungsbeispiel der Erfindung schiebt anderen für ein DA rWort, wobei das DA j-Unterfeld die Schiebeschaltung 72 immer die gleichen Bits aus des D/1-Wortes vorher durch die Ziffern im Z-Redem Z-Register heraus, die von der Leseschaltung 60 gister mit der niedrigsten Stellenzahl mit Hilfe einer 74 abgelesen werden. Bei einigen Anwendungen Anzahl von Oder-Toren verändert wird.
Hierzu 1 Blatt Zeichnungen

Claims (2)

Patentansprüche:
1. Datenverarbeitungsanlage mit einem Speicher für Befehlswörter und Daten, einem Befehlswortregister zur Aufnahme von dem Speicher entnommenen Befehlswörtern, die je ein Operationsfeld, ein Datenadreßfeld, ein Indexfeld und ein Steuerfeld aufweisen, einer Vielzahl von Indexregistern, einem Befehlsdecodierer, der auf das Operationsfeld jedes Befehlswortes im Befehlswortregister anspricht und dessen Ausführung steuert, und einem Index-Addierer zur arithmetischen Kombination des Inhalts des durch das Indexfeld im Befehlswortregister angegebenen Indexregisters mit dem Inhalt des Datenadreßfeldes im Befehlswortregister, dadurch gekennzeichnet, daß Schaltungen (P, 19, 26, 30, 76, 86, 72, 74, 82, 78) vorgesehen sind, die bei einem besonderen Bitmuster (P = 1) im Steuerfeld (LPA) auf Grund eines Teils (DA2) des Datenadreßfeldes (DA) bestimmen, wie viele Bits in einem bestimmten Indexregister (24) gleichzeitig mit der Übertragung des Inhalts des durch das Indexfeld (IR) des Befehlswortes angegebenen Indexregisters an den Index-Addierer (32) übertragen werden.
2. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß eine Schiebeschaltung (72), die auf den Teil (DA2) des Datenadreßfeldes anspricht und in Serienform den Inhalt der Stellen des bestimmten Indexregisters (24) verschiebt und eine Leseschaltung (74) vorgesehen ist, die das bestimmte Indexregister (24) mit dem Index-Addierer (32) verbindet.
DE1499284A 1964-10-07 1965-10-06 Datenverarbeitungsanlage Expired DE1499284C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US402272A US3343138A (en) 1964-10-07 1964-10-07 Data processor employing double indexing

Publications (3)

Publication Number Publication Date
DE1499284A1 DE1499284A1 (de) 1972-03-09
DE1499284B2 true DE1499284B2 (de) 1973-03-22
DE1499284C3 DE1499284C3 (de) 1973-10-18

Family

ID=23591239

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1499284A Expired DE1499284C3 (de) 1964-10-07 1965-10-06 Datenverarbeitungsanlage

Country Status (6)

Country Link
US (1) US3343138A (de)
BE (1) BE670567A (de)
DE (1) DE1499284C3 (de)
GB (1) GB1117230A (de)
NL (1) NL6513019A (de)
SE (1) SE316937B (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3906459A (en) * 1974-06-03 1975-09-16 Control Data Corp Binary data manipulation network having multiple function capability for computers
US4079451A (en) * 1976-04-07 1978-03-14 Honeywell Information Systems Inc. Word, byte and bit indexed addressing in a data processing system
US4037213A (en) * 1976-04-23 1977-07-19 International Business Machines Corporation Data processor using a four section instruction format for control of multi-operation functions by a single instruction
JPS54100634A (en) * 1978-01-26 1979-08-08 Toshiba Corp Computer
US4771281A (en) * 1984-02-13 1988-09-13 Prime Computer, Inc. Bit selection and routing apparatus and method
US11525621B2 (en) * 2018-03-12 2022-12-13 Whirlpool Corporation Anti-rolling icebox gasket for refrigerator swing doors

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3015441A (en) * 1957-09-04 1962-01-02 Ibm Indexing system for calculators
US3048333A (en) * 1957-12-26 1962-08-07 Ibm Fast multiply apparatus in an electronic digital computer
US3061192A (en) * 1958-08-18 1962-10-30 Sylvania Electric Prod Data processing system
US3249920A (en) * 1960-06-30 1966-05-03 Ibm Program control element
NL267513A (de) * 1960-07-25
US3247490A (en) * 1961-12-19 1966-04-19 Sperry Rand Corp Computer memory system
DE1160222B (de) * 1962-01-04 1963-12-27 Siemens Ag Schaltungsanordnung zur Adressenmodifikation bei einer programmgesteuerten digitalen Rechenmaschine
US3299261A (en) * 1963-12-16 1967-01-17 Ibm Multiple-input memory accessing apparatus

Also Published As

Publication number Publication date
US3343138A (en) 1967-09-19
NL6513019A (de) 1966-04-12
DE1499284A1 (de) 1972-03-09
GB1117230A (en) 1968-06-19
SE316937B (de) 1969-11-03
DE1499284C3 (de) 1973-10-18
BE670567A (de) 1966-01-31

Similar Documents

Publication Publication Date Title
DE2457312C3 (de) Anordnung zur Durchführung arithmetischer oder logischer Operationen an ausgewählten Gruppen aufeinanderfolgender Bits in einer Datenverarbeitungsanordnung
DE1901343C3 (de) Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen
DE2347387A1 (de) Permutationsschaltung
DE2331589A1 (de) Datenverarbeitungsanordnung
DE2230103A1 (de) Adressiereinrichtung fuer einen speicher
DE1193996B (de) Schiebespeicher mit Steuervorrichtung
DE4010828A1 (de) Verfahren zum dekompilieren eines anwenderprogramms bei einer industriesteuerung
DE3043100C2 (de)
DE2063199B2 (de) Einrichtung zur Ausführung logischer Funktionen
DE1190706B (de) In zwei abwechselnden Zyklen arbeitende programmgesteuerte elektronische digitale Rechenmaschine
DE1262641B (de) Mikroprogrammsteuerwerk
DE2230188A1 (de) Arithmetische einheit fuer variable wortlaengen
DE1499284C3 (de) Datenverarbeitungsanlage
DE1267886B (de) Datenbearbeitungsanlage
DE2235883C3 (de) Datenverarbeitungseinrichtung
DE1774771A1 (de) Anordnung,um wechselweise eine Addition oder eine aus einer Anzahl logischer Funktionen zwischen den Inhalten einer Stelle zweier Binaerworte durchzufuehren
DE2233164C3 (de) Schaltungsanordnung zur Übertragung von aufeinanderfolgenden Bitstellen zwischen zwei Registern
DE1250489B (de) I Schaltungsanordnung zur Einspei cherung von Leerstellen-Kennworten in einen assoziativen Speicher
DE1296429B (de) Datenbearbeitungsanlage
DE2000275A1 (de) Elektronischer Walzenschalter
DE1499286B2 (de) Datenbearbeitungsanlage
DE1296427B (de) Datenbearbeitungssystem
DE2948340C2 (de) Informationsübertragungsanordnung für die Übertragung jeweils ausgewählter Informationseinheiten
DE2024584B2 (de) Steuereinrichtung für eine allgemeine Datenverarbeitungseinrichtung
DE2511673C2 (de) Schaltung zur Übertragung eines Feldes zwischen zwei Registern unter Mitwirkung einer Schiebeschaltung

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)