DE1499286B2 - Datenbearbeitungsanlage - Google Patents
DatenbearbeitungsanlageInfo
- Publication number
- DE1499286B2 DE1499286B2 DE19651499286 DE1499286A DE1499286B2 DE 1499286 B2 DE1499286 B2 DE 1499286B2 DE 19651499286 DE19651499286 DE 19651499286 DE 1499286 A DE1499286 A DE 1499286A DE 1499286 B2 DE1499286 B2 DE 1499286B2
- Authority
- DE
- Germany
- Prior art keywords
- command
- register
- word
- bits
- cable
- 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.)
- Withdrawn
Links
- 230000000873 masking effect Effects 0.000 claims description 66
- 230000015654 memory Effects 0.000 claims description 42
- 238000006073 displacement reaction Methods 0.000 claims 1
- 230000004044 response Effects 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000005284 excitation Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30018—Bit or string instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30167—Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Storage Device Security (AREA)
- Bus Control (AREA)
Description
1 2
Die Erfindung betrifft eine Datenbearbeitungs- Die gestellte Aufgabe wird dadurch gelöst, daß die
anlage mit einem Speicher für Befehlswörter und Steueranordnung einen an das Maskierregister ange-Datenwörter,
wobei jedes Befehlswort einen Opera- schalteten Umsetzer aufweist, der aus der Position,
tionsabschnitt und einen Adressenabschnitt aufweist, die ein bestimmtes Bit eines vorbestimmten Wertes
eine an den Speicher angeschalteten Steueranordnung 5 im Maskierregister einnimmt, eine Verschiebegröße
zur Entnahme und Bearbeitung jedes Befehlswortes, ableitet, sowie Schaltungen besitzt, die auf weitere
einem an den Speicher angeschalteten Maskier- Bits im Operationsabschnitt des gleichen Befehlsregister,
einer auf eine Bitgruppe im Operations- Wortes ansprechen und den Inhalt des vorher aus
abschnitt eines entnommenen Befehlswortes anspre- der Vielzahl von Registern gewählten Registers entchenden
logischen Schaltung zur Maskierung eines io sprechend der durch den Umsetzer abgeleiteten Vergewählten
Wortes, dessen Adresse durch den schiebegröße verschieben, so daß ein einziges Be-Adressenabschnitt
des gleichen Befehlswortes ange- fehlswort eine Maskier- als auch eine Verschiebegeben
ist, mit dem Inhalt des Maskierregisters, und operation steuert.
einer Vielzahl von Registern, von denen eines durch Durch diese Maßnahmen wird die Bildung eines
weitere Bits im Operationsabschnitt des gleichen 15 kombinierten Befehlswortes für eine spezielle AnBefehlswortes
zur Speicherung des maskierten Wortes wendung ermöglicht, wobei der Inhalt des Maskiergewählt
ist. registers um eine vorgegebene Zahl von Bit-
Es ist bereits bekannt, daß sich zwei Befehle zu Positionen verschoben werden, und zwar auf Grund
einem einzigen Befehl kombinieren lassen (Speiser, der Länge des Registers und der Position des wirk-
»Digitale Rechenanlagen«, Springer Verlag, 1961, 20 samen Teils des Maskierwortes, welche Kombinations-
S- 279 und Handbuch »Datenverarbeitungssystem möglichkeit bisher nicht bekannt und schaltungs-
IBM« 1440 vom April 1964, S. 48 und 49). Hieraus technisch realisierbar war.
ist bekannt, daß die Befehle »Bilde den Absolut- Vorzugsweise leitet der Umsetzer die Verschiebewert«
und »Addition« in dem Befehl »Addition eines größe aus der Position des niedrigststelligen oder des
Absolutwertes« zusammengefaßt werden können 25 höchststelligen, von Null verschiedenen Bits im Masbzw,
es sind die kombinierten Befehle, nämlich kierregister ab.
»Übertragen mit Nullenunterdrückung« und »Über- . Für ein Ausführungsbeispiel sei angenommen, daß
tragen zum Drucken« als kombinierte Befehle be- alle Register eine Kapazität von vier Bit aufweisen,
kannt. Schaltungstechnische Maßnahmen zur Korn- Wenn der Inhalt des Maskierregisters 0110 ist und
bination von Maskier- und Verschiebeoperationen 3° die Übereinkunft lautet »Rechtsverschiebung, Ansind
demnach nicht bekannt. zeigen der niedrigstelligen 1«, dann wird die dritte
Häufig besteht der Wunsch, logische Operationen Bitposition von links angezeigt. Es sei angenommen,
bei Daten auszuführen, während diese von einem daß der Inhalt des Maskierregisters einer Produkt-Register
zu einem anderen übertragen werden. Diese maskierung mit dem Datenwort 1010 unterworfen
während des Übergangs erfolgende Bearbeitung er- 35 werden soll. Der Umsetzer erregt, nachdem er das
höht die Geschwindigkeit, mit der logische Opera- Bit mit der niedrigsten Stellenzahl im ersten Register
tionen durchgeführt werden können. Zu den am festgestellt hat, zusätzliche Schaltungen, die das prohäufigsten
durchgeführten logischen Operationen duktmaskierte Wort 0010 im Register Λ um eine
zählt das »Maskieren«. Darunter wird die wahlweise Position nach rechts verschieben. Der Inhalt des
Ausschaltung der Bit eines Wortes in Abhängigkeit 40 Registers A sei 0001. Man beachte, daß die Adresse
vom Vorhandensein oder NichtVorhandensein aktiver des Datenwortes (1010) und die Adresse des Re-Bit
in den entsprechenden Positionen eines zweiten gisters (A), dessen Inhalt zu verschieben ist, dann
Wortes, des Maskierwortes, verstanden. Wenn das beide im bestimmten Abschnitt eines einzigen Befehls
Datenwort also 1010 lautet und das Maskierwort angegeben werden können.
0110, dann ergibt sich bei einer sogenannten »Pro- 45 Nachfolgend wird ein Anwendungsbeispiel der Er-
duktmaskierung« das Wort 0010. Für die Produkt- findung an Hand der Zeichnungen beschrieben. Es
maskierung hat ein Bit in dem maskierten Wort nur zeigen
dann den Wert 1, wenn die entsprechenden Bit des Fig. 1 und 2 in aneinandergelegter Form ein
Datenwortes und des Maskierwortes »1« sind. Blockschaltbild des Ausführungsbeispiels,
Das Maskierwort wird in ein erstes Register, das 50 F i g. 3 eine mögliche Einzelheit nach F i g. 2,
sogenannte Maskierregister, eingegeben. Zwischen F i g. 4 eine Tabelle mit der Kodierung verschiedem Speicher und den Registern kann sich eine dener Befehle in dem gewählten Ausführungsbeispiel, logische Schaltung befinden, die auf ein dem Speicher In den Zeichnungen und der nachfolgenden Beentnommenes Befehlswort anspricht. Die logische Schreibung sind die Bit der verschiedenen Wörter mit Schaltung kann ein Datenwort, dessen Adresse durch 55 15-0, 22-0 usw. numeriert, wobei das höherstellige den Adressenabschnitt des entnommenen Befehls- Bit zuerst genannt wird.
sogenannte Maskierregister, eingegeben. Zwischen F i g. 4 eine Tabelle mit der Kodierung verschiedem Speicher und den Registern kann sich eine dener Befehle in dem gewählten Ausführungsbeispiel, logische Schaltung befinden, die auf ein dem Speicher In den Zeichnungen und der nachfolgenden Beentnommenes Befehlswort anspricht. Die logische Schreibung sind die Bit der verschiedenen Wörter mit Schaltung kann ein Datenwort, dessen Adresse durch 55 15-0, 22-0 usw. numeriert, wobei das höherstellige den Adressenabschnitt des entnommenen Befehls- Bit zuerst genannt wird.
Wortes angegeben wird, mit dem Inhalt des Maskier- An Hand der F i g. 1 und 2 soll zunächst die norregisters
maskieren. Das maskierte Wort kann dann male Betriebsweise der Datenbearbeitungsanlage
in einem gewählten einer Vielzahl weiterer Register unter Verwendung der individuellen Befehle begespeichert
oder zurück zum Speicher gegeben 60 schrieben werden und dann die Betriebsweise unter
werden. Verwendung der kombinierten Lese-Verschiebe-
Der Erfindung liegt die Aufgabe zugrunde, eine befehle nach der Erfindung. Bei dem Ausführungsspezielle
Befehlskombination in Datenbearbeitungs- beispiel der Erfindung sind alle Daten- und alle
anlagen der eingangs angegebenen Art zu ermög- Befehlswörter 23 Bit lang. Datenwörter und Befehlslichen,
und zwar soll die Ausführung einer durch 65 wörter werden im Speicher 10 gespeichert. Der Speieinen
ersten Befehl angegebenen logischen Opera- eher weist 210 Wortstellen auf. Folglich wird ein betion
mit einer durch einen zweiten Befehl angegebe- stimmtes Wort im Speicher durch eine Adresse mit
nen Verschiebeoperation kombiniert werden können. 16 Bit identifiziert. Die Anlage enthält drei Adressier-
schaltungen, nämlich die Befehlsleseschaltung 11, die Datenleseschaltung 12 und die Schreibadressenschaltung
13. Wenn eine Adresse über das Kabel 14 zur Befehlsleseschaltung gegeben wird, wird das Wort in
der entsprechenden Speicherstelle über das Kabel 15 zum Befehlsregister 16 übertragen. Wenn eine
Adresse über das Kabel 17 zur Datenleseschaltung 12 gegeben wird, wird das Wort in der entsprechenden
Speicherstelle vom Speicher über das Kabel 18 zur Maskierschaltung 19 übertragen. Wenn eine Adresse
über das Kabel 20 zur Schreibadressenschaltung 13 gegeben wird, wird das Wort auf der Schreibsammelleitung
9 in die entsprechende Speicherstelle des Speichers 10 eingeschrieben.
Ein Befehlswort im Befehlsregister 16 wird im Dekoder-Verteiler 30 dekodiert. Der Dekoder-Verteiler
legt bei allen Befehlen die Bits 15-0 an das Kabel 31. Diese Bit stellen die Konstante jedes Befehlswortes
dar. Die Anlage enthält sechs Befehlskabel, RD (Lesen), WRT (Schreiben), XFR (Übertragen),
RTR (Register-zu-Register), SFT (Verschieben) und RD-SFT (Lesen-Verschieben), die jeweils
in Form strichpunktierter Linien dargestellt sind. Der Dekoder-Verteiler legt entsprechend der in F i g. 4
gezeigten Befehlskodierung verschiedene Bit an eines dieser sechs Befehlskabel. Die oberen sieben Zeilen
in F i g. 4 stellen die Kodierung der fünf Einzelbefehle dar, die in der Anlage ausgeführt werden
können. Die letzten Zeilen geben die Kodierung des kombinierten Lese-Verschiebebefehls nach der Erfindung
wieder. Zunächst sollen die fünf Einzelbefehle und dann der erfindungsgemäße Kombinationsbefehl
beschrieben werden.
Die 22-16 geben den Befehl und die verschiedenen Register an, die bei seiner Ausführung zu benutzen
sind. Der Befehl selbst ist entweder durch Bit 22 und 21 oder die Bits 22-20 bestimmt. In F i g. 4 sind
die Bit, welche den jeweils auszuführenden besonderen Befehl darstellen, durch stark ausgezogene Linien
eingerahmt. Beispielsweise wird ein Lesebefehl durch den Kode 00 für die Bits 22 und 21 angegeben. Ein
Schreibbefehl wird durch den Kode 010 für die Bits 22-20 und ein Übertragungsbefehl durch den Kode
011 für die Bit-Positionen 22-20 dargestellt. Der Kode 10 für die Bits 22 und 21 gibt einen Registerzu-Register-Befehl
an, und ein Verschiebebefehl wird ausgeführt, wenn die Kombination 110 für die Bits
22-20 erscheint. Es wird immer nur eines der fünf Befehlskabel gleichzeitig erregt, und zwar in Abhängigkeit
von dem auszuführenden Befehl.
Die in Klammer gestellten Zahlen in den F i g. 1 und 2 geben die Bits wieder, deren Werte über die
Befehlskabel übertragen werden. Bestimmten Kabeln, die keine Befehlskabel sind, sind ebenfalls in Klammern
gestellte Zahlen zugeordnet. Diese Zahlen geben in analoger Weise die Bits an, die über diese
Kabel eingetragen werden. Beispielsweise werden die Bits 15-0 der 23 Bits im Index-Addierer 32 über das
Kabel 33 zur Datenleseschaltung 12 und zur Schreibadressenschaltung 13 übertragen.
Einige Zweige der Befehlskabel sind mit verschiedenen Blockschaltungen verbunden, für deren Betrieb
keine bestimmten Bits erforderlich sind. Beispielsweise ist das Befehlskabel RD mit der Datenleseschaltung
12 verbunden, ohne daß eines der Bits 20-16, die auf diesem Kabel erscheinen, zur Datenleseschaltung
übertragen wird. Der Grund dafür besteht darin, daß bei der Ausführung eines Lesebefehls
(RD) die Datenleseschaltung in Tätigkeit treten muß. Sie arbeitet jedoch, ohne daß bestimmte Bits in dem
Befehl erforderlich sind. Wenn daher ein Lesebefehl ausgeführt wird, sind die Datenleseschaltung 12 und
der Indexaddierer 32 in Tätigkeit, da sie durch das Befehlskabel RD erregt wurden. Wie in den F i g. 1
und 2 gezeigt, werden die fünf auf dem Befehlskabel erscheinenden Bits zur Maskierschaltung 19, dem
Registerleser 34 und dem Registerwähler 35 gegeben.
ίο Diese drei Einheiten benötigen für ihre richtige
Funktion zusätzlich zu einem Erregungssignal bestimmte Bit-Werte.
Bevor die fünf individuellen Befehle, die ausgeführt werden können, besprochen werden, sollen
einige Bemerkungen bezüglich der individuellen Einheiten der Anlage vorangestellt werden. Das bestimmte
Befehlswort, das in das Befehlsregister 16 eingegeben wird, wird von dem Programmadressenregister
36 gesteuert. Dieses Register enthält 16 Stufen, und die darin enthaltene Binärzahl gibt die
Adresse des nächsten Befehls an. Das Programmadressenregister legt nacheinander Adressen mit
16 Bits an das Kabel 14, das an die Befehlsleseschaltung 11 angeschaltet ist. Die Befehlswörter in den
entsprechenden Speicherstellen im Speicher 10 werden nacheinander über das Kabel 15 zum Befehlsregister
16 übertragen. Die Adresse im Programmadressenregister 36 wird durch die Inkrement-Schaltung
37 kontinuierlich weitergeschaltet. Die zum Befehlsregister 16 übertragenen Befehlswörter werden
aus nacheinander adressierten Speicherstellen gewonnnen. Es besteht jedoch die Möglichkeit, auf ein
Befehlswort überzugehen, das nicht in der Folge liegt. Wenn ein Wort mit 16 Bits auf dem Kabel 37
erscheint und das Befehlswort XFR das Programmadressenregister erregt, wird das Wort mit 16 Bits
auf dem Kabel 37 im Programmadressenregister gespeichert. Diese Adresse wird dann über das Kabel
14 zur Befehlsleseschaltung 11 übertragen, und dann wird diese Adresse im Programmadressenregister zur
Gewinnung der Adresen nachfolgender Befehle weitergeschaltet.
Der Registerleser 34 wird bei vier Befehlen erregt und liest das Wort mit 23 Bits ab, das in einem der
Register A, B und C gespeichert ist. Die Bits 22-0 werden über das Kabel 21 zum Indexaddierer 32 und
über die Schreibsammelleitung 9 zum Speicher 10 übertragen. Wenn eine Adresse über das Kabel 20
zur Schreibadressenschaltung 13 übertragen worden ist, wird das Wort mit 23 Bits auf der Schreibsammelleitung
in den Speicher eingeschrieben. Wenn statt dessen der Indexaddierer 32 erregt ist, wird das
Wort mit 23 Bits im Indexaddierer zu den 16 Bits in der Konstanten des auf dem Kabel 31 erscheinenden
Befehlswortes addiert. Die volle, durch den Indexaddierer abgeleitete Summe von 23 Bits wird
an das Kabel 38 gegeben, wenn der Indexaddierer durch das Befehlskabel RTR erregt wird, wie weiter
unten beschrieben ist. Wenn der Indexaddierer von einem der Befehlskabel RD, XFR oder WRT erregt
wird statt durch das an das Kabel 38 gegebene Wort mit vollen 23 Bits, werden nur seine ersten 16 Bits
an das Kabel 33 angelegt.
Ein Wort mit 23 Bits wird über das Kabel 18 oder 38 der Maskierschaltung 19 zugeführt. Wenn bei
einem Lesebefehl (RD) oder Register-zu-Register-Befehl (RTR) das Bit 20 eine 1 ist, wird das an die
Maskierschaltung 19 gegebene Wort mit 23 Bits
durch das im Maskierregister 39 enthaltene Maskierwort maskiert. Das sich ergebende maskierte Wort
erscheint auf dem Kabel 40 und wird an den Registerwähler 35 gegeben. Wenn das Bit 20 in dem ausgeführten
Befehl eine 0 ist und damit angegeben wird, daß eine Maskierung nicht erforderlich ist, wird das
Wort mit 23 Bits auf dem Kabel 18 oder 38 direkt durch die Maskierschaltung 19 zum Registerwähler
35 übertragen. Der Registerwähler 35 gibt das Wort auf dem Kabel 40 in Abhängigkeit vom Wert der
Bits 17 und 16 auf dem Lesebefehlskabel oder dem Register-zu-Register-Befehlskabel entweder zu dem
Maskierregister 39 oder einem der Register A, B und C.
Die Betriebsweise der Datenbearbeitungsanlage läßt sich am besten durch eine getrennte Betrachtung
jeder der fünf möglichen Befehle verstehen. Wie in F i g. 4 gezeigt, wird ein Lesebefehl angegeben, wenn
die Bits 22 und 21 beide 0 sind. Das ist symbolisch durch die Angabe 22, 21 im Dekoder-Verteiler 30
dargestellt. Wenn beide Bits 22 und 21 0 sind, haben die Bits 22 und 21 beide den Wert 1, und das Befehlskabel
RD ist erregt. Die Bits 20-16 werden über das Befehlskabel zu den verschiedenen Einheiten
übertragen, die sie benötigen. Das Bit 20 wird zur Maskierschaltung 19 gegeben und steuert, wie in
Fig. 4 gezeigt, die Maskieroperation nur dann, wenn es eine 1 ist. Die Bits 19 und 18 werden zum Registerleser
34 gegeben. Diese beiden Bits bezeichnen eines von vier Registern, nämlich das Maskierregister
39 oder die Register Λ, B oder C. Es ist keine Verbindung
vom Maskierregister 39 zum Registerleser vorhanden, so daß, wenn das Maskierregister 39
durch die Bits 19 und 18 bestimmt wird, der Registerleser nicht arbeitet. Wenn eines der Register Λ,
B oder C angegeben wird, wird sein Inhalt über das Kabel 21 zum Indexaddierer 32 gegeben. Der Indexaddierer
wird durch das Befehlskabel RD erregt und addiert das Wort mit 23 Bits von dem angegebenen
Register zu der Konstanten mit 16 Bits in dem Befehlswort, das bei vier von den fünf Befehlen auf
dem Kabel 31 erscheint. Das normalerweise geöffnete Tor 52 ist nur bei Ausführung eines Verschiebebefehls
gesperrt. Bei Ausführung einer der vier anderen Befehle ist das Tor 52 geöffnet und überträgt
die Konstante mit 16 Bits des Befehlswortes zum Indexaddierer. Während dieses »Index«-Schrittes
wird auf diese Weise eine Summe mit 23 Bits im Indexaddierer abgeleitet. Es werden jedoch nur die
ersten 16 Bits dieser Summe vom Indexaddierer zum Kabel 33 übertragen. Wenn der Indexaddierer durch
das Lesebefehlskabel erregt wird, gibt er seinen Inhalt nicht zur Maskierschaltung 19 über das Kabel 38.
Das Wort mit 16 Bits auf den Kabeln 33 und 37 hat keinen Einfluß auf das Programmadressenregister
36, da diese Einheit nicht erregt ist, wenn ein Lesebefehl ausgeführt wird. Das gleiche Wort mit 16 Bits
auf dem Kabel 20 hat auch keinen Einfluß auf die Schreibadressenschaltung 13, weil diese Einheit bei
der Ausführung eines Lesebefehls ebenfalls nicht erregt ist. Die Datenleseschaltung 12 wird jedoch durch
das Lesebefehlskabel erregt. Sie steuert das Ablesen des Wortes aus der Speicherstelle im Speicher 10, die
durch die Adresse mit 16 Bits auf den Kabeln 33 und 17 dargestellt ist, sowie die Übertragung des
Wortes über das Kabel 18 zur Maskierschaltung 19. Wenn das Bit 20 eine 1 ist, wird das Wort durch den
Inhalt des Maskierregisters 39 maskiert, und das sich ergebende maskierte Wort erscheint auf dem Kabel
40. Wenn das Bit 20 auf dem Lesebefehlskabel eine 0 ist, wird das Wort nicht maskiert, und das gesamte
Wort in der angegebenen Adresse erscheint auf dem Kabel 40. Der Registerwähler 35 gibt das Wort dann
entweder zum Maskierregister 39 oder einem der Register A, B und C. Welches dieser vier Register
gewählt wird, hängt vom Wert der Bits 17 und 16 ab, die über das Lesebefehlskabel zum Registerwähler
übertragen werden.
Man beachte, daß in F i g. 4 die Bits 19 und 18 in dem Befehlswort ein »Indexregister« bezeichnen.
Diese Bits bezeichnen tatsächlich die Register/4, B
oder C oder das Maskierregister 39, wenn der Registerleser nicht arbeiten soll. Die Bezeichnung »Indexregister«
wird benutzt, weil der Inhalt des angegebenen Registers zum Indexregister gegeben wird,
um während des Index-Schrittes zu der Konstanten des Befehlswortes addiert zu werden. Die Bits 17
und 16 sind bezeichnet mit »Bestimmungsregister«, da diese Bits dasjenige der vier Register bezeichnen,
das der Bestimmungsort des aus dem Speicher abgelesenen Wortes ist.
Immer dann, wenn die Maskierung entweder bei einem Lesebefehl oder, wie weiter unten gezeigt wird,
bei einem Register-zu-Register-Befehl erforderlich ist, muß zuerst ein anderer Lesebefehl ausgeführt
werden. Es muß nämlich zuerst die Maske, die bei der Ausführung des nachfolgenden Befehls benutzt
wird, im Maskierregister 39 gespeichert werden. Ein Lesebefehl ist erforderlich, um die Maske aus dem
Speicher 10 in das Maskierregister 39 einzugeben. Das Befehlswort würde 0-Werte in den Bits 22 und
21 enthalten, um den Lesebefehl anzugeben. Das Bit 20 wäre ebenfalls eine 0, da, wenn das vollständige
Maskierwort sich im Register befindet, dieses bei der Eingabe in den Registerwähler nicht
maskiert werden soll. Die Bits 17 und 16 steuern den Registerwähler 35, so daß die Maske zum Maskierregister
36 gegeben wird. Die Bits 19 und 18 bezeichnen dasjenige der Register Λ, B und C, dessen
Inhalt nach Addition zur Konstanten des Befehlswortes die Adresse der Speicherstelle im Speicher
ergibt, welche das Maskierwort enthält.
Man beachte, daß die Ausführung eines Lesebefehls ohne Bezugnahme auf die bestimmten Betriebszeitpunkte
der verschiedenen beteiligten Einheiten beschrieben worden ist. Es sind nur relative
Zeitpunkte angegeben worden.
Beispielsweise arbeitet der Registerleser 34 vor dem Registerwähler 35. Die zeitliche Steuerung der
verschiedenen Einheiten der Anlage kann mit Hilfe eines Zeitgeber-Netzwerkes erfolgen. Solche Netzwerke
sind bekannt. Die Zeichnung ist auch noch in anderer Hinsicht vereinfacht, so daß nur die Einheiten
dargestellt sind, die für das Verständnis der Erfindung erforderlich sind. Weiterhin können die
meisten Anlagen mehr als fünf individuelle Grundbefehle ausführen. Für das Verständnis der Erfindung
genügt jedoch die Darstellung des vereinfachten Systems, wobei nur die Elemente im einzelnen gezeigt
sind, die zur praktischen Verwirklichung der Erfindung nötig sind.
Aus Fig. 4 ergibt sich, daß der zweite Befehl, ein Schreibbefehl, ausgeführt wird, wenn die Bits 22-20
den Kode 010 erregen. Zu diesem Zeitpunkt ist das Befehlskabel WR T erregt. Das ist symbolisch durch
die Ausdrücke 22, 21, 2Ü innerhalb des Dekoder-Ver-
7 8
tellers 30 gezeigt. Man beachte, daß für Schreib- das Maskierregister 39 bezeichnen, in welchem Falle
befehle keine Maskiermöglichkeit verfügbar ist. Das der Registerleser 34 nicht arbeitet und die zur
Bit 20, das bei Lesebefehlen und Register-zu-Register- Schreibadressenschaltung 13 über das Kabel 33 über-
Befehlen die Maskierschaltung 19 steuert, wird statt tragene Adresse lediglich die Konstante des Befehls-
dessen benutzt, um zwischen Schreib- und Über- 5 wortes ist. Die Bits 17 und 16 können nur eines der
tragungsbefehlen zu unterscheiden, für die beide Register v4, B und C bezeichnen. Bei einem Schreib-
keine Maskiermöglichkeit verfügbar ist. Die auf dem befehl ist eine Angabe des Maskierregisters 39 durch
Befehlskabel WRT erscheinenden Bits sind 19-16. die Bits 17 und 16 nicht möglich, da, wenn dies der
Bei einem Schreibbefehl arbeitet der Registerleser Fall wäre, der Registerleser 34 nicht arbeitet und
34 zweimal nacheinander. Zuerst lassen die Bits 19 io keine Bits auf der Schreibsammelleitung erscheinen,
und 18 den Registerleser den Inhalt eines der Re- die in den Speicher an der vorher festgestellten
gister^l, B und C ablesen. Das Wort mit 23 Bits Adresse einzuschreiben sind.
wird sowohl zum Indexaddierer 32 als auch zum Der dritte Befehl, ein Übertragungsbefehl, wird
Speicher 10 gegeben. Das auf der Schreibsammei- durch die Folge 011 in den Bits 22-20 des Befehlsleitung 9 zum Speicher 10 übertragene Wort beein- 15 wortes dargestellt. Wie gesagt, ist bei einem Überflußt
den Speicher nicht, da die Schreibadressen- tragungsbefehl keine Maskiermöglichkeit gegeben,
schaltung 13 zu diesem Zeitpunkt nicht erregt ist. Es und das Bit 20 wird zur Unterscheidung zwischen
ist zwar richtig, daß das Befehlskabel WRT diese Schreib- und Übertragungsbefehlen benutzt. Die Bits
Schaltung bei der Ausführung eines Schreibbefehls 19 und 18 geben ein Indexregister an, und die Bits
erregt, aber die Schreibadressenschaltung wird erst 20 17 und 16 werden nicht benutzt. Das Befehlskabel
erregt, wenn der Registerleser 34 bei der Ausführung XFR ist erregt, und die Bits 19 und 18 werden über
des Befehls zum zweitenmal in Tätigkeit tritt. Der das Kabel zum Registerleser 34 übertragen. Diese
Indexaddierer 32 wird jedoch jetzt erregt, und das Bits können das Maskierregister 39 bezeichnen, in
von dem Registerleser 34 abgelesene Wort wird zu welchem Falle der Registerleser 34 nicht arbeitet,
der Konstanten des Befehlswortes addiert. 25 oder eines der Register^, B und C. Das Wort mit
Nur die ersten 16 Bits der Summe werden zum 23 Bits auf dem Kabel 21 wird sowohl zum Speicher
Kabel 33 gegeben. Das volle Wort mit 23 Bits, das 10 als auch zum Indexaddierer 32 gegeben. Die
im Indexaddierer abgeleitet worden ist, wird nicht Schreibadressenschaltung 13 ist bei einem Übertrazum
Kabel 38 gegeben, wenn der Indexaddierer gungsbefehl nicht erregt, und die Bits auf der Schreibdurch
das Befehlskabel WRT erregt wird. Die 16 Bits 30 Sammelleitung haben keinen Einfluß auf den Speiauf
dem Kabel 38 haben keinen Einfluß auf das eher. Der Indexaddierer ist jedoch erregt, und das
Programmadressenregister 36, das bei der Ausfüh- vom Registerleser 34 abgelesene Wort wird zu der
rung eines Schreibbefehls nicht erregt ist. Auch die Konstanten des Befehlswortes im Indexaddierer
Datenleseschaltung 12 wird nicht beeinflußt, da sie addiert. Die Summe wird nicht an das Kabel 38 gedurch
das Befehlskabel WRT nicht erregt ist. Das 35 geben. Statt dessen werden nur die ersten 16 Bits an
Wort mit 16 Bits auf dem Kabel 20 wird jedoch in das Kabel 33 angelegt. Die Bits auf dem Kabel 33
der Schreibadressenschaltung 13 gespeichert. Diese beeinflussen weder die Datenleseschaltung 12 noch
Schaltung wird durch das Befehlskabel WRT wäh- die Schreibadressenschaltung 13, die bei der Ausführend
der Ausführung eines Schreibbefehls zu einem rung eines Übertragungsbefehls nicht erregt sind. Die
Zeitpunkt erregt, nachdem der Indexaddierer seine 4° 16 Bits auf den Kabeln 33 und 37 werden jedoch in
Tätigkeit beendet hat. Die in der Schreibadressen- das bei einem Übertragungsbefehl erregte Programmschaltung
13 gespeicherten 16 Bits stellen die Adresse adressenregister 36 eingeschrieben. Diese 16 Bits
im Speicher dar, in welche das anschließend abzu- werden über das Kabel 14 zur Befehlsleseschaltung
leitende Wort eingeschrieben wird. 11 gegeben, und das nächste vom Speicher 10 zum
Der Registerleser 34 arbeitet dann ein zweitesmal 45 Befehlsregister 16 über das Kabel 15 übertragene
und liest das Wort mit 23 Bits aus dem bestimmten Befehlswort wird durch diese Adresse mit 16 Bits
der Register A, B und C ab, welches durch die Bits bestimmt. Die Adressen wird im Programmadressen-
17 und 16 bezeichnet wird. Das Wort mit 23 Bits register 36 gespeichert, und diese Adresse wird jetzt
wird wiederum sowohl zum Speicher 10 als auch zur Ableitung nachfolgender Adressen von Befehlszum
Indexaddierer 32 gegeben. Der Indexaddierer 50 Wörtern weitergeschaltet, bis ein weiterer Ubertra-
ist jedoch zu diesem Zeitpunkt nicht durch das Be- gungsbefehl ausgeführt wird. Das Befehlswort, das
fehlskabel WRT erregt. Es ist nur während der ersten einen Übertragungsbefehl steuert, weist keine Bits in
Operation des Registerlesers 34 erregt. Das Wort den Positionen 17 und 16 auf, die normalerweise
mit 23 Bits auf der Schreibsammelleitung 9 wird an entweder ein Bestimmungsregister oder ein Quellenderjenigen
Stelle in den Speicher 10 eingeschrieben, 55 register angeben. Ein Bestimmungsregister muß an-
welche durch die in der Schreibadressenschaltung 13 gegeben werden, wenn eine Information entweder in
gespeicherte Adresse angegeben wird. das Maskierregister oder eines der Register A, B
Entsprechend F i g. 4 geben die Bits 19 und 18 bei und C einzuschreiben ist. Ein Quellenregister muß
einem Schreibbefehl ein »Indexregister« an und die bei einem Schreibbefehl angegeben werden, wenn
Bits 17 und 16 ein »Quellenregister«. Der Inhalt des 60 das Wort in einem der Register A, B und C in den
angegebenen Indexregisters wird zuerst zu der Kon- Speicher 10 einzuschreiben ist. Keiner dieser Fälle
stanten (Bit 15-0) des Befehlswortes addiert, um die liegt jedoch bei der Ausführung eines Übertragungs-Adresse
im Speicher zu bestimmen, in welche das befehls vor. Es werden nur die Bits 19 und 18 beWort
einzuschreiben ist. Dann werden die Bits 17 nötigt, die ein Indexregister angeben. Bei einem
und 16 zur Feststellung des Registers benutzt, das 65 Index-Vorgang handelt es sich allgemein darum, die
die Quelle des Wortes mit 23 Bits ist, welches in Konstante eines Befehlswortes mit Hilfe von Daten,
den Speicher an der früher festgestellten Stelle einge- die vorher in einem der Register A, B und C geschrieben
werden soll. Die Bits 19 und 18 können speichert worden sind (durch Addition) zu verändern.
Ein Index-Vorgang ist für alle Befehle (mit Ausnahme des Verschiebebefehls) verfügbar, und wenn
er nicht erforderlich ist, geben die Bits 19 und 18 lediglich das Maskierregister an, in welchem Falle
der Registerleser 34 nicht arbeitet.
Die vierte Befehlsart, die bei dem System ausgeführt werden kann, ist ein Register-zu-Register-Befehl.
Dieser Befehl wird durch den Kode 10 in den Bits 22 und 21 angegeben. Wie bei einem Lesebefehl
ist eine Maskiermöglichkeit gegeben, die durch den Wert des Bits 20 gesteuert wird. Der Registerleser
34 liest die 23 Bits in dem durch die Bits 19 und 18 angegebenen Register. Das Wort wird zum
Indexaddierer gegeben, wo es zu der Konstanten des Befehlswortes addiert wird. Bei der Ausführung eines
Register-zu-Register-Befehls steuert das Befehlskabel RTR den Indexaddierer 32 derart, daß er die Summe
mit 23 Bits auf das Kabel 38 an Stelle der ersten 16 Bits der Summe auf das Kabel 33 gibt. Die Summe
mit 23 Bits läuft durch die Maskierschaltung 19 und wird nur dann durch den Inhalt des Maskierregisters
39 maskiert, wenn der Wert des Bits 20 im Befehlswort eine 1 ist. Das Ausgangssignal der Maskierschaltung
19 wird zum Registerwähler 35 gegeben, der dann das Wort entweder in das Maskierregister
39 oder eines der Register^, B und C überträgt, und zwar in Abhängigkeit vom Wert der Bits 17
und 16, die bei einem Register-zu-Register-Befehl ein Bestimmungsregister angeben. Der Zweck des
Register-zu-Register-Befehls besteht darin, die Übertragung des im Register Λ, B oder C gespeicherten
Wortes mit 23 Bits entweder zum Maskierregister 39 oder einem anderen der Register Λ, B und C zu
ermöglichen. Bei dieser Übertragung kann das Wort auf eine von zwei Arten verändert werden. Der ursprüngliche
Inhalt des Indexregisters läßt sich ändern, wenn die Konstante des Befehlswortes nicht
die Zahl 0 ist. Außerdem kann der ursprüngliche Inhalt des Index-Register verändert werden, wenn
die Maskierung befohlen wird.
Man beachte, daß, wenn die Bits 19 und 18 das Maskierregister 39 angeben, das zur Maskierschaltung
über das Kabel 38 übertragene Wort lediglich die Konstante mit 16 Bits des Befehlswortes ist. Normalerweise
wird ein Wort mit 23 Bits über das Kabel 38 zur Maskierschaltung übertragen, aber wenn die
Bits 19 und 18 das Maskierregister angeben, arbeitet der Registerleser nicht, und nur die 16 Bits des konstanten
Abschnittes des Befehlswortes werden über den Indexaddierer und die Maskierschaltung zu dem
angegebenen Bestimmungsregister übertragen. Diese 16 Bits können durch den Inhalt der ersten 16 Bits
des Maskierregisters 39 maskiert werden, wenn der Maskiervorgang befohlen wird, um ein Wort mit
23 Bits abzuleiten. Wenn eine Maskierung nicht befohlen wird, erscheint nur ein Wort mit 16 Bits auf
dem Kabel 40, das entweder im Maskierregister 39 oder einem der Register A, B und C einzuspeichern
ist. Die sieben Bits mit der höchsten Ziffernstelle im Register bleiben unverändert.
Der fünfte Befehl, der in der Anlage ausgeführt werden kann, ist eine Verschiebung. Wenn der Kode
110 in den Bit-Positionen 22-20 des Befehlsregisters erscheint, wird das Befehlskabel SFT erregt. Bei der
Ausführung eines Verschiebebefehls wird der Index-Vorgang nicht benötigt. Aus diesem Grund wird der
Indexaddierer 32 durch das Befehlskabel SFT nicht erregt. Die Erregung des Befehlskabels sperrt das
Tor 52 und öffnet das Tor 53. Die Bits 15-0 in dem Befehlswort werden nicht mehr durch das Tor 52
zum Indexaddierer übertragen. Statt dessen werden die Bits 15-11 über das Tor 53 zur Schiebesteuerschaltung
51 gegeben. Diese 5 Bits stellen in binärer Form die Größe der erforderlichen Verschiebung
dar. (Normalerweise stellen die Bits 15-0 eines Befehlswortes eine Konstante dar. Wie F i g. 4 zeigt,
geben jedoch bei der Ausführung eines Verschiebebefehls fünf dieser Bits Steuerinformationen an. Der
Rest der Bits 15-0 wird nicht benutzt.)
Die Bits 17 und 16 auf dem Befehlskabel SFT werden zum Registerwähler 35 übertragen. Wenn die
gleichen Bits bei der Ausführung entweder eines Lesebefehls oder eines Register-zu-Register-Befehls
zum Registerwähler 35 übertragen werden, steuert dieser das Einschreiben des Wortes auf dem Kabel
40 in das entsprechende Register. Wenn jedoch das Befehlskabel SFT erregt ist, wird, obwohl der Registerwähler
35 eines der vier Register A, B, C oder 39 erregt, kein Wort zum Kabel 40 gegeben, um in
eines dieser Register eingeschrieben zu werden. Es wird lediglich eines der vier Register A, B, C oder
39 erregt, und statt daß ein Wort über den Registerwähler 35 zu diesem Register übertragen wird, wird
das sich bereits in dem Register befindende Wort entsprechend den Ausgangssignalen der Schiebesteuerschaltung
51 auf dem Kabel 56 verschoben.
Wie F i g. 4 zeigt, wird das Bit 19 zur Schiebesteuerschaltung 51 gegeben und gibt dieser Schaltung
an, ob die Verschiebung nach links oder rechts erfolgen soll. Das Bit 18 wird ebenfalls zur Schiebesteuerschaltung
51 übertragen und gibt der Schaltung die Art der auszuführenden Operation an, d. h., Verschieben
oder Rotieren. Die Bits 15-11 in dem Befehlswort geben die Größe der Verschiebung an.
Die entsprechenden Steuersignale werden an das Kabel 56 angelegt und den vier Registern A, B, C
oder 39 zugeführt. Die Verschiebeoperation findet jedoch nur in dem Register statt, das durch den
Registerwähler 35 erregt ist.
Wie oben beschrieben, muß häufig ein Wort aus dem Speicher 10 abgelesen, maskiert und in einem
der vier Register A, B, C oder 39 der Anlage gespeichert werden. Danach muß das Wort im Register
nach rechts verschoben werden. Um die Ausführung dieser beiden Befehle zu steuern, sind üblicherweise
zwei Befehlswörter erforderlich. Der Grund dafür ist, daß die Zahl von 23 Bits eines Befehlswortes nicht
ausreicht, um sowohl einen Lesebefehl als auch einen Verschiebebefehl anzugeben. Der Maskier-Lesebefehl
benötigt alle 23 Bits im Befehlswort und der Verschiebebefehl 12 Bit. Es wäre also ein Befehlswort
mit 35 Bits erforderlich, um beide Befehle anzugeben. Da die Befehlswörter nur 23 Bits enthalten, sind zwei
aufeinanderfolgende Befehle nötig. Erfindungsgemäß wird jedoch ein kombinierter Lese-Verschiebebefehl
durch ein einziges Befehlswort gesteuert. Der kombinierte Befehl wird ausgeführt, wenn das Befehlskabel
RD-SFT erregt ist.
Wenn der Kode 111 in den Bits 22-20 des Befehlswortes im Register 16 erscheint, wird das Befehlskabel
RD-SFT erregt. Die Bits 20-16 sind in diesem Kabel vorhanden, das mit dem Befehlskabel
RD verbunden ist. Die Bits 20-16 steuern auf übliche Weise eine maskierte Leseoperation. Das Tor 52 ist
geöffnet, und der Index-Vorgang findet wie üblich statt. Eine Adresse wird zum Speicher 10 übertragen
11 12
und ein Wort aus dem Speicher 10 über die Maskier- im Maskierregister erscheinen auf dem mit dem Umschaltung
19 zum Registerwähler 35 gegeben. Das setzer 54 verbundenen Kabel 75, und zwar ein Bit
Bit 20 ist eine 1 und veranlaßt, daß die Maskier- auf jeder Ader. Mit Ausnahme der Ader für das
schaltung 19 das abgelesene Wort entsprechend dem Bit 0, ist jede Ader mit dem Eingang eines normaler-Maskierwort
im Register 39 maskiert. Die Bits 17 5 weise geöffneten Tores verbunden, beispielsweise den
und 16 steuern den Registerwähler 35 derart, daß Toren 61 und 62. Die Betriebsweise der Schaltung
das maskierte Wort an eines der vier Register A, B, läßt sich am besten unter Betrachtung eines bestimm-
C oder 39 übertragen wird. ten Beispiels verstehen. Es sei angenommen, daß die
Das Befehskabel RD-SFT erregt außerdem den im Register 39 gespeicherte Maske das Wort
Umsetzer 54 und die Lese-Verschiebe-Steuerschal- io 00... 111100 ist. Positive Potentiale stellen 1-Werte
tung 55. Der Umsetzer 54 prüft das Maskierregister und negative Potentiale 0-Werte dar. Das erste Bit
39 und gibt Bit-Werte an seine fünf Ausgangsadern, (Bit 0) in der Maske ist eine 0 und negatives Potendie
in binärer Form die Zahl von Positionen dar- tial erscheint am Steueranschluß des Tores 61. Folgstellen,
um die das gerade in eines der Register ge- lieh bleibt dieses Tor geöffnet und der Wert des
gebene Wort zu verschieben ist. Wenn beispielsweise 15 Bits 1 der Maske wird über dieses Tor zum Tor 71
das Bit 4 in der Maske als erstes eine 1 enthält, ist und zur Ader 76 übertragen. Das Bit 1 ist ebenfalls
das Ausgangssignal des Umsetzers 5400100. eine 0 und das negative Potential auf der Ader 76
Die fünf Ausgangsadern des Umsetzers sind über betätigt das ODER-Tor 81 nicht. An beiden Eindas
Kabel 60 mit dem fünf Eingangsadern der gangen des ODER-Tores 71 liegt negatives Potential,
Schiebesteuerschaltung 51 verbunden, deren Bit- 20 so daß dessen Ausgangsspannung ebenfalls negativ
Werte die Größe der erforderlichen Verschiebung ist. (Jedes der ODER-Tore liefert negative Ausgangsdarstellen.
Die Lese-Verschiebe-Steuerschaltung 55 spannung, wenn nicht wenigstens einer seiner Einweist
zwei Ausgangsadern auf, die mit den zwei gänge positiv ist.) Das Tor 62 ist geöffnet, da das
Eingangsadern der Schiebesteuerschaltung 51 ver- ODER-Tor 71 nicht erregt ist, und das Bit 2 wird
bunden sind, welche die Richtung und Art der er- 25 über dieses Tor zur Ader 77 und zu einem der Einforderlichen
Verschiebung angeben (Bit 19 und 18 gänge des ODER-Tores 72 übertragen. Das Bit 2 ist
in einem Verschiebebefehl). Die zwei von der Lese- eine 1 und das positive Potential auf der Ader 77
Verschiebe-Steuerschaltung 55 zur Schiebesteuer- erregt das ODER-Tor 82. Außerdem wird dieses Tor
schaltung 51 übertragenen Bits geben immer eine durch das positive Potential am Eingang des ODER-Verschiebeoperation
und die Richtung rechts an. 3° Tores 72 erregt. Das positive Potential am Ausgang
Diese beiden Bits laufen über die Verzögerungs- des ODER-Tores 72 sperrt das Tor 73 und öffnet
schaltung 59, damit die Schiebesteuerschaltung 51 statt dessen das Tor 63. Das Tor 73 wiederum steuert
nicht arbeitet, bevor das aus dem Speicher abgelesene das Tor 74. Alle den Bits 2-21 zugeordneten ODER-Wort
in dem durch die Bits 17 und 16 angegebenen Tore bewirken eine Sperrung der entsprechenden
Register gespeichert ist. Der Schiebesteuerschaltung 35 Steuertore für die Übertragung der restlichen Bits
51 wird die Art der erforderlichen Verschiebung des Maskierwortes zu den ODER-Toren 81 bis 85.
(Verschieben im Gegensatz zu Rotieren), die Rieh- Positives Potential erscheint auf der Ader 77, und nur
tung (rechts) und die Größe der Verschiebung ange- das ODER-Tor 82 von den Toren 81 bis 85 tritt in
geben. Die an das Kabel 56 angelegten Kommando- Tätigkeit. Das Ausgangssignal des ODER-Tores 82
signale werden zu den vier Registern Λ, B, C oder 39 40 hat den Binärwert 2. Der Ausgang dieses Tores ist
gegeben. Es ist jedoch nur eines dieser Register durch an einen der Eingänge des UND-Tores 92 angeden
Registerwähler 35 erregt worden, nämlich das schaltet. Das Erregungssignal auf dem Befehlskabel
Register, in welches das gerade abgelesene Wort ein- RD-SFT liegt an einem der Eingänge jedes der Tore
geschrieben worden ist. Dieses Wort wird dann, wie 91 bis 95. Es ist jedoch nur das Tor 92 erregt, da
gewünscht, verschoben. 45 nur das diesem Tor zugeordnete ODER-Tor betätigt
Wie F i g. 4 zeigt, stellen mit Ausnahme des Be- worden ist. Der Ausgang des Tores 92 liegt auf
fehlskode 111 die verschiedenen Bits des Lese-Ver- hohem Potential und die Ausgänge der Tore 91 und
schiebe-Befehlswortes genau das gleiche dar, was sie 93 bis 95 auf niedrigem Potential. Folglich wird der
auch bei einem maskierten Lesebefehl darstellen. Das Binärwert 00010 über das Kabel 60 zur Schiebe-Befehlswort
selbst führt keine zusätzlichen Informa- 50 steuerschaltung 51 übertragen, um die Verschiebung
tionen. Der neue Befehlskode erregt jedoch ein neues des Wortes in dem angegebenen Register um zwei
Befehlskabel, das automatisch die Verschiebung des Positionen zu steuern. (Der auf dem Befehlskabel
in eines der Register gegebenen Wortes steuert. In RD-SFT zum Umsetzer 54 übertragene Erregungsdem
Befehlswort selbst muß jedoch keine Ver- impuls ist kurz. Der ursprüngliche Inhalt des Masschiebe-Information
übertragen werden. Bei der Aus- 55 kierregisters 39 bestimmt das Ausgangssignal des
führung des kombinierten Lese-Verschiebebefehls sind Umsetzers. Auch wenn das aus dem Speicher abgedie
Richtung und Art der Verschiebung immer die lesene Wort in das Maskierregister selbst eingeschriegleiche.
Das spezielle Register wird durch die Bits 17 ben wird, steuert die ursprüngliche Maske in dem
und 16 angegeben, da das Register, dessen Inhalt Register das Ausgangssignal des Umsetzers 54. Zu
zu verschieben ist, immer dasjenige Register ist, in 6° dem Zeitpunkt, in dem das neue Wort in das Masweiches
ein Wort gerade eingeschrieben worden ist. kierregister 39 eingeschrieben wird, ist der auf dem
Schließlich wird auch die Größe der Verschiebung Befehlskabel RD-SFT zum Umsetzer 54 gegebene
in dem Befehlswort nicht benötigt, da diese durch Impuls beendet. Die bereits zur Schiebesteuerschaldie
im Maskierregister 39 gespeicherte Maske selbst tung 51 übertragene Zahl 00010 veranlaßt, daß diese
angegeben wird. 65 Schaltung das gerade im Maskierregister 39 gespei-
Ein spezieller Umsetzer, der in der Datenbearbei- cherte Wort verschiebt, sobald die beiden Bits von
tungsanlage nach den F i g. 1 und 2 benutzt werden der Lese-Verschiebe-Steuerschaltung 55 über die
kann, ist im einzelnen in F i g. 3 gezeigt. Die 23 Bits Verzögerungsschaltung 58 übertragen sind.)
Als weiteres Beispiel sei angenommen, daß die im Maskierregister 39 enthaltene Maske OO...
111110000 ist. Die Ausgänge aller Tore 61 bis 63 liegen auf niedrigem Potential, und keines der ODER-Tore
71 bis 73 ist erregt. Der Ausgang des Tores 64 liegt hoch, und das ODER-Tor 74 und alle ODER-Tore,
die höherstelligeren Bits zugeordnet sind, sind erregt. Folglich sind die den Bits 22-5 zugeordneten
Steuertore gesperrt. Das einzige Steuertor, das eine positive Ausgangsspannung aufweist, ist das Tor 64. ίο
Der Ausgang des Tores 64 ist mit einem der Eingänge des ODER-Tores 63 verbunden, und wenn der
Erregungsimpuls auf dem Befehlskabel RD-SFT an den Umsetzer 54 angelegt wird, wird die Binärzahl
00100 zur Schiebesteuerschaltung 51 übertragen.
Einige der Steuertor-Ausgangsadern sind mit mehr als einem ODER-Tor verbunden. Beispielsweise ist
der Ausgang des dem Bit 21 zugeordneten Steuertores mit einem Eingang jedes der ODER-Tore 85,
83 und 81 verbunden, und wenn das erste Bit in der Maske, das eine 1 enthält, das Bit 21 ist, wird die
Binärzahl 10101 zur Schiebesteuerschaltung 51 gegeben. Man beachte, daß die Ader, welche das Bit 0
der Maske führt, nicht an eines der ODER-Tore 81 bis 85 angeschaltet ist. Wenn das erste Bit in der
Maske eine 1 ist, soll das gerade in dem Register gespeicherte Wort nicht verschoben werden. Das
ODER-Tor 71 und alle entsprechenden, höhennumerierten ODER-Tore sind betätigt, und keines der
dem Tor 61 entsprechenden Steuertore sowie keines der ODER-Tore 81 bis 85 ist erregt. Tatsächlich ist
es, wenn das erste Bit der Maske eine 1 ist, überhaupt nicht erforderlich, den Lese-Verschiebebefehl
zu benutzen. Der normale Lesebefehl reicht aus, da keine Verschiebeoperation erforderlich ist. Der Aufbau
des Umsetzers 54 ist leicht zu übersehen. Das erste Bit der Maske, das eine 1 ist, sperrt alle höhennumerierten
Steuertore, und die höhernumerierten Bits, können, auch wenn sie den Wert 1 haben, die
Operation der ODER-Tore 81 bis 85 nicht steuern. Auf analoge Weise werden diese ODER-Tore auch
nicht durch Bits niedrigerer Stellenzahl gesteuert, da diese Bits alle den Wert 0 haben.
Die oben beschriebene Anordnung stellt lediglich ein Ausführungsbeispiel der Erfindung dar. Beispielsweise
kann ein anderer Operationskode vorgesehen sein, um die Ausführung sowohl von Lese- als auch
von Verschiebebefehlen selbst dann zu steuern, wenn eine Maskierung nicht erforderlich ist. Der Verschiebebefehl
läßt sich auch mit anderen Befehlen als dem Lesebefehl kombinieren, beispielsweise mit
einem Register-zu-Register-Befehl. In Anlagen, bei denen die Länge eines Befehlswortes größer ist als
bei einem Datenwort, besteht die Möglichkeit, die zu verwendende Maske in dem Befehlswort selbst zu
übertragen, erst das Maskierregister einzustellen und dann unter Verwendung der vorher hergestellten
Maske und der von ihr abgeleiteten Schiebesteuerinformation die erforderliche Datenbearbeitungsoperation
durchzuführen.
Claims (2)
1. Datenbearbeitungsanlage mit einem Speicher für Befehlswörter und Datenwörter, wobei jedes
Befehlswort einen Operationsabschnitt und einen Adressenabschnitt aufweist, einer an den Speicher
angeschalteten Steueranordnung zur Entnahme und Bearbeitung jedes Befehlswortes,
einem an den Speicher angeschalteten Maskierregister, einer auf eine Bitgruppe im Operationsabschnitt eines entnommenen Befehlswortes ansprechenden
logischen Schaltung zur Maskierung eines gewählten Wortes, dessen Adresse durch den Adressenabschnitt des gleichen Befehlswortes
angegeben ist, mit dem Inhalt des Maskierregisters, und einer Vielzahl von Registern, von
denen eines durch bestimmte Bits im Operationsabschnitt des gleichen Befehlswortes zur Speicherung
des maskierten Wortes gewählt ist, dadurch gekennzeichnet, daß die Steueranordnung
einen an das Maskierregister (39) angeschalteten Umsetzer (54) aufweist, der aus der
Position, die ein bestimmtes Bit eines vorbestimmten Wertes im Maskierregister (39) einnimmt,
eine Verschiebegröße ableitet, sowie Schaltungen (55, 56, 58), die, auf weitere Bits im
Operationsabschnitt des gleichen Befehlswortes ansprechend, den Inhalt des vorher aus der Vielzahl
von Registern (A, B, C) gewählten Registers entsprechend der durch den Umsetzer abgeleiteten
Verschiebegröße verschieben, so daß ein einziges Befehlswort sowohl eine Maskier- als auch
eine Verschiebeoperation steuert.
2. Anlage nach Anspruch 1, dadurch gekennzeichnet, daß der Umsetzer (54) die Verschiebegröße
aus der Position des niedrigststelligen oder des höchststelligen, von Null verschiedenen Bits
im Maskierregister (39) ableitet.
Hierzu 2 Blatt Zeichnungen
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US40227164A | 1964-10-07 | 1964-10-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE1499286A1 DE1499286A1 (de) | 1970-03-05 |
DE1499286B2 true DE1499286B2 (de) | 1971-11-25 |
Family
ID=23591232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19651499286 Withdrawn DE1499286B2 (de) | 1964-10-07 | 1965-10-06 | Datenbearbeitungsanlage |
Country Status (6)
Country | Link |
---|---|
US (1) | US3430202A (de) |
BE (1) | BE670568A (de) |
DE (1) | DE1499286B2 (de) |
GB (1) | GB1119002A (de) |
NL (1) | NL143707B (de) |
SE (1) | SE316934B (de) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1245441A (en) * | 1968-08-27 | 1971-09-08 | Int Computers Ltd | Improvements in or relating to adders operating on variable fields within words |
US3906459A (en) * | 1974-06-03 | 1975-09-16 | Control Data Corp | Binary data manipulation network having multiple function capability for computers |
GB1524850A (en) * | 1975-12-23 | 1978-09-13 | Ferranti Ltd | Data processing apparatus |
FR2356202A1 (fr) * | 1976-03-31 | 1978-01-20 | Cit Alcatel | Logique sequentielle programmable |
US4085447A (en) * | 1976-09-07 | 1978-04-18 | Sperry Rand Corporation | Right justified mask transfer apparatus |
US4139899A (en) * | 1976-10-18 | 1979-02-13 | Burroughs Corporation | Shift network having a mask generator and a rotator |
US4219874A (en) * | 1978-03-17 | 1980-08-26 | Gusev Valery | Data processing device for variable length multibyte data fields |
US10725685B2 (en) * | 2017-01-19 | 2020-07-28 | International Business Machines Corporation | Load logical and shift guarded instruction |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3161763A (en) * | 1959-01-26 | 1964-12-15 | Burroughs Corp | Electronic digital computer with word field selection |
US3111648A (en) * | 1960-03-31 | 1963-11-19 | Ibm | Conversion apparatus |
US3274558A (en) * | 1961-01-03 | 1966-09-20 | Burroughs Corp | Digital data processor |
USB325107I5 (de) * | 1961-01-27 | |||
US3275989A (en) * | 1961-10-02 | 1966-09-27 | Burroughs Corp | Control for digital computers |
US3277449A (en) * | 1961-12-12 | 1966-10-04 | Shooman William | Orthogonal computer |
US3229260A (en) * | 1962-03-02 | 1966-01-11 | Ibm | Multiprocessing computer system |
-
1964
- 1964-10-07 US US402271A patent/US3430202A/en not_active Expired - Lifetime
-
1965
- 1965-10-06 GB GB42343/65A patent/GB1119002A/en not_active Expired
- 1965-10-06 SE SE12960/65A patent/SE316934B/xx unknown
- 1965-10-06 BE BE670568D patent/BE670568A/xx unknown
- 1965-10-06 DE DE19651499286 patent/DE1499286B2/de not_active Withdrawn
- 1965-10-07 NL NL656513018A patent/NL143707B/xx unknown
Also Published As
Publication number | Publication date |
---|---|
NL6513018A (de) | 1966-04-12 |
NL143707B (nl) | 1974-10-15 |
SE316934B (de) | 1969-11-03 |
BE670568A (de) | 1966-01-31 |
DE1499286A1 (de) | 1970-03-05 |
US3430202A (en) | 1969-02-25 |
GB1119002A (en) | 1968-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1951552C3 (de) | Speichereinrichtung mit Sicherung durch Schutzschlüssel | |
DE1178623C2 (de) | Programmgesteuerte datenverarbeitende Maschine | |
DE3424962C2 (de) | ||
DE2712224A1 (de) | Datenverarbeitungsanlage | |
DE2331589A1 (de) | Datenverarbeitungsanordnung | |
DE2036729A1 (de) | Digital Datenverarbeiter | |
DE1774870C3 (de) | Einrichtung zur Adressierung einer Speicherzelle eines Speichers in einer Datenverarbeitungsanlage | |
DE2718110A1 (de) | Datenverarbeitungseinheit | |
DE1499206C3 (de) | Rechenanlage | |
DE2054830A1 (de) | Informationsverarbeitungssystem mit wortstrukturiertem Speicher und Verfahren fur einen Zugriff zu einem derar tigen Speicher | |
DE1925427A1 (de) | Datenuebertragungsvorrichtung zum UEbertragen von Daten zwischen Informationsspeichern | |
DE1499286B2 (de) | Datenbearbeitungsanlage | |
DE3121046C2 (de) | ||
DE2617485A1 (de) | Verfahren und schaltungsanordnung zur abarbeitung von mikrobefehlsfolgen in datenverarbeitungsanlagen | |
DE19628039B4 (de) | Speicheradressen-Steuerschaltung | |
DE2108157A1 (de) | Datenverarbeitungsanlage mit über lagertem Speicherverkehr | |
DE2941594A1 (de) | Gleitkomma-verarbeitungseinheit | |
DE1267886B (de) | Datenbearbeitungsanlage | |
DE2235883C3 (de) | Datenverarbeitungseinrichtung | |
DE1296427B (de) | Datenbearbeitungssystem | |
DE1296429B (de) | Datenbearbeitungsanlage | |
DE1499286C (de) | Datenbearbeitungsanlage | |
DE2419836C3 (de) | Schaltungsanordnung zur Durchführung von Unterprogramm-Sprungbefehlen in Datenverarbeitungsanlagen | |
DE1549454A1 (de) | Einrichtung zur abgerundeten Anzeige einer gespeicherten Zahl | |
DE3123379C2 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E77 | Valid patent as to the heymanns-index 1977 | ||
8339 | Ceased/non-payment of the annual fee |