DE2519395C3 - Arrangement for controlling the command sequence in data processing devices with memory programming - Google Patents
Arrangement for controlling the command sequence in data processing devices with memory programmingInfo
- Publication number
- DE2519395C3 DE2519395C3 DE19752519395 DE2519395A DE2519395C3 DE 2519395 C3 DE2519395 C3 DE 2519395C3 DE 19752519395 DE19752519395 DE 19752519395 DE 2519395 A DE2519395 A DE 2519395A DE 2519395 C3 DE2519395 C3 DE 2519395C3
- Authority
- DE
- Germany
- Prior art keywords
- command
- control
- command sequence
- data processing
- arrangement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
- 230000001629 suppression Effects 0.000 description 4
- 230000000903 blocking Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006011 modification reaction Methods 0.000 description 2
- 241001442055 Vipera berus Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000002093 peripheral Effects 0.000 description 1
Description
Die Erfindung betrifft eine Anordnung zur Steuerung der Befehlsfolge in Datenverarbeitungseinrichtungen mit Speicherprogrammierung.The invention relates to an arrangement for controlling the command sequence in data processing devices with memory programming.
Die Reihenfolge, in welcher bei speicherprogrammierten Verarbeitungseinrichtungen die Befehle ausgeführt werden, kann durch Verzweigungsbefehle geändert werden. Diese Verzweigungsbefehle beinhalten, von unbedingten Sprüngen abgesehen, in der Regel zwei Funktionen, nämlich das Überprüfen auf Vorliegen einer vorgegebenen Bedingung und bei Vorfinden dieser Bedingung ein Überleiten zum nächsten Folgebefehl. Dieses Überleiten kann darin bestehen, daß lediglich der Befehlszähler statt um einen um zwei oder /) Schritte erhöht wird (sogenannter Skip-Befehl), also der nächste oder die nächsten /i-l Befehle der Folge übersprungen werden, oder aber daß eine aus dem Verzweigungsbefehl ableitbare neue Befehlsadresse in den Befehlszähler übernommen und damit die Befehlsfolge fortgeführt wird. The order in which the commands are executed in the case of stored-program processing devices can be changed using branch commands. These branch instructions include, Apart from unconditional jumps, there are usually two functions, namely checking for existence a specified condition and, if this condition is found, a transition to the next subsequent command. This transition can consist in the fact that only the instruction counter instead of one by two or /) Steps is increased (so-called skip command), i.e. the next or the next / i-l commands in the sequence be skipped, or that a new instruction address derived from the branch instruction in the command counter is taken over and the command sequence is continued.
Sollen in einer Anlage beide Möglichkeiten der Befehlsfolgeänderung gegeben sein, so erfordert der Skip-Befehl zusätzliche Maßnahmen zur Befehlsadressenänderung. Aufgabe der Erfindung ist es, die Befehlsfolgesteuerung zu vereinfachen und flexibler zu gestalten. Dies wird gemäß der Erfindung dadurch erreicht, daß bei einem sogenannten Abfragebefehl lediglich eine Bedingungskontrolle veranlaßt und abhängig von Erfüllung bzw. Nichterfüllung der vorgegebenen Bedingung zwei oder eine von zwei Steuerkippstufen gesetzt wird, von denen die eine die Ausführung des bereitgestellten nächsten Befehles der Befehlsfolge verhindert und danach wieder in die Ruhelage geschaltet wird, während die andere die Ausführung des ersten in der Befehlsfolge nachfolgenden Sprungbefehles verhindert und danach ebenfalls wieder in die Ausgangslage geschaltet wird, und daß die Entscheidung darüber, welche der Steuerkippstufen zu setzen ist, durch ein Steuerzeichen im Abfragebefehl getroffen wird.If both options for changing the command sequence are to be given in a system, the Skip command additional measures for command address change. The object of the invention is the To simplify command sequence control and make it more flexible. This is achieved according to the invention achieved that with a so-called query command only causes a condition check and depending on whether or not the specified condition is met, two or one of two Control flip-flops are set, one of which is the execution of the provided next instruction of the Prevented command sequence and then switched back to the rest position, while the other the Execution of the first jump instruction following in the instruction sequence is prevented and then likewise is switched back to the starting position, and that the decision about which of the control flip-flops to is set, is hit by a control character in the query command.
Die Erfindung unterteilt die Verzweigungsoperation also in einen reinen Abfragebefehl zur Überprüfung auf das Vorliegen einer vorgegebenen Bedingung und in einen unbedingten Sprungbefehl, wobei das Ergebnis der Bedingungsprüfung; in den beiden Bedingungskippstufen festgehalten wird. Diese Bedingungskippstufen tntscheiden dann, ob ein gelesener Befehl tatsächlich ausgeführt wird oder nicht. Das Nichtausführen eines Befehls hat dabei die Wirkung iines Skip-Befehls, bei dem ein Befehl der Folge übersprungen wird. 1st also der auf den Abfragebefehl folgende Befehl ein Sprungbefehl, so läßt sich die Verzweigung umgehen,The invention thus divides the branching operation into a pure query command for checking the presence of a predetermined condition and an unconditional jump instruction, with the result the conditional check; is held in the two conditional flip-flops. These condition flip-flops Then decide whether a read command is actually carried out or not. Failure to do one Command has the effect of a skip command, at which a command of the sequence is skipped. So is the command following the query command Jump command, so the branch can be avoided,
wenn dieser Befehl gesperrt wird. Eine Adressenmodifikation ist nicht erforderlich. Zar bedeutet jeder nicht ausgeführte Sprungbefehl den Verlust von einem Befchlsausführungszyklus. Andererseits ermöglicht die Erfindung einen einheitlichen Steuerungsablauf auch fürwhen this command is disabled. Address modification is not required. Tsar doesn't mean everyone executed jump command results in the loss of one command execution cycle. On the other hand, the Invention a uniform control process for
den Fall, daß nach einem Abfragebefehl zunächst noch weitere Befehle ausgeführt werden sollen, bis ein Sprungbefehl kommt, der dann abhängig von der durch den Abfragebefehl erwirkten Bedingungsprüfung übersprungen werden soll oder nicht. Das bringt den an sichthe case that after a query command further commands are to be executed until a Jump command comes, which is then skipped depending on the condition check brought about by the query command should be or not. That brings that to itself
ίο bekannten Vorteil mit sich, daß bei anfänglich gleichen Befehlsfolgen in beiden Zweigen nach einem Verzweigungspunkt diese Befehle nur einmal vorgesehen sein können und demzufolge ohne zusätzlichen Aufwand Speicherplatz im Befehlsspeicher eingespart werden kann.ίο well-known advantage that with initially the same Command sequences in both branches after a branch point, these commands can only be provided once and consequently, storage space in the instruction memory can be saved without additional effort can.
Insgesamt ergibt sich also eine sehr einfache und flexible Befehlsfolgesteuerung, die insbesondere für einfache Steuerwerke mit einer begrenzten Zahl von Regelfunktionen geeignet ist.Overall, the result is a very simple and flexible command sequence control, which is particularly useful for simple control units with a limited number of control functions is suitable.
Ein Ausführungsbeispiel der Erfindung sei nachfolgend anhand der Zeichnung dargestellt und näher erläutert. Im einzelnen zeigenAn exemplary embodiment of the invention is illustrated and described in greater detail below with reference to the drawing explained. Show in detail
Fig. 1 ein Übersichtschaltbild für das Steuerwerk einer Datenverarbeitungseinrichtung und1 shows an overview circuit diagram for the control unit of a data processing device and
F i g. 2 den Aufbau eines Abfragebefehles.F i g. 2 the structure of a query command.
Das in F i g. 1 gezeigte Steuerwerk ist Bestandteil einer Datenverarbeitungsrichtung, bei der in an sich bekannter Weise die einzelnen Aggregate, wie Steuerwerk, Datenspeicher und Ein-/Ausgabeanschlüsse für Peripheriegeräte als Module zwischen zwei Daten- und Steuerleitungssystemen DS1 und DS2 angeordnet sind. Zu diesem Steuerwerk gehört der Befehlsspeicher SP, der über das Adressenregister AR ansteuerbar ist und den jeweils nächsten Befehl des laufenden Programms kennzeichnet. Abgesehen von Sprungbefehlen oder sonstigen Adressenmodifikationen, werden die Adressenfolgen durch fortlaufendes Erhöhen um 1 gewonnen. Zu diesem Zweck werden die im Adressenregister anstehenden Adressen mit jeder Speicheransteuerung über einen 1-Addierer AD in geänderter Fassung dem Adressenregister AR wieder zugeführt. Bei Verwendung eines voreinstellbaren Befehlszählers als Adressenregister kann auf den Addierer in bekannter Weise verzichtet werden. Die im Speicher SP jeweils ausgewählten Befehle werden in das Befehlsregister BR übernommen und von dort dem Befehlsclekodierer BD zugeführt, der in an sich bekannter Weise die Schaltbefehle der Ablaufsteuerung beeinflußt.The in Fig. 1 control unit is part of a data processing device in which the individual units such as control unit, data memory and input / output connections for peripheral devices are arranged as modules between two data and control line systems DS 1 and DS2 in a manner known per se. This control unit includes the instruction memory SP, which can be controlled via the address register AR and which identifies the next instruction in the current program. Apart from jump commands or other address modifications, the address sequences are obtained by continuously increasing them by 1. For this purpose, the addresses in the address register are fed back to the address register AR in a modified version with each memory activation via a 1-adder AD. If a presettable instruction counter is used as the address register, the adder can be dispensed with in a known manner. The commands selected in the memory SP are taken over into the command register BR and fed from there to the command scrambler BD , which influences the switching commands of the sequence control in a manner known per se.
Weiterer Bestandteil des Steuerwerks sind die logische Verknüpfungseinheit ALU, die zugleich die beiden Datenleitungssysteme DSl und DS 2 für den Datenaustausch miteinander verbindet, und einige Register, z. B. ZR und Rn. Die logische Verknüpfungseinheit verknüpft in an sich bekannter Weise die ihr Another component of the control unit are the logic unit ALU, which at the same time connects the two data line systems DS1 and DS2 for data exchange, and some registers, e.g. B. ZR and Rn. The logical linking unit linked in a manner known per se
6S zugeführten beiden Operanden ο 1 und ο 2 abhängig von der durch den Befehlsdekodierer BD entschlüsselten Operation op und leitet das Ergebnis jeweils an das Datenleitungssystem DS 2 weiter zur möglichen Über- 6 S supplied two operands ο 1 and ο 2 depending on the operation op decrypted by the command decoder BD and forwards the result in each case to the data line system DS 2 for possible transfer
nähme durch eines der angeschlossenen Aggregate, z. B. eines der Register R ... oder den nicht dargestellten Datenspeicher.would take through one of the connected units, e.g. B. one of the registers R ... or the data memory, not shown.
An die logische Verknüpfungseinheit ist des weiteren die Bedingungskontrolle BK angeschlossen, die das von der Verknüpfungseinheit gelieferte Verknüpfungsergebnis abhängig von der durch den Befehlsdekodierer BD entschlüsselten Bedingung B überprüft und den weiteren Befehlsablauf steuert. Zu diesem Zweck sind in Auswirkung der Erfindung an den Ausgang der Bedingungskontrolle BK zwei Kippstufen KA und KB angeschaltet^ von denen jeweils eine bei einem Abfragebefehl Ab und abhängig von der Steuermarkierung M im Befehl über die Gatter G 5 bis G 7 gesetzt wird. Die Steuerkippstufe KA bewirkt, daß der jeweils auf einen Abfragebefehl Ab folgende und in das Befehlsregister BR bereits übernommene Befehl nicht ausgeführt wird, und die Kippstufe KB bewirkt über die Gatter G 3 und G 4, daß ein nachfolgender Sprungbefehl Sp nicht ausgeführt wird. Die Sperrung der einzelnen Befehle erfolgt einfach dadurch, daß die von der Ablaufsteuerung gelieferten Steuerbefehle für die die Quellen und Ziele eines Datenaustausches über die Datenleitungssysteme DSl und DS2 bestimmnenden Schalter s... unterdrückt werden. *5 The condition control BK is also connected to the logic combination unit and checks the combination result delivered by the combination unit as a function of the condition B decrypted by the command decoder BD and controls the further command sequence. For this purpose, as a result of the invention, two flip-flops KA and KB are connected to the output of the condition control BK ^ one of which is set in each case with a query command Ab and depending on the control mark M in the command via the gates G 5 to G 7. The control flip-flop KA ensures that the command following a query command Ab and already accepted in the command register BR is not executed, and the flip-flop KB causes a subsequent jump command Sp to not be executed via the gates G 3 and G 4. The individual commands are blocked simply by suppressing the control commands supplied by the sequence control for the switches s ... which determine the sources and destinations of a data exchange via the data line systems DS1 and DS2. * 5
Fig.2 zeigt den Aufbau eines bei der Anordnung nach Fig. 1 verwendeten Abfragebefehles, der insgesamt 24 Bit umfaßt. Bit 2 bis 4 kennzeichnen die jeweils zu überprüfende Bedingung ß, wobei Bit 4 anzeigen kann, ob die Erfüllung oder Nichterfüllung der ausgewählten Bedingung B gewertet werden soll. Bit 5 enthält die Angaben M über die zu setzenden Kippstufen. Q 1 und Q 2 kennzeichnen die zu verknüpfenden Quellen, deren Daten der logischen Verknüpfeinheit ALU als Operanden öl und ο2 zugeführt werden, op bezeichnet die auszuführende Operation, und die Bits 21 bis 23 enthalten Prüfmarkierungen, z. B. Paritätszeichen, zur Übermittlungs- und Folgekontrolle.FIG. 2 shows the structure of an interrogation command used in the arrangement according to FIG. 1, which comprises a total of 24 bits. Bits 2 to 4 identify the condition ß to be checked in each case, whereby bit 4 can indicate whether the fulfillment or non-fulfillment of the selected condition B is to be assessed. Bit 5 contains the information M about the trigger levels to be set. Q 1 and Q 2 to denote the linking sources, the data of the logical Verknüpfeinheit ALU are supplied as operands oil and ο2, op refers to the operation to be performed, and the bits 21 to 23 contain criterion marks, z. B. parity characters, for transmission and follow-up control.
Insgesamt ergibt sich folgende Arbeitsweise für die Anordnung nach F i g. 1:Overall, the following procedure results for the arrangement according to FIG. 1:
Im Regelfall ist das Sperrgatter G 1 geöffnet und über das Oder-Gatter Ml wird der Berehlsspeicher SP fortlaufend mit Adressen aus dem Adressenregister AR angesteuert. Die in das Befehlsregister BR gelesenen Befehle werden im Befehlsdekodierer BD entschlüsselt und ausgeführt. Liegt ein Abfragebefehl AB vor, so wird abhängig von der angegebenen Bedingung B und der Steuermarkierung M über das UND-Gatter G 7 und eines der Gatter G 5 und G 6 eine der Kippstufen KB oder KA gesetzt. Die Kippstufe KA wirkt über das Oder-Gatter M 2 unmitelbar auf die Programmablaufsteuerung ein, so daß beim nächsten Befehl die Schalter s ... nicht betätigt werden, also der auf den Abfragebefehl Ab folgende Befehl nicht zur Ausführung gelangt. Dieser Foigebefehl kann jeder beliebige Befehl sein. Im Falle eines Sprungbefehls .Sp würde der Sprung unterdrückt und damit die mögliche Verzweigung nicht durchgeführt.As a rule, the blocking gate G 1 is open and the region memory SP is continuously controlled with addresses from the address register AR via the OR gate Ml. The commands read into the command register BR are decrypted and executed in the command decoder BD. If there is a query command AB , one of the flip-flops KB or KA is set via the AND gate G 7 and one of the gates G 5 and G 6, depending on the specified condition B and the control marker M. The flip-flop KA acts directly on the program sequence control via the OR gate M 2, so that the switches s ... are not actuated with the next command, i.e. the command following the query command Ab is not executed. This follow command can be any command. In the case of a jump instruction .Sp, the jump would be suppressed and the possible branch would not be carried out.
Die Kippstufe KB wird dagegen dann gesetzt, wenn nicht der auf den Abfragebefehl unmittelbar folgende Befehl, sondern ein erst später nachfolgender Sprungbefehl SP unterdrückt werden soll. In diesem Falle wird über das UND-Gatter G4 und das Sperrgatter G3 die Umschaltung zwischen dem Sperrgatter G1 und dem UND-Gatter G 2 unterbunden, so daß die im Befehlsregister BR enthaltene Sprungadresse nicht auf den Befehlsspeicher SP einwirken kann. 1st dagegen die Kippstufe KB nicht gesetzt, so wird über das Sperrgatter G3 und das UND-Gatter G2 die Sprungadresse dem Befehlsspeicher SP zugeleitet und damit eine Verzweigung eingeleitet. So kann z. B. ein auf den Abfragebefehl Ab folgender Transferbefehl unterdrückt und ein nachfolgender Sprungbefehl durchgeführt werden und umgekehrt. Eine andere Möglichkeit wäre gegeben, wenn beide Steuerkippstufen KA, KB gleichzeitig gesetzt werden können. In diesem Falle wäre die Ansteuerung entsprechend abzuändern, und zur Kennzeichnung der Kombination wäre für die Steuermarkierung Mein weiteres Bit im Abfragebefehl aufzuwenden.The flip-flop KB , on the other hand, is set when not the command immediately following the query command, but a jump command SP that follows later, is to be suppressed. In this case the AND gate G4 and the lock gate G3 prevent the switching between the lock gate G1 and the AND gate G 2 so that the jump address contained in the command register BR cannot act on the command memory SP . If, on the other hand, the flip-flop KB is not set, the jump address is passed to the instruction memory SP via the blocking gate G3 and the AND gate G2, thereby initiating a branch. So z. B. a transfer command following the query command Ab can be suppressed and a subsequent jump command carried out and vice versa. Another possibility would be given if both control flip-flops KA, KB can be set at the same time. In this case, the control would have to be changed accordingly, and to identify the combination, my additional bit would have to be used in the query command for the control marking.
Insgesamt ergibt sich somit eine sehr flexible Ablaufsteuerung, die in einfacher Weise und bei sehr geringem Aufwand durchführbar ist.Overall, this results in a very flexible flow control that is simple and very can be carried out with little effort.
Hierzu 1 Blatt Zeichnungen1 sheet of drawings
Claims (1)
Priority Applications (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19752519395 DE2519395C3 (en) | 1975-04-30 | Arrangement for controlling the command sequence in data processing devices with memory programming | |
CH196876A CH608640A5 (en) | 1975-04-30 | 1976-02-18 | Method for controlling the instruction sequence in data processing devices with stored programming |
GB1196376A GB1537764A (en) | 1975-04-30 | 1976-03-25 | Data processing devices |
AU12701/76A AU495496B2 (en) | 1975-04-30 | 1976-04-06 | Improvements in or relating tothe control ofthe command sequence indata processing devices with store programming |
NL7603976A NL7603976A (en) | 1975-04-30 | 1976-04-14 | PROCEDURE FOR CONTROLLING INSTRUCTION FOLLOW-UP IN INFORMATION PROCESSING DEVICES WITH MEMORY PROGRAMMING. |
FR7612257A FR2309926A1 (en) | 1975-04-30 | 1976-04-26 | PROCESS FOR COMMANDING THE SEQUENCE OF INSTRUCTIONS IN DATA PROCESSING DEVICES WITH MEMORY PROGRAMMING |
IT2268476A IT1060562B (en) | 1975-04-30 | 1976-04-27 | DEVICE TO COMMAND THE SEQUENCE OF THE INSTRUCTIONS IN DATA PROCESSING SYSTEMS WITH STORED PROGRAMMING |
JP51049362A JPS51134042A (en) | 1975-04-30 | 1976-04-28 | Method of controlling instruction sequence of data processor memory programming |
BE166628A BE841348A (en) | 1975-04-30 | 1976-04-30 | PROCESS FOR COMMANDING THE INSTRUCTION SEQUENCE IN DATA PROCESSING DEVICES WITH MEMORY PROGRAMMING |
US05/941,155 US4212060A (en) | 1975-04-30 | 1978-09-11 | Method and apparatus for controlling the sequence of instructions in stored-program computers |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19752519395 DE2519395C3 (en) | 1975-04-30 | Arrangement for controlling the command sequence in data processing devices with memory programming |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2519395A1 DE2519395A1 (en) | 1976-11-04 |
DE2519395B2 DE2519395B2 (en) | 1977-02-24 |
DE2519395C3 true DE2519395C3 (en) | 1977-11-03 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3126878C2 (en) | Microprogram control circuit for executing a microinstruction received from a control store in a source register | |
DE2457312C3 (en) | Arrangement for performing arithmetic or logical operations on selected groups of consecutive bits in a data processing arrangement | |
DE2364408C3 (en) | Circuit arrangement for addressing the memory locations of a memory consisting of several chips | |
EP0011685B1 (en) | Programmable memory protection arrangement for microprocessors and circuitry with such an arrangement | |
DE1499203B1 (en) | Circuit arrangement for memory protection in data processing systems with simultaneous operation | |
DE1275800B (en) | Control unit for data processing machines | |
DE1935944C3 (en) | Control device in an electronic data processing system | |
DE1949916B2 (en) | PROCEDURE FOR OPERATING A PROGRAM-CONTROLLED DATA PROCESSING SYSTEM AND ARRANGEMENT FOR PERFORMING THE PROCEDURE | |
DE2811318C2 (en) | Device for the transmission and storage of a partial word | |
DE1179027B (en) | Programmed digital computer system | |
DE2920597A1 (en) | PROCEDURE FOR REPOSITIONING THE PRINTING POSITION IN TYPEWRITERS | |
DE2418921A1 (en) | DEVICE AND METHOD FOR STORING AND EXECUTING MICRO-PROGRAMS IN A DATA PROCESSING SYSTEM | |
DE2519395C3 (en) | Arrangement for controlling the command sequence in data processing devices with memory programming | |
DE2720842A1 (en) | DATA TRANSFER SYSTEM | |
DE2235883C3 (en) | Data processing device | |
CH632349A5 (en) | MICRO COMMAND CONTROL DEVICE. | |
EP0655688A2 (en) | Program memory expansion for a microprocessor | |
DE1184122B (en) | Adding device | |
DE1194605B (en) | Improvement of devices for processing details, information or the like. | |
DE2519395B2 (en) | ARRANGEMENT FOR CONTROLLING THE COMMAND SEQUENCE IN DATA PROCESSING DEVICES WITH MEMORY PROGRAMMING | |
DE1222289B (en) | Data processing device | |
DE2150292C2 (en) | Microprogram-controlled data processing system with superimposed execution and extraction of commands | |
DE3003465C2 (en) | Device for generating condition codes in microprogram-controlled universal computers | |
DE2733531C3 (en) | Circuit arrangement for the protection of information, in particular for telephone switching systems | |
DE2502005C2 (en) | Circuit arrangement for assigning addresses to operations for the purpose of executing commands in a data processing device |