DE1774421C - Multi-program data processing system - Google Patents

Multi-program data processing system

Info

Publication number
DE1774421C
DE1774421C DE1774421C DE 1774421 C DE1774421 C DE 1774421C DE 1774421 C DE1774421 C DE 1774421C
Authority
DE
Germany
Prior art keywords
command
address
memory
sequence
register
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
Charles Edward Birmingham Mich.; Barton Robert Stanley Salt Lake City Ut; Quantz Paul Arnold Scottsda-Ie Ariz.; Shimabukuro George Tomomitsu Monterey Park Calif.; Macon (V.St.A.)
Original Assignee
Burroughs Corp., Detroit, Mich. (V.StA.)
Publication date

Links

Description

1 21 2

Pie Erfindung betrifft eine Mehrprogramm- Adresse des weiteren Befehls an die Stelle derPie invention relates to a multi-program address of the further command in place of the

Datenverarbeitungsanlage mit einem Rechenwerk, Adresse des bisher letzten Befehls beim ersten Be-Data processing system with an arithmetic unit, address of the previous command at the first loading

qincm Datenspeicher und einem adressierbaren fehl einsetzt; und daß der weitere Befehl an der ihmqincm datastore and one addressable misuse; and that the further command to him

Befehlsspeicher, in dem mindestens eine Folge von zugeordneten Adresse im Speichor gespeichert wird;Instruction memory in which at least one sequence of assigned addresses is stored in memory;

untereinander derart verketteten Befehlen speicher- S während nach Ausführung des bisher ersten BefehlsCommands that are chained to one another in this way are stored S while the first command so far has been executed

bar ist, daß jeder mit einem Folgebefehl verkettete der Folge der bisher zweite Befehl der Folge mitIt is possible that everyone chained the sequence with a subsequent instruction with the second instruction of the sequence

Befehl eine Verbindungsudrcsse enthält, die die dessen Verbindungsadresse aus dem Speicher in denCommand contains a connection address that transfers its connection address from memory to the

Adresse des nächsten Befehls angibt. Befehlsverarbeiler übertragen und zusammen milSpecifies the address of the next command. Command processor transferred and together mil

Das Konzept der über eine Verbindungsadresse der Adresse des letzten Befehls der Folge bereitverketteten Befehle ist beispielsweise in der USA.- io gehalten wird.The concept of the pre-chained via a connection address of the address of the last command in the sequence Commands is for example in the USA.- io is kept.

Patentschrift 3 297 999 beschrieben und ermöglicht Die Erfindung ermöglicht daher nicht nur einPatent specification 3,297,999 described and enables the invention therefore not only enables one

das gleichzeitige Abarbeiten mehrerer Programme automatisches Abarbeiten von Befchlsfolgen fürthe simultaneous processing of several programs automatic processing of command sequences for

in der Datenverarbeitungsanlage. Das Durchlaufen einen bestimmten Bereich im Datenspeicher oderin the data processing system. Traversing a specific area in the data store or

der zu einem bestimmten Programm gehörenden Rechenwerk, sondern paßt die Länge der Folgenthe arithmetic unit belonging to a certain program, but adjusts the length of the sequences

Bcfchlsfolge durch das Rechenwerk wird durch die 15 automatisch der jeweiligen Befehlslage an. DamitBcfchlssequence through the arithmetic unit is automatically based on the 15 of the respective command situation. In order to

in jedem Befehl enthaltene Verbindungsadresse her- braucht sich der Programmierer nicht mehr darumThe programmer no longer needs to worry about the connection address contained in each command

gestellt, die die Adresse des nächsten Befehles der zu kümmern, ob die gerade erzeugten abgeleitetenput that the address of the next instruction to care if the just generated derived

Folge angibt. Befehle auch sogleich verarbeitet werden können, dieSequence indicates. Commands that contain

Bei der Ausführung von allgemeineren, über- Befehlserzeugung kann unabhängig davon ablaufen,When executing more general, over- command generation can run independently of it,

geordneten Programmbefehlen (Primärbefehlen) ao in welchen Zustünden sich Datenspeicher undOrdered program commands (primary commands) ao in which states are data memories and

werden in der Anlage vielfach neue, abgeleitete Be- Rechenwerk befinden.there will often be new, derived calculators in the system.

fehle erzeugt, die buibpidbweihe das, Auslesen von Der Befehlsverarbeiter weist zweckmäßig einenmissing generated, the buibpidbweihe das, reading out of the command processor appropriately assigns a

Daten aus bestimmten Speicherplätzen, das Ver- Verteilerspeichcr auf, der für jede Speicherstelle imData from certain storage locations, the distribution storage, which is available for each storage location in the

arbeiten dieser Daten und das Wiedereinschreiben Datenspeicher einen Speicherplatz besitzt, art demwork this data and the rewriting data memory has a storage space, kind of

des Verarbeitungsergebnisses an bestimmte Speicher- 25 erste Befehle mehrerer Folgen nebst zugehörigerthe processing result to certain memory 25 first commands of several sequences together with associated

stellen betreffen. Da die abgeleiteten Befehle unab- Adressen der zweiten und letzten Befehle jederbodies concern. As the derived commands inde- pendently addresses the second and last commands each

hängig von dem Betrieb des Rechenwerkes und des Folge speicherbar sind. Ferner werden die Adressendepending on the operation of the arithmetic unit and the sequence are storable. Furthermore, the addresses

Speichers erzeugt werden, werden im Augenblick von freien Speicherstellen im Befehlsspeicher fürMemory generated are currently being used by free memory locations in the instruction memory for

der Befehlserzeugung beide Einrichtungen sich prak- das Einspeichern eines weiteren Befehles in einerthe command generation both devices practically the storage of a further command in one

tisch nie in einem Zustand befinden, der eine sofor- 30 Folge mit Vorteil in einem eigenen Adressenspeichertable is never in a state that has an immediate sequence with advantage in its own address memory

tige Ausführung des abgeleiteten, gerade erzeugten bereitgehalten.term execution of the derived, just generated kept ready.

Befehles ermöglicht. Der erzeugte Befehl wird daher Im folgenden ist ein Ausführungsbeispiel der Erin dem Befehlsspeicher so lange in Wartestellung findung in Verbindung mit der Zeichnung beschriegehalten, bis seine Ausführung möglich ist. ben. Es zeigtCommand enabled. The command generated is therefore The following is an embodiment of the Erin the command memory in waiting position for so long in connection with the drawing described, until it can be carried out. ben. It shows

Eine Schwierigkeit tritt allerdings dann auf, wenn 35 F i g. 1 ein Blockschaltdiagramm der Datenver-A difficulty arises, however, when 35 F i g. 1 is a block diagram of the data transfer

mehrere weitere Befehle erzeugt werden, die sich arbeitungsanlage mit Befehlsverarbeiter;several more commands are generated, which is processed with command processors;

auf den gleichen Speicher- oder Rechenwerkbereich F i g. 2 eine schematische Darstellung der in derto the same memory or arithmetic logic unit area F i g. FIG. 2 is a schematic representation of the FIG

beziehen, zu dem bereits ein Befehl im Befehls- Anlage nach Fig. 1 verwendeten Befehle;refer to the commands already used in the command system according to FIG. 1;

speicher in Wartestellung vorliegt. Die sich dabei für F i g. 3 ein Blockschaltbild der Befehlsfolgesteue-memory is on hold. Which is for F i g. 3 a block diagram of the command sequence control

die einzelnen Speicherbereiche ergebenden Befehls- 40 rung sowie des Rechenwerkes mit Befehlsspeicher;the commands resulting from the individual memory areas as well as the arithmetic unit with command memory;

folgen, deren jeweilige Befehle alle zu dem gleichen F i g. 4 eine Tabelle mit Signalen, die in einzelnenfollow, the respective commands of which all result in the same FIG. 4 a table with signals that are included in individual

Speicherbereich Zugriff verlangen, sind für die ein- Registern zu bestimmten Zeitpunkten während desMemory area access requests are available for the on-registers at certain times during the

zelnen Speicherbereiche unterschiedlich lang, und Betriebsablaufs enthalten sind;individual memory areas of different lengths and operating sequences are included;

ihre Länge schwankt in dem Maße, in dem neue F i g. 5 eine Darstellung der Befehlsfolge imtheir length varies as the new Fig. 5 shows the command sequence in

Befehle erzeugt und die bereits vorhandenen Befehle 45 Befehlsspeicher undCommands generated and the already existing commands 45 command memory and

ausgeführt werden. F i g. 6 eine Tabelle mit bestimmten Signalen, dieare executed. F i g. 6 a table with certain signals that

Der Erfindung liegt die Aufgabe zugrunde, der- zu bestimmten Zeitpunkten in den im einzelnenThe invention is based on the object of the - at certain times in the in detail

artige Folgen (Warteschlangen) von Befehlen zu angegebenen Registern der Befehlsfolgesteuerunglike sequences (queues) of commands to specified registers of the command sequence control

steuern, die dadurch entstehen, daß jeweils mehrere enthalten sind.controls that arise from the fact that several are included in each case.

Befehle Zugriff zu einem bestimmten Bereich des 50 Das Blockschaltbild der Fig. 1 zeigt einen BeRechenwerkes bzw. des Datenspeichers anfordern. fehlsverarbeiter, der ein Verteilerspeichersystem 400 Insbesondere soll die Änderung derartiger Befehls- sowie ein Rechenwerk 100 zur Ausführung von warteschlangen durch Entnahme oder Hinzufügen Befehlen an in einem Plattenspeicherwerk 200 geneuer Befehle bewerkstelligt werden. speicherten Daten aufweist. Das PlattenspeicherwerkCommands Access to a specific area of the 50. The block diagram of FIG. 1 shows a calculator or the data memory. misprocessor using a distribution storage system 400 In particular, the change in such commands and an arithmetic unit 100 for executing queues by removing or adding commands to in a disk storage unit 200 renewed Commands are accomplished. has stored data. The disk storage plant

Bei einer Mehrprogramm-Datenverarbeitungs- 55 200 dient dabei als Datenspeicher. Ein Programmanlage der eingangs beschriebenen Art löst die Erfin- analysator 500 empfängt sogenannte Primärbefehle, dung die Aufgabe dadurch, daß ein Befehlsverarbei- die vom Plattenspeicherwerk 200 erhalten werden, ter den ersten Befehl der Folge verketteter, den und wandelt solche Primärbefehle in Datenverarbeiglcichcn Rechenwerk- bzw. Datenspeicher-Bereich terbcfehle um, die vom Rechenwerk 100 ausgeführt ansprechender Befehle zusammen mit den Adressen 60 werden, und in sogenannte Plattenansprechbefehle, des zweiten und letzten Befehls der Folge bereit- die vom Hauptspeicher der Anlage ausgeführt werhiilt; daß bei Auftreten eines weiteren, iur Folge den. Der Hauptspeicher weist ein Plattenspeichergchörenden Befehls eine Bcfchlsfolgestcuerung mit werk 200, ein Plattensteuerwerk 300 und ein Verllilie der Adresse des letzten Befehls, die zusammen teilerspeichcrsystcm 400 auf. Der Hauptspeicher mit dem ersten Befehl im Ikl'ehlsverarbciter beieil- 65 führt die Plattenansprechbefehle dahingehend aus, gehallen wird, in den letzten Befehl der Folge die daß eine Information aus dem Plattenspeicherwerk Adresse des weiteren Befehls als Verbindungsailresse 200 abgelesen oder in das Plattenspeicherwerk 200 einschreibt: daß eine Übcrsclireibschiilumg die eingeschrieben wird. Das Plattenspeicherwerk 200In the case of a multi-program data processing unit, 55 200 serves as a data memory. A program system of the type described at the beginning, the inventor analyzer 500 receives so-called primary commands, the task in that instruction processing is received from disk storage unit 200, The first command of the sequence is chained and converts such primary commands into data processing Arithmetic unit or data storage area terbc commands executed by arithmetic unit 100 responsive commands together with the addresses 60, and in so-called disk response commands, the second and last command of the sequence ready - which is executed by the main memory of the system; that if another, iur consequence occurs. The main memory has a disk storage part Command a sequential control with Werk 200, a disk controller 300 and a Verllilie the address of the last command, which together divide up to 400. The main memory with the first command in the Ikl'ehlsverarbciter attached 65 executes the disk response commands to the effect, is echoed, in the last command of the sequence that information from the disk storage unit Address of the further command read as connection address 200 or into disk storage unit 200 inscribes: that an oversubscription that is inscribed. The disk storage unit 200

3 43 4

weist ein« Magnetplatte auf, au» welcher eine lnfor- speicherwerk knine Lese· oder Schreiboperation in niiitlon abgelesen oder in welche oino Information der betreiTenden Winkellage statt. Die in das Platteneingeschrieben worden kann. Die Platte ist in speicherwerk 200 eingeschriebene und dort ablesbare Winkullagen (Sektoren) und Bahnen unterteilt. Die Information schließt Programmbefehle, die Daten I1IiUIe wird durch die Angabe einer Wlnkullagozahl s und die Ergebnisse von Rechenoperationen ein, die (Süktorzahl) und oiner Bahnzahl adressiert. vom Rechenwerk 100 durchgeführt worden.has a "magnetic disk" on which an information storage mechanism is read or written in normal or in which information about the angular position involved takes place. Which can be written into the disk. The plate is subdivided into memory unit 200 written and readable angular positions (sectors) and paths. The information includes program commands, the data I 1 IiUIe is addressed by specifying a Wlnkullago number s and the results of arithmetic operations, the (sector number) and a path number. has been carried out by the arithmetic unit 100.

Zur Aufnahme von Befohlen, die zunüchst vom Nachfolgend wird der Aufbau einer EinrichtungIn order to receive orders, which are initially from the following is the structure of a facility

Hauptspeicher oder dem Befehlsverarbciter nicht zum Speichern neuer Befehle in den Verteiler-Main memory or the command processor not to store new commands in the distribution

ausgcfllhrl werden können, ist eine Bcfehlsfolge- speicher betrachtet. Ein Adressenregisler 408 fürA sequence memory is considered. An address register 408 for

steuerung 600 vorgesehen, die die Befehle in einen io einen willkürlichen Zugrill wird zum AdressierenController 600 is provided, which is used to address the commands to an arbitrary IO for addressing

ßcfehlsspeicher 102 einspeichert, der Teil des des Verteilerspcichers 404 vorwendet, wenn einßcfehlsspeicher 102 stores, which uses part of the distribution memory 404 when a

Arbeitsspeichers des Rechenwerkes 100 sein kann neuer Plattenansprechbefehl im VerteilerspeichelThe main memory of the arithmetic unit 100 can be a new disk response command in the distribution memory

(Mg. 3). Die im Befehlsspeicher von der Befohls- 404 gespeichert werden soll. Der Programmanalysa-(Mg. 3). Which is to be stored in the command memory of the command 404. The program analysis

fulgcsieueriing 600 eingespeicherten Befehle für die tor 500 hat ein PrimUrbefehlregister 514 und einfulgcsieueriing 600 stored commands for the gate 500 has a primary command register 514 and a

sogenannten Plattcnansprechbefehle und die Daten- 15 PlatlenbcfchlregisterSlö. Das Plattenbefehlregislerso-called disk response commands and the data 15 disk lock registers. The disk command register

verarbeiterbcfehle. · Die von der Befehlsfolgesteue- 516 speichert die Plattenansprechbefehle, wenn sieprocessing errors. · The from command sequencer 516 stores the disk address commands when they

rung 600 in den Befehlsspeicher gebrachten Befehle gebildet werden, und das PrimUrbefehlrcgister 514 tion 600 brought into the instruction memory commands are formed, and the primary command register 514

werden dort in einer sogenannten »First in/last out«- speichert die entsprechenden Winkellagezahlen fürare there in a so-called "first in / last out" - saves the corresponding angular position figures for

Anordnung gespeichert, so daß der letzte in dem die Platte. Die Winkellagezahl wird zur BestimmungArrangement saved so that the last in which the plate. The number of angular positions is used to determine

Speicher eingebrachte Befehl als erster zur Ausfüh- ao einer Adresse im VerteiIerspeicher404 verwendet,Memory introduced instruction used as the first to execute an address in distributor memory404,

rung steht. wo der im Register 516 enthaltene Plattenansprech-tion stands. where the disk address contained in register 516

Die Befehle werden in getrennten Bcfehlsfolgen befehl gespeichert werden soll. Der Programmiü Abhängigkeit von der Art der Befehlt gespeichert. analysator 500 speichert die Winkellagezahl im Beispielsweise wird jedes Programm eine gesonderte Adressenregister 408 für einen willkürlichen Zugriff ikfehlsfolge aufweisen, und alle Befehle innerhalb 25 und speichert den Plattenansprechbefehl im Inforeiner solchen Befehlsfolge sind über Verbindungs- mationsregister 402 des Verteilerspeichers. Die adressen miteinander verknüpft. Auch wird jeder Steuereinheit 412 beeinflußt eine Torslufe 410, um I'lattenansprechbefehl, der gebildet worden ist, zum die in dem Adressenregister 408 für einen willkür-ί esen oder Schreiben bei einer bestimmten Winkel- liehen Zugiiff gehaltene Adresse auf den Verteilerliige einer Platte des Plattenspeicherwerks 200 ver- 30 speicher 404 zu geben. Gleichzeitig beeinflußt die wendet. Dementsprechend wird für jede Winkellage Steuereinheit 412 auch die Torstufe 406, um die von auf der Platte eine gesonderte Folge von Platten- dem Plattensteuerwerk 300 erzeugten Adressenansprechbefehlen gebildet. signale zu entfernen. Der Verteilerspeicher 404 The commands are stored in separate command sequences where command is to be stored. The program depends on the type of command stored. analyzer 500 stores the angular position number in For example, each program will have a separate address register 408 for arbitrary access, and all commands within 25 and stores the disk address command in the information of such a command sequence are via connection register 402 of the distribution memory. The addresses are linked to one another. Each control unit 412 is also influenced by a gate run 410 in order to obtain a disk response command which has been formed for the address held in the address register 408 for arbitrary access or for writing at a certain angle to the distribution line of a disk of the disk storage unit 200 memory 404 to give. At the same time affects the turns. Accordingly, for each angular position control unit 412, the gate stage 406 is also formed around the address response commands generated by a separate sequence of disk control unit 300 generated on the disk. remove signals. Distribution store 404

Nachfolgend wird die Wirkungsweise des Ver- speichert dann den im Informationsregister 402 ge-The mode of operation of the storage is then stored in the information register 402.

teilerspeichersystems 400 in Verbindung mit dem 35 haltenen Plattenansprechbefehl unter der Steuerungdivider storage system 400 in communication with the disk address command held under control

Plattenspeicherwerk 200 und dem Plattensteuerwerk der Steuereinheit 412 in die Speicherstelle des Ver-Disk storage unit 200 and the disk control unit of the control unit 412 into the storage location of the

300 beschrieben. Ein Verteilerspeicher 404 weist eine teilerspeichers 404 ein, die durch den Inhalt der im300 described. A distributor memory 404 has a divider memory 404 which is determined by the content of the im

Speicherstelle oder eine Speicherspalte für jede Adressenregister 408 gespeicherten WinkellagezahlStorage location or column for each address register 408 stored angular position number

Winkellage auf einer Platte des Plattenspeicherwerks bezeichnet ist.Angular position is designated on a plate of the disk storage unit.

200 auf. Jede Speicherstelle speichert einen Befehl 40 F i g. 2 zeigt eine Skizze mit dem Format der zum Steuern des Ablesens oder des Einschreibens in Plattenansprechbefehle und der Datenverarbeiterder entsprechenden Winkellage der Platte im Plat- befehle. Am linken Ende des in Fig. 2 gezeigten tcnspeicherwerk 200. Eine Steuereinheit 412 bewirkt, Befehls wird eine Information in Abhängigkeit von daß die Speicherstelle des Verteilerspeichers 404, der Art des Befehls eingesetzt. Am rechten Ende des die durch das Plattensteuerwerk300 adressiert wird, 45 in Fig. 2 dargestellten Befehls sind eine Anfangsabgelesen und im Informationsregister 402 gespei- adresse und eine Endadresse eingesetzt. Die Anchert und dann zurückgeschrieben wird. Der Ver- fangsadresse wird dazu verwendet, den Anfang der teilerspeicher 404 ist ein üblicher Magnetkern- entsprechenden Befehlsfolge zu bezeichnen. Die speicher, wie er in der Rechenmaschinentechnik Endadresse wird verwendet, um den letzten Befehl wohlbekannt ist. 50 der entsprechenden Befehlsfolge zu bezeichnen. 200 on. Each memory location stores an instruction 40 F i g. 2 shows a sketch with the format of the commands for controlling the reading or writing in disk response commands and the data processor of the corresponding angular position of the disk in the disk command. At the left end of the tcnspeicherwerk 200 shown in Fig. 2. A control unit 412 effects, commands, information is used depending on the storage location of the distribution memory 404, the type of command. 45 in Fig at the right end of which is addressed by the disk control unit 300. 2 command shown are a Anfangsabgelesen and gespei- information in register 402 address and an end address used. The Anchert and then written back. The starting address is used to designate the beginning of the divider memory 404 is a customary command sequence corresponding to the magnetic core. The memory, as it is in the computing machine end address, is used for the last instruction is well known. 50 of the corresponding command sequence.

Das Plattensteuerwerk 300 erzeugt ein Adressen- Nachfolgend wird allgemein die Wirkungsweise signal, das der Winkellage entspricht, wenn sie zum der Befehlsfolgesteuerung 600 erläutert, bei welcher Ablesen und Einschreiben auf der Platte zugänglich eine Information in die verschiedenen Befehlsfolgen wird. Das Verteilerspeichersystem 400 weist eine im Speicher des Rechenwerks 100 übertragen wird. Torstufe 406 auf, welche die Adressen mit dem Ver- 55 Hierbei wird auf F i g. I Bezug genommen. Es soll teilerspeicher 404 verbindet. Der Verteilerspeicher angenommen werden, daß der Programmanalysator 404 liest den Inhalt der Speicherstelle ab, wenn die 500 im Plattenbefehlsregister 516 einen neuen Platentsprechende Winkellage auf der Platte zum Ab- tenansprechbefehl gebildet hat und die entsprechende lesen und Einschreiben zugänglich wird und wenn Winkellagezahl im Primärbefehlsregister 5!4 enthaldie entsprechende Adresse von dem Plattensteuer- tio ten ist. Der Programmanalysator 500 speichert die werk 300 gebildet wird. Der Befehl wird abgelesen Winkellagezahl in das Adressenregister 408 für einen und im Informationsregister 402 gespeichert, von wo willkürlichen Zugriff. Die Steuereinheit 412 bewirkt, er auf das Plattensteuerwerk 300 zum Steuern des daß der Inhalt der entsprechenden Stelle abgelesen Ablesens und Einschreibens in der zugeordneten und im Informationsregister 402 gespeichert wird. Winkellage der Platte gegeben Wird, sobald diese 65 Wenn ein auf seine Ausführung wartender Platten-Stelle zugänglich wird. Wenn an einer bestimmten ansprcchbefehl in der adressierten Stelle einhalten Speicherstelle des Verteilerspeichers 404 kein Plat- ist, stellt ein Signalgenerator 414 fest, daß dieser tenansprechbefehl gespeichert ist, findet im Platten- Plattenansprechbefehl nun im InformationsregisterThe disk control unit 300 generates an address. The following is the general mode of operation that corresponds to the angular position when it explains to the command sequence control 600 , in which reading and writing on the disk, information in the various command sequences is accessible. The distribution memory system 400 has a data that is transmitted in the memory of the arithmetic unit 100. Gate stage 406 , which addresses the addresses with the 55 This is done on F i g. I referenced. It is supposed to connect divider memory 404 . The distributor memory assumes that the program analyzer 404 reads the contents of the memory location when the 500 in the disk command register 516 has formed a new disk corresponding angular position on the disk for the response command and the corresponding read and write becomes accessible and when the angular position number in the primary command register 5! 4 contains the corresponding address from the disk controllers. The program analyzer 500 stores the work 300 is formed. The command is read angular position number in the address register 408 for one and stored in the information register 402 , from where arbitrary access. The control unit 412 causes it to be sent to the disk controller 300 to control the reading and writing of the contents of the corresponding location in the associated and stored in the information register 402. Angular position of the plate is given as soon as this 65 When a plate position waiting for its execution becomes accessible. If there is no disk at a particular address command in the addressed location of the distribution memory 404 , a signal generator 414 determines that this address command is stored, is now found in the disk address command in the information register

402 gespeichert ist und bildet ein Steuersignal an seinem Ausgang SQd. Dieses Signal zeigt an, daß der neue im Register 516 enthaltene Plattenansprechbefehl in einer Befehlsfolge gespeichert werden muß und nicht im Verteilerspeicher 404' gespeichert werden kann, weil an der betreffenden Speicherstelle schon ein laufender Befehl gespeichert worden ist.402 is stored and forms a control signal at its output SQd. This signal indicates that the new disk address command contained in register 516 must be stored in an instruction sequence and cannot be stored in distribution memory 404 'because a current command has already been stored in the relevant memory location.

Das Steuersignal am Ausgang SQd beeinflußt die Befehhfolgesteuerung 600, so daß es den neuen im Register 516 gehaltenen Plattenansprechbefehl aufnimmt und ihn am Ende einer Befehlsfolge im Speicher des Rechenwerks 100 speichert. Die Befehlsfolge, welche der neue Plattenansprechbefehl zugeführt wird, ist durch die Endadresse des Folgetcils des im Informationsregister 402 gehaltenen Plattenansprechbefehls bezeichnet. Die Befehlsfolgesteuerung 600 nimmt auch den im Register 402 gehaltenen laufenden Plattenansprechbefehl auf und wandelt die Endadresse so ab, daß sie den neuen Endbefehl der entsprechenden Befehlsfolge bezeichnet. Die Steuereinheit 412 bewirkt dann, daß der im Informationsregister 402 enthaltene abgewandelte Plattenansprechbefehl in die gleiche Speicherstellc des Verteilerspeichers 404 zurückgeschrieben wird, aus welcher er abgelesen worden ist und die immer noch durch den Inhalt des Adressenregisters 408 adressiert ist.The control signal at the output SQd influences the command sequence controller 600, so that it accepts the new disk address command held in register 516 and stores it in the memory of arithmetic unit 100 at the end of an instruction sequence. The instruction sequence which is supplied to the new disk address command is identified by the end address of the sequence of the disk address command held in the information register 402. The command sequence control 600 also receives the current disk address command held in register 402 and converts the end address so that it designates the new end command of the corresponding command sequence. The control unit 412 then causes the modified disk address command contained in the information register 402 to be written back into the same storage location of the distribution memory 404 from which it was read and which is still addressed by the contents of the address register 408.

Sollte ein neuer Plattenansprechbefehl durch den Programmanalysator 500 für eine bestimmte Winkellage gebildet werden und sollte die entsprechende Stelle im Verteilerspeicher 404 leer sein, werden alle Null-Werte aus dem Speicher 404 abgelesen und im Informationsregister 402 gespeichert. Unter diesen Bedingungen erzeugt der Signalgenerator 414 kein Steuersignal am Ausgang SQd, und der Programmanalysator sendet den neuen Plattenansprechbefehl auf das Informationsregisler 402, das seinerseits bewirkt, daß er während der folgenden Einschreibeoperation, die nach jeder Ableseoperation erfolgt, in die richtige Speicherstelle eingespeichert wird.If a new disk address command is generated by the program analyzer 500 for a specific angular position and the corresponding position in the distributor memory 404 is empty, all zero values are read from the memory 404 and stored in the information register 402. Under these conditions, the signal generator 414 does not generate a control signal at the output SQd, and the program analyzer sends the new disk address command to the information register 402, which in turn causes it to be stored in the correct memory location during the following write operation, which takes place after each read operation.

Wenn ein Plattenansprechbefehl von einer Stelle des Verteilerspeichers 404 abgelesen und ausgeführt wird, liefert die Befehlsfolgesteuerung den nächsten Plattenansprechbefehl aus der entsprechenden Befehlsfolge zum Verteilerspeicher 404 für die Ausführung. Zu diesem Zweck liefert die Steuereinheit 412 ein Signal auf den Signalgenerator 414 und bewirkt dadurch die Bildung eines Steuersignals am Ausgang RQd, sobald ein laufender Befehl vom Speicher abgelesen und im Informationsregister 402 gespeichert wird, während die Torstufe 406 Adressensignale des Plattensteuerwerks 300 zum Verteilerspeicher leitet. Das Steuersignal am Ausgang RQd bewirkt, daß die Befehlsfolgesteuerung 600 den nächsten Plattenansprechbefehl in der entsprechenden Befehlsfolge erhält und diesen Befehl ins Informationsregister 402 einspeichert und daß der neue Plattenansprechbefehl in die Speicherstelle zurückgespeichert wird, aus welcher der gerade ausgeführte laufende Befehl erhalten worden ist. Das Einschreiben des neuen Plattenansprechbefehls erfolgt während der Schreiboperation, die immer auf eine Leseoperation folgt. Die Befchlsfolge, aus welcher der neue Befehl erhalten worden ist, wird durch eine Anfangsadresse bezeichnet, die im Endteil des Plattenansprechbefehls enthalten ist. Wenn ein Plattenansprechbefehl von einer Adresse abgelesen wird.When a disk address command is read from a location in distribution memory 404 and executed, the command sequence control provides the next disk address command from the corresponding command sequence to distribution memory 404 for execution. For this purpose, the control unit 412 supplies a signal to the signal generator 414 and thereby causes the formation of a control signal at the output RQd as soon as a current command is read from the memory and stored in the information register 402 , while the gate stage 406 routes address signals from the disk control unit 300 to the distribution memory. The control signal at the output RQd causes the command sequence controller 600 to receive the next disk address command in the corresponding command sequence and to store this command in the information register 402 and that the new disk address command is stored back in the memory location from which the current command that has just been executed has been received. The new disk address command is written in during the write operation which always follows a read operation. The command sequence from which the new command was obtained is designated by a starting address which is contained in the end part of the disk address command. When a disk address command is read from an address.

die durch das Plattensteuerwerk 300 bezeichnet ist, und das Ende des Befehls eine Null aufweist, die anzeigt, daß es keine entsprechende Befehlsfolge gibt, liefert der Signalgenerator 414 ein Signal an das Informationsregister 402, das bewirkt, daß es geleert wird und alle Null-Werte während der nächsten Schreiboperation gespeichert werden. Auf diese Weise sind beim nächsten Mal, wenn die entsprechende Speicherstelle ausgelesen wird, alle NuIl-Werte abgelesen, die dem Signalgcnerator 414 anzeigen, daß die besondere Stelle leer ist und vom Programmanalysator einen neuen Plattenansprechbefehl erhalten kann. Das Rechenwerk 100 wirkt mit der Befehlsfolgesteuerung 600 in gleicher Weise zusammen. Für jedes Programm, das im Bcfchlsvcrarbeiter abläuft, gibt es eine Befehlsfolge. Sobald ein neuer Befehl, der in einem der Programme vom Rechenwerk 100 ausgeführt wird, in der Befehlsfolge gespeichert werden soll, wird ein Steuersignal amwhich is designated by disk controller 300 and the end of the command has a zero, the indicates that there is no corresponding instruction sequence, the signal generator 414 provides a signal to the Information register 402 which causes it to be emptied and all zero values during the next Write operation can be saved. That way the next time you are the appropriate Memory location is read out, read all NuIl values that the signal generator 414 indicate that the particular location is empty and a new disk address command from the program analyzer can get. The arithmetic unit 100 acts in the same way with the command sequence control 600 together. There is a command sequence for every program that runs in the processor. As soon as a new command, which is executed in one of the programs by the arithmetic unit 100, in the command sequence is to be saved, a control signal is sent to the

ao Ausgang SQp des Rechenwerkes 100 gebildet, das bewirkt, daß der neue Befehl in der entsprechenden Befehlsfolge mittels der Befehlsfolgesteuerung 600 gespeichert wird. Auch wenn das Rechenwerk 100 die Ausführung eines laufenden Befehls beendet und ein neuer Befehl aus der entsprechenden Befehlsfolge abgelesen werden soll, wird am Ausgang RQp des Rechenwerkes 100 ein Steuersignal erzeugt, damit durch die Befehlsfolgesteuerung 600 ein neuer Befehl von der Spitze der entsprechenden Befehlsfolge er-ao output SQp of the arithmetic logic unit 100 is formed, which has the effect that the new command is stored in the corresponding command sequence by means of the command sequence controller 600. Even if the arithmetic unit 100 ends the execution of a current command and a new command is to be read from the corresponding command sequence, a control signal is generated at the output RQp of the arithmetic unit 100 so that the command sequence controller 600 generates a new command from the top of the corresponding command sequence.

halten wird.will hold.

Ein Adressenspeicher 520 (common list control) arbeitet in Verbindung mit dem Befehlsspeicher im Rechenwerk 100 und enthält einen Stapel oder eine Liste von verfügbaren Adressen. Wenn der Programmanalysator 500 und die Befehlsfolgesteuerung 600 neue Adressen benötigen, liefert der Adressenspeichcr 520 die verfügbaren Adressen einzeln, wie sie benötigt werden. Wenn die Adressen vom Programmanalysator 500 und vom Rechenwerk 100 gebraucht worden sind, werden sie in gleicher Weise durch den Adressenspeicher 520 in den Speicher zurückgebracht. Einzelheiten eines derartigen Adressenspeichetj, sind beispielsweise in der amerikanischen Patentschrift 3 297 999 beschrieben, sind für das Verständnis der Erfindung nicht erforderlich und brauchen daher nicht näher mitgeteilt zu werden. Nachfolgend wird der Aufbau der Befehlsfolgesteuerung 600 des Befehlsspeichers und der Register des Rechenwerks 100, die mit der Befehlsfolgesteuerung 600 zusammenwirken und die in F i g. 3 dargestellt sind, näher beschrieben. Das X-Register 602 empfängt und speichert Plattenansprechbefehle aus dem Informationsregister 402 des Verteilerspeichers. Die Anfangsadresse eines solchen Befehls wird im Abschnitt 602 b des X-Registers gespeichert und wird zum Adressieren des Anfangs oder der Spitze der entsprechenden Befehlsfolge verwendet. Das X-Register 692 wird auch zum Speichern eines neuen Befehls vom Kopf der entsprechenden BefehlsfolgeAn address memory 520 (common list control) works in conjunction with the instruction memory in the arithmetic logic unit 100 and contains a stack or list of available addresses. When the program analyzer 500 and the instruction sequencer 600 need new addresses, the address memory 520 supplies the available addresses one by one as they are needed. When the addresses have been used by the program analyzer 500 and the arithmetic logic unit 100, they are returned to the memory in the same way by the address memory 520. Details of such an address memory are described, for example, in US Pat. No. 3,297,999, are not necessary for an understanding of the invention and therefore do not need to be given in more detail. The structure of the instruction sequence control 600 of the instruction memory and of the registers of the arithmetic unit 100, which interact with the instruction sequence control 600 and which are shown in FIG. 3 are shown, described in more detail. The X register 602 receives and stores disk address commands from the information register 402 of the distribution memory. The starting address of such an instruction is stored in section 602b of the X register and is used to address the beginning or the top of the corresponding instruction sequence. The X register 692 is also used to store a new instruction from the head of the corresponding instruction sequence

verwendet, wenn er aus dem Befehlsspeicher im Rechenwerk abgelesen wird. Der Befehl wird im X-Register gespeichert, nachdem er vom Kopf der Befehlsfoige empfangen worden ist, und wird über eine Torschaltung von dort entweder zum Informationsregister 402 des Verteilerspeichers oder zum Rechenwerk zurückgeleitet, je nachdem von welcher Einheit der entsprechende laufende Befehl erhalten worden ist.used when it is read from the instruction memory in the arithmetic unit. The command is stored in the X register after it has been received by the head of the command sequence, and is passed back via a gate circuit from there either to the information register 402 of the distribution memory or to the arithmetic unit, depending on which unit the corresponding current command has been received from.

er el; di ur A A dehe el; di ur A A de

si F Ii ν F η S c / a rsi F Ii ν F η S c / ar

7 87 8

Das X-Register 602 wird auch zum Speichern folge herausgenommen, wird der erste Befehl vonThe X register 602 is also taken out for storage sequence, the first instruction of

eines laufenden Befehls verwendet, der entweder der Adressenstelle 001 weggenommen,a current command is used that has either been removed from address 001,

vom Verteilerspeicher 404 oder dem Rechenwerk 100 Im Zusammenhang mit der Tabelle F i g. 4 wirdfrom the distributor memory 404 or the arithmetic unit 100 In connection with the table F i g. 4 will

erhalten wird, wenn ein neuer Befehl der entspre- nachstehend ein Arbeitsbeispiel der Befehlsfolge-is received when a new command of the corresponding- Below is a working example of the command sequence-

chenden Befehlsfolge zugefügt werden soll. Unter 5 steuerung 600 erläutert. Die Tabelle der F i g. 4 zeigtto be added to the command sequence. Under 5 control 600 explained. The table of FIG. 4 shows

diesen Bedingungen ist die Endadresse des laufenden bestimmte Zeitgebersignale und den Inhalt der be- .these conditions is the end address of the current particular timer signals and the content of the loading.

und im X-Register 602 gespeicherten Befehls im zeichneten Register während der Operation.and instruction stored in X register 602 in the signed register during operation.

Abschnitt 602c gespeichert. Die Endadresse wird als Dem Ausführungsbeispiel nach Fig. 4 folgendSection 602c saved. The end address is defined as following the embodiment of FIG

Adresse zum Speichern des neuen Befehls verwendet, wird zunächst angenommen, daß das Informations-Address is used to store the new command, it is initially assumed that the information

der der bestehenden Befehlsfolge zugefügt werden io register402 (s. Fig. 1) des Verteilerspeichers einenwhich are added to the existing instruction sequence io register 402 (see FIG. 1) of the distribution memory

soll, und dann wird eine neue Endadresse im Ab- Plattenansprechbefehl GGG; 001; 009 speichert,should, and then a new end address in the Ab- disk address command GGG; 001; 009 stores,

schnitt 602 c gespeichert, welche die alte Endadresse Hierbei bezeichnet die erste Zahl eine Befehlsinfor-cut 602 c, which is the old end address.

des laufenden Befehls ersetzt. Der laufende Befehl mation, die zweite Zahl die Anfangsadresse und dieof the current command. The current command mation, the second number the start address and the

wird dann in die Einheit zurückgesandt, aus welcher dritte Zahl die Endadresse. Außerdem sei angenom-is then sent back to the unit from which third number the end address. In addition, assume

er zur Ausführung empfangen worden ist. 15 men, daß am Anfang der Adressenliste im Adressen-he has been received for execution. 15 men that at the beginning of the address list in the address

Es ist ein Steuerkreis 604 vorgesehen, der Steuer- speicher die Adresse 005 steht. Wenn nun der Signalsignale an den Ausgängen bildet, die allgemein mit generator414 (s. Fig. 1) ein Steuersignal an seinem dem Kennbuchstaben »r«, gefolgt von einer Index- Ausgang RQd bildet und damit anzeigt, daß ein ziffer, bezeichnet sind. Die an diesen Ausgängen neuer Befehl aus der entsprechenden Befehlsfolge gebildeten Steuersignale steuern die Folge der Opera- ao erhalten werden soll, beeinflußt dieses Steuersignal tionen der Befehlsfolgesteuerung 600. ' am Ausgang RQd eine Torstufe 606, so daß der imA control circuit 604 is provided, the control memory has the address 005 . If now the signal signals at the outputs, generally with generator 414 (see Fig. 1), a control signal at its code letter "r", followed by an index output RQd and thus indicates that a digit is designated. The control signals formed at these outputs new command from the corresponding command sequence control the sequence of operations to be received, this control signal influences the command sequence control 600. 'at the output RQd a gate stage 606 so that the im

In F i g. 3 ist das Rechenwerk 100 wieder in Informationsregister 402 des Verteilerspeichers ent-Blockform zusammen mit anderen hier noch inter- haltene Befehl in das X-Register 602 geliefert wird, essierenden Teilen des Datenverarbeitungssystems Auch bewirkt das Steuersignal am Ausgang RQd, dargestellt. Wie bereits erwähnt, ist ein Arbeits- »5 daß ein Zeitverzögerungsschaltkreis 614 mit dem speicher als Befehlsspeicher 102 vorgesehen, der ein Aussenden eines Zeitgebersignals beginnt. Zur Er-Informationsregister 102 a und ein Adressenregister läuterung sei gesagt, daß, wenn der Zeitverzögerungs-102fc aufweist. Der Arbeitsspeicher 102 und seine kreis 614 ausgelaufen ist, er ein Steuersignal bildet, zugeordneten Informations- und Adressenregister das eine Torstufe 622 beeinflußt dergestalt, daß der sind übliche Magnetkernspeichervorrichtungen. Im 30 Inhalt des X-Registers 602 ausgegeben und in das Rechenwerk ist ein Register 104 vorgesehen, in dem Informationsregister 402 des Verteilerspeichers einlaufende Befehle durch das Rechenwerk gespeichert gespeichert wird. Im weiteren Arbeitsvcrlauf der werden. Das Register 104 kann als ein Register im Befehlsfolgesteuerung 600 hält nun das X-Register Rechenwerk 100 angesehen werden, das dem Infor- 602 die Anfangsadresse 001 und die Endadresse 009 mationsregister402 des Verteilerspeichers in dem 35 in den Abschnitten 602 b und 602c. Aus Fig. 5 ist Sinne entspricht, daß dort laufende Befehle gespei- ersichtlich, daß dies die Anfangs- und Endadressen chert werden. Ein Detektor 106 bildet entweder am der Befehlsfolge sind. Der Steuerkreis 604 wird Ausgang RQp oder SQp ein Steuersignal. Ein Signal durch das Steuersignal am Ausgang R Qd aktiviert auf den Ausgängen RQp und SQp besagt, daß ein und bildet dadurch ein Steuersignal am Ausgang ta. neuer Befehl entweder aus der Befehlsfolge heraus- 4° Das bewirkt, daß die im Abschnitt 602 b enthaltene gelesen oder daß ein neuer Befehl in der Befehls- Anfangsadresse über eine Torstufe 624 in das Adresfolge gespeichert werden muß. Im Rechenwerk 100 senregister 102 ft des Arbeitsspeichers eingespeichert ist ein Register 108 zum Speichern neuer Befehle wird.G in F i. 3 is 100 in information register 402 of the manifold memory ent-block form along with other here nor inter- maintained command in the X-register 602 again supplied, the calculator, essierenden parts of the data processing system also causes the control signal at the output RQD shown. As already mentioned, a working time delay circuit 614 is provided with the memory as command memory 102 , which starts sending out a timer signal. For He information register 102 a and an address register is fining said that when the time delay has 102fc. The main memory 102 and its circuit 614 has expired, it forms a control signal, associated information and address registers that influence a gate stage 622 in such a way that they are conventional magnetic core memory devices. In the content of the X register 602 output and in the arithmetic unit, a register 104 is provided, in which the information register 402 of the distribution memory is stored by the arithmetic unit and the incoming commands. In the further work flow of the. The register 104 may hold as a register in the instruction sequencer 600 is now the X-register arithmetic logic unit are considered 100 that the infor- 602, the starting address 001 and end address 009 mationsregister 402 of the manifold memory in the 35 in the sections 602 b and 602c. From FIG. 5 it is corresponding to the fact that commands running there are stored, that the start and end addresses are cherted. A detector 106 forms either on the command sequence are. The control circuit 604 is output RQp or SQp a control signal. A signal activated by the control signal at the output R Qd on the outputs RQp and SQp means that a and thereby forms a control signal at the output ta. New command either out of the command sequence 4 ° This has the effect that the one contained in section 602 b has to be read or that a new command must be stored in the command start address via a gate stage 624 in the address sequence. A register 108 for storing new commands is stored in the arithmetic unit 100 senregister 102 ft of the main memory.

vorgesehen, die der Befehlsfolge im Arbeitsspeicher Der Steuerkreis 604 bildet dann ein SteuersignalThe control circuit 604 then forms a control signal

102 zugefügt werden sollen. Das Register 108 kann 45 am Ausgang ta 1, das bewirkt, daß der Befehlsspei- 102 should be added. The register 108 can have 45 at the output ta 1, which causes the instruction storage

als Register innerhalb des Rechenwerks 100 ange- eher 102 den Inhalt der Speicherstelle Ml in dasas a register within the arithmetic logic unit 100, rather 102 the content of the memory location Ml into the

sehen werden, das dem Plattenbefehlsregister516 des Informationsregister 102a ausliest. Aus Fig. 4 istwhich reads from disk command register 516 of information register 102a. From Fig. 4 is

Programmanalysators 500 entspricht, da das Rechen- ersichtlich, daß dieser neue Befehl InformationenProgram analyzer 500 corresponds, since the arithmetic can be seen that this new instruction information

werk neue Befehle in diesem Register speichert. enthält, die durch die Symbole HHH und die Ver-werk saves new commands in this register. which is indicated by the symbols HHH and the

Nachfolgend wird ein Beispiel einer im Befehls- 50 bindungsadresse 010 bezeichnet sind,
speicher 102 gehaltenen Befehlsfolge im Zusammen- Der Steuerkreis 604 bildet dann ein Steuersignal hang mit der Skizze der Fig. 5 beschrieben. Die Be- am Ausgang ta2, das bewirkt, daß der neue im fehlsfolge wird an den Speicherstellen Ml, M4, 005, Informationsregister 102 a gehaltene Befehl über eine M9 und 010 gehalten. Jede Speicherstelle hat eine Torstufe 626 und das X-Register 602 gegeben wird, eingespeicherte Verbindungsadresse. Der Kopf der 55 Aus Fig.4 ist ersichtlich, daß der neue Befehl so Befehlsfolge ist in der Adresse Ml und das Ende der gespeichert wird, daß die Verbindungsadresse ti· Befehlsfolge ist in der Speicherstelle 009 enthalten. nun die Anfangsadresse wird und daß die End-Die Adresse Ml ist mit dem nächsten Befehl über adresse M9 des früheren Befehls die Endadresse des die Verbindungsadresse 010 verbunden. Auf gleiche neuen Befehles wird.
Below is an example of a binding address 010 designated in the command 50,
memory command sequence 102 held in connection The control circuit 604 then forms a control signal slope with the sketch of Fig. described. 5 The loading at the output ta 2, causes that in the command sequence, the new one is in the storage locations Ml, M4, 005-held information register a command from a M9 and 010 held 102nd Each memory location has a gate 626 and the X register 602 is given a stored connection address. The head of the 55 From FIG. 4 it can be seen that the new command is so command sequence in the address Ml and the end of the is stored that the connection address ti · command sequence is contained in the memory location 009. now the start address and that the end address Ml is connected to the next command via address M9 of the previous command, the end address of the connection address 010. On the same new orders.

Weise ist die Adresse 010 mit dem nächsten Befehl Co Der Steuerkreis 604 bildet dann ein SteuersignalWay is the address 010 with the next command Co. The control circuit 604 then forms a control signal

durch die Verbindungsadresse 004 verbunden, und am Ausgang ta 3, und gleichzeitig läuft die Zeit desconnected by the connection address 004, and at the output ta 3, and at the same time the time is running

die Adresse M4 ist mit dem letzten Befehl über die Zeitverzögerungskreises 614 ab, und das Signal desthe address M4 is with the last command via the time delay circuit 614, and the signal des

Verbindungsadresse M9 verbunden. Wenn ein neuer Zeitverzögerungskreises 614 in Übereinstimmung mitConnection address M9 connected. When a new time delay circuit 614 in accordance with Befehl dieser Folge zugefügt werden soll, wird der dem Steuersignal am Ausgang tai beeinflußt dieCommand is to be added to this sequence, the control signal at the output tai is influenced Befehl in eine neue Adresse eingesetzt, und die 65 Torstufe 622 so, daß sie den neuen Befehl vomCommand inserted into a new address, and the 65 gate stage 622 so that it receives the new command from Daten der neuen Adresse werden in den Adressen- X-Register 602 in das Informationsregister 402 desData of the new address is stored in the address X register 602 in the information register 402 of the

teil des Befehls eingesetzt, der an der Adressenstelle Verteilerspeichers liefert, damit er dort wie vor-part of the command is used, which supplies distribution memory to the address point so that it can be used there as before

M9 gehalten wird. Wird ein Befehl aus der Befehls- stehend erwähnt gespeichert wird.M9 is held. If a command mentioned in the command is saved.

9 , 109, 10

An dieser Stelle bildet die Adresse 010 den Anfang Schaltens des Zeitverzögerungskreises 616 wird nochAt this point the address 010 is the beginning of the switching of the time delay circuit 616

der- Befehlsfolge, wie durch die Anfangsadresse des näher beschrieben werden, besteht im wesentlichenthe command sequence, as described in more detail by the start address of, essentially consists

Befehls angedeutet ist, der im Informationsregister jedoch darin, ein Signal zu erzeugen, das zur geeig-Instruction is indicated, which in the information register, however, is to generate a signal that is suitable for

402 des Verteilerspeichers gespeichert ist, und die neten Zeit auf eine Torstufe 622 gegeben wird, so402 of the distribution memory is stored, and the neten time is given to a gate 622, so

Endadresse ist immer noch die Adresse 009. 5 daß über die Torstufe 622 ein in das X-Register 602The end address is still the address 009. 5 that via the gate stage 622 into the X register 602

Die Betriebsweise der Befehlsfolgesteuerung 600 gegebener Befehl in das Informationsregister 402 beim Liefern eines neuen Befehls für das Rechen- zum Speichern zurückgebracht wird. Im Zuge des werk 100 ist ähnlich der vorstehend beschriebenen Arbeitsablaufs der Befehlsfolgesteuerung 600 beArbeitsweise für den Verteilerspeicher 404 und wird wirkt ein Steuersignal am Ausgang SQd, daß eine nachfolgend kurz erwähnt. Beispielsweise bildet der io Torstufe 610 beeinflußt wird und der im Informa-Detektorkreis 106 ähnlich wie der Signalgenerator tionsregister402a des Verteilerspeichers gehaltene im Verteilerspeicher 404 an seinem Ausgang RQp Plattenansprechbefehl im X-Register 602 gespeichert ein Steuersignal, das anzeigt, daß eine im Register wird. Aus Fig. 6 ergibt sich, daß das X-Register 602 104 enthaltene laufende Adresse durch einen neuen nun die Anfangsadresse 001 und eine Endadresse Befehl ersetzt werden soll. Das Signal am Ausgang 15 009 enthält.The operation of the instruction sequencer 600 command given is returned to the information register 402 upon delivery of a new instruction for arithmetic for storage. In the course of the plant 100, the operating sequence of the command sequence control 600 is similar to the above-described workflow for the distribution memory 404 and a control signal that is briefly mentioned below acts at the output SQd. For example, the IO gate stage 610 is influenced and the information detector circuit 106 similar to the signal generator tion register402a of the distribution memory held in the distribution memory 404 at its output RQp disk response command in the X register 602 stored a control signal that indicates that one is in the register. 6 shows that the current address contained in X register 602 104 is to be replaced by a new one, now the start address 001 and an end address command. The signal at output 15 009 contains.

RQp aktiviert einen Zeitverzögerungskreis 618. Der Das Steuersignal am Ausgang SQd schaltet den Zeitverzögerungskreis 618 ist identisch dem Zeitver- Steuerkreis 604 ein. Der Steuerkreis 604 bildet nun zögerungskreis 614 und beeinflußt nach seinem Aus- ein Steuersignal am Ausgangskreis tb. Das Steuerlauf eine Torstufe 628 dergestalt, daß der neue signal am Ausgang tb bewirkt, daß die im Abschnitt Befehl aus der entsprechenden Befehlsfolge zurück ao 602 c enthaltene Endadresse 009 im Adressenregister in das Register 104 des Rechenwerkes 100 gebracht 102 ft des Befehlsspeichers gespeichert wird,
wird. Das Steuersignal am Ausgang RQp beeinflußt Das Steuersignal am Ausgang tb beeinflußt auch die Torstufe 608 und bewirkt ein Speichern des-, eine Torstufe 631, um die oberste Adresse in dem laufenden Befehls im X-Register 602. Die Steuerein- Adressenspeicher 520, die Adresse 005, in den Endheit604 bildet dann Steuersignale an den Ausgän- 25 adressenabschnitt602c des X-Registers zum Speigen ία, tal, und /a2, wie vorstehend beschrieben, ehern zu bringen, und auf diese Weise wird in den welche bewirken, daß der an der Spitze stehende laufenden und im X-Register 602 enthaltenen Befehl Befehl der entsprechenden Befehlsfolge im X-Re- eine neue Endadresse eingesetzt. Der Adressengister 602 gespeichert und dann über die Torstufe speicher 520 bringt dann eine neue Adresse an die 628 in das Register 104 zurückgespeichert wird, 30 Spitze der Liste, in diesem Falle beispielsweise die nachdem seine Anfangsadresse abgewandelt worden Adresse 006.
RQp activates a time delay circuit 618. The control signal at the output SQd switches the time delay circuit 618 is identical to the time delay control circuit 604. The control circuit 604 now forms the delay circuit 614 and, after it has been switched off, influences a control signal at the output circuit tb. The control run of a gate stage 628 in such a way that the new signal at the output tb causes the end address 009 contained in the instruction section of the corresponding instruction sequence back ao 602 c in the address register to be stored in the register 104 of the arithmetic unit 100 102 ft of the instruction memory,
will. The control signal at the output RQp influences the control signal at the output tb also influences the gate stage 608 and causes the storage of the gate stage 631 at the top address in the current instruction in the X register 602. The control input address memory 520, the address 005 , in the terminal unit 604 then forms control signals at the output address section 602c of the X register for specifying ία, tal, and / a2 as described above, and in this way will cause the at the top standing current command contained in X register 602 command of the corresponding command sequence in X-Re- a new end address inserted. The address register 602 is stored and then via the memory gate stage 520 brings a new address to the 628 is stored back in the register 104, top of the list, in this case for example the address 006 after its starting address has been modified.

ist und auf die nächste Verbindungsadresse in der Anschließend bildet der Steuerkreis 604 einThe control circuit 604 then maps to the next connection address in the

Befehlsfolge hinweist. Steuersignal am Ausgang tb 1, das den Befehls-Command sequence indicates. Control signal at output tb 1, which indicates the command

Nachfolgend wird die Arbeitsweise der Befehls- speicher 102 zum Ablesen des Inhalts der Adresse folgesteuerung 600 beim Hinzufügen eines neuen. 35 009 bringt, der im Införmationsregister 102a gespei-The following is the mode of operation of the instruction memory 102 for reading the content of the address sequencer 600 when adding a new one. 35 009, which is stored in the information register 102a

Befehls zur entsprechenden Befehlsfolge durch den chert wird. Zur besseren Erläuterung ist das Befehls-Command for the corresponding command sequence through which is chert. For a better explanation, the command

Programmanalysator beschrieben. Es soll zur Illu- wort in F i g. 6 dargestellt: EEE;—; .An dieserProgram analyzer described. It is intended to illustrate the illustration in FIG. 6 shown: EEE; -; .At this

stration angenommen werden, daß der neue Befehl Stelle sei darauf hingewiesen, daß der aus der Endein Plattenansprechbefehl ist, der im Plattenbefehl- adresse 009 abgelesene Befehl keine Verbindungsregister 516 des Progrämmanalysators 500 gespei- 40' adresse· enthält, weil er der letzte Befehl in der chert ist. In der folgenden Beschreibung wird dem Befehisfolge ist. Es muß jetzt jedoch eine neue Endin F i g. 6 dargestellten Ausführungsbeispiel gefolgt, adresse dort eingesetzt werden. stration be assumed that the new command position should be noted that the one from the Endein Disk address command is that the command read in disk command address 009 does not contain any connection registers 516 of program analyzer 500 because it is the last command in the chert is. In the following description, the instructions are given. However, there must now be a new end in FIG. 6 illustrated embodiment followed, address can be used there.

Es sei angenommen, daß der Plattenansprech- Zu diesem Zweck bildet der Steuerkreis 604 ein befehl lautet: DDD; —; —, wie aus dem in F i g. 6 Steuersignal am Ausgang tbl, das die Torstufe 632 dargestellten Inhalt des Plattenbefehlregisters 516 45 beeinflußt und bewirkt, daß die neue Endadresse 005, ersichtlich ist. Es zeigt sich also, daß die Anfangs- die im Abschnitt 602c enthalten ist, im Adressenünd Endadressen dem Befehl noch nicht zugefügt abschnitt des Informationsregisters 102 a des Befehlsworden sind. In der vorstehend beschriebenen Art Speichers gespeichert wird. . '
liefert der Programmanalysator 500 eine Winkellage- Der Steuerkreis 604 bildet dann ein Steuersignal zahl auf das Adressenregister 408 für einen Willkür- 50 am Ausgang tb 3, das bewirkt, daß der im Informalichen Zugriff und bewirkt, daß der Inhalt der ent- tionsregister 102 a enthaltene Befehl rhit seiner neuen sprechenden Stelle des Verteilerspeichers abgelesen Endadresse zurück in die Speicherstelle 009 ge- und im Informationsregister 402 gespeichert wird. geben wird. Jetzt ist die Befehlsfolge so abgewandelt Angenommen, daß das Informationsregister 402 des worden, daß sie die Verbindungsadresse 005 enthält. Verteilerspeichers nun den laufenden Platten- 55 Der neue Plattenansprechbefehl im Programmansprechbefehl CCC; 001; 009 zur Ausführung spei- analysator muß nun gespeichert werden, und der chert, so stellt der Signalgenerator414 (Fig. 1) fest, laufende Befehl mit der neuen Endadresse muß in daß ein laufender Befehl an der Speicherstelle ent- den Verteilerspeicher 404 zurückgegeben werden, halten ist, in welcher der neue Plattenansprechbefehl Folglich bildet der Steuerkreis 604 ein Steuersignal gespeichert werden soll, und bildet /ein Steuersignal 60 am Ausgang tb4, das bewirkt, daß die im Abschnitt am Ausgang SQd. Dieses Signal zeigt an, daß die 602 c des X-Registers gehaltene neue Endadresse entsprechende Spalte oder Speicherstelle des Ver- über die,Torstufe630 in das Adressenregister 102t teilerspeichers 404 einen laufenden Befehl enthält, zum Speichern gegeben wird. Durch das Signal am der darauf wartet, ausgeführt zu werden. Deshalb muß Ausgang SQd wird auch ein Zeitverzögerungskreis der nque im Plattenbefehlregister 516 gehaltene Befehl 65 638 aktiviert, der nach seinem Auslauf ein Signal in in der entsprechenden Befehlsfolge gespeichert werden. Übereinstimrnuag mit dem Signal am Ausgang 16 4
It is assumed that the disk response. To this end, control circuit 604 forms a command: DDD; -; -, as shown in FIG. 6 Control signal at the output tbl, which influences the contents of the disk command register 516 45 shown in the gate stage 632 and causes the new end address 005 to be visible. It can therefore be seen that the beginning, which is contained in section 602c, has not yet been added to the command in the address and end addresses section of the information register 102a of the command. Is stored in the type of memory described above. . '
If the program analyzer 500 supplies an angular position, the control circuit 604 then forms a control signal number to the address register 408 for an arbitrary 50 at the output tb 3, which causes the informal access and causes the content of the entry register 102a to be contained Command rhit its new speaking location of the distribution memory read end address back to memory location 009 and stored in information register 402. will give. Now the instruction sequence has been modified. It is assumed that the information register 402 has been made to contain the connection address 005. Distribution memory now the current disk 55 The new disk response command in the program response command CCC; 001; 009 must now be saved to execute the memory analyzer, and the signal generator 414 (FIG. 1) determines that the current command with the new end address must be returned to the distribution memory 404 in a current command at the memory location, is hold, in which the new disk response command. Consequently, the control circuit 604 forms a control signal to be stored, and forms / a control signal 60 at the output tb 4, which causes the in the section at the output SQd. This signal indicates that the 602 c of the X register held new end address corresponding column or memory location 102t of the encryption on the one gate stage 630 in the address register memory divider 404 includes a current command is given to store. By the signal on that is waiting to be executed. Therefore, a time delay circuit of the nque command 65 638 held in the disk command register 516 must also be activated at output SQd, which after its expiry a signal is stored in the corresponding command sequence. Correspondence with the signal at output 16 4

Das Steuersignal am Ausgang SQd aktiviert den erzeugte Dadurch wird eine Torstufe 636 freigegeben,The control signal at the output SQd activates the generated gate stage 636 is enabled, Z^itvcrzögerungskreis 616. Der Zweck des Ein- um den neuen Plattenansprechbefehl DDD; —;Time Delay Circuit 616. The purpose of entering the new disk address command DDD; -;

, der im Plattenbefehlregister 516 des Programmanalysators 500 gehalten wird, im Informationsregister 102 a zu speichern. Auch läuft der Zeitverzögerungskreis 616 aus und liefert auf die Torstufe 622 ein Steuersignal in Übereinstimmung mit dem Signal am Ausgang tb 4. Dadurch wird über die Torstufe 622 der im X-Register 602 gehaltene laufende Befehl mit der neuen Endadresse in das Informationsregister 402 des Verteilerspeichers zum Speichern und zur nachfolgenden Ausführung zurückgegeben. , which is held in the disk command register 516 of the program analyzer 500, to be stored in the information register 102 a. The time delay circuit 616 also runs out and sends a control signal to the gate stage 622 in accordance with the signal at the output tb 4.This means that the current command held in the X register 602 with the new end address is transferred to the information register 402 of the distribution memory via the gate stage 622 Save and return for subsequent execution.

Der Steuerkreis 604 bildet dann ein Steuersignal auf dem Ausgang tb S, das den Befehlsspeicher 102 zum Speichern des im Plattenbefehlregisters 516 des Programmanalysators gehaltenen neuen Plattenansprechbefehls im Befehlsspeicher 102 veranlaßt. An dieser Stelle hält der Befehlsspeicher 102 denThe control circuit 604 then forms a control signal on the output tb S which causes the command memory 102 to store the new disk address command held in the disk command register 516 of the program analyzer in the command memory 102. At this point the instruction memory 102 holds the

neuen Plattenansprechbefehl DDD; ; unternew disk response command DDD; ; under

der neuen Endadresse 005 der entsprechenden Befehlsfolge.the new end address 005 of the corresponding command sequence.

Die Arbeitsweise der Befehlsfolgesteuerung 600 zum Einbringen eines neuen im Rechenwerk-Register 104 enthaltenen Datenverarbeiterbefehls in eine Befehlsfolge ist ganz ähnlich der vorstehend beschriebenen Arbeitsweise zum Einbringen eines neuen Plattenansprechbefehls aus dem Programmanalysator 500. Der laufende Befehl wird jedoch durch das Rechenwerk im Register 104 gespeichert und über eine Torstufe 612 in das X-Register 602 übertragen. Der neue Befehl wird über eine Torstufe 640 unter der Steuerung eines Signals am Ausgang tb 4 und des Signals eines Zeitverzögerungskreises 642 vom Register 106 in das Informationsregister 102a übertragen. Der Zeitverzögerungskreis 642 wird durch das Steuersignal am Ausgang SQp ausgelöst. Wenn beim laufenden Befehl die Endadresse im X-Register 602 ersetzt worden ist, wird der Datenverarbeiterbefehl vom X-Register 602 über die Torstufe 628 in das Rechenwerk-Register 104 gebracht. Es zeigt sich also, daß die Arbeitsweise der Befehlsfolgesteuerung beim Hinzufügen eines neuen Datenverarbeiterbefehl in eine Befehlsfolge ganz ähnlich der bereits vorher beschriebenen Arbeitsweise im Zusammenhang mit einem Plattenansprechbefehl ist.The operation of the instruction sequence control 600 for introducing a new data processing command contained in the arithmetic unit register 104 into an instruction sequence is very similar to the operation described above for introducing a new disk address command from the program analyzer 500 a gate stage 612 is transferred to the X register 602. The new command is transferred from register 106 to information register 102a via a gate stage 640 under the control of a signal at output tb 4 and the signal of a time delay circuit 642. The time delay circuit 642 is triggered by the control signal at the output SQp. If the end address in the X register 602 has been replaced during the current command, the data processing command is transferred from the X register 602 to the arithmetic unit register 104 via the gate stage 628. It can thus be seen that the operation of the command sequence control when adding a new data processing command to a command sequence is very similar to the operation already described in connection with a disk response command.

Eine besondere Bedingung beim Betrieb der Befehlsfolgesteuerung 600 sollte noch erwähnt werden. Diese spezielle Bedingung tritt auf, wenn ein neuer Befehl zum erstenmal in eine Befehlsfolge gebracht wird. Unter diesen Umständen wird also die Befehlsfolge erst gebildet. Es ist also noch keine Anfangsadresse oder Endadresse für den laufenden Befehl im X-Register 602 über die Torstufen 612 und 610 gespeichert. Es muß daher eine verfügbare Adresse in den Anfangsadressenabschnitt 602 ft des X-Registers gesetzt und dadurch der Kopf oder eine erste Adresse einer Befehlsfolge bestimmt werden. Die Anfangsadresse und die Endadresse werden natürlich identisch sein, weil bis jetzt erst ein Befehl die Befehlsfolge bildet. Es ist ein Dekodierkreis 6420 vorgesehen, um festzustellen, daß die Anfangsadressenstelle des Abschnitts 6025 keine Anfangsadresse enthält. Die Anfangsadresse wird nur allt Nullen enthalten, wenn der laufende Befehl keine zugeordnete Befehlsfolge hat. Der Dekoder 6420 stellt die Null-Bedingung der Anfangsadresse im X-Register 602 fest und liefert ein Steuersignal auf die Torstufe 634. Die Torstufe 634 arbeitet in Abhängigkeit von einem Steuersignal des Dekoders 6420 und einem Steuersignal vom Ausgang tb des Steuerkreises 604 und bewirkt das Einbringen einer neuen verfügbaren Adresse aus dem Adressenspeicher 520 in den Anfangsadressenabschnitt602i>. Dies ist die gleiche Adresse, die im Endadressenabschnitt 602 c über die Torstufe 631 gespeichert wird. Anfangsadresse und Endadresse sind also die gleiche. Der Steuerkreis 604 arbeitet auch in Abhängigkeit von dem SteuersignalA special condition in the operation of the command sequence control 600 should also be mentioned. This special condition occurs when a new command is first placed in a command sequence. The command sequence is only formed under these circumstances. So there is still no start address or end address for the current command stored in X register 602 via gate stages 612 and 610. An available address must therefore be set in the start address section 602 ft of the X register, thereby determining the head or a first address of an instruction sequence. The start address and the end address will of course be identical, because up to now only one command has formed the command sequence. A decoder circuit 6420 is provided to determine that the starting address location of section 6025 does not contain a starting address. The start address will only contain all zeros if the current command has no assigned command sequence. The decoder 6420 determines the zero condition of the start address in the X register 602 and sends a control signal to the gate stage 634. The gate stage 634 operates as a function of a control signal from the decoder 6420 and a control signal from the output tb of the control circuit 604 and brings about the introduction a new available address from the address memory 520 into the initial address section 602i>. This is the same address that is stored in the end address section 602c via the gate stage 631. The start address and end address are therefore the same. The control circuit 604 also operates in response to the control signal

ίο des Dekoders 6420, das anzeigt, daß die Anfangsadresse lauter Null-Werte hat, wodurch beim Anlegen eines Steuersignals vom Ausgang tb zum Ausgang tbA gesprungen wird. Der Grund, daß die Ausgänge tb 1, tb 2 und tb 3 übersprungen werden, liegt darin, daß diese Ausgänge bewirken, daß der letzte Befehl einer Befehlsfolge durch Hinzufügen einer neuen Endadresse abgewandelt wird. Da kein Befehl in der Befehlsfolge vorhanden ist, wird keine Verbindungsadresse hinzugefügt.ίο of decoder 6420, which indicates that the start address has nothing but zero values, which means that when a control signal is applied, a jump is made from output tb to output tbA. The reason that the outputs tb 1, tb 2 and tb 3 are skipped is that these outputs cause the last command of a command sequence to be modified by adding a new end address. Since there is no command in the command sequence, no connection address is added.

Claims (3)

Patentansprüche:Patent claims: 1. Mehrprogramm-Datenverarbeitungsanlage mit einem Rechenwerk, einem Datenspeicher und einem adressierbaren Befehlsspeicher, in dem1. Multi-program data processing system with an arithmetic unit, a data memory and an addressable instruction memory in which as mindestens eine Folge von untereinander derart verketteten Befehlen speicherbar ist, daß jeder mit einem Folgebefehl verkettete Befehl eine Verbindungsadresse enthält, die die Adresse des nächsten Befehls angibt, dadurch gekennzeichnet, daß ein Befehlsverarbeiter (100. • 400) den ersten Befehl der Folge verketteter dem gleichen Rechenwerk- bzw. Datenspeicher-Bereich ansprechender Befehle zusammen mil den Adressen des zweiten und letzten Befehle der Folge bereithält1, daß bei Auftreten eines weiteren, zur Folge gehörenden Befehls eine Befehlsfolgesteuerung (600) mit Hilfe der Adresse des letzten Befehls, die zusammen mit dem ersten Befehl im Befehlsverarbeiter bereitgehalten wird, in den letzten Befehl der Folge die Adresse des weiteren Befehls als Verbindungsadresse einschreibt; daß eine Überschreibschaltung (631, 634) die Adresse des weiteren Befehls an die Stelle der Adresse des bisher letzten Befehls beim ersten Befehl einsetzt; und daß der weitere Befehl an der ihm zugeordneten Adresse im Speicher (102) gespeichert wird; während nach Ausführung des bisher ersten Befehls der Folge zur Bildung eines neuen ersten Befehls der Folge der bisher zweite Befehl der Folge mit dessen Verbindungsadresse aus dem Speicher (102) in den Befehlsverarbeiter (100,400) übertragen und zusammen mit der Adresse des letzten Befehls der Folge bereitgehalten wird.as at least a sequence of one another such chained commands is stored, that each linked with a follow command command contains a link address which indicates the address of the next instruction, characterized in that a command processor (100 • 400) concatenated to the first instruction of the sequence to the the same arithmetic unit or data memory area of responsive commands together with the addresses of the second and last commands of the sequence 1 holds ready that when a further command belonging to the sequence occurs, a command sequence control (600) with the aid of the address of the last command, which together with the first command is kept ready in the command processor, in the last command of the sequence the address of the further command is written as a connection address; that an overwrite circuit (631, 634) inserts the address of the further command in place of the address of the previous command in the first command; and that the further instruction is stored at the address assigned to it in the memory (102); while after the execution of the previously first command of the sequence to form a new first command of the sequence, the previously second command of the sequence with its connection address is transferred from the memory (102) to the command processor (100, 400) and held ready together with the address of the last command of the sequence will. 2. Datenverarbeitungsanlage nach Anspruch 1,2. Data processing system according to claim 1, dadurch gekennzeichnet, daß der Befehlsverarbeiter einen Verteilerspeicher (404) aufweist, der für jede Speicherstelle im Datenspeicher einen Speicherplatz besitzt, an dem erste Befehlecharacterized in that the command processor has a distribution memory (404) which has a memory location for each memory location in the data memory at which the first commands So mehrerer Folgen nebst zugehöriger Adressen der zweiten und letzten Befehle jeder Folge speicherbar sind.Several sequences and the associated addresses of the second and last commands of each sequence can be stored are. 3. Datenverarbeitungsanlage nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß ein Adres-3. Data processing system according to claim 1 or 2, characterized in that an address «5 senspeicher (520) vorgesehen ist, der neue Adressen von freien Speicherstellen im Befehlsspeicher für das Einspeichern eines weiteren Befehls in einer Folge bereithält.«5 sensor memory (520) is provided for the new addresses of free memory locations in the instruction memory for storing another command in a sequence. Hierzu 1 Blatt Zeichnungen1 sheet of drawings

Family

ID=

Similar Documents

Publication Publication Date Title
DE1952374C3 (en) Information processing system with an addressing device
DE1774296C2 (en) Restructurable control unit for electronic digital computers
DE2715073C3 (en) Microprogrammed computer control device
DE2339636C2 (en) Device for addressing a writable microprogram memory
DE1499182C3 (en) Data storage system
DE68924719T2 (en) Device and method for executing a subroutine in a data processing system with block switching.
DE1774908B2 (en) DATA PROCESSING SYSTEM
DE2318069A1 (en) COMPUTER CONTROL SYSTEM USING MICROPROGRAMMING AND STATIC / DYNAMIC EXTENSION OF CONTROL FUNCTIONS USING HARDWIRED LOGICAL MATRIX
DE2258460B2 (en) Programmable control arrangement
DE2145709A1 (en) Data processing system
DE1774870C3 (en) Device for addressing a memory cell of a memory in a data processing system
DE2617485C3 (en) Circuit arrangement for data processing systems for processing micro instruction sequences
DE1774421B1 (en) MORE PROGRAM DATA PROCESSING SYSTEM
CH625895A5 (en)
DE2418921C2 (en) Device for storing micro-programs in a data processing system
DE2245284A1 (en) DATA PROCESSING SYSTEM
DE2539929A1 (en) COMPUTER SYSTEM WITH BUS STRUCTURE
DE1499224C3 (en) Data processing system with storage facilities in the basement
DE1449774C3 (en) Storage device with short access time
DE2425380C2 (en) Data processing system for the parallel execution of processing operations
DE1774421C (en) Multi-program data processing system
DE3009121C2 (en) Microprogram controller
DE2204680C3 (en) Microprogram controller
DE1524211C3 (en) Data processing system
DE2519195A1 (en) ASSOCIATIVE MEMORY