DE1049129B - Device for program control, in particular for computer systems - Google Patents

Device for program control, in particular for computer systems

Info

Publication number
DE1049129B
DE1049129B DEZ5256A DEZ0005256A DE1049129B DE 1049129 B DE1049129 B DE 1049129B DE Z5256 A DEZ5256 A DE Z5256A DE Z0005256 A DEZ0005256 A DE Z0005256A DE 1049129 B DE1049129 B DE 1049129B
Authority
DE
Germany
Prior art keywords
command
register
address
commands
retrieval
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.)
Pending
Application number
DEZ5256A
Other languages
German (de)
Inventor
Theodor Fromme
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.)
Zuse KG
Original Assignee
Zuse KG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zuse KG filed Critical Zuse KG
Priority to DEZ5256A priority Critical patent/DE1049129B/en
Publication of DE1049129B publication Critical patent/DE1049129B/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)

Description

DEUTSCHESGERMAN

Die Erfindung betrifft eine Vorrichtung zur Programmsteuerung, insbesondere für Rechenanlagen, mittels derer die Steuerung insbesondere von Rechenanlagen unter Verwendung geringster Mittel bei größter Flexibilität bzw. Beweglichkeit gemäß eines Planes oder Programms möglich ist.The invention relates to a device for program control, in particular for computer systems, by means of which the control of computer systems in particular using the least amount of resources greatest flexibility or mobility according to a plan or program is possible.

Ganz allgemein wird unter »Steuerung« die willkürliche Änderung des Wertes einer Größe nach einem vorgegebenen Plan verstanden. Dieser kann entweder ein Zeitplan für einen festen zeitlichen Ablauf oder aber er kann an die Erfüllung vorgeschriebener Aufgaben gebunden sein. Der Plan kann aber auch aus einer Folge von Anweisungen oder Befehlen (d. h. einem Programm) bestehen, durch deren Ausführung in einer entsprechenden zeitlichen Reihenfolge und gegebenenfalls unter Erfüllung der vorgeschriebenen Bedingungen eine Anlage gesteuert wird.In general, the term "control" refers to the arbitrary change in the value of a variable according to understood a given plan. This can either be a schedule for a fixed time sequence or it can be bound to the fulfillment of prescribed tasks. The plan can but also consist of a sequence of instructions or commands (i.e. a program) their execution in a corresponding chronological order and, if necessary, with fulfillment of the a system is controlled under prescribed conditions.

Bei Rechenanlagen, die ganz allgemein aus Ein- und Ausgabeeinrichtungen, Rechenwerk, Speicherwerk und Leit- oder Steuerwerk bestehen, handelt es sich im wesentlichen darum, daß die zur Lösung einer bestimmten Aufgabe erforderlichen Befehle in einer geeigneten Reihenfolge aufeinanderfolgen. Gelegentlich wird es aber auch notwendig sein, eine Anzahl solcher Befehle zu überspringen bzw. zu wiederholen. Daraus folgt, daß, wenn die Befehle hintereinandergespeichert sind, diese mittels einer Steuervorrichtung z. B. durch einen Zählprozeß entsprechend dem Programm »gesteuert« (»geleitet«) werden können, sobald die Anfangsstelle im Speicher bekannt ist. Andererseits können mittels einer solchen Steuereinrichtung Befehle übersprungen bzw. auf eine andere Stelle innerhalb des Programms gesprungen werden, wenn der letzte zur Ausführung eingegebene Befehl eine Angabe über die Speicherstelle des nächstfolgenden Befehles enthält. Dies kann entweder dadurch erreicht werden, daß das Steuer- oder Leitwerk ein »Befehlszählwerk« enthält, das immer dann, wenn das Signal auftritt, daß ein Befehl ausgeführt ist, um eine Einheit erhöht wird und so angibt, an welcher Stelle des Speichers der nächste Befehl zu finden ist — ausgenommen natürlich solche Fälle, in denen es sich um einen »Sprung« handelt, und in denen der Inhalt des Befehlszählregisters als solcher verändert wird, um die neue Stelle im Speicher anzugeben —, oder aber dadurch, daß jeder einzelne Befehl einen Hinweis dafür gibt, an welcher Speicherstelle der nächste Befehl zu finden ist. Da ferner die Steuereinrichtung in der Lage sein muß, verschlüsselte Befehle vom Speichemerk zu übernehmen und während der Dauer der Ausführung derselben diese zu speichern, muß diese Steuereinrichtung mindestens eine eigene hierfür geeignete Speichereinrichtung auf-Vorrichtung zur Programmsteuerung,
insbesondere für Rechenanlagen
In computing systems, which generally consist of input and output devices, arithmetic logic unit, storage unit and control unit, it is essentially a matter of the commands required to solve a specific task following one another in a suitable sequence. Occasionally, however, it will also be necessary to skip or repeat a number of such commands. It follows that when the commands are stored one after the other, they can be carried out by means of a control device, for. B. can be "controlled"("directed") by a counting process according to the program as soon as the starting position in the memory is known. On the other hand, commands can be skipped or jumped to another place within the program by means of such a control device if the last command entered for execution contains information about the memory location of the next command. This can either be achieved in that the control or tail unit contains an "command counter" which is incremented by one unit whenever the signal occurs that an command has been carried out and thus indicates at which point in the memory the next one Command can be found - except of course in cases in which there is a "jump" and in which the content of the command counter register as such is changed in order to indicate the new location in the memory - or by the fact that each individual command gives an indication of where the next command can be found. Since the control device must also be able to accept encrypted commands from the memory marker and store them for the duration of the execution of the same, this control device must have at least one of its own suitable memory device on-device for program control,
especially for computing systems

Anmelder:Applicant:

Zuse K.-G.,
Bad Hersfeld, Wehneberger Str. 4
Zuse K.-G.,
Bad Hersfeld, Wehneberger Str. 4

Theodor Fromme, Bad Hersfeld,
ist als Erfinder genannt worden
Theodor Fromme, Bad Hersfeld,
has been named as the inventor

weisen, das sogenannte »Befehlsregister«. Zwischen diesem Befehlsregister und dem Befehlszählregister kann eine Verbindung bestehen, damit die obengenannten »Sprünge« geführt werden können.the so-called "command register". Between this command register and the command count register a connection can exist so that the above-mentioned "jumps" can be carried out.

Damit Befehle im Speicher bzw. Speicherwerk gespeichert werden können, müssen diese in einer verschlüsselten Forrn (dem Befehlstext) gegeben werden, wobei im allgemeinen ein Teil der Schlüsselzeichen (der Adressenteil) die Speicherstelle angibt, wo die in Frage stehenden Daten zu finden, sind. Außerdem müssen bestimmte Zeichen angeben, welche Elemente zu betätigen sind, damit die gewünschte Operation mit den Daten \rorgenommen werden kann. Damit dies letztere möglich ist. müssen die zugeordneten Zeichen »entschlüsselt« werden, wozu ein sogenannter »Entschlüßler« dient.In order for commands to be stored in the memory or storage unit, they must be given in an encrypted form (the command text), with a part of the key characters (the address part) generally indicating the memory location where the data in question can be found. In addition, certain characters must specify which elements are to be operated so that the desired operation can be with the data \ r orgenommen. So that the latter is possible. the assigned characters must be "decrypted", for which a so-called "decryptor" is used.

Demnach weisen bekannte Programmsteuerungen, insbesondere für Rechenanlagen, ein Befehlszählregister, ein Befehls- und ein Steuerregister mit einem oder mehreren Entschlüßlern auf. Eine solche Einrichtung steuert Stromtore (GATES), Relais oder sonstige Schaltglieder, die ihrerseits den Zahlen- oder Worttransport innerhalb der Vorrichtung bzw. zwischen den einzelnen Teilen derselben freigeben oder unterbinden.According to this, known program controls, in particular for computer systems, have an instruction counting register, a command and a control register with one or more decrypters. Such a facility controls power gates (GATES), relays or other switching elements, which in turn control the numeric or Release word transport within the device or between the individual parts of the same or prevent.

Selbstverständlich ist der Aufbau des Rechenwerkes einer Rechenanlage in verschiedener Art und Weise möglich. Da dieser Aufbau aber nicht zum Gegenstand der Erfindung gehört, ist hier der einfache Fall angenommen, daß die aus dem Speicherwerk bzw. aus deren Speicherzellen gelesenen Zahlen zum Inhalt eines Akkumulators addiert oder subtrahiert werden.It goes without saying that the structure of the arithmetic and logic unit of a computer system is of various types Way possible. However, since this structure is not part of the subject matter of the invention, this is the simple one Assuming the case that the numbers read from the storage unit or from its storage cells belong to the content an accumulator can be added or subtracted.

Während solcher (Zahlen- oder Befehls-) Transporte treten bestimmte Gruppen von Stromtoren oder »GATES« entsprechend dem Befehlstext in Funlctionr während eines Zahlentransportes (Ausführung eines sogenannten »arithmetischen Befehles«) trete z. B.During such (number or command) transports, certain groups of electricity gates or »GATES« according to the command text in Funlctionr during a number transport (execution of a so-called "arithmetic commands") occur z. B.

809 730/226809 730/226

eine Gruppe A von Stromtoren in Funktion, während eines Befehlstransportes sei dagegen eine zweite Gruppe E von Stromtoren wirksam.a group A of stream gates in operation, while a second group E of stream gates is active during a command transport.

Für die praktische Durchführung werden diese Befehle, von denen der letztgenannte auch als Abrufbefehl bezeichnet wird, verschlüsselt. Beispielsweise wird der Abrufbefehl mit »E«, der arithmetische Befehl mit ■»Am« verschlüsselt, wobei m die sogenannte »Adresse« darstellt.For practical implementation, these commands, the latter of which is also referred to as a polling command, are encrypted. For example, the retrieval command is encrypted with “E”, the arithmetic command with ■ “Am” , where m represents the so-called “address”.

Auf einen Abrufbefehl E läuft das nächste Wort, gewöhnlich ein arithmetischer Befehl Am, in das Befehls- oder Steuerregister, um anschließend zur Wirkung zu kommen. Bei bekannten Vorrichtungen zur Programmsteuerung ist es üblich, wie oben bereits erklärt, die Auswahl des nächsten Befehls aus dem gespeicherten Gesamtvorrat an Befehlen durch ein besonderes Befehlszählerwerk zu bewirken, in welchem die Adressen m jeweils um 1 oder eine andere ganze Zahl erhöht werden.In response to a retrieval command E , the next word, usually an arithmetic command Am, runs into the command or control register in order to then take effect. In known devices for program control, it is usual, as already explained above, to effect the selection of the next command from the stored total supply of commands by a special command counter in which the addresses m are increased by 1 or another whole number.

Es ist aber auch bekannt, dieses Befehlszählwerk dadurch zu umgehen, daß (beispielsweise durch Addition der Adresseneinheit) der erste Abrufbefehl E selbst bereits modifiziert und dieser modifizierte Befehl anschließend fortlaufend zum Abrufen der nachfolgenden (gewöhnlich arithmetischen Befehlen Am) Befehle, die an den den Adressen m zugeordneten Speicherstellen bereitstehen, benutzt wird. Bei bekannten Ausführungsbeispielen geht hierbei der Text des Abrufbefehles E über das Addierwerk in den Akkumulator, verdrängt die dort stehende Zahl in ein Hilfsregister und kommt dann anschließend modifiziert in das Befehlsregister.However, it is also known to bypass this command counter by already modifying the first call command E itself (for example by adding the address unit) and this modified command then continuously for calling up the subsequent (usually arithmetic commands Am) commands that are sent to the addresses m allocated storage locations are available, is used. In known exemplary embodiments, the text of the retrieval command E goes via the adder into the accumulator, displaces the number there in an auxiliary register and then comes into the command register in a modified form.

Bei · den bekannten Einrichtungen zur Programmsteuerung wirkt demnach das Befehlszählwerk direkt auf das Leitwerk, braucht also entweder beim sogenannten »Eintaktverfahren«, wie oben bereits erwähnt, einen eigenen Entschlüßler, oder aber es werden beim »Zweitaktverfahren« (mit Abruf- und Ausführungsphase) während der Abrufphase diejenigen Elemente des Leit- oder Steuerwerkes stillgelegt, die für die Entschlüßlung der Operationszeichen u. dgl. sorgen.In the known devices for program control, the command counter acts directly on the tail unit, so either with the so-called "single-cycle process", as already mentioned above, its own decoder, or with the »two-stroke process« (with retrieval and Execution phase) those elements of the control or control unit which are required for take care of deciphering the operation signs and the like.

Bei diesen bekannten Einrichtungen ist demnach der durch Addition entstandene Zählerstand vom früheren Stand des Zählregisters abhängig, eine automatische Fortführung der linearen Folge, des durch einen »Sprung« aufgerufenen Unterprogramms ist also nicht ohne weiteres möglich, da hierzu eine besondere Operation: »Setze den'Zählerstand (=Inhalt des Befehlszählregisters) neu«, geschaltet werden muß; ferner müssen weitere Funktionen, wie z. B. Adressenmodifikationen der Texte der Abrufbefehle, Umspeicherung der Befehlstexte in einen gewöhnlichen Speicher zur Verwendung für den Rückruf für Unterprogramme -u. a. m., auf weitere zusätzliche Teilvorrichtungen verteilt werden.In these known devices, the count resulting from addition is from dependent on the previous status of the counting register, an automatic continuation of the linear sequence, des A subroutine called by a "jump" is therefore not possible without further ado, since a special one is used for this Operation: "Set the counter reading (= content of the command counter register) again", must be switched; further functions, such as. B. Address modifications of the texts of the retrieval commands, restoring the instruction texts in a common memory to be used for the callback for subroutines -u. a. m., to be distributed to further additional sub-devices.

Der-Erfindung liegt nun-die Aufgabe zugrunde, die genannten Nachteile der bekannten Vorrichtungen zur Programmsteuerung zu beseitigen und eine Programmsteuerung so auszubilden, daß diese trotz großer konstruktiver Einfachheit sehr flexibel ist.The invention is now based on the object of addressing the aforementioned disadvantages of the known devices To eliminate program control and to train a program control so that this despite large constructive simplicity is very flexible.

' Gemäß der Erfindung igt eine Vorrichtung zur Programmsteuerung, insbesondere für Rechenanlagen, mit einem Befehlsregister, in welchem die Befehle bis zu ihrer Übernahme-in ein Steuerregister, das die Ausführung von Befehlen mit mehreren Operationsteilen veranlaßt, gespeichert werden, und mit einem besonderen Abruf register, das in.Zusammenarbeit mit dem Befehlsregister den " linearen Programmablauf-, d.h. den Transport der Befehle vom Speicher in das Befehlsregister,, regelt, -derart ausgebildet, daß'' According to the invention, a device for program control, in particular for computer systems, with a command register, in which the commands up to their takeover in a control register, which the Execution of instructions with several operational parts caused to be stored, and with a special retrieval register, which, in cooperation with the command register, enables the "linear program sequence, that is, the transport of the instructions from the memory to the instruction register, regulates, - designed in such a way that

das Befehlsregister Befehlstexte mit mehreren Operations- und einem, gegebenenfalls mehreren Adressenteilen aus dem Hauptspeicher oder dem Abrufregister übernimmt, je nachdem, ob im Text des gerade vom Steuerregister aufgeführten Befehls ein Abholkennzeichen (»hole Text aus Speicher!«) steht oder nicht, und daß die Befehlstexte aus dem Befehlsregister während ihrer Ausführung über ein den Adressenteil um »1« erhöhendes Addierwerk oder Halbaddierwerk in das Abrufregister übergeführt werden. Erfindungsgemäß kann das besondere Register für die Bereitstellung der Befehlstexte für Abrufbefehle eine Verzögerungslinie (delay line) sein, und zwischen dieses Register und das Befehlsregister kann zum Zwecke der Adressenänderung ein Halbaddierwerk geschaltet sein.the command register command texts with several operation and one, if necessary several Address parts from the main memory or the retrieval register, depending on whether in the text of the a fetch indicator ("get text from memory!") is displayed or not, and that the command texts from the command register during their execution via a The adder or half adder increasing the address part by "1" can be transferred to the retrieval register. According to the invention, the special register for providing the command texts for retrieval commands be a delay line, and between this register and the command register can be to A half adder must be connected for the purpose of changing the address.

In der Zeichnung ist ein Ausführungsbeispiel der erfindungsgemäßen Vorrichtung zur Programmsteuerung dargestellt.The drawing shows an exemplary embodiment of the device for program control according to the invention shown.

Sie zeigt ein Blockschema der erfindungsgemäßen Programmsteuerung.It shows a block diagram of the program control according to the invention.

In der Zeichnung ist mit S ein Speicherwerk zur Aufnahme von Zahlen und Befehlen, das beispielsweise durch eine Magnettrommel gebildet sein kann, bezeichnet. W ist eine Auswahlvorrichtung für dieses Speicherwerk S1 beispielsweise eine bekannte sogenannte »Wahlpyramide«. Mit a ist ein Akkumulator, mit b ein Befehlsregister und mit r ein Steuerregister mit Entschlüßler bezeichnet. Das mit c bezeichnete Register ist ein sogenanntes »Abruf- oder Befehlshilfsregister«. Ad bedeutet ein Addierwerk, Ad! bedeutet ein Halbaddierwerk und η dient schließlich für die Bezeichnung eines sogenannten »Negationsgliedes«, das für die Bildung des Komplementes einer Zahl vorgesehen ist. Die in der Vorrichtung benötigten Stromtore (GATES) oder ähnlichen Schaltelemente sind entsprechend mit At, A2, Εί,Ε2,Ρ, Λ', Q, R bezeichnet.In the drawing, S denotes a storage unit for receiving numbers and commands, which can be formed, for example, by a magnetic drum. W is a selection device for this storage unit S 1, for example a known so-called “election pyramid”. With a is an accumulator, with b an instruction register and with r a control register with decoder. The register labeled c is what is known as a »retrieval or command auxiliary register«. Ad means an addition, Ad! means a half adder and η is used to designate a so-called "negation element", which is intended for the formation of the complement of a number. The power gates (GATES) or similar switching elements required in the device are designated by At, A2, Εί, Ε2, Ρ, Λ ', Q, R , respectively.

Bei dem dargestellten Ausführungsbeispiel des Erfindungsgegenstandes handelt es sich um eine Rechenanlage bzw. um eine Vorrichtung zur Programmsteuerung für eine solche Anlage, die im sogenannten »Serienprinzip« arbeitet, d. h. die einzelnen Befehlselemente werden in zeitlicher Reihenfolge ■hinter- einander abgelesen bzw. zur AVirkung gebracht.The illustrated embodiment of the subject matter of the invention is a computing system or a device for program control for such a system, which is in the so-called "Series principle" works, d. H. the individual command elements are shown in chronological order read from each other or brought into effect.

Die erfindungsgemäße Aforridhtung arbeitet folgendermaßen: The arrangement according to the invention works as follows:

Ein durch ein Addierwerk Ad modifizierter Abrufbefebl, der z.B. die Form£„i + 1 haben kann, wird in das Abruf oder Befehlshilfsregister c gesetzt. Gleichzeitig wird vom Speicher S her ein ·— im allgemeinen arithmetischer Befehl Ak —■ in das Befehlsregister?) gesetzt.A retrieval command modified by an adder Ad , which can have the form £ " i + 1 , for example, is placed in the retrieval or auxiliary command register c. At the same time, a - generally arithmetic instruction Ak - - is set from the memory S into the instruction register?).

Nach Ausführung-dieses Befehles (z.B. Ak) gelangt der Abruf befehl {Em +2) vom Abruf register c wieder zurück nach dem Befehlsregister b, um von dort aus über das Steuerregister mit Entschlüßler r den nächstfolgenden Befehl (z. B. As) aus dem Speicherwerk S in das Befehlsregister b zu holen. Um dieses zu ermöglichen, ist das - Abrufregister c über die Stromtore E2 und A2 mit dem Befehlsregister b verbunden. -After executing this command (e.g. Ak) , the retrieval command {E m +2 ) comes from the retrieval register c back to the command register b, from there to the next command (e.g. As) via the control register with decoder r to fetch from the storage unit S into the command register b. To make this possible, the call register c is connected to the command register b via the stream gates E2 and A2 . -

" Demgemäß werden in dem Befehlsregister c der erfmdungsgemäßen Vorrichtung nicht nur · Adressen m gezählt, sondern es wird gleichzeitig auch im ein.. zelnen Befehlstext,- der unter Umständen auch Operations- und Transportzeichen für andere Teile der Anlage enthalten kann, derjenige Adressenteil erhöht, der sich auf die' Heranschaffung des Textes des nachfolgenden Befehls bezieht. .-··.-. "Accordingly, not only addresses m are counted in the command register c of the device according to the invention, but at the same time that address part is also incremented in the individual command text - which may also contain operation and transport characters for other parts of the system, which refers to the 'getting the text of the following command. .- ·· .-.

Das Abrufregister c dient also nicht nur, wie das bekannte Befehlszählregister, als Zwischenspeicher für Adressen m, sondern es dient der Speicherung vollständiger Befehlstexte, mittels derer sich — je nach Bauart der Maschine — nachfolgend genannte zusätzliche Organisationsmaßnahmen verwirklichen lassen:The retrieval register c not only serves, like the known command counting register, as a buffer for addresses m, but it is also used to store complete command texts by means of which - depending on the type of machine - the following additional organizational measures can be implemented:

1. Der Befehlstext kann in einen beliebigen gewöhnlichen Speicher umgespeichert und so zum Rückruf für Unterprogramme verwendet werden.1. The command text can be re-stored in any ordinary memory and so for recall used for subroutines.

2. Bei Ein- und Zweiadressenanlagen kann nach Bedarf die sich laufend erhöhende Adresse unwirksam werden, wodurch sich dann ein sich laufend wiederholender Befehl ergibt. Hierbei hängt die Anzahl der Wiederholungen davon ab, wann der Übertrag aus der laufenden Adresse eine Modifikation einer zweiten Adresse bzw. eines bestimmten Operationszeichens bewirkt.2. In the case of one- and two-address systems, the continuously increasing address can become ineffective as required which then results in a continuously repeating command. Here the Number of repetitions depends on when the carryover from the current address made a modification causes a second address or a specific operation character.

3. Die durch das Halbaddierwerk Ad' bewirkte Erhöhung der Adresse kann auf eine beliebige Ziffernstelle des Befehles bezogen werden, womit Adressenmodifikation beim Abrufbefehl bewirkt werden kann.3. The increase in the address brought about by the half adder Ad ' can be related to any digit of the command, with which address modification can be effected in the call command.

Die Abrufbefehlstexte können außer der Anweisung zur Beschaffung eines neuen Befehles auch andere Operations- oder Transportanweisungen enthalten. Durchdieerfindungsgemäße Adressenmodifikation wird eine ähnliche Adressenänderung bewirkt wie sie mittels eines bekannten sogenannten »Indexregisters« erreicht wird.
Durch die erfindungsgemäße Anordnung wird im Gegensatz zu Vorrichtungen mit bekannten Befehlszählwerken erreicht, daß in dem Abrufregister c vollständige Befehlstexte gezählt werden und die durch diese Zählung bewirkte Adressenerhöhung auf beliebige Operationszeichen oder auf weitere Adressen einwirken kann. Dabei kann der die Zählung enthaltende Befehlstext genauso wie jedes beliebige andere »Wort« inerhalb der Rechenanlage transportiert werden.
In addition to the instruction to obtain a new instruction, the retrieval command texts can also contain other operational or transport instructions. The address modification according to the invention brings about an address change similar to that achieved by means of a known so-called "index register".
In contrast to devices with known command counters, the arrangement according to the invention ensures that complete command texts are counted in the retrieval register c and the address increase caused by this count can act on any operation characters or on other addresses. The command text containing the count can be transported in the same way as any other "word" within the computer.

Die Wirkungsweise der erfindungsgemäßen Vorrichtung wird im nachfolgenden an Hand von ausgewählten Beispielen weiter veranschaulicht.
1. Gegeben sei eine im Dualsystem arbeitende Einadressenmaschine. Ein Befehlstext sei in der Form (p, m) gegeben, wobei p das Operationszeichen, m die Adresse bedeutet.
Desgleichen sei festgelegt, daß p E ein »Sprung« auf das durch die Anfangsadresse m gekennzeichnete Programm bedeute. Bei der erfindungsgemäßen Anordnung ist mit der Festlegung p E auch gleichzeitig das Kennzeichen für einen Ahrufbefehl E gegeben, d. h., hierdurch wird das Aufrufen des in Zelle m gespeicherten Befehlstextes und der Transport desselben in das Befehlsregister b bewirkt.
The mode of operation of the device according to the invention is illustrated further below with the aid of selected examples.
1. A single-address machine working in the dual system is given. A command text is given in the form (p, m) , where p is the operating symbol and m is the address.
Likewise, let it be established that p - E means a "jump" to the program identified by the start address m . E also given the indicator for a call command Ah E simultaneously, ie, thereby calling the stored command text m in the cell and the transport thereof is in the instruction register b causes - in the inventive arrangement is provided with fixing p.

Dann ergibt sich im Laufe einer bestimmten Rechenoperation bei der Anordnung gemäß der Erfindung im Befehlsregister b die folgende Befehl sfolge:Then, in the course of a certain arithmetic operation in the arrangement according to the invention, the following instruction sequence results in instruction register b:

(m+i) -> (E, m+2)(m + i) -> (E, m + 2)

(m+2)(m + 2)

usw.etc.

(W) = Inhalt der Speicherzellew : Die von links kommenden Pfeile zeigen in dieser Befehlsfolge an, daß die Befehlstexte aus dem Abrufregister c kommen. (W) = content of the memory cell w: The arrows coming from the left indicate in this command sequence that the command texts come from the retrieval register c.

Enthält nun bei diesem Beispiel der verschlüsselte Befehl weitere Operationszeichen, so z. B. ein L für eine Linksverschiebung, so hat, wenn die nachfolgend aufgeführte Befehlsfolge aufzurufen ist, der Befehl die Form (Ei L, m): In this example, if the encrypted command contains further operation characters, e.g. B. an L for a left shift, then, if the following command sequence is to be called, the command has the form (E i L, m):

(E, L, m)(E, L, m)

-+{E,L,m + l)- + {E, L, m + l)

-> (B, L, m+2)-> (B, L, m + 2)

(m+2) - ■(m + 2) - ■

usw.etc.

In diesem Falle wird von jedem Abrufbefehl gleichzeitig eine arithmetische Operation, nämlich hier eine Linksverschiebung L1 bewirkt, die laufend so lange ausgeführt wird, bis ein Befehl der Form (E, m + 3), der beispielsweise in Speicherzelle m + 2 lagert, diese Befehlsfolge unterbricht.In this case, an arithmetic operation, namely here a left shift L 1, is effected at the same time by each call command, which is carried out continuously until an instruction of the form (E, m + 3), which is stored in memory cell m + 2, for example, this Command sequence interrupts.

Es ist klar, daß auf diese Weise auch andere, durch die Organisation der in Frage stehenden Rechenanlage bedingte Operationen laufend ausgeführt werden können.It is clear that in this way also others, through the organization of the computer system in question conditional operations can be performed continuously.

2. Gegeben sei eine Zweiadressenanlage. Sie weise eine Schnellspeicheradresse s und eine Trommeladresse t auf, und mittels eines Zeichens k werde die Wirkung der Trommeladresse t unterdrückt. Vereinbarungsgemäß sei E das Zeichen für einen Abrufbefehl.2. A two-address system is given. It has a quick storage address s and a drum address t , and the effect of the drum address t is suppressed by means of a character k. By convention, E is the character for a retrieval command.

Innerhalb des gesamten Befehlstextes (E, k, s, t) wird dann der Abrufbefehl E genauso ausgeführt, als ob der gesamte Befehlstext die Form (E, s) habe. Der Befehl im Schnellspeicher s wird wird nämlich bei der erfindungsgemäßen Vorrichtung so lange ausgeführt, bis innerhalb der Befehlsfolge:Within the entire command text (E, k, s, t) , the retrieval command E is then executed in exactly the same way as if the entire command text had the form (E, s) . The command in the high-speed memory s is namely carried out in the device according to the invention until within the command sequence:

(£, k, s, t) (E, k, s, t+1) (E, k, s,t+2) (£, k, s, t+r)
usw.
(£, k, s, t) (E, k, s, t + 1) (E, k, s, t + 2) (£, k, s, t + r)
etc.

einmal ein Übertrag stattfindet, d. h. ein Befehl der Form {E, s, s+1, 0) die Folge beendet.
Auf diese Weise wird erreicht, daß ein Abrufbefehl E und ein zweiter Befehl (im Speicher s) eine vorgegebene Anzahl von Malen wiederholt werden kann.
once a carry takes place, ie an instruction of the form {E, s, s + 1, 0) ends the sequence.
In this way it is achieved that a retrieval command E and a second command (in memory s) can be repeated a predetermined number of times.

3. Ein Befehlstext der Form (E, s, t) rufe Befehle auf, die aus zwei Adressen kommen, so> daß mittels der erfindungsgemäßen Anordnung die Adresse des im Trommelspeicher t stehenden Befehles faufend modifiziert werden kann, s also genauso wie ein »Indexregister« verwendet wird.3. A command text form (e, s, t) to call commands that come from two addresses so> that the address of the drum store t standing instruction can be modified faufend, with the inventive arrangement, s So just like a "index register " is used.

4. Gegeben sei dieselbe Rechenanlage wie im Beispiel 2.4. The same computer system is given as in example 2.

Durch die erfindungsgemäße Anordnung ist es möglich, Abrufbefehle E direkt entweder in ein besonderes Register oder aber in durch eine j-Adresse gekennzeichnetes Register zu speichern. Auf diese Weise kann der Text des Abrufbefehles E zu einem späteren Zeitpunkt als Rückkehradresse für Unterprogramme verwendet werden.The arrangement according to the invention makes it possible to store call commands E directly either in a special register or in a register identified by a j address. In this way, the text of the retrieval command E can be used as the return address for subroutines at a later point in time.

3030th

3535

4040

5050

5555

6060

6565

Claims (3)

5. Läuft statt der kleinsten Adresseneinheit 1' eine Potenz von 2 in das Haibaddierwerk Atf, was durch ein entsprechendes Befehlszeichen bewirkt werden kann, wird ebenfalls eine Adressenänderung' erreicht. Patentansprüche:5. If, instead of the smallest address unit 1 ', a power of 2 runs into the half adder Atf, which can be effected by a corresponding command character, an address change is also achieved. Patent claims: 1. Vorrichtung zur Programmsteuerung, insbesondere für Rechenanlagen, mit einem Befehlsregister, in welchem die Befehle bis zu ihrer Übernahme in ein Steuerregister, das die Ausführung von Befehlen mit mehreren Operationsteilen veranlaßt, gespeichert werden, und mit einem besonderen Abrufregister, das in Zusammenarbeit , mit dem Befehlsregister den linearen Programmablauf, d. h. den Transport der Befehle vom Speicher in das Befehlsregister, regelt, dadurch gekennzeichnet, daß das Befehlsregister (6) Befehlstexte mit mehreren Operations- und einem, gegebenenfalls mehreren Adressenteilen aus dem Hauptspeicher oder dem Abrufregister (c) übernimmt, je nachdem, ob im Text des gerade vom Steuerregister (r) ausgeführten Befehls ein Abholkennzeichen (»hole Text aus Speicher!«) steht oder nicht, und daß die Befeblstexte aus dem Befehlsregister (b) während ihrer Ausführung über1. Apparatus for program control, especially for computer systems, with a command register in which the commands are stored until they are accepted in a control register that causes the execution of commands with several operational parts, and with a special retrieval register that works with the command register regulates the linear program sequence, ie the transport of commands from the memory to the command register, characterized in that the command register (6) accepts command texts with several operation and one, possibly several address parts from the main memory or the retrieval register (c), depending on whether or not there is a fetch code ("get text from memory!") in the text of the command just executed by the control register (r), and that the command texts from the command register (b) are over ein den Adressentetl um »1« erhöhendes Addierwerk oder Halbaddierwerk in das Abrufregister (c) übergeführt werden.an adder or half adder increasing the address part by "1" in the retrieval register (c) be transferred. 2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß das besondere Register (c) für die Bereitstellung der Befehlstexte von Abrufbefehlen eine Verzögerungslinie ist.2. Apparatus according to claim 1, characterized in that the special register (c) for the provision of the command texts of call commands is a delay line. 3. Vorrichtung nach Anspruch 1 und/oder 2, dadurch gekennzeichnet, daß zum Zwecke der3. Apparatus according to claim 1 and / or 2, characterized in that for the purpose of ίο Adressenänderung zwischen das Register (c) und das Befehlsregister (b) ein Halbaddierwerk (Adt) geschaltet ist. ίο address change between the register (c) and the command register (b) a half adder (Ad t ) is connected. In Betracht gezogene Druckschriften:
»Proceedings of the I. R. E.«, Vol. 41, No. 10, 1953, Oktober, S. 1245 bis 1249, insbesondere Fig. 1 auf S. 1246;
Considered publications:
"Proceedings of the IRE", Vol. 41, No. 10, 1953, October, pp. 1245 to 1249, in particular Fig. 1 on p. 1246;
C.W. Tompkins, I. Η. Wakelin, W.W. S tif Ier : »High Speed Computing Devices«, McGraw-Hill Book Comp. Inc., New York 1950, insbesondere S. 295;C.W. Tompkins, I. Η. Wakelin, W.W. S tif Ier: "High Speed Computing Devices", McGraw-Hill Book Comp. Inc., New York 1950, especially p. 295; »Arithmetic Operations in Digital Computers«, D. van Nostrand Comp., London —- New York, 1955, insbesondere S. 360 bis 363, 366, 377 und 378;"Arithmetic Operations in Digital Computers", D. van Nostrand Comp., London-New York, 1955, in particular pp. 360 to 363, 366, 377 and 378; »Automatische Rechenplanfertigung bei programmgesteuerten Rechenmaschinen, Verlag Birkhäuser,, Basel, 1952, insbesondere S. 9 und 10.»Automatic calculation plan production with program-controlled calculating machines, Verlag Birkhäuser ,, Basel, 1952, especially pp. 9 and 10. Hierzu 1 Blatt Zeichnungen1 sheet of drawings
DEZ5256A 1955-12-02 1955-12-02 Device for program control, in particular for computer systems Pending DE1049129B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DEZ5256A DE1049129B (en) 1955-12-02 1955-12-02 Device for program control, in particular for computer systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DEZ5256A DE1049129B (en) 1955-12-02 1955-12-02 Device for program control, in particular for computer systems

Publications (1)

Publication Number Publication Date
DE1049129B true DE1049129B (en) 1959-01-22

Family

ID=7619391

Family Applications (1)

Application Number Title Priority Date Filing Date
DEZ5256A Pending DE1049129B (en) 1955-12-02 1955-12-02 Device for program control, in particular for computer systems

Country Status (1)

Country Link
DE (1) DE1049129B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2339636A1 (en) * 1972-09-21 1974-04-04 Ibm PROGRAM CONTROL DEVICE

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2339636A1 (en) * 1972-09-21 1974-04-04 Ibm PROGRAM CONTROL DEVICE

Similar Documents

Publication Publication Date Title
DE3789122T2 (en) Data processing device.
DE1181460B (en) Electronic number calculator
DE1524209B2 (en) PROGRAM CONTROLLED DATA PROCESSING SYSTEM
DE2714805A1 (en) DATA PROCESSING SYSTEM
DE2713253A1 (en) PROGRAM LOADER FOR A CONTROL UNIT
DE2258460B2 (en) Programmable control arrangement
DE1549474C3 (en) Arrangement In an electronic digital data processing system for the execution of a first command and simultaneous decoding of a following command
DE1774870C3 (en) Device for addressing a memory cell of a memory in a data processing system
DE2145709A1 (en) Data processing system
DE2420058A1 (en) ELECTRONIC COMPUTER WITH KEYBOARD
DE1499206B2 (en) COMPUTER SYSTEM
DE1190706B (en) Program-controlled electronic digital calculating machine working in two alternating cycles
DE1191145B (en) Electronic number calculator
DE2538978C2 (en)
DE1774421B1 (en) MORE PROGRAM DATA PROCESSING SYSTEM
DE2403669B2 (en) Special computer
DE1049129B (en) Device for program control, in particular for computer systems
DE1222289B (en) Data processing device
DE1549497A1 (en) Computer with entered, conditionally running program for controlling an automatic telephone exchange
DE3009121C2 (en) Microprogram controller
DE1194605B (en) Improvement of devices for processing details, information or the like.
DE1524211C3 (en) Data processing system
DE1549454A1 (en) Device for the rounded display of a stored number
DE1524164C (en) Device for data transmission between a data processing unit and one or more connection units
DE3603319C2 (en)