DE1499284C3 - Datenverarbeitungsanlage - Google Patents

Datenverarbeitungsanlage

Info

Publication number
DE1499284C3
DE1499284C3 DE1499284A DE1499284A DE1499284C3 DE 1499284 C3 DE1499284 C3 DE 1499284C3 DE 1499284 A DE1499284 A DE 1499284A DE 1499284 A DE1499284 A DE 1499284A DE 1499284 C3 DE1499284 C3 DE 1499284C3
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.)
Expired
Application number
DE1499284A
Other languages
English (en)
Other versions
DE1499284A1 (de
DE1499284B2 (de
Inventor
Werner Colts Neck N.J. Ulrich (V.St.A.)
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 Doppeiindizierung 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
3 4
vier Teilen, nämlich dem Operations-, dem DA-, dem ändern. Zur Bildung der Summe von zwei Daten-
IR- und dem LPA-Fdd, ^deren Bedeutung noch er- Wörtern ist der Addierer 42 vorgesehen. Immer dann,
läutert wird. Das Operationsfeld ist ein Code (invari- wenn ein neues Wort durch den Registerdirektor in
abel numerisch, wie auch die anderen Felder), der das y-Register eingeschrieben wird, wird das Wort
bestimmt, welche Einheiten des Systems bei der Aus- 5 zum Addierer 42 übertragen. Das Z-Register ist
führung des durch das bestimmte Befehlswort ange- über das Kabel 58 an den Addierer 42 angeschal-
gebenen Befehls in Tätigkeit tritt. Der Befehlsdeco- tet und überträgt an den Addierer das in ihm ge-
dierer 34 bestimmt aus den Bits des Operationsfeldes speicherte Wort. Wenn ein neues Wort in das y-Re-
den auszuführenden Befehl und erregt eines der vier gister eingeschrieben wird, addiert der Addierer 42
in der Zeichnung strichpunktiert dargestellten Be- io dieses Wort zu dem Wort im Z-Register, und die
fehlskabel. Diese übertragen die zur Ausführung des Summe wird zum Z-Register übertragen und dort
Befehls erforderlichen Informationen zu den verschie- gespeichert. Das neue Wort verbleibt im y-Register
denen Einheiten des Systems. In dem dargestellten und das Z-Register enthält die Summe des neuen
System können nur vier Befehle ausgeführt werden. Wortes und des vorhergehenden Inhaltes des Z-Re-
Die Erfindung ist jedoch in gleicher Weise bei Syste- 15 gisters. Eine Addition von zwei Datenwörtern wird
men anwendbar, bei denen wesentlich mehr Opera- also erreicht, indem zuerst der Registerdirektor 44
tionsarten vorgesehen sind. so gesteuert wird, daß er eines von ihnen in das
Das Datenadreßfeld (DA-FeId) gibt entweder Da- Z-Register einschreibt, und dann so gesteuert wird,
ten oder eine Adresse an. Gleichzeitig mit der Über- daß er das andere in das y-Register eingibt. Wenn
tragung des Operationsfeldes an den Befehlsdeco- 20 der Registerdirektor ein Wort in das Z-Register ein-
dierer 34 wird ein Unterfeld DA1 des DA -Feldes über schreibt, arbeitet der Addierer 42 nicht. Eine Addi-
das Kabel 21 direkt zum Index-Addierer 32 gegeben. tion von zwei Digitalwörtern findet nur dann statt,
Das Tor 30 ist normalerweise geöffnet. Es wird nur wenn zuerst ein Wort in das y-Register gegeben wird,
dann gesperrt, wenn das Bit P des Steuerfeldes LPA Bei vielen Datenverarbeitungsanlagen besteht für
im Befehlswortregister 28 eine 1 ist. Wenn das Bit P 25 verschiedene Befehlsarten eine Produkt-Maskiermög-
0 ist, wird das DA .,-Unterfeld des D/1-Feldes eben- lichkeit. Dabei wird das logische Produkt (UND)
falls zum Index Addierer 32 übertragen. Es wird also, entsprechender Bits der Maske und von Datenwör-
wenn das BitP 0 ist, das gesamte DA-Fdd zum In- tern gebildet. Das sich ergebende maskierte Daten-
dex-Addierer gegeben. Der Index-Addierer 32 addiert wort weist eine 1 nur in den Positionen auf, für
die im DA -Feld des Befehlswortes enthaltene Zahl 30 welche die Maske und das Datenwort beide eine
zum Inhalt eines von einer Anzahl von im System binäre 1 enthalten. Beispielsweise werde bei einer
vorgesehenen Indexregistern. mit sechs Bits arbeitenden Anlage das Datenwort
Der Registerleser 16 liest den Inhalt des Puffer- 101011 vom Datenspeicher zu einem Register Überregisters 12, des L-Registers 18, des A'-Registers 20, tragen. Bei dieser Übertragung läuft das Wort durch des y-Registers 20 oder des Z-Registers 24. Ein ent- 35 die Maskierschaltung. Es sei angenommen, daß die sprechendes Kabel führt von jedem dieser fünf Re- von der Maskierschaltung benutzte Maske 011110 ist gister zum Registerleser. Das Indexregisterfeld (IR- das sich ergebende maskierte Wort, das im Register Feld) gibt keines (wenn es leer ist) oder eines dieser gespeichert ist, ist dann 001010.
fünf Register an, und der Inhalt des angegebenen Immer dann, wenn eine Maskierung erforderlich Registers wird über das Kabel 62 zum Index-Addie- 40 ist, muß das Maskierwort zuerst im L-Register gerer 32 übertragen. Wenn kein Register im /ft-Feld speichert werden. Dieses Register ist über das Kabel des Befehlwortes angegeben ist, werden keine Bits 60 mit der Maskierschaltung 14 verbunden und steuüber das Kabel 62 zum Index-Addierer gegeben. Der ert die Maskierung eines durch die Maskierschaltung Index-Addierer bildet die Summe der Zahlen, die im übertragenen Wortes. Die Maskierschaltung ist zwei-D/4-Feld des Befehlswortes und dem angegebenen 45 seitig gerichtet. Ein vom Registerleser 16 zur Maskier-Register enthalten sind. Die Summe am Ausgang des schaltung über das Kabel 56 übertragenes Wort kann Index-Addierers wird zu verschiedenen Einheiten im durch die Maske im L-Register maskiert werden, beSystem übertragen. Es arbeitet jedoch nur die Ein- vor es im Pufferregister 12 gespeichert wird. Analog heit mit diesem indizierten Daten- oder Adressen- kann das Wort im Pufferregister oder auf dem Kabel wort, die durch das erregte der vier Befehlskabel in 50 55 in der Maskierschaltung maskiert und über das Tätigkeit gesetzt wird. ' Kabel 64 zum Registerdirektor 44 übertragen und
Von der Maskierschaltung 14 kann ein Wort zum von dort zu einem der fünf Speicherregister im Registerdirektor 44 übertragen werden. Der Register- System gegeben werden (Es kann zurück zum Pufferdirektor arbeitet, wenn eines der beiden Befehlskabel register und zu einem der anderen vier Register über- M (R) oder W (R) erregt ist. Informationen werden 55 tragen werden). Die Maskierschaltung 14 maskiert zum Registerdirektor vom Decodierer-Verteiler über das sie durchlaufende Wort mit der Maske im L-Redas erregte Befehlskabel übertragen, das entweder gister nur dann, wenn das Bit L im LPA-Feld des das Pufferregister oder eines der Register L, X, Y und Befehlswortregisters 28 eine 1 ist. Das Bit L wird Z identifiziert. Das Eingangswort für den Register- über die Ader L zur Maskierschaltung 14 übertragen, direktor auf dem Kabel 64 wird zu dem durch die 60 und wenn es eine 0 ist, läßt die Maskierschaltung das Befehlskabelinformation angegebenen Register über Datenwort unverändert durch.
eines der fünf entsprechenden Ausgangskabel des Das Pufferregister stellt einen Puffer zwischen dem
Registerdirektors 44 übertragen. Datenspeicher 10 und dem Rest der Anlage dar. Die
Der Index-Addierer 32 wird in der Anlage nicht von der Anlage zu bearbeitenden Daten sind im Dazur Addition von zwei Datenwörtern benutzt. Er ist 65 tenspeicher 10 enthalten. Eine Adresse wird über die lediglich vorgesehen, um das DA -Feld eines Befehls- Kabel 53 und 66 vom Index-Addierer 32 zum Datenwortes entsprechend dem Inhalt eines (oder von zwei, speicher 10 übertragen. Wenn ein Wort aus dem wie später gezeigt wird) der Register im System abzu- 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
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 5 ist das Bit P eine 0, und das gesamte DA-FeId 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
dem Pufferregister zur Maskierschaltung 14 übertra- io die Betriebsweise des Systems betrachtet werden,
gen. Entsprechend wird, wenn ein Wort vom Register- wenn das Bit P eine 1 ist.
leser 16 durch die Markierschaltung 14 zum Puffer- Ein Sprungbefehl steuert einen Sprung auf einen register 12 gegeben wird, das Wort automatisch vom neuen Befehl außerhalb der laufenden Folge. Ein Pufferregister zum Datenspeicher übertragen. In bei- typischer Befehl kann lauten XFR, 500, Y, 000. Der den Fällen verbleibt das Datenwort außerdem im 15 Decodierer 34 erregt das Befehlskabel XFR. Dieses Pufferregister. Wenn ein Wort in einem Register in Befehlskabel ist nur mit dem Programmadreßregister den Datenspeicher 10 einzuschreiben ist, wird es vom 38 verbunden, so daß eine neue Adresse, die auf dem Registerleser 16 über die Maskierschaltung 14 zum Kabel 52 erscheint, in das Register eingeschrieben Pufferregister 12 übertragen. Es kann erwünscht sein, werden kann. Da das Bit P 0 ist, ist das Tor 30 gedieses Wort erneut zu bearbeiten, beispielsweise, 20 öffnet, und das vollständige DA-VcXa wird zum Indexindem die Inkrementschaltung 70 so gesteuert wird, Addierer übertragen. Vorher gibt der Decodierer 34 daß sie eine 1 zu dem Wort addiert. Aus diesem einen Rückstellimpuls zur Rückstellung des Index-Grund bleibt das Wort außerdem im Pufferregister Addierers auf die Ader 46. Das DA-FtXd, 500, wird gespeichert. Analog kann es erwünscht sein, wenn dann zum Index-Addierer übertragen, und zwar teilein Datenwort aus dem Datenspeicher über das Puf- 25 weise direkt und teilweise durch das Tor 30. Gleichferregister, die Maskierungsschaltung 14 und den Re- zeitig wird die Identität des K-Registers über das gisterdirektor 44 zu einem der Register übertragen Kabel 54 zum Registerleser 16 gegeben. Der Registerwird, das ursprüngliche Wort im Pufferregister zu be- leser liest den Inhalt des Y-Registers ab, der beispielsarbeiten. Beispielsweise kann das abgelesene Daten- weise aus der Zahl 25 bestehen kann, und überträgt wort maskiert und im Ä'-Register gespeichert wer- 30 diese Zahl über das Kabel 62 zum Index-Addierer, den. Das ursprüngliche Datenwort verbleibt im Puf- Der Index-Addierer addiert das DA-FcId zu seinem ferregister, damit eine Weiterschaltung und Rückspei- Inhalt, und die Summe 525 erscheint an seinem Auscherung im Datenspeicher möglich ist. Entsprechend gang. Diese Zahl wird außer zum Programmadressenbleibt, wenn der Registerleser 16 ein Datenwort aus register 38 auch zum Datenspeicher 10 und zum Tor dem Pufferregister 12 abliest, der Inhalt des Puffer- 35 79 übertragen, aber der Datenspeicher und das Tor registers unverändert. Auch der Inhalt der anderen sind durch das Befehlskabel XFR nicht erregt. Die Register bleibt unverändert, wenn der Registerleser Zahl 525 auf dem Kabel 52 wird nur in das Pro-16 ein Datenwort aus einem von ihnen abliest. grammadressenregister 38 eingeschrieben, da das er-
Der Index-Addierer 32 muß vor der Ausführung regte Befehlskabel nur mit dieser Einheit verbunden eines Befehls zurückgestellt werden. Das im anderen 40 ist. Der nächste über das Kabel 48 zum Befehlswort-Fall verbleibende Ausgangssignal des Index-Addierers register 28 übertragene Befehl ist derjenige, der in wäre dasjenige, das bei dem Index-Vorgang während der Speicherstelle des Programmspeichers mit der der Ausführung des vorhergehenden Befehls abgelei- Adresse 525 gespeichert ist. Diese Adresse wird dann tet worden ist. Der Decodierer 34 legt immer dann nachfolgend im Programmadressenregister weitergeeinen Rückstellimpuls an die Ader 46, wenn ein neues 45 schaltet.
Befehlswort zum Befehlswortregister 28 übertragen Bei der Ausführung eines Sprungbefehls kann das
wird. Dieser Rückstellimpuls wird zum Index-Addie- Bit L eine 0 sein, aber auch dann hat es keinen Ein-
rer gegeben und stellt ihn vor der Ausführung des fluß auf das System. Ein Wort wird nur dann über die
neuen Befehls zurück. Maskierschaltung 14 übertragen, wenn der Register-
Das Steuerfeld LPA des Befehlswortes im Befehls- 5° leser 16 auf Grund eines Befehls (A)M arbeitet, das
Wortregister enthält drei Informations-Bits, welche Tor 79 bei einem Befehl W(R) geöffnet ist oder wenn
die Erregung der drei entsprechenden Adern L, P ein Wort zuerst bei der Ausführung eines Befehls
und A steuern. Die Erregung der Ader L steuert, wie M(R) aus dem Datenspeicher 10 in das Pufferregister
oben beschrieben, die Maskierschaltung 14. Wenn das· 12 geschrieben wird, wobei das Wort dann automa-
Bit A eine 1 ist, läßt es die Inkrement-Steuerschaltung 55 tisch vom Pufferregister zur Maskierschaltung 14 ge-
70 eine 1 zum Inhalt des Pufferregisters addieren, be- geben wird. Bei der Ausführung eines Sprungbefehls
vor der Befehl selbst ausgeführt wird. Das Bit P steu- wird kein Wort zur Maskicrschaltung übertragen, so
ert die Übertragung des D/J2-Untcrfeldes entweder daß, auch wenn das Bit L eine 1 ist, kein Wort vor-
zum Index-Addierer 32 oder zur Schiebesteuerschal- handcn ist, das in der Maskicrschaltung 14 maskiert
tung 72 und zur Leseschaltung 74. Wenn das Bit P 60 sein könnte.
eine 0 ist, ist das Tor 30 geöffnet und das Tor 26 ge- Man beachte, daß der Registerleser 16 den Inhalt
sperrt. Das D/I2-Unterfe1d auf dem Kabel 19 läuft des im //?-FcId angegebenen Registers zur Übertra-
durch das Tor 30 zum Kabel 17 und zum Index- gung an den Indexaddierer auf das Kabel 62 gibt. Bei
' Addierer 32. Wenn das Bit P eine 1 ist, ist das Tor 30 einem Befehl (R) M gibt der Registerleser ebenfalls
gesperrt und das Tor 26 geöffnet. Tn diesem Fall wird 65 ein Wort auf das Kabel 56, aber diese Operation
das D/1.,-Untcrfcld über die Kabel 76 und 86 zur wird durch das Bcfchlskabcl (R) M gesteuert. Bei der
Schiebestcuerschaltung 72 und zur Leseschaltung 74 Ausführung eines Sprungbefehls ist nur das Befchls-
übcrtragcn. kabel XIR erregt, und der Registerleser gibt den
7 8
Inhalt des im IR-FeId angegebenen Registers nur an ist immer erregt, wenn ein Befehl MB, ML, MX, das Kabel 62. Die Adresse im ZM-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 IV(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 (/?)._ wird nach Rückstellung des Index-Addierers
feld des Befehlswortes erscheinen kann. Das D in das DA -Feld im Index-Addierer zum Inhalt des im
dem Code WB gibt an, daß das DA-FeId in das Puf- IR-Feld 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- IR-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, LPA-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-Fe\d wird über das geöffnete Tor 79 zur Mas- rung des Befehls weitergeschallet. 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 Einspeicherimg 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, \Vird das
wird in dem im Operationsfeld angegebenen Register vollständige DA-FeId, 500, zum Index-Addierer
gespeichert. übertragen. Gleichzeitig gibt der Registerleser 16 den
Das DA-FcId kann nur aus 0-Werten bestehen. In Inhalt des Y-Registers über das Kabel 62 an den diesem Fall besteht das Aussangssignal des index- 50 Index-Addierer. Die im Index-Addierer gebildete Addierers lediglich aus dem Inhalt des im IR-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 Wcitcischal- register einzuschreibende Wort gespeichert werden ten des Wortes im Pufferrcgister 12 vor der Ausfüh- soll. Der Code ZM im Operationsfeld steuert die rung des Befehls. Wenn jedoch ein Befehl WB ausgc- Übertragung eines Kommandos über das Bcfehlsfülirt wird, hat das Bit A, 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 Pufferregistcr, und das weitergeschaltetc Wort des Code Y im IR-Fc\d 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 Befchlsart steuert das Ablesen eines Z-Rcgistcrs an das .Kabel 56 gegeben wird. Das Wort
Wortes im Datenspeicher und dessen Einschreiben in im Z-Register wird über die Maskicrschaltimg 14
eines der fünf Register. Das Bcfehlskabcl M(R) zum Puifcncgister 12 übertragen, und, da das Bit L
eine 1 ist, durch den Inhalt des L-Registers maskiert. Das maskierte, zum PufTerregister übertragene Wort wird dann in die Speicherstelle des Datenspeichers mit der Adresse 525 eingeschrieben.
Bisher wurde die Betriebsweise des Systems betrachtet, wenn das Befehlswort im Befehlswortregister 28 für das Bit P eine 0 enthält. Der Index-Addierer weist vier Eingänge auf, nämlich die Kabel 21, 17, 62 und 78. Wenn das Bit P eine 0 ist, werden die DzI1- und DA .,-Unterfelder zum Index-Addierer über die Kabel 21 "und 17 und der Inhalt des im IR-FeId des Befehlswortes angegebenen Registers über das Kabel 62 zum Index-Addierer übertragen. Über das Kabel 78 wird nicht zum Index-Addierer übertragen, und der Index-Addierer bildet lediglich die Summe des ZM-Feldes im Befehlswortregister und des Datenwortes in dem durch das /Λ-Feld angegegebenen Indexregister. Wenn das Bit P jedoch eine 1 ist, wird nur das DA j-Unterfeld zum Index-Addierer übertragen. Das DA .,-Unterfeld wird über das Tor 26 und die Kabel 76 und 86 zur Schiebeschaltung 72 und zur Leseschaltung 74 übertragen. Die Leseschaltung 74 ist mit den Stufen des Z-Registers verbunden, welche die Bits der niedrigsten Stellenzahlen enthalten. Die Zahl von Stufen, mit welcher die Leseschaltung verbunden ist, hängt von der Maximalzahl von Bits ab, die bei einer gegebenen Anwendung vom Z-Register zum Index-Addierer zu übertragen sind. Das DA .,-Unterfeld gibt eine Zahl von Bits, beispielsweise vier, an. Die Leseschaltung 74 liest die vier Bits mit der niedrigsten Stellenzahl im Z-Register ab und überträgt sie über das Kabel 78 zum Index-Addierer 32. Der Inhalt des angegebenen Indexregisters erscheint, wie üblich, auf dem Kabel 62. Der Index-Addierer bildet dann die Summe des DA j-Unterfeldes, des Datenwortes auf dem Kabel 62 und der vier Bits auf dem Kabel 78. Das DA-FeId des Befehlswortes, oder genauer, das DA j-Unterfeld, wird auf diese Weise nicht nur durch das Datenwort in dem durch das /Ä-Feld angegebenen Indexregister verändert, sondern außerdem durch die vier Bits mit der niedrigsten Stellenzahl im Z-Register.
Unmittelbar nach der Operation der Leseschaltung 74 tritt die Schiebeschaltung 72 in Tätigkeit. Sie überträgt1 Steuersignale über das Kabel 84 zum Z-Register. Das Wort im Z-Register wird nach rechts verschoben, also in Richtung auf niedrigere Stellenzahlen. Die Größe der Verschiebung hängt von der Zahl der Bits mit der niedrigsten Stellenzahl ab, die durch die Leseschaltung 74 abgelesen worden sind. In dem gewählten Beispiel wird das Datenwort im Z-Register um vier Stellen nach rechts verschoben. Diese Schiebeoperation findet zur Vorbereitung des nächsten Befehls statt. Die Bit mit der niedrigsteh Stellenzahl im Z-Register nach dem Index-Vorgang werden aus dem Register hinausgeschoben. Die Bits, die als nächste bei einem Index-Vorgang erforderlich sein mögen, werden in die Stufen mit der niedrigsten Stellenzahl des Z-Registers gegeben. Auf diese Weise können diese Bits durch die Leseschaltung 74 aus dem Z-Register ausgelassen werden, obwohl die Leseschaltung über das Kabel 82 nur mit den Stufen der niedrigsten Stellenzahl des Z-Registers verbunden ist.
Der mit der Erfindung erzielte Fortschritt läßt sich am besten an Hand eines speziellen Beispiels erkennen. Datenverarbeitungsanlagen werden in immer.
•größerem Umfang auf dem Gebiet der Nachrichtenübertragungen verwendet. Beispielsweise kann eine Datenverarbeitungsanlage benutzt werden, um die Verfügbarkeit eines Weges durch ein Fernsprechvermittlungsnetzwerk festzustellen. Es sei angenommen, daß in einem bestimmten Netzwerk vier Stufen vorhanden sind, die jeweils viele Verbindergruppen aufweisen, und daß acht Kreuzpunkte in jeder Verbindergruppe vorhanden sind. Ein Weg kann durch
ίο das Netzwerk nur dann durchgeschaltet werden, wenn ein gleich numerierter Kreuzpunkt in einer Verbindergruppe jeder dieser vier Stufen zur Verfügung steht. Der Zustand (verfügbar oder nicht verfügbar) jedes Kreuzpunktes kann durch eine der beiden Binärzahlen dargestellt werden, wobei eine 1 anzeigt, daß der Kreuzpunkt verfügbar ist, und eine 0, daß er nicht verfügbar ist. Vier Datenworte mit acht Bits können den Zustand der Kreuzpunkte von vier Verbindergruppen darstellen. Um die Verfügbarkeit
ao eines der acht Wege über diese vier Verbindergruppen festzustellen, muß nur bestätigt werden, daß eine I in der entsprechenden Position jedes der vier Datenworte vorhanden ist. Wenn also die vier Wörter, welche den Zustand der Kreuzungspunkte wiedergeben, 11100000, 1101110, 01111101 und 11110011 sind, zeigt sich, daß der einzige verfügbare Weg über diejenigen vier Kreuzungspunkte führt, deren Zustand durch das Bit mit der zweithöchsten Stellenzahl in jedem der vier Worte mit acht Bits dargestellt wird.
Der verfügbare Weg oder die verfügbaren Wege lassen sich wie folgt bestimmen: Es wird das logische Produkt (UND-Verknüpfung) der ersten beiden Wörter mit acht Bits gebildet. Das Ergebnis ist
11000000. Das logische Produkt dieses Produktes mit dem dritten Wort wird gebildet. Das logische Produkt von 11000010 und 01111101 ist 01000000. Endlich wird das logische Produkt dieses Produktes mit dem vierten Wort gebildet. Das Ergebnis, 01000000, bestätigt, daß der einzige verfügbare Weg über die vier Verbindergruppen über die vier Kreuzungspunkte führt, deren Zustand durch das zweite Bit von links der vier Wörter mit acht Bits dargestellt wird.
Zur Erläuterung soll im folgenden der Octal-Code benutzt werden. Das Z-Register enthält beispielsweise 24 Bits, aber ein Octal-Code mit acht Ziffern reicht aus, um jedes Datenwort im Register darzustellen. Adressen werden ebenfalls im Octal-Code angegeben. Beispielsweise entspricht die Adresse 100 . der Dezimal-Adresse 64.
Es sei angenommen, daß das erfindungsgemäße Ausführungsbeispiel einer Datenverarbeitungsanlage benutzt wird, um die Verfügbarkeit eines Weges durch ein Vermittlungsnetzwerk zu bestimmen. Die Wörter mit acht Bits, welche den Zustand der entsprechenden Verbindergruppen darstellen, können (nachdem sie auf den neuesten Stand gebracht sind) im Datenspeicher in einer Folge von Tabellen gespeichert werden. Es sei angenommen, daß vier Tabellen A bis D vorhanden sind, die jeweils 100 Verbindergruppen zugeordnet sind. Das Wort, welches den Zustand der acht Kreuzungspunkte in einer bestimmten Verbindergruppe wiedergibt, wird im folgenden »Zustandswort« genannt. Jedes Zustandswort wird durch ein Symbol, wie beispielsweise WA33, wiedergegeben. Die Indizes A bis D geben an, ob das Zustandswort der ersten, zweiten, dritten oder
vierten Stufe des speziellen Netzwerkes zugeordnet ist. Eine der Zahlen 00-77 im Index gibt an, welchem der 100 Verbindergruppen das Zustandswort zugeordnet ist. So ist das Zustandswort WAn den acht Kreuzungspunkten in der 33sten Verbindergruppe der Stufe A zugeordnet.
Die 400 Zustandsworte werden im Datenspeicher 10 in vier Tabellen A bis D mit jeweils 100 Wörter gespeichert. Das erste Wort der Tabelle A ist in der Speicherstelle 1000 und das letzte Wort der Tabelle D in der Speicherstelle 1377 gespeichert. Die 400 Zustandswörter sind also im Speicher auf folgende Weise gespeichert:
Adresse
1000
1001
Zustandsort
1077 wAll
1100
1101
wß„„
W«n,
1177 Wß77
1200
1201
Wcon
1277
1300
1301
1377 W077
■ Es sei angenommen, daß festgestellt werden soll, ob ein Weg über die Verbindergruppe 35 in der Stufet, die Verbindergruppe 62 in der Stufe B, die Verbindergruppe 54 in der Stufe C und die Verbindergruppe 28 in der Stufe D verfügbar ist. Dann müssen aus dem Datenspeicher die vier Zustandswörter abgelesen werden, die in den Speicherstellen 1035, 1162, 1254 und 1328 gespeichert sind. Die drei aufeinanderfolgenden logischen Produkte, die aus den Zustandsworten WA 35, Wn e2, Wc 51 und W0 .,s gebildet worden sind, führen zu einem Wort mit acht Bits, das die Verfügbarkeit von Wegen über die vier gewählten Verbindergruppen in den Stufen A, B, C und D anzeigt.
Um jedes dieser vier Zustandswörter aus dem Datenspeicher 10 zum Pufferregister 12 und zur Maskierschaltung 14 zu geben, müssen drei Informationsstücke angegeben werden. Zuerst muß die Speicherstelle, in welcher das erste Wort in der Tabelle A gespeichert ist, die Speicherstelle 1000, identifiziert werden, um die Tabellen A bis D von anderen Daten zu unterscheiden, die im Datenspeicher 10 enthalten sein können. Zweitens muß die Zahl von Datenspeicherstellen zwischen der Stelle 1000 und der Speicherstelle des ersten Wortes in einer der vier Tabellen identifiziert werden. Das zweite Informationsstück ist daher immer eine der Zahlen 0, 100, 200 oder 300. Das dritte Informationsstück ist die Zahl von Speicherstellen, welche das gewünschte Zustandswort von dem ersten Wort in der gleichen Tabelle trennen, d. h. eine der Zahlen 00-77. Beispielsweise müssen zur Identifizierung des Zustandswortes WCm die Zahlen 1000, 200 und 54 angegeben werden.
Für die folgende Erläuterung sei daran erinnert, daß der Octal-Code benutzt wird. Das LPA-Feld weist drei Ziffern (jeweils 0 oder 1) auf. Die vier Felder eines Befehlswortes sind durch Kommata getrennt. Die Unterfelder DA 1 und DzI2 sind durch einen Schrägstrich getrennt. Eine 6 im DA .,-Onterfeld entspricht zwei Octal-Ziffern — die Bits im Z-Register werden um sechs Positionen oder zwei Octal-Positionen verschoben.
Bei der Herstellung einer Gesprächsverbindung, ίο bei der die vier oben angegebenen Verbindergruppen in Betracht gezogen werden, wird die Zahl 28546235 in das Z-Register gegeben. Die Zahl 1000 wird in das F-Register gegeben. Danach sind nur die folgenden vier Befehle erforderlich, um die Verfügbarkeit eines Weges über die vier Verbindergruppen festzustellen:
ML, 0/6, Y, 010
ML, 100/6, Y, 110
ML, 200/6, Y, 110
ML, 300/6, Y, 110
Als erstes Befehlswort wird der erste der oben angegebenen vier Befehle in das Befehlswortregister 28 eingegeben. Das Y im IR-FeId bewirkt, daß der Registerleser 16 den Inhalt des Y-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 DA t-Unterfeld, 0, zum Index-Addierer 32 über das Kabel 21 und das 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 und überträgt sie über das Kabel 78 zum Index-Addierer 32. Der Index-Addierer leitet dann die Summe der Zahlen 1000, 0 und 35 ab. Die sich ergebende Adresse 1035 wird über die Kabel 53 und 66 zum Datenspeicher 10 gegeben, und da das Befehlskabel M(R) erregt ist, wird das Zustandswort WA:i. vom Datenspeicher 10 zum Pufferregister und von dort zur Maskierschaltung 14 übertragen. Das Bit L im Befehlswortregister ist eine 0, und folglich wird das Zustandswort W^35 nicht durch den Inhalt des L-Registers maskiert./Das Zustandswort geht über die Maskierschaltung 14 zum Registerdirektor 44. Da das Operationsfeld ML ist, wird das Zustandswort im L-Register gespeichert. Unmittelbar nachdem die beiden Ziffern mit der niedrigsten Ziffernstelle im Z-Register zum Index-Addierer übertragen worden sind, tritt die Schiebeschaltung 72 in Tätigkeit und schiebt den Inhalt des Z-Registers um zwei (Octal-) Positionen nach rechts. Die Ziffern, die vorher in der dritten und vierten Stufe des Z-Registers enthalten waren, befinden sich jetzt in den ersten beiden Stufen. Damit wird die Ausführung des nächsten Befehls vorbereitet.
Der zweite ausgeführte Befehl entspricht bis auf drei Abweichungen dem ersten Befehl. Zum einen ist das über das Kabel 21 zum Index-Addierer 32 übertragene DA ,-Unterfeld 100 statt 0. Zweitens wird die Octalzahl 62 durch die Leseschaltung 74 zum Index-Addierer 32 übertragen. Die im Index-Addierer gebildete Summe ist 1162. Drittens wird das aus dem Datenspeicher abgelesene und über die Maskierschaltung übertragene Zustandswort W11n., jetzt durch den Inhalt des L-Registers maskiert, da das Bit L im LPA-FeId eine 1 ist. Das Zustandswort Wll{V1 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 werfindliche Zustandswort W^35. 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 ZX42-Unterfeld zwei InUnterschiede bestehen darin, daß das zum Index- io formationen enthalten. Die erste gibt der Leseschal-Addierer übertragene D/ij-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 WCm 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 DA .,-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 D/i .,-Unterfeld dargestell-1328, und das Zustandswort WD.2ii 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- 35 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 DA ,-Unterfeld immer wenigstens Befehlen noch näher untersucht werden. Man könnte η OctalziiTern 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 0-Werte enthalten, und daß in keinem FaIi Unterfelder des DA -Feldes zu verschiedenen Einhei- mehr als in Octalziffern vom Z-Register zum Indexten zu übertragen, statt nacheinander die vollständi- 40 Addierer übertragen werden (n und m können sich gen D/1-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π Bits der niedrigsten Ziffernstellen im geht dahin, daß die oben betrachtete Untergruppe /λΛ,-Unterfcld immer 0, und der Teil des Z-Registervon vier Befehlen bei beliebigen vier Verbindcrgrup- 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/4,-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 ticlle Indizieren des Z-Rcgisters vorgesehen wäre, Ausgangssignale der Oder-Tore tatsächlich die müßten wesentlich mehr Befehle benutzt werden, um 55 Summe der beiden Variblcn. In diesem Falle halte 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 ,-Unterfeld die Schiebeschaltung 72 immer die gleichen Bits aus des /JM-Wortes vorher durch die Ziffern im Z-Redem Z-Register heraus, die von der Lcseschaltung fio 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 = I) im Steuerfeld (LPA) auf Grund eines Teils (DA.,) des Datenadreßfeldes (DA) bestimmen, wie viele Bits in einem bestimmten1 Indexregister (24) gleichzeitig mit der Übertragung des Inhalts des durch das Indexfeld ([R) 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 (DA.,) 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 DE1499284B2 (de) 1973-03-22
DE1499284C3 true 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
DE1499284B2 (de) 1973-03-22
GB1117230A (en) 1968-06-19
SE316937B (de) 1969-11-03
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
DE1499175B2 (de) Steuereinrichtung in einem mehrspezies rechner
DE1914560C3 (de) Schaltungsanordnung zur Verschiebung eines Datenwortes innerhalb eines Rechenelementen-Feldes
DE2331589A1 (de) Datenverarbeitungsanordnung
DE1774052B1 (de) Rechner
DE2758829A1 (de) Multiprozessor-datenverarbeitungssystem
DE2063199B2 (de) Einrichtung zur Ausführung logischer Funktionen
DE1190706B (de) In zwei abwechselnden Zyklen arbeitende programmgesteuerte elektronische digitale Rechenmaschine
DE1499284C3 (de) Datenverarbeitungsanlage
DE2900586A1 (de) Anordnung zum decodieren von codewoertern variabler laenge
DE1267886B (de) Datenbearbeitungsanlage
DE1296429B (de) Datenbearbeitungsanlage
DE1774771A1 (de) Anordnung,um wechselweise eine Addition oder eine aus einer Anzahl logischer Funktionen zwischen den Inhalten einer Stelle zweier Binaerworte durchzufuehren
DE1296427B (de) Datenbearbeitungssystem
DE2511673C2 (de) Schaltung zur Übertragung eines Feldes zwischen zwei Registern unter Mitwirkung einer Schiebeschaltung
DE1250489B (de) I Schaltungsanordnung zur Einspei cherung von Leerstellen-Kennworten in einen assoziativen Speicher
DE1499286B2 (de) Datenbearbeitungsanlage
DE2024584B2 (de) Steuereinrichtung für eine allgemeine Datenverarbeitungseinrichtung
DE2233164A1 (de) Schaltungsanordnung zur ausblendung eines beliebig waehlbaren bereichs einer bitfolge bei deren uebertragung zwischen zwei registern
DE1524211C3 (de) Datenverarbeitungsanlage
DE1474090B2 (de) Datenverarbeitungsanlage
DE3138948C2 (de) Schaltungsanordnung zur Erzeugung von Byte-Kennzeichenbits für die Verarbeitung von Speicheroperanden
DE1267885B (de) Datenbearbeitungsanlage
DE3328861A1 (de) Schaltungsanordnung fuer fernmeldevermittlungsanlagen, insbesondere fernsprechvermittlungsanlagen, mit speichern und ihnen individuell zugeordneten speicherablaufsteuerungen
DE3918453C2 (de) LRU-Schaltung

Legal Events

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