JPS60124747A - 計算機のデバグ制御方式 - Google Patents
計算機のデバグ制御方式Info
- Publication number
- JPS60124747A JPS60124747A JP58233250A JP23325083A JPS60124747A JP S60124747 A JPS60124747 A JP S60124747A JP 58233250 A JP58233250 A JP 58233250A JP 23325083 A JP23325083 A JP 23325083A JP S60124747 A JPS60124747 A JP S60124747A
- Authority
- JP
- Japan
- Prior art keywords
- debug state
- debug
- instruction
- state
- bit
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明は、計算機におけるプログラムのデノベグ制御方
式に関する。
式に関する。
計算機システムにおいては、一般にプログラムのデバグ
を容易にするために、主メモリのあら力)じめ決められ
た領域にアクセスがあった時、それを検出して割込み等
の手段でソフトウェアに知らせる機能(アドレス・1−
ラップ機能)、あらかじめ決められた種類の命令を検出
した時、それを割込み等の手段でラフ1−ウェアに知ら
せる機能(命令トラップ機能)、命令を1ステツプずつ
実行し、その時の汎用レジスタ、プログラムステータス
ワード(PSW)等の情報を主メモリに格納する機能(
1ステツプトレ一ス機能)、その他、命令の実行に伴う
特定条件の検出機能を種々保持している。
を容易にするために、主メモリのあら力)じめ決められ
た領域にアクセスがあった時、それを検出して割込み等
の手段でソフトウェアに知らせる機能(アドレス・1−
ラップ機能)、あらかじめ決められた種類の命令を検出
した時、それを割込み等の手段でラフ1−ウェアに知ら
せる機能(命令トラップ機能)、命令を1ステツプずつ
実行し、その時の汎用レジスタ、プログラムステータス
ワード(PSW)等の情報を主メモリに格納する機能(
1ステツプトレ一ス機能)、その他、命令の実行に伴う
特定条件の検出機能を種々保持している。
ところで、デバク機能を有効に働かせると、働かない場
合に比較して計算機の処理速度が低下する。そのため、
通常時はデバク機能を働かせないようにしている。この
デバグ機能を有効に働かせるか否かの切り分はビットは
、通常、PSWまたはコントロールレジスタに置かれる
。プログラムのデバグ機能を有効に働かせる計算機の状
態をデバグ状態、デバグ機能が無効になっているM1算
機の状態をノンテバグ状態または通常状態と称している
。
合に比較して計算機の処理速度が低下する。そのため、
通常時はデバク機能を働かせないようにしている。この
デバグ機能を有効に働かせるか否かの切り分はビットは
、通常、PSWまたはコントロールレジスタに置かれる
。プログラムのデバグ機能を有効に働かせる計算機の状
態をデバグ状態、デバグ機能が無効になっているM1算
機の状態をノンテバグ状態または通常状態と称している
。
このように、計算機を′デバグ状態/ノンデバグ状態の
ソフトビジプルな構成とすることにより、計算機が遅い
状態で動作しているが否か、デバグのための割込みが発
生するか否かをソフトウェアが認識できる。また、デバ
グ状態/ノンデバグ状態をプログラムで設定/解除でき
る構成とすることにより、デバグ対象プログラムを走行
させる時はデバグ状態とし、デバグ対象プログラムを管
理するスーパバイザ・プログラムが走行する時はノンデ
バグ状態で動作するようにし、デバグの効率化及び柔軟
なソフトウェア構成が可能になる。
ソフトビジプルな構成とすることにより、計算機が遅い
状態で動作しているが否か、デバグのための割込みが発
生するか否かをソフトウェアが認識できる。また、デバ
グ状態/ノンデバグ状態をプログラムで設定/解除でき
る構成とすることにより、デバグ対象プログラムを走行
させる時はデバグ状態とし、デバグ対象プログラムを管
理するスーパバイザ・プログラムが走行する時はノンデ
バグ状態で動作するようにし、デバグの効率化及び柔軟
なソフトウェア構成が可能になる。
しかしながら、従来のデバグ状態/ノンデバグ状態をプ
ログラムで設定/解除する方式には以下のような欠点が
あった。デバグ状態/ノンデバグ状態の設定ビットがP
SW上にある場合もコントロールレジスタ上にある場合
もその論理に大差はないので、以下では該ビットがPS
W上にある場合について説明する。
ログラムで設定/解除する方式には以下のような欠点が
あった。デバグ状態/ノンデバグ状態の設定ビットがP
SW上にある場合もコントロールレジスタ上にある場合
もその論理に大差はないので、以下では該ビットがPS
W上にある場合について説明する。
プログラムをデバグする場合、被デバグプログラムが走
行する直前に計算機をデバク状態にし、被デバグプログ
ラム完走後、計算機をノンデバグ状態にする。第1図は
この場合の従来の現PSWの設定方法を説明する図で、
I) S Wをロードする命令(L P SW命令)で
指定したオペランド1の内容がそのま−ま現P S W
3に設定される。6はデバグ状態/ノンデバグ状態ビ
ットであり、オペランド1内の状態を指定するビット2
がそのまま設定される。この場合、以下の不都合が生ず
る。デバグ用スーパバイザ・プログラムが、被デバグプ
ログラムをデバグ状態で走行させるために、計算機をデ
バグ状態にしたとする。しかし、被デバグプログラムで
もLPSW命令が発行される場合がある。この被デバグ
プログラムは通常ノンデバグ状態で走行することを前提
に作られているため、L P S W命令のオペランド
の内容のうち、デバグ。
行する直前に計算機をデバク状態にし、被デバグプログ
ラム完走後、計算機をノンデバグ状態にする。第1図は
この場合の従来の現PSWの設定方法を説明する図で、
I) S Wをロードする命令(L P SW命令)で
指定したオペランド1の内容がそのま−ま現P S W
3に設定される。6はデバグ状態/ノンデバグ状態ビ
ットであり、オペランド1内の状態を指定するビット2
がそのまま設定される。この場合、以下の不都合が生ず
る。デバグ用スーパバイザ・プログラムが、被デバグプ
ログラムをデバグ状態で走行させるために、計算機をデ
バグ状態にしたとする。しかし、被デバグプログラムで
もLPSW命令が発行される場合がある。この被デバグ
プログラムは通常ノンデバグ状態で走行することを前提
に作られているため、L P S W命令のオペランド
の内容のうち、デバグ。
状態/ノンデバグ状態を指定するビット2には通常”0
”(ノンデバグ状態指定)が埋め込まれている。このた
め、被デバグプログラム走行途中、LPSW命令が発行
された時点でノンデバグ状態にR1算機の状態が変って
しまい、計算機のデバグ機能を有効に働かせることはで
きない。
”(ノンデバグ状態指定)が埋め込まれている。このた
め、被デバグプログラム走行途中、LPSW命令が発行
された時点でノンデバグ状態にR1算機の状態が変って
しまい、計算機のデバグ機能を有効に働かせることはで
きない。
すなわち、デバグ状態/ノンデバグ状態を設定/解除で
きる命令を含むプログラムをデバグ状態で走行させると
き、その被デバグプログラム中の該命令が、かつてにデ
バグ状態/ノンデバグ状態の操作を行わないように監視
する必要があり、従来は該命令を使用しているプログラ
ムのデバグを複雑にしていた。具体的には、被デバグプ
ログラム走行中、」二記命令の有無を終始監視し、該命
令が検出された時、該命令がノンデバグ状態を設定して
いないか調べ、ノンデバグ状態を指定している場合は、
そこではノンデバグ状態とはせず、デバグ状態のまま被
デバグブログラ11を走行させるような命令シミュレー
ションが必要となり、ラフ1〜ウエアの作成を複雑にす
るばかりではなく、処理時間の増大につながる等の欠点
があった。
きる命令を含むプログラムをデバグ状態で走行させると
き、その被デバグプログラム中の該命令が、かつてにデ
バグ状態/ノンデバグ状態の操作を行わないように監視
する必要があり、従来は該命令を使用しているプログラ
ムのデバグを複雑にしていた。具体的には、被デバグプ
ログラム走行中、」二記命令の有無を終始監視し、該命
令が検出された時、該命令がノンデバグ状態を設定して
いないか調べ、ノンデバグ状態を指定している場合は、
そこではノンデバグ状態とはせず、デバグ状態のまま被
デバグブログラ11を走行させるような命令シミュレー
ションが必要となり、ラフ1〜ウエアの作成を複雑にす
るばかりではなく、処理時間の増大につながる等の欠点
があった。
本発明の目的は、」二記従来の欠点に鑑み、R1算機が
デバグ状態にある時は特定の命令指定がない限り、命令
によるデバグ状態の解除を行えないようにしたデバグ制
御方式を提倶することにある。
デバグ状態にある時は特定の命令指定がない限り、命令
によるデバグ状態の解除を行えないようにしたデバグ制
御方式を提倶することにある。
本発明は、テバグ状態の変更可能/不可能を示す表示手
段を設け、命令が指定するデバグ状態/ノンデバグ状態
の設定ピッ1〜のP S Wあるいはコントロールレジ
スタへの反映を、表示手段が変更可能を表示している場
合は有効とするが、変更不可能を表示している場合は無
効とするものである。
段を設け、命令が指定するデバグ状態/ノンデバグ状態
の設定ピッ1〜のP S Wあるいはコントロールレジ
スタへの反映を、表示手段が変更可能を表示している場
合は有効とするが、変更不可能を表示している場合は無
効とするものである。
第2図は本発明の第1の実施例を説明する図である。第
2図においては、■はr−p s w命令で指定するオ
ペランドの内容、2は該オペランドのデバグ状態指定ビ
ット、3は現PSW、/]はデバグ状態保持用フリップ
フロップ、5はOR回路、6は現PSW3上のデバグ状
態ビットである。すな・わち、第1図の構成にフリップ
フロップ4と。R回路5を付加した点が特徴である。
2図においては、■はr−p s w命令で指定するオ
ペランドの内容、2は該オペランドのデバグ状態指定ビ
ット、3は現PSW、/]はデバグ状態保持用フリップ
フロップ、5はOR回路、6は現PSW3上のデバグ状
態ビットである。すな・わち、第1図の構成にフリップ
フロップ4と。R回路5を付加した点が特徴である。
被デバグプログラムをデバグ状態で走行させるため、B
1算機をデバグ状態にする場合、所望命令(命令Xとす
る)でフリップフロップ4をオンとする。被デバグプロ
グラム走行中、この被デバグプログラムでLPSW命令
が発行され、該オペランド1のデバグ状態指定ビット2
が”O”(ノンデバグ状態)のデータを現PSW3にロ
ードしようとしたとする。この場合、デバグ状態指定ピ
ッ1−2とフリップフロップ4の内容がOR回路5でオ
アされるため、現PSW3のデバグ状態ビット6は’1
”(デバグ状態)に保持され、r−p s w命令でロ
ードされるオペランド1のデバグ状態指定ピッ1へ2で
ノンデバグ状態になることはない。LPSW命令による
オペランド1のデバグ状態指定ビット2をそのまま現P
SW3のデバグ状態ビット6に反映させる場合は、所望
命令(命令Yとする)でプリップフロップ4をオフにす
ればよい。
1算機をデバグ状態にする場合、所望命令(命令Xとす
る)でフリップフロップ4をオンとする。被デバグプロ
グラム走行中、この被デバグプログラムでLPSW命令
が発行され、該オペランド1のデバグ状態指定ビット2
が”O”(ノンデバグ状態)のデータを現PSW3にロ
ードしようとしたとする。この場合、デバグ状態指定ピ
ッ1−2とフリップフロップ4の内容がOR回路5でオ
アされるため、現PSW3のデバグ状態ビット6は’1
”(デバグ状態)に保持され、r−p s w命令でロ
ードされるオペランド1のデバグ状態指定ピッ1へ2で
ノンデバグ状態になることはない。LPSW命令による
オペランド1のデバグ状態指定ビット2をそのまま現P
SW3のデバグ状態ビット6に反映させる場合は、所望
命令(命令Yとする)でプリップフロップ4をオフにす
ればよい。
第2図の実施例は命令X、Yによってデバク状態保持用
フリップフロップ4のオン/オフを制御して、r−p
s w命令のオペランドのデバグ状態指定ビットが現P
SWのデバグ状態ビットに反映されるのを有効/無効と
する方法であるが、LPSW命令そのものにインジケー
タをっけ、該インジケータ夕によって同様の制御を行う
こともできる。
フリップフロップ4のオン/オフを制御して、r−p
s w命令のオペランドのデバグ状態指定ビットが現P
SWのデバグ状態ビットに反映されるのを有効/無効と
する方法であるが、LPSW命令そのものにインジケー
タをっけ、該インジケータ夕によって同様の制御を行う
こともできる。
第3図はそれを説明する図で、■はLPSWが指定する
オペランドの内容、2は該オペランドのデハグ状態指定
ピッ1−13は現psw、6は現1) SWのデバグ状
態ビット、10はr−p s w命令、−11はアンド
回路である。
オペランドの内容、2は該オペランドのデハグ状態指定
ピッ1−13は現psw、6は現1) SWのデバグ状
態ビット、10はr−p s w命令、−11はアンド
回路である。
LPSWl、0が指定するオペランドの内容1を現PS
W3にロードする際、L P S W命令のr1フィー
ルド(インジケータ)が′0″の時には、オペランド1
のテバグ状態指定ピッ1−2は現PSW6に反映されな
い。したがって、オペランド1のデバグ状態指定ピッ1
〜2がO” (ノンデバグ状1rJ)であっても、現P
SW6のデバグ状態ビット6が′1″であると、計算機
はそのままデバグ状態に保持される。一方、L F’
S W命令のr1フィールド。
W3にロードする際、L P S W命令のr1フィー
ルド(インジケータ)が′0″の時には、オペランド1
のテバグ状態指定ピッ1−2は現PSW6に反映されな
い。したがって、オペランド1のデバグ状態指定ピッ1
〜2がO” (ノンデバグ状1rJ)であっても、現P
SW6のデバグ状態ビット6が′1″であると、計算機
はそのままデバグ状態に保持される。一方、L F’
S W命令のr1フィールド。
がrr 1 nの時には、LP、SW命令IOで指定し
たオペランドlのデバグ状態指定ビット2がそのまま現
PSW3のデバグ状態ピッl−6に反映される。
たオペランドlのデバグ状態指定ビット2がそのまま現
PSW3のデバグ状態ピッl−6に反映される。
〔発明の効果]
本発明によれば、命令でデバグ状態の設定/解除が行わ
れるH1算機において、テバグ状態の時、該命令による
デバグ状態の設定/解除を行えない手段を設けたことに
より、今までは特権命令を使用しないユーザプログラム
にのみCPUデバグ機能が使用できなかったり、または
、制御プログラムへの適用が難かしかったものが、容易
に行えるようになる利点がある。
れるH1算機において、テバグ状態の時、該命令による
デバグ状態の設定/解除を行えない手段を設けたことに
より、今までは特権命令を使用しないユーザプログラム
にのみCPUデバグ機能が使用できなかったり、または
、制御プログラムへの適用が難かしかったものが、容易
に行えるようになる利点がある。
第1図は従来のデバグ制御方式を説明する図、第2図は
本発明の第1の実施例を説明する図、第3図は本発明の
第2の実施例を説明するセ1である。 1・・・LPSW命令で指定されるオペランド、2・・
・デバグ状態指定ピッ1〜、 3・・現1)SW、4・
・・デバグ状態保持用フリップフロップ、5・・・OR
回路、6・・・デバグ状態ピッh、10・・・LPSW
命令、11・・・AND回路。 代理人弁理士 鈴 木 誠
本発明の第1の実施例を説明する図、第3図は本発明の
第2の実施例を説明するセ1である。 1・・・LPSW命令で指定されるオペランド、2・・
・デバグ状態指定ピッ1〜、 3・・現1)SW、4・
・・デバグ状態保持用フリップフロップ、5・・・OR
回路、6・・・デバグ状態ピッh、10・・・LPSW
命令、11・・・AND回路。 代理人弁理士 鈴 木 誠
Claims (1)
- (1)プログラムのデハグを行うデバグ機能を有効とす
るか無効とするかを示すデバグ状態ビットをプログラム
状態語あるいはコントロールレジスタ上に持ち、命令で
前記デバグ状態ビットの指定を行う計算機において、前
記デバグ状態ビットの変更可能/不可能を示す表示手段
と、前記表示手段の状態により前記命令による前記デノ
ベグ状態ビットの指定を有効あるいは無効とする制御手
段とを設けたことを特徴とするデバグ制御方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58233250A JPS60124747A (ja) | 1983-12-09 | 1983-12-09 | 計算機のデバグ制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58233250A JPS60124747A (ja) | 1983-12-09 | 1983-12-09 | 計算機のデバグ制御方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS60124747A true JPS60124747A (ja) | 1985-07-03 |
| JPH0250494B2 JPH0250494B2 (ja) | 1990-11-02 |
Family
ID=16952122
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58233250A Granted JPS60124747A (ja) | 1983-12-09 | 1983-12-09 | 計算機のデバグ制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS60124747A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0314025A (ja) * | 1989-06-13 | 1991-01-22 | Nec Corp | 命令実行制御方式 |
-
1983
- 1983-12-09 JP JP58233250A patent/JPS60124747A/ja active Granted
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0314025A (ja) * | 1989-06-13 | 1991-01-22 | Nec Corp | 命令実行制御方式 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0250494B2 (ja) | 1990-11-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2650675B2 (ja) | マルチモードマイクロプロセッサにおいてプログラムを実行する方法及びオペレーティングシステム | |
| US5132971A (en) | In-circuit emulator | |
| US4429368A (en) | Microprogram-testing apparatus | |
| JP2005317023A (ja) | データ処理装置のブレークポイント論理ユニット、デバッグ論理、およびブレークポイントの方法 | |
| US20100153786A1 (en) | Processor, multiprocessor, and debugging method | |
| JPS60124747A (ja) | 計算機のデバグ制御方式 | |
| JPS5939052B2 (ja) | 情報処理装置及び方法 | |
| US5813039A (en) | Guest execution control system, method and computer process for a virtual machine system | |
| JPH1049401A (ja) | プログラムのデバッグ方法 | |
| JP2653412B2 (ja) | ブレークポイント設定方法 | |
| JPH01125633A (ja) | マルチプロセッサシステムのデバッグ法 | |
| JP2562838B2 (ja) | プロセッサ及びストアバッファ制御方法 | |
| JPH0282344A (ja) | マルチプロセッサシステムにおけるプログラムのデバッギングの方法 | |
| JP2875606B2 (ja) | 試験装置 | |
| JPS59112494A (ja) | メモリテスト方式 | |
| JPS6198455A (ja) | デバイスシミユレ−ト方式 | |
| JP2002366378A (ja) | プログラムのデバッグ装置及びデバッグ方法、並びに記憶媒体 | |
| JP2686801B2 (ja) | マイクロコンピュータのプログラム開発ツール | |
| JP2654105B2 (ja) | マイクロプロセッサ | |
| JPS60193046A (ja) | 命令例外検出方式 | |
| JP2001282568A (ja) | 不正アクセス検出回路及びそれを有するインサーキットエミュレータ並びに不正アクセス検出方法 | |
| JPH0424836A (ja) | マイクロプロセッサ | |
| JPS63228237A (ja) | プログラムデバツグ方式 | |
| JPH04337847A (ja) | プログラムチェック方法 | |
| JPH02239351A (ja) | マイクロプロセッサ |