JPH04306743A - 集積回路マイクロプロセッサのデバッグ支援システム - Google Patents
集積回路マイクロプロセッサのデバッグ支援システムInfo
- Publication number
- JPH04306743A JPH04306743A JP3071300A JP7130091A JPH04306743A JP H04306743 A JPH04306743 A JP H04306743A JP 3071300 A JP3071300 A JP 3071300A JP 7130091 A JP7130091 A JP 7130091A JP H04306743 A JPH04306743 A JP H04306743A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- break
- decoding
- machine language
- operation code
- 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
- 230000000694 effects Effects 0.000 claims abstract description 3
- 239000000872 buffer Substances 0.000 description 10
- 238000000034 method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 101000969594 Homo sapiens Modulator of apoptosis 1 Proteins 0.000 description 1
- -1 MA P2 Proteins 0.000 description 1
- 102100021440 Modulator of apoptosis 1 Human genes 0.000 description 1
- 101100131116 Oryza sativa subsp. japonica MPK3 gene Proteins 0.000 description 1
- 101100456045 Schizosaccharomyces pombe (strain 972 / ATCC 24843) map3 gene Proteins 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は、集積回路マイクロプロ
セッサにおけるプログラム開発を支援するためのデバッ
グ支援ハードウエアに関するものである。
セッサにおけるプログラム開発を支援するためのデバッ
グ支援ハードウエアに関するものである。
【0002】
【従来の技術】集積回路マイクロプロセッサ用のプログ
ラムを開発する場合、ソフトウエア単独、あるいはハー
ドウエアおよびソフトウエアの共同によるデバッガと呼
ばれるデバッグ支援システムが使用されることが多い。 特に、マイクロプロセッサ応用システムを開発する途上
では、ソフトウエアのみからなる所謂ソフトウエア・デ
バッガでは対処できない場合が多いので、ハードウエア
を使用したデバッグ支援システムが採用されるのが現状
である。
ラムを開発する場合、ソフトウエア単独、あるいはハー
ドウエアおよびソフトウエアの共同によるデバッガと呼
ばれるデバッグ支援システムが使用されることが多い。 特に、マイクロプロセッサ応用システムを開発する途上
では、ソフトウエアのみからなる所謂ソフトウエア・デ
バッガでは対処できない場合が多いので、ハードウエア
を使用したデバッグ支援システムが採用されるのが現状
である。
【0003】このハードウエアを使用したデバッグ支援
システムは、エミュレータあるいはイン・サーキット・
エミュレータと呼ばれ、数々の形態で実用化されている
。これらのデバッグ支援システムに備わっている一般的
な機能としてブレークと呼ばれるものがある。ブレーク
とは、デバッグ対象のプログラムの実行途中において、
その実行を一旦打切り、制御をデバッグ・プログラムに
移行させる機能である。デバッグ・プログラムの実行に
よって、実行途中のレジスタおよびメモリの内容、まは
たそれまでの実行履歴を調べることが可能である。
システムは、エミュレータあるいはイン・サーキット・
エミュレータと呼ばれ、数々の形態で実用化されている
。これらのデバッグ支援システムに備わっている一般的
な機能としてブレークと呼ばれるものがある。ブレーク
とは、デバッグ対象のプログラムの実行途中において、
その実行を一旦打切り、制御をデバッグ・プログラムに
移行させる機能である。デバッグ・プログラムの実行に
よって、実行途中のレジスタおよびメモリの内容、まは
たそれまでの実行履歴を調べることが可能である。
【0004】このブレークを外部ハードウエアによって
行う場合には、マイクロプロセッサが出力するアドレス
を検査して、ブレークの対象となるアドレスが出力され
た場合に、マイクロプロセッサに割り込みを掛ける方法
、あるいは、ブレークの対象となるアドレスが出力され
た場合にマイクロプロセッサがフェッチを行おうとする
命令をハードウエアでオーバライドする方法等が採用さ
れている。しかし、アドレスを検出して割り込みを掛け
る方法では、内部で高度にパイプライン化されたマイク
ロプセッサの場合には、外部でアドレスを検出した時点
ではマイクロプロセッサ内部の実行は遙に先行している
ので、意図した時点で実行を中断できない場合がある。 また、後者のフェッチを行おうとする命令をオーバライ
ドする方法では、命令の先頭番地が明らかになっている
場合には問題はないが、それ以外の場合には、誤動作を
引き起こすおそれがある。かかる誤動作を回避するため
には、マイクロプロセッサ内の命令デコーダに匹敵する
命令解釈回路を外部に設けて命令ストリームを観測せざ
るを得ず、このようにするとハードウエア量が非常に大
きくなってしまう。さらに、マイクロプロセッサがキャ
ッシュ・システム等を内蔵している場合には、いずれの
方法を採用しても、目標とする実行段階でブレークを掛
けることが更に困難になる。
行う場合には、マイクロプロセッサが出力するアドレス
を検査して、ブレークの対象となるアドレスが出力され
た場合に、マイクロプロセッサに割り込みを掛ける方法
、あるいは、ブレークの対象となるアドレスが出力され
た場合にマイクロプロセッサがフェッチを行おうとする
命令をハードウエアでオーバライドする方法等が採用さ
れている。しかし、アドレスを検出して割り込みを掛け
る方法では、内部で高度にパイプライン化されたマイク
ロプセッサの場合には、外部でアドレスを検出した時点
ではマイクロプロセッサ内部の実行は遙に先行している
ので、意図した時点で実行を中断できない場合がある。 また、後者のフェッチを行おうとする命令をオーバライ
ドする方法では、命令の先頭番地が明らかになっている
場合には問題はないが、それ以外の場合には、誤動作を
引き起こすおそれがある。かかる誤動作を回避するため
には、マイクロプロセッサ内の命令デコーダに匹敵する
命令解釈回路を外部に設けて命令ストリームを観測せざ
るを得ず、このようにするとハードウエア量が非常に大
きくなってしまう。さらに、マイクロプロセッサがキャ
ッシュ・システム等を内蔵している場合には、いずれの
方法を採用しても、目標とする実行段階でブレークを掛
けることが更に困難になる。
【0005】そこで、ブレークを掛けるためのハードウ
エアをマイクロプロセッサの内部に取り込むことが考え
られている。このようにすると、内部のタイミング信号
を利用できるので、高度にパイプライン化されたマイク
ロプロセッサ、キャッシュ・システムなどを内蔵したマ
イクロプロセッサにおいても、適切な内部信号を利用し
て意図した時点で実行を中断することが可能である。
エアをマイクロプロセッサの内部に取り込むことが考え
られている。このようにすると、内部のタイミング信号
を利用できるので、高度にパイプライン化されたマイク
ロプロセッサ、キャッシュ・システムなどを内蔵したマ
イクロプロセッサにおいても、適切な内部信号を利用し
て意図した時点で実行を中断することが可能である。
【0006】いずれにせよ、一般的に利用されているデ
バッグ支援システムは、そのためのハードウエアがマイ
クロプロセッサの内外のいずれに取付けられている場合
においても、アドレス出力を監視して、特定のアドレス
出力を検出した時点でブレークを掛けるという基本的動
作は同一である。
バッグ支援システムは、そのためのハードウエアがマイ
クロプロセッサの内外のいずれに取付けられている場合
においても、アドレス出力を監視して、特定のアドレス
出力を検出した時点でブレークを掛けるという基本的動
作は同一である。
【0007】
【発明が解決しようとする課題】本発明の課題は、アド
レスを検出することなく、意図する時点でデバッグ用の
ブレークを掛けることの可能なデバッグ支援システムを
実現することにある。
レスを検出することなく、意図する時点でデバッグ用の
ブレークを掛けることの可能なデバッグ支援システムを
実現することにある。
【0008】
【課題を解決するための手段】本発明による集積回路マ
イクロプロセッサのデバッグ支援システムは、機械語命
令をフェッチする命令フェッチ装置と、この命令フェッ
チ装置によってフェッチされた機械語命令を解読する命
令デコード装置と、命令フェッチ装置によってフェッチ
された機械語命令を受け取り、この機械語命令のオペレ
ーション・コードが予め設定されている特定のオペレー
ション・コードであるか否かを識別し、特定のオペレー
ション・コードである場合には、命令デコード装置に対
してその旨を通報する命令認識装置と、命令デコード装
置のデコード結果を実行する命令実行装置とを有してお
り、命令デコード装置は、命令認識装置から通報を受け
取った場合には、この命令フェッチ装置によってフェッ
チされた機械語命令のデコード動作を中断して、ブレー
クを指示する予め定義済みのデコード結果を生成し、命
令実行装置に供給するようになっている。
イクロプロセッサのデバッグ支援システムは、機械語命
令をフェッチする命令フェッチ装置と、この命令フェッ
チ装置によってフェッチされた機械語命令を解読する命
令デコード装置と、命令フェッチ装置によってフェッチ
された機械語命令を受け取り、この機械語命令のオペレ
ーション・コードが予め設定されている特定のオペレー
ション・コードであるか否かを識別し、特定のオペレー
ション・コードである場合には、命令デコード装置に対
してその旨を通報する命令認識装置と、命令デコード装
置のデコード結果を実行する命令実行装置とを有してお
り、命令デコード装置は、命令認識装置から通報を受け
取った場合には、この命令フェッチ装置によってフェッ
チされた機械語命令のデコード動作を中断して、ブレー
クを指示する予め定義済みのデコード結果を生成し、命
令実行装置に供給するようになっている。
【0009】ここに、命令実行装置がブレークを受け付
けて、デバッグ動作を行っている間は、ブレークが発生
することのないように、命令認識装置の動作を制御する
ことが望ましい。
けて、デバッグ動作を行っている間は、ブレークが発生
することのないように、命令認識装置の動作を制御する
ことが望ましい。
【0010】
【実施例】以下に、図面を参照して本発明の実施例を説
明する。
明する。
【0011】図1には、本発明の一実施例の主要構成部
分のブロック図を示してある。本例は、CMOS集積回
路上に実現されたマイクロプロセッサに対して本発明の
デバッグ支援システムを適用した例である。主記憶装置
1に格納されている機械語命令群は、順次に、16ビッ
ト幅の外部データ・バス2を介して命令フェッチ装置3
によってフェッチされる。フェッチされた機械語命令は
、命令デコード装置4に転送されて、ここで、解読され
て、命令実行装置5が実行可能な形式に変換される。 変換後の命令は命令実行装置5に転送され、ここにおい
て実行される。
分のブロック図を示してある。本例は、CMOS集積回
路上に実現されたマイクロプロセッサに対して本発明の
デバッグ支援システムを適用した例である。主記憶装置
1に格納されている機械語命令群は、順次に、16ビッ
ト幅の外部データ・バス2を介して命令フェッチ装置3
によってフェッチされる。フェッチされた機械語命令は
、命令デコード装置4に転送されて、ここで、解読され
て、命令実行装置5が実行可能な形式に変換される。 変換後の命令は命令実行装置5に転送され、ここにおい
て実行される。
【0012】6は命令認識装置であり、命令フェッチ装
置3から命令デコード装置4に転送される機械語命令が
、この命令認識装置に対しても転送される。命令認識装
置6においては、転送されてきた機械語命令を検査して
、それが、ブレークを発生させるべき特定のオペレーシ
ョン・コードを有しているか否かを判別する。特定のオ
ペレーション・コードであることを判別した場合には、
ブレーク指示信号S6を命令デコード装置4に対して出
力する。命令デコード装置4においては、このブレーク
指示信号S6を受け取ると、通常の命令デコード動作を
放棄して、ブレークを指示する予め定義済みのデコード
結果を生成し、これを命令実行装置5に転送する。 命令実行装置5では、このブレーク動作命令を受け取る
と、ブレーク動作を開始すると共に、ブレーク受付信号
S5を命令認識装置6に対して出力する。このブレーク
受付信号S5を受け取ると、命令認識装置6は命令認識
動作を中断する。すなわち、フェッチされた機械語命令
がブレークを発生させるべき特定のオペレーション・コ
ードであるか否かの判別動作を中断する。本例において
、命令認識装置6は32ビット幅の制御レジスタを内蔵
しており、このレジスタ内に、ブレーク動作の開始、再
開、および認識すべき機械語命令に関する情報がそれぞ
れ格納可能となっている。また、本例では命令認識装置
6と命令実行装置5とが32ビット幅の内部データ・バ
ス7で結合されており、命令認識装置6内の制御レジス
タの内容を、命令実行装置5において実行される命令に
よって読み書き可能となっている。
置3から命令デコード装置4に転送される機械語命令が
、この命令認識装置に対しても転送される。命令認識装
置6においては、転送されてきた機械語命令を検査して
、それが、ブレークを発生させるべき特定のオペレーシ
ョン・コードを有しているか否かを判別する。特定のオ
ペレーション・コードであることを判別した場合には、
ブレーク指示信号S6を命令デコード装置4に対して出
力する。命令デコード装置4においては、このブレーク
指示信号S6を受け取ると、通常の命令デコード動作を
放棄して、ブレークを指示する予め定義済みのデコード
結果を生成し、これを命令実行装置5に転送する。 命令実行装置5では、このブレーク動作命令を受け取る
と、ブレーク動作を開始すると共に、ブレーク受付信号
S5を命令認識装置6に対して出力する。このブレーク
受付信号S5を受け取ると、命令認識装置6は命令認識
動作を中断する。すなわち、フェッチされた機械語命令
がブレークを発生させるべき特定のオペレーション・コ
ードであるか否かの判別動作を中断する。本例において
、命令認識装置6は32ビット幅の制御レジスタを内蔵
しており、このレジスタ内に、ブレーク動作の開始、再
開、および認識すべき機械語命令に関する情報がそれぞ
れ格納可能となっている。また、本例では命令認識装置
6と命令実行装置5とが32ビット幅の内部データ・バ
ス7で結合されており、命令認識装置6内の制御レジス
タの内容を、命令実行装置5において実行される命令に
よって読み書き可能となっている。
【0013】図2には、上記の命令フェッチ装置3、命
令デコード装置4および命令認識装置6の接続部分の詳
細を示してある。図に示すように、命令フェッチ装置3
はコード・バッファ31および入力セレクタ32を備え
ている。コード・バッファ31は2組の16ビット・バ
ッファから構成されており、16ビット幅の外部データ
・バス2から外部バス・インターフェース(図示せず)
を介して32ビットに整列された機械語命令を格納する
。入力セレクタ32は、コード・バッファ31を構成す
る16ビットバッファのうちのいずれに格納されている
機械語命令を転送するのかを選択するためのマルチプレ
クサ回路である。
令デコード装置4および命令認識装置6の接続部分の詳
細を示してある。図に示すように、命令フェッチ装置3
はコード・バッファ31および入力セレクタ32を備え
ている。コード・バッファ31は2組の16ビット・バ
ッファから構成されており、16ビット幅の外部データ
・バス2から外部バス・インターフェース(図示せず)
を介して32ビットに整列された機械語命令を格納する
。入力セレクタ32は、コード・バッファ31を構成す
る16ビットバッファのうちのいずれに格納されている
機械語命令を転送するのかを選択するためのマルチプレ
クサ回路である。
【0014】命令認識装置6において、入力コード・バ
ッファ61は上記の入力セレクタ32を介して供給され
る機械語命令をラッチして、トラップ・オペレーション
・コード・コンパレータ62に対する出力を発生する。 このトラップ・オペレーション・コード・コンパレータ
62に対する出力は4系統に分割されて供給される。
ッファ61は上記の入力セレクタ32を介して供給され
る機械語命令をラッチして、トラップ・オペレーション
・コード・コンパレータ62に対する出力を発生する。 このトラップ・オペレーション・コード・コンパレータ
62に対する出力は4系統に分割されて供給される。
【0015】ここのトラップ・オペレーション・コード
・コンパレータ62において、受け取った内容が、ブレ
ークを発生させるべきオペレーション・コードが格納さ
れているトラップ・オペレーション・コード・レジスタ
63の内容と比較される。この比較動作は、4系統がそ
れぞれ独立に行われる。次に、コントロール・レジスタ
(マスク)・コンパレータ64には、トラップ・オペレ
ーション・コード・コンパレータ62での比較結果が供
給されると共に、命令デコード装置4の側から後述する
デコードPLAの出力が供給される。これらの出力と、
自身の持つマスク値とに基づき、ブレークを起こすべき
予め定められたオペレーション・コードが得られたか否
かの判別を行う。なお、トラップ・オペレーション・コ
ード・レジスタ63およびコントロール・レジスタ(マ
スク)・コンパレータ64は、32ビットの内部データ
・バス7を介して、命令実行装置5に接続されている。
・コンパレータ62において、受け取った内容が、ブレ
ークを発生させるべきオペレーション・コードが格納さ
れているトラップ・オペレーション・コード・レジスタ
63の内容と比較される。この比較動作は、4系統がそ
れぞれ独立に行われる。次に、コントロール・レジスタ
(マスク)・コンパレータ64には、トラップ・オペレ
ーション・コード・コンパレータ62での比較結果が供
給されると共に、命令デコード装置4の側から後述する
デコードPLAの出力が供給される。これらの出力と、
自身の持つマスク値とに基づき、ブレークを起こすべき
予め定められたオペレーション・コードが得られたか否
かの判別を行う。なお、トラップ・オペレーション・コ
ード・レジスタ63およびコントロール・レジスタ(マ
スク)・コンパレータ64は、32ビットの内部データ
・バス7を介して、命令実行装置5に接続されている。
【0016】命令デコード装置4のデコードPLA41
においては、命令フェッチ装置3の入力セレクタ32を
通過した機械語命令を受け取る。このデコードPLA4
1は、機械語命令をデコードする共に、デコード対象と
なっている機械語命令の部分がオペレーション・コード
部分なのか否かを常時判定している。デコードPLA4
1の出力は、デコード済み命令バッファ制御回路42に
供給されると共に、上記の命令認識装置のコントロール
・レジスタ(マスク)・コンパレータ64にも供給され
る。
においては、命令フェッチ装置3の入力セレクタ32を
通過した機械語命令を受け取る。このデコードPLA4
1は、機械語命令をデコードする共に、デコード対象と
なっている機械語命令の部分がオペレーション・コード
部分なのか否かを常時判定している。デコードPLA4
1の出力は、デコード済み命令バッファ制御回路42に
供給されると共に、上記の命令認識装置のコントロール
・レジスタ(マスク)・コンパレータ64にも供給され
る。
【0017】図3には、命令認識装置6のトラップ・オ
ペレーション・コード・レジスタ63のビット構成を示
してある。このレジスタはトラップすべきオペレーショ
ン・コードを格納するためのレジスタであり、4系統の
コンパレータ62に合わせて8ビット毎に4区画された
32ビット構成となっている。図においては、比較の4
系統を、最下位ビットの側から「TRAP OP−CO
DE0 」、「TRAP OP−CODE1 」、「T
RAP OP−CODE2 」、「TRAP OP−C
ODE3 」として示してある。これらの区画単位を8
ビット構成とした理由は、本例における機械語命令が8
ビット単位で可変長だからである。従って、機械語命令
の体系が異なれば、これに伴ってレジスタ63の構成も
異なる。同様に、全体として32ビット構成とした理由
は、内部バス幅である32ビットに合わせたためであり
、内部バス幅に応じて全体のビット数も異なる。
ペレーション・コード・レジスタ63のビット構成を示
してある。このレジスタはトラップすべきオペレーショ
ン・コードを格納するためのレジスタであり、4系統の
コンパレータ62に合わせて8ビット毎に4区画された
32ビット構成となっている。図においては、比較の4
系統を、最下位ビットの側から「TRAP OP−CO
DE0 」、「TRAP OP−CODE1 」、「T
RAP OP−CODE2 」、「TRAP OP−C
ODE3 」として示してある。これらの区画単位を8
ビット構成とした理由は、本例における機械語命令が8
ビット単位で可変長だからである。従って、機械語命令
の体系が異なれば、これに伴ってレジスタ63の構成も
異なる。同様に、全体として32ビット構成とした理由
は、内部バス幅である32ビットに合わせたためであり
、内部バス幅に応じて全体のビット数も異なる。
【0018】図4には、コントロール・レジスタ(マス
ク)・コンパレータ64内のコントロール・レジスタの
ビット構成を示してある。このレジスタは、トラップす
べきオペレーション・コードの形式指定、トラップの実
行の許否、および、比較4系統のうちの「OP−COD
E0」と呼ばれる一つの系統に特有なトラップ比較マス
クの制御のために使用される。このレジスタは32ビッ
ト構成であるが、そのうちの下位17ビットがこれらの
目的のために使用される。17ビットのうち、下位8ビ
ットは、トラップすべきオペレーション・コードの形式
指定を行うためのビット群(MAP0、MAP1、MA
P2、MAP3)であり、4系統の比較回路に対して2
ビットずつ割り当てられた構成となっている。本例のマ
イクロプロセッサでは3種類の異なるオペレーション・
コード体系の命令を処理可能となっており、このために
、2ビットを用いて、トラップすべきオペレーション・
コードが3種類のうちのいずれの体系に属するものであ
るのかを指定するようになっている。取り扱う機械語命
令の体系が異なれば、それに応じて体系を特定するため
のビット構成も異なってくる。また、オペレーション・
コード体系が1種類の場合には、かかるビット群は不要
となる。
ク)・コンパレータ64内のコントロール・レジスタの
ビット構成を示してある。このレジスタは、トラップす
べきオペレーション・コードの形式指定、トラップの実
行の許否、および、比較4系統のうちの「OP−COD
E0」と呼ばれる一つの系統に特有なトラップ比較マス
クの制御のために使用される。このレジスタは32ビッ
ト構成であるが、そのうちの下位17ビットがこれらの
目的のために使用される。17ビットのうち、下位8ビ
ットは、トラップすべきオペレーション・コードの形式
指定を行うためのビット群(MAP0、MAP1、MA
P2、MAP3)であり、4系統の比較回路に対して2
ビットずつ割り当てられた構成となっている。本例のマ
イクロプロセッサでは3種類の異なるオペレーション・
コード体系の命令を処理可能となっており、このために
、2ビットを用いて、トラップすべきオペレーション・
コードが3種類のうちのいずれの体系に属するものであ
るのかを指定するようになっている。取り扱う機械語命
令の体系が異なれば、それに応じて体系を特定するため
のビット構成も異なってくる。また、オペレーション・
コード体系が1種類の場合には、かかるビット群は不要
となる。
【0019】次に、コントロール・レジスタの中位8ビ
ット(TRAP OP−CODE0−MASK)は、比
較回路の拡張に用いられるビット群であり、比較4系統
のうちの「OP−CODE0」と呼ばれる一つの系統に
対してのみ実施された拡張を制御するための制御ビット
群である。この制御ビット群のうちの一つのビットを「
1」に設定することによって、「OP−CODE0」系
統の該当するビットの比較が禁止される。かかる制御は
、比較4系統の全てに対して適用することも可能であり
、またいずれに対しても施さないように設定することも
可能である。次に、レジスタの17ビット目(TEN)
は、比較回路全体の許可、不許可を制御するためのもの
である。このビットは、内部バス7を介して命令により
読み書き可能である。また、このビットは、オペレーシ
ョン・コード・トラップの受付、実行を示す信号によっ
て強制的に不許可の状態に設定可能である。
ット(TRAP OP−CODE0−MASK)は、比
較回路の拡張に用いられるビット群であり、比較4系統
のうちの「OP−CODE0」と呼ばれる一つの系統に
対してのみ実施された拡張を制御するための制御ビット
群である。この制御ビット群のうちの一つのビットを「
1」に設定することによって、「OP−CODE0」系
統の該当するビットの比較が禁止される。かかる制御は
、比較4系統の全てに対して適用することも可能であり
、またいずれに対しても施さないように設定することも
可能である。次に、レジスタの17ビット目(TEN)
は、比較回路全体の許可、不許可を制御するためのもの
である。このビットは、内部バス7を介して命令により
読み書き可能である。また、このビットは、オペレーシ
ョン・コード・トラップの受付、実行を示す信号によっ
て強制的に不許可の状態に設定可能である。
【0020】本例のマイクロプロセッサにおいては、ま
ず、ブレークを発生させるべき特定のオペレーション・
コードを、命令認識装置6におけるトラップ・オペレー
ション・コード・レジスタ63(図3参照)に格納する
。また、コントロール・レジスタ(マスク)コンパレー
タ64内のコントロール・レジスタ(図4参照)の内容
を設定する。この状態で、デバッグ対象のプログラムを
実行する。プログラム実行中において、命令フェッチ装
置3でフェッチされた機械語命令は、命令デコード装置
4に転送されると共に、命令認識装置6に対しても転送
される。命令認識装置6のトラップ・オペレーション・
コード・コンパレータ62においては、受け取った機械
語命令のオペレーション・コードを、レジスタ63に格
納されているオペレーション・コードと比較する。
ず、ブレークを発生させるべき特定のオペレーション・
コードを、命令認識装置6におけるトラップ・オペレー
ション・コード・レジスタ63(図3参照)に格納する
。また、コントロール・レジスタ(マスク)コンパレー
タ64内のコントロール・レジスタ(図4参照)の内容
を設定する。この状態で、デバッグ対象のプログラムを
実行する。プログラム実行中において、命令フェッチ装
置3でフェッチされた機械語命令は、命令デコード装置
4に転送されると共に、命令認識装置6に対しても転送
される。命令認識装置6のトラップ・オペレーション・
コード・コンパレータ62においては、受け取った機械
語命令のオペレーション・コードを、レジスタ63に格
納されているオペレーション・コードと比較する。
【0021】ブレークを発生させるべき命令オペレーシ
ョン・コードが供給された場合には、このコンパレータ
62において一致が得られ、一致を示す信号がコントロ
ール・レジスタ(マスク)・コンパレータ64に供給さ
れる。コントロール・レジスタ(マスク)・コンパレー
タ64では、この一致信号と、命令デコード装置4から
得られるデコードPLA出力と、自身の持つマスク値と
に基づき、ブレークを発生させるべき特定のオペレーシ
ョン・コードが得られたか否かの最終判別を行う。この
特定のオペレーション・コードが得られたと判別された
場合には、その旨を示す信号S6を命令デコード装置4
のデコード済み命令バッファ制御回路42に出力する。 これ以後は、命令デコード装置4では命令フェッチ装置
3でフェッチされた機械語命令のデコード結果の代わり
に、ブレークを指示する予め定義済みのデコード結果を
生成して、この生成したデコード結果を命令実行装置5
に転送する。命令実行装置5では、これによりブレーク
動作を開始する。
ョン・コードが供給された場合には、このコンパレータ
62において一致が得られ、一致を示す信号がコントロ
ール・レジスタ(マスク)・コンパレータ64に供給さ
れる。コントロール・レジスタ(マスク)・コンパレー
タ64では、この一致信号と、命令デコード装置4から
得られるデコードPLA出力と、自身の持つマスク値と
に基づき、ブレークを発生させるべき特定のオペレーシ
ョン・コードが得られたか否かの最終判別を行う。この
特定のオペレーション・コードが得られたと判別された
場合には、その旨を示す信号S6を命令デコード装置4
のデコード済み命令バッファ制御回路42に出力する。 これ以後は、命令デコード装置4では命令フェッチ装置
3でフェッチされた機械語命令のデコード結果の代わり
に、ブレークを指示する予め定義済みのデコード結果を
生成して、この生成したデコード結果を命令実行装置5
に転送する。命令実行装置5では、これによりブレーク
動作を開始する。
【0022】ブレーク動作が開始されると、ブレーク受
付信号S5が命令実行装置5から命令認識装置6に出力
される。このブレーク受付信号S5を受け取ると、命令
認識装置6のトラップ・コントロール・レジスタの17
ビット目(TEN)が、比較動作の不許可を示す状態に
強制的に設定される。従って、この後は、命令認識装置
における比較動作は行われない。ブレーク動作が終了す
ると、ブレーク受付信号S6の出力が止み、トラップ・
コントロール・レジスタの17ビット目の内容が、再び
比較動作を許可する状態に戻される。
付信号S5が命令実行装置5から命令認識装置6に出力
される。このブレーク受付信号S5を受け取ると、命令
認識装置6のトラップ・コントロール・レジスタの17
ビット目(TEN)が、比較動作の不許可を示す状態に
強制的に設定される。従って、この後は、命令認識装置
における比較動作は行われない。ブレーク動作が終了す
ると、ブレーク受付信号S6の出力が止み、トラップ・
コントロール・レジスタの17ビット目の内容が、再び
比較動作を許可する状態に戻される。
【0023】このように、本例においては命令認識装置
を配置して、ブレークを発生させるべき特定のオペレー
ション・コードを検出し、かかるオペレーション・コー
ドが検出されたときには命令デコード装置を制御して、
ブレーク動作を開始させるようにしている。よって、命
令実行に伴って発生するアドレスに基づくことなく、意
図する時点でブレークを起こして、プログラムのデバッ
グ作業を行うことが可能になる。また、本例では、ブレ
ーク動作の実行中には命令認識装置の動作を不許可の状
態に設定しているので、ブレーク動作の実行中にブレー
クが発生することを回避できる。
を配置して、ブレークを発生させるべき特定のオペレー
ション・コードを検出し、かかるオペレーション・コー
ドが検出されたときには命令デコード装置を制御して、
ブレーク動作を開始させるようにしている。よって、命
令実行に伴って発生するアドレスに基づくことなく、意
図する時点でブレークを起こして、プログラムのデバッ
グ作業を行うことが可能になる。また、本例では、ブレ
ーク動作の実行中には命令認識装置の動作を不許可の状
態に設定しているので、ブレーク動作の実行中にブレー
クが発生することを回避できる。
【0024】
【発明の効果】以上説明したように、本発明の集積回路
マイクロプロセッサにおいては、特定のオペレーション
・コードを有する機械語命令がフェッチされたことを検
出可能なハードウエアを内部に組み込み、かかる特定の
オペレーション・コードを検出したときにブレーク動作
を開始するようにしている。従って、本発明によれば、
命令の実行に伴い発生するアドレスに基づきブレーク動
作の開始を制御する必要がなくなる。従って、意図する
時点でブレークを発生させることが困難であるといった
アドレス検出に基づくブレーク動作制御方法の問題点を
解消することができ、意図するプログラムのデバッグ作
業を容易に実現することができる。
マイクロプロセッサにおいては、特定のオペレーション
・コードを有する機械語命令がフェッチされたことを検
出可能なハードウエアを内部に組み込み、かかる特定の
オペレーション・コードを検出したときにブレーク動作
を開始するようにしている。従って、本発明によれば、
命令の実行に伴い発生するアドレスに基づきブレーク動
作の開始を制御する必要がなくなる。従って、意図する
時点でブレークを発生させることが困難であるといった
アドレス検出に基づくブレーク動作制御方法の問題点を
解消することができ、意図するプログラムのデバッグ作
業を容易に実現することができる。
【図1】本発明の一実施例の主要構成部分を示す概略ブ
ロック図である。
ロック図である。
【図2】図1の例における一部分を詳細に示す部分ブロ
ック図である。
ック図である。
【図3】図2におけるトラップ・オペレーション・コン
トロール・レジスタの構成を示す説明図である。
トロール・レジスタの構成を示す説明図である。
【図4】図2におけるトラップ・コントロール・レジス
タ(マスク)・コンパレータ内のトラップ・コントロー
ル・レジスタの構成を示す説明図である。
タ(マスク)・コンパレータ内のトラップ・コントロー
ル・レジスタの構成を示す説明図である。
1・・・主記憶装置
2・・・外部データ・バス
3・・・命令フェッチ装置
4・・・命令デコード装置
5・・・命令実行装置
6・・・命令認識装置
7・・・内部データ・バス
41・・デコードPLA
42・・デコード済み命令バッファ制御回路62・・ト
ラップ・オペレーション・コード・コンパレータ 63・・トラップ・オペレーション・コード・レジスタ
64・・コントロール・レジスタ(マスク)・コンパレ
ータ
ラップ・オペレーション・コード・コンパレータ 63・・トラップ・オペレーション・コード・レジスタ
64・・コントロール・レジスタ(マスク)・コンパレ
ータ
Claims (2)
- 【請求項1】 機械語命令をフェッチする命令フェッ
チ装置と、この命令フェッチ装置によってフェッチされ
た機械語命令を解読する命令デコード装置と、前記命令
フェッチ装置によってフェッチされた機械語命令を受け
取り、この機械語命令のオペレーション・コードが予め
設定されている特定のオペレーション・コードであるか
否かを識別し、特定のオペレーション・コードである場
合には、前記命令デコード装置に対してその旨を通報す
る命令認識装置と、前記命令デコード装置のデコード結
果を実行する命令実行装置とを有し、前記命令デコード
装置は、前記命令認識装置から通報を受け取った場合に
は、前記命令フェッチ装置によってフェッチされた機械
語命令のデコード動作を中断して、ブレークを指示する
予め定義済みのデコード結果を生成し、このデコード結
果を前記命令実行装置に供給するようになっていること
を特徴とする集積回路マイクロプロセッサのデバッグ支
援システム。 - 【請求項2】 請求項1において、前記命令実行装置
は、ブレーク動作中にある旨を前記命令認識装置に通報
して、この命令認識装置による前記のオペレーション・
コードの識別動作を中断させるようになっていることを
特徴とする集積回路マイクロプロセッサのデバッグ支援
システム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3071300A JPH04306743A (ja) | 1991-04-04 | 1991-04-04 | 集積回路マイクロプロセッサのデバッグ支援システム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3071300A JPH04306743A (ja) | 1991-04-04 | 1991-04-04 | 集積回路マイクロプロセッサのデバッグ支援システム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04306743A true JPH04306743A (ja) | 1992-10-29 |
Family
ID=13456672
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3071300A Pending JPH04306743A (ja) | 1991-04-04 | 1991-04-04 | 集積回路マイクロプロセッサのデバッグ支援システム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04306743A (ja) |
-
1991
- 1991-04-04 JP JP3071300A patent/JPH04306743A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7334161B2 (en) | Breakpoint logic unit, debug logic and breakpoint method for a data processing apparatus | |
| JP5905911B2 (ja) | シングルステップ実行を用いる診断コード | |
| US7376820B2 (en) | Information processing unit, and exception processing method for specific application-purpose operation instruction | |
| US4747045A (en) | Information processing apparatus having an instruction prefetch circuit | |
| JP2583525B2 (ja) | データ処理装置 | |
| US20080133838A1 (en) | Data processing device | |
| JPH04306743A (ja) | 集積回路マイクロプロセッサのデバッグ支援システム | |
| JP2653412B2 (ja) | ブレークポイント設定方法 | |
| JP2002163126A (ja) | デバッグ用cpuに内蔵のイベント検出回路、イベント検出方法および外部周辺回路 | |
| JPH06103109A (ja) | データプロセッサ、及びこれを用いるデバッグ装置 | |
| JPH05216721A (ja) | 電子計算機 | |
| JP2808757B2 (ja) | デバッグ用マイクロプロセッサ | |
| WO1993025967A1 (fr) | Systeme d'aide a la suppression des erreurs de programmation dans un microprocesseur a circuit integre | |
| JPH04145544A (ja) | デバッグ装置 | |
| JPS5875256A (ja) | 実行命令遂行状態のモニタ方式 | |
| JP3119859B2 (ja) | 計算機システム | |
| JPH09319592A (ja) | マイクロコンピュータ | |
| JPH05250215A (ja) | デバッグサポート機能内蔵データ処理装置 | |
| JPH05108402A (ja) | デバツグ装置 | |
| JPS60235249A (ja) | プロセツサ回路 | |
| JPH04369751A (ja) | メモリ破壊検出方式 | |
| JPH01284938A (ja) | 実行命令アドレス検出方式 | |
| JPH0752402B2 (ja) | データ処理装置 | |
| JPS60164850A (ja) | プロセツサにおける命令実行動作の停止方式 | |
| JPH04290130A (ja) | プロセッサのエラー管理方式 |