JP2674873B2 - プログラム開発支援装置のステップ実行動作方法 - Google Patents
プログラム開発支援装置のステップ実行動作方法Info
- Publication number
- JP2674873B2 JP2674873B2 JP2297476A JP29747690A JP2674873B2 JP 2674873 B2 JP2674873 B2 JP 2674873B2 JP 2297476 A JP2297476 A JP 2297476A JP 29747690 A JP29747690 A JP 29747690A JP 2674873 B2 JP2674873 B2 JP 2674873B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- transfer
- register
- register value
- storage area
- 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 - Lifetime
Links
Landscapes
- Debugging And Monitoring (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、並列処理を行なうマイクロプロセッサのプ
ログラム開発支援装置における演算命令と転送命令との
ステップ実行動作方法に関する。
ログラム開発支援装置における演算命令と転送命令との
ステップ実行動作方法に関する。
一般にプログラム開発支援装置の一例の構成を第3図
のブロック図に示す。プログラム開発支援装置11は、ホ
ストコンピュータ5とホストインターフェース4を通じ
て接続されており、マイクロコンピュータプログラム開
発支援装置の制御プログラム13で制御されている。開発
対象CPU2は、CPUコントロール部3によりCPUコントロー
ル信号8を介して制御されており、エミュレーションメ
モリ1の命令をメモリデータバス7を介して読出し、1
命令づつ実行または連続して実行する。この実行終了
後、ホストコンピュータ5は、対象CPU2のレジスタの値
をCPU、ホストインターフェース間のデータバス9、ホ
ストインターフェース4、ホストインターフェース、ホ
ストコンピュータ間データバス信号10を通じて読出し、
ホストコンピュータのメモリ上にある所定のレジスタ値
格納領域12に格納する。また、ホストコンピュータ5は
エミュレーションメモリ1の内容も読み書きできる。プ
ログラム開発支援装置の制御プログラム13は格納された
レジスタ値を表示画面14の上に表示する。
のブロック図に示す。プログラム開発支援装置11は、ホ
ストコンピュータ5とホストインターフェース4を通じ
て接続されており、マイクロコンピュータプログラム開
発支援装置の制御プログラム13で制御されている。開発
対象CPU2は、CPUコントロール部3によりCPUコントロー
ル信号8を介して制御されており、エミュレーションメ
モリ1の命令をメモリデータバス7を介して読出し、1
命令づつ実行または連続して実行する。この実行終了
後、ホストコンピュータ5は、対象CPU2のレジスタの値
をCPU、ホストインターフェース間のデータバス9、ホ
ストインターフェース4、ホストインターフェース、ホ
ストコンピュータ間データバス信号10を通じて読出し、
ホストコンピュータのメモリ上にある所定のレジスタ値
格納領域12に格納する。また、ホストコンピュータ5は
エミュレーションメモリ1の内容も読み書きできる。プ
ログラム開発支援装置の制御プログラム13は格納された
レジスタ値を表示画面14の上に表示する。
第4図はホストコンピュータ5のメモリ領域に割り当
てられているレジスタ値格納領域へレジスタ値を格納す
る処理の流れ図である。ホストコンピューター5は、各
レジスタの値を格納するレジスタ値格納領域12をメモリ
上に確保している。対象CPU2が命令を実行終了すると、
ホストコンピュータ5は各レジスタの値を所定のホスト
コンピュータ上のレジスタ値格納領域12へ転送する(3
1)。例えば、演算命令の演算結果はレジスタ値格納領
域A34、転送命令の転送先レジスタ値はレジスタ格納領
域B35に転送されるものとする。ホストコンピュータ5
はレジスタ値格納領域に格納されているレジスタ値をホ
ストコンピュータの表示画面に表示する(32)。
てられているレジスタ値格納領域へレジスタ値を格納す
る処理の流れ図である。ホストコンピューター5は、各
レジスタの値を格納するレジスタ値格納領域12をメモリ
上に確保している。対象CPU2が命令を実行終了すると、
ホストコンピュータ5は各レジスタの値を所定のホスト
コンピュータ上のレジスタ値格納領域12へ転送する(3
1)。例えば、演算命令の演算結果はレジスタ値格納領
域A34、転送命令の転送先レジスタ値はレジスタ格納領
域B35に転送されるものとする。ホストコンピュータ5
はレジスタ値格納領域に格納されているレジスタ値をホ
ストコンピュータの表示画面に表示する(32)。
プログラム開発支援装置11の対象CPUは、エミュレー
ションメモリ1の命令を実行していない時は疑似的にプ
ログラムカウンタを止める定常状態となっている。これ
によりホストコンピュータ5から対象CPU2内部のレジス
タ値を読出すことができるようになる。
ションメモリ1の命令を実行していない時は疑似的にプ
ログラムカウンタを止める定常状態となっている。これ
によりホストコンピュータ5から対象CPU2内部のレジス
タ値を読出すことができるようになる。
定常状態となる方法として、例えばジャンプ命令が書
かれているアドレスへジャンプする命令(以下JMP$命
令という)を実行する手法がある。しかし、この定常状
態中にCPUは動作を止めているわけではないので、定常
状態になる前に実行した命令の結果は所定のレジスタに
得られることになる。
かれているアドレスへジャンプする命令(以下JMP$命
令という)を実行する手法がある。しかし、この定常状
態中にCPUは動作を止めているわけではないので、定常
状態になる前に実行した命令の結果は所定のレジスタに
得られることになる。
ホストコンピュータ5からステップ実行動作の要求が
あった場合、対象CPU2は定常状態を抜けてエミュレーシ
ョンメモリ1の1命令を実行した後、再び定常状態の戻
る。そして定常状態中にホストコンピュータ5は、対象
CPU2のレジスタ値を読出し、所定のレジスタ値格納領域
に格納する。この読出したレジスタ値は、ステップ動作
を行なう時には対象CPU2に書き戻しておく。これにより
データの連続性が保たれることになる。
あった場合、対象CPU2は定常状態を抜けてエミュレーシ
ョンメモリ1の1命令を実行した後、再び定常状態の戻
る。そして定常状態中にホストコンピュータ5は、対象
CPU2のレジスタ値を読出し、所定のレジスタ値格納領域
に格納する。この読出したレジスタ値は、ステップ動作
を行なう時には対象CPU2に書き戻しておく。これにより
データの連続性が保たれることになる。
並列処理を行うマイクロプロセッサにおいて、演算命
令の次のアドレスに、この演算命令の演算結果を格納す
るレジスタを転送元レジスタとする転送命令を記述した
時の連続実行時のタイミング図を第5図に示す。ここ
で、T11の演算結果が得られるまでに3クロックかか
る。従って、演算命令の結果が格納されるレジスタを転
送元とするT13の転送命令がT11の演算命令のすぐ後に実
行された場合、T13の転送命令で転送する値は前述のレ
ジスタの元と値となり演算結果を転送しないことにな
る。
令の次のアドレスに、この演算命令の演算結果を格納す
るレジスタを転送元レジスタとする転送命令を記述した
時の連続実行時のタイミング図を第5図に示す。ここ
で、T11の演算結果が得られるまでに3クロックかか
る。従って、演算命令の結果が格納されるレジスタを転
送元とするT13の転送命令がT11の演算命令のすぐ後に実
行された場合、T13の転送命令で転送する値は前述のレ
ジスタの元と値となり演算結果を転送しないことにな
る。
このような演算命令と転送命令とをステップ実行した
場合の動作を、第6図を用いて説明する。演算命令をT
21でステップ実行した後、対象CPU2は定常状態となる。
このため演算命令のT22における演算結果は定常状態の
期間に得られる。この結果を含めてレジスタの値はレジ
スタ値格納領域12に格納される。次に、T23の転送命令
をステップ実行する。しかし、この時転送元レジスタに
はすでに前述したように演算結果が得られているので、
転送するレジスタ値は連続実行した場合とで異なること
になる。つまり、このような命令をステップ実行した場
合には表示画面には正しくないレジスタ値が表示される
ことになる。
場合の動作を、第6図を用いて説明する。演算命令をT
21でステップ実行した後、対象CPU2は定常状態となる。
このため演算命令のT22における演算結果は定常状態の
期間に得られる。この結果を含めてレジスタの値はレジ
スタ値格納領域12に格納される。次に、T23の転送命令
をステップ実行する。しかし、この時転送元レジスタに
はすでに前述したように演算結果が得られているので、
転送するレジスタ値は連続実行した場合とで異なること
になる。つまり、このような命令をステップ実行した場
合には表示画面には正しくないレジスタ値が表示される
ことになる。
上述したように並列処理を行なうマイクロプロセッサ
のプログラム開発支援装置において、演算命令と転送命
令とを連続実行した場合と、ステップ実行した場合とで
実行結果が異なってしまうという問題点がある。
のプログラム開発支援装置において、演算命令と転送命
令とを連続実行した場合と、ステップ実行した場合とで
実行結果が異なってしまうという問題点がある。
本発明の目的は、このような問題を解決し、ステップ
実行の場合も連続実行の場合とその実行結果が一致する
ようにしたプログラム開発支援装置のステップ実行動作
方法を提供することにある。
実行の場合も連続実行の場合とその実行結果が一致する
ようにしたプログラム開発支援装置のステップ実行動作
方法を提供することにある。
本発明の構成は、演算命令の次のアドレスに転送命令
を記述した場合にその演算命令が実行終了する前に前記
転送命令の実行が終了する並列処理を行うマイクロプロ
セッサのプログラム開発支援装置で、一命令づつ実行す
る命令のレジスタ値をホストコンピュータのメモリのレ
ジスタ値格納領域に格納して内部レジスタの動きを検証
していくステップ実行動作方法において、前記ステップ
実行動作の対象となる命令に演算命令が含まれているか
否かを判断し、その演算命令が含まれた場合に演算結果
が所定のレジスタに格納され、転送命令により前記レジ
スタを転送元として使用できるようになる以前に前記レ
ジスタが転送命令の転送元として指定されているか否か
を判断し、前記転送命令で転送元として指定されている
場合にその転送命令を何も実行動作しない命令(以下NO
P命令という)とし、前記転送命令の転送元のレジスタ
値を予めホストコンピュータのレジスタ値退避領域に格
納してその演算命令だけを行ない結果を得、この演算結
果を前記レジスタ値格納領域に格納し、次のステップ実
行動作においてNOP命令があった場合このNOP命令が前記
転送命令から変更されたものか否かを判断し、その転送
命令の転送元レジスタの値は予め前記レジスタ値退避領
域に格納されていた値を用いてこの値を前記レジスタ値
格納の転送先レジスタに相当する領域に格納するように
したことを特徴とする。
を記述した場合にその演算命令が実行終了する前に前記
転送命令の実行が終了する並列処理を行うマイクロプロ
セッサのプログラム開発支援装置で、一命令づつ実行す
る命令のレジスタ値をホストコンピュータのメモリのレ
ジスタ値格納領域に格納して内部レジスタの動きを検証
していくステップ実行動作方法において、前記ステップ
実行動作の対象となる命令に演算命令が含まれているか
否かを判断し、その演算命令が含まれた場合に演算結果
が所定のレジスタに格納され、転送命令により前記レジ
スタを転送元として使用できるようになる以前に前記レ
ジスタが転送命令の転送元として指定されているか否か
を判断し、前記転送命令で転送元として指定されている
場合にその転送命令を何も実行動作しない命令(以下NO
P命令という)とし、前記転送命令の転送元のレジスタ
値を予めホストコンピュータのレジスタ値退避領域に格
納してその演算命令だけを行ない結果を得、この演算結
果を前記レジスタ値格納領域に格納し、次のステップ実
行動作においてNOP命令があった場合このNOP命令が前記
転送命令から変更されたものか否かを判断し、その転送
命令の転送元レジスタの値は予め前記レジスタ値退避領
域に格納されていた値を用いてこの値を前記レジスタ値
格納の転送先レジスタに相当する領域に格納するように
したことを特徴とする。
次に本発明について図面を参照して説明する。
第1図は本発明の一実施例の演算命令と転送命令のス
テップ実行時のフローチャート、第4図はホストコンピ
ュータのメモリ構成およびレジスタ値格納領域へレジス
タ値を格納する流れ図を示す対象CPU2内の演算命令の演
算結果が格納されるレジスタはreg Aとし、転送命令の
転送先の値が格納されるレジスタはreg Bと表すものと
し、これらのレジスタの値はホストコンピュータ5内の
レジスタ値格納領域12内のレジスタ値格納領域A(34)
にreg Aの値、レジスタ値格納領域B(35)にreg Bの値
がそれぞれ格納されるものとする。
テップ実行時のフローチャート、第4図はホストコンピ
ュータのメモリ構成およびレジスタ値格納領域へレジス
タ値を格納する流れ図を示す対象CPU2内の演算命令の演
算結果が格納されるレジスタはreg Aとし、転送命令の
転送先の値が格納されるレジスタはreg Bと表すものと
し、これらのレジスタの値はホストコンピュータ5内の
レジスタ値格納領域12内のレジスタ値格納領域A(34)
にreg Aの値、レジスタ値格納領域B(35)にreg Bの値
がそれぞれ格納されるものとする。
第2図は本発明の演算命令と転送命令の並列処理のス
テップ実行動作のタイミング図である。まず、ステップ
20でホストコンピュータ5はステップ実行すべき命令を
エミュレーションメモリ1から読出し、その中に演算命
令があるかどうかを判定する。ここで演算命令があった
場合、ステップ21で次に実行する命令が転送命令で演算
命令の演算結果が格納されるレジスタを転送元としてい
るかをチェックし、転送元として指定している転送命令
だった場合は、ステップ22で転送命令をNOP命令に変更
する。この時NOP命令に転送命令を変更したことを示す
“1"、変更しなかったことを示す“0"をホストコンピュ
ータのメモリ領域内のフラグ36を書き込む。次に、ステ
ップ23でレジスタ値格納領域A34内の転送元のレジスタ
値を別のメモリ領域であるレジスタ値退避領域33にあら
かじめ待避しておき、ここまでは定常状態の期間に行な
う。次に、ステップ24で対象CPUは演算命令を実行し、
再び定常状態になる。
テップ実行動作のタイミング図である。まず、ステップ
20でホストコンピュータ5はステップ実行すべき命令を
エミュレーションメモリ1から読出し、その中に演算命
令があるかどうかを判定する。ここで演算命令があった
場合、ステップ21で次に実行する命令が転送命令で演算
命令の演算結果が格納されるレジスタを転送元としてい
るかをチェックし、転送元として指定している転送命令
だった場合は、ステップ22で転送命令をNOP命令に変更
する。この時NOP命令に転送命令を変更したことを示す
“1"、変更しなかったことを示す“0"をホストコンピュ
ータのメモリ領域内のフラグ36を書き込む。次に、ステ
ップ23でレジスタ値格納領域A34内の転送元のレジスタ
値を別のメモリ領域であるレジスタ値退避領域33にあら
かじめ待避しておき、ここまでは定常状態の期間に行な
う。次に、ステップ24で対象CPUは演算命令を実行し、
再び定常状態になる。
ここで第2図に示すようにT1で演算命令を行った後、
T2でその演算結果が得られるのは定常状態期間中であ
る。次に、ステップ26でホストコンピュータは演算結果
が得られた対象CPU内部のレジスタreg Aの値を対象CPU2
から読み出し、レジスタ値格納領域12のレジスタ値格納
領域A(34)へ格納する。次いでステップ実行動作でNO
P命令があった場合、ステップ27で転送命令から代えら
れたものかを前述のフラグ36で判断し、転送命令の代わ
りに書き換えられたNOP命令の場合、ステップ28で対象C
PUはT3のNOP命令を実行し再び定常状態になる。この
後、ステップ29でホストコンピュータはあらかじめレジ
スタ値退避領域33に待避しておいて転送すべきレジスタ
値を転送先のレジスタreg Bの格納されるべきレジスタ
値格納領域12内のレジスタ値格納領域B(35)へ転送す
る。
T2でその演算結果が得られるのは定常状態期間中であ
る。次に、ステップ26でホストコンピュータは演算結果
が得られた対象CPU内部のレジスタreg Aの値を対象CPU2
から読み出し、レジスタ値格納領域12のレジスタ値格納
領域A(34)へ格納する。次いでステップ実行動作でNO
P命令があった場合、ステップ27で転送命令から代えら
れたものかを前述のフラグ36で判断し、転送命令の代わ
りに書き換えられたNOP命令の場合、ステップ28で対象C
PUはT3のNOP命令を実行し再び定常状態になる。この
後、ステップ29でホストコンピュータはあらかじめレジ
スタ値退避領域33に待避しておいて転送すべきレジスタ
値を転送先のレジスタreg Bの格納されるべきレジスタ
値格納領域12内のレジスタ値格納領域B(35)へ転送す
る。
このことにより、レジスタ値格納領域12の転送命令の
転送先レジスタには、演算命令の演算結果が得られる前
のレジスタ値が得られることになり、あたかも正しくス
テップ実行動作をしたように見せることができる。
転送先レジスタには、演算命令の演算結果が得られる前
のレジスタ値が得られることになり、あたかも正しくス
テップ実行動作をしたように見せることができる。
以上説明したように本発明によれば、並列処理を行な
うマイクロプロセッサのプログラム開発支援装置におい
て演算命令と転送命令のステップ実行動作が、連続して
実行させたときと同じ結果が正しく得られるという効果
がある。
うマイクロプロセッサのプログラム開発支援装置におい
て演算命令と転送命令のステップ実行動作が、連続して
実行させたときと同じ結果が正しく得られるという効果
がある。
第1図は本発明の一実施例の演算命令と転送命令のステ
ップ実行を説明するフローチャート、第2図は本実施例
の演算命令と転送命令の並列処理のステップ実行動作の
タイミング図、第3図は一般のプログラム開発支援装置
の一例のブロック図、第4図はホストコンピュータのメ
モリ構成およびレジスタ値格納領域へレジスタ値を格納
する流れ図、第5図は第4図の演算命令と転送命令の並
列処理のタイミングチャート図、第6図は従来の演算命
令と転送命令の並列処理のステップ実行動作のタイミン
グチャート図である。 1……エミュレーションメモリ、2……対象CPU、3…
…CPUコントロール部、4……ホストインターフェー
ス、5……ホストコンピュータ、6……メモリ制御信
号、7……メモリのアドレス,データバス、8……CPU
コントロール信号、9,10……データバス信号、11……プ
ログラム開発支援装置、12……レジスタ値格納領域、13
……制御プログラム、14……表示画面、20〜29……処理
ステップ。
ップ実行を説明するフローチャート、第2図は本実施例
の演算命令と転送命令の並列処理のステップ実行動作の
タイミング図、第3図は一般のプログラム開発支援装置
の一例のブロック図、第4図はホストコンピュータのメ
モリ構成およびレジスタ値格納領域へレジスタ値を格納
する流れ図、第5図は第4図の演算命令と転送命令の並
列処理のタイミングチャート図、第6図は従来の演算命
令と転送命令の並列処理のステップ実行動作のタイミン
グチャート図である。 1……エミュレーションメモリ、2……対象CPU、3…
…CPUコントロール部、4……ホストインターフェー
ス、5……ホストコンピュータ、6……メモリ制御信
号、7……メモリのアドレス,データバス、8……CPU
コントロール信号、9,10……データバス信号、11……プ
ログラム開発支援装置、12……レジスタ値格納領域、13
……制御プログラム、14……表示画面、20〜29……処理
ステップ。
Claims (1)
- 【請求項1】演算命令の次のアドレスに転送命令を記述
した場合にその演算命令が実行終了する前に前記転送命
令の実行が終了する並列処理を行うマイクロプロセッサ
のプログラム開発支援装置で、一命令づつ実行する命令
のレジスタ値をホストコンピュータのメモリのレジスタ
値格納領域に格納して内部レジスタの動きを検証してい
くステップ実行動作方法において、前記ステップ実行動
作の対象となる命令に演算命令が含まれているか否かを
判断し、その演算命令が含まれた場合に演算結果が所定
のレジスタに格納され、転送命令により前記レジスタを
転送元として使用できるようになる以前に前記レジスタ
が転送命令の転送元として指定されているか否かを判断
し、前記転送命令で転送元として指定されている場合に
その転送命令を何も実行動作しない命令(以下NOP命令
という)とし、前記転送命令の転送元のレジスタ値を予
めホストコンピュータのレジスタ値退避領域に格納して
その演算命令だけを行ない結果を得、この演算結果を前
記レジスタ値格納領域に格納し、次のステップ実行動作
においてNOP命令があった場合このNOP命令が前記転送命
令から変更されたものか否かを判断し、その転送命令の
転送元レジスタの値は予め前記レジスタ値退避領域に格
納されていた値を用いてこの値を前記レジスタ値格納領
域の転送先レジスタに相当する領域に格納するようにし
たことを特徴とするプログラム開発支援装置のステップ
実行動作方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2297476A JP2674873B2 (ja) | 1990-11-02 | 1990-11-02 | プログラム開発支援装置のステップ実行動作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2297476A JP2674873B2 (ja) | 1990-11-02 | 1990-11-02 | プログラム開発支援装置のステップ実行動作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04174034A JPH04174034A (ja) | 1992-06-22 |
JP2674873B2 true JP2674873B2 (ja) | 1997-11-12 |
Family
ID=17846994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2297476A Expired - Lifetime JP2674873B2 (ja) | 1990-11-02 | 1990-11-02 | プログラム開発支援装置のステップ実行動作方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2674873B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007058731A (ja) * | 2005-08-26 | 2007-03-08 | Matsushita Electric Ind Co Ltd | プロセッサ、及び並列命令実行対応デバッグ装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62119663A (ja) * | 1985-11-20 | 1987-05-30 | Fujitsu Ltd | 情報処理装置 |
-
1990
- 1990-11-02 JP JP2297476A patent/JP2674873B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH04174034A (ja) | 1992-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH04306735A (ja) | 非同期割込み禁止機構 | |
JPS63279328A (ja) | 仮想計算機システムのゲスト実行制御方式 | |
JP2674873B2 (ja) | プログラム開発支援装置のステップ実行動作方法 | |
JP2003508864A (ja) | スレッド志向デバッギング | |
JPH0916409A (ja) | マイクロコンピュータ | |
JPH01125633A (ja) | マルチプロセッサシステムのデバッグ法 | |
JP2551139B2 (ja) | 情報処理装置 | |
JPH0795288B2 (ja) | マイクロコンピュータ | |
JP3719241B2 (ja) | 演算装置 | |
JPS62125437A (ja) | 付加プロセツサの制御方法 | |
JPS63271542A (ja) | Romデバツガ | |
JPH06348543A (ja) | 入出力シミュレータとの接続方法 | |
JPH0234058B2 (ja) | ||
JPH01253044A (ja) | 入出力制御装置 | |
JPH0772908A (ja) | プログラマブルコントローラ | |
JPH04167146A (ja) | 情報処理装置のアドレストレース方式 | |
JPH03252731A (ja) | マイクロプロセッサ | |
JPH05250212A (ja) | 情報処理装置 | |
JPS62282327A (ja) | 情報処理装置 | |
JPS6222163A (ja) | 情報処理装置 | |
JPS61241843A (ja) | 情報処理装置 | |
JPS63305449A (ja) | マイクロプロセツサシステム | |
JPH0772874B2 (ja) | 割込み受取り装置 | |
JPS63282528A (ja) | 中央処理装置実行命令の検出方式 | |
JPS6349941A (ja) | 演算処理装置 |