DE1965506A1 - Device and method for program control of an electronic digital computer - Google Patents

Device and method for program control of an electronic digital computer

Info

Publication number
DE1965506A1
DE1965506A1 DE19691965506 DE1965506A DE1965506A1 DE 1965506 A1 DE1965506 A1 DE 1965506A1 DE 19691965506 DE19691965506 DE 19691965506 DE 1965506 A DE1965506 A DE 1965506A DE 1965506 A1 DE1965506 A1 DE 1965506A1
Authority
DE
Germany
Prior art keywords
address
register
memory
instruction
information
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
DE19691965506
Other languages
German (de)
Inventor
Brian Randell
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE1965506A1 publication Critical patent/DE1965506A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3808Instruction prefetching for instruction reuse, e.g. trace cache, branch target cache
    • G06F9/381Loop buffering
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F9/325Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Description

IBM Deutschland Internationale Büro-Maschinen Gesellschaft mbH IBM Germany Internationale Büro-Maschinen Gesellschaft mbH

Bob1Ingen, '^f .Dez-jmber I >-6>*Bob1Ingen, '^ f .Dec-jmber I>-6> *

Anmeldorin: . \ - ■ international Business MachinenApplicant:. \ - ■ international business machines

Corporation, .irinonk,. N..ί. 10 j>ü-fCorporation, .irinonk ,. N .. ί. 10 j> ü-f

,Aktenzelohen:.. Neuanmeluung, Aktenzelohen: .. new registration

.d .rüiinelderin: Docket xO y6ö 040.d .rüinelderin: Docket xO y6ö 040

Einrichtung und Verfahren aur .Programmsteuerung eines'elektronischen Digitalrechners . - Device and method for program control of an electronic digital computer . -

Die Erfindung betrifft eine üinrichtung und ein Verfahren zur Programmsteuerung eines elektronischen Digitalrechners, mit einem Hauptspeicher, einer Instruktionseinheit, einer arithmetischen Einheit" und"mehreren Arbeitsspeicherregistern.The invention relates to a device and a method for program control of an electronic digital computer, with a main memory, an instruction unit, a arithmetic unit "and" several working memory registers.

Bei den heutigen modernen elektronischen Hochgeschwindigkeitsrechnern ist die InstrüktiOnsverarbeiturig eine der größten Zeit in Anspruch nehmenden Operationen, die von dem Rachner durchgeführt"werden muß, um eine 'bestimmte Aufgabe auszuführen. Genauer gesagt sind es die vielen Speieheransteuerungen, die normalerweise sowohl für den Abruf von Instruktionen als auch für den Abruf von Daten bei der Durchführung eines be-. stimmten Programmes erforderlich sind. Aufgrund der großenIn today's modern high-speed electronic computers Instruction processing is one of the largest Time consuming surgeries carried out by the Rachner must be carried out in order to carry out a certain task. which are usually used for both instruction retrieval and also for the retrieval of data when carrying out a loading. specific program are required. Because of the great

0098297U42 BAD ORIGINAL0098297U42 BATH ORIGINAL

rortnehritte, die in der 'moderne η. Technologic ^r^ielt worden sind, konnte di~ Geschwindigkeit der verschiedenen logischen Schaltungen, einschließlich, der arithmetischen lilnheiten, so verbessert werden, daß .-ie viel größer sind, als die Geschwindigkeiten der Magnetspeicher, die universell für die Speicherung großer Informationsmengen, aie sich so-' ^ liohl aus dem Instruktionsetrom als auch tius dan Daten .us amme ns et ze n-, verwandet werden. i>jrner .-/erden Arbeitsregister in der arithmetischen einheit i'ür die üoertragung und Speicherung von Daten verwendet, die aus dew Speicher ausgelesen wurden und In der Instruictionsöinheit diene η'"sie zur Speicherung einzelner Instruktionen, vienn sie verarbeitet und ausgeführt werden.rortnehritte, which in the 'modern η. Technologically, it has been possible to improve the speed of various logic circuits, including arithmetic units, so that they are much greater than the speeds of magnetic memories, which are universally used for storing large amounts of information, aie both from the Instruktionsetrom and tius dan data .us amme ns etze n-, can be used. i> jrner .- / ground working registers in the arithmetic unit i'for the transmission and storage of data read out from the memory and in the instruction unit η '"they are used to store individual instructions, because they are processed and executed.

Gegenwärtig werden 'verschiedene cysterne oenutzt, um'eine IriKtruktionsvorausschau durchzuführ·. n, v/obei Instruktionen P . effektiv vorzeitig vom Speicher abgerufen und in Kurzzeitspeichern aufgesucht, :während noch die laufenden Instruktionen verarbeitet werden. Daner ist eine gewisse Überlappung Various cysters are currently being used to create a Perform IriKtruktionsvorausschau ·. n, v / ob for instructions P. effectively retrieved from the memory prematurely and looked up in short-term memories: while the current instructions are still being processed. Then there is some overlap

.--._..■-"- ■„.·., . -" . . ■ ■ . . -. ■; -. '■.-■:_, ir..·..:' - .-der Spei eher opera ti on möglich, wenn derartige Instruktioris-. - ._ .. ■ - "- ■". ·.,. - ". . ■ ■. . -. ■; -. '■ .- ■: _, ir .. · ..:' -.-Der Operation is sooner possible if such instruction

vorausschautechniken verv/endet werden.Foresight techniques are used / ended.

Wenn sich jedoch die Instruktionen einmal im Instruktions- , register befinden, dann ist es notwendig, diese zu decodieren und verschiedene Datensegmente, vom Speicher abzurufen, auf die eingewirkt werden soll. Daher müssen beispielsweiseHowever, once the instructions are in the instruction, register are located, then it is necessary to decode them and retrieve various data segments from memory which is to be acted upon. Therefore, for example

009829/U42009829 / U42

ϊΌ 96d 040ϊΌ 96d 040

BAD iA^ : r^B BAD iA ^ : r ^ B

bei einer normalen Zweioperanden-Operation, wie Multiplizieren, die Operanden getrennt vom Speieher abgerufen werden, in Arbeitsregistern gespeichert werden, die Multiplikation durchgeführt werden und dann anschließend das Resultat im Speicher wieder-gespeichert werden, Es müssen daher, bevor die- Multiplikation stattfinden kann, die Operanden abgerufen werden und das Resultat gespeichert werden, bevor die nächste Instruktion decodiert und ausgeführt werden kann. Diese Situation ist bei schleifenartigen Operationen viel schwieriger, da beispielsweise eine bestimmte arithmetische Operation mehrmals wiederholt werden muß. Daher müssen jedesmal, wenn die Schleife ausgeführt werden soll, die Instruktionen abgerufen werden, die die verschiedenen Stufen der Schleife spezifizieren. Es müssen ferner die hierdurch spezifizierten Daten abgerufen» die Operation durchgeführt und das Ergebnis in den Speicher zurückgespeichert werden. Diese Operationsfolge muß im wesentlichen solange fortgesetzt werden, bis bestimmte Schleifenkriterien auftreten, In a normal two-operand operation, such as multiply, the operands are called up separately from the memory, stored in working registers, the multiplication is carried out and then the result is then stored again in the memory. Therefore, before the multiplication can take place, the operands are fetched and the result stored before the next instruction can be decoded and executed. This situation is much more difficult with loop-like operations since, for example, a certain arithmetic operation has to be repeated several times. Therefore, each time the loop is to be executed, the instructions specifying the various stages of the loop must be fetched. The data specified by this must also be called up, the operation carried out and the result stored back in the memory. This sequence of operations must essentially be continued until certain loop criteria occur,

Sp. sind nun verschiedene Einrichtungen bekannt geworden, um den vollständigen 3atz von Schleifeninstruktionen in einem schnellen Arbeitsspeicher zwipchenzuspeichern, damit Verzögerungen bei der Rückkehr zum Kopf der Schleife, wo sie wieder eingegeben werden, etwas zu verringern. Jedenfalls erfordern dit; meisten insoweit bekannt gewordenen neueren J1 steine die Spezifikation der neuen Daten, die vom Sp. Various devices have now become known for temporarily storing the complete set of loop instructions in a high-speed working memory in order to somewhat reduce delays in returning to the head of the loop where they are re-entered. Anyway, dit require; Most have become known so far newer J1 stones the specification of new data from the

009829/1442009829/1442

BADBATH

19655081965508

Speicher jedesmal abgerufen werden, wenn die Schleife durchlaufen wird. Die Instruktionen, die diese Instruktion durchführen, müssen daher jedesmal beim Durchlauf der Schleife decodiert werden, nachdem die Speicheradresse der neuen
Daten errechnet und die Daten zu den Registern abgerufen
werden können. Die gleiche Situation ergibt sich auch für die Rückspeicherung der Rechenergebnisse in den Speicher. ™ Bei Programmen mit langen Instruktionsschleifen sind diese Eigenschaften der bekannten Einrichtungen außerordentlich nachteilig. 3s ist daher die Aufgabe der Erfindung, diese Nachteile zu vermeiden und insbesondere eine bezüglich der Wirksamkeit der Rechenoperationen verbesserte Einrichtung anzugeben. ν _
Memory will be fetched every time the loop is iterated. The instructions that execute this instruction must therefore be decoded each time the loop is run through, after the memory address of the new one
Calculated data and retrieved the data for the registers
can be. The same situation arises for the restoring of the calculation results in the memory. ™ In programs with long instruction loops, these properties of the known devices are extremely disadvantageous. 3s is therefore the object of the invention to avoid these disadvantages and in particular to specify a device that is improved with regard to the effectiveness of the arithmetic operations. ν _

Für eine Einrichtung zur Programmsteuerung eines elektronischen Digitalrechners mit einem Hauptspeicher, einer
^ Instruktionseinheit, einer arithmetischen Einheit und
For a device for program control of an electronic digital computer with a main memory, a
^ Instruction unit, an arithmetic unit and

mehreren Arbeitsspeichtrregistern, besteht die Erfindung
darin, daß eine Einrichtung zur Anfangsladune der nrbeits-Epeicherregister mit daten-und adressanerzeugender Information vorgesehen ist, daß ferner in der Instruktionseinheit eine von einer einzigen AuεführungsInstruktion gesteuerte Einrichtung für die Übertragung von gegenwärtig
in den Ärbeitsspeicherreglstern gespeicherten Daten zu
einem anderen Teil des Rechners und für die. Steuerung der Ladung dieser "«,rfc^itsspulchorregiste-r vorn Kauptspeicher,
several working memory registers, the invention consists
in that a device is provided for initially loading the work memory register with data and address generating information;
data stored in the working memory registers
another part of the machine and for that. Control of the loading of this "", rfc ^ itsspulchorregiste-r in the main memory,

Q09829/ UQ09829 / U

BADBATH

aus einer Adresse, gebildet aus der in ihm enthaltenen adressenerzeugenden Information vorgesehen ist und daß schließlich eine weitere, von der genannten einzigen Instruktion gesteuerte Einrichtung zur Steuerung der Speicherung des Resultats dieser Instruktion sowohl in den Arbeitsspeicherregistern, als auch im Hauptspeieher an einer Adresse, die durch die adressenerzeugende. Information bestimmt ist, vorgesehen ist. is provided from an address formed from the address-generating information contained in it and that finally another one of the only ones mentioned Instruction-controlled device for controlling the Storage of the result of this instruction in the working memory registers as well as in the main memory at an address that is determined by the address generating. Information is intended, is provided.

Für ein Verfahren zur Programmsteuerung mittels der genannten Einrichtung besteht die Erfindung darin, daß in einem Instruktionsstrom, vor seinem Eintritt in eine Programmschleife, ein initialisierter Arbeitsspeicherinhalt, bestehend aus daten-und adressenerzeugender Information, die in den Arbeitsspeicher zu laden sind, spezifiziert werden, daß weiter innerhalb der Programmschleife ein bestimmtes Arbeitsspeicherregister, dessen " Inhalt zu einem Verarbeitungsteil des Rechners übertragen wird,' spezifiziert wird, wobei die adressenerzeugende Information im spezifizierten Arbeitsspeicherregister . für die Bildung einer Hauptspeicheradresse verwendet wird und daß ferner der Hauptspeicher an dieser .Hdresse angesteuert ,und eine neue adressenerzeugende Information aus der gegenwärtig in diesem Arbeitsspeicher gespeicherten a^ressenerzeugenden Information gebildet und .diese neue* adressenerzeugende Information in dieses spezifizierteFor a method for program control by means of the above Device, the invention is that in an instruction stream, before it enters a program loop, an initialized work memory content, consisting of data and address generating information to be loaded into the main memory, be specified that further within the program loop a certain working memory register whose " Transferring content to a processing part of the computer is specified, where the address generating Information in the specified working memory register. is used for the formation of a main memory address and that the main memory is also controlled at this address, and new address-generating information is generated the one currently stored in this memory food-generating information is formed and this new * address generating information specified in this

Q ' 0098 29/1442 Q ' 0098 29/1442

Docket YO 968 040 ■Docket YO 968 040 ■

BAD ORIGINAL· ..BAD ORIGINAL · ..

Arbeitsspeicherregister zurückgespeichert wird.Working memory register is restored.

Es ist in diesem Zusammenhang für die Erfindung wesentlich,, daß bei der Durchführung von schleifenartigen Operationen, insbesondere Zeitersparnisse dadurch erzielt werden, indem eine spezielle Instruktion, Decodierschaltungen und zusätzliche Speicherfelder in sehr schnellen Arbeitsspeicherregistern für Operanden und Resultate vorgesehen werden,
wobei spezifische oder explizite Lade-und Speicheroperationen aus der Schleife herausgenommen werden können und effektiv in den Instruktionsstrom eingespeist werden können, bevor das Programm in die Schleife einmündet. Es wird hierzu für den automatischen ,ibruf und das automatische Speichern von Daten ein Mechanismus im Hauptspeicher vorgesehen, während die frühere Operation ausgeführt wird.
In this context, it is essential for the invention, that when performing loop-like operations, in particular time savings are achieved by providing a special instruction, decoding circuit and additional memory fields in very fast working memory registers for operands and results,
where specific or explicit load and store operations can be taken out of the loop and effectively injected into the instruction stream before the program enters the loop. For this purpose, a mechanism is provided in the main memory for the automatic, ibruf and automatic storage of data while the previous operation is being carried out.

Es ist für die Erfindung weiterhin wesentlich, ein Verfahren bereitzustellen, durch das die Spezifizierung der effektiven Adressenrechnung von den wirklichen Lade-und Speicherinstruktionen getrennt wird, die beispielsweise sehr kqfcpakt mit einer arithmetischen Operation codiert werden können.A method is also essential to the invention provide by specifying the effective Address calculation from the real load and store instructions is separated, which, for example, can be coded very kqfcpakt with an arithmetic operation.

Hierzu gehört auch der Vorteil der vorliegenden Erfindung, die Instruktionsausführung in einem Rechnersystem zu beschleunigen, wobei nur sehr wenig zusätzliche Schaltkreise erforderlich sind.This also includes the advantage of the present invention, to accelerate the execution of instructions in a computer system, with very little additional circuitry required.

rQ , 009829/1442
Docket ϊθ 968 040 - '
rQ , 009829/1442
Docket ϊθ 968 040 - '

BADORfOlNALBADORFOLNAL

Ein weiterer sehr wesentlicher Vorteil, der mit der vorliegenden Erfindung erzielt wird, besteht darin, daß dia Länge bestimmter sohleifenartlger Instruktionen wesentlich verringert wird«Another very significant benefit with the present Invention is achieved is that dia The length of certain so-called instructions is essential is reduced "

Im folgenden wird die Erfindung anhand eines durch Zeichnungen erläuterten ^usführungsbeispiels näher besehrieben. Es zeigen:In the following the invention is based on a through drawings explained in more detail. Show it:

Pig.1 ein Blockschaltbild zur Darstellung der Funktion einer durch d ie Erfindung verbesserten Instruktionseinheit eines Datenverarbeitungssystem? die im Detail in Pig.2 dargestellt ist;Pig.1 is a block diagram to illustrate the function of an instruction unit improved by the invention Data processing system? which is shown in detail in Pig.2;

Fig.2 eine Ansieht der gegenseitigen Anordnung der Fig.2A-2D;2 shows a view of the mutual arrangement Figures 2A-2D;

Fi-g.2A- ein kombiniertes funktionelles und. logisches ■: 2DFi-g.2A- a combined functional and. logical ■: 2D

Sehemadiagramir, eines bevorzugten Ausführungs-Vision diagram of a preferred embodiment

beispiels der Erfindung; example of the invention ;

Fi£.3 ein Flufldiagramm des Arbeitsablaufes desFi £ .3 is a flow diagram of the workflow of the

bevorzugten Ausführungsbeispieis der Erfindung gemäß den Fi^ . 2^-2B.preferred embodiment of the invention according to the Fi ^. 2 ^ -2B.

009829/UA2009829 / UA2

rojkv-t ":"v." Jc ii C-C
BAD
rojkv-t ":" v. "Jc ii CC
BATH

1965508-1965508-

Die Aufgaben der vorliegenden Erfindung werden ganz allgemein in einem Datenverarbeitüngssystern verwirklicht, das aus einem Hauptspeicher, einer Instruktionsverarbeitungseinheit, einer arithmetischen Einheit und einer Anzahl von Arbeitsspeicherregistern besteht, und das eine Anordnung für das anfängliche Laden der erwähnten Arbeitsspeicherregister mit Daten und Informationen zur Ädressenerzeugung enthält.The objects of the present invention become general realized in a data processing system that consists of a main memory, an instruction processing unit, an arithmetic unit and a number of working memory registers, and one arrangement for the initial loading of the mentioned working memory registers with data and information on address generation.

m Die erwähnte Instruktiohsverarbeitungseinheit besteht aus einer Anordnung, die von einer einzigen AusfUhrungsInstruktion in Tätigkeit gesetzt wird, wobei diese Instruktion die Übertragung von Daten, die gegenwärtig in den genannten Arbeitspeieherregistern gespeichert sind, zu einem anderen Τ«11 des Systems steuert und auch bewirkt, daß diese Register vom Hauptspeieher aus gemäß der in ihnenenthaltenen Information zur Adressenerzeugung geladen werden* Gemäß einem weiteren Aspekt der Erfindung kann diese m The aforementioned Instruktiohsverarbeitungseinheit consists of an assembly which is set by a single AusfUhrungsInstruktion in activity, said instruction to another Τ controls the transfer of data that is currently stored in said Arbeitspeieherregistern "11 of the system and also causes these registers are loaded from the main memory according to the information contained in them for address generation * According to a further aspect of the invention, this

fe einzeliie -n-usführuiigsInstruktion veranlassen, daß das Resultat eier genannten Instruktion sowohl in den erwähnten Arbeitsspeicherre£-;istern als auch im Hauptspeicher an einer Stelle gespeienert werden kann, die von der Information zur Adre ssener zeugung ov π t>lmint wird.Fe single -n-executable instruction cause the Result of the instruction mentioned both in the mentioned main memory and in the main memory can be stored in a location that depends on the information for address generation ov π t> lmint becomes.

^■urexi dia V r-r^ndun;^ der· vorli^,v,n.'Iyn ^rfiridune". Können daher im besonderen. ^roj.Tarainsohl^ifr-n v/epentlich verkürzt weraon, wobei gleichzeitig dei· Arb-:jitsaufv;and- des Programm-icrftrp und^ ■ urexi dia V rr ^ ndun; ^ der · vorli ^, v, n.'Iyn ^ rfiridun e ". Can therefore in particular. ^ Roj.Tarainsohl ^ ifr-n v / epecially shortened weraon, whereby simultaneously the work -: jitsaufv; and- des program icrftrp and

usXUhrun^EZeit verkürzt v/erden.uXUhrun ^ E time shortened.

009829/UUl 009829 / U Ul

C-.-CC -.- C

PADPAD

Es sei aber erwähnt, daß die herkömmliche Operation des Datenverarbeitungssystems durch die zusätzlichen Schaltungsanordnungen der Erfindung nicht beeLnträohtigt werden. Die Instruktionen werden also im wesentlichen genauso abgerufen und verarbeitet, wie es bei der Arbeitsweise der arithmetischen und logischen Einheiten und des Hauptspeichers der Fall ist. Der wesentliche Unterschied in der Arbeitsweise des vorliegenden Datenverarbeitungssystems · besteht darin, daß es nicht notwendig ist, explizit die Abruf-und Speieherinstruktionen innerhalb einer,Schleife zu spezifizieren, wenn einmal die Arbeitsregister von einer "Vorinstruction" für die Schleifenfolge geladen wurden. Der Programmierer muß aber eine geeignete Instruktionsstruktur vorsehen und veranlassen, daß die Datenfolge innerhalb des Speichers abrufbar ist, indem verschiedene Adressenindexwerte und effektive Adressenwerte verwendet werden, die durch die verwendete spezielle Schaltkreiskonfiguration erförderlich sind.It should be noted, however, that the conventional operation of the Data processing system are not compromised by the additional circuit arrangements of the invention. So the instructions are essentially the same retrieved and processed as it did when it worked the arithmetic and logical units and the main memory the case is. The main difference is in the way the present data processing system works in that it is not necessary, explicitly the Retrieve and store instructions within a, loop to be specified once the working registers of a "pre-instruction" for the loop sequence has been loaded. The programmer must, however, provide a suitable instruction structure and cause the data sequence accessible within memory using various address index values and effective address values required by the particular circuit configuration used.

In dem folgenden Beispiel werden die Vorteile des Datenverarbeitungssystems nach der Erfindung gekennzeichnet. Es sei einmal ein System angenommen, das Dreiadressen Arithmetik verwendet, d.h. daß zwei Operanden·und sowohl ein Resultat als auch ein Operationscode verwendet wird. Es wird ferner angenommen, daß die grundlegenden arith-. me tischen Instruktionen ein halbes Wort und die lade-/The following example illustrates the advantages of the data processing system characterized according to the invention. Suppose a system is three-address arithmetic is used, i.e. two operands · and both a result as well as an operation code is used. It is also assumed that the basic arith-. me tical instructions half a word and the loading /

0098 2 97 14 420098 2 97 14 42

Docket YO 968 040 "Docket YO 968 040 "

BADBATH

T9655Ö6T9655Ö6

- ro -- ro -

Speicherinstruktionen ein volles Wort beanspruchen* Dann würde eine Programmschleife, die beispielsweise die folgende Operation ausführen würde, folgende Form habentSave instructions take up a full word * Then would create a program loop that does, for example, the following Operation would have the following form

0I1I 0 I 1 I.

Die obige Operation würde drei Ladeinstruktionen.mit drei Maschinenwörtern, eine Speicherinstruktion mit einem Maschinenwort, eine I-luitiplii:£utionr-und eine /-dc! 11 ζ or: f— Instruktion frit jeweils einem halben Wort-und eine "gäiilen und Verzweigen "-Instruktion benötigen. Wenn jedoch die inplizite Lade-und Speichertechnik der vorxiegenden ;.;rr-ind-urie5 benutzt v.-ird, ist folgendes Verfahren anwendbar:The above operation would take three load instructions with three machine words, one store instruction with one machine word, one I-luitiplii: £ utionr- and one / -dc! 11 ζ or: f- instruction frit half a word and a "valid and branching" instruction. However, if the implicit loading and storage technique of the present;.; Rr-ind-ur ie 5 v.-ird is used, the following procedure is applicable:

1. Verwende .getrennte Register für A FiV, B [i T, c[i*\und D [i]. 1. Use separate registers for A FiV, B [i T, c [i * \ and D [i].

2, Spezifiziere das Wiederladen der Register für2, Specify reloading of registers for

B [i] und C Γ ij in der MultiplikationsinstruktionB [i] and C Γ ij in the multiply instruction

5· Spezifiziere das Wiederladen des Registers für D' i'1 und das Speichern des Registers für A Γ i j in der Additionsinstruktion.5 · Specify the reloading of the register for D 'i' 1 and the storing of the register for A Γ ij in the addition instruction.

Nimmi; man an, daß "zählen und verzweigen" ebenfalls ein volles Wort beanspruchte, dann wird die Länge der innerenNimmi; one implies that "counting and branching" is also a full word claimed, then the length of the inner

.* ■ 009829/1442. * ■ 009829/1442

Docket YO 968 04.0 . »Docket YO 968 04.0. »

BAD >BATHROOM>

T9655ÖST9655ÖS

Schleife von sechs Wörtern auf zwei Wörter reduziert, d.h. ein Wort; für die MuItipltkatlons-und Additionsinstruktionen unö ein Wort für die "Zählen und Verzweigen"-Instruktion, die den Indikator Fi"j auswertet. Diese Ersparnis wird durch ein Anwachsen der Zahl der für die Initialisierung der Schleife notwendigen Instruktionen und durch diemögliche' Tatsache erkauft, daß ein unnötiger Satz von Speicherabrufen beim letzten Durchlauf der "Schleife durchgeführt werden muß. - - . ; Loop reduced from six words to two words, ie one word; for the multiplication and addition instructions and one word for the "counting and branching" instruction which evaluates the indicator Fi "j. This saving is bought by an increase in the number of instructions necessary for the initialization of the loop and by the possible fact that that an unnecessary set of memory fetches must be made on the last iteration of the "loop. - -. ;

Im obigen Beispiel wird eine 66,-JIge Ersparnis angeboten urki obwohl dieses Beispiel gewlchtetist, wird angenommen, daß viele Schleifen eine ähnliche Verringerung ihrer Länge zeigen, allerdings -nicht notwendigerweiee in dieier Größe. Zeitersparnisse sind ebenfalls möglich> obwohl sie mit unterschiedlichen Instruktionsformaten beispielsweise bei "einem Zvieiadressformat nicht so groß sind.In the example above, a 66, -JIge savings is offered urki although this example is set, it is assumed that many loops show a similar reduction in length, but not necessarily that size. Time savings are also possible> although they are with different instruction formats, for example "a Zvieiadressformat are not so big.

In dem folgenden Diagrammwird das Format der bevorzugten Instruktionsform im Hahmen der Erläuterung der Erfindung beschrieben:The following diagram describes the format of the preferred form of instruction in order to explain the invention:

addiere | p.-
i x
add | p.-
i x
ii kk

In der obl^^n Instruktion bozjiciinet das mit i kiertä Feld, die auszui'ül'ir^nä..' Gp-.-ration. Die mit I ,In the obl ^^ n instruction bozjiciinet that with i kiertä field, theausi'ül'ir ^ next .. 'Gp -.- ration. The ones with I

009829/ -1ΑΛ2009829 / -1ΑΛ2

Decket lC 9C0 Q-tO -..",; . ,Cover lC 9C0 Q-tO - .. ",;.,

u marj und ku marj and k

bezeichneten Felder sind Spezifikationen der Arbeit sspeiöiierdesignated fields are specifications of the work sspeiöiier

register, in denen die Operanden (i>j) und das Ergebnis; s ' (k) zu speichern sind« Die kleinen Felder F.,F. und it geben an, ob das betreffende Register wieder geladen oder automatisch zusammen mit der Operation der arithmetischen Einheit gespeichert werden soll. Bas obige Instructionswortformat, das den Operationscode Addiere verwendet, · führt folgende Operation aus: - - - ·register, in which the operands (i> j) and the result; s ' (k) to be saved are «The small fields F., F. and it indicate whether the relevant register should be reloaded or automatically stored together with the operation of the arithmetic unit. The instruction word format above, which uses the operation code add, performs the following operation: - - -

Rk R k

Diese Instruktion bewirkt, daß die Operanden, die laufend in den Registern i und j des Arbeitsspeichers (siehe Fig*1) erscheinen, zu der arithmetischen Einheit durchgeschaltet werden, in dereine- Additionsoperation durchgeführt wird* Nach dieser Operation wird.das Resultat zurück in das k-Register übertragen. Nimmt man an, daß alle F-Felder' auf "1" gesetzt wurden, ergibt sich folgendes: . ·-..This instruction causes the operands to be ongoing in registers i and j of the main memory (see Fig * 1) appear, connected to the arithmetic unit in which an addition operation is performed * After this operation, the result will be returned to the Transfer k register. If one assumes that all F-fields' have been set to "1", the following results:. · - ..

Zuerst werden die irn i--Arbei.tsregi.ster gespeicherten Daten als erster Operand in die arithmetische Einheit durehge-. schaltet» Gleichzeitig wird eine in dieser Registerpösition gespeicherte Adresse, die die Speicheradresse des nächsten Operanden für die Schleife spezifiziert vorn Arbeitsregister abgerufen und diese betreffende /.dresse angesteuert und dar Operand in das i-Re gitter und die laufendes Adresse auf. denFirst, the data stored in the i - work register as the first operand in the arithmetic unit. switches »At the same time one is in this register position stored address which is the storage address of the next Operands for the loop specified by the working register retrieved and this relevant /. address is controlled and displayed Operand in the i-register and the current address. the

009829/UΛ 2009829 / UΛ 2

o-:co- : c

BADBATH

neuesten Stand gebracht, gemäß einem Index, der, von dem Programmierer spezifiziert wird (wird normalerweise um 1 vermehrt). Die besondere Art, in der diese Adresseninformation gemäß den spezifischen Einzelheiten der Erfindung erzeugt wird, wird nun beschrieben. Für die augenblickliche Diskussion jedoch wird eine verallgemeinerte Adressentechnik beschrieben, da die spezifische..Adressenerzeugung auf sehr verschiedene tfelse vorgenommen werden kann, wobei sowohl an die Adressenerzeugung, als auch an diagnostische Information u.dgl. gedacht ist. In ähnlicher Weise wird der im j-Register gespeicherte Operand zu'der arithmetischen Einheit durchgeschaltet und die dort gespeicherte Adresse in den Arbeitsregistern verwendet, um in ähnlicher Weise den nächsten Operanden vom Hauptspeicher abzurufen, der in das nun effektiv leere j-Register eingegeben wird.brought up to date, according to an index that, from which Programmer is specified (usually increased by 1). The special way in which this address information produced in accordance with the specific details of the invention will now be described. For the moment Discussion, however, a generalized addressing technique is described since the specific... Address generation can be carried out on very different tfelse, with both address generation and diagnostic information and the like is intended. The operand stored in the j register is added in a similar way arithmetic unit and the address stored there in the working registers is used to similarly the next operand from main memory which is entered into the now effectively empty j-register will.

Die arithmetische Einheit führt schließlich die Operation aus und die Instruktion im Instruktionsregister gibt an, daß das Resultat in das k-Register der Arbeitsspeicherregister eingegeben werden soll. Während daher der erste Satz von Operanden in der arithmetischen Einheit verarbeitet wird, erfolgt im wesentlichen gleichzeitig hiermit der Abruf eines folgenden Satzes von Operanden.The arithmetic unit finally performs the operation and the instruction in the instruction register states that the result in the k register of the working memory register should be entered. While therefore the first sentence of Operand is processed in the arithmetic unit, the call takes place essentially at the same time of a following set of operands.

009 8 29/U4 2009 8 29 / U4 2

Docket £0 968 040Docket £ 0 968 040

BAD ORIGINALBATH ORIGINAL

1965SOB1965SOB

Wird angenommen, daß F, auf 1 gesetzt wurde, dann wird das Resultat zuerst in das Datenfeld des K-Registers übertragen und gleichzeitig die dort gespeicherte Adressen-.; information überprüft, modifiziert und dazu verwendet, auch das Ergebnis der Operation an der Adresse zu speichern,;? die im Adressenteil des k-Registers spezifiziert ist. Nach der Speicheroperation wirdder Adressenteil modifiziert ^ihkrementiert) und zurück in den Adressenteil des 1clke"gisfcers übertragen, um für das nächste Resultat, das dieses Register in der betreffenden Schleifenoperation verwendet, einen Speicherbereich aufzumachen.Assuming that F i has been set to 1, then will The result is first transferred to the data field of the K register and, at the same time, the address stored there .; information checked, modified and used to also store the result of the operation on the address;? the is specified in the address part of the k register. After the save operation, the address part is modified (incremented) and back to the address section of the 1clke "gisfcer transferred to a. for the next result that uses this register in the relevant loop operation To open storage area.

Die obige Beschreibung des Instruktionswortformats für die Ausführung einer typischen Ausführungsoperation, die das Konzept des vorliegenden Systems, verwendet, erläutert: die grundlegenden Operationsverfahren der Vorliegenden Erfindung* So wird das Wiederladen der Register i und j automatisch durch den Gegenstand der Erfindung bewirkt, ohne daß dieses ausdrücklich angeordnet wird. In ähnlicher rfeise wird auch die Speicherung des K-Registers automatisch durch die vorliegende Instruktion bewirkt, ohne daß die erwähnte Übertragung besonders aufgerufen wird. Das anfängliche laden der Arbeitsspeicherregister muß jedoch durch geeignete Programmierung vorgenommen werden, die der Programmierer selbst steuert, so daß das Laden der notwendigen Anfangsdaten und Adresseninformation ermöglicht wird.The above description of the instruction word format for the Perform a typical run operation that includes the Concept of the present system, used, explained: the basic operating methods of the present invention * So the reloading of registers i and j becomes automatic caused by the subject matter of the invention without this being expressly ordered. In a similar rfeise is also the storage of the K register automatically by the present Instruction causes without the aforementioned transfer is called especially. However, the initial loading of the working memory registers must be carried out by suitable means Programming can be carried out, which the programmer controls himself, so that the loading of the necessary initial data and address information is enabled.

10855061085506

Essei erwähnt, daß auch mehr als drei Arbeitsregister im . System/verwendet werden können. Zwei Operanden und ein R$attitatregister, das sind die Register 1, j und k wurdenIt should be mentioned that there are also more than three working registers in the . System / can be used. Two operands and one R $ attitatregister, these are registers 1, j and k

,beispielsweise zur Vermittlung der Lehre der Erfindung erläutert <,. Es können auch sechs, acht oder zehn solcher Register im System verwendet werden und vom-"Programmierer angerufen.werden, wenn immer es notwendig ist, wobei daran zu denken ^sfc* daS- die für eine Operation aufgerufenen Re-.gister zuerst initialisiert werden müssen, bevor sie in eine ,Schleife oder ein, anderes unterprogramm eingefügt werden, das diese Register benutzt, um sowohl die notwendigen Anfangsdaten als auch die effektive Adresee und Adressener-. höhungen bereitzustellen·, for example to convey the teaching of the invention explained <,. Six, eight or ten such registers can also be used in the system and called by the programmer whenever necessary, bearing in mind that the registers called for an operation are initialized first must, before they are inserted into a loop or another subroutine that uses these registers to provide both the necessary initial data and the effective address and address increments.

Im folgenden wird die Ex'findung anhand der Figuren erläutert. . Pig.t zeigt in der Form eines allgemeinen funktioneIlen Blockschaltbildes die wesentlichen Funktionselernente des in den Fig.2Ä-2D (nachfolgend als Fig:»2 bezeichnet) ausführlicher dargestellten Datenverarbeitungssystems* Das in konventioneller Weise aufgebaute Instruktionsregitter empfängt die Programminstruktionen sequentiell vom Hauptspeieher 1ö.The invention is explained below with reference to the figures. . Pig.t shows in the form of a general functional Block diagram shows the essential functional elements of the Refer to Figures 2A-2D (hereinafter referred to as Figure 2) in more detail data processing system shown * The instruction register constructed in a conventional manner receives the program instructions sequentially from the main store 1ö.

Diese konventionellen Datenflußwege sind in der vorliegenden Erfindung jedoch nicht dargestellt, da sie, ebenso wie Einzelheiten der .nrbsitsweise des Systems,hinreichend bekanntThese conventional data flow paths are in the present However, the invention is not shown, as it, as well as details of the operation of the system, are sufficiently known

009829/1AA2 ■009829 / 1AA2 ■

Docket ^C -*mö O-tO . ■"..-.:/._■Docket ^ C - * mö O-tO. ■ "..-.: /._ ■

BADOR10INÄL :■-_ BADOR10INÄL : ■ -_

sind. Es sind nur die· wesentlichen Steuerschaltungen dargestellt, die für die Operation des Systems notwendig sind. Es wird daher eine Leitung gezeigt, die vom Instruktionsregister 10 zu der arithmetischen und logischen Einheit führt, über die nur der Operationscode,d.i.Addieren, Subtrahieren, Multiplizieren, u.dgl. zu der arithmetischen Einheit 12 übertragen wird. Das Instruktionsregister enthalt geeignete Bitfeldbereiche F.,F. und F, für die Steuerung der Operationen in den verschiedenen Ärbeitsregistern, das sind die in der Instruktion mit i,j und k/bezeichneten Register. Ihre spezielle Operation eigentlich angesprochen und wird nachfolgend ausführlich"beschrieben. Die erweiterten Ärbeitsspeicherregister 14 (Arbeitsspeicher) bestehen aus dem Arbeitsspeichertiereich für die Operanden und Resultate und es ist die automatische Vorladung dieser Register und die Speicherung des Resultatregisters, die das Wesen der vorliegenden Erfindung ausmachen. Wie bereits früher erwähnt wurde, wird in diesen Registern für das Datenwort und die Information zur Adressenerzeugung Speicherraum oder ein Datenfeld zugeteilt. Wobei weiterhin ein Inkrementfeld und ein effektives Adressenfeld in einer Adressenberichtigungsschaltung 16 zueinander addiert werden können, um die Adresse für einen laufenden Öperanäenabruf und eine laufende Resultatspeicherung zu.bilden und um Adressen für aufeinanderfolgende Abruf-und Speichersehritte zu bilden. Der Hauptspeicher 1o besitzt einen konventionellen Aufbau und auch are. Only the essential control circuits are shown, which are necessary for the operation of the system. A line is therefore shown extending from the instruction register 10 to the arithmetic and logic unit leads over which only the operation code, i.e. adding, Subtracting, multiplying, and the like is transmitted to the arithmetic unit 12. The instruction register contains suitable bit field areas F., F. and F, for control of the operations in the various work registers, these are those marked in the instruction with i, j and k / Register. Your particular operation actually addressed and is described in detail below ". The extended Main memory register 14 (main memory) consist of the Working memory area for the operands and results and es is the automatic pre-loading of these registers and the storage of the result register, which is the essence of the present Make up invention. As mentioned earlier, these registers are used for the data word and the Information for address generation Allocated memory space or a data field. Whereby still an increment field and an effective address field in an address correction circuit 16 can be added to each other to produce the Address for a running Öperanea call and a running one Result storage to. Form and to address for successive Form retrieval and storage custom. The main memory 1o has a conventional structure as well

.".« 009829/1 U Ul . "." 009829/1 U Ul

Decket YO 968 0-T& .··. , ,. - ■ . ·, · ■Cover YO 968 0-T &. ··. ,,. - ■ . ·, · ■

BADBATH

- .17 -- .17 -

hier sind nur diejenigenDatenwege dargestellt, die sich auf die Erfindung beziehen, d.h. auf den Abruf der Operanden vom Speieher und die übertragung derselben in den Arbeitsspeicher 14 und für die Speicherung der"Resultate vom Arbeitsspeicher 14 zurück in den Hauptspeicher 18. Die Steuereinheit 20 enthält in erster Linie den speziellen Steuersystem-Taktgeber, der in der Fig.2dargestellt ist · und dessen Operation ausführlich im Zusammenhang mit den '. Zeittaktdiagrammen erläutert wird.only those data paths are shown here which relate to the invention, ie the fetching of the operands from the memory and the transfer of the same to the main memory 14 and for the storage of the "results" from the main memory 14 back into the main memory 18. The control unit 20 contains in FIG primarily the dedicated control system clock, which is in the Fig.2dargestellt · and its operation is explained in detail in connection with the '. timing diagrams.

Gerade diese Einheit steuert die Operationsfolge in der Einrichtung nach der Erfindung und initialisiert die Operation der zuvor erläuterten Funktionseinheiten, wenn dieses erforderlich ist«It is precisely this unit that controls the sequence of operations in the Device according to the invention and initializes the Operation of the previously explained functional units, if this is necessary «

Fig.2 zeigt eine Kombination logischer und funktioneller Blockschaltbilder, die den Gagenstand der Erfindung enthalten. Diese Figur wird nun im Zusammenhang mit den Zeittaktdiagrammen erläutert. Fig.2A zeigt das Instruktionsregister 10 mit den zugeordneten Decodierurigssteuerungen und-Toren. Ferner zeigt die Fig.2A die arithmetische und logische Einheit 12 (ALU),_ zusammen mit Sammelleitungen, die den Datenfluß zwischen diesen Einheiten und dem Arbeitsspeicher 14 veranschaulichen. Die Adressenberichtigungsschaltung istgenerell in den Fig.2B und 2D. dargestellt und enthält primär den Inkrementer 50, das Halteregister 52Fig.2 shows a combination of logical and functional Block diagrams that contain the fee status of the invention. This figure will now be explained in connection with the timing diagrams. 2A shows the instruction register 10 with the associated decoding controls and gates. Furthermore, Fig.2A shows the arithmetic and logical unit 12 (ALU), _ together with collecting lines, which illustrate the flow of data between these units and the working memory 14. The address correction circuit is generally shown in Figures 2B and 2D. and primarily contains incrementer 50, holding register 52

009829/1442 ' >009829/1442 '>

Docket YO 968 040 . .. ·Docket YO 968 040. .. ·

BADQRIGINAi- BADQRIGINAi -

und den Addierer j56-. Der Hauptspeicher 18 ist in Fig.2D zusammen mit seinem konventionellen Speicheradressenregister (MAR) und einem Speicherdatenregister(MDR) dargestellt. Der Hauptteil der Steuereinheit ist in Fig;2C enthalten und besteht im wesentlichen aus einer Reihe von monostabilen Multlvibratoren (SS) für die Erzeugung der Taktimpulse CL-1 -CL-28.Die Operation der monostabilen Multivibratoren ist an sich bekannt. Ihr Aufbau ist so, daß wenn sie angeregt werden, einen Taktimpuls erzeugen und nach Abschaltung nach _piner festen Zeitperiode einen Abschaltimpuls erzeugen. In den vorliegenden Figuren ist der Einschalttaktimpuls von oben kommend dargestellt. Der Abschaltimpuls läuft über einen Ausgang, der rechts aus dem monostabilen Multivibrator herausführt.and the adder j56-. The main memory 18 is shown in FIG. 2D together with its conventional memory address register (MAR) and a memory data register (MDR). The main part of the control unit is shown in Fig. 2C and consists essentially of a series of monostable multivibrators (SS) for generating the clock pulses CL-1 -CL-28. The operation of the monostable multivibrators is known per se. Their structure is such that when they are excited, generate a clock pulse and generating a turn-off after shutdown after _p iner fixed time period. In the present figures, the switch-on clock pulse is shown coming from above. The switch-off pulse runs via an output that leads out of the monostable multivibrator on the right.

In der Pig.5 ist ein Flußdiagramm abgebildet, in dem die ρ i-, j- und k-Register verwendet werden. Die linke Spalte der Vararbeitungsschritte umfaßt die Hauptereignisfolge beim Auswerten der Instruktion und beim Leiten der Daten in die ALU und von dort zurück in die Speicherregister. Die Schritte, die bei der Auswertung der Steuerfelder F^, F. und F1 erforderlich sind, beginnen ebenfalls in dieser Spalte. Die Auswertung dieser bestimmten Steuerfelder leitet die impliziten Lade-und Speicheroperationen ein, die in den Schritten der rechten Spalte vermerkt sind. Die drei verschiedenen Schrittfolgen A,B urid- G beinhalten denPig.5 shows a flow chart in which the ρ i, j and k registers are used. The left column of the processing steps comprises the main sequence of events when the instruction is evaluated and the data is passed into the ALU and from there back into the storage register. The steps that are required when evaluating the control fields F ^, F. and F 1 also start in this column. The evaluation of these specific control fields initiates the implicit load and store operations, which are noted in the steps in the right-hand column. The three different step sequences A, B urid-G include the

009829/ U42009829 / U42

Docket YO 968 040Docket YO 968 040

BAUBUILDING

■ν 19 -■ ν 19 -

" Vorabruf11 des nächsten Operanden aus dem Haupts peidaer (dieser Vorgang wird von der im Arbeitsregister jeweils gespeicherten Adresse gesteuert), und die Erhöhung der Adressen, so daß im darauffolgenden Zyklus der nächste Operand implizit vom System abgerufen wird. Die drei Rechtecke der Schrittfolge D bezeichnen die Schritte, die notwendig sind, um das Register K im Hauptspeicher an der Adresse, die jweils in dem Adressenteil des Registers k liegt, zu speichern. So vird die .Adresse aus dem Register an den Speicher geleitet, das Ergebnis wird gespeichert, danach wird diese Adresse auf den neuesten Stand gebracht und wieder in den Arbeitsspeicher im entsprechenden Adressenfeld für das Register k gespeichert."Pre-fetching 11 of the next operand from the main peidaer (this process is controlled by the address stored in the working register), and increasing the addresses so that the next operand is implicitly called by the system in the following cycle. The three rectangles in the sequence D denote the steps which are necessary to store the register K in the main memory at the address which is in each case in the address part of the register k. The address is thus passed from the register to the memory, the result is stored, then this address is brought up to date and stored again in the working memory in the corresponding address field for register k.

Verschiedene Rechtecke enthalten Taktschritte, die ebenfalls notwendig sind. Im folgenden wird"-die genaue Operation des Systems anhand der Ablaufdiagramme von Taktimpuls zu Taktimpuls beschrieben.Different rectangles contain clock steps that are also necessary. The following is "- the exact operation of the The system is described using the timing diagrams from clock pulse to clock pulse.

ABIAUFDIAGRAMH -ABIAUFDIAGRAMH -

CL-I Übertrage i*-Feld zum Decoder,CL-I Transmit i * field to the decoder,

. ■ übertrage R1 zum: ALU (Datenteil), • weiter nach CIi-Si "v; > .,.:-..-. . ■ transfer R 1 to: ALU (data part), • continue to CIi-Si "v;>.,.: -..-.

CL-2 : Prüfe F1 -.-"■-"."-. :ry- :; .-- CL-2 : Check F 1 -.- "■ -". "- .: Ry-:; .--

~ "4"-,,; weiter; nach; CL-ä ~ "4" - ,,; Further; after; CL-Ä

Dooket ^C i?Cö C-QDooket ^ C i? Cö C-Q

CL-J Übertrage i-Feld zum Decoder 126,CL-J Transfer i-field to decoder 126,

übertrage den Zuschlag i zum Addierer, übertrage das Adressenfeld in R. zum Addierer, weiter nach CL-2I-.Transfer the surcharge i to the adder, transfer the address field in R. to the adder, on to CL- 2 I-.

CL-4 Starte den Abrufzugriff, weiter nach CL-5·CL-4 Start the retrieval access, further to CL-5

CL-5 ist oben alles vollständig? Nein, weiter nach CL-6 Ja, weiter nach CL-7CL-5 is everything complete above? No, continue to CL-6 Yes, continue to CL-7

CL-6 Verzögerung,CL-6 delay,

zurück nach CL-5.back to CL-5.

CL-7 Übertrage MDR nach R^,CL-7 Transfer MDR to R ^,

übertrage i-Feld an den Decoder 26, . . weiter nach CL-8.transmit i-field to decoder 26,. . continue to CL-8.

CL-8 Übertrage i-Feld zum Decoder 26,CL-8 Transfer i-field to decoder 26,

übertrage den Zuschlag in R^ an den Incrementer, Weiter nach CL-9.Transfer the surcharge in R ^ to the incrementer, Continue to CL-9.

CL-9 Übertrage das Halte-Register in das InicrementfeldCL-9 Transfer the hold register to the increment field

InR1, ..InR 1 , ..

übertrage das i-Feld zum Decoder 26,transfer the i-field to decoder 26,

weiter nach CL-TO. -.-.continue to CL-TO. -.-.

BADBATH

■■- 21 -■■ - 21 -

CL-IO Übertrage j-Feld zum Decoder 26, übertrage R. zum ALU (Datenteil); starte ALU-Operation, weiter nach OL-11.CL-IO Transfer j-field to decoder 26, transfer R. to ALU (data part); start ALU operation, continue to OL-11.

CL-11 Prüfe F., V.CL-11 Check F., V.

wenn ="4", weiter nach CL-12 wenn ="o", Weiter nach CL-I9.if = "4", go to CL-12 if = "o", continue to CL-I9.

CL-12 Übertrage j-Feld zum Decoder 26, übertrage Zusehlag in R. zum Addierer,CL-12 Transfer j-field to decoder 26, transfer the addition in R. to the adder,

übertrage Adresse in R. an den Addierer,transfer address in R. to adder,

weiter nach CL-13· .-":.-continue to CL-13 · .- ": .-

CL-13 Starte den Abrufzugriff, weiter nach OL-14.;CL-13 Start polling access, continue to OL-14 .;

CL-T4 ist oben alles vollständig? -■"·.-. Nein, weiter nach CL-15-» Ja, weiter nach CL-16.CL-T4 is everything complete above? - ■ "· .-. No, go to CL-15- »Yes, go to CL-16.

CL-I5 VerzögerungCL-I5 delay

zurück nach CL-I4back to CL-I4

CL-16 Übertrage MDR nach R, (Datenfeld), ; übertrage j-Feld an den.Decoder, weiter nach CL-I7. ' ,. ^,V:-;CL-16 Transfer MDR by R, (data field); Transfer j-field to the decoder, further to CL-I7. ',. ^, V: -;

' ■ , 009829/U42 \ · --'■, 009829 / U42 \ · -

Docket Ϊ0 968 040Docket Ϊ0 968 040

BAD ORiGlNAiBAD ORiGlNAi

CL-17 Übertrage j-Feld zum Decoder,CL-17 Transfer j-field to the decoder,

übertrage Zuschlag in R. zum Iricrementer,transfer surcharge in R. to the iricrementer,

weiter nach CL-I8. .continue to CL-I8. .

CL-18 Übertrage Halte-Regirter in das Zuschlagfeld von R.CL-18 Transfer hold registers to R.

Übertrage j-F„ld zum Decoder --, weiter nach CL-I9.Transfer jF "ld to the decoder -, further to CL-I9.

ν GL-I9 Ist die Operation im ALU abgeschlossen?ν GL-I9 Has the operation in the ALU been completed?

Nein, weiter nach CL-20,No, continue to CL-20,

Ja, weiter nach CL-21.Yes, on to CL-21.

CL-20 VerzögerungCL-20 delay

zurück nach CL-19·back to CL-19

CL-21 Übertrage k-Feld zum DecoderCL-21 Transfer k-field to the decoder

übertrage das Ergebnis in R^ (Datenfeld), ^ weiter nach CL-22.transfer the result to R ^ (data field), ^ on to CL-22.

CL-22 Prüfe F^,CL-22 Check F ^,

wenn ="1", weiter nach CL-2j5, wenn ="O",weiter bis "ENDE11.if = "1", continue to CL-2j5, if = "O", continue to "END 11 .

CL-23 Übertrage k-Feld zum Decoder,CL-23 Transfer k-field to the decoder,

übertrage Zuschlagsfeld von R^ zum Addierer, übertrage Adressenfeld von R. zum Addierer, übertrage R, in das MDR '(Datenfeld), weiter nach CL-24, λ ,-" \ e .■ . .-. Transfer surcharge field from R ^ to adder, transfer address field from R. to adder, transfer R, into the MDR '(data field), further to CL-24, λ, - "\ e. ■. .-.

ORIGINS.ORIGINS.

Ί965SQ6Ί965SQ6

CL-24 Starte Speicherzugriff,. , --CL-24 start memory access ,. , -

weiter nach CL-25.continue to CL-25.

CL-25 Ist oben alles vollständig?
Nuin, weiter nach CL-26,
ja, weiter nach CL-27. : ; ·
CL-25 Is everything complete above?
Nuin, on to CL-26,
yes, continue to CL-27. :; ·

CL-26 Verzögerung,CL-26 delay,

zurück nach CL-25. · 'back to CL-25. · '

CL-27 Übertrage Ie-FeId an den Decoder, übertrage Zuschlagsfeld von R. zum Incrementer, weiter nach CL-28. ; "CL-27 Transfer Ie field to the decoder, transfer surcharge field from R. to incrementer, on to CL-28. ; "

CL-28 Übertrage k-Feld zum Decoder,CL-28 Transfer k-field to the decoder,

übertrage Halte-Register zum Zuschlagsfeld von R1 , weiter bis"EM3E" .Transfer hold register to the surcharge field of R 1 , further to "EM3E".

Es wird nun angenommen, daß der Arbeitsspeicher. 14 mit Anfangsdaten und Adresseninformationen in geeigneter Weise geladen wurde und daß sich im Instruktionsregister eine Operation befindet, die eine AusfUhrungsoperation und die Verwendung der drei Arbeitsregitter i,j und k mit den Bits F.,F. und F., die auf "1" gesetzt wurden, spezifizieren, wodurch sowohl das Laden und Speichern dieser Register während der Operation implementiert wird. Die AnwesenheitIt is now assumed that the working memory. 14 with Initial data and address information has been loaded in a suitable manner and that there is a Operation, which is an execution operation and the Using the three working registers i, j and k with the bits F., F. and F., which were set to "1", specify thereby implementing both the loading and storing of these registers during operation. The presence

009 82 97 UA2--;■009 82 97 UA2 -; ■

Docket YC 960 0--0 ,;;. : :: .: f...-.Docket YC 960 0-0, ;;. : :: .: f ...-.

BADBATH

einer Auaführungsinstruktion im Instruktionsregister bewirkt, daß der Decoder 21 einen Impuls erzeugt, der den Takt CL-1 hervorruft. Dieser Impuls wird zu der ODER-Schaltung 22 und dem Tor 24 übertragen, um das i-Feld des Instruktionsregisters zu dem Decoder 26 zu übertragen, der bestimmt,daß das Register R. angesteuert werden soll und seinen Inhalt auf die Ausgangsleitung des Arbeitsspeichers 14 übertragen soll. Das Taktsignal CL-1 wird ebenfalls an das Tor 28 angelegt, um den Inhalt des Datenfeldregisters R^ zum ALU zu übertragen. Die Abschaltung des CL-1-Taktes stößt den Takt CL-2 an. CL-2 wird zu der Torschaltung JO übertragen, um das Feld F. abzufragen. Wenn dieses auf "1" gesetzt ist, verzweigt der Takt auf CL-J. W^nn dieses auf "1" gesetzt ist, verzweigt der Takt nach CL-10. Es wird nun angenommen, daß dieses Feld auf I!1" gesetzt ist, wodurch eine implizite Ladeinstruktion spezifiziert ist.an execution instruction in the instruction register causes the decoder 21 to generate a pulse which causes the clock CL-1. This pulse is transmitted to the OR circuit 22 and the gate 24 in order to transmit the i-field of the instruction register to the decoder 26, which determines that the register R. is to be activated and transmits its contents to the output line of the main memory 14 target. The clock signal CL-1 is also applied to the gate 28 in order to transfer the contents of the data field register R ^ to the ALU. Switching off the CL-1 cycle triggers cycle CL-2. CL-2 is transmitted to the gate circuit JO to interrogate the F. field. If this is set to "1", the clock branches to CL-J. If this is set to "1", the clock branches to CL-10. It is now assumed that this field is set to I! 1 "is set, whereby an implicit load instruction is specified.

Der CL-3-Takt wird zu der ODER-Schaltung 22 und dem Tor 24 übertragen, um wieder das i-Feld des Instruktionsregisters zu dem Decoder 26 durchzuschalten, der wieder den Arbeitsspeicher 14 in eier Registerposition R. ansteuert. Der Taktimpuls CL-3 wird auch zu der ODER-Schaltung 32 übertragen, ' die das Tor 34 durchsehaltet, um das Inkrement-Feld {Zuschlagsfeld) vom Register R, in den Addierer 36 zu übertragen. GL-3 dient= auch zur Durchschaltung der ODER-Schaltung 39, die die Torschaltung 41 öffnet, um äaa eff*ktiveThe CL-3 clock is transmitted to OR circuit 22 and gate 24 to restore the i field of the instruction register to switch through to the decoder 26, which again controls the main memory 14 in a register position R. The clock pulse CL-3 is also transmitted to OR circuit 32, ' who through the gate 34 to open the increment field {surcharge field) from register R to be transferred to adder 36. GL-3 also serves to switch through the OR circuit 39, which opens the gate circuit 41, by aaa eff * ktive

8Qtt29/U428Qtt29 / U42

Docket 20 368 040 .: . - Docket 20 368 040.:. -

1ST655061ST65506

Adressefeld des Registers R. zu dem Addierer 5'6. zu übertragen. Die Ausgangssignale des Addierers ^6 werden dann zu dem Speicheradressenregister des Hauptspeichers 18 übertragen. Die Abschaltung des CL-J?-Taktimpulses erzeugt den CL-4-Taktimpuls.Address field of the register R. to the adder 5'6. transferred to. The output signals of the adder ^ 6 are then transferred to the memory address register of the main memory 18. Switching off the CL-J? Clock pulse generates the CL-4 clock pulse.

Dieser Impuls wird zu der ODER-Schaltung 38 übertragen, die einen Abruf zugriff des Hauptspeichers 18 bei der durch das. MAR-spezifizierten Adresse zu starten. Es stellt auch den Flip-flop 40 auf "1", der wieder auf "θ" zurückgestellt wird, wenn der Speicherabruf durchgeführt ist. Die Beendigung des CL-4-Taktes erzeugt den Taktimpuls CL-5. Dieser wird zu dem Tor 42 übertragen und dient zur BjStimmung, ob der Abrufzugriff tatsächlich beendet ist. Wenn der Flip-Flop 40 immer noch auf "1" steht, bewirkt das Tor 42, daß das System zu dom Takt CL-6 übergeht, wodurch lediglich eine Verzögerung erzielt wird. Das Abschalten dieses Impulses wird zu der ODER-Schaltung 44 übertragen, deren Ausgangssignal wieder den Taktimpuls CL-5 erzeugt. Wenn angenommen wird, daß der Flip-F,lop 40 nun auf "θ" steht, dann geht das System zu dem Taktimpuls CL-7 über.This pulse is transmitted to the OR circuit 38 which starts a fetch access of the main memory 18 at the address specified by the MAR. It also sets flip-flop 40 to "1" which is reset to "θ" when the memory fetch is completed. The termination of the CL-4 clock generates the clock pulse CL-5. This is transmitted to the gate 42 and is used to determine whether the retrieval access has actually ended. If flip-flop 40 is still at "1", gate 42 will cause the system to transition to clock CL-6, which only provides a delay. The deactivation of this pulse is transmitted to the OR circuit 44, the output signal of which again generates the clock pulse CL-5. Assuming that the flip-F, lop 40 is now at "θ", then the system proceeds to the clock pulse CL-7.

Dieser Taktimpuls wird zu der ODER-Schaltung 47 übertragen, der das Tor 49 durchstellt, um den Inhalt des MDR-auf die Arbeitsspeicher-Datenleitung zu übertragen. Gleichzeitig hiermit wird auch der CL-7-Taktimpuls hiermit zu der ODER-This clock pulse is transmitted to the OR circuit 47, who puts through gate 49 to view the contents of the MDR on the To transfer memory data line. Simultaneously with this, the CL-7 clock pulse also becomes the OR

Docket /0 968 040 0 0 i&V/f&Docket / 0 968 040 0 0 i & V / f &

BAD ORIGINALBATH ORIGINAL

Schaltung 22 und dem Tor 24 übertragen, um zu erreichen, daß der Inhalt des Hauptspeicherdatenregisters in dem Datenfeld des R.-Registers gespeichert wird. Die Abschaltung des Taktimpulses CL-7 erzeugt den Taktimpuls CL-8.Circuit 22 and the gate 24 in order to achieve that the content of the main memory data register is stored in the data field of the R. register. The shutdown of the clock pulse CL-7 generates the clock pulse CL-8.

Dieser Taktimpuls wird zu der ODER-Schaltung 22 übertragen, die das Tor 24 öffnet, um den Inhalt des i-Feldes des Instruktionsregisters wieder zu dem Decoder 26 übertragen, der den Arbeitsspeicher an der Registerposition R. ansteuert. Gleichzeitig wird der Taktimpuls CL-8 auch zu der ODER-Schaltung 46 übertragen, die das Tor 48 öffnet, um das Incrementfeld des R.-R gisters zu dem Incrementer durchzuschalten,wo sein Inhalt um 1 erhöht wird, und in das Halteregister 52 übertragen wird, das im Grunde genommen eine Verzögerung darstellt und den Takt CL-9 ermöglicht, nachdem das Taktsignal CL-8 beendet ist, wobei CL-9 zu der ODER-Schaltung 55 übertragen wird, die die Torschaltung 57 öffnet, um die erhöhte Adresse im Halteregister 52 in das Incrementfeld des Registers R^ zu übertragen. Wie zuvor, wird das i-Peld des Instruktionsregisters durch den CL-9-Takt zu dem Decoder 26 übertragen, wodurch das Register R. eingestellt wird. Das Abschalten von DL-9 vervollständigt die Speicheroperation im Arbeitsregister R., das von dem i-Feld des Instruktionsregisters spezifiziert wird. Das Ende von CL-10 ^eite^t'eijcakt die gleiche Operation für das j-Peld des InsWuAf&sregisters ein und betrifft die Auswertung des JPeldes P1. In der FolgeThis clock pulse is transmitted to the OR circuit 22, which opens the gate 24 in order to transmit the contents of the i-field of the instruction register again to the decoder 26, which controls the main memory at the register position R. At the same time, the clock pulse CL-8 is also transmitted to the OR circuit 46, which opens the gate 48 in order to switch the increment field of the R.-R register through to the incrementer, where its content is increased by 1, and transferred to the holding register 52 which is basically a delay and enables the clock CL-9 after the clock signal CL-8 has ended, CL-9 being transmitted to the OR circuit 55 which opens the gate circuit 57 to the incremented address im Transfer holding register 52 in the increment field of the register R ^ . As before, the i-field of the instruction register is transmitted by the CL-9 clock to the decoder 26, whereby the register R. is set. Turning off DL-9 completes the store operation in working register R. specified by the i field of the instruction register. The end of CL-10 ^ eite ^ t'eijcakt the same operation for the j-field of the InsWuAf & sregister and affects the evaluation of the J-field P 1 . Subsequently

η , «. vn ma n,in 00982^71^2?- -η, «. vn ma n , in 00982 ^ 71 ^ 2? - -

Docket YO 968 040Docket YO 968 040

BAD ORIGINALBATH ORIGINAL

der Taktimpulse CL-1Q - CL-I8 besteht der primäre Unterschied darin, daß die Taktinipulse CL-10,01,-12,01,-16,01,-17 und CL-18 zu der ODER-Schaltung 54 übertragen wird, die das Tor 56 öffnet, um das j-Feld des Instruktionsregisters zu dem Decoder 26 zu übertragen, der nun die Registerposition R. im Arbeitsspeicher 14 ansteuert. Die übrigen Jthe primary difference is the clock pulses CL-1Q - CL-I8 in that the clock pulses CL-10.01, -12.01, -16.01, -17 and CL-18 is transmitted to the OR circuit 54 which gate 56 opens to the j field of the instruction register to the decoder 26, which now controls the register position R. in the main memory 14. The remaining J

Operationen sind im wesentlichen mit den bereits beschriebenen identisch, d.a, CL-12 wird zu den ODER-Schaltungen j>2 und 39 Übertragen, um den Inhalt.der beiden Adressenfelder zu dem Addierer 56 zu übertragen, sowie es mit den Impulsen CL-3# usw. der Fall war. Daher wird, unter der Voraussetzung, daß sich im Feld F. eine "1" befindet, die Registerposition R. als mit einem neuen Datenwort vom Hauptspeicher geladen angenommen, nachdem der Taktimpuls CL-18 beendet ist, wodurch der Taktimpuls CL-19 hervorgerufen wird.Operations are essentially identical to those already described, i.e., CL-12 becomes the OR circuits j> 2 and 39 Transferring the contents of the two address fields to the adder 56 as well as it with the pulses CL-3 # etc. was the case. Therefore, provided that there is a "1" in the F. field, it becomes the register position Usually assumed to be loaded with a new data word from the main memory after the clock pulse CL-18 has ended, whereby the clock pulse CL-19 is generated.

Dieser Taktimpuls wird zur Torschaltung 58 übertragen, um die Einstellung des Flip-Flop 60 abzufragen, der auf "1" gesetzt würde, als die ALU-Operation beendet wurde. Dieses erfolgte mit Hilfe des Taktimpulseε CL-10. Die Vervollständigung der betreffenden Operation in der ALU bewirkt, daß die Leitung "Operation vollständig" ein Signal führt, das den Flip-flop 60 auf "θ" zurückstellt. Wenn die Operation noch nicht vollständig ist, wird CL-20 erzeugt, der ebenfalls nur eine Verzögerung daretellt und auf CL-19 zurücktaktet* Wenn die operation vollständig ist, wird CL-21 erzeugt.This clock pulse is transmitted to the gate circuit 58 in order to query the setting of flip-flop 60, which would be set to "1" when the ALU operation was completed. This took place with the help of the clock pulse CL-10. The completion causes the relevant operation in the ALU, that the line "operation complete" carries a signal, which resets the flip-flop 60 to "θ". When the operation is not yet complete, CL-20 is generated, which also only represents a delay and clocks back to CL-19 * When the operation is complete, CL-21 is generated.

Docket W 968 oW 009*23/1 4t2Docket W 968 oW 009 * 23/1 4t2 BAtJ7DjJIGIl)IAL1 BAtJ 7 DjJIGIl) IAL 1

Dieser TaKtimpuls wird zu der ODIiK-Schaltung 60 übertragen, die das Tor 64 öifnet, um das K-PeId des Instruktions-This TaKtimpuls is transmitted to the ODIiK circuit 60, which opens gate 64 to enter the K-PeId of the instruction

S zu dem Decoder 26 zu übertragen, um- die Rugister-S to the decoder 26 to - the Rugister-

po.iition "R, des Arbeitsspeichers 14 anzusteuern. CL-LiI wird ebenfalls zu dem Tor· 60 übertragen, das das Resultat der ALL in das Datenfeld der R .'^interposition R, überträgt.po.iition "R, of the main memory 14. CL-LiI is also transmitted to the port · 60, which contains the result the ALL in the data field of the R. '^ interposition R, transfers.

"Dar- Abschalten von- CL~21 ruft CL-/-^ hervor. Dieser Impuls ™ wird zu dom Tor 69-übertragen. W...nn eine "θ" ermittelt wird, "Dar- switching off- CL ~ 21 causes CL - / - ^. This pulse ™ is transmitted to gate 69. If ... nn a" θ "is determined,

_rdann wird diu gegenwärtige Οροrationsfolge beendet und dieThen the current sequence of ροrations is ended and the

■ nächpte Instruktion in das Instruktionsregister1 überragen, 'wenn jedoch angenommen wird, daß dieses P.jld auf trT" gesetzt ist, dann geht der Takt zu CL-23 über1. Diener Taktimpuls - . CL-23 wird zu dem ODjiR-Tor L<- übertragen, wodurchdas Tor 64 durchgeschaltet ward, um wieder das K-PuId des Instruktionsriifjisters zu dem Decoder 26 zu übertragen, damit mit dieser ^drjGßv die Arbeitsregistorposition R. angesteuert wurden kann. Qü-'d.'^ wird ebenfalls zu dem -ODKR--Tor'- 32 und dem Tor >{ "übertragen, urn dap Incr jmentf.ild der R.-gisterposition lik zu Λ :-.m -tddiuryr ^t zu üb .abtragen. D:;r Taktimpuls CL-L:^ ν,-ird f-^i-n^r zu dem CD^R-Tor yj übertragen, um das Tor ;rG dui-,:lizu:-t-ill^n",- damit dar ·. ff^;:oiv- ^ai'esi'e-Fold von der- i\ fc.iptt,rpor:ition iv.. zu d^rn /iddi-irai· 26 übertragen werden Kann. WIM -.v^an^rrignal-j d-^n . .;di'-r^ils werden dann diroi-ct.■ Transfer the next instruction into the instruction register 1 , but if it is assumed that this P.jld is set to tr T ", then the clock goes to CL-23 via 1. Servant clock pulse -. CL-23 becomes the ODjiR- Gate L <- , whereby gate 64 was switched through in order to transfer the K-PuId of the instruction logger again to the decoder 26 so that the working register position R. can be controlled with this ^ drjGßv. Qü-'d the -ODKR - Tor'- 32 and the Tor>{"to transfer the Incr jmentf.ild of the R. register position lik to Λ: -. m -tddiuryr ^ t to transfer. D:; r clock pulse CL-L: ^ ν, -is transmitted f- ^ in ^ r to the CD ^ R gate yj to the gate ; . rG dui - ,: lizu: -t-ill ^ n "- thus represents · ff ^; ^ OIV ai'esi'e-Fold by DER i \ fc .iptt, rpor: ition i v .. Can be transmitted to d ^ rn / iddi-irai · 26. WIM -.v ^ an ^ rrignal-j d- ^ n..; di'-r ^ i l s are then diroi-ct.

- in da.;.· .:;.-.-'i'eli'.;r?-idr--'rronro;_;ist,r i-z Hauptrpoich^rc 1w- ;j-i-- in there.;. ·. : ;.-.- 'i'eli'.; r? -idr - 'rronro;_; is, r iz main trpoich ^ rc 1w-; ji-

brauht. ai^iuiiz :iti,: v/ird .\:v I;.h&lt des Datenfelder ci-ii' .-. ji-ifiatvi-rporir ia-:i i... durch ai>.i 1 .rnchaltunr 70 "mit nilfe X : r --"i^k-tir ■ 'L-'c--;. Lva^n Sprich .i*:l-*tenr'j;--ister d-jr H-xUpt-brews. ai ^ iuiiz: iti ,: v / ird . \: v I; .h & lt of the data fields ci-ii '.-. ji-ifiatvi-rporir ia-: i i ... through ai> .i 1 .rnchaltunr 70 "with help X : r -" i ^ k-tir ■ 'L-'c-- ;. Lva ^ n Say .i *: l- * tenr'j ; --ister d-jr H-xUpt-

0098 2 9/ U4 20098 2 9 / U4 2

; Speichers 18 übertrafen.-D it. "Taktsteuerung geht dann auf den Takt CL-24 über.; Memory 18 surpassed.-D it. "Clock control then works over the clock CL-24.

üL-24- leitet αinen Zugriff des Hauptspeichers.-.-J-G für :;ine üipüichwr operation ein:und stellt auch den Flip-Flop 72 auf " i " . Die Abschaltung den Takt impulses CL*-2h erzeugt den Taktimpuls CL-2^. ..Di·.-nor prüft mit dem Tor :7/l-,ob der .Speicherzugriff vollständig ist. Wenn dieses nicht der Fall ist/ geht das System zu dem Taktimpuls CL-26 über, der der Verzögerung dient und nach Beendigung wieder zurück zu GL-c-'y kehrt« Nimmt; "man nun an, daß der Zugriff vollständig durchgeführt.wurde, dann verzweigt das System au dem Takt CL-27. Dieser Takt wird über-".d-io ODisi-i-Schaltung-: 02 übertragen, um das Tor 6'j- durchzuschalten, das nun v/iedcjr das k—t?-.;ld des instruktionsregisters zu.dem Decoder Löüburträgt, der v/iader dia Registerposition: R ansteuert.' Gluichzciti£" wird CL-27 auch ."au dem ODER-Tor 4Ö übertragen, jj "W-jlches das Toi' ^b'-- durchschalte-t, das nun seinerseits das Inci'omentfeld der H gisterposition R, übei1 den Incrementer i..ü, wo diesor \i-.jvt um " 1 -#r jrhöht wird, in das Halte register ''_-..' üb."irträi-;t. Das Ende der; Taktimpulses CL-2.7 ruft den Taktimpuls CL-2c5 h-.U1VOr1J der au." dem ODER-Tor 62 und dem Tor C]i üboi'tra^en -virird, so da'ß erneut das- k-E'üld des Instruktionsi''t;istera an^.'nteuert wird, um dem- Decoder 26 den Zugriff zu dem Arbeitsspeicher 'I1I- an der Hegisterposition R, zu f\: lutt iiij wQ-lx-i der Taktimpuls CL-28 zu der üDER-SchaltungüL-24- initiates access to the main memory.-.- JG for:; ine üipüichwr operation: and also sets the flip-flop 72 to "i". Switching off the clock pulse CL * -2h generates the clock pulse CL-2 ^. ..Di ·.-Nor checks with the gate: 7 / l- whether the .Memory access is complete. If this is not the case / the system goes to the clock pulse CL-26, which is used for the delay and when finished, returns to GL-c-'y «takes; "If you now assume that the access has been completely carried out, the system branches to the clock CL-27. This clock is transmitted via -". d-io ODisi-i circuit-: 02 to the gate 6'j - to be switched through, which now v / iedcjr the k-t? - .; ld of the instruction register to. the decoder Löübur, which v / iader controls the register position: R. ' Gluichzciti £ "is also transmitted CL-27." On the OR gate 40, jj "W-jlches the toi '^ b' - t, which in turn now has the inci'oment field of the register position R, over 1 Incrementer i..ü, where diesor \ i-.jvt is increased by "1 - #r jrjrhöht in the holding register " _- .. ' above ". The end of the; clock pulse CL-2.7 calls the clock pulse CL-2c5 h-.U 1 VOr 1 J der au. " the OR gate 62 and the gate C ] i üboi'tra ^ en -virird, so that the- k-E'üld of the instruction i ''t; istera an ^. 'is controlled by the decoder 26 access to the working memory 'I 1 I- at the register position R, to f \: lutt iiij wQ-lx-i the clock pulse CL-28 to the üDER circuit

■Jj üb-;rtragfjn und. das. Tor 57. durchgoschaltet wird. Der η , f VnP ,=n 00982.9/U"42 ' ■ Jj transfer-; rtragfjn and. the gate 57. is switched through. The η, f VnP, = n 00982.9 / U "42 '

Docket xO 9üb 0 lO - - 'Docket xO 9üb 0 lO - - '

Inhalt des Halteregisters ^c? wird nun im Increment feld der RugisterpositLon R, im Arbeitsspeicher 1Λ gespeichert. Das rinde des T .ktImpulses CL-^ö zeigt das linde- der gegenwärtigen Instruktionsfolge an, nachdem das Cys-tom dann wieder <■: Ina neue Instruktion in das Tnstruktionsregister jirijibtj wobei, wie zuvor erläutert wurde,- die oystem-■ steuerung unabhängig erfolgt.Contents of the holding register ^ c? The RugisterpositLon R is now stored in the increment field in the working memory 1Λ. The cortex of the T .kt impulse CL- ^ ö indicates the current instruction sequence , after which the Cys-tom then again <■: Ina new instruction in the instruction register jirijibtj where, as previously explained, - the system control independent he follows.

Die vorstehende Beschreibung vervollständigt zusammen mit dem T^ktimpulsdiagramm die Beschreibung des vorliegenden /lusführungsbeispiels der Erfindung. Die R.gisteradressen (i,j,k) könnten durch andere Adressenbezeichnungen ersetzt werden, die sich auf andere register beziehen, die Teil des Arbeitsspeichers 14 sind. Auch hier würde der Decoder 26 die geeigneten Speicherregisterpositionen automatisch decodieren und auch die erläuterten Steuerungen für die Durchführung der Lade-und Speieheroperationen würden automatisch eingeleitet und durchgeführt, indem die PunktIonsfeider, die mit F.,P. und F1 bezeichnet sind, in geeigneter Weise geladen werden.The above description, together with the clock pulse diagram, completes the description of the present exemplary embodiment of the invention. The R. register addresses (i, j, k) could be replaced by other address designations that refer to other registers that are part of the working memory 14. Here, too, the decoder 26 would automatically decode the appropriate storage register positions and the controls explained for carrying out the loading and storing operations would also be automatically initiated and carried out by the dot ion fields beginning with F., P. and F 1 are appropriately charged.

Ferner könnte auch beispielsweise anstelle eines 1,-Bit-Feldes, das mit jeder Instruktionsadresse mitgeführt wird, ein Zwei-Bit-Feld verwendet werden, das entweder zu einer Lade-oder einer Speicheroperation verzweigen, könnte-, wodurch sich eine noch größere Operationsflexibilität ergeben würde.Furthermore, instead of a 1-bit field, for example, which is carried with every instruction address, a two-bit field can be used that leads to either a Load or store branch, might -which an even greater operational flexibility would result.

BAD ORIGINALBATH ORIGINAL

Dieses würde aber entsprechend mehr Schaltkreise erfordern., um die Prüf-und Verzweigun^i-operationen durchzuführen.However, this would require more circuitry accordingly., to perform the check and branch operations.

J-, s sei schließlich auch noch '?iniual erwähnt, daß mit dem vorliegenden System auch normale Instruktionen auf die üblichi V/t.ise, d.h. nicht Schleifeninstruktionen, verarbeitet werden können, wobei die ι·; ins teilung um1 V;t<-uorbits auf O einen llebenrehlui; für die Schaltkreis*-* des vor-Finally, it should also be mentioned that with the present system normal instructions can also be processed in the usual V / t.ise, ie not loop instructions, whereby the ι ·; ins division by 1 V; t <-uorbits on O a llebenrehlui; for the circuit * - * of the

liegenden Systems herstellen» . ^create a lying system ». ^

auch für die B.. st Immune der ndresse, die für die Speicher-- und Abrufoperationen des vorliegend-η Systems verwendet würden, gibt es alternative V .rfahivn, wobei beispielsweise dif- Verwendung gewöhnlich--·!1 lndexr-.}jister zum Halt m Λ·^ν Adresseninformation verw-Mviot w^i-d^xi könnten. Dann. v/ürdi.-es jedenfalls nur noch notv;> iidit> ."--,in, im ArbyitsnpL-ich·:!* Foldlänjen vorzusehen, dij in ä-v LaLe pind, -div ".,.uressen spezieller Indexregister, die verwend-'t werden nolluii, ;;u jThere are also alternative methods for the B .. st Immune of the address, which would be used for the storage and retrieval operations of the present system, whereby, for example, dif- use is usually-- ·! 1 indexr-. } j ister to stop m Λ · ^ ν address information bew-Mviot w ^ id ^ xi could. Then. v / ürdi.-es in any case only notv;> iidi t> . "-, in, in the ArbyitsnpL-i ·:! * Foldlänjen to be provided, di j in ä-v La L e pind, -div".,. Uressen special index registers that are used nolluii, ;; uj

spezifizieren. Dienes wür-I. auch zusätzliche Iofireh: Schaltungen und Schalter voi'aufrsetzen, wobei jedoch die Feldlänj·? der ii-t"ister den ,xvb :itsGp-iich.!rr 1-τ verriiv^i-t werden könnten.specify. Serve would-I. also additional Io for : set up circuits and switches, but with the field length? the ii- t "is the , xvb : itsGp-iich. ! rr 1-τ verriiv ^ it could become.

0 09829/1A
BAD ORIGINAL
0 09829 / 1A
BATH ORIGINAL

Claims (1)

goH, den 28.Dezember I969 jo-skgoH, December 28th, 1969 jo-sk Fa t e η ta η Fa t e η ta η r. r. ρ r ü eheρ r ü ehe I. Einrichtung zur Programmsteuerung eines elektronischenI. Device for program control of an electronic . Digitalrechner3, mit οin?;m Hauptspeicher, einer Instruktionseinheit,, einer arithmetischen Einheit und mehreren nrbeitsspeich rregistern, dadurch gekennzeichnet, daß einu ßinrichtung zur Anfangsladung der Arb^itsEpuichuriv-ßiü-feer (i4;Fig.1) mit - daten-und adrefGen£rzeut,änder Information vorgesehen int, dais ferner in der Inrtruktionseinheit (10) eine, von einer ,einzigen -/.usl'ührungs ins trukt ion gesteuerte. Digital computer3, with a main memory, an instruction unit, an arithmetic unit and several working memory registers, characterized in that a device for initial loading of the work epuichuriv-ßiü-feer (i4; Fig.1) with data and addresses £ rzeu t, int änder information provided further dais in the Inrtruktionseinheit (10) one of a, single - / usl'ührungs into trukt ion controlled. .. . iiinrichtungfür die üborti'a^ung von ce^enwärtig in... Equipment for the transfer of ce ^ en in den Ar-beitssp'-'icherrcgictern gospeicherten Daten zu 'vinim anderen Teil d-is itüchnern und für die ..'ieuerung der Ladung dieser Arb'aitHspLlchü'i's vom ".'iUpt.-y icher (18), <;,up ein'jx" Adre.f;fe gebildet ■iU? d-.-r in ihn: enthaltenen adre.r;senerzeu£'jnd'jn - Information, vortüSch'?r. ist und daß schließlich W'-itci-1, von ü'-i' genannt'-Π :inzitren Insti'uktion ■;tfu-3rt-, r-inrichtung zur. .itou^rung d*.r i:;pt;iohu α·.::Γ ,'-u-ultatc diesei" In.'/tx-u.-ctlcn sowohl· in tion .\rboit5 ;:-p'jich'jrregistern, al;; auch im Haupte pe iehf-r an 'jivr Adrenpf;, uie dureL./lie adressenjrzfiüf_\-nde.the work memory '-' icherrcgictern gosstored data to 'vin in the other part of the d-is itüchnern and for the ..' ue the charge of this Arb'aitHspLlchü'i's from the ".'iUpt.-y icher (18), <;, up a'jx "Adre.f ; fe formed ■ iU? d -.- r in it: contained adre. r ; senerzeu £ 'jnd'jn - information, before t üSch'? r. is and that finally W'-itci- 1 , called by ü'-i''-Π : incit r en insti'uktion ■; tfu-3rt-, r -inrichtung zur. .itou ^ rung d * .ri:; pt; iohu α ·. :: Γ, '- u-ultatc diesei "In.' / tx-u.-ctlcn both · in tion. \ rboit5;: - p'jich 'jrregistern, al ;; also in the main pe iehf-r an' jivr Adrenpf ;, uie dureL./lie adressenjrzfiüf _ \ - nde. 00 982 9/U4200 982 9 / U42 , t .υ .Ji.-. G-C, t .υ .Ji.-. GC BAD ORIOIWAtBAD ORIOIWAt - 33 -.■■;■■ -.;".■;■-■■■;■ . _ "..- 33 -. ■■; ■■ - .; ". ■; ■ - ■■■; ■. _" .. Information bestimmt ist, vorgesehen ist.Information is intended, is provided. Verfahren zur Programmsteuurung mittels einer ^inrlehtung,nach -/aisprucii Ij dadurch ge kennte icnnot·, daß in .--inom Incrti-utctionsstrom vor seinem liintritt in eine Programmschleife ein initialisierter nrbeits-Method for program control by means of a ^ inrlehtung, after - / aisprucii Ij icnnot that in .-- inom Incrti-utctionsstrom before it enters an initialized work- speicherinhalt, bestehend aus datan-und adressen- ' ' erzeugender Information, die in den Arbeitsspeicher zu laden sind-, -spezifiziert werden, daß weiter innerhalb der .Programmschleife ein bestimmtes ivrbeitsspeicherregister, dessen Inhalt zu einem Verarbeitun^stoll des Rechners übertragen wird, spezifiziert wird, wobei die adressenerzeugendu . Information im spezifizierten nrbeitsspeicherregister für die ßildunjj vlner Hauptspeicheradresse verwendet wird, und daß schließlich der Hauptspeicher an diesermemory contents, are composed of DATAN and address '' producing information that will be return to load them into the -spezifiziert, that continue inside the .Programmschleife a particular ivrbeitsspeicherregister, the contents to a processing; ^ Stoll of the computer is transmitted, specified is, where the addressgenerateu. Information in the specified working memory register is used for the formation of the main memory address, and that finally the main memory at this - ■""■'"■ .-'■"■" ' ι- ■ "" ■ '"■ .-' ■" ■ "'ι Adresse angesteuert und eine neue. aäressenerzeug^nde ^Address controlled and a new one. food products ^ nde ^ Information aur d.;r gegenwärtig: in diesem jirboitsßpeichui1 gespeicherten adressenerzeugenden Information gebildet und diese, neue adr^Hnenürzeugende Information in dieses spezifizierte i.rbeitsspeiehe-rregister zurückgespeichertwird.Information aur the present: is formed in this jirboit memory 1 stored address-generating information and this new address-generating information is stored back in this specified work memory register. 00982 9/1442
n BADORK3INAL
00982 9/1442
n BADORK3INAL
DE19691965506 1969-01-06 1969-12-30 Device and method for program control of an electronic digital computer Pending DE1965506A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US78922169A 1969-01-06 1969-01-06

Publications (1)

Publication Number Publication Date
DE1965506A1 true DE1965506A1 (en) 1970-07-16

Family

ID=25146959

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19691965506 Pending DE1965506A1 (en) 1969-01-06 1969-12-30 Device and method for program control of an electronic digital computer

Country Status (5)

Country Link
US (1) US3541528A (en)
JP (1) JPS514382B1 (en)
DE (1) DE1965506A1 (en)
FR (1) FR2027784A1 (en)
GB (1) GB1235638A (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3781810A (en) * 1972-04-26 1973-12-25 Bell Telephone Labor Inc Scheme for saving and restoring register contents in a data processor
US4594682A (en) * 1982-12-22 1986-06-10 Ibm Corporation Vector processing
US6735685B1 (en) * 1992-09-29 2004-05-11 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
JP3644959B2 (en) * 1992-09-29 2005-05-11 セイコーエプソン株式会社 Microprocessor system
GB2317469B (en) * 1996-09-23 2001-02-21 Advanced Risc Mach Ltd Data processing system register control
US8549264B2 (en) 2009-12-22 2013-10-01 Intel Corporation Add instructions to add three source operands
JP5933725B2 (en) * 2011-09-26 2016-06-15 インテル・コーポレーション Instructions and logic for providing vector scattering calculation function and vector collection calculation function
CN117420965B (en) * 2023-12-18 2024-03-22 合肥康芯威存储技术有限公司 Memory and control method thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3380025A (en) * 1964-12-04 1968-04-23 Ibm Microprogrammed addressing control system for a digital computer
US3391394A (en) * 1965-10-22 1968-07-02 Ibm Microprogram control for a data processing system
US3445818A (en) * 1966-08-01 1969-05-20 Rca Corp Memory accessing system

Also Published As

Publication number Publication date
FR2027784A1 (en) 1970-10-02
GB1235638A (en) 1971-06-16
JPS514382B1 (en) 1976-02-10
US3541528A (en) 1970-11-17

Similar Documents

Publication Publication Date Title
DE2357003C2 (en) Processor for a multi-program data processing system
DE2364408C3 (en) Circuit arrangement for addressing the memory locations of a memory consisting of several chips
DE2555963C2 (en) Function modification facility
DE3851746T2 (en) Jump prediction.
DE2635592A1 (en) MULTIPROCESSOR POLLING SYSTEM
DE2524229A1 (en) DATA PROCESSING SYSTEM WITH A PYRAMID-SHAPED HIERARCHY OF THE CONTROL FLOW
DE2644441A1 (en) DATA PROCESSING SYSTEM
DE2234867A1 (en) ARRANGEMENT IN DATA PROCESSING SYSTEMS TO CONTROL THE PROCESSING OF TWO INDEPENDENT PROGRAMS
DE3923253C2 (en) microprocessor
DE69130513T2 (en) Method for performing Boolean operations between any two bits from any two registers
DE69318914T2 (en) Device for processing commands with improved handling of interruptions
DE2145709B2 (en)
DE69801840T2 (en) MICROPROCESSOR, ESPECIALLY FOR CHIP CARD AND COMMAND PROCESSING
DE69130233T2 (en) METHOD AND DEVICE FOR INSERTING A LOCKING CACHE
DE2335991A1 (en) LOGICAL CIRCUIT FOR DIRECTING THE INTERRUPTION SIGNALS IN AN AUTOMATIC COMPUTER
DE1965506A1 (en) Device and method for program control of an electronic digital computer
DE2227761B2 (en) STORAGE SYSTEM
DE1180171B (en) Number calculator
DE2136270A1 (en) Method and comparator for comparing two binary numbers
DE2316321C2 (en) Circuit arrangement at the interface between a controller of a computer and a main memory of a computer system
DE2720842B2 (en) Data transmission system
DE2349253C3 (en) Computer system
DE2702722A1 (en) INSTRUCTION INTERPRETATION IN ELECTRONIC DATA PROCESSING SYSTEMS
DE2710436C2 (en) Data processing device
DE1221037C2 (en) Process for storing hierarchically ordered data chains and arrangement for carrying out this process