DE2717374C2 - Data processing system - Google Patents

Data processing system

Info

Publication number
DE2717374C2
DE2717374C2 DE19772717374 DE2717374A DE2717374C2 DE 2717374 C2 DE2717374 C2 DE 2717374C2 DE 19772717374 DE19772717374 DE 19772717374 DE 2717374 A DE2717374 A DE 2717374A DE 2717374 C2 DE2717374 C2 DE 2717374C2
Authority
DE
Germany
Prior art keywords
data
pointer
memory
register
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE19772717374
Other languages
German (de)
Other versions
DE2717374A1 (en
Inventor
David D. Northridge Calif. Lynch jun.
Lee W. Los Angeles Calif. Tower
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.)
Raytheon Co
Original Assignee
Hughes Aircraft Co
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 Hughes Aircraft Co filed Critical Hughes Aircraft Co
Priority to DE19772717374 priority Critical patent/DE2717374C2/en
Publication of DE2717374A1 publication Critical patent/DE2717374A1/en
Application granted granted Critical
Publication of DE2717374C2 publication Critical patent/DE2717374C2/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel

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)
  • Complex Calculations (AREA)

Description

a) eine mit den Datenspeichern und einer der Verarbeitungseinrichtungen verbundene erste Zeigereinrichtung (33,35,37), die als ersten Zeiger (33) eine Anzahl erster Zeigerregister (1,2,3... N) aufweist, von denen wiederum jedes eine direkte Adresse speichert, derart, daß die erste Zeigereinrichtung von einem jeweiligen Befehlswort indirekte Adressen zum Adressieren eines der ersten Zeigerregister empfängt, um von einem der Datenspeicher Daten für die Verarbeitungseinrichtung zu holen, unda) a first pointer device (33,35,37) which is connected to the data memories and one of the processing devices and has a number of first pointer registers (1, 2, 3 ... N) as the first pointer (33), each of which in turn has one direct address stores such that the first pointer device receives indirect addresses from a respective instruction word for addressing one of the first pointer registers in order to fetch data for the processing device from one of the data memories, and

b) eine mit den Datenspeichern und einer der Verarbeitungseinrichtungen verbundene zweite Zeigereinrichtung (34, 36, 38), die als zweiten Zeiger (34) eire Anzahl zweiter Zeigerregister (1,2,... N) aufweist, von denen wiederum jedes eine direkte Adresse speichert, derart, daß die zweite Zeigereinrichtung von einem jeweiligen Befehlswort indirekte Adressen zum Adressieren eines der zweiten Zeigerregister empfängt, um von den Verarbeitungseinrichtungen gelieferte Daten in einem der Datenspeicher abzulegen. b) a second pointer device (34, 36, 38) connected to the data memories and one of the processing devices and having a number of second pointer registers (1, 2, ... N) as the second pointer (34), each of which in turn has a direct one Address stores such that the second pointer device receives indirect addresses from a respective instruction word for addressing one of the second pointer registers in order to store data supplied by the processing devices in one of the data memories.

2. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß die erste Zeigereinrichtung (33, 35,37) eine mit den ersten Zeigerregistern (1, 2, ... N) gekoppelte Einrichtung (35) zur automatischen inkrementalen Änderung der direkten Adressen bei jedem Auslesen der Adressen aus dem ersten Zeiger (33) und Speichern der geänderten Adressen im ersten Zeiger (33) als nächste Adresse für die Datenspeicher und die zweite Zeigereinrichtung (34, 36, 38) eine mit den zweiten Zeigerregistern (1, 2,... N)gekoppelte Einrichtung (36) zur automatischen inkrementalen Änderung der direkten Adressen bei jedem Auslesen der Adresse aus dem zweiten Zeiger (34) und Speichern der geänderten Adressen im zweiten Zeiger (34) als nächste Adresse für die Datenspeicher aufweist.2. Data processing system according to claim 1, characterized in that the first pointer device (33, 35,37) has a device (35) coupled to the first pointer registers (1, 2, ... N ) for automatic incremental change of the direct addresses for each Reading out the addresses from the first pointer (33) and storing the changed addresses in the first pointer (33) as the next address for the data memory and the second pointer device (34, 36, 38) one with the second pointer registers (1, 2, .. . N) coupled device (36) for automatic incremental change of the direct addresses each time the address is read out from the second pointer (34) and storage of the changed addresses in the second pointer (34) as the next address for the data memory.

3. Datenverarbeitungsanlage nach Anspruch 13. Data processing system according to claim 1

oder 2, dadurch gekennzeichnet, daß die Befehlswör- a) ter einen Code für eine automatische Inkrementierung enthalten und die ersten und zweiten Zeigereinrichtungen jeweils automatische Inkrementierungseinrichtungen (35, 36) umfassen, die auf den Code für automatische Inkrementierung ansprechen und das Inkrementieren der verschiedenen Zeigerregister in den ersten und zweiten Zeigern steuern.or 2, characterized in that the command words a) ter a code for an automatic incrementation and the first and second pointing devices each include automatic incrementing devices (35,36) responsive to the auto-increment code and the incrementing of the various pointer registers control in the first and second pointers.

4. Datenverarbeitungsanlage nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß dem ersten und dem zweiten Zeiger (33,34) jeweils ein Inkrementregister (37,38) zum Speichern eines Wertes zum Inkrementieren der direkten Adressen in den entsprechenden Zeigerregistern zugeordnet ist4. Data processing system according to claim 2 or 3, characterized in that the first and the second pointer (33,34) each have an increment register (37,38) for storing a value for incrementing the direct addresses in the corresponding ones Is assigned to pointer registers

Die Erfindung betrifft eine Datenverarbeitungsanlage mit einer Befehlsquelle, in der jedes Befehlswort eine Adresse darstellende Daten enthalten kann, mit einer Anzahl Datenspeicher zum Speichern von Eingabe- und Ausgabedaten, mit Adressenerzeugungseinrichtungen, die abhängig von den von der Befehlsquelle gelieferten Befehlswörtern direkte Adressen zum Adressieren der Datenspeicher erzeugen, und mit Verarbeitungseinrichtungen, die mit der Befehlsquelle und den Datenspeichern derart verbunden sind, daß sie im Pipeiinebetrieb die von der Befehlsquelle gelieferten Befehle ausführen und die in den Datenspeichern enthaltenen Daten verarbeiten. The invention relates to a data processing system with a command source in which each command word is one May contain data representing the address, with a number of data memories for storing input and output Output data, with address generation devices that depend on the data supplied by the command source Command words generate direct addresses for addressing the data memory, and with processing devices, which are connected to the instruction source and the data memories in such a way that they are in pipeline operation execute the commands provided by the command source and process the data contained in the data stores.

Eine solche Datenverarbeitungsanlage ist aus der US-PS 38 75 391 bekannt. Bei diesem bekannten System enthalten die Befehlswörter entweder tine direkte Adresse oder aber ein Adressen-Inkrement, das zu einer in einem Register enthaltenen Adresse, die aufgrund des Inhaltes eines vorhergehenden Befehlswortes gebildet worden ist, addiert wird. Daher muß jedes Befehlswort neben den eine Adresse darstellenden Daten auch noch einen Befehlsteil über die Art der Verarbeitung dieser Daten enthalten. Trotzdem sind die Adressiermöglichkeiten stark beschränkt, weil stets die zuletzt erzeugte Adresse gespeichert ist und deren Wert beim jeweils folgenden Befehlswort berücksichtigt werden muß. Die Verteilung von Daten auf mehrere unterschiedliche Speicher ist daher bei der bekannten Datenverarbei-Such a data processing system is known from US Pat. No. 3,875,391. In this known system the command words contain either a direct address or an address increment that leads to a Address contained in a register, which is formed on the basis of the content of a preceding command word has been added. Therefore, each command word must also contain the data representing an address contain a command section on the type of processing of this data. Nevertheless, the addressing options are severely limited because the last address generated is always saved and its value at the following command word must be taken into account. The distribution of data over several different Memory is therefore in the known data processing

AQ tungsanlage nur dadurch möglich, daß die Befehlswörter für jeden dieser Speicher eigene, Adressen darstellende Daten enthalten. AQ processing system only possible in that the command words for each of these memories contain their own data representing addresses.

Es ist ferner aus dem Buch von Andrew S. Tanenbaum: »Structured Computer Organization«, Prentice-Hall Inc., 1976, Seiten 82 bis 84, bekannt, bei Datenverarbeitungsanlagen eine indirekte Adressierung vorzunehmen, bei welcher die direkte Adresse eines in einem Speicher enthaltenen Operanden in einem Register enthalten ist, dessen Adresse wiederum Bestandteil des Befehlswortes ist. Die indirekte Adressierung erfordert daher grundsätzlich zusätzlichen Speicherplatz zur Aufnahme der direkten Adressen und zusätzliche Operationen zum Auslesen der direkten Adresse aus einem Speicher. It is also from the book by Andrew S. Tanenbaum: Structured Computer Organization, Prentice-Hall Inc., 1976, pages 82 to 84, known to carry out indirect addressing in data processing systems, which contain the direct address of an operand contained in a memory in a register whose address is in turn part of the command word. Indirect addressing therefore requires basically additional storage space to accommodate the direct addresses and additional operations for reading out the direct address from a memory.

Der Erfindung liegt die Aufgabe zugrunde, eine Datenverarbeitungsanlage der eingangs genannten Art zu schaffen, bei der der Hardwareaufwand insgesamt und insbesondere bei der Befehlsquelle gering gehalten werden kann.The invention is based on the object of a data processing system of the type mentioned to create, in which the hardware expenditure overall and can be kept low, especially in the case of the command source.

Diese Aufgabe wird nach der Erfindung dadurch gelöst, daß die Adressenerzeugungseinrichtungen aufweisen: This object is achieved according to the invention in that the address generating devices have:

eine mit den Datenspeichern und einer der Verarbeitungseinrichtungen verbundene erste Zeigereinrichtung, die als ersten Zeiger eine Anzahl erster Zeigerregister aufweist, von denen wiederum jedes eine direkte Adresse speichert, derart, daß die ersteone with the data memories and one of the processing devices connected first pointer device, which has as a first pointer a number of first pointer registers, each of which in turn stores a direct address such that the first

Zeigereinrichtung von einem jeweiligen Befehlswort indirekte Adressen zum Adressieren eines der ersten Zeigerregister empfängt, um von einem der Datenspeicher Daten für die Verarbeitungseinrichtung zu holen, undPointer device of a respective command word indirect addresses for addressing one of the first pointer register receives data for the processing device from one of the data memories to pick up, and

b) eine mit den Datenspeichern und einer der Verarbeitungseinrichtungen verbundene zweite Zeigereinrichtung, die als zweiten Zeiger eine Anzahl zweiter Zeigerregister aufweist, von denen wiederum jedes eine direkte Adresse speichert, derart, daß die zwei« Zeigereinrichtung von einem jeweiligen Befehlswort indirekte Adressen zum Adressieren eines der zweiten Zeigerregister empfängt, um von den Verarbeitungseinrichtungen gelieferte Daten in einem der Datenspeicher abzulegen.b) one with the data memories and one of the processing devices connected second pointer device, which as a second pointer has a number of second pointer registers, of which in turn each stores a direct address such that the two "pointing devices" from a respective one Command word receives indirect addresses for addressing one of the second pointer registers in order to receive from to store the data supplied to the processing devices in one of the data memories.

1010

1515th

Während bei der eingangs behandelten Datenverarbeitungsanlage eine im Befehlswort enthaltene direkte Adresse zu der vorher vorliegenden Adresse addiert wird, wenn von einer Inkrementierung der Adresse Gebrauch gemacht wird, sind bei der erfindungsgemäßen Datenverarbeitungsanlage dagegen die Inkrement-Werte in den Zeigerregistern gespeichert, in die sie über den Datenbus eingeschrieben worden sind. Als Ergebnis können bei dem erfindungsgemäßen System kürzere Befehls- oder Steuerwörter verwendet werden, woraus sich eine Einsparung an Hardware- und Speicherbedarf ergibtWhile in the data processing system dealt with at the outset, a direct one contained in the command word Address is added to the previous address when incrementing the address is made, in the data processing system according to the invention, on the other hand, are the increment values stored in the pointer registers into which they have been written via the data bus. As a result shorter command or control words can be used in the system according to the invention, from which there is a saving in hardware and memory requirements

Bei einer bevorzugten Ausführungsform einer solchen Datenverarbeitungsanlage weist die erste Zeigereinrichtung eine mit den ersten Zeigerregistern gekoppelte Einrichtung zur automatischen inkrementaien Änderung der direkten Adressen bei jedem Auslesen der Adressen aus dem ersten Zeiger und Speichern der geänderten Adressen im ersten Zeiger als nächste Adresse für die Datenspeicher und entsprechend auch die zweite Zeigereinrichtung eine mit den zweiten Zeigerregistern gekoppelte Einrichtung zur automatischen inkrementaien Änderung der direkten Adressen bei jedem Auslesen der Adresse aus dem zweiten Zeiger und Speichern der geänderten Adressen im zweiten Zeiger als nächster Adresse für die Datenspeicher auf.In a preferred embodiment of such a data processing system, the first pointer device a device coupled to the first pointer registers for automatic incremental change of the direct addresses each time the addresses are read from the first pointer and the changed ones are saved Addresses in the first pointer as the next address for the data memory and accordingly also the second Pointer device a device coupled to the second pointer registers for automatic incrementation Change of direct addresses each time the address is read from the second pointer and saved of the changed addresses in the second pointer as the next address for the data memory.

Bei dieser Ausführungsform der Erfindung können die Zeigerregister auch auf einen vorgegebenen Wert, beispielsweise auf Null, eingestellt und dann jedesmal. wenn ein den Zugriff zum Speicher verlangender Befehl abgearbeitet wird, um eine vorgegebene Zahl erhöht werden. Dieser Vorgang kann wiederholt werden, bis eine programmierbare Zahl erreicht ist. Auf diese Weise wird die Programmierung sich wiederholender Unterprogramme zur Verarbeitung eines Blockes oder einer Gruppe von Daten erleichtert. Sobald die programmierbare Zahl von den Zeigern erreicht worden ist, erlaubt ein Verzweigungsbefehl am Ende des iterativen Unterprogrammes, daß die Befehle eines anderen Unterprogrammes den Befehlsweg durchlaufen. Zu Beginn des nächsten iterativen Unterpiogrammes werden die Zähler erneut unter der Steuerung geeigneter Befehle zurückgestellt, welche den Befehlsweg durchlauten.In this embodiment of the invention, the pointer registers can also be set to a predetermined value, for example set to zero, and then every time. when a command requesting access to memory is processed to be increased by a predetermined number. This process can be repeated until a programmable number has been reached. This way the programming becomes repetitive subroutines for processing a block or group of data. Once the programmable Number has been reached by the pointers, allows a branch instruction at the end of the iterative subroutine, that the commands of another subroutine run through the command path. At the beginning of the next iterative sub-piogram, the counters are reset again under the control of suitable commands, which run through the command path.

Die ErfinHijng wird im folgenden anhand des in der Zeichnung dargestellten Ausführungsbeispiels näher beschrieben und erläutert. Dk. der Beschreibung und der Zeichnung zu entnehmenden Merkmale können bei anderen Ausführungsformen der Erfindung einzeln für sich oder zu mehreren in beliebiger Kombination An-Wendung finden. Es zeigtThe invention is described and explained in more detail below with reference to the exemplary embodiment shown in the drawing. Dk. Features that can be taken from the description and the drawing can be used in other embodiments of the invention individually or collectively in any combination. It shows

F i g. 1 das Blockschaltbild eii:c:r Datenverarbeitungsanlase mit einem Befehlskanal und einem Datenkanal.F i g. 1 the block diagram eii: c: r data processing system with a command channel and a data channel.

Fig.2 das Blockschaltbild des Programmspeichers, der dem Befehlskanal der Datenverarbeitungsanlage nach F i g. 1 Befehle zuführt,2 shows the block diagram of the program memory, which corresponds to the command channel of the data processing system according to FIG. 1 feeds commands,

F i g. 3 das Blockschaltbild eines Rechenwerkes, das den DatenkanaJ der Datenverarbeitungsanlage nach F i g. 1 verkörpert, in Verbindung mit Einrichtungen zur automatisch indizierten, indirekten Adressierung,F i g. 3 the block diagram of an arithmetic and logic unit that follows the data channels of the data processing system F i g. 1 embodied, in connection with devices for automatically indexed, indirect addressing,

F i g. 4 das Blockschaltbild einer Einrichtung zur automatisch indizierten, indirekten Adressierung der Anordnung nach F i g. 3,F i g. 4 shows the block diagram of a device for automatically indexed, indirect addressing of the arrangement according to FIG. 3,

F i g. 5 ein weiteres Blockschaltbild des Rechenwerkes nach Fig.3 und des Adressierungs-Systems nach F i g. 4, undF i g. 5 shows a further block diagram of the arithmetic unit according to FIG. 3 and of the addressing system according to FIG F i g. 4, and

F i g. 6 eine Darstellung von Formaten der Befehlswörter, wie sie in der Datenverarbeitungsanlage nach den Fi g. 1 bis 5 verwendet werden.F i g. 6 shows the formats of the command words as they are used in the data processing system according to FIG the Fi g. 1 to 5 can be used.

Die in F i g. 1 dargestellte synchrone Datenverarbeitungsanlage umfaßt einen Hauptspeicher 10 einer Zentraleinheit 11 und eine Vielzahl von Hilfsspeichern, wie beispielsweise Eingangsspeicher 12i und 12i, Ausgangsspeicher 123 und 124 und einen Zwischenspeicher 12s. Die Übertragung von Datenblöcken oder -gruppen zwischen dem Hauptspeicher und den Hilfsspeichern wird von der Zentraleinheit in der üblichen Weise gesteuert. Die Zentraleinheit steuert auch die Übertragung von Befehlsblöcken vom Hauptspeicher auf einen Programmspeicher 13.The in F i g. 1 illustrated synchronous data processing system comprises a main memory 10 of a central unit 11 and a variety of auxiliary memories such as input memories 12i and 12i, output memories 123 and 124 and a buffer 12s. The transfer of data blocks or groups between the main memory and the auxiliary memory is controlled by the central unit in the usual way. The central unit also controls the transmission of Command blocks from the main memory to a program memory 13.

Bei dem Hauptspeicher kann es sich um einen Kernspeicher mit wahlfreiem Zugriff oder um einen Magnetplattenspeicher handeln, also um einen Speicher, wie er zur Aufnahme großer Datenmengen üblich ist. Die Hilfs- und Programmspeicher sind vorzugsweise zerstörungsfrei lesbare Festkörperspeicher, die, nachdem sie mit Daten und Befehlen gefüllt worden sind, gelesen werden können, ohne daß verlorengeht, was vorher gespeichert und gelesen worden ist, und ohne daß eine Taktperiode benötigt wird, um wieder einzuspeichern, was gerade gelesen worden ist. Es erfordert dann jeder Zugriff zum Speicher ein Minimum an Zeit und weniger als die Dauer einer Taktperiode des Systems von beispielsweise 50 ns. Durch Begrenzen jedes Zugriffzyklus zum Speicher auf nur eine Taktperiode wird ein einfacher Betrieb des Speichers mit hoher Geschwindigkeit erzielt, der eine schnelle und zuverlässige Datenverarbeitung bei der Taktfrequenz des Systems gewährleistet, die einen typischen Wert von 20 MHz haben kann.The main memory can be core memory with random access or magnetic disk storage act, i.e. a memory that is common for storing large amounts of data. the Auxiliary and program memories are preferably non-destructively readable solid-state memories which, after they filled with data and commands can be read without losing what was previously stored and has been read, and without a clock period being required to store again, what has just been read. Each access to the memory then requires a minimum of time and less than the duration of a clock period of the system of, for example, 50 ns. By limiting each access cycle to store in only one clock period, a simple operation of the memory at high speed becomes achieved, which ensures fast and reliable data processing at the clock frequency of the system, which can have a typical value of 20 MHz.

Die Übertragung von Befehlsblöcken auf den Programmspeicher erfolgt, während eine Betriebsartsteuerung 14 von der Zentraleinheit 11 auf »laden« gestellt ist. In ihrer einfachsten Form kann die Betriebsartsteuerung 14 ein synchrones SR-Flipflop sein, das einen Programmzeiger 15 auf Null stellt. Der Zustand dieses Programmzeigers wird schrittweise verändert, wenn Befehle aufeinanderfolgenden Plätzen des Programmspeichers zugeführt werden. Wenn die Übertragung eines Befehlsblockes abgeschlossen ist, wird die Betriebsartsteuerung auf »laufen« und der Programmzeiger 15 erneut auf Null oder einen anderen Ausgangswert gestellt. Wie anhand F i g. 2 noch näher erläutert wird, kann der Programmzeiger 15 so eingestellt werden, daß er jeden Befehlsplatz im Programmspeicher in Abhängigkeit von einem in ein Befehlsregister 1 Reg-l eingelesenen Befehl adressiert, um in dem gespeicheiten Programm einen Sprung oder eine Verzweigung zu bewirken. Daher können mit dieser Datenverarbeitungsanlage mit größtem Vorteil solche Programme abgearbeitet werden, die in hohem Maße iterative und strukturierte Operationen umfassen, wie sie beispielsweise für die VerarbeitungThe transfer of command blocks to the program memory takes place while an operating mode control 14 of the central unit 11 is set to "load". In its simplest form, the operating mode controller 14 can be a synchronous SR flip-flop which sets a program pointer 15 to zero. The state of this program pointer is changed step by step when commands are supplied to successive locations in the program memory. When the transfer of a command block has been completed, the operating mode control is set to "running" and the program pointer 15 is set again to zero or another initial value. As shown in FIG. 2 will be explained in more detail, the program pointer 15 can be set so that it addresses each instruction location in the program memory as a function of an instruction read into an instruction register 1 Reg-1 in order to cause a jump or a branch in the stored program. This data processing system can therefore be used with the greatest advantage to process such programs which include, to a large extent, iterative and structured operations, such as those used for processing, for example

27 Yl 27 yl

von Radar- oder Sonar-Signalen charakteristisch sind. Es versteh! sich jedoch, daß in gleicher Weise auch in speziellen Fällen kommerzielle oder wissenschaftliche Daten verarbeitet werden können.are characteristic of radar or sonar signals. Understand it! however, that in the same way also in special commercial or scientific cases Data can be processed.

Bei der dargestellten Datenverarbeitungsanlage sind mehrere Pfade oder Kanäle vorgesehen, und zwar einen oder mehr für die zu verarbeitenden Daten und einen für die die Datenverarbeitung steuernden Befehle. Der letztgenannte Kanal besteht aus dem Eingangs-Befehls-Register I Reg-\, das von einer Anzahl hintereinander geschalteter Register I Reg-2 bis 1 Reg-7 gefolgt wird, und aus einer Anzahl Decodierer / Dec-i bis / Dec-7, die jeweils mit einem der Befehlsregister verbunden sind. Wenn Befehle aus dem Programmspeicher ausgelesen werden, werden sie in Abhängigkeit vom Taktsignal des Systems derart schrittweise nacheinander durch diese sieben Register befördert, daß nach sieben Perioden des Taktsignals der zuerst gelesene Befehl aus dem letzten Register der Kette ausgegeben und danach während jeder Taktperiode ein weiterer Befehl den Kanal verläßt. In the data processing system shown, several paths or channels are provided, namely one or more for the data to be processed and one for the commands that control the data processing. The last-mentioned channel consists of the input command register I Reg- \, which is followed by a number of registers I Reg-2 to 1 Reg-7 connected in series , and a number of decoders / Dec-i to / Dec-7, each connected to one of the command registers. When commands are read from the program memory, they are progressively conveyed through these seven registers, depending on the clock signal of the system, in such a way that after seven periods of the clock signal the first command read is output from the last register in the chain and then a further command during each clock period leaves the canal.

Beim Fortschreiten durch den Befehlskanal wird jeder Befehl in jeder Stufe von dem zugeordneten Befehlsdecodierer 1 Dec-η decodiert, wenn η die Zah! bedeutet, die der Zahl des Befehlsregisters in der Kette entspricht. Das Ausgangssignal des Decodierers steuert die Verarbeitung der Daten mittels eines Rechenwerkes 17 in Phasen, von denen jeweils eine Phase jeder Stufe des Steuerkanales zugeordnet ist, so daß nach sieben aufeinanderfolgenden Perioden des Taktsignals oder Taktimpuli.en (CP) ein Befehl den Befehlskanal durchlaufen hat und alle von dem Befehl geforderten Operationen ausgeführt worden sind.As it progresses through the command channel, each command in each stage is decoded by the associated command decoder 1 Dec-η if η is the number! means which corresponds to the number of the command register in the chain. The output signal of the decoder controls the processing of the data by means of an arithmetic unit 17 in phases, one phase of which is assigned to each stage of the control channel, so that after seven successive periods of the clock signal or clock pulses (CP) a command has passed through the command channel and all operations required by the instruction have been performed.

Die von Kreisen umgebenen Ziffern in den durch gestrichelte Linien abgeteilten Abschnitten des Rechen-Werkes bezeichnen die Stufen oder Phasen in den das Rechenwerk durchziehenden Datenkanälen, welche den Stufen des Befehlskanales entsprechen. Ein Pfeil mit einer von einem Kreis umgebenen Ziffer, der zu einer Baueinheit führt, wie beispielsweise zum Programmspeicher 13. gibt demnach an, daß das dieser Einheit zugeführte Steuersignal von dem Decodierer derjenigen Stufe des Befehlskanales kommt, welche die gleiche Ziffer trägt. Gemäß diesem Prinzip ist bei diesem Beispie! der Ausgang des Decodierers / Dec-i mit der von einem Kreis umgebenen Ziffer 1 versehen und entspricht damit dem Steuereingang des Programmspeichers. The numbers surrounded by circles in the sections of the arithmetic unit divided by dashed lines designate the stages or phases in the data channels running through the arithmetic unit which correspond to the stages of the command channel. An arrow with a number surrounded by a circle, which leads to a structural unit, such as the program memory 13, accordingly indicates that the control signal supplied to this unit comes from the decoder of that level of the command channel which bears the same number. According to this principle, in this example! the output of the decoder / Dec-i is provided with the number 1 surrounded by a circle and thus corresponds to the control input of the program memory.

Eine von einem Kreis umgebene Ziffer neben einem Signalweg gibt die Phase des Befehlskanales an, während der die Signale übertragen werden. Beispielsweise wird zur Übertragung eines Wortes vom Hauptspeicher in den Programmspeicher der Befehl vom Programmspeicher in das Register I Reg-\ während einer Anfangsphase 0 eingelesen. Während der Phase 2 wird dieser Befehl ausgeführt, indem das Wort von dem bezeichneten Speicherplatz an den Ort gebracht wird, der ebenfalls von dem Befehl bezeichnet wird. Die Steuerung des Programmspeichers während der Phase 1 dient zur Ausführung von Verzweigungsbefehlen, wie es anhand F i g. 2 erläutert wird.A number surrounded by a circle next to a signal path indicates the phase of the command channel during which the signals are transmitted. For example, to transfer a word from the main memory to the program memory, the instruction is read from the program memory into the register I Reg- \ during an initial phase 0. During phase 2, this command is executed by moving the word from the designated memory location to the location also designated by the command. The control of the program memory during phase 1 is used to execute branch commands, as shown in FIG. 2 is explained.

Dieses Übereinkommen bezüglich der Verwendung von Kreisen umschlossener Ziffern wird auch in den übrigen F i g. 2 bis 5 befolgt Die Leitungen, denen diese umschlossenen Ziffern beigefügt sind, sind gewöhnlich parallele Sammelleitungen oder Schienen, die durch starke Linien dargestellt sind, damit sie an ein Bündel oder Kabel aus einzelnen Leitungen erinnern. Dagegen bezeichnen dünne Linien einzelne Leitungen, die Steuersignale führen. Die Übertragung aller Daten und Befehle erfolgt parallel und es wird für alle Funktionen außer einfachen Steuerfunktionen, eine Vielzahl von Leitungen benutzt, die vom Decodierer zu dem zu steuernden Gerät oder Abschnitt führen.This convention on the use of circled digits is also used in the other figures. 2 through 5 followed The lines with these enclosed digits attached are common parallel busbars or rails, represented by heavy lines, so that they are attached to a bundle or remember cables from individual lines. In contrast, thin lines indicate individual lines, the control signals to lead. The transmission of all data and commands takes place in parallel and it is used for all functions in addition to simple control functions, a multitude of lines are used from the decoder to the one to be controlled Guide device or section.

Bezugnehmend auf F i g. 3 kann die Funktion des Datenkanals wie folgt zusammengefaßt werden. Die Operanden werden in der Phase 2 geholt und gemäß dem im Register / Reg-2 enthaltenen Befehl zu Beginn der Phase 3 (Ende der Phase 2) in die Register A 3, MC3 und MP3 eingegeben. Der Inhalt des Registers A 3 kann am Ende der Phase 3 in das Register A 4 übertragen werden, wenn es von dem sich an im Register I Reg-3 enthaltenen Befehl gefordert wird. Ähnlich kann der Inhalt des Registers A 4 in das Regisier A 5 übertragen werden, wenn es von dem sich dann im Register I Reg-4 enthaltenen Befehl gefordert wird. Die Register AL 6 und AR 6 der Einheit ALU werden am Ende der Phase 5 geladen. Während der Phase 6 führt die ALU die Operation aus, die von dem Befehl gefordert wird, der dann in das Register / Reg-6 gelangt ist. Am Ende der Phase 6 kann das Ausgangssignal der Einheit ALU dann entweder in das Register AL 6 zurückgebracht, einem von mehreren Mehrzweckregistern GPRS oder einem von fünf Pufferregistern gespeichert werden, die Schnittstellen mit fünf HilfsSpeichern bilden. Am Ende der Phase 7 werden die Daten, die sich in einem der Pufferregister befinden, auf einen Speicher übertragen, wie es von dem Befehl verlangt wird, der sich in der letzten Stufe des Befehlskanals, also im Register I Reg-7 befindet. Die Daten, die einen der mehreren Datenkanäle durchlaufen, halten zwar nicht immer mit den zugeordneten Befehlen Schritt, sind jedoch in bezug auf jede Operation, die von dem Befehl gefordert wird, beispielsweise einer Multiplikation, im Gleichschritt.Referring to FIG. 3, the function of the data channel can be summarized as follows. The operands are fetched into the phase 2, and entered according to the instruction contained in the register / Reg-2 at the start of Phase 3 (the end of phase 2) in the register A 3, MC3 and MP3. The content of register A 3 can be transferred to register A 4 at the end of phase 3 if it is requested by the instruction contained in register I Reg-3. Similarly, the content of register A 4 can be transferred to register A 5 if it is required by the instruction then contained in register I Reg-4. The registers AL 6 and AR 6 of the ALU unit are loaded at the end of phase 5. During phase 6, the ALU performs the operation required by the instruction which then entered register / Reg-6 . At the end of phase 6, the output signal of the unit ALU can then either be returned to register AL 6 , stored in one of several general-purpose registers GPRS or in one of five buffer registers that interface with five auxiliary memories. At the end of phase 7, the data that are in one of the buffer registers are transferred to a memory as required by the instruction which is in the last stage of the instruction channel, i.e. in register I Reg-7 . While the data passing through one of the multiple data channels does not always keep pace with the associated instructions, it is in step with any operation required by the instruction, such as a multiplication.

F i g. 6 veranschaulicht das Format der Befehlswörter, das bei einer als Beispiel gewählten Ausführungsform der Erfindung benutzt wurde. Dieses Format ermöglicht die indirekte Adressierung für jeden Befehl, wie es nachstehend anhand der F i g. 3 bis 5 näher erläutert wird.F i g. Figure 6 illustrates the format of the instruction words used in an exemplary embodiment of the invention was used. This format allows indirect addressing for each instruction, as follows on the basis of FIG. 3 to 5 will be explained in more detail.

Das Format 1 für Mehradressen-Befehlswörter wird in erster Linie für die Addition und Subtraktion sowohl reeller als auch komplexer Zahlen benutzt. Die je vier Bit umfassenden Adressenfelder, die mit Holadresse 1, Holadresse 2 und Bringadresse bezeichnet sind, dienen zur Bezeichnung von Mehrzweckregistern, Spezialregistern oder Speichern, von denen Daten zu holen oder zu denen Daten zu bringen sind. Die vier Bit umfassenden Felder repräsentieren absolute Adressen im Fall von Mehrzweckregistern und Spezialregistern und indirekte Adressen im Fall aiier Speicherplätze. Anders ausgedrückt, gibt das Adressenfeld nicht einen Speicherplatz an, wenn es dazu benutzt wird einen Speicherplatz zu adressieren, wie beispielsweise den Platz eines Operanden, sondern bezeichnet statt dessen ein Zeigerregister, das vorher geladen worden ist, damit es die Adresse des gewünschten Speicherplatzes enthält Ein einzelnes Bit Nj, das einem drei Bit umfassenden Operationscode (OP Code) folgt, bewirkt, wenn es auf 1 gestellt ist, daß das von der Vier-Bit-Holadresse und der Vier-Bit-Bringadresse im Befehlswort bezeichnete Zeigerregister am Ende des Speicher-Zugriffszyklus um 1 erhöht wird. Auf diese Weise kann die indirekte Adressierung, die jedes Befehlswort bewirkt, zu einer automatischen Erhöhung veranlaßt werden, so daß bei der Verarbeitung von Daten, beispielsweise den in Gruppen auftretenden Radardaten, in hohem Maße iterative und strukturierte Ope-Format 1 for multi-address instruction words is primarily used for the addition and subtraction of both real and complex numbers. The four-bit address fields, which are designated with fetch address 1, fetch address 2 and bring address, are used to designate general-purpose registers, special registers or memories from which data are to be fetched or to which data are to be brought. The four-bit fields represent absolute addresses in the case of general purpose and special purpose registers and indirect addresses in the case of all storage locations. In other words, the address field does not indicate a memory location when it is used to address a memory location, such as the location of an operand, but instead designates a pointer register that has been previously loaded to contain the address of the desired memory location A single bit Nj, which follows a three-bit operation code (OP code), has the effect, if it is set to 1, that the pointer register designated by the four-bit fetch address and the four-bit bring address in the instruction word is at the end of the memory Access cycle is increased by 1. In this way, the indirect addressing, which causes each command word, can be caused to increase automatically, so that when processing data, for example the radar data occurring in groups, highly iterative and structured operations.

rationen ausgeführt werden, ohne daß ein nennenswerter Aufwand in Form von Befehlen erforderlich wäre, um die Verarbeitung des nächsten Wertes in einer Wertegruppe vorzubereiten. Die Erhöhung eines Zeigerregisters kann durch einfaches Addieren der Zahl 1 zu dessen Inhalt erfolgen, wenn alle Werte einer Datengruppe nacheinander verarbeitet werden sollen, oder einer anderen Zahl, beispielsweise 16. wenn nicht alle Werte, sondern bei dem angegebenen Beispiel nur jeder sechszehnte Wert verarbeitet werden soll.rations are carried out without requiring a significant effort in the form of commands, to prepare the processing of the next value in a value group. The increment of a pointer register can be done by simply adding the number 1 to its content if all values of a data group to be processed one after the other, or another number, e.g. 16. if not all Values, but in the given example only every sixteenth value should be processed.

Wenn die indirekte Adressierung nicht automatisch fortschreiten soll, wird das dem OP-Code folgende einzelne Bit auf Null gestellt und es wird dann eine einfache indirekte Adressierung ausgeführt. Eine direkte Adressierung ist nicht möglich, kann jedoch mit geringem Aufwand simuliert werden, indem die Zeigerregister einfach mit den Adressen geladen werden, die durch direkte Adressierung erfaßbar sein sollen. Eine direkte Adressierung wird jedoch bei in hohem Maße iterativen Befehlsoperationen, die für die Signalverarbeitung charakteristisch sind, nicht sehr oft benötigt, so daß die Möglichkeit zur indirekten Adressierung mit automatisch erhöhter Adresse den zusätzlichen Aufwand mehr als ausgleicht, der in den wenigen Fällen zu treiben ist, in denen eine direkte Adressierung gewünscht wird.If the indirect addressing is not to proceed automatically, the individual following the OP code is used Bit set to zero and simple indirect addressing is then carried out. Direct addressing is not possible, but can be simulated with little effort by using the pointer register can simply be loaded with the addresses that should be detectable by direct addressing. A direct one However, addressing becomes highly iterative instruction operations that are characteristic of signal processing are not required very often, so that the possibility of indirect addressing with automatic increased address more than compensates for the additional effort that has to be driven in the few cases in which direct addressing is desired.

Alle anderen Befehle, ausgenommen Verzweigungsbefehle, benutzen das Format 2, das zwei Vier-Bit-Adressen umfaßt, nämlich eine für die Adresse eines zu holenden Operanden (Holadresse) und eine für den Ort, an den das Ergebnis der befohlenen Operation gebracht werden soll (Bringadresse). Im Fall einer Multiplikation umfaßt der OP-Code, der dann auf sieben Bits ausgedehnt ist, ein drittes Feld. Der Operand, der dem einbezogenen dritten Feld zugeordnet ist, ist der Multiplikator, der, wie oben angegeben, vorher in das Register MP 3 eingegeben worden ist. Wie im Fall des Formates 1 kann das zur automatischen Inkrementierung dienende Bit gestellt sein, damit die an der Operation beteiligten Zeiger nach dem Speicher-Zugriffszyklus erhöht werden.All other instructions, with the exception of branch instructions, use format 2, which comprises two four-bit addresses, namely one for the address of an operand to be fetched (fetch address) and one for the location to which the result of the commanded operation is to be brought ( Delivery address). In the case of a multiplication, the OP code, which is then extended to seven bits, comprises a third field. The operand assigned to the third field involved is the multiplier which, as indicated above, has previously been entered in the register MP 3. As in the case of format 1, the bit used for automatic incrementing can be set so that the pointers involved in the operation are incremented after the memory access cycle.

Das Format 3, das für alle Verzweigungsbefehle benutzt wird, umfaßt zwei Wörter, die nacheinander aus dem Speicher ausgelesen werden müssen. Das erste der beiden sechzehn Bit umfassenden Wörter enthält den Verzweigungs-OP-Code sowie die Adressen benötigter Register. Das zweite Wort enthält die Verzweigungsadresse für den nächsten Befehl. Die beiden Vier-Bit-Felder, die zur Registeradressierung benutzt werden, geben die Register der Programmsteuereinheit an, welche mit den' Befehl benutzt werden.Format 3, which is used for all branch instructions, comprises two words that consist of one after the other must be read out of the memory. The first of the two sixteen-bit words contains the Branch OP code and the addresses of the required registers. The second word contains the branch address for the next instruction. The two four-bit fields, which are used for register addressing indicate the registers of the program control unit which can be used with the 'command.

In der Anordnung nach F i g. 1 wird ein unbedingter Verzweigungsbefehl BU im Register / Reg-2 decodiert, ■während sich die Verzweigungsadresse BA im Register / Reg-i befindet Der Decoder / Dec-2, der den Befehl BU decodiert, steuert einen Multiplexer 16, der aus einer Bank paralleler Verknüpfungsglieder besteht, um die Adresse BA dem Programmzeiger zuzuführen. Beim nächsten Taktimpuls wird die Verzweigungsadresse auf den Programmzeiger 15 übertragen, während die Register / Reg-2 und / Reg-i auf Null zurückgestellt werden. Diese Vorgänge erfolgen unter der Steuerung des Decodierers / Dec-2, der so das Eingeben eines NO-OP-Codes in diese Register bewirkt. Andernfalls würde das Register I Reg-2 beim nächsten Taktimpuls die Verzweigungsadresse enthalten, die decodiert würde, als ob es sich um einen Befehl handelte. Durch Rückstellen des Registers / Reg-i wird der Befehl überspielt, der sonst von dem Programmspeicher eingegeben worden wäre.In the arrangement according to FIG. 1, an unconditional branch instruction BU in the register / Reg-2 is decoded, ■ while the branch address BA in the register / Reg-i is The decoder / Dec-2, which decodes the BU command, controls a multiplexer 16, the parallel of a Bank Logic elements exist in order to supply the address BA to the program pointer. At the next clock pulse the branch address is transferred to the program pointer 15, while the registers / Reg-2 and / Reg-i are reset to zero. These operations are carried out under the control of the decoder / Dec-2, which thus causes a NO-OP code to be entered into these registers. Otherwise, on the next clock pulse, the register I Reg-2 would contain the branch address, which would be decoded as if it were an instruction. By resetting the register / Reg-i , the command is overwritten which would otherwise have been entered from the program memory.

Während der unmittelbar folgenden Taktperiode wird ein Befehl in das Register I Reg-i von dem Speicherplatz eingegeben, der nun von dem Programmzeiger angegeben wird. Auf diese Weise bewirkt der Befehl BU in dem in Ausführung begriffenen Programm eine unbedingte Verzweigung.During the immediately following clock period, an instruction is entered into register I Reg-i from the memory location now indicated by the program pointer. In this way, the instruction BU causes an unconditional branch in the program being executed.

Ein Beispiel für die körperliche Ausbildung des Programmspeichers 13 wird nun anhand F i g. 2 erläutert, um zu zeigen, wie auch eine bedingte Verzweigung durch Übertragen einer Verzweigungsadresse über den Multiplexer 16 in den Programmzeiger 15 ausgeführt werden kann. Beispielsweise ist in dem Programmspeicher 13 eine Befehlsschleife unter Verwendung eines X-Registers 21 gebildet, der als Zähler wirkt. Ein Verzweigungs- und Zählbefehl BCTX, der aus der Speichereinheit i3a in das Register / Reg-i gelesen wurde, wird dazu benutzt, den Inhalt des ^-Registers zu prüfen. Ist dieser Inhalt von Null verschieden, wird der Inhalt vermindert und es wird der Befehl dazu benutzt, erneut eine iterative Schleifenoperation auszuführen. Es sei darauf hingewiesen, daß infolge der automatisch erhöhten, indirekten Adressierung, welche in dem Rechenwerk 17 erfolgt, die nächste Schleifenoperation einen anderen Datenwert verarbeitet. Der Inhalt des X-Registers wird zunächst auf die Anzahl der Werte in einem zu verarbeitenden Datenblock oder einer zu verarbeitenden Datengruppe eingestellt, welche in der gleichen iterativen Schleife verarbeitet werden. Wenn das X-Register auf Null vermindert wurde, wird die Verzweigung des Befehls BCTX nicht benutzt und es erfolgt die Ausführung der Befehle außerhalb der Schleife.An example of the physical training of the program memory 13 will now be given with reference to FIG. 2 is explained in order to show how a conditional branch can also be carried out by transferring a branch address via the multiplexer 16 into the program pointer 15. For example, an instruction loop is formed in the program memory 13 using an X register 21 which acts as a counter. A branch and count instruction BCTX, which was read from the memory unit i3a into the register / Reg-i , is used to check the content of the ^ register. If this content is different from zero, the content is reduced and the instruction is used to execute an iterative loop operation again. It should be pointed out that as a result of the automatically increased, indirect addressing which takes place in the arithmetic unit 17, the next loop operation processes a different data value. The content of the X register is first set to the number of values in a data block to be processed or a data group to be processed which are processed in the same iterative loop. If the X register has been decremented to zero, the branch of the BCTX instruction is not used and the instructions are executed outside the loop.

Der Befehl wird im Register / Reg-i decodiert. Dieser Befehl enthält die Adresse X, in einem X-Speicher 21 des Programmspeichers 13. Beim nächsten Taktimpuls wird der Befehl BCTX auf das Register / Reg-2 übertragen, während die Verzweigungsadresse BA in das Register I Reg-i eingegeben und der Inhalt des Speicherplatzes X1 vom X-Speicher auf das X- Register über einen Multiplexer 22 übertragen wird. Der Decodierer / Dtc-i steuert den Multiplexer 22 für diesen Zweck.The command is decoded in the register / Reg-i. This command contains the address X in an X memory 21 of the program memory 13. With the next clock pulse the command BCTX is transferred to the register / Reg-2 , while the branch address BA is entered into the register I Reg-i and the content of the memory location X 1 is transferred from the X memory to the X register via a multiplexer 22. The decoder / Dtc-i controls the multiplexer 22 for this purpose.

Während der nächsten Phase 2 wird der Inhalt des X-Registers von einer Logik 23 geprüft, um festzustellen, ob sein Inhalt Null ist. Ist der Inhalt von Null verschieden, gestattet ein Signa! O, daß beim nächsten Taktimpuls die Verzweigungsadresse vom Register / Reg-i auf den Programmzeiger über den Multiplexer 16 übertragen und die Register I Reg-i und 1Reg-2 auf Null gestellt werden, wie es auch bei der Ausführung einer unbedingten Verzweigung der Fall ist. Gleichzeitig wird der Inhalt des X-Registers mittels eines Parallel-Subtrahierers 24 um 1 vermindert, der den Wert 1 vom Inhalt des X-Registers abzieht, und es wird das Ergebnis über einen Multiplexer 25 im X-Speicher abgelagert.During the next phase 2, the content of the X register is checked by a logic 23 to determine whether its content is zero. If the content is different from zero, a Signa! O that with the next clock pulse the branch address is transferred from register / Reg-i to the program pointer via multiplexer 16 and registers I Reg-i and 1Reg-2 are set to zero, as is the case when an unconditional branch is executed . At the same time, the content of the X register is reduced by 1 by means of a parallel subtracter 24, which subtracts the value 1 from the content of the X register, and the result is stored in the X memory via a multiplexer 25.

Andere Formen von Verzweigungsbefehlen können in ähnlicher Weise mittels des Programmspeichers verwirklicht werden. Verzweigungsbefehle bieten die Möglichkeit, eine Folge von Befehlen mehrfach unter Verwendung des X-Registers zu wiederholen, das die Anzahl feststellt, mit welcher die Befehlsfolge wiederholt ausgeführt wird. Mit einer automatisch erhöhten indirekten Adressierung werden durch die Befehlsfolge verschiedene Datenwerte verarbeitet. Das X-Register kann auch dazu benutzt werden, andere Arten von Befehlen zu verwirklichen. Weiterhin kann der Inhalt des X-Registers aufgrund eines Obertragungsbefehls im Befehlsregister / Reg-i auf den Programmzähler übertragen werden, beispielsweise zum Voreinstellen des Programmzeigers auf einen vorbestimmten Wert derOther forms of branch instructions can similarly be implemented using program memory. Branch instructions provide the ability to repeat a sequence of instructions multiple times using the X register, which determines the number of times the instruction sequence is repeatedly executed. With an automatically increased indirect addressing, various data values are processed by the command sequence. The X register can also be used to implement other types of instructions. Furthermore, the content of the X register can be transferred to the program counter on the basis of a transfer instruction in the instruction register / Reg-i , for example to preset the program pointer to a predetermined value

aufgrund eines vorhergehenden Ladebefehls vom X-Speicher auf das X- Register übertragen wurde. was transferred from the X memory to the X register due to a previous load command.

Das Prinzip der indirekten Adressierung von Befehlen mit automatischer Erhöhung wird nun anhand der F i g. 3 und 4 erläutert. Wie aus F i g. 3 ersichtlich, empfängt das Rechenwerk 17 zu verarbeitende Daten von Datenquellen 31, bei denen es sich um eines der Eingangsspeicher handeln kann, während das Ergebnis der Datenverarbeitung Datensenken 32 zugeführt wird, bei denen es sich um einen der Hilfsspeicher handeln kann. Die indirekten Adressen der Operandenquelle und der Plätze, an welche die Ergebnisse zu bringen sind, in einem gegebenen Befehl werden von den Decodierem IDec-i und I Dec-7 während der ersten bzw. siebenten Phase des Befehlskanals empfangen. Die indirekte Adresse der Quelle (Holadresse) wählt eine von mehreren Zeigerregistem des Zeigers 33, während die Adresse des Platzes, an den das Resultat zu bringen ist (Bringadresse), eines von mehreren Zeigerregistem des Zeigers 34 wählt. Jedesmal, wenn die Zeigerregister der Zeiger 33 und 34 derart mittels indirekter Adressen adressiert werden, werden die aus den gewählten Zeigerregistem ausgelesenen direkten Adressen, die zur Steuerung der Datenquellen und DatensenL., dienen, den den Zeigern 33 und 34 zugeordneten Inkrement-Logik-Einheiten 35 und 36 zugeführt. Auf diese Weise wird erreicht, daß bei erneuter Ausführung des gleichen Befehls für den nächsten Datenwert eines Blockes oder einer Gruppe die direkte Adresse, die in den Zeigerregistem der Zeiger 33 und 34 enthalten ist, andere Plätze der Datenquelle und der Datensenke bezeichnet. Im einfachsten Fall addieren die Inkrement-Logik-Einheiten 35 und 36 lediglich den Wert 1 zu den direkten Adressen, die in die entsprechenden Zeigerregister wieder eingegeben werden. In der Praxis wird jedoch dieses Prinzip so ausgeführt, daß eine programmierte Steuerung des Wertes möglich ist um den die direkten Adressen erhöht werden können. Zu diesem Zweck können statische Register 37 und 38 vorgesehen werden, welche den Erhöhungswert speichern. Die statischen Register werden natürlich unter programmierter Steuerung vorher geladen. Jede !nkrementlogik ist dann als Parallel-Addierer ausgeführt, der den Inhalt des statischen Registers zu der direkten Adresse addiert, bevor diese Adresse in den Zeiger wieder eingegeben wird, aus dem sie vorher ausgelesen wurde. Die gelesene Adresse wird in einem Adressenregister gespeichert, das dem adressierten Speicher zugeordnet ist.The principle of indirect addressing of commands with automatic increment will now be explained with reference to FIGS. 3 and 4 explained. As shown in FIG. 3, the arithmetic unit 17 receives data to be processed from data sources 31, which can be one of the input memories, while the result of the data processing is fed to data sinks 32, which can be one of the auxiliary memories. The indirect addresses of the operand source and the locations to which the results are to be brought in a given instruction are received by the decoders IDec-i and I Dec-7 during the first and seventh phases of the command channel, respectively. The indirect address of the source (fetch address) selects one of several pointer registers of the pointer 33, while the address of the location to which the result is to be brought (bring address) selects one of several pointer registers of the pointer 34. Whenever the pointer registers of the pointers 33 and 34 are addressed in this way by means of indirect addresses, the direct addresses read out from the selected pointer registers, which are used to control the data sources and data transmitters, become the incremental logic units assigned to the pointers 33 and 34 35 and 36 supplied. In this way it is achieved that when the same instruction is executed again for the next data value of a block or group, the direct address contained in the pointer registers of the pointers 33 and 34 designates other locations of the data source and the data sink. In the simplest case, the incremental logic units 35 and 36 merely add the value 1 to the direct addresses which are re-entered into the corresponding pointer registers. In practice, however, this principle is implemented in such a way that programmed control of the value by which the direct addresses can be increased is possible. For this purpose, static registers 37 and 38 can be provided which store the increment value. The static registers are of course pre-loaded under programmed control. Each incremental logic is then implemented as a parallel adder, which adds the content of the static register to the direct address before this address is re-entered into the pointer from which it was previously read. The read address is stored in an address register which is assigned to the addressed memory.

Daß die Zeiger 33 und 34 je aus einer Anzahl Zeigerregister bestehen, ist in F i g. 4 für den Quellenzeiger 33 schematisch dargestellt Die Holadresse G des Befehls wird decodiert und zur Wahl eines der Zeigerregister benutzt, das vorher mit der gewünschten direkten Adresse geladen worden ist Die Wahl ist schematisch durch mechanische Schalter S\ und S2 veranschaulicht In der Praxis erfolgt die Wahl jedoch mittels elektronischer Tore zur parallelen Ausgabe der direkten Adresse und Eingabe der erhöhten direkten Adresse. Wenn das vierte Bit des Befehles im Zustand Eins ist wird die automatische Inkrementierungseinheit 35 freigegeben, so daß beim Wiedereinschreiben der direkten Adresse in das Zeigerregister, aus dem sie ausgelesen wurde, der Inhalt des Inkrementregisters 37 addiert wird. Das Inkrementregister 37 wird von einem Befehl während der Phase 2 des Befehlskanales geladen und es wird das ausgewählte Zeigerregister auf einen Anfangswert während der Phasen 6 oder 2 eines geeigneten Befehles von Datenschienen aus geladen. Die Anfangs- oder Ein-That the pointers 33 and 34 each consist of a number of pointer registers is shown in FIG. The fetch address G of the instruction is decoded and used to select one of the pointer registers that has previously been loaded with the desired direct address. The selection is illustrated schematically by mechanical switches S 1 and S 2 Choice, however, by means of electronic gates for the parallel output of the direct address and input of the increased direct address. If the fourth bit of the instruction is in the state one, the automatic incrementing unit 35 is enabled, so that when the direct address is rewritten into the pointer register from which it was read, the content of the increment register 37 is added. Increment register 37 is loaded by an instruction during phase 2 of the instruction channel and the selected pointer register is loaded to an initial value during phases 6 or 2 of a suitable instruction from data rails. The initial or entry

richtungsbefehle sind einfache Übertragungsbefehle, die Daten von bezeichneten Speicherplätzen auf bezeichnete Register übertragen. So steuern beispielsweise Befehle zum Laden eines Zeigerregisters von einer Datenschiene während der Phase 6 Tore, die durch einen Schalter S3 veranschaulicht sind, um das Laden des Zeigers von der Datenschiene zu ermöglichen, Es ist zu bemerken, daß Übertragungsbefehle die Tore, die durch die Schalter Si und S3 veranschaulicht sind, während der Phase 6 öffnen. Dagegen werden die Tore, die der Schalter Si repräsentiert, zum Laden der bezeichneten Zeigerregister von der automatischen Inkrementierungseinheit 35 während der Aurübung eines Befehls betätigt, der zur Betätigung der d .<-h die Schalter S\ und S2 veranschaulichten Tore während der Phase 1 des Befehlskanales decodiert wird.Direction commands are simple transfer commands that transfer data from designated memory locations to designated registers. For example, instructions to load a pointer register from a data rail during phase 6 control gates illustrated by switch S3 to enable the pointer to be loaded from the data rail Si and S 3 are illustrated opening during phase 6. On the other hand, the gates represented by the switch Si are actuated for loading the designated pointer registers by the automatic incrementing unit 35 during the exercise of an instruction which, during phase 1 , is used to actuate the switches S 1 and S 2 illustrated for actuating the switches S 1 of the command channel is decoded.

Die Arbeitsweise des Rechenwerks 17 für eine als Beispiel gewählte Organisation zur automatisch erhöhten, indirekten Adressierung in Verbindung mit zwei Kanälen für die Befehle und Daten wird nun anhand der F i g. 3 und 5 erläutert Während ein Befehl in Abhängigkeit von Taktimpulsen mit einer Folgefrequenz von 20 MHz den Befehlskanal entlangwandert, werden die notwendigen Einrichtungen dazu veranlaßt, in jeder Stufe des Kanals die gewünschter: ! unkiknen auszuführen, wie es oben anhand F1 g. 1 erläutert wurde. Di», von Kreisen umgebenen Ziffern in den Fig.3 üna ü geben den entsprechenden Pegel des Rechenwerkes an, der von einem Befehl in dem Befehlsregister gleicher Ziffer ausgelöst wird, wie es F i g. 1 zeigt. Der Befehlskanal führt so zu einer optimalen Ausnutzung der Schaltungsanordnungen des Rechenwerkes, indem es die Verwendung jedes Teiles der Einrichtung für eine Phase eines Befehles während nur einer Taktperiode zuordnet.The operation of the arithmetic unit 17 for an organization chosen as an example for automatically increased, indirect addressing in connection with two channels for the commands and data is now based on the F i g. 3 and 5 explained during a command as a function of clock pulses with a repetition frequency of 20 MHz wanders down the command channel, the necessary facilities are set up in each Level of the channel the desired:! incapable of performing, as described above with reference to F1 g. 1 was explained. Tue », Numbers surrounded by circles in Fig.3 üna ü indicate the corresponding level of the arithmetic unit, which is the same as that of a command in the command register Digit is triggered as shown in FIG. 1 shows. The command channel thus leads to an optimal utilization of the circuit arrangements of the arithmetic logic unit by making it use each part of the device for a phase of a command during only one clock period.

In den F i g. 3 und 5 sind die Sammelleitungen oder Schienen zur Vereinfachung der Beschreibung mit Bezeichnungen versehen. Die Schiene 1 liefert einen Multiplikator an das Eingangsregister MPZ des Multiplizierers MUL von einem ΛΖ-Register 40 oder einem speziellen, nicht dargestellten Hilfsregister, wenn Blöcke oder Gruppen von Koeffizienten verarbeitet werden sollen. In der Praxis können Multiplikatoren aus dem Koeffizientenspeicher in der gleichen Weise geholt werden wie Operanden aus Eingangsspeichern 12i und I22, wenn ein Koeffizientenspeicher vorhanden ist, beispielsweise wenn jeder Wert in einem Block oder einer Gruppe von Daten mit einem getrennt bezeichneten Koeffizienten multipliziert werden soll. In dem Maß, wie der ausgewählte der Eingangsspeicher 12i und 122 nacheinander die Daten infolge einer automatisch inkrementierten indirekten Adressierung liefert, werden in diesem Fall die entsprechenden Koeffizienten aus dem speziell zugeordneten Koeffizientenspeicher ausgelesen, der dann ebenfalls mit einer automatisch inkrementierten indirekten Adressierung versehen ist wie die Eingangsspeicher. Die Primärquelle für einen Multiplikator, das M-Register, wird mit dem Multiplikator unter Verwendung eines Übertragungsbefehles vorgeladen.
Die Schiene 2 liefert entweder einen Multiplikand an das linke Multiplikandenregister MCi oder einen Wert an das rechte Register AR 6 der Arithmetik- und Logik-Einheit ALU. Die Schiene 2 bildet auch einen Weg zu den Zeigern 41,42 und 43 (F i g. 5), die den entsprechenden Eingangsspeichern 12i und 122 sowie dem Zwischenspeicher 12« zugeordnet sind, da die auf dieser Schiene erscheinenden Daten Startadressen oder Inkrementwerte für diese Zeiger umfassen können. Für diese Zeiger ist angenommen, daß sie jeweils nur ein
In the F i g. 3 and 5, the busbars or rails are labeled to simplify the description. The rail 1 supplies a multiplier to the input register MPZ of the multiplier MUL from a ΛΖ register 40 or a special auxiliary register, not shown, when blocks or groups of coefficients are to be processed. In practice, multipliers can be fetched from the coefficient memory in the same way as operands can be fetched from input memories 12i and I22 if a coefficient memory is available, for example if each value in a block or group of data is to be multiplied by a separately designated coefficient. To the extent that the selected one of the input memories 12i and 12 2 successively delivers the data as a result of automatically incremented indirect addressing, in this case the corresponding coefficients are read out from the specially assigned coefficient memory, which is then also provided with automatically incremented indirect addressing as the input memory. The primary source for a multiplier, the M register, is preloaded with the multiplier using a transfer instruction.
The rail 2 supplies either a multiplicand to the left multiplicand register MCi or a value to the right register AR 6 of the arithmetic and logic unit ALU. The rail 2 also forms a path to the pointers 41, 42 and 43 (FIG. 5), which are assigned to the corresponding input memories 12i and 12 2 as well as the intermediate memory 12 ', since the data appearing on this rail are start addresses or increment values for these pointers may include. These pointers are assumed to have only one

Register umfassen. Wie jedoch oben anhand F i g. 4 erläutert wurde, kann jeder Zeiger auch eine Vielzahl Register umfassen.Include register. However, as above with reference to FIG. 4, each pointer can also have a large number of registers include.

Die Schiene 3 liefert Daten von der Einheit ALU an Hilfsanzeiger 44,45 und 46 sowie einen Ausgangszeiger 47 (F i g. 5). Der letztgenannte wird in der gleichen Weise benutzt wie ein Eingangszeiger, beispielsweise Zeiger 41, nämlich zur automatisch erhöhten indirekten Adressierung von Ausgangsspeichern, und kann so eingestellt werden, daß er auf einen der beiden Ausgangsspeicher zeigt, da nur einer der beiden Ausgangsspeicher oder einer der Hilfsspeichcr zu einer gegebenen Zeit benutzt wird. Zwei Eingangsspeicher, von denen jedem zwei Eingangszeiger zugeordnet sind, machen es möglich, daß ein Speicher der internen Datenverarbeitung zugeordnet ist, so daß der andere unter der Steuerung der Zentraleinheit bleiben kann. Während ein Satz von Operationen ausgeführt wird, kann der andere Eingangsspeicher von der Zentraleinheit geladen werden, so daß der zweite Eingangsspeicher ohne Unterbrechung der Verarbeitung der Signaldaten eingeschaltet werden kann. Der Austausch der Rollen der Eingangsspeicher kann nützlich sein, da die Eingangsspeicher die Schie = 2 unmittelbar ohne notwendige Zeigerinformation speisen, um einen neuen Satz von Operationen zu beginnen, ohne daß ein Zeitverlust zum neuen Laden eines einzelnen Speichers entsteht. Die Betriebssteuerung durch die Zentraleinheit bestimmt, welcher Speicher Daten von der Schiene 3 aufnimmt und welcher Speicher Daten auf die Schiene 2 gibt.The rail 3 supplies data from the unit ALU to auxiliary indicators 44, 45 and 46 and an output pointer 47 (FIG. 5). The latter is used in the same way as an input pointer, for example pointer 41, namely for automatically increased indirect addressing of output memories, and can be set so that it points to one of the two output memories, since only one of the two output memories or one of the auxiliary memories is used at a given time. Two input memories, each associated with two input pointers, allow one memory to be dedicated to internal data processing so that the other can remain under the control of the central processing unit. While a set of operations is in progress, the other input memory can be loaded by the central processing unit so that the second input memory can be switched on without interrupting processing of the signal data. Swapping the roles of the input buffers can be useful because the input buffers feed shift 2 immediately with no necessary pointer information to begin a new set of operations without wasting time reloading a single memory. The operational control by the central unit determines which memory receives data from rail 3 and which memory outputs data to rail 2.

Die den Eingangsspeichern zugeordneten Zeiger 44 und 45 können benutzt werden, während die Eingangsspeicher unmittelbar von einer äußeren Schiene unter der Steuerung der Zentraleinheit geladen werden. Der dem Zwischenspeicher zugeordnete Zeiger 46 wird in gleicher Weise zum Laden des Zwischenspeichers benutzt, jedoch sind die einzugebenden Daten verarbeitete Daten von der Schiene 3. Für diese Zeiger wird ebenso wie für den Ausgangs-Zeiger 47 angenommen, daß sie jeweils nur ein Register umfassen. Es versteht sich jedoch, daß sie auch mit mehreren Registern ausgeführt werden können, von denen in jedem Zeitpunkt jeweils nur einer gewählt ist.The pointers 44 and 45 associated with the input memories can be used while the input memories are directly accessible from an outer rail the control of the central unit. The pointer 46 associated with the buffer is shown in used in the same way to load the buffer, but the data to be entered are processed Data from rail 3. For these pointers, as for output pointer 47, it is assumed that they each contain only one register. It should be understood, however, that they can also be implemented with multiple registers can be, of which only one is selected at any given time.

Alle diese Zeiger werden als einfache, automatisch erhöhte Zeiger benutzt, wobei der Erhöhungswert 1 ist, während die Daten entweder von einer äußeren Schiene oder den inneren Schienen 2 und 3 eingegeben werden. Diese Zeiger können in wirksamer Weise während der Datenverarbeitung benutzt werden, da sie um einen vorbestimmten Wert erhöht werden können, beispielsweise um 16. In der Praxis werden jedoch nur die Zeiger ■41, 42, 43! und 47 ir. dieser Weise benutzt, !m Fall einer Unterbrechung während der Verarbeitung werden die Zustände dieser Zeiger gespeichert, wie es bei datenverarbeitenden Anlagen allgemein üblich ist, um zu der unterbrochenen Datenverarbeitung zurückkehren zu können.All of these pointers are used as simple, automatically incremented pointers, with the increment value being 1, while the data is input from either an outer rail or inner rails 2 and 3. These pointers can be used effectively during data processing as they relate to a predetermined value can be increased, for example by 16. In practice, however, only the pointer ■ 41, 42, 43! and 47 ir. used in this way, in the case of one Interrupt during processing, the states of these pointers are saved, as is the case with data processing Attachments is common practice to return to the interrupted data processing can.

Ein Zeiger für den Koeffizienitenspeicher, sofern ein solcher vorhanden ist, wird in gleicher Weise ausgeführt wie die Zeiger für die Eingangsspeicher und den zum Auslesen der Koeffizienten. Dagegen werden die Koeffizienten in den Koeffizientenspeicher von der Zentraleinheit in gleicher Weise eingegeben wie die Speichereinheit des Programmspeichers geladen wird.A pointer to the coefficient memory, if one such is present, is executed in the same way as the pointers for the input memory and the to Reading out the coefficients. On the other hand, the coefficients are stored in the coefficient memory by the central unit entered in the same way as the memory unit of the program memory is loaded.

Von den Ausgangsspeichern steht der eine zur Aufnahme des nächsten Satzes von vom Rechenwerk gelieferten Ausgangdaten zur Verfügung, während der andere Ausgangsdaten unter der Steuerung der Zentraleinheit dem Hauptspeicher zuführt. Die Adressierung des Speichers, der zur Aufnahme der verarbeiteten Daten bestimmt ist, erfolgt in gleicher Weise wie die Adressierung des Zwischenspeichers. Getrennte Adressiereinrichtungen werden dann von der Zentraleinheit benutzt, um den anderen Ausgangsspeicher zu leeren. Während der eine, der gerade geladen wird, anschließend entleert wird, wird der andere nach dem Entladen anschließend dazu benutzt, vom Rechenwerk gelieferte Daten aufzunehmen. Die Adressierung der Ausgangsspeicher kann vereinfacht werden, indem zwei getrennte Zeiger für die beiden Speicher benutzt werden.One of the output memories is for receiving the next set of data supplied by the arithmetic unit Output data available, while the other output data under the control of the central unit the main memory. The addressing of the memory that is used to hold the processed data is determined, takes place in the same way as the addressing of the buffer. Separate addressing devices are then used by the central processing unit to empty the other output memory. While the one that is being charged will be emptied afterwards, the other will be emptied afterwards after unloading used to record data supplied by the calculator. The addressing of the output memory can can be simplified by using two separate pointers for the two memories.

Gemäß F i g. 5 ist jedoch den beiden Ausgangsspeichern nur ein einziger Zeiger 47 mit einem einzigen Register zugeordnet, da zu jeder Zeit nur ein Speicher verarbeitete Daten empfängt. Der andere Ausgangsspeicher wird während dieser Zeit in den Hauptspeicher geleert. Alle anderen Hilfsspeicher haben zwei Zeiger, von denen jeder ein einziges Register für die automatisch inkrementierte, indirekte Adressierung besitzt. Die dargestellte spezielle Organisation führt zu einigen Beschränkungen, deren sich der Programmierer bewußt sein muß, jedoch begrenzen diese Beschränkungen nicht das Prinzip der Erfindung, das sich auf die indirekte Adressierung bezieht, sondern veranschaulichen lediglich das Prinzip in einer speziellen Ausführungsform. Die Beschränkungen bestehen darin, daß die Zeiger 41, 42 und 43 nur über die Schiene 2 durch einen Übertragungsbefehl, der in Phase 2 ausgeführt wird, in einen gewünschten Ausgangszustand gebracht werden können. Die Zeiger 44 und 45 können einen Ausgangszustand über die externe Schiene oder die Schiene 3 während der Phase 6 der Ausführung eines Befehls durch das Rechenwerk erhalten. Dies gestattet, daß diese Zeiger auf Anfangswerte eingestellt werden können, die vom Rechenwerk errechnet worden sind. Die Zeiger 46 und 47 können ebenfalls über die Schiene 3 eingestellt werden, so daß diese Zeiger benutzt werden, wenn die Ausgangswerte von dem Rechenwerk ermittelt werden.According to FIG. 5, however, is the two output memories only a single pointer 47 with a single one Register allocated since only one memory receives processed data at a time. The other output memory is emptied into main memory during this time. All other auxiliary memories have two pointers, each of which has a single register for automatically incremented, indirect addressing. the The particular organization illustrated introduces some limitations of which the programmer is aware must be, however, these restrictions do not limit the principle of the invention, which applies to the indirect Addressing relates, but merely illustrate the principle in a specific embodiment. The restrictions are that the pointers 41, 42 and 43 can only be transmitted via the rail 2 by a transfer command, which is carried out in phase 2, can be brought into a desired initial state. The pointers 44 and 45 can be an output state via the external rail or the rail 3 during the phase 6 of the execution of a command by the arithmetic unit. This allows these pointers can be set to initial values that have been calculated by the calculator. The hands 46 and 47 can also be adjusted via rail 3 so that these pointers are used when the Output values are determined by the arithmetic unit.

Die zu den Zeigern führenden Adressierwege sind in F i g. 5 nicht dargestellt Aus der Beschreibung der F i g. 3 und 4 geht jedoch hervor, daß diese Zeiger während der Phase 1 oder der Phase 6 durch einen Befehl adressiert werden, je nachdem, ob der Speicher als Datenquelle oder als Datensenke aufgerufen werden soll. Wenn der gleiche Speicher gleichzeitig durch getrennte Befehle, die gleichzeitig den Registern I Reg-2 und / Reg-7 zugeführt werden, zum Lesen und Ablegen von Daten adressiert wird, wird der Lesebefehl ausgeführt, während alle anderen Befehle für die Dauer einer Taktperiode zurückgehalten werden, wie es anhand F i g. 1 beschrieben worden istThe addressing paths leading to the pointers are shown in FIG. 5 not shown From the description of FIG. 3 and 4, however, it can be seen that these pointers are addressed by a command during phase 1 or phase 6, depending on whether the memory is to be called as a data source or as a data sink. If the same memory is addressed simultaneously for reading and storing data by separate commands which are simultaneously applied to registers I Reg-2 and / Reg-7 , the read command is executed while all other commands are held back for one clock period , as shown in FIG. 1 has been described

Auf diese Weise wird ein Konflikt zwischen den beiden Zeigern eines Paares gelöst, die den gleichen Speieher zu adressieren versuchen, wie beispielsweise zwischen den Zeigern 44 und 41, die den gleichen Speicher 12i auf dem gleichen Wege adressieren, der als von diesen Zeigern zum Speicher führender Ausgang dargestellt ist.In this way a conflict is resolved between the two pointers of a pair that share the same spear try to address, such as between pointers 44 and 41, which share the same memory Address 12i in the same way that is shown as the output leading from these pointers to the memory is.

Die vorstehenden Ausführungen machen deutlich, daß der Fachmann die Erfindung in einer Vielzahl verschiedener Ausführungsformen realisieren kann. Demgemäß sollen die Ansprüche in dem Sinn verstanden werden, daß sie alle Variationen umfassen, welche die Erfindung verwirklichen.The foregoing makes it clear that those skilled in the art can implement the invention in a variety of different ways Embodiments can realize. Accordingly, the claims are to be understood in that sense will be intended to encompass all of variations that practice the invention.

Hierzu 5 Blatt ZeichnungenIn addition 5 sheets of drawings

Claims (1)

Patentansprüche:Patent claims: 1. Datenverarbeitungsanlage mit einer Befehlsquelle (Programmspeicher 13), in der jedes Befehls- s wort eine Adresse darstellende Daten enthalten kann,1. Data processing system with an instruction source (program memory 13) in which each instruction s word can contain data representing an address, mit einer Anzahl Datenspeicher (12i —125) zum Speichern von Eingabe- und Ausgabedaten,
mit Adressenerzeugungseinrichtungen (33—38), die abhängig von den von der Befehlsquelle (13) gelieferten Befehlswörtern direkte Adressen zum Adressieren der Datenspeicher erzeugen, und
mit Verarbeitungseinrichtungen (I Reg 1—7, I DEC i—7, 17), die mit der Befehlsquelle (13) und den Datenspeichern (12i—125) derart verbunden sind, daß sie im Pipelinebetrieb die von der Befehlsquelle gelieferten Befehle ausführen und die in den Datenspeichern enthaltenen Daten verarbeiten, dadurch gekennzeichnet, daß die Adressenerzeugungseinrichtungen (33—38) aufweisen:
with a number of data memory (12 i -12 5) for storing input and output data,
with address generating devices (33-38) which, depending on the command words supplied by the command source (13), generate direct addresses for addressing the data memories, and
with processing devices (I Reg 1-7, I DEC i-7, 17) which are connected to the instruction source (13) and the data memories (12i-12 5 ) in such a way that they execute the instructions supplied by the instruction source in pipeline operation and process the data contained in the data memories, characterized in that the address generating devices (33-38) have:
DE19772717374 1977-04-20 1977-04-20 Data processing system Expired DE2717374C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19772717374 DE2717374C2 (en) 1977-04-20 1977-04-20 Data processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19772717374 DE2717374C2 (en) 1977-04-20 1977-04-20 Data processing system

Publications (2)

Publication Number Publication Date
DE2717374A1 DE2717374A1 (en) 1978-11-02
DE2717374C2 true DE2717374C2 (en) 1985-06-20

Family

ID=6006718

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19772717374 Expired DE2717374C2 (en) 1977-04-20 1977-04-20 Data processing system

Country Status (1)

Country Link
DE (1) DE2717374C2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8421066D0 (en) * 1984-08-18 1984-09-19 Int Computers Ltd Microprogram control

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE26087E (en) * 1959-12-30 1966-09-20 Multi-computer system including multiplexed memories. lookahead, and address interleaving features
US3875391A (en) * 1973-11-02 1975-04-01 Raytheon Co Pipeline signal processor

Also Published As

Publication number Publication date
DE2717374A1 (en) 1978-11-02

Similar Documents

Publication Publication Date Title
DE2755273C2 (en)
DE69738188T2 (en) METHOD AND APPARATUS FOR INCREASED ACCURACY IN THE BRANCHING FORECAST IN A SUPERSCALAR MICROPROCESSOR
DE2322674C3 (en) Microprogram controller
DE2715073C3 (en) Microprogrammed computer control device
DE1942005B2 (en) DATA PROCESSING SYSTEM FOR RECEIVING AND SENDING DIGITAL DATA AND PERFORMING OPERATIONS ON THE DATA
DE2424931A1 (en) DATA PROCESSING SYSTEM, IN PARTICULAR MICROPROGRAM DATA PROCESSING UNIT WITH PARALLEL COMMAND STREAMS FOR MULTIPLE LEVELS OF SUB COMMAND RESERVES
DE1282337B (en) Program-controlled electronic computing system
DE1275800B (en) Control unit for data processing machines
DE1255356B (en) Control device for clock-controlled calculating machines
DE3507584C2 (en)
DE2426874A1 (en) PROCEDURE AND CIRCUIT ARRANGEMENT FOR DETERMINING THE TYPE OF ADDRESS OF AN COMMAND
DE1190706B (en) Program-controlled electronic digital calculating machine working in two alternating cycles
DE1524114C3 (en) Address computing device for a data processing system
DE2725614C2 (en)
DE1499224C3 (en) Data processing system with storage facilities in the basement
DE2245284A1 (en) DATA PROCESSING SYSTEM
DE2717374C2 (en) Data processing system
DE1774421B1 (en) MORE PROGRAM DATA PROCESSING SYSTEM
DE3104256C2 (en)
DE1194605B (en) Improvement of devices for processing details, information or the like.
DE1184122B (en) Adding device
DE3341339C2 (en) Command sequence generator
DE3015876A1 (en) ARRANGEMENT AND METHOD FOR A DIGITAL PROCESSOR FOR PRE-READING AN OPERATION CODE PART AND AN OPERATION PART OF A COMMAND WORD
DE1549446A1 (en) Digital computer
DE2422495C2 (en) Data processing system

Legal Events

Date Code Title Description
OAP Request for examination filed
OD Request for examination
D2 Grant after examination
8364 No opposition during term of opposition