DE1049129B - Device for program control, in particular for computer systems - Google Patents
Device for program control, in particular for computer systemsInfo
- 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
Links
- 230000008859 change Effects 0.000 claims description 4
- 230000032258 transport Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 210000004027 cell Anatomy 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 210000000352 storage cell Anatomy 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address 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 RechenanlagenIn 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 wordenTheodor 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)
»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;
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2339636A1 (en) * | 1972-09-21 | 1974-04-04 | Ibm | PROGRAM CONTROL DEVICE |
-
1955
- 1955-12-02 DE DEZ5256A patent/DE1049129B/en active Pending
Non-Patent Citations (1)
Title |
---|
None * |
Cited By (1)
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) |