CH497749A - Datenverarbeitungsanlage mit einem Speicher mit adressiebaren Speicherplätzen - Google Patents

Datenverarbeitungsanlage mit einem Speicher mit adressiebaren Speicherplätzen

Info

Publication number
CH497749A
CH497749A CH487966A CH487966A CH497749A CH 497749 A CH497749 A CH 497749A CH 487966 A CH487966 A CH 487966A CH 487966 A CH487966 A CH 487966A CH 497749 A CH497749 A CH 497749A
Authority
CH
Switzerland
Prior art keywords
accumulator
register
memory
word
length
Prior art date
Application number
CH487966A
Other languages
English (en)
Inventor
Albert Boennighausen Richard
Fred Jr Burch Byron
Douglas Hunter Robert
Ewing Keefer David
Edward Wilhite John
Jefferson Jr Beatson Thomas
Martin Rojko Richard
Original Assignee
Gen Electric
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
Priority claimed from US446067A external-priority patent/US3368204A/en
Priority claimed from US448194A external-priority patent/US3366932A/en
Priority claimed from US448196A external-priority patent/US3368205A/en
Priority claimed from US448197A external-priority patent/US3368206A/en
Priority claimed from US448537A external-priority patent/US3413609A/en
Priority claimed from US448541A external-priority patent/US3370275A/en
Application filed by Gen Electric filed Critical Gen Electric
Publication of CH497749A publication Critical patent/CH497749A/de

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/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/223Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/226Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • 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/30098Register arrangements
    • G06F9/30101Special purpose registers
    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355Indexed addressing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description


  
 



  Datenverarbeitungsanlage mit einem Speicher mit adressierbaren Speicherplätzen
Die Erfindung betrifft eine Datenverarbeitungsanlage mit einem adressierbare Speicherplätze enthaltenden Speicher und einer Zeitgebersteuereinheit, welche den Zeittakt des zentralen Rechners steuert, wobei ein   Akkumulator    mindestens einen adressierbaren Speicherplatz belegt.



   Der arithmetische Teil einer Datenverarbeitungsanlage weist mehrere Komponenten auf, von denen eine üblicherweise ein Speicher ist und Akkumulator genannt wird. Der Akkumulator des arithmetischen Teiles wird normalerweise dazu verwendet, das Ergebnis arithmetischer Operationen zu speichern, die im Addierer durchgeführt worden sind. Der Addierer ist seinerseits eine weitere Komponente der arithmetischen Einheit. Weiterhin wird der Akkumulator dazu verwendet, zwischenzeitlich Operandenworte zu speichern, die in der arithmetischen Einheit arithmetischen Operationen unterworfen werden sollen, oder die mittels anderer Operationen in der Datenverarbeitungsanlage verarbeitet werden sollen. Ausserdem kann der Akkumulator dazu dienen.



  Resultate von   Datenverarbeitungsoperafionen    zu speichern, die in der arithmetischen Einheit durchgeführt werden, jedoch keine arithmetischen Operationen sind.



  Wenn man also in der Datenverarbeitungsanlage einen Befehl durchführt, kann dadurch der Inhalt des Akkumulators modifiziert werden. Ausserdem kann man bei der Durchführung von Befehlen den Inhalt des Akkumulators verwenden.



   Es ist bekannt, in Datenverarbeitungsanlagen einen oder mehrere fest vorgegebene Speicherplätze im Speicher zu reservieren und diese fest vorgegebenen Speicherplätze als Akkumulator zu verwenden. Wenn man den Akkumulator während der Ausführung von Befehlen verwendet, um Daten zu verarbeiten, muss der Inhalt des Akkumulators häufig durch neue Informationen ersetzt werden, während gleichzeitig der bisherige Inhalt des Akkumulators aufbewahrt werden muss, dann muss der Inhalt an einem neuen Speicherplatz eingespeichert werden, dann muss die neue Information gelesen werden, beispielsweise im Speicher, und zum Schluss muss diese neue Information im Akkumulator eingespeichert werden. Diese unproduktiven Bewegungen der Information innerhalb des Speichers erfordern eine grosse Anzahl von Speicherzyklen, d. h.

  Zeitperioden, die erforderlich sind,   um    Informationen auszulesen oder Informationen neu in dem Speicher zu speichern. Dadurch geht wertvolle Rechen- oder Verarbeitungszeit verloren.



   In einer anderen bekannten Datenverarbeitungsanlage wird als Akkumulator der arithmetischen Einheit ein Register verwendet, das ausserhalb des Speichers liegt.



  Aber auch die Verwendung eines   ausserhalb    des Speichers liegenden Registers als Akkumulator erfordert eine grosse Anzahl unproduktiver Speicherzyklen, um die Informationen aus dem Akkumulator einzuspeichern und sie durch neue Informationen zu ersetzen, die für die Durchführung eines vorgegebenen Befehls verwendet werden müssen. Züsätzlich kann der Inhalt eines solchen Akkumulatorregisters nicht explizit durch ein Befehlswort adressiert werden. Es ist daher wünschenswert, in einer Datenverarbeitungsanlage einen Akkumulator vorzusehen der eine bessere Ausnutzung der Datenverarbeitungszeit gestattet und eine überflüssige Datenübertragung während der Ausführung eines Befehles überflüssig macht.



   Ziel der Erfindung ist daher ein Akkumulator in dem arithmetischen Teil einer   Datenverarbeitungsanla-    ge, der insbesondere die eigentliche Verarbeitungszeit für Datenverarbeitungsoperationen vermindert, bei denen der Akkumulator eine Rolle spielt.



   In Datenverarbeitungsanlagen ist es häufig wünschenswert, Datenfelder unterschiedlicher Länge arithmetischen Operationen zu unterwerfen. So kann es beispielsweise während einer Datenverarbeitungsopera  tion notwendig sein, Datenfelder, die nur ein einziges Informationswort enthalten, einem Datenfeld aus 3 Informationsworten hinzuzuaddieren. Bei den bisherigen Datenverarbeitungsanlagen war es erforderlich, dass die Grösse der Datenfelder, die arithmetischen Operationen unterworfen werden sollten, gleich waren. So wurde bei diesem Beispiel das Datenfeld, das nur aus einem einzigen Informationswort bestand, mit zwei zusätzlichen Worten kombiniert, die nur aus Nullen aufgebaut waren, um auf diese Weise ein Datenfeld aus drei Worten herzustellen, das einem anderen Datenfeld aus drei Worten hinzuaddiert werden konnte.

  Man konnte jedoch auch bei den bekannten Anlagen zusätzliche Befehle verwenden, um   Datenfelder    unterschiedlicher Länge zu verarbeiten. Bei beiden Möglichkeiten wurden jedoch wertvolle Bearbeitungszeit und Speicherkapazität verschwendet. Es ist zwar denkbar, in die Datenverarbeitungsanlage bestimmte Befehle einzugeben, beispielsweise den Befehl, ein Datenfeld einfacher Länge einem Datenfeld dreifacher Länge hinzuzuaddieren, so dass arithmetische Operationen mit Datenfeldern unterschiedlicher Länge durchgeführt werden können. In der Praxis ist jedoch die Zahl der verfügbaren Operationskode beschränkt, die in einem Datenverarbeitungssystem für die Erkennung von Befehlen verfügbar sind.

  Dadurch verbietet sich das Aufstellen von Operationskode von selbst, die jede beliebige Kombination unterschiedlicher Datenfeldlängen abdecken, die arithmetischen Operationen unterworfen werden können. Es ist demzufolge günstig, eine Anordnung zu treffen, durch die das Ausführen von arithmetischen Operationen mit Datenfeldern unterschiedlicher Länge erleichtert wird.



   Die arithmetischen Einheiten vieler Datenverarbei   tungsanl agen    enthalten Akkumulatoren, deren Kapazität eine ganze Zahl fester Wortlängen beträgt. Bei einem solchen Akkumulator ist es möglich, Datenfelder, deren Länge die Länge eines einzelnen Wortes übersteigt, zweckmässig zu verarbeiten. Wenn man Datenfelder verarbeitet, deren Länge kleiner als die Kapazität des Akkumulators ist, werden auch diejenigen Datenverarbeitungsoperationen durchgeführt, die sich auf die Wortplätze höherer Ordnung des Akkumulators beziehen, selbst dann, wenn an diesen Akkumulatorplätzen keine Daten vorhanden sind. Hierdurch geht wertvolle Datenverarbeitungszeit verloren.

  Es ist daher wünschenswert, in der arithmetischen Einheit einer   Diatenverarbeitungs-    anlage eine Akkumulatoranordnung zu treffen, die die Einstellung der effektiven Länge des Akkumulators für eine vorgegebene Datenverarbeitungsoperation er   erlaubt.   



   Ziel der Erfindung ist daher eine Akkumulatoranordnung in einer Datenverarbeitungsanlage, zu schaffen und insbesondere eine solche, die die Verarbeitung von Datenfeldern variabler Länge in einer Datenverarbeitungsanlage erlaubt, die Worte fester Länge benutzt.



   Die Anordnung soll die Beschränkung der effektiven Länge des Akkumulators für eine vorgegebene Datenverarbeitungsoperation auf einen Wert, der kleiner als die totale Länge des Akkumulators ist, erlauben. Dadurch werden bei Datenverarbeitungsoperationen mit Datenfeldern unterschiedlicher Länge Verarbeitungszeit und Speicherplätze eingespart. Das gilt im besonderen für Datenfelder, deren Länge kleiner als die Kapazität des Akkumulators ist.



   Die Erfindung ist gekennzeichnet durch ein Register zum Speichern der Teiladresse mindestens eines durch den Akkumulator belegten Speicherplatzes eine Operationssteuereinheit und Schaltkreise zur Modifikation der im genannten Register gespeicherten Teiladresse zwecks   Anderung des      Akkumuiatorplatzes    im Speicher für eine folgende Datenspeicherung.



   Nach einer besonderen Ausführungsform der Erfindung kann ein Zwei-Bitregister vorgesehen werden, das im Folgenden Akkumulatorlängenregister genannt wird.



  In diesem Register wird die Arbeitslänge oder die effektive Länge des Vier-Wort-Akkumulators im Speicher gespeichert. Die Arbeitslänge des Akkumulators kann auf eine einfache, zweifache, dreifache oder vierfache Wortlänge eingestellt werden, und zwar dadurch, dass man die Flipflops des   Akkumulratorlängen-    registers in vorgegebene Zustände bringt. Die effektive Länge des Akkumulators, die in dem Akkumulatorlängenregisters in vorgegebene Zustände bringt. Die effektive Länge des Akkumulators, die in dem Akkumulatorlängenregister dargestellt ist, bezeichnet die Akkumulatorworte, die beim Durchführen einer vorgegebenen   Datenverarbeitungsfunktion    teilnehmen. Die Anzahl der Worte in dem Datenfeld, das verarbeitet wird, kann grösser, gleich oder kleiner als die Anzahl der Worte in dem   Arbeitsakkumulator    sein.

  Das hängt von der Datenverarbeitungsfunktion ab, die durchgeführt werden soll.



   Im folgenden wird ein Ausführungsbeispiel der Erfindung in Verbindung mit den Zeichnungen im einzelnen beschrieben.



   Fig. 1 ist eine schematische Darstellung einer Datenverarbeitungsanlage nach der Erfindung.



   Fig. 2 ist eine symbolische Darstellung und zeigt die Organisation verschiedener Worttypen, die in der Anlage nach Fig. 1 verwendet werden.



   Fig. 3 ist eine symbolische Darstellung und zeigt den zu verschiebenden oder umzuordnenden Akkumulator im Speicher des Zentralrechners aus Fig. 1.



   In der vorliegenden Datenverarbeitungsanlage wird ein Binärkode verwendet. Eine binäre 1 kann durch ein positives elektrisches Signal von etwa +3,8V Höhe dargestellt werden, während eine binäre 0 durch ein elektrisches Signal in der Grössenordnung von   + 0,2 V    dargestellt ist.



   Die Datengrundeinheit,die bei   ider    Verarbeitung und beim Datenaustausch in der vorliegenden Anlage verwendet wird, ist das Wort. Im vorliegenden Fall enthält ein Wort nach Definition 24 binäre Ziffern. Wenn das Wort in dem Speicher erscheint, wird noch eine 25.

 

  binäre Ziffer verwendet, die zur Paritätsprüfung dient.



  Die erste binäre Ziffer eines Datenwortes wird die Ziffer mit der höchsten Wertigkeit oder dem höchsten Stellenwert genannt, während die letzte binäre Ziffer die Ziffer mit dem niedrigsten Stellenwert oder der niedrigsten Wertigkeit ist. Die binären Ziffern zwischen der Ziffer mit dem höchsten und der Ziffer mit dem niedrigsten Stellenwert sind aufeinanderfolgend abnehmenden Stellenwerten zugeordnet.



   Es werden drei verschiedene Worttypen verwendet: 1. Datenworte, 2. Befehlsworte, 3. Hilfsworte für die Adressierung und die Steuerung.



   Datenworte, also der Worttyp No. 1, werden ferner unterteilt in a) alphanumerisohe Datenworte und b) binäre Datenworte.



   Auch von Hilfsworten gibt es die verschiedensten Arten. Wie diese Hilfsworte zu verwenden sind, wird unten erklärt. Die Organisation eines jeden Worttyps und einer  jeden Wortart sowie von einigen Hilfswörtern ist in der Fig. 2 dargestellt. Ein alphanumerisches Datenwort stellt vier Zeichen dar, während jedes Zeichen aus 6 binären Ziffern besteht. Das ist in der Fig. 2 gezeigt. Die 6 binären Ziffern eines jeden Zeichens eines alphanumerischen Datenwortes enthalten zwei Zonenbits B und A sowie 4 binärkodierte Dezimalbits (BCD). Die vier Zeichen eines alphanumerischen Datenwortes sind von links nach rechts dem Zeichen 0-3 angeordnet, wie es auch dargestellt ist. Das Zeichen 0 ist das Zeichen mit dem höchsten Stellenwert, während das Zeichen 3 das Zeichen mit dem niedrigsten Stellenwert ist.

  Die Zeichen 1 und 2 sind in Übereinstimmung mit ihrer Stellung innerhalb des alphanumerischen Datenwortes aufeinanderfolgend abnehmenden Stellenwerten zugeordnet.



   Die 6 binären Ziffern eines jeden Zeichens eines alphanumerischen Datenwortes machen 64 eindeutige Bitkombinationen möglich, die dazu verwendet werden, die Dezimalziffern 0-9, die Buchstaben A-Z des Alphabetes sowie bestimmte andere Symbole wie Interpunktionszeichen und ähnliches darzustellen. Die Zonenbits können dazu verwendet werden, den einzelnen Zeichenbits eine bestimmte Bedeutung zu geben, also beispielsweise die Bedeutung von   dezimalnumerischen    Werten, von Vorzeichen etc.



   Ein binäres Datenwort stellt eine einzelne Zahl dar.



  Die gesamten 24 Bits dieser Zahl werden als Informationseinheit betrachtet, ohne dass eine Auftrennung in Zeichen wie bei einem alphanumerischen Datenwort erfolgt. Die Organisation eines binären Datenwortes ist in der Fig. 2B dargestellt. Die binäre Ziffer 23 hat die höchste Stelligkeit und die Binärziffer 0 hat die niedrigste Stelligkeit in diesem binären Datenwort. Ein binäres Datenwort mit 24 Bits kann daher eine Dezimalzahl darstellen, die zwischen 0-16 777 215 liegt. Binäre Worte werden automatisch als positive Grössen behandelt, ohne dass Vorkehrungen getroffen werden, das Vorzeichen der Information anzugeben.



   Die Operationen, die eine Datenverarbeitung bewirken, werden in dem System durch die Steuerung mittels einer Folge von Befehlsworten durchgeführt, die im Speicher 10 gespeichert sind. Hierbei wird zu einem Zeitpunkt immer nur ein Befehl ausgeführt. Die Folge, in der die Befehle ausgeführt werden, ist die sogenannte Programmfolge, die durch einen Zähler gesteuert wird.



   In der Fig. 2C ist dargestellt, wie ein Befehlswort organisiert ist. Der Operationskode des Befehlswortes (Bits 18-23 im OC-markierten Feld) stellt die Operation oder den Programmschritt dar, der durchgeführt werden soll. Gleichzeitig zeigt der Operationskode an, ob der Befehl ein Ein-Adressen- oder ein Zwei-Adressenbefehl ist. Das Adressenfeld, das mit A bezeichnet ist (Bits 0-14), ist eine numerische Darstellung und gibt einen Ort im Speicher 10 an, aus dem Daten ausgelesen werden müssen, um sie bei der Durchführung des Befehles verarbeiten zu können, oder in dem Daten nach der Ausführung des Befehles eingespeichert werden sollen. Jedem Speicherplatz im Speicher ist eine andere Adresse zugeordnet. Das Adressensteuerfeld, das mit AC bezeichnet ist (Bits 15-17), kann in Verbindung mit dem Operationskode dazu verwendet werden, die Adressen zu entwickeln.

  In besonderen Befehlen enthält das   Befehlsadressenfeid    Informationen, die andere Informationen als eine Speicheradresse sind.



   Die Brauchbarkeit einer Datenverarbeitungsanlage ist umso höher, je flexibler die Adressierung gestaltet werden kann. Diese Felxibilität wird durch die Verwendung von einem oder mehreren Hilfsworten erreicht. Die Hilfsworte sind im Speicher 10 genauso wie Datenworte und Befehlsworte gespeichert.



   In der Fig. 1 ist die Datenverarbeitungsanlage insoweit symbolisch dargestellt, wie es zum Verständnis der vorliegenden Erfindung notwendig ist. In der Fig. 1 sollen die einzelnen Elemente der Anlage gezeigt werden, in denen Daten gespeichert werden können, weiterhin die Wege. auf denen Daten zwischen diesen Elementen hin- und herübertragen werden können, sowie die Hauptsteuerkomponenten des Systems. Solche Elemente, die allgemein zum Stand der Technik gehören oder mit der Struktur der Anlage nach der Erfindung in keinem unmittelbaren Zusammenhang stehen, sind weggelassen worden.



   Da die gleichen Arten von Baugruppen, beispielsweise Register, verschiedene Funktionen haben können, werden diese Elemente mit einer besonderen Bezeichnung in Form von grossen Buchstaben versehen, um Verwechslungen zu vermeiden. Auch Signale (die in dem System zur Verfügung stehen) und Befehle, die zur Erzeugung bestimmter Signale notwendig sind, werden aus Gründen der Klarheit mit besonderen Kodebezeichnungen versehen. Wie bekannt, kann ein Zeitgebergenerator dazu verwendet werden, Zeitgebersignale und/oder   Befehlssteuersignale    abzugeben.



   Die speziellen Schaltkreise, die zum Aufbau einer Anlage nach der Erfindung notwendig sind, sind Standardschaltkreise, die bekannt sind, und die unter der Verwendung von   Vakuumröhren,    Transistoren, anderen aktiven oder passiven Elementen, magnetischen Bauelementen, sättigungsfähigen Kernen und ähnlichem aufgebaut werden. Solche   Standardschaltkreise    können UND Tore, ODER-Tore, Umkehrstufen, Zähler, Flipflops, Univibratoren, Register Kodier- und Dekodiermatrizen, Zeitverzögerungskreise, Verzögerungsleitungen, Register- und Speicherelemente oder Zeitgeber- und Impulsschaltkreise sein. Weiterhin können bei Bedarf Verriegelungskreise vorgesehen werden.

  Auch Trennstufen oder ähnliche Schaltkreise müssen bei Bedarf vorgesehen werden, um ein Übersprechen von Signalen zu vermeiden, oder auch zu verhindern, dass die Signale an andere Stelle gelangen, wo sie das Ansprechen anderer Schaltkreise hervorrufen, das dann nicht der vorgegebenen Schaltlogik entspricht. Weiterhin müssen auch Zeitgebersignale vorgesehen werden, um zu den richtigen Zeitpunkten und in den richtigen Intervallen richtige Impulse zur Verfügung zu haben. Solche Trennstufen, Verriegelungs- und Zeitgeberschaltkreise sind in der Zeichnung nicht dargestellt und auch nicht im einzelnen beschrieben, um die Beschreibung ausreichend kurz und ausreichend klar halten zu können. Wie solche Schaltkreise jedoch zu verwenden sind, ist dem Durchschnittsfachmann bekannt.

 

   Während der Durchführung von Datenverarbeitungsoperationen sind im Speicher 10 Befehlsworte für die Datenverarbeitung, Hilfsworte für die Adressierung und die Steuerung, Datenworte, die verarbeitet werden sollen, und Datenworte gespeichert, die das Ergebnis von Verarbeitungen sind. Eine zwischenzeitliche Speicherung von Datenworten wird während der Durchführung von Datenverarbeitungsoperationen in verschiedenen Registern innerhalb der Anlage durchgeführt. Die Datenübertragung zwischen den Registern und den anderen Elementen der Anlage, die durch die Verbindungslinien aus Fig. 1 dargestellt ist, wird durch Parallelübertragung  der primären Ziffern aus einem Register zu einem anderen Register oder Element durchgeführt.



   Der Speicher 10 und die anderen Elemente des zentralen Rechners arbeiten nicht synchron miteinander.



  Der Speicher 10 enthält daher seine leigene Zeitgeberlogik, seine eigene Steuerlogik (nicht gezeigt) und ein Adressenregister. Der Speicher 10 arbeitet mit den anderen Elementen des Zentralrechners, nämlich mit dem Programmverarbeiter und der Eingabe-Ausgabesteuereinheit zusammen, um binärkodierte Adressen zu erhalten, um weiterhin Datenworte, Befehlsworte und Hilfsworte aufzunehmen oder abzugeben und um Steuer signale aufzunehmen und abzugeben, durch die der Zeittakt im Speicher mit dem Zeittakt des restlichen zentralen Rechners synchronisiert werden kann. Die Adresseninformation wird an den Speicher 10 über B Tore 317 übertragen.



   Ein I-Register 313 speichert den Operationskode des Befehlswortes, der die Bits   18-23    enthält. Der Operationskode im I-Register 313 steuert die Art der Operation, die in der Anlage ausgeführt werden soll.



  Das Adressensteuerfeld des Befehlswortes, das aus den Bits 15-17 besteht, ist im Q-Register 306 gespeichert.



  Das Adressensteuerfeld im Q-Register 306 steuert die Entwicklung des Befehlsadressenfeldes und kann auch die Entwicklung der zweiten Adresse eines Zwei-Adressen-Befehles steuern. Das Adressenfeld des Befehlswortes, das die Bits 0-14 enthält, ist üblicherweise im D Register 311 gespeichert, kann jedoch auch während der Ausführung eines bestimmten Befehles im E-Register 303 gespeichert werden. Das   Befehlsadressenfeld,    das in dem D-Register 311 oder im E-Register 303 gespeichert ist, gibt den Ort im Speicher an, aus dem ein Operandenwort herausgelesen oder in den ein solches Wort eingespeichert werden soll. Die Adresse des Befehles, der als nächster durch   inden    Programmverarbeiter ausgeführt werden soll, ist im P-Register 310 gespeichert.



  Wenn die Durchführung eines Befehles   beinahe    fertig ist, wird die nächste Befehlsadresse, die im P-Register 310 gespeichert ist, dem Addierer 302 zugeführt, so dass der zentrale Rechner in der Lage ist, aus dem Speicher
10 den nächsten Befehl abzurufen.



   Alle Worte, die aus dem Speicher 10 ausgelesen oder in ihm eingelesen werden, müssen durch das M-Register 301 hindurchlaufen. Wenn also ein Befehl aus dem Speicher 10 abgerufen werden soll, wird die Adresse in dem P-Register 310 über den Addierer 302 und das D Register 311 durch die B-Tore 317 hindurchübertragen, und das Befehlswort wird aus der adressierten Speicherstelle heraus in das M-Register 301 ausgelesen. Der Operationskode, das Adressensteuerfeld, und das Adressenfeld des Befehlswortes in dem M-Register 301 werden dann an das   1-Register    313, an das Q-Register 306 und entweder an das D-Register 311 oder an das E Register 303 übertragen. Daraufhin wird der Befehl durchgeführt.

  Die Operandenworte, die zur Durchführung eines Befehls verwendet werden, werden aus dem Speicher 10 durch den gleichen Vorgang labgerufen, d. h. dadurch, dass auch das Operandenwort zu Beginn in das M-Register 301 übertragen wird.



   Wenn ein Wort aus dem Speicher 10 in das M Register 301 übertragen wird, wird der 25. Bit, der der Paritätsbit ist, der Paritätsprüfeinheit 316 zugeführt. Die Paritätsprüfeinheit 316 tastet das Wort in dem M Register ab und stellt unter Verwendung des   Paritätsbits    aus dem Speicher 10 fest, ob in dem Wort, das aus dem Speicher 10 übertragen worden ist, ein Paritätsfehler vorhanden ist oder nicht. Wenn dagegen ein Wort, das zwischenzeitlich im M-Register 301 gespeichert ist, in den Speicher 10 übertragen werden soll, tastet die Paritätsprüfeinheit 316 das Wort im M-Register 301 ab und erzeugt den richtigen Paritätsbit, der als 25. Bit des Wortes in den Speicher 10 übertragen wird.



   Die arithmetischen Operationen, Schiebeoperationen, Vergleichsoperationen, logischen Operationen usw., denen das Operandenwort unterworfen wird, werden hauptsächlich unter der Verwendung des M-Registers 301, des Addierers 302 und des E-Registers 303 durchgeführt. Der Addierer 302 ist so ausgelegt, dass er Informationen addieren kann, die ihm gleichzeitig vom M-Register 301 und vom E-Register 303 zugeführt werden. Gleichzeitig ist der Addierer 302 in der Lage, auch solche Informationen miteinander zu addieren, die gleichzeitig vom M-Register 301 und vom P-Register 310, vom D-Register 311 oder auch von anderen passenden Registern zugeführt werden.

  Die Ausgangsgrösse des Addierers 302 kann an das E-Register 303, das M-Register 301, das D-Register 311, das P-Register 310 oder auch an irgendein anderes passendes Register übertragen werden, wie es durch die ausgezogenen Linien in Fig. 1 dargestellt ist, die diese   Übertragungs-    möglichkeiten andeuten sollen. Das Q-Register 306 kann während der Durchführung bestimmter Befehle als Zähler oder als Zwischenregister dienen.



   Die Steuerung der Operationen im Zentralrechner wird in der Hauptsache von der Operationssteuereinheit 318, der Zeitgebersteuerung 319, dem I-Register 313, dem P-Register 310, dem D-Register 311 und dem A Register 312 durchgeführt. Der Inhalt des I-Registers 313 wird durch die Operationssteuereinheit 318 dekodiert, die die Steuerlogik bereitstellt, die für die Durchführung eines Befehles durch den zentralen Rechner erforderlich ist. Die Operationssteuereinheit 318 weist ein Register für die Auswahl von Mikrooperationsblökken auf, weiterhin eine Steuerlogik, eine Dekodierungslogik für das I-Register 313 und für das Auswahlregister. Die Zeitgebersteuereinheit   319    steuert den inneren Zeittakt des zentralen Rechners und ermöglicht die Synchronisation des zentralen Rechners mit der Eingabe/Ausgabesteuereinheit 13 und mit dem Speicher 10.



  Die Zeitgebersteuereinheit 319 weist einen Generator auf, der an den zentralen Rechner Zeitgeberimpulse abgibt. Weiterhin sind in der Zeitgebersteuereinheit 319 logische Schaltkreise zur Steuerung der Zeittakterzeugung vorgesehen, sowie ein Zähler, der die Zeitperioden in dem Zentralrechner definiert.



   In   dem.A-Register    312 wird die Teiladresse eines Wortes des Vierwort-Akkumulators im Speicher 10 gespeichert. Das Akkumulatorlängenregister 314, das die Flipflops   PL1    und PL2 enthält, enthält einen Zählerstand, der die Anzahl der Worte im effektiven Akkumulator anzeigt. Der Inhalt des A-Registers 312 und des Registers 314 bilden zusammen die Adresse eines Wortes des effektiven Akkumulators. Weiterhin ist ein Akkumulatorzählregister 315 mit Flipflops AC2 und AC1 vorgesehen, das in Verbindung mit dem A-Register 312 arbeitet und nacheinander jedes Wort im effektiven Akkumulator adressiert.

 

   Das D-Register 311 wird hauptsächlich als Adressenregister benutzt, um die Adresseninformation durch die B-Tore 317 an den Speicher 10 zu übertragen. Das P-Register 310 wird als Zähler benutzt, der periodisch weitergeschaltet wird, um die Adresse des nächsten Wortes in der Programmfolge   zu- bilden.     



   Das D-Register 311 ist ein 15-Bit-Register mit 15 Flipflops, das normalerweise die Adresse eines Datenwortes, eines Hilfswortes oder eines Befehlswortes enthält. Das D-Register 311 ist so ausgelegt, das es die Bits der Bitstellen 0-14 der Ausgangssignale des Addierers durch Parallelübertragung aufnehmen kann, wenn ein Signal QSDX an diejenigen Eingangstore angelegt wird, die die Ausgänge des Addierers mit den entsprechenden Eingängen der Registerflipflops verbinden. Während der Durchführung von Befehlen, die einen Akkumulator der doppelten, der dreifachen oder der vierfachen Länge erfordern, wird das D-Register 311 dazu benutzt, den Zugriff zu den Operandendatenworten in der richtigen Reihenfolge sicherzustellen, so dass diese Reihenfolge mit den Akkumulatorworten übereinstimmt.

  Auf ein Zeitsignal DDCD hin wird die Adresse im D-Register 311 um 1 vermindert, um auf diese Weise die aufeinanderfolgenden Operandenwortadressen zu erzeugen. Das D-Register 311 enthält auch Informationen über Schiebesteuerungen, um auch solche Befehle ausführen zu können. Der Inhalt des D-Registers 311 kann entweder an die B-Tore 317 oder an den Addierer 302 übertragen werden.



   Das A-Register 312 ist ein 13-Bitregister mit 13 Flipflops. Das A-Register 312 wird dazu verwendet, die gegenwärtige Adresse des Vier-Wort-Akkumulators in dem Speicher 10 zu speichern. Die tatsächliche Adresse, die in dem A-Register 312 enthalten ist, ist die Adresse des Akkumulatorwortes mit der höchsten Stelligkeit. Die Information wird aus dem E-Register 303 in das A-Register 312 dann übertragen, wenn ein Signal an den Eingangstoren lanliegt, die die Ausgänge des Addierers mit den entsprechenden Eingängen der Flipflops des A Registers verbinden. Die Information im A-Register 312 wird entweder an die B-Tore 317 oder an das E Register 303 übertragen. Die Flipflops des A-Registers 312 können über ein Signal in den Null-Zustand zurückgeschaltet werden, so dass das A-Register 312 gelöscht ist.



   Das Akkumulatorlängenregister 314 mit den beiden Flipflops PL2 und PL1 speichert die effektive Länge des Akkumulators, die 1, 2, 3 oder 4 Wortlängen betragen kann. Der Inhalt des Akkumulatorlängenregisters 314 bildet zusammen mit dem Inhalt des A-Registers 312 eine vollständige 15-Bitadresse, die die Adresse eines Wortes des effektiven Akkumulators ist. Die Flipflops PL2 und   PL1    sind in der Lage, den Inhalt von entweder dem 1. oder dem 2. der Flipflops des I-Registers 313 durch Parallelübertragung aufzunehmen, oder auch den Inhalt der beiden ersten Flipflops des E-Registers 303 oder der beiden ersten Flipflops des D-Registers 311.



  Diese Übertragungen finden statt, wenn ein passendes   Übertragungssignal    an die Eingangstore des Akkumulatorlängenregisters 314 angelegt wird.



   Das Akkumulatorzählregister 315 mit den Flipflops AC2 und AC1 ergänzt die Adresse im A-Register 312, so dass die Adresse von einem der vier Worte des Akkumulators gebildet wird. Das Akkumulatorzählregister 315 bestimmt nämlich, welches der vier möglichen Worte in dem Akkumulator adressiert werden soll.



  Befindet sich beispielsweise das Register 315 in dem binären   1-0-Zustand,    so wird das dritte Akkumulator wort adressiert. Der Zählerstand im Akkumulatorzählregister 315 wird bei der Durchführung bestimmter Befehle durch den Zentralrechner erhöht oder erniedrigt, um bestimmte Worte des Akkumulators adressieren zu können.



   Die B-Tore 317 übertragen Adressen aus dem Programmverarbeiter und der   Eingabe-Ausgabesteuer    einheit zu einem B-Register (nicht gezeigt) des Speichers 10. Die B-Tore 317 empfangen Eingangssignale aus dem D-Register 311, aus dem A-Register 312, aus dem Akkumulatorlängenregister 314, dem Akkumulatorzählregister 315, dem M-Register 301, dem Q-Register 306 und von der Eingabe-Ausgabesteuereinheit 13. Während Datenunterbrechungen und Programmunterbrechungen werden den B-Toren 317 Adresseninformationen von der Eingabe-Ausgabesteuereinheit 13 zugeführt. An die B-Tore 37 werden Öffnungssignale angelegt, um die Tore zur Übertragung der richtigen Adresse an das B Register im Speicher betriebsbereit zu machen.



   Das   M-Register    301 und das E-Register 303 sind 24-Bitregister und können aus Flipflops aufgebaut sein.



  Die anderen Register können ebenfalls ähnlich aufgebaut sein. Der Addierer 302 stellt die Schaltlogik für binäre und dezimalarithmetische Operationen bereit, die für die Durchführung eines Befehles notwendig ist, und dient ausserdem als Mittelpunkt für die meisten Daten übertragungen innerhalb der Anlage. Es ist günstig, den Addierer 302 aus zwei vollständigen Addierwerken zusammenzusetzen. Eine statische Speicherung findet im Addierer 302 nicht statt. Das Anliefern von Informationen aus den verschiedenen Registern der Anlage an den Addierer 302 geschieht über Tastsignale, die in der Anlage verfügbar sind. Die Ausgangssignale des Addierers 302 können an das M-Register 301, das P-Register 310, das D-Register 311 und das E-Register 303 übertragen werden.

  Die ersten beiden Flipflops des E Registers 303 können den Inhalt der entsprechenden Flipflops des Akkumulatorlängenregisters 314 durch Parallelübertragung aufnehmen. Die anderen Flipflops des E-Registers 303 können durch Parallelübertragung den Inhalt der entsprechenden Flipflops des anderen Registers 312 aufnehmen, oder auch Informationen, die aus einer Quelle stammen. Weiterhin kann der Inhalt des E-Registers 303 an das A-Register 312 und das Akkumulatorlängenregister 314 sowie an den Addierer 302 übertragen werden.



   Der Akkumulator des zentralen Rechners besteht aus vier nebeneinanderliegenden Plätzen im Speicher 10.



  Die Zuordnung der Akkumulatorplätze erfolgt über das Programm. Der Akkumulator kann in eine andere Gruppe von vier nebeneinanderliegenden Speicherplätzen hinein verlegt werden. Diese Verlegung des Akkumulators, d. h., die Verwendung von vier anderen nebeneinanderliegenden Speicherplätzen, beeinflusst den Inhalt der in Frage kommenden Speicherplätze nicht.

 

  Die vier Worte des Akkumulators können direkt adressiert werden. Sie können aber auch während der Durchführung von verschiedenen Befehlen implizit adressiert sein.



   Zusätzlich zu dem Verlegen des Akkumulators innerhalb des Speichers kann die effektive Länge des Akkumulators so eingestellt werden, dass sie gleich einer einfachen, einer zweifachen, einer dreifachen oder einer vierfachen Wortlänge ist. Unabhängig von der effektiven Länge des Akkumulators entspricht die Länge des vollständigen Akkumulators immer vier nebeneinanderliegenden Speicherplätzen, ist also immer vier Worte lang. Stellt man die effektive Länge des Akkumulators ein, so bestimmt man die Länge desjenigen Speichergebietes, das bei der Ausführung   bestimmter    Operationen, bei denen der Akkumulator beteiligt ist, beeinflusst wird.



  Es sind Befehle vorgesehen, die die effektive Länge des   Akkumulators allein oder in Verbindung mit anderen Operationen einstellen.



   Die vier Worte des vollständigen Akkumulators, die als Worte D, C, B, A bezeichnet sind, sind schematisch in der Fig. 3 dargestellt. Das Wort D ist das Akkumulatorwort mit dem höchsten Stellenwert, während das Wort A das Akkumulatorwort mit dem niedrigsten Stellenwert ist. Die Worte C und B sind in   tZbereinstim-    mung mit ihrer Stellung innerhalb des Akkumulators absteigenden Stellenwerten zugeordnet. Die Adresse des vollständigen Akkumulators ist die Adresse seines Wortes mit der höchsten Wertigkeit, das ist das Wort D, das am Platz d steht. Die Adresse des Akkumulatorwortes mit dem höchsten Stellenwert wird so gewählt, dass sie ohne Rest durch vier teilbar ist, d. h. 0- modulo-4. Das wird durch die Zuordnung der entsprechenden Stellen im Speicher 10 zum Akkumulator erreicht.

  Die Teiladresse wird dann in dem 13-Bit-A-Register 312 gespeichert, da bei dieser Adressenwahl angenommen werden kann, dass die letzten beiden Bits mit dem niedrigsten Stellenwert 0 sind. Der Ort d des Wortes D und die Adresse des ganzen Akkumulators kann daher willkürlich wie folgt geschrieben werden: xxx xxx xxx xxx x00.



  Dabei stellen die x die Bits der Adresse in dem A Register 312 dar. Der Ort c des nächsten Wortes, nämlich des Wortes C ist dann durch die folgende Adresse gekennzeichnet: xxx xxx xxx xxx x01, während die Adressen der Orte b und a der Worte B und A des ganzen Akkumulators   xxx xxx xxx xxx x1    und xxx xxx xxx xxx x11 lauten, wie es in der Fig. 3   adarge-    stellt ist.



   Die Arbeitslänge oder effektive Länge des Akkumulators wird durch das Programm eingestellt. Unabhängig von der Arbeitslänge ist das Akkumulatorwort mit dem niedrigsten Stellenwert immer das Wort A und die tatsächliche Länge des gesamten Akkumulators beträgt immer vier Worte. Die Arbeitslänge des Akkumulators ist in dem Akkumulatorlängenregister 314 mit den beiden Flipflops PL2 und   PL1    gespeichert. Wie in der Fig. 3 durch AA angegeben ist, besteht in dem Falle, in dem die effektive Akkumulatorlänge eine Wortlänge beträgt, der effektive Akkumulator aus dem Wort A, und in den Flipflops PL2 und PL1 ist der Zustand 11 gespeichert. Entspricht die effektive Akkumulatorlänge zwei Wortlängen (Fig. 3: BB; Flipflops PL2 und PL1 des Registers 314: 10) so enthält der effektive Akkumulator die beiden Worte A und B.

  Beträgt   idie    Akkumulatorlänge drei Wortlängen   (Fig.    3: CC, Flipflops PL2 und PL1 des Registers 314: 01), so enthält der effektive Akkumulator die Worte A, B und C. Entspricht die Akkumulatorlänge dagegen einer vierfachen Wortlänge (Fig. 3:   DD;    Flipflops PL2 und PL1 des Registers 314: 00), so enthält der Akkumulator die Worte A, B, C und D. Wie man der Fig. 3 entnehmen kann geben die kombinierten Inhalte des A-Registers 312 und des Akkumulatorlängenregisters 314 den Wert des Wortes des effektiven Akkumulators an, das den höchsten Stellenwert aufweist.



   Sowohl die effektive Länge des Akkumulators als auch seine Anordnung innerhalb des Speichers 10 werden durch einen Befehl festgelegt, der willkürlich wie folgt bezeichnet werden kann: ein Befehl, lege den Akkumulator-Ort und -Länge fest. Ein weiterer Befehl kann lauten: Speichere den Akkumulatorort und die Akkumulatorlänge. Durch diesen Befehl werden Signale eingespeichert, die irgendeinen bestimmten Ort im Speicher 10 bedeuten und sowohl die augenblickliche Ar   beitslänge    des Akkumulators als auch den augenblicklichen Akkumulatorort bedeuten.



   Von den folgenden Befehlen legt jeder die Arbeitslänge des Akkumulators auf diejenige Länge fest, die im Operationskode folgender Befehle angegeben ist:
Befehl, einfache Wortlänge
Befehl, doppelte Wortlänge
Befehl, dreifache Wortlänge
Befehl, vierfache Wortlänge
Diese Befehle können dafür verwendet werden, die effektive Länge des Akkumulators auf dem Wert zu ändern, der in dem Operationskode angegeben ist, sofern die bereits eingestellte Länge des Akkumulators kürzer als diejenige Länge ist, die im Operationskode festgelegt ist. In solchen Befehlen legt der Operationskode die neu erforderliche Feldlänge im Speicher fest, während die bereits festgelegte Akkumulatorlänge die Länge des dann erforderlichen Felds bestimmt.

  Wenn die Länge, die im Operationskode festgelegt ist, grösser als die bereits festgelegte effektive Arbeitslänge ist, wird die Arbeitslänge des Akkumulators auf den Wert geänwird.



   Wenn die Feldlänge, die durch den Operationskode festgelegt ist, gleich oder kleiner als die augenblickliche Arbeitslänge des Akkumulators ist, findet das Hinzufügen oder das Wegnehmen des gekennzeichneten Speicherfeldes statt, ohne dass die Arbeitslänge des Akkumulators geändert wird.   überträgt    werden durch alle Akkumulatorworte hindurchgeführt. Jeder Übertrag, der aus der bestehenden Akkumulatorlänge herausführt, schaltet einen   Übertragsflipflop    in den 1-Zustand um.



  Wenn die Feldlänge, die vom Operationkode gefordert wird, grösser als die effektive Akkumulatorlänge ist, wird die Akkumulatorlänge so erweitert, bis sie mit derjenigen Länge übereinstimmt, die im Operationskode niedergelegt ist. Die Akkumulatorworte, die dem effektiven Akkumulator hinzugefügt werden, werden zu Null gemacht, bevor diese Addition oder Subtraktion stattfindet. Jeder arithemtische Übertrag, der aus dem nun neu eingerichteten effektiven Akkumulator heraustritt, schaltet den   Übertragsflipflop    in den 1-Zustand um.



   Der nächstfolgende Befehl braucht die Arbeitslänge des Akkumulators nicht zu ändern. Der Operationskode kann beispielsweise die Länge des Speicherfeldes kennzeichnen, während die bereits eingestellte Akkumulatorlänge die Länge des effektiven Akkumulators bestimmen kann. Werden solche Befehle bei einer Akkumulatorlänge ausgeführt, die gleich oder kleiner als die Feldlänge ist, die durch den Operationskode bestimmt ist, findet die Addition zu dem Speicherfeld statt, wobei sich die   überträgt    über das Speicherfeld hinaus breiten. Wenn ein Übertrag aus dem Speicherfeld der höchsten Stelligkeit austritt, so wird ein   Übertragungsflipflop    in den 1 Zustand umgeschaltet. 

  Wenn die effektive Länge des Akkumulators grösser als die Feldlänge ist, die im Operationskode festgelegt ist, findet die Addition nicht statt, und der Zustand mit austretendem Übertrag stellt sich automatisch ein. Diese Befehle, die oben erwähnt sind, enthalten eine Bezeichnung der effektiven Akkumulatorlänge. Bestimmte andere Befehle enthalten dagegen keine Bezeichnung der effektiven Akkumulatorlänge, sondern hängen vielmehr von der bereits eingestell  ten Akkumulatorlänge ab, um die Beschränkungen dieser Operationen aufzuheben.



   Um nun zu zeigen, wie das A-Register 312 und das Flipflop-Register 314 im einzelnen arbeiten, werden nun drei Befehle im einzelnen beschrieben.



   Lege Akkumulatorort und Akkumulatorlänge fest;
Speichere Akkumulatorort und Akkumulatorlänge;
Einfache Wortlänge.



   Von der allgemeinen Organisation und Datenverarbeitungsanlage ist nur soviel beschrieben worden, wie es zum Verständnis der Datenführung, der Ausführung von Befehlen und der Auswahl von Adressen notwendig ist.



   Durch den Befehl (Lege Akkumulatorort und Akkumulatorlänge fest) wird der Ort und die Arbeitslänge des Akkumulators in das Register 312 eingebracht. Als erstes muss eine Anfangsroutine befolgt werden, um die Adresse dieses Befehls in den Speicher 10 zu übertragen.



  Dies erfolgt durch ein Signal. Der Befehl wird dann unter der Steuerung eines unmittelbar anschliessenden Signals aus dem Speicher ausgelesen. Dieses Signal steuert ebenfalls die Anordnung der Adresse in dem M Register 301. Die Information in der Adresse im M Register 301 ist dann   dias    Befehlswort für diesen Befehl.



   Das nächste Signal ist ein   Übertragungssignal,    das das Befehlswort aus dem M-Register an den Addierer 302 bringt.



   Der Teil des Befehlswortes, der den Operationskode darstellt, und der noch im Register 301 verblieben ist, wird unter der Steuerung eines weiteren Signals in das   I-    Register 313 übertragen. Dieser Schritt steuert den anschliessend notwendigen Schritt, der darin besteht, die Adresse für einen neuen Akkumulatorort in das A Register 303 zu bringen. Das nächste Signal in der Anfangsroutine nimmt das Befehlswort aus dem Addierer 302 (wohin es aus dem M-Register 301 durch das obenerwähnte Übertragungssignal übertragen worden war) heraus und überträgt das Befehlswort an das E Register 303, um den Befehl   ausführen    zu können.



   Das Adressenfeld des Befehls, das in dem E-Register 303 enthalten ist, wird dann durch ein Signal an das A Register 312 und die Flipflops PL1, PL2 des Registers 314 übertragen. Dieses ist die eigentliche Speicheroperation für die Adresse aus dem   ERegister    in das A Register. Der letztere Schritt, der unter der Steuerung des zuletzt genannten Signals erfolgt, wird noch näher beschrieben.



   Die Bits 2-14 des Befehlsadressenfeldes in dem A Register definieren den Ort des Akkumulatorwortes. Die Bits 0 und 1 des Befehlsadressenfeldes werden an die Flipflops PL1 und PL2 des Akkumulatorlängenregisters übertragen, um die effektive Akkumulatorlänge festzulegen. Die Bits 0-14 des Befehlsadressenfeldes können also so gedeutet werden, als ob sie das Wort mit dem höchsten Stellenwert des effektiven Akkumulators festlegen. Wenn der Ort und die effektive Länge des Akkumulators geändert werden, bleibt der Inhalt sowohl des alten Ortes als auch des neuen Ortes davon unberührt. Während einer Zeitperiode des Zeitgeberzyklus, tritt ein Signal auf, das das A-Register löscht, und zwar dadurch, dass die Flipflops in dem A-Register in den Null-Zustand zurückgeschaltet werden. Das geschieht unter der Steuerung der Zeitgebersteuereinheit 319.

  Während weiterer Zeitperioden tritt ein Signal auf, das die Bits 2-14 eines Befehlswortes aus dem E Register an das A-Register 312 überträgt, um den neuen Akkumulatorort zu definieren. Dieses Signal überträgt ferner die Bits 0 und 1 des Befehlswortes in dem E Register an die Flipflops PL1 und PL2 des Akkumulatorlängenregisters, so dass die Arbeitslänge des Akkumulators festgelegt ist. Die Adresse des Akkumulators im Speicher 10 ist nun im A-Register 312 enthalten, und eine Darstellung der Arbeitslänge im Register 314.



  Damit ist der Befehl (lege Akkumulatorort und Akkumulatorlänge fest) ausgeführt.



   Durch den weiteren Befehl, der das Einspeichern des Akkumulatorortes und der Akkumulatorlänge bedeutet, wird der gerade anliegende Akkumulatorort und die gerade anliegende effektive Akkumulatorlänge in den Bitplätzen 0-14 eines Wortes an einem vorgegebenen Speicherplatz eingespeichert. Der Inhalt an den Bitplätzen 15-23 dieses Wortes wird nicht geändert. Die Adresse des Akkumulatorwortes mit dem höchsten Stellenwert ist an den Bitplätzen 2-14 des Wortes gespeichert, während die Bits, die die Arbeitslänge des   Akkumuiators    festlegen, an den Bitplätzen 0 und 1 dieses Wortes stehen. Die Subroutine zur Ausführung des Befehls wird vom Programmverarbeiter durchgeführt.

  Während einer Zeitperiode der Subroutine tritt ein Signal auf, das die Adresse eines bestimmten Speicherortes, an dem Daten gefunden werden können, aus dem D Register 311 durch die B-Tore 317 zum Speicherregister hin überträgt. Nun wird im Speicher 10 eine Leseoperation ausgelöst, in der das Wort an diesem bestimmten Speicherplatz aus dem Speicher 10 in das M-Register 301 übertragen wird. Dann tritt zu diesem Zeitpunkt ein Signal auf, dass die binäre Darstellung des Akkumulatorortes aus dem A-Register 312 an die Bitplätze   2-14    des E-Registers 303 überträgt, und ausserdem die binäre Darstellung der effektiven Akkumulstorlänge aus den Flipflops PL1 und PL2 des Akkumulatorlängenregisters 314 in die Bitplätze 0 und 1 des E-Registers 303 hinein.



  Akkumulatorort und Akkumulatorlänge in dem E Register 303 werden dann den Eingängen des Addierers zugeführt. Auf diese Weise wurde ein Wort mit einer Adresse, wie sie durch den Zustand des D-Registers 311 angegeben war, aus dem Speicher entnommen und die Adresse des Akkumulators in dem Speicher angeordnet.



   Ein Synchronisierungssignal, das von dem Speicher 10 abgegeben wird, führt die Subroutine fort. Im Speicher   10    wird eine Schreiboperation ausgelöst, in der auch die Binärdarstellung des Akkumulatorortes und der Akkumulatorlänge in dem vorgegebenen Speichergebiet eingespeichert wird. Jetzt treten Zeitgebersignale auf, die die binäre Darstellung von Akkumulatorort und Akkumulatorlänge durch den Addierer hindurch in die Bitplätze 0-14 des M-Registers 301 übertragen, und zwar als Vorbereitung zur Einspeicherung dieser Darstellungen im Speicher 10 während der Schreibeoperation. Bei dieser Übertragung wird der bisherige Inhalt der Bitplätze   0-14    des M-Registers 301 gelöscht. 

  Die Übertragung des Wortes in dem M-Register 301 mit der Akkumulatorlänge und dem Akkumulatorort, die in dem Adressenfeld gespeichert ist, ist damit vollständig, und die Subroutine ist beendet. Nun kann die Adresse des nächsten Befehls in dem P-Register 310 an die Eingänge des Addierers angelegt werden. Flipflops, die  in der Anlage vorhanden, jedoch nicht gezeigt sind, steuern diese Subroutine. Sie werden in den Nullzustand zurückgeschaltet, um die Durchführung des nächsten Befehles vorzubereiten.



   Der nächste Befehl sorgt dafür, dass die effektive Länge des Akkumulators auf eine Wortlänge eingestellt wird, und dass der Inhalt des Akkumulators einer Wortlänge durch den Inhalt derjenigen Speicherstelle ersetzt wird, die durch die Endadresse im Befehlswort angegeben ist. Der Inhalt an dieser Speicherstelle wird nicht geändert.



   Während einer Zeitperiode tritt ein Signal auf, das für diese Subroutine programmiert ist und dafür sorgt, dass der Inhalt der beiden Flipflops mit dem niedrigsten Stellenwert im   1-Register    313 an das Akkumulatorlängenregister 314, also an die Flipflops PL2 und PL1 übertragen wird. Die beiden Bits in dem Operationskode im I-Register 313 mit dem niedrigsten Stellenwert stellen die effektive Länge des Akkumulators dar, wie sie durch das Befehlswort angegeben ist. Durch die oben angegebene Übertragung wird die effektive Akkumulatorlänge in das Akkumulatorlängenregister eingeschrieben. Daraufhin werden wie vorher die Suboperationen der Subroutine durchgeführt, um den entsprechenden Befehl auszuführen.

  Während einer Suboperation wird das Operandenwort, was in dem Akkumulator übertragen werden soll, aus derjenigen Speicherstelle ausgelesen, deren Adresse durch den Zustand des D-Registers 311 angegeben ist. Dieses Operandenwort wird in dem M Register 301 gespeichert. Während der anschliessenden Suboperation wird das Operandenwort in den Ort des   Akkumulatorvortes    im Speicher 10 übertragen.



   Die genaue Reihenfolge, in der die Suboperationen ablaufen müssen, um den Befehl für eine Wortlänge ausführen zu können, ist die folgende: Ein Signal, das eine binäre 1 sein kann, macht die B-Tore   betriebsbe      reit,    so dass die   Operandenadresse    aus dem D-Register in das B-Register (nicht gezeigt) übertragen wird, das dem Speicher 10 zugeordnet ist. Anschliessend tritt ein Zeitgebersignal auf. Daraufhin wird ein Leseflipflop in den 1-Zustand umgeschaltet, um die Leseoperation im Speicher 10 auszulösen. Das Operandenwort wird aus dem Speicher 10 in das M-Register 301 übertragen.



  Wenn nun das Zeitgeber-Signal auftritt, erscheint ein Schreibebefehlssignal, das eine Schreibeoperation inner halb des Speichers auslöst, um das Operandenwort an seinem alten Platz einzuschreiben.



   Ein Signal tritt auf, um die Akkumulatoradresse aus dem A-Register 312 und dem Akkumulatorzählregister 314 an das B-Register (nicht gezeigt) des Speichers 10 zu übertragen. Das Zeitgeber-Signal ruft das Schreibebefehl-Signal hervor, das eine Leseoperation im Speicher auslöst und den adressierten Akkumulatorort löscht. Die Löschung des Operanden aus dem M-Register 301 ist jedoch durch entsprechende Sperrsignale verhindert.



   Während einer nachfolgenden Zeitperiode tritt ein weiteres Zeitgeber-Signal auf, um den Operanden an dem adressierten   Akkumulatorort    im Speicher 10 einzuspeichern. Während der nachfolgenden Zeitperiode wird dann die nächste Befehlsadresse aus dem P-Register 310 an den Addierer 302 übertragen. Daraufhin wird der Zeitgebergenerator für die Programmfolge angehalten und die Steuereinheit für die Subroutine, wie beispielsweise ein Wählregister, wird in den Nullzustand zurückgeschaltet. Dadurch ist die Ausführung des nächsten Befehles vorbereitet, und der Zeitgebergenerator im Programmverarbeiter kann erneut zu laufen beginnen, wenn ein Signal auf dem Speicher einläuft.



   Der nächste Befehl (doppelte Wortlänge) sorgt dafür, dass die effektive Akkumulatorlänge auf das doppelte einer Wortlänge festgelegt wird, und dass der Inhalt des effektiven Akkumulators zweifacher Wortlänge durch ein Speicherfeld aus zwei Worten ersetzt wird, das aus zwei ganz bestimmten nebeneinanderliegenden Speicherorten besteht. Der Inhalt dieser beiden bestimmten Speicherplätze wird nicht geändert. Die Durchführung dieses Befehls stimmt mit der Durchführung des Befehls (einfache Wortlänge), bis auf die folgenden Ausnahmen überein. Während einer Zeitperiode sollte das erste Operandenwort an den Ort des Operandenwortes A übertragen werden; da jedoch die letzte Akkumulatoroperation nicht aufgetreten ist, kann deshalb auch die Adresse des nächsten Befehls nicht aus dem P-Register 310 an den Addierer 302 übertragen werden.

  Die Adresse im D-Register 311 wird vielmehr um  1  vermindert und das zweite Operandenwort in dem Speicherfeld zu adressieren, das an den Ort des Akkumulatorwortes B im Speicher übertragen werden soll. Zu diesem Zeitpunkt wird der Zählerstand im Akkumulator-Zählregister um 1 erhöht, um das Akkumulatorwort B zu adressieren.



   Nun kehrt der Programmverarbeiter zu den Suboperationen zurück, um das zweite Operandenwort aus dem Speicherfeld von zwei Wortlängen herauszuziehen. Hierzu wird die bereits beschriebene Routine der Zeitperiode erneut wiederholt, bis auf die Ausnahme, dass das zweite Operandenwort in dem Speicherfeld an dem Ort des Akkumulatorwortes B im Speicher 10 eingespeichert wird. Da nun die letzte Akkumulatoroperation ausgeführt wird, die durch den Befehl notwendig ist, tritt ein Signal auf. Die Adresse des nächsten Befehls kann dann aus dem P-Register 310 an den Addierer 302 übertragen werden. Diese Folgen können mit Hilfe von Zeitgebersignalen durchgeführt werden.

  Das Feststellen, ob der Befehl beendet ist, und das Feststellen, ob ein Akkumulator von einfacher, zweifacher, dreifacher oder vierfacher Wortlänge eingerichtet werden soll, kann mit Hilfe von Flipflops durchgeführt werden, die die Steuereinheit für die Subroutine, wie beispielsweise Register, nur dann in den Nullzustand zurückkehren lassen, wenn an den massgebenden Stellen des Wortes überall Nullen festgestellt worden sind, wodurch angezeigt ist, dass das Wort entweder ein einzelnes Wort ist, oder das die vorhergehenden Vielfach-Wortfelder bereits verarbeitet worden sind.



   Der folgende Befehl sorgt dafür, dass der Inhalt eines spezifizierten Speicherortes durch den Inhalt eines Akkumulators einfacher Länge ersetzt wird, und zwar unabhängig von der Arbeitslänge des Akkumulators. Die Arbeitslänge und der Inhalt des Akkumulators wird nicht geändert. Nachdem die Anfangsroutine abgelaufen ist, kann die   Subronünesteuereinheft    Suboperationen oder   Subroutinen    anordnen, die zur Durchführung des Befehls notwendig sind. Während einer dieser Suboperationen wird das Akkumulatorwort, das an diesem spezifizierten Speicherort übertragen werden soll, aus dem Speicher 10 ausgelesen und in das M-Register 301 eingespeichert. Während der darauffolgenden Suboperation wird das Akkumulatorwort an den spezifizierten Ort im Speicher 10 übertragen. 

  Diese Folge wird ebenfalls von Zeitsignalen gesteuert, was sehr ähnlich wie bei der Durchführung des beschriebenen Befehls  Einfache Wortlänge  abläuft.  



   Ein weiterer Befehl sorgt dafür, dass der Inhalt zweier spezifizierter, nebeneinanderliegender Speicherplätze durch die Akkumulatorworte A und B ersetzt wird, und zwar unabhängig von der Arbeitslänge des Akkumulators. Inhalt und Länge des Akkumulators werden dabei nicht geändert.



   Die Ausführung dieses Befehls ist mit der Ausführung des Befehls  Ersetze Inhalt des Speicherortes durch Akkumulatorinhalt einfacher Länge  bis auf die Ausnahmen identisch, dass während der nachfolgenden Suboperation das Akkumulatorwort A an den spezifizierten Speicherplatz übertragen wird, wobei jetzt aber ein Flipflop (nicht gezeigt), der die letzte Operation abfühlt, nicht in den 1-Zustand umgeschaltet wird, da die letzte Akkumulatoroperation nicht aufgetragen ist.



  Daher wird die Adresse des nächsten Befehls nicht auf dem P-Register an den Addierer 302 übertragen. Die Adresse in dem D-Register 311 wird vielmehr um 1 vermindert, um den zweiten Speicherplatz zu adressieren, dessen Inhalt durch das Akkumulatorwort B ersetzt werden soll.



   Durch die Erfindung ist es somit möglich, einen Akkumulator in einem Speicher einer Datenverarbeitungsanlage ausserordentlich flexibel anzuordnen. Die Steuerung der Adressierung und der Informationsübertragung wird von der   Datenverarbeitungsanliage    selbst durchgeführt; verschiedene Zeitgebersignale sind üblicherweise verfügbar und die richtige Programmfolge und die richtige Reihenfolge der Elemente in der Rechenanlage dürften dem Durchschnittsfachmann bekannt sein.



   Die Erfindung beinhaltet daher die Kombination eines Registers (A-312), das in der Lage ist, die Speicheradresse zu speichern, die den Ort des Akkumu   iators    innerhalb des Speichers 10 spezifiziert, mit einer Vorrichtung, die mit dem Register (A-312) verbunden ist, und die die Speicheradresse in diesem Register ändern kann. Diese Vorrichtung kann beispielsweise die Operationssteuereinheit 318 und das I-Register 313 sein, die von dem Zeittakt der Anlage gesteuert sind, d. h., durch die Zeitgebersteuerung 319, zusammen mit dem Speicher oder dem M-Register 301, dem Addierer 302, dem D-Register 311 und dem E-Register 303.



  Wird nun die geänderte Teiladresse aus dem Akkumulatoradressenregister A-312 ausgelesen, wird dadurch eine entsprechende   Anderung    im Ort des Akkumulators in dem Speicher 10 bewirkt.



   Die Orte für die einzelnen Akkumulatorworte in einem Akkumulator mehrfacher Wortlänge liegen innerhalb des Speichers nebeneinander. Die Kennzeichnung dieser Orte wird am besten so durchgeführt, dass man in dem Register A-312 die Speicheradresse für das Akkumulatorwort mit dem höchsten Stellenwert einspeichert, wie es in der Fig. 3 dargestellt ist. Die Programmierung wird dann am   zweckmässigsten    und günstigsten, wenn der Speicherort für den Akkumulator eine Adresse hat, die ohne Rest durch vier teilbar ist. Das Register, wie   beispielsweise    das A-Register 312 wird mit einem Abschnitt versehen, - man kann hierfür auch ein kleines zusätzliches Register 314 dazu verwenden - der bis vier zählen kann, um die effektive Akkumulatorlänge von einer Wortlänge bis auf eine vierfache Wortlänge festzulegen.

  Die Adresse des Ortes für das Akkumulatorwort mit dem höchsten Stellenwert ist durch die Kombination des A-Registers 312 mit einem Hilfsregister, hier mit dem Akkumulatorlängenregister 314, gekennzeichnet. Mit diesem   Hilfsregister    314 kann ein Flipflop verbunden sein, der nachweist, wenn die Adresse für das Akkumulatorwort mit dem höchsten Stellenwert eingespeichert worden ist, und der dann solange den Zutritt weiterer Adressen erlaubt, bis alle vier nebeneinanderliegenden Speichergebiete adressiert sind, oder bis angezeigt ist, dass weniger als vier Speicherstellen benötigt werden.

 

   Das P-Register 310 kann in Verbindung mit der Operationssteuereinheit dazu verwendet werden, neue Adresseninformationen in das Akkumulatoradressenregister (A-Register 312) einzulesen, so dass die Speicherstellen, die nachfolgend als Akkumulator verwendet werden sollen, bereits bestimmt werden können, während die Datenverarbeitungsanlage unabhängig davon Operationen mit denjenigen Daten durchführen kann, die in den vorher adressierten Speicherstellen eingeschrieben sind. 

Claims (1)

  1. PATENTANSPRUCH
    Datenverarbeitungsanlage mit einem adressierbare Speicherplätze enthaltenden Speicher (10) und einer Zeitgebersteuereinheit (319), welche den Zeittakt des zentralen Rechners steuert, wobei ein Akkumulator mindestens einen adressierbaren Speicherplatz belegt, gekennzeichnet durch ein Register (A-312) zum Speichern der Teiladresse mindestens eines durch den Akkumulator belegten Speicherplatzes; eine Operationssteuereinheit (318) und Schaltkreise (I-313, M-301, 302; E-303) zur Modifikation der im genannten Register (A-312) gespeicherten Teiladresse zwecks Änderung des Akkumulatorplatzes im Speicher (10) für eine folgende Datenspeicherung.
    UNTERANSPRÜCHE 1. Datenverarbeitungsanlage nach Patentanspruch, dadurch gekennzeichnet, dass der Akkumulator benachbarte Plätze im Speicher (10) belegt.
    2. Datenverarbeitungsanlage nach Patentanspruch, dadurch gekennzeichnet, dass der Akkumulator maximal vier Wortspeicherplätze belegt, dass ein als zähler ausgebildetes Akkumulatorlängenregister (314) mit einem zählbereich von vier, entsprechend der Anzahl maximal belegbarer Wortspeicherplätze im Akkumulator, vorgesehen ist, dass die Teiladresse im Register (A312) ohne Rest durch vier teilbar ist, und dass die Inhalte des Registers (A-312) und des Akkumulatorlängsregisters (314) die Adresse eines durch den Akkumulator belegten Platzes im Speicher (10) gemeinsam bestimmen.
    3. Datenverarbeitungsanlage nach Unteranspruch 2, dadurch gekennzeichnet, dass die Inhalte des Registers (A-312) und des Akkumuiatorlängenregisters (314) die Adresse des Wortes mit dem höchsten Stellenwert des Akkumulators bilden.
    4. Datenverarbeitungsanlage nach Unteranspruch 2, dadurch gekennzeichnet, dass die Schaltkreise (M-301, 302; E-303) den Inhalt des Akkumulatorl ängenregisters (314) ändern, um einen b stimlillen Speicherplatz innerhalb des Akkumulators zu adressieren.
    5. Datenverarbeitungsanlage nach Unteranspruch 4, dadurch gekennzeichnet, dass der eine als Addierer (302) ausgebildete Schaltkreis und ein zweites Register (P-310) die Übertragung des letzten Zeichens eines Wortes an die genannte adressierte Speicherstelle im Speicher (10) feststellen und a) eine Zahl in ein Unterprogramm eingetragen, welche dem Zählerstand des als Zähler ausgebildeten Akkumul atorlängenregisters (314) entspricht, und b) die Ausführung des nächstfolgenden Befehls nur dann möglich machen, wenn der Zählerstand des Akkumulatorlängenregisters (314) Null ist, wodurch nur eine der im Akkumulatorlängenregister festgelegten Information entsprechende Anzahl von Wortoperationen ausgelöst werden, so dass das Eingeben von nicht-sit,nifikan- ten Nullen im Akkumulator vermieden wird.
    6. Datenverarbeitungsanlage nach Patentanspruch, gekennzeichnet durch: a) einen zwei Register (D-311; P-310) und einen der genannten Schaltkreise (M-3 01) enthaltenden Speicherkreis für die aufeinanderfolgenden Befehlsworte, b) einen die Operationssteuereinheit (318) und einen als Register ausgebildeten weiteren Schaltkreis (1-313) enthaltenden Steuerkreis, der auf bestimmte Operationscodes im soeben genannten Register (Im313) anspricht, so dass während der diesen Operationscodes entsprechenden Operationen der Inhalt derjenigen Speicherplätze verarbeitet wird, deren Adresse im ersten Register (A-312) enthalten ist, c) eine Vorrichtung, die aus einem Register (P310) und aus zwei als Register (M-301;
    E-303) und einem als Addierer (302) ausgebildeten Schaltkreisen besteht, zum Andern der Teiladresse im ersten Register (A-312), wodurch derjenige Speicherplatz geändert wird, dessen Inhalt während der Operationen der Anlage verarbeitet wird.
CH487966A 1965-04-06 1966-04-04 Datenverarbeitungsanlage mit einem Speicher mit adressiebaren Speicherplätzen CH497749A (de)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US446067A US3368204A (en) 1965-04-06 1965-04-06 Address development apparatus for multi-address instructions
US44819565A 1965-04-14 1965-04-14
US448194A US3366932A (en) 1965-04-14 1965-04-14 Address development apparatus for a data processing system
US448196A US3368205A (en) 1965-04-14 1965-04-14 Control apparatus in a data processing system
US448197A US3368206A (en) 1965-04-14 1965-04-14 Information shift apparatus in a data processing system
US44854065A 1965-04-15 1965-04-15
US448537A US3413609A (en) 1965-04-15 1965-04-15 Indirect addressing apparatus for a data processing system
US448541A US3370275A (en) 1965-04-15 1965-04-15 Apparatus for selective processing of information characters in a data processing system

Publications (1)

Publication Number Publication Date
CH497749A true CH497749A (de) 1970-10-15

Family

ID=27575440

Family Applications (4)

Application Number Title Priority Date Filing Date
CH487766A CH468673A (de) 1965-04-06 1966-04-04 Datenverarbeitungsanlage mit einer Zentraleinheit
CH487866A CH480690A (de) 1965-04-06 1966-04-04 Datenverarbeitungsanlage
CH487966A CH497749A (de) 1965-04-06 1966-04-04 Datenverarbeitungsanlage mit einem Speicher mit adressiebaren Speicherplätzen
CH497266A CH504728A (de) 1965-04-06 1966-04-05 Datenverarbeitungsanlage mit einer Vorrichtung zum Entwickeln von Operandenadressen

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CH487766A CH468673A (de) 1965-04-06 1966-04-04 Datenverarbeitungsanlage mit einer Zentraleinheit
CH487866A CH480690A (de) 1965-04-06 1966-04-04 Datenverarbeitungsanlage

Family Applications After (1)

Application Number Title Priority Date Filing Date
CH497266A CH504728A (de) 1965-04-06 1966-04-05 Datenverarbeitungsanlage mit einer Vorrichtung zum Entwickeln von Operandenadressen

Country Status (4)

Country Link
US (2) US3487368A (de)
CH (4) CH468673A (de)
GB (4) GB1148081A (de)
NL (4) NL6604660A (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3701972A (en) * 1969-12-16 1972-10-31 Computer Retrieval Systems Inc Data processing system
US3798615A (en) * 1972-10-02 1974-03-19 Rca Corp Computer system with program-controlled program counters

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2943788A (en) * 1953-04-16 1960-07-05 Ncr Co Data analyzing apparatus
US2902675A (en) * 1953-07-28 1959-09-01 Underwood Corp Storage apparatus for typing control
BE534876A (de) * 1954-01-15
US3012723A (en) * 1955-01-12 1961-12-12 Hogan Lab Inc Electronic computer system
NL209391A (de) * 1955-08-01
US3161763A (en) * 1959-01-26 1964-12-15 Burroughs Corp Electronic digital computer with word field selection
NL255604A (de) * 1959-09-08
US3166668A (en) * 1960-03-24 1965-01-19 Ibm Computer program system
US3160857A (en) * 1960-03-24 1964-12-08 Ibm Data transfer control and check apparatus
US3071739A (en) * 1961-04-21 1963-01-01 Bell Telephone Labor Inc Digital phase equalizer, automatically operative, in accordance with time-inverted impulse response of the transmission circuit

Also Published As

Publication number Publication date
NL6604661A (de) 1966-10-07
NL6604658A (de) 1966-10-07
US3487368A (en) 1969-12-30
GB1139181A (en) 1969-01-08
CH480690A (de) 1969-10-31
GB1148081A (en) 1969-04-10
CH468673A (de) 1969-02-15
US3483519A (en) 1969-12-09
GB1137670A (en) 1968-12-27
CH504728A (de) 1971-03-15
NL6604659A (de) 1966-10-07
NL6604660A (de) 1966-10-07
GB1139675A (en) 1969-01-08

Similar Documents

Publication Publication Date Title
DE2716369C2 (de)
DE2364408C3 (de) Schaltungsanordnung zur Adressierung der Speicherplätze eines aus mehreren Chips bestehenden Speichers
DE1499193C3 (de) Speicher-Adressierschaltung
DE1499722C2 (de) Einrichtung zur Modifizierung von Informationswörtern
DE2515696A1 (de) Anordnung zum selektiven loeschen von teilen beziehungsweise zum ersatz von daten in einem cache-speicher
DE2302074A1 (de) Speicherschutzanordnung in einem multiprozessorsystem
DE2457312B2 (de) Anordnung zur Durchführung arithmetischer oder logischer Operationen an ausgewählten Gruppen aufeinanderfolgender Bits in einer Datenverarbeitungsanordnung
DE2331589A1 (de) Datenverarbeitungsanordnung
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE1269393B (de) Mikroprogramm-Steuerwerk
DE1179397B (de) Datenverarbeitende Maschine mit sich zeitlich ueberlappender Datenverarbeitung
DE1115488B (de) Datenverarbeitungssystem
DE1524898C3 (de) Datenspeicher mit direktem mehrdimensionalen Zugriff zur gleichzeitigen Entnahme mehrerer Wörter
DE2117581B2 (de) Einrichtung zur Adressenprüfung
DE1499191B2 (de) Elektronische einrichtung fuer eine datenverarbeitungsanlage
DE2245284A1 (de) Datenverarbeitungsanlage
DE2403039C2 (de) Einrichtung zur Befehlsausführung in einer adressenerweiterten elektronischen Datenverarbeitungsanlage
DE1285218B (de) Datenverarbeitungsanlage
DE2440390C3 (de)
CH497749A (de) Datenverarbeitungsanlage mit einem Speicher mit adressiebaren Speicherplätzen
DE3341339C2 (de) Befehlsfolgegenerator
DE2440390A1 (de) Elektronischer rechner
DE1549434A1 (de) Datenverarbeitungsanlage
DE1806464A1 (de) Adressengenerator fuer einen Digitalrechner
DE1549446A1 (de) Digitalrechner

Legal Events

Date Code Title Description
PL Patent ceased