DE1499286B2 - Datenbearbeitungsanlage - Google Patents

Datenbearbeitungsanlage

Info

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
Application number
DE19651499286
Other languages
English (en)
Other versions
DE1499286A1 (de
Inventor
Randall William Eatontown; Hass Ronald Joseph New Shrewsbury; N.J. Downing (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 DE1499286A1 publication Critical patent/DE1499286A1/de
Publication of DE1499286B2 publication Critical patent/DE1499286B2/de
Withdrawn 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30018Bit or string instructions
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding 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.
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)

Patentansprüche:
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
DE19651499286 1964-10-07 1965-10-06 Datenbearbeitungsanlage Withdrawn DE1499286B2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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