JPS6029846A - Execution state control system of information processor - Google Patents
Execution state control system of information processorInfo
- Publication number
- JPS6029846A JPS6029846A JP58121225A JP12122583A JPS6029846A JP S6029846 A JPS6029846 A JP S6029846A JP 58121225 A JP58121225 A JP 58121225A JP 12122583 A JP12122583 A JP 12122583A JP S6029846 A JPS6029846 A JP S6029846A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- program
- address
- psw
- debug
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
【発明の詳細な説明】
〔発明の属する技術分野〕
この発明は、ストアードプロダラム方式により、プログ
ラムの実行制御が行われ、その処理状態をプログラム・
ステータス・ワード(以下、PSWと称す)を用いて設
定することができる所謂PSWロード方式を採用した情
報処理装置における実行状態制御方式に関する。[Detailed Description of the Invention] [Technical Field to which the Invention Pertains] This invention is directed to controlling the execution of a program using a stored program system, and controlling the processing state of the program.
The present invention relates to an execution state control method in an information processing apparatus that employs a so-called PSW loading method that can be set using a status word (hereinafter referred to as PSW).
一般に、Pswロード方式とは、情報処理装置が、発生
した割込に対応した処理を終えたときに、元の割込先に
プログラムの実行制御を戻す命令により、プログラムの
実行状態を制御する方式である。この方式は、従来、2
8wロード命令という、情報処理装置が判断、実行する
命令(もしくは機械命令ンとして実現され、この命令の
オペランドとして指定されたデータを切換用のPswと
判断し、これをプログラムの実行状態を制御する例エバ
、ステニークスレジスタ、プログラムカウンタの所謂2
8wレジスタにそのまま設定している。Generally, the Psw load method is a method in which the information processing device controls the execution state of a program by using an instruction to return program execution control to the original interrupt destination when the information processing device finishes processing corresponding to the generated interrupt. It is. Conventionally, this method uses two
8w load instruction, an instruction that the information processing device judges and executes (or is realized as a machine instruction), determines the data specified as the operand of this instruction as a switching PSW, and uses this to control the execution state of the program. For example, the so-called 2 of Eva, Stenix register, and program counter
It is set as is in the 8w register.
ところが、第1図(a)に示すように、プログラムのデ
バッグを行う際に、デバッグ事象によって割込を発止さ
せるデバッグ命令2を被デバツグプログラムl上の任意
のデバッグアドレス(中断点)3に動的に設定するデバ
ッグ処理を行う場合にあっては、割込後に実行されるデ
心グプログラム5において、デバッグ命令2によって中
断した被デバツグプログラムlの実行状態の確認を行う
ことになる。そして、これを割込に対応したデバッグ処
理6として行うようなデバッン方式を実現する場合には
、引続きデバッグを続行するときに、従来のPSWロー
ド命令をそのまま利用することができず、次に示すよう
な何れかの処理をしなければならないという問題点があ
った。However, as shown in FIG. 1(a), when debugging a program, a debug instruction 2 that generates an interrupt due to a debug event is sent to an arbitrary debug address (interruption point) 3 on the program to be debugged. When performing debugging processing that dynamically sets the debugging program 5, the execution state of the debugged program 1 that was interrupted by the debugging instruction 2 is checked in the debugging program 5 that is executed after the interrupt. . When implementing a debugging method that performs this as debugging processing 6 corresponding to interrupts, the conventional PSW load instruction cannot be used as is when continuing debugging, and the following There is a problem in that one of these processes must be performed.
(1) 第1図(b)に示すように、デバッグ命令に置
き換えた以前の命令(ここでは、命令aとする)、この
命令aを被デバツグプログラムの実行再開に当たって代
替実行処理7をし、それからPSWロード命令を実行す
る実行処理8をしなければならない(デバッグ処理プロ
グラム5参照)。ただし、この場合は、命令aの命令長
、命令の種別及びオペランドの取り出し方法などが、様
々であるので、代替実行は、複雑で難しい。(1) As shown in FIG. 1(b), the previous instruction (instruction a here) that was replaced with the debugging instruction, this instruction a, is subjected to alternative execution processing 7 when resuming execution of the debugged program. , then execution processing 8 must be performed to execute the PSW load instruction (see debug processing program 5). However, in this case, the length of instruction a, the type of instruction, the method of extracting operands, etc. vary, so alternative execution is complicated and difficult.
(2) 前記(1)とは、別の再開方法として、デバッ
グ命令に置き換えた以前の命令aを再びデバッグアドレ
スが示す位置に戻し、PSWロード命令のオペランドと
なるPSW値のプログラム・カウンタ値を操作し、PS
Wロード命令を実行する。(2) Another restart method from (1) above is to return the previous instruction a, which was replaced with the debug instruction, to the position indicated by the debug address again, and set the program counter value of the PSW value that is the operand of the PSW load instruction. Operate and PS
Execute the W load command.
但し、この場合に、1度設定したデバッグ命令は、実行
される度に解除されるため、プログラムが同じ部分を繰
り返し実行するようなときは、その都度、デバッグ命令
の設定が必要になる。However, in this case, a debug instruction once set is canceled each time it is executed, so if the same part of the program is repeatedly executed, it is necessary to set the debug instruction each time.
この発明は、前記従来技術の問題点にかんがみなされた
ものであり、その目的は、割込処理後、割込み先のプロ
グラムの実行を再開する際に、事前処理を行うことなく
、実行を再開させることを可能とした情報処理装置にお
ける実行状態制御方式を提供するものである。The present invention has been made in view of the problems of the prior art, and its purpose is to resume execution of an interrupted program after processing an interrupt without performing any pre-processing. The present invention provides an execution state control method for an information processing device that makes it possible to perform the following operations.
この発明は、情報処理装置において、割込みプログラム
の実行状態を設定するプログラム・ステータス・ワード
のロード時に、割込み先にある命令アドレスと、プログ
ラム・ステータス・ワード値のアドレスとを□オペラン
ドとして記憶部に記憶しておき、割込み先のプログラム
の実行再開時にプログラム・ステータス・ワード中の命
令アドレスの代わりに前記記憶部に記憶したオペランド
を取込むようにしたものである。In an information processing device, when loading a program status word that sets the execution state of an interrupt program, the instruction address at the interrupt destination and the address of the program status word value are stored as □ operands in a storage unit. The operand stored in the storage unit is read in place of the instruction address in the program status word when the execution of the interrupt destination program is resumed.
以下、この発明を図面に基づいて説明する。 The present invention will be explained below based on the drawings.
第2図は、この発明の一実施例におけるデバッグ処理時
のPSWロード命令の使用例を示す説明図、第3図は、
この発明を適用した情報処理装置を示すブロック図であ
る。FIG. 2 is an explanatory diagram showing an example of how a PSW load instruction is used during debugging in an embodiment of the present invention, and FIG.
FIG. 1 is a block diagram showing an information processing device to which the present invention is applied.
第3図において、10はプログラムカウンタ等を内蔵し
た外部レジスタ、11は演算部、12はシフタ、13は
マイクロプログラム制御部を含む制御部、14は命令先
取りバッファメモリ15を有スるコントロールメモリ、
16はステータスレジスタ等からなる内部レジスタ、1
7はメモリアクセス制御部、18は主メモリ、19はオ
プション演算部である。ここで、コントロールメモリ1
4には、マイクロプログラムが記憶されており、主メモ
リ18には、被デバツグプログラムが記憶されている。In FIG. 3, 10 is an external register including a program counter, 11 is an arithmetic unit, 12 is a shifter, 13 is a control unit including a microprogram control unit, 14 is a control memory including an instruction prefetch buffer memory 15,
16 is an internal register consisting of a status register, etc.;
7 is a memory access control section, 18 is a main memory, and 19 is an option calculation section. Here, control memory 1
4 stores a microprogram, and the main memory 18 stores a program to be debugged.
次に、動作について説明すると、まず、第2図(a)に
示すように、主メモリ18内に記憶されている被デバツ
グプログラム21中の所望のデバッグアドレス位置にあ
る命令aをデバッグ命令22に置き換える。この置き換
えられた命令aは、被デバツグプログラムとは別の主メ
モリ18内の所定アドレスに記憶しておく。Next, to explain the operation, first, as shown in FIG. Replace with This replaced instruction a is stored at a predetermined address in the main memory 18 separate from the program to be debugged.
次に、デバッグするプログラムを実行して、デバッグア
ドレス位置でデバッグ命令を取込み、これを実行すると
、デバッグ事象による割込が発生し、PSWの交換が行
われ、元のPswは、所定の主メモリ18のアドレスに
設定される。そして、割込み処理として、デバッグ事象
のPSWが所定のアドレスから読み出され、デバッグ処
理プログラム23へ制御が移行する。Next, the program to be debugged is executed, a debug instruction is fetched at the debug address location, and when this is executed, an interrupt is generated due to a debug event, the PSW is exchanged, and the original PSW is stored in the predetermined main memory. The address is set to 18. Then, as interrupt processing, the PSW of the debug event is read from a predetermined address, and control is transferred to the debug processing program 23.
このデバッグ処理プログラム23は、必要なデバッグ処
理24(例えば、中断時のレジスタ類の確認、関係する
主メモリ18の参照・変更などの処理)を遂行する。そ
して、デバッグ処理の最後に被デバツグプログラムの実
行を再開するため、本発明方式を実現する命令取込み型
のpswロード命令25を実行する。ずなわち、このP
SWロード命令は、第2図(C)に見る如く、オペラン
ドとして、割込発生前のPSW値の格納アドレスとデバ
ッグ命令に置き換えられた以前の命令aの格納アドレス
とを有し、これらを指定して実行する。This debugging processing program 23 performs necessary debugging processing 24 (for example, processing such as checking registers at the time of suspension, referencing/changing the related main memory 18, etc.). Then, in order to resume execution of the program to be debugged at the end of the debugging process, the psw load instruction 25 of the instruction capture type that implements the method of the present invention is executed. This P
As shown in Figure 2 (C), the SW load instruction has as operands the storage address of the PSW value before the interrupt occurred and the storage address of the previous instruction a replaced by the debug instruction, and these are specified. and execute it.
このpsw取り込み型の命令に基づき、制御部13は、
外部レジスタ10の一つであるプログラムカウンタが示
すアドレスに対応する主メモリ18上の命令を取り込む
。Based on this psw import type command, the control unit 13:
The instruction on the main memory 18 corresponding to the address indicated by the program counter, which is one of the external registers 10, is fetched.
この取込んだ命令は、制御部13でデコードして演算部
11に送られ、この演算部13で論理演算してPSWロ
ード命令であるか否かを判断し、これがPSWロード命
令であるときには、この命令に該当するマイクロプログ
ラムが、制御部13内のマイクロプログラム制御部で、
コントロールメモリ14を参照しながら実行される。This fetched instruction is decoded by the control unit 13 and sent to the calculation unit 11, which performs a logical operation to determine whether or not it is a PSW load instruction.If it is a PSW load instruction, The microprogram corresponding to this instruction is the microprogram control section in the control section 13,
This is executed while referring to the control memory 14.
この該当するマイクロプログラムは、第1オペランドで
ある命令aの格納アドレスに従ってこの命令aを主メモ
リ18から読み出し、これをコントロールメモリ14内
の命令先取りバッファ15に設定する。This corresponding microprogram reads the instruction a from the main memory 18 according to the storage address of the instruction a, which is the first operand, and sets it in the instruction prefetch buffer 15 in the control memory 14.
次に、第2オペランドであるPSW値のアドレス値に従
ってこのPSW値を、主メモリ18から取り出し、その
うちのステータス値を内部レジスタ16の一つであるス
テータスレジスタに設定し、さらに、PSW値のうちア
ドレス値を操作しく例えば、ディクリメントし)、外部
レジスタ10の一つであるプログラムカウンタに設定す
る。Next, this PSW value is retrieved from the main memory 18 according to the address value of the PSW value, which is the second operand, and the status value of the PSW value is set in the status register, which is one of the internal registers 16. The address value is manipulated (eg, decremented) and set in a program counter, which is one of the external registers 10.
そして、前記マイクロプログラムは、最後に、処理装置
の演算部11の実行状態を、すでに命令が取込まれた状
態に設定し、その処理を終わる。Finally, the microprogram sets the execution state of the arithmetic unit 11 of the processing device to a state in which the instructions have already been taken in, and ends the processing.
次に、処理部13は、命令の取込みを完了した時点から
次の命令の処理に移行する。Next, the processing unit 13 shifts to processing the next instruction from the point at which it completes fetching the instruction.
このようにして、あたかも命令aがデバッグ命令で置き
換えられたアドレスに存在していたかの如く、被デバツ
グプログラムの実行再開を行う事が可能となる。In this way, execution of the program to be debugged can be resumed as if instruction a existed at the address replaced by the debug instruction.
したがって、被デバツグプログラムの任意のデバッグア
ドレスに動的にデバッグ命令を挿入しながらプログラム
のデバッグ処理を行うデバッグ・ツールに適用した場合
に、被デバツグプログラムの実行再開の手続きをより簡
単にすることができる。この場合デバッグ・ツールとし
ては、対話型プログラムデバッグツールや、オンライン
スナソプデバソグツールなどが考えられるが、これらの
ツールの作成を非常に容易に行うことができる。Therefore, when applied to a debugging tool that debugs a program while dynamically inserting debug instructions to any debug address of the debugged program, it makes the procedure for resuming execution of the debugged program easier. be able to. In this case, the debugging tool may be an interactive program debugging tool or an online software debugging tool, but these tools can be created very easily.
なお、上記実施例においては、本発明の一実施例を示し
たものであって、上記実施例に加えて前記本発明方式が
、情報処理装置でのデバッグ以外の目的に使用されるこ
とを制限するために、次のような付加機能を持たせるこ
とも可能である。Note that the above embodiment shows one embodiment of the present invention, and in addition to the above embodiment, there is a restriction that the method of the present invention is used for purposes other than debugging in an information processing device. In order to do so, it is also possible to provide the following additional functions.
すなわち、命令取込み型のPSW値のうちのアドレス値
を参照して、そのアドレス値の示す一つ前のアドレス値
の命令がデバッグ命令である場合のみ前記機能番果たす
ようにし、その他の場合は、情報処理装置の他の命令事
象の割込を発生させるようにしてもよい。 また、デバ
ッグ命令と、命令取込み型のpswロード命令とを、情
報処理装置の実行モードが、デバッグモード時のみ有効
にするようにしてもよい。That is, by referring to the address value of the PSW value of the instruction capture type, the function number is performed only when the instruction at the previous address value indicated by the address value is a debug instruction, and in other cases, It is also possible to generate an interrupt for another command event of the information processing device. Further, the debug instruction and the instruction-capturing psw load instruction may be enabled only when the execution mode of the information processing device is the debug mode.
これとは逆に、前記実施例においては、割込処理として
デバッグ処理を行う場合について説明したが、これに限
定されるものではなく、他の割込処理を行う場合にもこ
の発明を適用し得ること勿論である。On the contrary, in the above embodiment, the case where debugging processing is performed as an interrupt processing has been described, but the invention is not limited to this, and the present invention can also be applied to cases where other interrupt processing is performed. Of course you can get it.
以上のように、この発明によれば、情報処理装置におい
て、割込みプログラムの実行状態を設定するプログラム
・ステータス・ワードのロード時に、割込み先の命令ア
ドレスと、プログラム・ステータス・ワード値のアドレ
スとをオペランドとして記憶部に記憶しておき、割込み
先のプログラムの実行再開時にプログラム・ステータス
・ワード中の命令アドレスの代わりに前記記憶部に記す
、aしたオペランドを取込むようにした。このため、従
来、複雑かつ煩雑であった、プログラムの任意の割込ア
ドレス(中断点)に動的に割込命令を挿入しながら割込
処理を行う場合に、プログラムの実行再開の手続きをよ
り簡単にすることができる。As described above, according to the present invention, in an information processing device, when loading a program status word that sets the execution state of an interrupt program, the instruction address of the interrupt destination and the address of the program status word value are The operand is stored as an operand in the storage section, and when execution of the program at the interrupt destination is resumed, the operand a written in the storage section is read in place of the instruction address in the program status word. For this reason, when performing interrupt processing while dynamically inserting an interrupt instruction at an arbitrary interrupt address (interruption point) in a program, which has traditionally been complicated and cumbersome, the procedure for resuming program execution has been improved. It can be done easily.
また、割込アドレスが示すプログラム中に挿3人した割
込命令は、利用者が意図する時期までそのままにしてお
くことができ、再設定を行う必要がない。Further, the interrupt command inserted into the program indicated by the interrupt address can be left as is until the time the user intends, and there is no need to reset it.
さらに、実行形式のプログラム中に、予め割込命令が挿
入されていなくても、動的に割込アドレスを決めて挿入
できるため、割込のためにソース型式の被割込プログラ
ムを再コンパイル/再アッセンブルしなくてもよい。Furthermore, even if an interrupt instruction has not been inserted in advance in an executable program, it is possible to dynamically determine and insert an interrupt address. No need to reassemble.
また、割込命令に置き換えられたプログラム上の命令は
、置き換えのためのアドレスで管理することができるの
で、同時に複数の割込アドレスを記憶していても、割込
処理を行うことが可能である。In addition, instructions on a program that have been replaced by interrupt instructions can be managed using replacement addresses, so even if multiple interrupt addresses are stored at the same time, interrupt processing can be performed. be.
第1図は、従来方式によるデバッグ処理時のPSWロー
ド命令の使用例を示す説明図、第2図は、この発明の一
実施例を示すデバッグ処理時のpsWロード命令の使用
例を示す説明図、第3図は、この発明方式に適用し得る
情報処理装置の一例を示すブロック図である。
10・・・・・・外部レジスフ、11・・・・・・演算
部、13・・・・・・制御部、14・・・・・・コント
ロールメモリ、15・・・・・・命令先取りバッファ、
16・・・・・・内部レジスタ、17・・・・・・メモ
リアクセス制御部、18・・・・・・主メモリ。
特許出願人 富士電機製造株式会社
冨士ファコム制御株式会社
代理人 弁理士 森 哲也
代理人 弁理士 内層 高閲
代理人 弁理士 清水 正
代理人 弁理士 提出 信是FIG. 1 is an explanatory diagram showing an example of how a PSW load instruction is used during debugging according to a conventional method, and FIG. 2 is an explanatory diagram showing an example of how a psW load instruction is used during debugging according to an embodiment of the present invention. , FIG. 3 is a block diagram showing an example of an information processing device that can be applied to the method of this invention. 10: External register, 11: Arithmetic unit, 13: Control unit, 14: Control memory, 15: Instruction prefetch buffer ,
16...Internal register, 17...Memory access control unit, 18...Main memory. Patent Applicant Fuji Electric Manufacturing Co., Ltd. Fuji Facom Control Co., Ltd. Agent Patent Attorney Tetsuya Mori Agent Patent Attorney Internal Review Agent Patent Attorney Shimizu Authorized Agent Patent Attorney Submission Faith
Claims (1)
設定するプログラム・ステータス・ワードのロード時に
、割込み先にある置き換え元の命令アドレスと、プログ
ラム・ステータス・ワード値のアドレスとをオペランド
として記憶部に記憶しておき、プログラムの実行再開時
に割込み先ののプログラム・ステータス・ワード中の命
令アドレスの代わりに前記記憶部に記憶したオペランド
を取り込むことを特徴とする情報処理装置における実行
状態制御方式。In an information processing device, when loading a program status word that sets the execution state of an interrupt program, the replacement source instruction address at the interrupt destination and the address of the program status word value are stored in the storage unit as operands. 1. An execution state control method for an information processing apparatus, characterized in that an operand stored in the storage section is fetched in place of an instruction address in a program status word of an interrupt destination when program execution is resumed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58121225A JPS6029846A (en) | 1983-07-04 | 1983-07-04 | Execution state control system of information processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58121225A JPS6029846A (en) | 1983-07-04 | 1983-07-04 | Execution state control system of information processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS6029846A true JPS6029846A (en) | 1985-02-15 |
Family
ID=14805993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP58121225A Pending JPS6029846A (en) | 1983-07-04 | 1983-07-04 | Execution state control system of information processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6029846A (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS51146141A (en) * | 1975-05-26 | 1976-12-15 | Hitachi Ltd | Information processer |
-
1983
- 1983-07-04 JP JP58121225A patent/JPS6029846A/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS51146141A (en) * | 1975-05-26 | 1976-12-15 | Hitachi Ltd | Information processer |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0728670A (en) | Information processor | |
JPH0810437B2 (en) | Guest execution control method for virtual machine system | |
JPS6250934A (en) | Interrupting control system of processor | |
JPS6029846A (en) | Execution state control system of information processor | |
JP2552738B2 (en) | Data processing device | |
JPH0222413B2 (en) | ||
JPS6120900B2 (en) | ||
JP3111372B2 (en) | Programmable controller | |
JPH04338825A (en) | Arithmetic processor | |
JPH06324861A (en) | System and method for controlling cpu | |
JPH0219937A (en) | Electronic computer system | |
US20090119492A1 (en) | Data Processing Apparatus and Method for Handling Procedure Call Instructions | |
JPH0535499A (en) | Data processing device and method | |
JPH0241770B2 (en) | ||
JP2002196938A (en) | Device for exception handling flow and its handling execution method | |
JPH0259829A (en) | Microcomputer | |
JPS6149695B2 (en) | ||
JPH0193838A (en) | Microprocessor for debug | |
JPH0399338A (en) | Microprocessor | |
JPH05181671A (en) | Emulation system for software instruction | |
JPS63289653A (en) | In-circuit emitter | |
JPH04191904A (en) | Sequence instruction executing processor | |
JPH04123229A (en) | Pipeline controller | |
JPS6349941A (en) | Arithmetic processing unit | |
JPS6349942A (en) | Arithmetic processing unit |