JP3029355B2 - 命令のシングルステップ実行方式 - Google Patents
命令のシングルステップ実行方式Info
- Publication number
- JP3029355B2 JP3029355B2 JP5031797A JP3179793A JP3029355B2 JP 3029355 B2 JP3029355 B2 JP 3029355B2 JP 5031797 A JP5031797 A JP 5031797A JP 3179793 A JP3179793 A JP 3179793A JP 3029355 B2 JP3029355 B2 JP 3029355B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- address
- location
- executed
- execution
- 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 - Fee Related
Links
Landscapes
- Advance Control (AREA)
- Debugging And Monitoring (AREA)
Description
【0001】
【産業上の利用分野】この発明は、遅延分岐型の命令実
行パイプライン処理を行う情報処理装置における命令の
シングルステップ実行方式に関する。
行パイプライン処理を行う情報処理装置における命令の
シングルステップ実行方式に関する。
【0002】
【従来の技術】計算機等の情報処理装置では、デバッグ
作業等のために、命令のシングルステップ実行が行われ
る。従来、このシングルステップ実行の方式として、以
下の2つが知られていた。
作業等のために、命令のシングルステップ実行が行われ
る。従来、このシングルステップ実行の方式として、以
下の2つが知られていた。
【0003】第1の方式は、CPUハードウェアがシン
グルステップ割込みをサポートし、CPUの実行モード
により(具体的には、プログラムステータスワード中の
トレースフラグの指定により)1命令実行する毎に割込
みを発生させることで実現するものである。
グルステップ割込みをサポートし、CPUの実行モード
により(具体的には、プログラムステータスワード中の
トレースフラグの指定により)1命令実行する毎に割込
みを発生させることで実現するものである。
【0004】第2の方式は、シングルステップ実行すべ
き命令の次の命令をブレークポイント割込み発生命令
(以下、BPT命令と称する)などに置換えてソフトウ
ェア的に実現するものである。
き命令の次の命令をブレークポイント割込み発生命令
(以下、BPT命令と称する)などに置換えてソフトウ
ェア的に実現するものである。
【0005】
【発明が解決しようとする課題】しかしながら、上記第
1の方式では、命令実行後発生する演算エラーなどの割
込みから復帰した際、ハードウェア的にシングルステッ
プ割込みを発生させなければならないため、ハードウェ
ア構成が極めて複雑となる問題があった。
1の方式では、命令実行後発生する演算エラーなどの割
込みから復帰した際、ハードウェア的にシングルステッ
プ割込みを発生させなければならないため、ハードウェ
ア構成が極めて複雑となる問題があった。
【0006】また上記第2の方式では、マルチプログラ
ミング環境などにおいてコード部が共有されていたり、
書込み不可であると実現できず、しかもソフトウェア的
に命令を解析しなければならないためオーバヘッドが大
きいという問題があった。
ミング環境などにおいてコード部が共有されていたり、
書込み不可であると実現できず、しかもソフトウェア的
に命令を解析しなければならないためオーバヘッドが大
きいという問題があった。
【0007】この発明は上記事情を考慮してなされたも
のでその目的は、命令(コード部)を書換えることなし
に、BPT命令(ブレークポイント割込み発生命令)を
用いた割込み発生によるシングルステップ実行が行え
る、オーバヘッドの少ないシングルステップ実行方式を
提供することにある。
のでその目的は、命令(コード部)を書換えることなし
に、BPT命令(ブレークポイント割込み発生命令)を
用いた割込み発生によるシングルステップ実行が行え
る、オーバヘッドの少ないシングルステップ実行方式を
提供することにある。
【0008】
【課題を解決するための手段】この発明は、遅延分岐型
の命令実行パイプライン処理のために、割込み発生時
に、次に実行を開始すべき命令の番地であるロケーショ
ン、およびその命令の次に実行すべき命令の番地である
ネックスト(next)ロケーションを含む割込み復帰
情報をセーブするセーブ手段を備え、割込みからの復帰
時には、上記セーブ手段によりセーブされたロケーショ
ンおよびネックストロケーションに従って処理を再開す
る情報処理装置において、
の命令実行パイプライン処理のために、割込み発生時
に、次に実行を開始すべき命令の番地であるロケーショ
ン、およびその命令の次に実行すべき命令の番地である
ネックスト(next)ロケーションを含む割込み復帰
情報をセーブするセーブ手段を備え、割込みからの復帰
時には、上記セーブ手段によりセーブされたロケーショ
ンおよびネックストロケーションに従って処理を再開す
る情報処理装置において、
【0009】シングルステップ実行の対象となる連続す
る2命令のうちの、先に実行すべき命令の番地を保持す
る第1の保持手段と、後から実行すべき命令の番地を保
持する第2の保持手段と、ブレークポイント割込み発生
命令(BPT命令)の番地を予め保持する第3の保持手
段と、命令のシングルステップ実行を行うための特定モ
ード(シングルステップモード)では、第1の保持手段
に保持されている番地をロケーション、第3の保持手段
に保持されている番地をネックストロケーションとして
命令実行を行わせる制御手段であって、シングルステッ
プモードでBPT命令が実行された結果、セーブ手段に
よりロケーションおよびネックストロケーションがセー
ブされた後に、第2の保持手段に保持されている番地を
第1の保持手段に移すと共に、セーブ手段によりセーブ
されたネックストロケーションを第2の保持手段に移す
制御手段とを設け、第1の保持手段に移した番地を新た
なロケーションとし、第3の保持手段に保持されている
番地を新たなネックストロケーションとして、上記制御
手段が命令実行を再開させるようにしたことを特徴とす
るものである。
る2命令のうちの、先に実行すべき命令の番地を保持す
る第1の保持手段と、後から実行すべき命令の番地を保
持する第2の保持手段と、ブレークポイント割込み発生
命令(BPT命令)の番地を予め保持する第3の保持手
段と、命令のシングルステップ実行を行うための特定モ
ード(シングルステップモード)では、第1の保持手段
に保持されている番地をロケーション、第3の保持手段
に保持されている番地をネックストロケーションとして
命令実行を行わせる制御手段であって、シングルステッ
プモードでBPT命令が実行された結果、セーブ手段に
よりロケーションおよびネックストロケーションがセー
ブされた後に、第2の保持手段に保持されている番地を
第1の保持手段に移すと共に、セーブ手段によりセーブ
されたネックストロケーションを第2の保持手段に移す
制御手段とを設け、第1の保持手段に移した番地を新た
なロケーションとし、第3の保持手段に保持されている
番地を新たなネックストロケーションとして、上記制御
手段が命令実行を再開させるようにしたことを特徴とす
るものである。
【0010】
【作用】命令実行パイプライン処理を行う近年の情報処
理装置では、分岐命令処理が実行されて分岐先の番地が
求められても分岐せず、引き続き後続の命令(本来な
ら、分岐命令に先行して行われるように配置される命
令)を実行してから分岐することにより、分岐命令を含
む命令処理の高速化を図るようにしている。このような
命令処理は、遅延分岐型の命令実行パイプライン処理と
呼ばれる。
理装置では、分岐命令処理が実行されて分岐先の番地が
求められても分岐せず、引き続き後続の命令(本来な
ら、分岐命令に先行して行われるように配置される命
令)を実行してから分岐することにより、分岐命令を含
む命令処理の高速化を図るようにしている。このような
命令処理は、遅延分岐型の命令実行パイプライン処理と
呼ばれる。
【0011】この遅延分岐型の命令実行パイプライン処
理を適用した場合、割込みの発生時に、割込み復帰後に
最初に実行すべき命令番地(ロケーション)だけをセー
ブしていたのでは、実際に割込みから復帰して命令実行
を再開する場合、2番目に実行すべき命令以降の命令処
理が正しく行える保証はない。
理を適用した場合、割込みの発生時に、割込み復帰後に
最初に実行すべき命令番地(ロケーション)だけをセー
ブしていたのでは、実際に割込みから復帰して命令実行
を再開する場合、2番目に実行すべき命令以降の命令処
理が正しく行える保証はない。
【0012】そこで、割込み発生時に、割込み復帰後に
最初に実行すべき命令番地(ロケーション)の他、その
次に実行すべき命令番地(ネックストロケーション)
を、プロセッサ状態としてセーブ(退避)するセーブ機
構(セーブ手段)を設け、割込みからの復帰時に、ロケ
ーションおよびネックストロケーションを指定すること
で、ロケーションから正しく実行が再開できるようにし
た一手法が開発されている。
最初に実行すべき命令番地(ロケーション)の他、その
次に実行すべき命令番地(ネックストロケーション)
を、プロセッサ状態としてセーブ(退避)するセーブ機
構(セーブ手段)を設け、割込みからの復帰時に、ロケ
ーションおよびネックストロケーションを指定すること
で、ロケーションから正しく実行が再開できるようにし
た一手法が開発されている。
【0013】本発明は、この機能を利用したもので、シ
ングルステップモードでは、第1および第2の保持手段
に保持されているシングルステップ実行すべき連続する
2命令の番地のうち、先に実行すべき命令の番地をロケ
ーション、第3の保持手段に予め保持されているBPT
命令の番地をネックストロケーションして命令実行が行
われる。そして、シングルステップ実行すべき命令が実
行され、続いてBPT命令が実行された結果、セーブ手
段が起動されてロケーションおよびネックストロケーシ
ョンがセーブされる。このネックストロケーションは、
通常は第2保持手段に保持されている番地の命令の次に
シングルステップ実行すべき命令の番地となる。
ングルステップモードでは、第1および第2の保持手段
に保持されているシングルステップ実行すべき連続する
2命令の番地のうち、先に実行すべき命令の番地をロケ
ーション、第3の保持手段に予め保持されているBPT
命令の番地をネックストロケーションして命令実行が行
われる。そして、シングルステップ実行すべき命令が実
行され、続いてBPT命令が実行された結果、セーブ手
段が起動されてロケーションおよびネックストロケーシ
ョンがセーブされる。このネックストロケーションは、
通常は第2保持手段に保持されている番地の命令の次に
シングルステップ実行すべき命令の番地となる。
【0014】そして、第2の保持手段に保持されている
番地を第1の保持手段に移すと共に、セーブ手段により
セーブされたネックストロケーションを第2の保持手段
に移した後、第1の保持手段に移された番地を新たなロ
ケーションとし、第3の保持手段に保持されているBP
T命令の番地を新たなネックストロケーションとして命
令実行を再開することにより、次のシングルステップ実
行すべき命令とBPT命令とを順に実行させることがで
きる。
番地を第1の保持手段に移すと共に、セーブ手段により
セーブされたネックストロケーションを第2の保持手段
に移した後、第1の保持手段に移された番地を新たなロ
ケーションとし、第3の保持手段に保持されているBP
T命令の番地を新たなネックストロケーションとして命
令実行を再開することにより、次のシングルステップ実
行すべき命令とBPT命令とを順に実行させることがで
きる。
【0015】
【実施例】図1はこの発明の一実施例に係る遅延分岐型
の命令実行パイプライン処理を適用する情報処理装置の
要部のブロック構成図である。
の命令実行パイプライン処理を適用する情報処理装置の
要部のブロック構成図である。
【0016】図1において、1は次に実行すべき(現在
実行中の)命令の番地(アドレス)を保持するためのロ
ケーションカウンタ(LOC)、2はロケーションカウ
ンタ1の示す命令の次に実行すべき命令の番地を保持す
るためのネックストロケーションカウンタ(NLOC)
である。
実行中の)命令の番地(アドレス)を保持するためのロ
ケーションカウンタ(LOC)、2はロケーションカウ
ンタ1の示す命令の次に実行すべき命令の番地を保持す
るためのネックストロケーションカウンタ(NLOC)
である。
【0017】3aはシングルステップ実行すべきプログ
ラム等(命令列)が配置されている主記憶上のユーザプ
ログラム領域、3bはソフトウェア的に割込みを発生さ
せるためのBPT命令(ブレークポイント割込み発生命
令)が記憶されている主記憶上の例えばX番地の領域
(以下、BPT命令記憶域と称する)である。
ラム等(命令列)が配置されている主記憶上のユーザプ
ログラム領域、3bはソフトウェア的に割込みを発生さ
せるためのBPT命令(ブレークポイント割込み発生命
令)が記憶されている主記憶上の例えばX番地の領域
(以下、BPT命令記憶域と称する)である。
【0018】4は割込み処理を司る割込みハンドラであ
る。割込みハンドラ4は、割込み発生時に、CPU(プ
ロセッサ)が次に実行を開始する命令の番地をロケーシ
ョン、その命令の実行後に実行すべき命令の番地をネッ
クストロケーションとしてセーブするセーブ機構41を
有する。5はセーブ機構41による情報セーブに供され
る例えば主記憶上のセーブ領域である。
る。割込みハンドラ4は、割込み発生時に、CPU(プ
ロセッサ)が次に実行を開始する命令の番地をロケーシ
ョン、その命令の実行後に実行すべき命令の番地をネッ
クストロケーションとしてセーブするセーブ機構41を
有する。5はセーブ機構41による情報セーブに供され
る例えば主記憶上のセーブ領域である。
【0019】6はシングルステップ実行の対象となる連
続する2命令の番地を保持するための例えば主記憶上の
領域(以下、シングルステップ実行対象命令番地記憶域
と称する)、7はBPT命令の番地(X)を予め保持す
るための例えば主記憶上の領域(以下、BPT命令番地
記憶域と称する)である。シングルステップ実行対象命
令番地記憶域6は、次にシングルステップ実行すべき命
令の番地を保持するための、先行シングルステップ実行
対象命令番地記憶域61と、更にその次にシングルステ
ップ実行すべき命令の番地を保持するための、後続シン
グルステップ実行対象命令番地記憶域62とからなる。
続する2命令の番地を保持するための例えば主記憶上の
領域(以下、シングルステップ実行対象命令番地記憶域
と称する)、7はBPT命令の番地(X)を予め保持す
るための例えば主記憶上の領域(以下、BPT命令番地
記憶域と称する)である。シングルステップ実行対象命
令番地記憶域6は、次にシングルステップ実行すべき命
令の番地を保持するための、先行シングルステップ実行
対象命令番地記憶域61と、更にその次にシングルステ
ップ実行すべき命令の番地を保持するための、後続シン
グルステップ実行対象命令番地記憶域62とからなる。
【0020】8は命令のシングルステップ実行を行うた
めのシングルステップモードにおいてBPT命令による
割込み発生後に当該シングルステップ実行を再開させる
ためのシングルステップ実行再開部である。シングルス
テップ実行再開部8は、後続シングルステップ実行対象
命令番地記憶域62の内容を先行シングルステップ実行
対象命令番地記憶域61に移すと共に、セーブ領域5に
セーブされたネックストロケーションを記憶域62に移
した後、記憶域61および記憶域7の内容をもとに命令
のシングルステップ実行を再開させる。
めのシングルステップモードにおいてBPT命令による
割込み発生後に当該シングルステップ実行を再開させる
ためのシングルステップ実行再開部である。シングルス
テップ実行再開部8は、後続シングルステップ実行対象
命令番地記憶域62の内容を先行シングルステップ実行
対象命令番地記憶域61に移すと共に、セーブ領域5に
セーブされたネックストロケーションを記憶域62に移
した後、記憶域61および記憶域7の内容をもとに命令
のシングルステップ実行を再開させる。
【0021】次に、図1の構成の動作を、ユーザプログ
ラム領域3a上の番地(アドレス)A,B,C,D…の
命令a,b,c,d…をシングルステップで実行する場
合を例に説明する。本実施例において、命令のシングル
ステップ実行を行うためには、シングルステップモード
を設定する必要がある。
ラム領域3a上の番地(アドレス)A,B,C,D…の
命令a,b,c,d…をシングルステップで実行する場
合を例に説明する。本実施例において、命令のシングル
ステップ実行を行うためには、シングルステップモード
を設定する必要がある。
【0022】シングルステップモードが設定されると、
まず、最初にシングルステップ実行すべき命令aの番地
Aが先行シングルステップ実行対象命令記憶域61に初
期設定され、命令aの次にシングルステップ実行すべき
命令bの番地Bが後続シングルステップ実行対象命令記
憶域62に初期設定される。
まず、最初にシングルステップ実行すべき命令aの番地
Aが先行シングルステップ実行対象命令記憶域61に初
期設定され、命令aの次にシングルステップ実行すべき
命令bの番地Bが後続シングルステップ実行対象命令記
憶域62に初期設定される。
【0023】この状態で、シングルステップ実行再開部
8は、先行シングルステップ実行対象命令記憶域61の
内容(命令aの番地A)をロケーションカウンタ1に設
定すると共に、BPT命令番地記憶域7の内容(BPT
命令の番地X)をネックストロケーションカウンタ2に
設定して、命令実行を行わせる。
8は、先行シングルステップ実行対象命令記憶域61の
内容(命令aの番地A)をロケーションカウンタ1に設
定すると共に、BPT命令番地記憶域7の内容(BPT
命令の番地X)をネックストロケーションカウンタ2に
設定して、命令実行を行わせる。
【0024】すると、まず、ロケーションカウンタ1の
示す番地Aを用いて(主記憶上の)ユーザプログラム領
域3aから命令aをフェッチし、同命令aをデコードし
て実行する動作が行われる。
示す番地Aを用いて(主記憶上の)ユーザプログラム領
域3aから命令aをフェッチし、同命令aをデコードし
て実行する動作が行われる。
【0025】次に、ネックストロケーションカウンタ2
の内容(X)がロケーションカウンタ1に移されると共
に、命令bの次にシングルステップ実行すべき命令cの
番地Cがネックストロケーションカウンタ2に設定され
る。すると、ロケーションカウンタ1に移された番地X
を用いて(主記憶上の)BPT命令記憶域3bからBP
T命令をフェッチし、同BPT命令をデコードして実行
する動作が行われる。
の内容(X)がロケーションカウンタ1に移されると共
に、命令bの次にシングルステップ実行すべき命令cの
番地Cがネックストロケーションカウンタ2に設定され
る。すると、ロケーションカウンタ1に移された番地X
を用いて(主記憶上の)BPT命令記憶域3bからBP
T命令をフェッチし、同BPT命令をデコードして実行
する動作が行われる。
【0026】BPT命令が実行されると、ソフトウェア
的に割込みが発生して、割込みハンドラ4に制御が移
る。すると、割込みハンドラ4内のセーブ機構41は、
割込みからの復帰のための情報をセーブ領域5にセーブ
する。この割込み復帰情報は、BPT命令実行前のプロ
セッサ(CPU)状態を示すもので、ロケーションとし
てのBPT命令の番地Xと、ネックストロケーションと
しての命令cの番地Cを含む。なお、命令aが分岐命令
であるならば、その分岐先アドレスがネックストロケー
ションとされる。ここでは、命令aは分岐命令でないも
のとする。
的に割込みが発生して、割込みハンドラ4に制御が移
る。すると、割込みハンドラ4内のセーブ機構41は、
割込みからの復帰のための情報をセーブ領域5にセーブ
する。この割込み復帰情報は、BPT命令実行前のプロ
セッサ(CPU)状態を示すもので、ロケーションとし
てのBPT命令の番地Xと、ネックストロケーションと
しての命令cの番地Cを含む。なお、命令aが分岐命令
であるならば、その分岐先アドレスがネックストロケー
ションとされる。ここでは、命令aは分岐命令でないも
のとする。
【0027】シングルステップ実行再開部8は、BPT
命令の実行による割込み発生の後、命令(のシングルス
テップ)実行を再開したい場合、まず後続シングルステ
ップ実行対象命令番地記憶域62の内容(命令bの番地
B)を先行シングルステップ実行対象命令番地記憶域6
1に移すと共に、セーブ領域5にセーブされている割込
み復帰情報中のネックストロケーション(命令cの番地
C)を後続シングルステップ実行対象命令番地記憶域6
2に移す。
命令の実行による割込み発生の後、命令(のシングルス
テップ)実行を再開したい場合、まず後続シングルステ
ップ実行対象命令番地記憶域62の内容(命令bの番地
B)を先行シングルステップ実行対象命令番地記憶域6
1に移すと共に、セーブ領域5にセーブされている割込
み復帰情報中のネックストロケーション(命令cの番地
C)を後続シングルステップ実行対象命令番地記憶域6
2に移す。
【0028】次にシングルステップ実行再開部8は、命
令aの番地Aを記憶域61に、次の命令bの番地Bを記
憶域62に初期設定した場合と同様に、記憶域61の内
容(命令bの番地B)をロケーションカウンタ1に設定
すると共に、BPT命令番地記憶域7の内容(BPT命
令の番地X)をネックストロケーションカウンタ2に設
定して、命令実行を行わせる。
令aの番地Aを記憶域61に、次の命令bの番地Bを記
憶域62に初期設定した場合と同様に、記憶域61の内
容(命令bの番地B)をロケーションカウンタ1に設定
すると共に、BPT命令番地記憶域7の内容(BPT命
令の番地X)をネックストロケーションカウンタ2に設
定して、命令実行を行わせる。
【0029】これにより、まず、ロケーションカウンタ
1の示す番地Bを用いて主記憶上のユーザプログラム領
域3aから(命令aの次の)命令bをフェッチし、同命
令bをデコードして実行する動作が行われる。
1の示す番地Bを用いて主記憶上のユーザプログラム領
域3aから(命令aの次の)命令bをフェッチし、同命
令bをデコードして実行する動作が行われる。
【0030】次に、ネックストロケーションカウンタ2
の内容(X)がロケーションカウンタ1に移されると共
に、命令cの次にシングルステップ実行すべき命令dの
番地Dがネックストロケーションカウンタ2に設定され
る。すると、ロケーションカウンタ1に移された番地X
を用いて主記憶上のBPT命令記憶域3bからBPT命
令をフェッチし、同BPT命令をデコードして実行する
動作が行われ、割込みが発生する。
の内容(X)がロケーションカウンタ1に移されると共
に、命令cの次にシングルステップ実行すべき命令dの
番地Dがネックストロケーションカウンタ2に設定され
る。すると、ロケーションカウンタ1に移された番地X
を用いて主記憶上のBPT命令記憶域3bからBPT命
令をフェッチし、同BPT命令をデコードして実行する
動作が行われ、割込みが発生する。
【0031】以下、同様にして、命令c、BPT命令、
命令d、BPT命令…のように、シングルステップ実行
すべき命令とBPT命令とが繰り返し実行され、ユーザ
プログラム領域3a上の命令a,b,c,d…がシング
ルステップ実行される。
命令d、BPT命令…のように、シングルステップ実行
すべき命令とBPT命令とが繰り返し実行され、ユーザ
プログラム領域3a上の命令a,b,c,d…がシング
ルステップ実行される。
【0032】なお、シングルステップモードでない場
合、即ち通常のモードでは、割込みから復帰して命令実
行を再開する際に、セーブ領域5にセーブされているロ
ケーション,ネックストロケーションが図示せぬ命令実
行再開部によりロケーションカウンタ1,ネックストロ
ケーションカウンタ2に設定されて、命令実行が再開さ
れる。
合、即ち通常のモードでは、割込みから復帰して命令実
行を再開する際に、セーブ領域5にセーブされているロ
ケーション,ネックストロケーションが図示せぬ命令実
行再開部によりロケーションカウンタ1,ネックストロ
ケーションカウンタ2に設定されて、命令実行が再開さ
れる。
【0033】
【発明の効果】以上詳述したようにこの発明によれば、
遅延分岐型の命令実行パイプライン処理では、割込み発
生時に、次に実行を開始すべき命令の番地であるロケー
ション、およびその命令の次に実行すべき命令の番地で
あるネックスロケーションを含む割込み復帰情報をセー
ブしておき、割込みからの復帰時には、このセーブされ
たロケーションおよびネックストロケーションに従って
処理を再開することに着目し、命令のシングルステップ
実行を行うためのシングルステップモードにおいて、次
にシングルステップ実行すべき命令の番地を新たなロケ
ーション、BPT命令(ブレークポイント割込み発生命
令)の番地を新たなネックストロケーションとして指定
して命令実行を再開させることにより、シングルステッ
プ実行すべき命令の実行後にBPT命令を実行させると
共に、先にセーブされたネックストロケーションを更に
その次にシングルステップ実行すべき命令の番地として
利用できるように保持しておく構成としたので、シング
ルステップ実行すべき命令の列を先頭から順に実行し
て、しかも1命令実行毎にBPT命令により割込みを発
生させることができる。
遅延分岐型の命令実行パイプライン処理では、割込み発
生時に、次に実行を開始すべき命令の番地であるロケー
ション、およびその命令の次に実行すべき命令の番地で
あるネックスロケーションを含む割込み復帰情報をセー
ブしておき、割込みからの復帰時には、このセーブされ
たロケーションおよびネックストロケーションに従って
処理を再開することに着目し、命令のシングルステップ
実行を行うためのシングルステップモードにおいて、次
にシングルステップ実行すべき命令の番地を新たなロケ
ーション、BPT命令(ブレークポイント割込み発生命
令)の番地を新たなネックストロケーションとして指定
して命令実行を再開させることにより、シングルステッ
プ実行すべき命令の実行後にBPT命令を実行させると
共に、先にセーブされたネックストロケーションを更に
その次にシングルステップ実行すべき命令の番地として
利用できるように保持しておく構成としたので、シング
ルステップ実行すべき命令の列を先頭から順に実行し
て、しかも1命令実行毎にBPT命令により割込みを発
生させることができる。
【0034】即ち、この発明によれば、BPT命令を用
いた割込み発生によるシングルステップ実行が命令(コ
ード部)を書換えることなしに行える。またBPT命令
を用いて割込みを発生させるため、他の割込みが発生し
た場合でも問題ない。
いた割込み発生によるシングルステップ実行が命令(コ
ード部)を書換えることなしに行える。またBPT命令
を用いて割込みを発生させるため、他の割込みが発生し
た場合でも問題ない。
【図1】この発明の一実施例に係る遅延分岐型の命令実
行パイプライン処理を適用する情報処理装置の要部のブ
ロック構成図。
行パイプライン処理を適用する情報処理装置の要部のブ
ロック構成図。
1…ロケーションカウンタ(LOC)、2…ネックスト
ロケーションカウンタ(NLOC)、3a…ユーザプロ
グラム領域、3b…BPT命令記憶域、4…割込みハン
ドラ、5…セーブ領域、7…BPT命令番地記憶域(第
3の保持手段)、8…シングルステップ実行再開部(制
御手段)、41…セーブ機構、61…先行シングルステ
ップ実行対象命令番地記憶域(第1の保持手段)、62
…後続シングルステップ実行対象命令番地記憶域(第2
の保持手段)。
ロケーションカウンタ(NLOC)、3a…ユーザプロ
グラム領域、3b…BPT命令記憶域、4…割込みハン
ドラ、5…セーブ領域、7…BPT命令番地記憶域(第
3の保持手段)、8…シングルステップ実行再開部(制
御手段)、41…セーブ機構、61…先行シングルステ
ップ実行対象命令番地記憶域(第1の保持手段)、62
…後続シングルステップ実行対象命令番地記憶域(第2
の保持手段)。
Claims (1)
- 【請求項1】 遅延分岐型の命令実行パイプライン処理
のために、割込み発生時に、次に実行を開始すべき命令
の番地であるロケーション、およびその命令の次に実行
すべき命令の番地であるネックスト(next)ロケー
ションを含む割込み復帰情報をセーブするセーブ手段を
備え、割込みからの復帰時には、前記セーブ手段により
セーブされたロケーションおよびネックストロケーショ
ンに従って処理を再開する情報処理装置において、 シングルステップ実行の対象となる連続する2命令のう
ちの先に実行すべき命令の番地を保持する第1の保持手
段と、 前記シングルステップ実行の対象となる連続する2命令
のうちの後から実行すべき命令の番地を保持する第2の
保持手段と、 ブレークポイント割込み発生命令の番地を予め保持する
第3の保持手段と、 命令のシングルステップ実行を行うためのシングルステ
ップモードでは、前記第1の保持手段に保持されている
番地をロケーション、前記第3の保持手段に保持されて
いる番地をネックストロケーションとして命令実行を行
わせる制御手段であって、前記シングルステップモード
で前記ブレークポイント割込み発生命令が実行され、前
記セーブ手段により前記ロケーションおよびネックスト
ロケーションがセーブされた後に、前記第2の保持手段
に保持されている番地を前記第1の保持手段に移すと共
に、前記セーブ手段によりセーブされた前記ネックスト
ロケーションを前記第2の保持手段に移す制御手段とを
具備し、 前記制御手段は、記第1の保持手段に移した番地を新た
なロケーション、前記第3の保持手段に保持されている
番地を新たなネックストロケーションとして、命令実行
を再開させるようにしたことを特徴とする命令のシング
ルステップ実行方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5031797A JP3029355B2 (ja) | 1993-02-22 | 1993-02-22 | 命令のシングルステップ実行方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5031797A JP3029355B2 (ja) | 1993-02-22 | 1993-02-22 | 命令のシングルステップ実行方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06250878A JPH06250878A (ja) | 1994-09-09 |
JP3029355B2 true JP3029355B2 (ja) | 2000-04-04 |
Family
ID=12341068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5031797A Expired - Fee Related JP3029355B2 (ja) | 1993-02-22 | 1993-02-22 | 命令のシングルステップ実行方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3029355B2 (ja) |
-
1993
- 1993-02-22 JP JP5031797A patent/JP3029355B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH06250878A (ja) | 1994-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2504830Y2 (ja) | デ―タ処理装置 | |
JPH0437927A (ja) | プロセッサの処理方法 | |
JPH1021074A (ja) | 割り込み制御方式、プロセッサ及び計算機システム | |
JPH0728670A (ja) | 情報処理装置 | |
JP2522158B2 (ja) | マルチプロセッサシステムのプログラムデバッグ方法 | |
JPS6250934A (ja) | 処理装置の割込制御方式 | |
JPH0810437B2 (ja) | 仮想計算機システムのゲスト実行制御方式 | |
JP3029355B2 (ja) | 命令のシングルステップ実行方式 | |
JPH1196006A (ja) | 情報処理装置 | |
JP2000029702A (ja) | コンピュ―タ・プロセッサ | |
JPH0384631A (ja) | 情報処理装置及びその制御方法 | |
JPH0250228A (ja) | デバッグ処理装置 | |
JP2765831B2 (ja) | データ処理装置 | |
JP2653411B2 (ja) | ブレークポイント設定方法 | |
JPH03269628A (ja) | 例外処理方式 | |
JPS63247861A (ja) | コプロセツサ制御方法 | |
JPH0554141B2 (ja) | ||
JP3102381B2 (ja) | タスクデバッグ装置、タスクデバッグ方法及びその記録媒体 | |
JPH05313916A (ja) | 電子計算機における割込み処理方法及び電子計算機 | |
JPH0954698A (ja) | データ処理装置及びその割り込み処理方法 | |
JPH07334374A (ja) | 割り込み検出処理装置 | |
JPH04287231A (ja) | マイクロプロセッサ | |
JP2001125804A (ja) | 割り込み処理制御装置および方法 | |
JPH01240941A (ja) | 情報処理装置 | |
JPS61210440A (ja) | レベルトレ−ス装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080204 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090204 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |