Instruction execution control system.
Abstract
The instruction execution control system of an information processing device having a pipeline instruction execution control portion is provided for sequentially executing an instruction interval between a completion of execution of a certain instruction and a read out of a next instruction. This system comprises program status word holding means (2) for holding program status word including indicating information concerning whether or not an instruction interval is to be sequentially executed and control information indicating execution status of program, and instruction execution sequencing indication means (4) responsive to the indicating information of the program status word held in the program status word holding means (2) for indicating the instruction execution control portion whether or not the instructions in the interval are to be sequentially executed. In this system an instruction in which program exception occurs can be easily identified, and a sequential execution of instruction interval between a completion of execution of a certain instruction and a readout of a next instruction only within a desired portion of a specific program can be easily performed.

Term
Term ended
Projected expiry passed 12 June 2010, 16.3 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
2 claims: 1 independent, 1 dependent
- 1An instruction execution control system for sequential executing an instruction interval in an information processing device having an instruction execution control portion utilizing a pipeline system, characterized by comprising program status word holding means for holding a program status word including an indicating information indicating whether or not the instruction interval is to be sequentially executed and a control information showing an execution status of a program and instruction execution sequencing indication means responsive to said indicating information of said program status word held in said program status word holding means to give said instruction execution control portion an indication whether or not said instruction interval is to be sequentially executed.
26 paragraphs in 4 sections, as filed
BACKGROUND OF THE INVENTION
0001The present invention relates to an execution control system to use in a pipeline instruction execution control type information processing device, in which an instruction interval between a completion of a certain instruction used in, for example, debug processing and a readout of a next instruction is executed by sequencing them.
0002Sequential control which is a basic scheme of execution control operates in steps of readout of an instruction, decoding thereof, execution thereof and, then, readout of next instruction.
0003On the other hand, an execution control using pipeline system is performed as follows: that is, an instruction which is considered as necessary in the future or instruciton which has been executed recently is stored in an instruction buffer, and the instruction is fetched ahead. The fetched instruction is partially decoded, a portion of processing is performed in parallel to an execution of a current instruction, several instructions are preproccessed in parallel simultaneously. A system for execution of instructions in between a completion of execution of a certain instruction and a readout of a next instruction is usually used in debugging. Therefore, the execution is controlled by an indication from a service processor.
0004It is assumed in the pipeline instruction execution control type information processor that a program exception occurs during execution of a program. Since, in the information processor of this type, a plurality of instructions are executed in parallel simultaneously by the pipeline system, it is difficult to identify a program in which such program exception occurred.
0005Even in a conventional system for sequentially executing the instructions, an instruction execution control portion is indicated through the service processor to execute these instructions sequentially. Therefore, the instruction interval is executed sequentially by the information processing device as a whole. Therefore, when a plurality of programs are being processed by the information processing device, it is impossible to sequentially execute the instruciton interval in only a desired portion of a specific program.
SUMMARY OF THE INVENTION
0006An object of the present invention is to eliminate the above mentioned problem by providing an instruction execution control system by which an instruction in which program exception occurs can be easily identified and a sequential execution of instruction interval between a completion of execution of a certain instruction and a readout of a next instruction only within a desired portion of a specific program can be easily performed.
0007According to an aspect of the present invention, an instruction execution control system of an information processing device having a pipeline instruction execution control portion, for sequentially executing an instruction interval between a completion of execution of a certain instruction and a readout of a next instruction, comprises program status word holding means for holding program status word including indicating information concerning whether or not an instruction interval is to be sequentially executed and control information indicating execution status of program, and instruction execution sequencing indication means responsive to the indicating information of the program status word held in the program status word holding means for indicating the instruction execution control portion whether or not the instructions in the interval are to be sequentially executed.
BRIEF DESCRIPTION OF THE DRAWING
0008Other features, constructions and advantages of the present invention will become apparent from reading the following description with reference to the accompanying drawings in which same or corresponding components are depicted by same reference numerals, respectively, and in which, <ul id="ul0001" list-style="none"><li>Fig. 1 shows a system to which an embodiment of the present invention is applied;</li><li>Fig. 2 shows a relationship between a flow of program and a content of an instruction execution sequencing mode indicating information 3 held in a program status word holding portion 2;</li><li>Fig. 3 is a diagram showing positions on the program in Fig. 2 to which a sequencing mode setting instruction and a sequencing mode resetting instruction are inserted;</li><li>Fig. 4 is a diagram showing positions on the program in Fig. 2 to which instruction execution sequencing instructions are inserted;</li><li>Fig. 5 shows a portion of an embodiment of the present invention; and</li><li>Figs. 6A and 6B illustrate a processing sequence of interrupt routine used in an embodiment of the present invention.</li></ul>
PREFERRED EMBODIMENTS
0009Referring to Fig. 1, a system to which an embodiment of the present invention is applied includes a main memory 5 for storing at least instruction word or data, an instruction cache memory 6 for storing at least a portion of a copy of the instruction word stored in the main memory 5, an instruction execution control portion 1 for executing an instruction fetched from the instruction cache memory 6 by means of a pipeline system, a program status word holding portion 2 containing an instruction execution sequencing mode indicating information 3 for holding a control information indicative of an execution status of program as a program status word and an instruction execution sequencing indication portion 4 responsive to a content of the instruction execution sequencing mode instruction information 3 of the program status word held in the program status word holding portion 2 for indication the instruction execution control portion 1 to sequentially execute an instruction interval between a completion of execution of a certain instruction and a read of a next instruction.
0010Referring to Fig. 2, a relation between a source program flow and the content of the instruction execution sequencing mode indicating information 3 held in the program status word holding portion 2 is shown. When it is desired to sequentially execute the instruction interval within a period between points A and B on the source program flow, it is enough, in the present invention, to set the instruction execution sequencing mode indicating information 3 in the program status word holding portion 2 to a logical "1".
0011The setting of the instruction execution sequencing mode indicating information 3 to "1" can be performed by either of the following two methods.
0012The first method will be described first in detail with reference to Figs. 2, 3 and 5.
0013When the instruction interval is to be sequentially executed in the period between the points A and B on the source program flow shown in Fig. 2, a sequencing mode setting instruction and a sequencing mode resetting instruction are inserted into the points A and B of the program shown in Fig. 3, respectively.
0014Referring to Figs. 3 and 5, when the sequencing mode setting instruction is executed in the instruction executing control portion 1, the instruction execution sequencing mode indicating information 3 in the program status word holding portion 2 is set to "1" by a setting means 11. Upon this "1" state of the sequencing mode indicating information 3, the instruction execution sequencing indicating portion 4 sends an instruction to the instruction execution control portion 1. The instruction execution control portion 1 is set to an instruction execution sequencing mode by this instruction and the instruction interval is then sequentially executed.
0015Further, when the source program is executed up to the point B in Fig. 3, the sequencing mode resetting instruction is executed. In response to this execution, the instruction execution sequencing mode indicating information 3 in the program status word holding portion 2 is changed to "0". With this change of the status to "0", the instruction sequencing indication portion 4 indicates the instruction execution control portion 1 to reset the instruction execution sequencing mode. Upon this instruction, the instruction execution control portion 1 pipelines the instruction interval and executes it.
0016The second method for setting the instruction execution sequencing mode indicating information 3 will be described in detail with reference to Figs. 2, 4 and 6.
0017When the instruction interval is sequentially executed in the period between the points A and B on the source program flow shown in Fig. 2, instruction execution sequencing instructions are inserted into the points A and B of the source program flow shown in Fig. 4.
0018The source program is compiled by a compiler upon a detection of the instruction execution sequencing instruction such that interrupt routines A and B are called at the points A and B on the source program flow. These interrupt routines are those for switching the mode of sequencing and execution of the instruction interval.
0019A processing of the interrupt routine will be described in detail with reference to Figs. 6A and 6B.
0020Referring to Fig. 6A, a basic process status (BPSX) is saved in a process status block (PSB) of a memory assigned by a current process status block address (CPSB).
0021Referring to Fig. 6B, the basic process status (BPSY) is reloaded from the process status block (PSB) of the memory assigned by a next process status block address (NPSB). At this time, the program status word is contained in the basic process status (BPSX and BPSY), saved in the process status block (PSB) of the memory and reloaded.
0022Referring to Figs. 6A and 6B, the interrupt routine A is to rewrite the content of the interval instruction sequencing mode indicating information 3 of the program status word in the basic process status (BPSX) which is saved at the calling time of the interrupt routine A by a called process to "1" so that the instruction interval is put into the sequencing and execution mode. At the same time, the basic process status (BPSX) is rewritten to the basis process status ((BPSY) or an address (CPSB) of the BPSX is rewritten to an address (NPSB) of the BPSY. When the control is returned to the called process, the basic process status (BPSY) is reloaded to the process and the saved program status word is recovered. At this time, the interval instructions sequencing mode indicating information 3 in the program status word indicates the instruction interval sequencing execution mode.
0023On the contrary, the interrupt routine B rewrites the interval instruction sequencing mode indicating information 3 in the program status word in the basic process status BPSX which is saved at the calling time of the interrupt routine B by the called process to a content indicating a mode in which the interval instruction is not sequentially executed. At the same time, the basic process status (BPSY) is shifted to the basic process status (BPSX) or an address (CPSB) of the BPSY is rewritten to an address (NPSB) of the BPSX. When the control is returned to the called process, the basic process status (BPSY) is reloaded to the process and the saved program status word is recovered. At this time, the interval instruction sequencing mode indicating information 3 of the program status word indicates a mode in which the instruction interval is not sequenced and executed.
0024By executing the compiled program shown in Fig. 4, the instruction interval is sequenced and executed in the period between the points A and B on the program shown in Fig. 4.
0025According to the present invention, when a program exception occurs during an execution of a program in a pipeline instruction execution control type information processing device, a plurality of instructions are executed in parallel simultaneously by a pipeline system. Therefore, when it is necessary to identify a particular instruction in which the program exception occurs or when the instruction interval should be sequentially executed, the particular instruction can be easily identified without necessity of sequencing and executing the instruction interval by the whole information processing device, by setting in the program status word an instruction information indicating whether or not the instruction interval is to be sequentially executed.
0026Even when a plurality of programs are being processed by the information processing device, the instruction interval can be sequentially executed in only a desired portion of a specific program.
Contents4
7 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US5560032A | Cited by | United States of America | Search report |
| US6272619B1 | Cited by | United States of America | Applicant |
| US6038654A | Cited by | United States of America | Search report |
| US6038653A | Cited by | United States of America | Search report |
| US6101594A | Cited by | United States of America | Search report |
| US5481685A | Cited by | United States of America | Search report |
| US6079012A | Cited by | United States of America | Search report |
| US7162610B2 | Cited by | United States of America | Applicant |
| EP0684552A4 | Cited by | European Patent Office (EPO) | Search report |
| US6915412B2 | Cited by | United States of America | Applicant |
| US5832292A | Cited by | United States of America | Search report |
| WO9301547A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US6941447B2 | Cited by | United States of America | Applicant |
| US5689720A | Cited by | United States of America | Search report |
| US6934829B2 | Cited by | United States of America | Applicant |
| US6092181A | Cited by | United States of America | Search report |
| US6959375B2 | Cited by | United States of America | Applicant |
| US7941635B2 | Cited by | United States of America | Applicant |
| US7028161B2 | Cited by | United States of America | Applicant |
| US6128723A | Cited by | United States of America | Search report |
| US6954847B2 | Cited by | United States of America | Applicant |
| US6282630B1 | Cited by | United States of America | Applicant |
| US6647485B2 | Cited by | United States of America | Applicant |
| EP0684552A1 | Cited by | European Patent Office (EPO) | Search report |
| US6256720B1 | Cited by | United States of America | Applicant |
| US6948052B2 | Cited by | United States of America | Applicant |
| US6986024B2 | Cited by | United States of America | Applicant |
| US5983334A | Cited by | United States of America | Search report |
| US7000097B2 | Cited by | United States of America | Applicant |
| US5448705A | Cited by | United States of America | Search report |
| US7555632B2 | Cited by | United States of America | Applicant |
| US6263423B1 | Cited by | United States of America | Applicant |
| EP0679990A1 | Cited by | European Patent Office (EPO) | Search report |
| WO9301547A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US6954847B2 | Cited by | United States of America | Applicant |
| US5961629A | Cited by | United States of America | Search report |
| EP0042442A1 | Cites | European Patent Office (EPO) | Search report |
| US4161026A | Cites | United States of America | Search report |
| US4251859A | Cites | United States of America | Search report |
11 members in 6 offices; this record represents the family
Priority claims4
| Document | Office | Kind | Date |
|---|---|---|---|
| 14826989 | Japan | A | |
| 14826989 | Japan | – | |
| JP19890148269 | – | – | – |
| 14826989 | – | – | – |
Members11
| Document | Office | Kind | |
|---|---|---|---|
| CA2018756A1 | Canada | A1 | |
| EP0402856A2This record | European Patent Office (EPO) | A2 | |
| AU5710290A | Australia | A | |
| JPH0314025A | Japan | A | |
| AU625134B2 | Australia | B2 | |
| EP0402856A3 | European Patent Office (EPO) | A3 | |
| CA2018756C | Canada | C | |
| US5404466A | United States of America | A | |
| EP0402856B1 | European Patent Office (EPO) | B1 | |
| DE69031992D1 | Germany | D1 | |
| DE69031992T2 | Germany | T2 |
37 legal events, as 2 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Notification of lapseLapsedST | ST | FR | |
| Nl: lapsed or anulled due to non-payment of the annual feeLapsedNLV4 | NLV4 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Se: european patent has lapsedLapsedEUG | EUG | EP | |
| Gb: european patent ceased through non-payment of renewal feeCeasedGBPC | GBPC | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Be: lapsedLapsedBERE | BERE | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| No opposition filedOpposition26N | 26N | EP | |
| No opposition filed within time limitOppositionORIGINAL CODE: 0009261PLBE | PLBE | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: NO OPPOSITION FILED WITHIN TIME LIMITSTAA | STAA | EP | |
| Fr: translation filedET | ET | EP | |
| It: translation for a ep patent filedITF | ITF | EP | |
| It: translation for a ep patent filedITF | ITF | EP | |
| Corresponds to:REF | REF | EP | |
| Designated contracting statesAK | AK | EP | |
| (expected) grantORIGINAL CODE: 0009210GRAA | GRAA | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOS IGRAGRAH | GRAH | EP | |
| Despatch of communication of intention to grantORIGINAL CODE: EPIDOS AGRAGRAG | GRAG | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOS IGRAGRAH | GRAH | EP | |
| Despatch of communication of intention to grantORIGINAL CODE: EPIDOS AGRAGRAG | GRAG | EP | |
| First examination report despatched17Q | 17Q | EP | |
| Designated contracting statesAK | AK | EP | |
| Search report despatchedORIGINAL CODE: 0009013PUAL | PUAL | EP | |
| Request for examination filed17P | 17P | EP | |
| Designated contracting statesAK | AK | EP | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI | EP |
Numbers
- Publication
- 0402856
- Publication, DOCDB
- 0402856
- Publication, EPODOC
- EP0402856
- Application
- 90111095
- Application, DOCDB
- 90111095
- Application, EPODOC
- EP19900111095
Titles6
- German
- Steuerungssystem für die Ausführung von Befehlen.
- English
- Instruction execution control system.
- French
- Système de commande d'exécution d'instruction.
- German
- Steuerungssystem für die Ausführung von Befehlen
- English
- Instruction execution control system
- French
- Système de commande d'exécution d'instruction
Classification
- CPC, 3
- G06F9/30094
- G06F9/30076
- G06F9/3861
- IPC, 3
- G06F9 32
- G06F9 38
- G06F11 00
Designated states7
- Contracting states, 7
- Belgium
- Germany
- France
- United Kingdom
- Italy
- Netherlands (Kingdom of the)
- Sweden