DE1774164C - Data processing system with several simultaneous processing units - Google Patents

Data processing system with several simultaneous processing units

Info

Publication number
DE1774164C
DE1774164C DE1774164C DE 1774164 C DE1774164 C DE 1774164C DE 1774164 C DE1774164 C DE 1774164C
Authority
DE
Germany
Prior art keywords
memory
operand
command
results
result
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
Other languages
German (de)
Inventor
Saul Yermie Princeton N J Levey (V St A) G06k 7 12
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.)
RCA Corp
Original Assignee
RCA Corp
Publication date

Links

Description

Die Erfindung betrifft eine Datenverarbeitungs- derjenigen Verarbeitungseinheit gelesen wird, au; anlage mit mehreren gleichzeitig tätigen Verarbei- der ein errechnetes Resultat übertragen wird, unc Hingseinheiten, einem Speicher für Operanden und daß das gelesene Resultat-Identifizierungssymbol al: Resultate, einem inhaltsadressierbaren Befehlsspei- Abfnujesignal für den Operanden-Identifizierungseher, dessen üefehlsworte jeweils einen Operations- 5 symboheil an den Befehlsspeicher angelegt wird,
kode, mindestens ein Symbol zum Identifizieren eines Die Erfindung hat den Vorteil, daß eine Befehls-Operanden und ein Symbol zum Identifizieren eines folge mit gutem Ausnutzungsgrad der parallel arbei Resultates bezeichnende Teile enthalten, und welcher tenden Vi.-rarbeiiungseinheiten ausgeführt wird, wei auf Abfragesignale anspricht, die an mindestens sie sich nach der Verfügbarkeit der jeweils zu vereinen bestimmten Teil jedes Befehlswortes im Be- io arbeitenden Daten im Datenspeicher richtet,
fehlsspeicher gerichtet werden, so daß ein den Ab- In Ausgestaltung der Erfindung ist vorgesehen fragesignalen genügendes Befehlswort herausgelesen daß der Speicher für Operanden und Resultate durcli wird, ferner mit einer Einrichtung zur Übertragung einen Speicher mit wahlfreiem Zugriff gebildet isi eines jeden aus dem Befehlsspeicher gelesenen Be- und ein Adressenregister und ein Datenregister entfehlswortes zu einer verfügbaren Verarbeitungseinheit, 15 hült, daß die Torschaltung das Resultat-Identifizie welche d'irch den Operationskode des Befehls be- rungssymbol des Befehlswortes, das sich in derjenige! stimmt ist, sowie mit einer Einrichtung zur Über- Verarbeitungseinheit befindet, aus der Resultate tragung der errechneten Resultate von den Ver- laufend übertragen werden, an das Adressenregistei arbeitungseinheiten zum Speicher für Operanden anlegt, und daß eine zusätzliche Torschaltung vor- und Resultate. 20 gesehen ist, welche Resultate, die in dieser Verarbu
The invention relates to a data processing unit of the processing unit that is read, au; system with several processors operating at the same time, a calculated result is transmitted, unc hanging units, a memory for operands and that the read result identification symbol al: results, a content-addressable instruction storage Abfnujesignal for the operand identification, whose command words each have an operation 5 symboheil is applied to the instruction memory,
code, at least one symbol for identifying a The invention has the advantage that an instruction operand and a symbol for identifying a sequence contain a good degree of utilization of the parallel work results designating parts and which processing unit is executed, white on query signals responds, which is aimed at at least them according to the availability of the particular part of each command word to be combined in the data in the data memory,
In an embodiment of the invention it is provided query signals sufficient command word is read out that the memory for operands and results is durcli, furthermore a memory with random access is formed with a device for transmission of each loading read from the command memory - and an address register and a data register omission word to an available processing unit, 15 ensures that the gate circuit identifies the result which d'irch the operation code of the command response symbol of the command word, which is in the! is correct, and is located with a device for the processing unit, from which the results of the calculated results are transferred from the course, to the address register creates processing units for the memory for operands, and that an additional gate circuit for and results. 20 is seen what results in this Verarbu

Es ist bekannt, ->ij· Ausführung der Befehle eines tungseinheit errechnet worden sind, in das Datenoder mehrerer Programme eine Mehrzahl von gleich- register überträgt. Die Verwendung eines solchen zeitig arbeitenden Verarbeitungs- oder Zentralein- Direktzugriffspeichers hat den Vorteil, daß der Speiheiten zu verwenden. Bei allen solchen Anordnungen eher eine relativ große Speicherkapazität für die bestellt jedes Programm aus einer Folge von logisch 25 Datenworte der verschiedenen Verarbeitungseinheiten geordneten Befehlen, so daß ein zu einem Resultat haben kann und dennoch gleichzeitig gestattet, daL· führender Befehl jeweils einem das Resultat be- ein Operand oder Resultat an einen gewählten nutzenden Befehl vorausgeht. Es kann geschehen, Speicherplatz in kürzester Zeit geschrieben oder gedaß die programmfeste Reihenfolge der Befehlsaus- lesen wird.It is known that -> ij · execution of the instructions of a processing unit have been calculated into the data or transmits a plurality of equal registers of several programs. The use of such a Processing or centralized random access memory working at the time has the advantage that the storages to use. With all such arrangements rather a relatively large storage capacity for the orders each program from a sequence of logically 25 data words from the various processing units ordered commands, so that one can have a result and yet at the same time allow that Leading command in each case the result to an operand or result to a selected one using command precedes. It can be done, written or gedass disk space in no time the program-fixed sequence of the commands is read out.

führung die vollständige Parallelnut/ung (Multi- 30 Bevorzugte Ausführungsbeispiele der Erfindungguide the complete parallel groove (Multi-30 Preferred Embodiments of the Invention

prozessorbetrieb) eirur Mehrzahl von Verarbeitungs- werden an Hand der Zeichnung erläutert. Die Zeich-processor operation) a plurality of processing operations are explained on the basis of the drawing. The drawing

einheilen wie z. B. Rechenwerken od°r Addierwerken, nung zeigt into heal such as B. arithmetic units or adding units, voltage shows in

Miiltiplizierstufen, Schiebt- bzw. VerstHlvorrichtun- Fig. 1 ein Schaltbild riner Datenverarbeitung-Multi-multiplier stages, shifting or adjusting device - Fig. 1 is a circuit diagram of pure data processing -

jien, Vcrgleichssthaltungcn usw. verlr idert. Es kann anlage,jien, comparative attitudes, etc. are deprived. It can plant

z.B. sein, daß eine für Multiplikationen bestimmte 35 Fig. 2 ein Schaltbild eines abgewandelten Teile; Verarbeitungseinheit untätig bleiben muß, während der Anlage gemäß Fig. 1, die verwendet wird, wenn sie auf einen Multiplizierbefehl in einer festen Bc- die Befehle Adressen von zwei Operanden enthalten fehlsfolge, die zahlreiche Addierbcfehlc enthält, In der Zeichnung ist eine Befehls- und Datenquelle wartet. Dies Irilit selbst dann zu, wenn die Rechen- 10 dargestellt, die irgendein herkömmliches Rechneranlage zeitlich verschachtelte Teile von mehreren 40 gerät sein kann, beispielsweise eine Magnetbandverschiedenen Programmen (Multiprogrammvcrarbci- station, eine Zcntralverarbcitungseinhcit und cir lung) durchführt. Hauptspeicher. Die Befehle werden von der Quellefor example, that a multiplication device intended for 35 Fig. 2 is a circuit diagram of a modified part; Processing unit must remain inactive during the plant according to FIG. 1, which is used when they respond to a multiply instruction in a fixed Bc- the instructions contain addresses of two operands Failure that contains numerous addition errors. The drawing shows an instruction and data source waiting. This also applies to Irilit if the computing device 10 is represented by any conventional computing system Time-nested parts of several 40 devices can be different, for example a magnetic tape Programs (multi-program processing station, a central processing unit and cir ment). Main memory. The commands are from the source

Für beknnntc Miiliipm/pssnr-imd Multiprogranim- 10 über eine Torschaltung 12 unter Steuerung eine;For known Miiliipm / pssnr-imd Multiprogranim- 10 via a gate circuit 12 under control a;

vcrarbcitiingsanlagen sind kr.nplizierte und zeit- Zeitgeber- oder Taktimpulses r, einem inhaltsadrcs-Vcrarbcitiingsanlagen are cr. implicated and time, timer or clock pulse r, a content address

raubende Programm- oder »Softwarc-Übcrwachun- 45 sicrbaren Befehlsspeich ".r 14 zugeführt. DatcnsignalcConsuming program or software monitoring 45 sicrable instruction memory .r 14 supplied

gen erforderlich, um die Slcucrfunklionen für einen werden von der Quelle 10 über eine Torschaltung Ifgen required in order to receive the Slcucrfunklionen from the source 10 via a gate circuit If

günstigen Betrieb und für die Zeiteinteilung zu rcnli- unter Steuerung eines Taktimpulses/2 an ein milfavorable operation and for timing to rcnli- under control of a clock pulse / 2 to a mil

!.icren. Im Iilealfall sollte eine Vcrarbeitungscinheit MDR bezeichnetes Datenregistcr eines Operanden-! .icren. In the worst case, a processing unit should use the MDR- designated data register of an operand

mit der Ausführung der ihr zugewiesenen Funktion Speichers 18 angelegt. Zur gleichen Zeit des Im-with the execution of the memory 18 function assigned to it. At the same time of im-

uulnmalisch so lange beschäftigt werden, wie erstens 5" pulses I1 liefert die Quelle 10 eine SpeicheradresseUnusually be employed as long as, firstly, 5 "pulses I 1 , the source 10 supplies a memory address

irgendwo in einer Programmfolgc ein Befehl vor- über eine Torschaltung 20 und eine Leitung 22 arsomewhere in a program sequence a command via a gate circuit 20 and a line 22 ar

liandcn ist, den die Einheit auszuführen in der ί agc ein mit MAR bezeichnetes Adressenregistcr de;liandcn is to be executed by the unit in the ί agc an address register denoted by MAR;

ist, und wie zweitens die zur Ausführung des Befehls Opcrandenspeicheis 18. Die beschriebenen und nochand how, secondly, that for executing the command Opcrandenspeicheis 18. The described and further

erforderlichen Operanden zur Verfügung stehen, bei- zu beschreibenden Torschaltungen und Leitungerrequired operands are available, with gate circuits and lines to be described

»piclsweisc nach ihrer Erzeugung als Resultat der 55 sind übliche Mehr-Bit-Einheiten bzw. Leiter, welche»Piclsweisc after their generation as a result of the 55 are common multi-bit units or conductors, which

Ausführung eines vorhergehenden Befehles. zur P:irulleliibcrtragung der verschiedenen oder vielerExecution of a previous command. to the P: irulleli transmission of the various or many

Hie Aufgabe der Erfindung besteht darin, eine Informniionsbits eines Befehles, Operanden odeiThe object of the invention is to provide information bits of an instruction, operand or

Anordnung anzugeben, mit deren Hilfe die Reihen- einer Adresse in der Lage sind. Der Operanden-Specify the arrangement with the help of which the series of an address are able. The operand

folge, mit der den Verarbeitungscinlicilen Befehle speicher 18 kann ein herkömmlicher Speicher milresult, with which the processing components memory 18 can be a conventional memory mil

zur Verfügung gestellt werden, automatisch durch 60 wahlfreiem Zugriff (DircktzugrifTspeichcr) sein, irbe made available automatically through 60 random access (direct access memory) ir

die Verfügbarkeit von zur Ausführung der Befehle dem Operanden auf Speicherplätzen gespeichert sindthe availability of the operands for executing the instructions are stored in memory locations

erforderlichen Operanden bestimmt ist. die durch dem Adressenregistcr MAR zugcfUhrterequired operands is determined. which is supplied by the address register MAR

Die Erfindung besteht darin, daß bei einer Daten' Adressen bestimmt sind.The invention consists in that addresses are determined for a data.

verteilungsanlage der eingangs angegebenen Art Der Ocfchlsspeichcr 14 kann ein bekanntet eine Torschaltung vorgesehen ist, welche beim An- 6j Speicher der Art sein, wie er in der USA.-Patentlegen eines errechneten Resultats an den Speicher schrift 3 160 856 beschrieben ist. Ein weiteres Beifür Operanden und Resultate bewirkt, daß auch das spiel ist in dem Aufsatz »A Magnetic Associative Resiiltnt-Idcntilizicrungssymbol des Befehlswortes in Memory« dargelegt, der in der Zeitschrift »IBMDistribution system of the type specified at the outset. The Ocfchlsspeichcr 14 can be a known a gate circuit is provided which, in the case of the An 6j memory, is of the type described in the USA. Another addition for operands and results means that the game is also in the essay “A Magnetic Associative Resiiltnt-Idcntilizicrungssymbol of the command word in memory «set out in the magazine» IBM

Journal of Research and Development«, Voi, V, April lOnl, S. 106, erschienen ist, Es können nuch «ndere Speichereinriehtungen, die zu einer Verknüpfung oder Inhaltsadressierung in der Lage sind, verwendet weiden. Der Befehlsspeicher 14 speichert Befehlsworte, von denen ein jedes ein Operationskodefeld oiler -teil 23, einen Operanden-Uleiuifizierungssyinbolteil 24 und einen Resultat-ldentifizierungssynibolteil 26 enthält. Die Teile 24 und 26 könnte man auch als Adressierleile bezeichnen. Jeder Befehl km»i außerdem verschiedene zusätzliche Felder oder Bits zur Wiedergabe von Umsteuergrößen, Adressen, Meldegrößen usw. aufweisen.Journal of Research and Development ', Voi, V, April lOnl, p. 106, Es kann nuch Other storage devices capable of linking or content addressing are used graze. The instruction memory 14 stores instruction words each of which is an operation code field oiler part 23, an operand qualification synbol part 24 and a result identification synibole part 26 contains. The parts 24 and 26 could also be referred to as addressing parts. Everyone The km »i command also has various additional Fields or bits for the reproduction of reversing variables, addresses, message variables, etc. have.

Der Befehlsspeicher 14 ist so ausgebildet, daß der Teil 24 des gesamten Speichers abgefragt werden kann, um zu bestimmen, ob irgendeines oder mehrere der Befehlsworte im Speicher einen Operanden-Adressierteil enthalten, der zum Abfragesignal paßt. Wenn Übereinstimmung festgestellt wird, wird das gesamte entsprechende Befehlswort unter Steuerung einer herkömmlichen inneren Schaltungsanordnung Bus dem Speicher gelesen. Ein Lese- oder Ausgabesignal auf der Leitung 27 tastet Tors-:haltungen 30, 31, 32 und 37.The instruction memory 14 is designed so that the part 24 of the entire memory can be queried can to determine whether any or more of the instruction words in memory have an operand addressing part that matches the interrogation signal. If a match is found, it will entire corresponding command word under the control of a conventional internal circuit arrangement Bus read the memory. A read or output signal on line 27 samples gate postures 30, 31, 32 and 37.

Wenn ein Befehlswort aus dem Befehlsspeicher 14 herausgelesen wird, wird der Operationskodeteil 23 des Befehlswortes über die Torschaltung 30 zum Operationskodeteil 33 eines Operaiions-Operanden-Stapels 38 geleitet. Zur gleichen Zeit wird der Resiiltattcil 26 des Befehlswortes vom Speicher 14 gelesen und über die Torschaltung 32 zum Resultat-Adressierteil 36 des Operations-Operanden-Stapels 38 gebracht. Einen anderen Verlauf nimmt der Opcrandenteil 24 des gelesenen Befehls. Dieser Teil 24 wird durch die Torschaltung 31 und über eine Leitung 39 dem Adressenregister MAR des Operandenspeichers 18 zugeleitet. Wenn die Operandenadresse dem Adressenregister MAR zugeführt ist, wird vom Operandenspeicher 18 der adressierte Opcranii herausgelesen und über sein Datenregister MPR und über die Leitung 41 sowie durch die Torschaltung 37 zum Operandenteil 34 des Stapels 38 gebracht. Zusammengefaßt gesagt, werden der Operationskodeteil 23 und der Resultatteil 26 des Befehlswortes im Bcfehlsspeicher 14 unmittelbar zum Stapel 38 überführt. Der Operandenteil 24 des Befehlswortes wird jedoch dazu verwendet, den Operanden selbst zu holen und zum Stapel 38 zubringen.When a command word is read out from the command memory 14, the operation code part 23 of the command word is passed via the gate circuit 30 to the operation code part 33 of an operational operand stack 38. At the same time, the Resiiltattcil 26 of the command word is read from the memory 14 and brought to the result addressing part 36 of the operational operand stack 38 via the gate circuit 32. The operating part 24 of the command read takes a different course. This part 24 is fed to the address register MAR of the operand memory 18 through the gate circuit 31 and via a line 39. When the operand address is supplied to the address register MAR , the addressed Opcranii is read out by the operand memory 18 and brought to the operand part 34 of the stack 38 via its data register MPR and via the line 41 and through the gate circuit 37. In summary, the operation code part 23 and the result part 26 of the command word in the error memory 14 are transferred directly to the stack 38. The operand part 24 of the instruction word is used, however, to fetch the operand itself and to bring it to the stack 38.

Der Operations-Operandcn-Stapel 38 kann irgendein herkömmlicher Zwischenspeicher oder eine PnffcrHnrichtung sein, die in der Lage sind, eine Mehrzahl von Operations-Operarden-Worten zu speichern. Der Stapel ist vorzugsweise ein Umlauf stapcl, der an seinem oberen Ende die Worte aufnimmt, diese nach unten überträgt und sie an seinem unteren Ende zur Verfugung stellt, wobei die Worte von seinem unteren oder Ausgangsende 7ti seinem oberen Ende zurücklaufen, wenn sie nicht sofort durch eine folgende Vorrichtung verwendbar sind. Der Stapel 38 soll hier nicht weiter erläutert werden, da er in irgendeiner bekannten Weise so aufgebaut sein kann, daß er die Pufferfunktion ausführt. The operational operand stack 38 may be any conventional buffer or receiver capable of storing a plurality of operational operard words. The stack is preferably a circulation stack which receives the words at its upper end, transfers them downwards and makes them available at its lower end, with the words running back from its lower or output end to its upper end if they do not pass through immediately a following device can be used. The stack 38 will not be discussed further here as it can be constructed in any known manner to perform the buffering function.

In der Zeichnung sind mehrere Verarbeitungseinheiten dargestellt und mit I, II und HI bezeichnet. Sie können jewei'q eine andere Verarbeitungsfunktion ausführen, beispielsweise Addition, Subtraktion, Multiplikation, Verschiebung usw. Es können aber auch zwei oder mehrere der Verarbeitungseinheiten /.itr Dntelifuhru.ig der Bleicht:» Funktion wie ζ. D. der Addition in der Lage sein. Ebenso ist es möglieh, daß alle Verarbeiiungseinheitcn gleich aufgebaut sind und für alle Arien von arithmetischen Opera-(ionen geeignet sind. In jedem lall können die Ver·- arbeitungseinheilen so aufgebaut sein, dall sie gleidizeitig arbeiten können, wobei jede die Ausführung eines entsprechenden Üpcralions-Operanden-Wortes vollendet, das an sie vom Stapel 38 angelegt wurde. In the drawing, several processing units are shown and labeled I, II and HI. They can each carry out a different processing function, for example addition, subtraction, multiplication, shifting, etc. However, two or more of the processing units can also be used. D. Be able to add. It is also possible that all processing units have the same structure and are suitable for all arias of arithmetic operations. In each case, the processing units can be structured in such a way that they can work simultaneously, each executing a corresponding override -Operand word attached to it from stack 38 completed.

Die Übertragung der Operalions-Opcranden-Woitvom Stapel 38 wird von einer Vergleichsschaltung 42 gesteuert. Nach Vollendung ihrer Tätigkeit liefert jede Verarbeitungseinheit über eine entsprechende Leiiung 43 ein »Verfügbar«-Signal an die Vergleichsschaltung 42. Der Operationskodeteil 33 eines am Ausgang des Stapels 38 angebotenen Operations-Operanden-Wortes wird über die Leitung 45 an einen Eingang der Vergleichsschaltung 42 angelegt. Der so an die Vergleichsschaltung gelieferte Operationskode kann anzeigen, daß der Befehl am Ausgang des Stap.-jls 38 zu seiner Ausführung einer Addierdnheil bedarf, oder beispielsweise .hier Mullipliziereinhi.il. Die Vergleichsschaltung 42 vergleicht den Opcrationskode mit den »Verfügbar«-Signalen von denThe transmission of the Operalions-Opcranden-Woitvom Stack 38 is controlled by a comparison circuit 42. After completing its activity, it delivers each processing unit sends an "available" signal to the comparison circuit via a corresponding line 43 42. The operation code part 33 of an operation operand word offered at the output of the stack 38 is applied to an input of the comparison circuit 42 via the line 45. The so operation code supplied to the comparison circuit may indicate that the command is at the output of the Stap.-jls 38 for his execution of an adding value or, for example, here mulliplication units. The comparison circuit 42 compares the operation code with the "Available" signals from the

Verarbeitungseinheiten, um zu bestimmen, ob /ur Ausführung des Operations-Operanden-Wortes eine geeignete Einheit zur Verfugung steht. Wenn eine Verarbeitungjjeinheit verfügbar ist, tastet die Vergleichsschaltung 42 eine entsprechende Torschaltung 45, so daß das gesamte Operations-Operanden-Wort vom Stapel 38 über die Leitung 47 zur enisprechenden Einheit I, II oder III übertragen wird.Processing units to determine whether / ur Execution of the operation operand word a suitable unit is available. When a Processing unit is available, the comparison circuit scans 42 a corresponding gate circuit 45, so that the entire operation operand word from the stack 38 over the line 47 to the corresponding Unit I, II or III is transferred.

Die mit einem solchen Wort, das einen Operationskode, einen Operanden und eine Resultaladresse enthält, belieferte Verarbciiungseinheit ist in der Lage, autonom mit der Ausführung dices Wortes fortzufahren. Wenn die Einheit die Ausführung der Operation vollendet und ein Resultat zur Verfügung stellt, wird dieses durch eine Torschaltung 50 und über eine Leitung 51 /.um Daienregi'uer MPR des Operanden-Speichers 18 übertragen, (ilcich/eitig wird der Resultat-Adressicrleil 36 des OperationsOperanden-Wortes, das die Verarbeitungseinheit vom Stapel 38 empfangen hat, du;ch eine Torschaltung54 und über eine Leitung 57 /um Adressenregister MAR des Operandenspeicher 18 geleitet. Die drei Torschaltungspaare 50, 54 werden jeweils durch ein entsprechendes Zeitgeber- oder I aktsignal /3, /4 und r. getastet. Die Taktsignale erscheinenThe processing unit supplied with such a word, which contains an operation code, an operand and a result address, is able to continue the execution of the word autonomously. When the unit completes the execution of the operation and provides a result, this is transmitted through a gate circuit 50 and via a line 51 /. To the file register MPR of the operand memory 18 (the result address line 36 of the operation operand word that the processing unit has received from the stack 38, du; ch a gate circuit 54 and passed via a line 57 / to the address register MAR of the operand memory 18. The three gate circuit pairs 50, 54 are each triggered by a corresponding timer or current signal / 3 , / 4 and r. The clock signals appear

in einer bestimmten Abtastrcü'cnlolgc, so daß die Verwirrung vermieden wird, die dann auftreten würde, wenn z»vei oder mehr Vcrarbeitungscinheiten Ergebnisse zur gleichen Zeit anbieten wurden. Statt eine bestimmte Reihenfolge von Taktimpulsen oder -Signalen r3, Ix und tr, zu verwenden, kann die Vcrkchrsregelung auch durch irgendeine bekannte Auswahl- und Sperranordnung durchgeführt werden.in a given scan sequence so as to avoid the confusion that would arise if two or more processing units were to offer results at the same time. Instead of using a particular sequence of clock pulses or signals r 3 , I x and tr, the timing control can also be performed by any known selection and blocking arrangement.

Mittels jiner Übersicht wird ein für die Ausführung eines Befehles erforderlicher Operand im Befehl durch die Adresse des Operanden im Opcrandcnspeicher 18 identifiziert. Ahnlich wird das durch Ausführung des Befehls zu erlangende errechnete Resultat im Befehl durch die Adresse identifiziert, mit welcher das Resultat im Operandenspeicher 18 zu speichern ist. Die Adressen der Operanden und der errechneten Resultate sind Operandcn-Idcntifizierungs- bzw. Resultat-Identinzierungssymbolc. Diese Symbole müssen nicht unbedingt Speicheradressen By means of an overview, an operand required for the execution of an instruction is identified in the instruction by the address of the operand in the operand memory 18. Similarly, the calculated result to be obtained by executing the command is identified in the command by the address with which the result is to be stored in the operand memory 18. The addresses of the operands and the calculated results are operand identification and result identification symbols. These symbols do not necessarily have to be memory addresses

5 -* „5 - * "

sein, doch ist es zweckmäßig, mit üblich verwendeten Verarbeitungseinheiten mit der Ausführung von il, but it is useful to work with commonly used processing units with the execution of il

Speicheradressen zu arbeiten, wenn man zusätzlich allen Programmen ausführbaren Befehlen beschäftigMemory addresses to work when one additionally deals with all programs executable commands

identifizieren und verfügbare Operanden mit benötig- gehalten, ohne auf die Ausführung von Befehlen nuidentify and keep available operands as required without affecting the execution of commands

ten Operanden vergleichen will. eines Programms zu einer Zeit beschränkt zu seinwant to compare the th operands. being limited to one program at a time

Es wird nun die Reihenfolge erläutert werden, 5 Die gleichzeitige Ausführung von Befehlen verschieThe order will now be explained. 5 The simultaneous execution of commands differs

in der die Bcfehlsworte vom Befehlsspeicher 14 ge- dener produktiver Programme werden durch detin which the command words from the command memory 14 of the productive programs are det

lesen und den Verarbeilungseinheiten zur Verfügung »Hardware«-Teil ohne den allgemeinen Zeitvcrhisread and available to the processing units "Hardware" part without the general timing

gestellt werden. Die Zeit, zu der ein Befehlswort aus bewerkstelligt, der der Verwendung Von »Software«be asked. The time at which a command word made the use of "software"

dem Speicher 14 gelesen wird, ist nicht allein durch Teilen zur Überwachung eigentümlich ist.the memory 14 is read is not peculiar solely by sharing for monitoring.

die Position des Befehles in der Befehlsfolge fest- io Die Erfindung wurde in ihrer Anwendung auf ein<The position of the command in the command sequence was fixed. The application of the invention to a <

gelegt, sondern sie wird vielmehr durch die Verfüg- Rechenanlage beschrieben, in der jeder Befehl zwelaid, but rather it is described by the avail- able computer system in which each command two

barkeit des bei der Ausführung des Befehles erfordcr- Adressen enthält, von denen die eine eine OperandenAvailability of the addresses required when executing the instruction, one of which is an operand

liehen Operanden bestimmt. Ein Operand ist verfüg- adrcsse und die andere eine Rcsiiltatadresse istborrowed operands. One operand is an available address and the other is a reverse address

bar, wenn er im Operandenspeicher Ϊ8 gespeichert Einige Rechcnanlagen verwenden drei Adressenbar if it is stored in the operand memory Ϊ8. Some computer systems use three addresses

ist. Die Verfügbarkeit eines Operanden wird signali- 15 befehle, in denen jeder Befehl eine sogenannUis. The availability of an operand is signaled. 15 commands in which each command is a so-called U

sicrl, wenn der Operand zuerst zum Operanden- A-Operanden-Adresse, eine sogenannte B-Opcrandcn·sicrl, if the operand first becomes the operand A-operand address, a so-called B-Opcrandcn

speicher 18 übertragen wird, um darin gespeichert Adresse und eine Resultaladresse enthält. An HamMemory 18 is transferred to contain stored therein address and a result address. To Ham

zu werden. von Fig. 2 soll nun eine Abwandlung der Anlag,to become. of Fig. 2 is now a modification of the plant,

hm Operand kann als Datensignal von der Bc- gemäß Fig. 1 erläutert werden, die in RechcnanhigerThe operand can be explained as a data signal from the Bc according to FIG

felils- und Datenquelle IO zum Operandenspeicher 20 Verwendung findet, in denen drei Adressenbefehkfelils- and data source IO is used for the operand memory 20, in which three address commands

IK übertragen werden. Wenn das Datensignal dorthin einschließlich zweier Operandenadressen auftretenIK are transferred. When the data signal occurs there including two operand addresses

übertragen wird, wird die über die Leitung 22 an das In Fig 2 sind drei Assoziativ-Befchkspc1.- κ, '.Ί is transmitted, is transmitted via line 22 to the In Fig. 2 are three associative Befchkspc 1 .- κ, '.Ί

Adressenregister MA R angelegte Adresse des Daten- 65 und 66 und eine Zusammensetzungsschaltune 61Address register MA R applied address of the data 65 and 66 and a composition circuit 61

signals gleichzeitig auch über die Leitung 60 als Ab- dargestellt, die an die Stelle des Befehlsspcichcrs \4 signals at the same time also shown via the line 60 as an image, which takes the place of the command memory \ 4

fragesignal dem Operandenteil 24des Bcfehlsspeichcrs 25 der Anlage gemäß Fig. 1 gesetzt werden könnenquery signal can be set to the operand part 24 of the Bcfehlsspeichcrs 25 of the system according to FIG

14 zugeführt. Wenn die Adresse des dem Speicher 18 Der Befehlsspeicher 64 in Fig. 2 ist so aufgebaut14 supplied. If the address of the memory 18, the instruction memory 64 in FIG

zugeleiteten Datensignals oder Operanden dieselbe ist daß er Befehle speichert, die jeweils einen Operasupplied data signal or operands is the same that it stores commands, each one Opera

wie die Operandenadresse eines Befehlswortes im Bc- tionskodcteil 7ji, einen A-Operanden-Adressicrtcillike the operand address of a command word in the function code part 7ji, an A operand address part

fehls^peichers 14. so kann der Befehl ausgeführt wer- 74, einen B-Operanden-Adressierteil 75 und einenmiss ^ memory 14. the command can be executed 74, a B-operand addressing part 75 and a

üen. Das Befehlswort wird daher aus diesem Speicher 30 Resultatadressierteil 76 enthalten. D'e zusätzlichenüen. The command word is therefore contained in the result addressing part 76 from this memory 30. D'e additional

14 herausgelesen und zum Stapel 38 übertragen. Befehlsspeicher 65 und 66 sind ähnlich aufcebaul14 read out and transferred to the stack 38. Instruction memories 65 and 66 have a similar structure

I in von einer VerarbeiUmgscmheit bei der Aus- und speichern ebenfalls Befehle mit jeweils den auf-I have a processing unit when saving and saving commands, each with the

führung eines Befehls geliefertes Resultat kann ein gezählten Teilen. Die an die Leitungen 60 und 62 in dciExecution of a command delivered result can be counted dividing. The lines 60 and 62 in dci

Operand sein, der von einem anderer, Befehl im Anlage tuch Fi g. 1 angelegten Operanden-Speicher-Be the operand that is used by another command in the appendix; 1 created operand memory

iJelchlsspcichcr 14 benotigt wird. Wenn ein Resultat 35 adressen werden als Abfragesignale sowohl demiJelchlsspcichcr 14 is required. When a result 35 addresses are used as interrogation signals both the

über die Leitung 51 zum Operandenspeicher 18 über- A-Adressierteil 74 als auch dem B-Adressierteil 75 de=via the line 51 to the operand memory 18 via the A addressing part 74 and the B addressing part 75 de =

tragen wird, wird die Adrcsse des Resultates nicht Befehlsspeichers 64 in Fig 2 zugeführt Dies heißtis carried, the address of the result is not supplied to the instruction memory 64 in FIG

nur über die Leitung 57 dem Adressenregister MAR daß eine auf der Leitung 60 erscheinende Adresseonly via line 57 to address register MAR that an address appearing on line 60

des Operandenspeicher 18 zugeführt, sondern auch gleichzeitig den Teilen 74 und 75 des Speichers 44 zuof the operand memory 18, but also to the parts 74 and 75 of the memory 44 at the same time

über die Leitung 62 dem Operandenteil 24 des Be- 40 geführt werden, und daß eine zu einer anderen Zeitover the line 62 to the operand part 24 of the loading 40, and that one at a different time

fehlsspcichcrs 14 als Abfragesignal. Wenn die auf der Leitung 62 auftretende Adrcsse ebenfallsFehlsspcichcrs 14 as an interrogation signal. If the address appearing on line 62 is also

Adresse, mit der das Resultat der Verarbeitungsein- gleichzeitig an die Teile 74 und 75 aneeleet werdenAddress with which the result of the processing is sent to parts 74 and 75 at the same time

heu im Speicher 18 gespeichert wird, dieselbe ist wie Wenn die an den Speicher 64 aneeleete abfragendeis now stored in the memory 18, is the same as when the memory 64 aneeleete querying

die Operandenadresse eines Pefehles im Befehls- Adresse zum A-Adressierteil 74 eines Befehls imthe operand address of an error in the instruction address to the A addressing part 74 of an instruction in the

speicher 14 kann der Befehl ausgeführt werden. Der 45 Speicher paßt, liefert der Speicher über die I eitunßmemory 14 the command can be executed. If the memory fits, the memory delivers via the outlet

Befehl wird daher zum Stapel 38 übertragen. 70 ein Steuersignal an die Torschaltung 72 wa zurThe command is therefore transferred to the stack 38. 70 a control signal to the gate circuit 72 wa for

Die Reihenfolge, in der ein Befehl in einem Pro- Folge hat, daß das gesamte Befehlswort aus demThe order in which a command in a pro sequence has that the entire command word from the

gramm ausgeführt wird, ist nicht streng durch dessen Speicher 64 herausgelesen und zum Befehlssoeicherprogram is executed is not strictly read out by its memory 64 and stored in the instruction store

Stelle ,η der eingeschriebenen Befehlsfolge im Pro- 65 übertragen wird Wenn in ähnlicher Weise de anPlace, η of the written command sequence is transmitted in the pro 65 If in a similar way de

gramm bestimmt, sondern vielmehr erstens durch die 50 den B-Adressierteil 75 des Speichers 64 aneeleetegram determined, but rather firstly by the 50 the B addressing part 75 of the memory 64 aneeleete

Verfügbarkeit eines notwendigen Operanden und Abfrageadresse zu einem entsprechenden Teil einesAvailability of a necessary operand and query address for a corresponding part of a

zweitens durch die Verfügbarkeit einer Verarbeitungs- im Speicher gespeicherten Befehles paßt bewirkt dersecondly, through the availability of a processing instruction stored in the memory, the effect

einheit, d.c zur Ausführung des Befehls in der Lage Speicher mittels eines Steuersignals auf der Lehuneunit, d.c to execute the command capable of memory by means of a control signal on the Lehune

.st Die tatsächliche Reihenfolge der Ausführung von 78 und mittels der Torschaltung 76, daß der passendf.st The actual order of execution of 78 and, by means of the gate circuit 76, that the matchingf

Befehlen kann unvorhersehbar sein und s.ch je nach 55 Befehl zum Speicher 66 übertragen wird AiECommands can be unpredictable and s.ch is transferred to memory 66 depending on 55 command AiE

der Verfügbarkeit von Operanden und Verarbei- nis dieser Wirkungen sind die im Speicher 64 bleben-the availability of operands and the processing of these effects are those that remain in memory 64

ungscinhcitcn zu den Zeitpunkten, zu denen Verfüg- den Befehle solche Befehle, für dieΓ weder 5erungscinhcitcn at the points in time at which commands are available such commands for which neither 5er

harkcitsprufungcn- unternommen werden, ändern. Α-Operand noch der B-Operand im OoeranHenharkcitsprprüfungcn- be undertaken, change. Α operand still the B operand in OoeranHen

Die Befehle werde jedoch in einer Reihenfolge aus- speicher 18 der Fig. 1 verfügbar sind Für die imThe commands will, however, be stored in the order 18 of FIG. 1 are available for the im

gefuhrt, durch die die Ausnutzung der verschiedenen 60 Befehlsspeicher 65 vorhandenen Befehle ist alleiiguided by the use of the various 60 instruction memory 65 existing instructions is alleii

Vcrarhcitungscinhcitcn maximiert wird. Der Schal- der Α-Operand verfügbar, für die im SiSch« lSComprehension is maximized. The switch Α operand is available for the SiSch «lS

»ings- oder »Hardware-Teil der Anlage steuert enthaltenen Befehle dagegen allein £ B ntZS The »ings- or» hardware part of the system, on the other hand, controls the commands it contains alone £ B ntZS

automatisch die Reihenfolge der Befehlsausführung Zu d Zit di 8S t Z 2automatically the order of command execution to d Zit di t 8 S 2 Z

g HardwareTeil der Anlage steuert enthaltenen Befehle dagegen allein £ B ntZS The hardware part of the system controls the commands contained therein alone £ B ntZS

automatisch die Reihenfolge der Befehlsausführung Zu der Zeit, zu dir 8AWnS adtssen Z 2erautomatically the order of command execution At the time, to you 8 AWnS adtssen Z 2er

m einer solchen Weise, daß eine vergleichsweise Leitung 60 oder 62 den A- undIRArf , 1 a m in such a way that a comparative line 60 or 62 the A and IRArf, 1 a

schnellere Vol.endung des durchgeführten Programms 65 Speiche*« 64 zugef£ werben weX'sie "autFaster completion of the program carried out 6 5 spoke * «64 added weX's you" aut

-«kr <lcr durchgerührten Programme gewährleistet gleichzeitig als Abfragesignalc dem B AdSssierteH- «kr <lcr programs carried out guaranteed at the same time as a query signal to the B adssesseeH

is.. Wenn der Bcfehlsspeichcr 14 Teile einer Anzahr 75 des Speichers 65 und dem A-Adressierten 14 AeI is .. If the Bcfehlsspeichcr 14 parts of a number 75 of the memory 65 and the A-addressee 14 AeI

ton verschiedenen Programmen enthält, werden die Speichers 66 zugeführt. Wenn eine an den B AdresTon contains various programs, the memories 66 are supplied. If one at the B Adres

sierteil 75 des Speichers <»5 angelegte abfragende Adresse zu einem entsprechenden Teil eines Befehls im Speicher paßt, bewirkt der Speicher 65 mittels eines Steuersignals a'if der Leitung 80 und einer Torschaltung 82, daß der entsprechende Befehl zur Zusamtnensetzschaltung 67 übertragen wird. Ähnlich verhält es sich, wenn eine an den A-Adressierteil 74 des Speichers 66 angelegte Abfrageadresse zum entsprechender, Adressierteil eines Befehls im Speicher paßt. Der Speicher bewirkt dann mittels eines Si- ίο gnalcF auf der Leitung 84 und einer Torschaltung 86 die Übertragung des entsprechenden Befehls zur Zusammensetzschaltung 67. Ein Befehl, der vom Speicher 65 oder vom Speicher 66 zur Zusammenaetzschaltung 67 übertragen wurde, ist ein Befehl. von dem durch Abfragen festgestellt wurde, daß für Ihn im Operandenspeicher 18 in der Anlage der F i g. I die beiden notwendigen Operanden zur Verfügung stehen.sierteil 75 of the memory <»5 created querying Address matches a corresponding part of an instruction in the memory, the memory 65 causes by means of a control signal a'if of the line 80 and a gate circuit 82 that the corresponding command is transmitted to the composite circuit 67. Similar what happens when a query address applied to the A addressing part 74 of the memory 66 corresponds to the corresponding, Addressing part of an instruction in memory fits. The memory then effects a Si- ίο gnalcF on the line 84 and a gate circuit 86 the transmission of the corresponding command for Composition circuit 67. An instruction sent from memory 65 or memory 66 to the assembly circuit 67 is a command. of which it was determined by inquiries that for It in the operand memory 18 in the system of FIG. I have the two necessary operands available stand.

Wenn ein Befehl zur Zusammcnsetzschaltung 67 übertragen wird, leitet dieser den A-Adrcssiertcil 74 und den B-Adressierteil 7f! des Befehls der Reihe nach über Leitungen 90 zum Adressenregister MAR des Operandenspeicher 18 in Fig. 1. Dies führt zur •ufeinanderfolgenden Zurückführung der entsprechenden im Operandenspeicher 18 gespeicherten Operanden. Die durch Zugriff erfaßten Operanden werden vom Datenregis.ter MDR des Speichers 18 der Reihe nach über Leitungen 92 zu Torschaltungen 93 und Si übertragen. Zur gleichen Zeit bewirkt die Zusammensetzschaltung durch ein Steuersignal auf der Leitung 91, daß die Torschaltungen 93 bis 96 getastet und das resultierende gesamte Operations-Operanden-Wort zu dem in Fig. 1 dargestellten Operations-Operanden-Stapel 38 übertragen werden. Danach ist in anderer Hinsicht die Wirkungsweise einer Anlage mit drei Adressicrbcfehlen so, wie es luvor in Verbindung mit der Zwei-Adressen-Anlage gemäß Fig. 1 erläutert wurde.When a command is transmitted to the assembly circuit 67, it forwards the A addressing section 74 and the B addressing section 7f! of the command one after the other via lines 90 to the address register MAR of the operand memory 18 in FIG. 1. This leads to the successive return of the corresponding operands stored in the operand memory 18. The operands detected by access are transferred from the data register MDR of the memory 18 in sequence via lines 92 to gate circuits 93 and Si. At the same time, the composing circuit causes a control signal on line 91 to key gates 93 to 96 and transfer the resulting entire operational operand word to operational operand stack 38 shown in FIG. Thereafter, in other respects, the mode of operation of a system with three address errors is as it was explained above in connection with the two-address system according to FIG.

Claims (2)

Patentansprüche:Patent claims: 1. Datenverarbeitungsanlage mit mehreren gleichzeitig tätigen Verarbeitungseinheiten, einem Speicher für Operanden und Resultate, einen inhaltsadressierbaren Befehlsspeicher, dessen Be fehlsworle jeweils einen Operationskode, minde stens ein Symbol zum identifizieren eines Operanden und ein Symbol zum Identifizieren eine: Resultates bezeichnende Teile enthalten, unt welcher auf Abfragesignale anspricht, die ar mindestens einen bestimmten Teil jedes Befehls Wortes im Befehlsspeicher gerichtet werden, sr daß ein den Abfragesignalen genügendes Befehls wort herausgelesen wird, ferner mit einer Einrichtung zur Übertragung eines jeden aus den Bcfehlsspeicher gelesenen Befehlswortes zu einei verfügbaren Verarbeitungseinheit, welche durcl den Operationskode des Befehls bestimmt ist sowie mit einer Einrichtung zur Übertragung dei errechneten Resultate von den Verarbeitungseinheiten zum Speicher für Operanden und Resul täte, dadurch gcK cnnzeichnet, daß eint Torschaltung (54) vorgesehen ist, welche beirr Anlegen eines errechneten Resultats an den Spei eher (18) für Operanden und Resultate bewirkt daß auch das Resultat-Identifizicrungssymbol de; Befehlswortes in derjenigen Verarbeitungseinhei (I, IT, III) gelesen wird, aus der ein errechnete! Resultat übertragen wird, und daß das gelesen» Resultat-Identifizierungssymbol als Abfrage signal für den Operanden-Identifizierungssymbol teil (24) an den Bcfehlsspeicher angelegt wird.1. Data processing system with several processing units operating at the same time, one Memory for operands and results, a content-addressable instruction memory whose Be always miss an operation code, at least one symbol to identify an operand and a symbol for identifying a: result containing parts designating, unt which is responsive to interrogation signals that ar at least a specific portion of each command Word in the command memory are directed, sr that a command sufficient for the interrogation signals word is read out, also with a device for transmitting each from the Bcfehlsspeicher read command word to one available processing unit, which is determined by the operation code of the instruction and with a device for transmitting the calculated results from the processing units to the memory for operands and results, thereby gcK cnn denotes that unity Gate circuit (54) is provided, which when applying a calculated result to the Spei rather (18) for operands and results has the effect that the result identification symbol de; Command word is read in that processing unit (I, IT, III) from which a calculated! Result is transmitted, and that the read »result identification symbol as a query signal for the operand identification symbol part (24) is applied to the Bcfehlsspeicher. 2. Datenverarbeitungsanlage nach Anspruch 1 dadurch gekennzeichnet, daß der Speicher füi Operanden und Resultate durch einen Speichel (18) mit wahlfreiem Zugriff gebildet ist und eir Adressenregister (MAR) und ein Datenregistei (MDR) enthält, daß die Torschaltung (54) da: Resultat-Identifizierungssymbol des Befehlswor tes, das sich in derjenigen Verarbeitungseinhei befindet, aus der Resultate laufend Übertrager werden, an das Adressenregister (MA R) anlegt und daß eine zusätzliche Torschaltung (50) vor gesehen ist, welche Resultate, die in dieser Ver arbeitungseinheit errechnet worden sind, in da; Datenregister (MDR) überträgt.2. Data processing system according to claim 1, characterized in that the memory for operands and results is formed by a memory (18) with random access and eir address register (MAR) and a data register (MDR) contains that the gate circuit (54) there: result Identification symbol of the command word that is in that processing unit from which the results are continuously transferred to the address register (MA R) and that an additional gate circuit (50) is provided, which results have been calculated in this processing unit are in there; Data register (MDR) transfers. Hierzu 1 Blatt Zeichnungen 109 634/2411 sheet of drawings 109 634/241 IQS?IQS?

Family

ID=

Similar Documents

Publication Publication Date Title
DE3687724T2 (en) DIGITAL PROCESSOR CONTROL.
DE1774164B1 (en) DATA PROCESSING SYSTEM WITH SEVERAL PROCESSING UNITS OPERATING AT THE SAME TIME
DE3116100A1 (en) JUMP ASSESSMENT CENTRAL UNIT
DE68929080T2 (en) Arrangement for storing information for a data provider processor
DE2715073A1 (en) MICROPROGRAMMED COMPUTER CONTROL DEVICE
DE2539211A1 (en) ACCESS CONTROL UNIT
DE1801620B2 (en) DEVICE FOR CONTROLLING MEMORY CELLS OF A COMPUTER MEMORY OF A DATA PROCESSING SYSTEM
DE2718551B2 (en)
DE69033031T2 (en) Programmable control unit
DE2433436A1 (en) PROCEDURE AND ARRANGEMENT FOR MULTIPLE BRANCHING THE PROGRAM IN A DIGITAL COMPUTER
DE2906685C2 (en)
DE69028449T2 (en) System for testing the comparison test function of a data processing system
DE2418921C2 (en) Device for storing micro-programs in a data processing system
DE2723706A1 (en) DEVICE FOR ADDRESS COMPARISON
DE1774164C (en) Data processing system with several simultaneous processing units
DE2726679A1 (en) CHANNEL CONTROL FOR DATA PROCESSING SYSTEMS AND PROCEDURES FOR YOUR BUSINESS
DE2343501C3 (en) Control circuit for at least one computer system with several registers intended for the implementation of input / output programs
DE2359037C2 (en) Computer system
DE2237427C3 (en) Control arrangement in a data processing system with microprogram control
DE69522369T2 (en) Data transmission system and method in an information processing system
DE2856768C2 (en) Priority vector interrupt device
DE2457275C3 (en) Arrangement for monitoring the addressing of a microprogram memory
DE2727188A1 (en) ARRANGEMENT FOR ADDRESSING A MEMORY
DE3016269C2 (en)
DE69400628T2 (en) Method and device for monitoring the data of a computer