JPH05100853A - デバツグサポート機能付データ処理装置 - Google Patents
デバツグサポート機能付データ処理装置Info
- Publication number
- JPH05100853A JPH05100853A JP3259119A JP25911991A JPH05100853A JP H05100853 A JPH05100853 A JP H05100853A JP 3259119 A JP3259119 A JP 3259119A JP 25911991 A JP25911991 A JP 25911991A JP H05100853 A JPH05100853 A JP H05100853A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- stage
- cycle
- operand
- address
- 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
Landscapes
- Advance Control (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【目的】 デバッグサポート機能を内蔵し、パイプライ
ン処理を行なうデータ処理装置において、命令とオペラ
ンドアクセスの対応を明確にすることにより、プログラ
ムデバッグを容易にする。 【構成】 デバッグ環境を制御するレジスタ内に、命令
とオペランドアクセスの対応を明確にするかどうかを指
定するビットを備え、上記ビットをセットしたとき、オ
ペランドアクセスサイクルの後にオペランドアクセスに
対応した命令のプログラムカウンタ(PC)値を出力す
る。たとえば、第4のサイクルのオペランドアクセス後
に、オペランドアクセスに対応する命令AのPC値とし
て”0番地”を出力する。
ン処理を行なうデータ処理装置において、命令とオペラ
ンドアクセスの対応を明確にすることにより、プログラ
ムデバッグを容易にする。 【構成】 デバッグ環境を制御するレジスタ内に、命令
とオペランドアクセスの対応を明確にするかどうかを指
定するビットを備え、上記ビットをセットしたとき、オ
ペランドアクセスサイクルの後にオペランドアクセスに
対応した命令のプログラムカウンタ(PC)値を出力す
る。たとえば、第4のサイクルのオペランドアクセス後
に、オペランドアクセスに対応する命令AのPC値とし
て”0番地”を出力する。
Description
【0001】
【産業上の利用分野】この発明は、たとえば、デバッグ
サポート機能を有し、パイプライン処理を行なうデータ
処理装置に関するものである。
サポート機能を有し、パイプライン処理を行なうデータ
処理装置に関するものである。
【0002】
【従来の技術】通常、各々の命令の実行は、命令の読み
出し、命令デコード、オペランドアドレスの計算、オペ
ランドデータ読み出し、演算実行、結果の格納など、数
サイクルの逐次的操作を経て終了する。従来よりデータ
処理装置のなかには、高速処理を達成するために、これ
らの動作を分割して流れ作業的に行なうことによって、
複数の命令の実行を同時に重ね合わせて行ない、理想的
には1サイクル(1つの逐次的操作の実行時間)ごとに
1命令の実行結果が得られる、パイプライン処理機構を
有するものがある。
出し、命令デコード、オペランドアドレスの計算、オペ
ランドデータ読み出し、演算実行、結果の格納など、数
サイクルの逐次的操作を経て終了する。従来よりデータ
処理装置のなかには、高速処理を達成するために、これ
らの動作を分割して流れ作業的に行なうことによって、
複数の命令の実行を同時に重ね合わせて行ない、理想的
には1サイクル(1つの逐次的操作の実行時間)ごとに
1命令の実行結果が得られる、パイプライン処理機構を
有するものがある。
【0003】また、データ処理装置内部にデバッグ機能
を有することにより、プログラムの開発効率を向上させ
ているものがある。
を有することにより、プログラムの開発効率を向上させ
ているものがある。
【0004】図5は従来のデータ処理装置の一例の機能
ブロックを示すものである。CPU1a中の2は、命令
をフェッチして命令キュー3に入力する命令フェッチス
テージ(以下IFステージとする)、4はIFステージ
から受け取った命令のデコードを行なうデコーダー5を
含んだ命令デコードステージ(以下Dステージとする)
で、命令コードや、アドレス計算情報コード生成すると
ともに、各命令のプログラムカウンタ(以下PCとす
る)値を計算し、出力する。6はDステージで生成され
たアドレス計算情報コードによって、オペランドのアド
レス計算を行ない、実効アドレスをフェッチする、オペ
ランドアドレス計算ステージ(以下Aステージとす
る)、7は命令実行に必要なデータを、Aステージで計
算したオペランドの実効アドレスからフェッチする、オ
ペランドフェッチステージ(以下Fステージとする)、
8は、指定された命令の実行を行なう命令実行ステージ
(以下Eステージ)で、ここには、32ビットの汎用レ
ジスタ群9や制御レジスタ群10a、および演算器11
などが含まれ、命令実行結果をオペランドへと書き込
む。12は外部メモリとの通信を制御するバスインター
フェース部で、IFステージ2から生じる外部メモリ1
3に対する命令フェッチ要求や、Aステージ6から生じ
る外部メモリ13に対する実効アドレス計算に必要なデ
ータの読み込み要求、Fステージ7から生じる外部メモ
リ13に対するオペランドデータ読み込み要求、Eステ
ージ8から生じる外部メモリ13に対するオペランドア
クセス(リードまたはライト)要求などを調停する。
ブロックを示すものである。CPU1a中の2は、命令
をフェッチして命令キュー3に入力する命令フェッチス
テージ(以下IFステージとする)、4はIFステージ
から受け取った命令のデコードを行なうデコーダー5を
含んだ命令デコードステージ(以下Dステージとする)
で、命令コードや、アドレス計算情報コード生成すると
ともに、各命令のプログラムカウンタ(以下PCとす
る)値を計算し、出力する。6はDステージで生成され
たアドレス計算情報コードによって、オペランドのアド
レス計算を行ない、実効アドレスをフェッチする、オペ
ランドアドレス計算ステージ(以下Aステージとす
る)、7は命令実行に必要なデータを、Aステージで計
算したオペランドの実効アドレスからフェッチする、オ
ペランドフェッチステージ(以下Fステージとする)、
8は、指定された命令の実行を行なう命令実行ステージ
(以下Eステージ)で、ここには、32ビットの汎用レ
ジスタ群9や制御レジスタ群10a、および演算器11
などが含まれ、命令実行結果をオペランドへと書き込
む。12は外部メモリとの通信を制御するバスインター
フェース部で、IFステージ2から生じる外部メモリ1
3に対する命令フェッチ要求や、Aステージ6から生じ
る外部メモリ13に対する実効アドレス計算に必要なデ
ータの読み込み要求、Fステージ7から生じる外部メモ
リ13に対するオペランドデータ読み込み要求、Eステ
ージ8から生じる外部メモリ13に対するオペランドア
クセス(リードまたはライト)要求などを調停する。
【0005】23はクロック信号(以下CLKとす
る)、24は”L”で有効となる、バスサイクルの開始
を示すバススタート信号(以下BSとする)、22は外
部メモリ13のアドレスを指定するアドレスバス(以下
ADとする)、21は外部メモリ13とCPU1aとで
データの転送を行なうデータバス(以下Dとする)、2
5は”H”でリードを示し、”L”でライトを示し、デ
ータ転送の方向を示すリード/ライト信号(以下R/W
とする)、26は”L”で有効となる、データ転送の完
了を示すデータトランスファコンプリート信号(以下D
Cとする)である。
る)、24は”L”で有効となる、バスサイクルの開始
を示すバススタート信号(以下BSとする)、22は外
部メモリ13のアドレスを指定するアドレスバス(以下
ADとする)、21は外部メモリ13とCPU1aとで
データの転送を行なうデータバス(以下Dとする)、2
5は”H”でリードを示し、”L”でライトを示し、デ
ータ転送の方向を示すリード/ライト信号(以下R/W
とする)、26は”L”で有効となる、データ転送の完
了を示すデータトランスファコンプリート信号(以下D
Cとする)である。
【0006】図6は図5の制御レジスタ10aのうち、
デバッグ環境を制御するデバッグ環境制御レジスタ(以
下DBCレジスタとする)を詳しく表わしたもので、S
Aビット31によりトレースモードでデバッグ事象を検
出したかどうかを表わし、EAビット32により命令実
行によりデバッグ事象を検出したかどうか、RAビット
33によりオペランドからの読み出しでデバッグ事象を
検出したかどうか、WAビット34によりオペランドへ
の書き込みによりデバッグ事象を検出したかどうかを表
わしている。
デバッグ環境を制御するデバッグ環境制御レジスタ(以
下DBCレジスタとする)を詳しく表わしたもので、S
Aビット31によりトレースモードでデバッグ事象を検
出したかどうかを表わし、EAビット32により命令実
行によりデバッグ事象を検出したかどうか、RAビット
33によりオペランドからの読み出しでデバッグ事象を
検出したかどうか、WAビット34によりオペランドへ
の書き込みによりデバッグ事象を検出したかどうかを表
わしている。
【0007】外部メモリ13の0番地から2番地に、そ
れぞれ命令A、B、Cが格納されており、これらの命令
がCPU1aに順に読み込まれてパイプライン処理され
るときの各ステージでの命令処理の流れと、各サイクル
でのバスオペレーションの様子を図7を用いて説明す
る。
れぞれ命令A、B、Cが格納されており、これらの命令
がCPU1aに順に読み込まれてパイプライン処理され
るときの各ステージでの命令処理の流れと、各サイクル
でのバスオペレーションの様子を図7を用いて説明す
る。
【0008】バスサイクルはCPU1aがBS24をア
サートすることにより開始し、外部メモリ13よりDC
26が入力されることにより終了する。BSアサートと
同時にAD22,R/W25も出力される。図7の第1
サイクルでは、CPU1aがBS24をアサートし、転
送方向R/W=”H”を出力してAD22から外部メモ
リ13の0番地を指定するアドレス信号を出し、0番地
の命令AをD21を通して読み込み、IFステージ2の
命令キュー3に格納する。バスサイクルはDC26の入
力により終了する。第2サイクルでは、CPU1aがB
S24をアサートし、命令AはDステージ4へと送ら
れ、デコーダー5でデコードされる。また命令AのPC
値が計算される。第2サイクルではBS24アサートと
同時に、CPU1aが転送方向R/W=”H”を出力し
てAD22から外部メモリ13の1番地を指定するアド
レス信号を出し、1番地から命令BをD21を通してI
Fステージ2の命令キュー3に格納する。第3サイクル
では、IFステージ2で命令Cのフェッチ、Dステージ
4で命令Bのデコード、Aステージ6で命令Aのオペラ
ンドのアドレス計算と、3つの処理が同時に行なわれ
る。このように、基本的には1サイクルごとに命令が各
ステージを流れて処理されていく。
サートすることにより開始し、外部メモリ13よりDC
26が入力されることにより終了する。BSアサートと
同時にAD22,R/W25も出力される。図7の第1
サイクルでは、CPU1aがBS24をアサートし、転
送方向R/W=”H”を出力してAD22から外部メモ
リ13の0番地を指定するアドレス信号を出し、0番地
の命令AをD21を通して読み込み、IFステージ2の
命令キュー3に格納する。バスサイクルはDC26の入
力により終了する。第2サイクルでは、CPU1aがB
S24をアサートし、命令AはDステージ4へと送ら
れ、デコーダー5でデコードされる。また命令AのPC
値が計算される。第2サイクルではBS24アサートと
同時に、CPU1aが転送方向R/W=”H”を出力し
てAD22から外部メモリ13の1番地を指定するアド
レス信号を出し、1番地から命令BをD21を通してI
Fステージ2の命令キュー3に格納する。第3サイクル
では、IFステージ2で命令Cのフェッチ、Dステージ
4で命令Bのデコード、Aステージ6で命令Aのオペラ
ンドのアドレス計算と、3つの処理が同時に行なわれ
る。このように、基本的には1サイクルごとに命令が各
ステージを流れて処理されていく。
【0009】しかし第5サイクルでは、Eステージ8で
の命令Aの外部メモリ13への書き込み要求と、Fステ
ージ7での命令Bの外部メモリ13からのオペランド読
み込み要求の2つのメモリアクセス要求が同時に起こる
ので、バスインターフェース部12で調停を行ない、こ
こではEステージ8での命令Aのメモリへの書き込みを
優先させ、この処理が終わるまで、命令BのFステージ
7での処理が遅延される。第5サイクルでの外部メモリ
13への書き込み動作は、BS24をアサートすること
で始まり、つぎにR/W=”L”を出力し、AD22か
らアドレスを出力する。その後データをD21より出力
し、DC26の入力によりバスサイクルを終了する。
の命令Aの外部メモリ13への書き込み要求と、Fステ
ージ7での命令Bの外部メモリ13からのオペランド読
み込み要求の2つのメモリアクセス要求が同時に起こる
ので、バスインターフェース部12で調停を行ない、こ
こではEステージ8での命令Aのメモリへの書き込みを
優先させ、この処理が終わるまで、命令BのFステージ
7での処理が遅延される。第5サイクルでの外部メモリ
13への書き込み動作は、BS24をアサートすること
で始まり、つぎにR/W=”L”を出力し、AD22か
らアドレスを出力する。その後データをD21より出力
し、DC26の入力によりバスサイクルを終了する。
【0010】また第6サイクルでは、Fステージ7で命
令Bのオペランドが外部メモリ13から読み込まれるの
で、命令Cの処理は、Aステージ6でFステージ7が空
くのを待っている間、遅延される。このように次ステー
ジで前命令の処理が行なわれている間も、その処理が完
了するまで処理が遅延される。
令Bのオペランドが外部メモリ13から読み込まれるの
で、命令Cの処理は、Aステージ6でFステージ7が空
くのを待っている間、遅延される。このように次ステー
ジで前命令の処理が行なわれている間も、その処理が完
了するまで処理が遅延される。
【0011】上記のように、従来のパイプライン処理を
行なうデータ処理装置では、命令をフェッチしてから処
理を完全におえるまでに時差があり、複数個の命令を同
時に処理するので、デバッグ環境を制御するレジスタを
参照することによって、デバッグ事象が発生しているか
否かを判定できるが、オペランドアクセスが行なわれた
ときに、そのアクセスがどの命令によって行なわれたか
等の情報を瞬時に得ることはできなかった。
行なうデータ処理装置では、命令をフェッチしてから処
理を完全におえるまでに時差があり、複数個の命令を同
時に処理するので、デバッグ環境を制御するレジスタを
参照することによって、デバッグ事象が発生しているか
否かを判定できるが、オペランドアクセスが行なわれた
ときに、そのアクセスがどの命令によって行なわれたか
等の情報を瞬時に得ることはできなかった。
【0012】
【発明が解決しようとする課題】この発明はかかる問題
を解決するためになされたもので、デバッグ作業時に命
令とオペランドアクセスの対応を明確にして、プログラ
ムデバッグを容易にすることを目的とする。
を解決するためになされたもので、デバッグ作業時に命
令とオペランドアクセスの対応を明確にして、プログラ
ムデバッグを容易にすることを目的とする。
【0013】
【課題を解決するための手段】この発明に係るデータ処
理装置は、たとえば、デバッグ環境を制御するレジスタ
等の中に命令とオペランドアクセスの対応を明確にする
モードを指定するビット(モード指定手段の一例)を備
え、オペランドアクセスに対応する命令のPC値(識別
子の一例)を出力する命令識別手段を備えたものであ
る。
理装置は、たとえば、デバッグ環境を制御するレジスタ
等の中に命令とオペランドアクセスの対応を明確にする
モードを指定するビット(モード指定手段の一例)を備
え、オペランドアクセスに対応する命令のPC値(識別
子の一例)を出力する命令識別手段を備えたものであ
る。
【0014】
【作用】この発明によれば、デバッグ環境を制御するレ
ジスタ中の上記のビット(モード指定手段)がセットさ
れているとき、命令識別手段がオペランドアクセスのバ
スサイクル中または前後に、そのオペランドアクセスに
対応する命令のPC値を出力する。
ジスタ中の上記のビット(モード指定手段)がセットさ
れているとき、命令識別手段がオペランドアクセスのバ
スサイクル中または前後に、そのオペランドアクセスに
対応する命令のPC値を出力する。
【0015】
実施例1.以下この発明の一実施例として、デバッグ環
境を制御するレジスタを持ち、前記レジスタ中に命令と
オペランドの対応を明確にするために、オペランドアク
セスのバスサイクルの後に、対応する命令のPC値を出
力するかどうかを指定するビットを持つパイプラインデ
ータ処理装置について、図1〜図3を用いて説明する。
境を制御するレジスタを持ち、前記レジスタ中に命令と
オペランドの対応を明確にするために、オペランドアク
セスのバスサイクルの後に、対応する命令のPC値を出
力するかどうかを指定するビットを持つパイプラインデ
ータ処理装置について、図1〜図3を用いて説明する。
【0016】図1は本発明のデータ処理装置の一例の機
能ブロックを示すものである。CPU1b中の2は、命
令をフェッチして命令キュー3に入力する命令フェッチ
ステージ(以下IFステージとする)、4はIFステー
ジから受け取った命令のデコードを行なうデコーダー5
を含んだ命令デコードステージ(以下Dステージとす
る)で、命令コードや、アドレス計算情報コード生成す
るとともに、各命令のプログラムカウンタ(以下PCと
する)値を計算し、出力する。6はDステージで生成さ
れたアドレス計算情報コードによってオペランドのアド
レス計算を行ない、実効アドレスをフェッチする、オペ
ランドアドレス計算ステージ(以下Aステージとす
る)、7は、命令実行に必要なデータを、Aステージで
計算したオペランドの実効アドレスからフェッチする、
オペランドフェッチステージ(以下Fステージとす
る)、8は、指定された命令の実行を行なう命令実行ス
テージ(以下Eステージ)で、ここには、32ビットの
汎用レジスタ群9や制御レジスタ群10b、および演算
器11などが含まれ、命令実行結果をオペランドへと書
き込む。12は外部メモリとの通信を制御するバスイン
ターフェース部で、IFステージ2から生じる外部メモ
リ13に対する命令フェッチ要求や、Aステージ6から
生じる外部メモリ13に対する実効アドレス計算に必要
なデータの読み込み要求、Fステージ7から生じる外部
メモリ13に対するオペランドデータ読み込み要求、E
ステージ8から生じる外部メモリ13に対するオペラン
ドアクセス(リードまたはライト)要求などを調停す
る。
能ブロックを示すものである。CPU1b中の2は、命
令をフェッチして命令キュー3に入力する命令フェッチ
ステージ(以下IFステージとする)、4はIFステー
ジから受け取った命令のデコードを行なうデコーダー5
を含んだ命令デコードステージ(以下Dステージとす
る)で、命令コードや、アドレス計算情報コード生成す
るとともに、各命令のプログラムカウンタ(以下PCと
する)値を計算し、出力する。6はDステージで生成さ
れたアドレス計算情報コードによってオペランドのアド
レス計算を行ない、実効アドレスをフェッチする、オペ
ランドアドレス計算ステージ(以下Aステージとす
る)、7は、命令実行に必要なデータを、Aステージで
計算したオペランドの実効アドレスからフェッチする、
オペランドフェッチステージ(以下Fステージとす
る)、8は、指定された命令の実行を行なう命令実行ス
テージ(以下Eステージ)で、ここには、32ビットの
汎用レジスタ群9や制御レジスタ群10b、および演算
器11などが含まれ、命令実行結果をオペランドへと書
き込む。12は外部メモリとの通信を制御するバスイン
ターフェース部で、IFステージ2から生じる外部メモ
リ13に対する命令フェッチ要求や、Aステージ6から
生じる外部メモリ13に対する実効アドレス計算に必要
なデータの読み込み要求、Fステージ7から生じる外部
メモリ13に対するオペランドデータ読み込み要求、E
ステージ8から生じる外部メモリ13に対するオペラン
ドアクセス(リードまたはライト)要求などを調停す
る。
【0017】23はクロック信号(以下CLKとす
る)、24はバスサイクルの開始を示すバススタート信
号(以下BSとする)、22は外部メモリ13のアドレ
スを指定するアドレスバス(以下ADとする)、21は
外部メモリ13とCPU1bとでデータの転送を行なう
データバス(以下Dとする)、25はデータ転送の方向
を示すリード/ライト信号(以下R/Wとする)、26
はデータ転送の完了を示すデータトランスファコンプリ
ート信号(以下DCとする)である。
る)、24はバスサイクルの開始を示すバススタート信
号(以下BSとする)、22は外部メモリ13のアドレ
スを指定するアドレスバス(以下ADとする)、21は
外部メモリ13とCPU1bとでデータの転送を行なう
データバス(以下Dとする)、25はデータ転送の方向
を示すリード/ライト信号(以下R/Wとする)、26
はデータ転送の完了を示すデータトランスファコンプリ
ート信号(以下DCとする)である。
【0018】図2は図1の制御レジスタ10bのうち、
本発明のデータ処理装置のデバッグ環境を制御するデバ
ッグ環境制御レジスタ(以下DBCレジスタとする)を
詳しく表わしたもので、Aビット35によりオペランド
アクセスの後に、対応する命令のPC値を出力するかど
うかを指定し、SAビット31によりトレースモードで
デバッグ事象を検出したかどうかを表わし、EAビット
32により命令実行によりデバッグ事象を検出したかど
うか、RAビット33によりオペランドからの読み出し
でデバッグ事象を検出したかどうか、WAビット34に
よりオペランドへの書き込みによりデバッグ事象を検出
したかどうかを表わしている。
本発明のデータ処理装置のデバッグ環境を制御するデバ
ッグ環境制御レジスタ(以下DBCレジスタとする)を
詳しく表わしたもので、Aビット35によりオペランド
アクセスの後に、対応する命令のPC値を出力するかど
うかを指定し、SAビット31によりトレースモードで
デバッグ事象を検出したかどうかを表わし、EAビット
32により命令実行によりデバッグ事象を検出したかど
うか、RAビット33によりオペランドからの読み出し
でデバッグ事象を検出したかどうか、WAビット34に
よりオペランドへの書き込みによりデバッグ事象を検出
したかどうかを表わしている。
【0019】外部メモリ13の0番地から2番地に、そ
れぞれ命令A、B、Cが格納されており、これらの命令
がCPU1bに順に読み込まれてパイプライン処理され
るときの各ステージでの命令処理の流れと、各サイクル
でのバスオペレーションの様子を図3を用いて説明す
る。
れぞれ命令A、B、Cが格納されており、これらの命令
がCPU1bに順に読み込まれてパイプライン処理され
るときの各ステージでの命令処理の流れと、各サイクル
でのバスオペレーションの様子を図3を用いて説明す
る。
【0020】バスサイクルはCPU1bがBS24をア
サートすることにより開始し、外部メモリ13よりDC
26が入力されることにより終了する。BSアサートと
同時にAD22,R/W25も出力される。図3の第1
サイクルでは、CPU1bがBS24をアサートし、転
送方向R/W=”H”を出力してAD22から外部メモ
リ13の0番地を指定するアドレス信号を出し、0番地
の命令AをD21を通して読み込み、IFステージ2の
命令キュー3に格納する。バスサイクルはDC26の入
力により終了する。第2サイクルでは、CPU1bがB
S24をアサートし、命令AはDステージ4へと送ら
れ、デコーダー5でデコードされる。また命令AのPC
値が計算される。第2サイクルではBS24アサートと
同時に、CPU1bが転送方向R/W=”H”を出力し
てAD22から外部メモリ13の1番地を指定するアド
レス信号を出し、1番地から命令BをD21を通してI
Fステージ2の命令キュー3に格納する。第3サイクル
では、IFステージ2で命令Cのフェッチ、Dステージ
4で命令Bのデコード、Aステージ6で命令Aのオペラ
ンドのアドレス計算と、3つの処理が同時に行なわれ
る。このように、オペランドアクセスがない場合、従来
のデータ処理装置と同様、基本的に1サイクルごとに命
令が各ステージを流れて処理されていく。
サートすることにより開始し、外部メモリ13よりDC
26が入力されることにより終了する。BSアサートと
同時にAD22,R/W25も出力される。図3の第1
サイクルでは、CPU1bがBS24をアサートし、転
送方向R/W=”H”を出力してAD22から外部メモ
リ13の0番地を指定するアドレス信号を出し、0番地
の命令AをD21を通して読み込み、IFステージ2の
命令キュー3に格納する。バスサイクルはDC26の入
力により終了する。第2サイクルでは、CPU1bがB
S24をアサートし、命令AはDステージ4へと送ら
れ、デコーダー5でデコードされる。また命令AのPC
値が計算される。第2サイクルではBS24アサートと
同時に、CPU1bが転送方向R/W=”H”を出力し
てAD22から外部メモリ13の1番地を指定するアド
レス信号を出し、1番地から命令BをD21を通してI
Fステージ2の命令キュー3に格納する。第3サイクル
では、IFステージ2で命令Cのフェッチ、Dステージ
4で命令Bのデコード、Aステージ6で命令Aのオペラ
ンドのアドレス計算と、3つの処理が同時に行なわれ
る。このように、オペランドアクセスがない場合、従来
のデータ処理装置と同様、基本的に1サイクルごとに命
令が各ステージを流れて処理されていく。
【0021】第4サイクルでは命令Aのオペランドをフ
ェッチするためにオペランドアクセスが起こっている。
このような場合、オペランドアクセスのすぐ後のサイク
ル、すなわち第5サイクルでは、オペランドアクセスを
起こした命令AのPC値0を信号線AD22へと出力す
る。この時、R/W25はHのままでBS24はアサー
トされないので、第5サイクルでは命令Aのアドレスが
信号線AD22に出力されるだけで、メモリ13への読
み込み、書き込み等のアクセスは行なわれない。このよ
うに、信号線AD22に出力された命令Aのアドレス
は、図示していないデバック手段により検出されること
になる。第6サイクルは命令Aのライトサイクルで、ラ
イト終了後の第7サイクルで、命令AのPC値0がAD
22に出力される。この時、R/W25はLのままでB
S24はアサートされない。第8サイクルは命令Bのオ
ペランドプリフェッチサイクルで、オペランドプリフェ
ッチを行なった後の第9サイクルで、命令BのPC値1
がAD22に出力される。
ェッチするためにオペランドアクセスが起こっている。
このような場合、オペランドアクセスのすぐ後のサイク
ル、すなわち第5サイクルでは、オペランドアクセスを
起こした命令AのPC値0を信号線AD22へと出力す
る。この時、R/W25はHのままでBS24はアサー
トされないので、第5サイクルでは命令Aのアドレスが
信号線AD22に出力されるだけで、メモリ13への読
み込み、書き込み等のアクセスは行なわれない。このよ
うに、信号線AD22に出力された命令Aのアドレス
は、図示していないデバック手段により検出されること
になる。第6サイクルは命令Aのライトサイクルで、ラ
イト終了後の第7サイクルで、命令AのPC値0がAD
22に出力される。この時、R/W25はLのままでB
S24はアサートされない。第8サイクルは命令Bのオ
ペランドプリフェッチサイクルで、オペランドプリフェ
ッチを行なった後の第9サイクルで、命令BのPC値1
がAD22に出力される。
【0022】実施例2.なお、実施例1では、デバッグ
制御レジスタ内にオペランドアクセスと命令の対応を明
確にするビットを備えて、上記ビットがセットされてい
るとき、オペランドアクセスサイクルの後にPC値を出
力する場合を示したが、オペランドアクセスサイクルの
途中で対応する命令のPC値を出力することとしても、
同様の効果を得ることができる。データ処理装置に、命
令A、B、Cが順に読み込まれて、パイプライン処理さ
れるときの各サイクルでのバスオペレーションの様子を
図4を用いて説明する。
制御レジスタ内にオペランドアクセスと命令の対応を明
確にするビットを備えて、上記ビットがセットされてい
るとき、オペランドアクセスサイクルの後にPC値を出
力する場合を示したが、オペランドアクセスサイクルの
途中で対応する命令のPC値を出力することとしても、
同様の効果を得ることができる。データ処理装置に、命
令A、B、Cが順に読み込まれて、パイプライン処理さ
れるときの各サイクルでのバスオペレーションの様子を
図4を用いて説明する。
【0023】バスサイクルはCPU1bがBS24をア
サートすることにより開始し、外部メモリ13よりDC
26が入力されることにより終了する。BSアサートと
同時にAD22,R/W25も出力される。図4の第1
サイクルでは、CPU1bがBS24をアサートし、転
送方向R/W=”H”を出力してAD22から外部メモ
リ13の0番地を指定するアドレス信号を出し、0番地
の命令AをD21を通して読み込み、IFステージ2の
命令キュー3に格納する。バスサイクルはDC26の入
力により終了する。第2サイクルでは、CPU1bがB
S24をアサートし、命令AはDステージ4へと送ら
れ、デコーダー5でデコードされる。また命令AのPC
値が計算される。第2サイクルではBS24アサートと
同時に、CPU1bが転送方向R/W=”H”を出力し
てAD22から外部メモリ13の1番地を指定するアド
レス信号を出し、1番地から命令BをD21を通してI
Fステージ2の命令キュー3に格納する。第3サイクル
では、IFステージ2で命令Cのフェッチ、Dステージ
4で命令Bのデコード、Aステージ6で命令Aのオペラ
ンドのアドレス計算と、3つの処理が同時に行なわれ
る。このように、オペランドアクセスがない場合、従来
のデータ処理装置と同様、基本的に1サイクルごとに、
命令が各ステージを流れて処理されていく。
サートすることにより開始し、外部メモリ13よりDC
26が入力されることにより終了する。BSアサートと
同時にAD22,R/W25も出力される。図4の第1
サイクルでは、CPU1bがBS24をアサートし、転
送方向R/W=”H”を出力してAD22から外部メモ
リ13の0番地を指定するアドレス信号を出し、0番地
の命令AをD21を通して読み込み、IFステージ2の
命令キュー3に格納する。バスサイクルはDC26の入
力により終了する。第2サイクルでは、CPU1bがB
S24をアサートし、命令AはDステージ4へと送ら
れ、デコーダー5でデコードされる。また命令AのPC
値が計算される。第2サイクルではBS24アサートと
同時に、CPU1bが転送方向R/W=”H”を出力し
てAD22から外部メモリ13の1番地を指定するアド
レス信号を出し、1番地から命令BをD21を通してI
Fステージ2の命令キュー3に格納する。第3サイクル
では、IFステージ2で命令Cのフェッチ、Dステージ
4で命令Bのデコード、Aステージ6で命令Aのオペラ
ンドのアドレス計算と、3つの処理が同時に行なわれ
る。このように、オペランドアクセスがない場合、従来
のデータ処理装置と同様、基本的に1サイクルごとに、
命令が各ステージを流れて処理されていく。
【0024】第4サイクルでは命令Aのオペランドをフ
ェッチするためにオペランドアクセス要求が生じてい
る。第4サイクルでは、CPU1bがBS24をアサー
トし、同時にR/W=”H”を出力してデータを外部メ
モリ13から読み込むことを指示し、サイクルの前半
で、オペランドアクセスを起こした命令AのPC値0を
AD22へと出力する。サイクルの後半ではAD22か
ら外部メモリ13の命令Aのオペランドを指定するアド
レス信号を出し、D21を通してデータを読み込む。バ
スサイクルはDC26の入力で終了する。第5サイクル
は命令Aのライトサイクルで、CPU1bがBS24を
アサートし、同時にR/W=”L”を出力してデータを
外部メモリ13に書き込むことを指示し、サイクルの前
半でオペランドアクセスを起こした命令AのPC値0を
AD22へと出力する。サイクルの後半ではAD22か
ら外部メモリ13の命令Aのオペランドを指定するアド
レス信号を出し、D21を通してデータを書き込む。バ
スサイクルはDC26の入力で終了する。第6サイクル
は命令Bのオペランドプリフェッチサイクルで、CPU
1bがBS24をアサートし、同時にR/W=”H”を
出力してデータを外部メモリ13から読み込むことを指
示し、サイクルの前半でオペランドアクセスを起こした
命令BのPC値1をAD22へと出力する。サイクルの
後半ではAD22から外部メモリ13の命令Bのオペラ
ンドを指定するアドレス信号を出し、D21を通してデ
ータを読み込む。バスサイクルはDC26の入力で終了
する。第7サイクルは命令Aのライトサイクルで、CP
U1bがBS24をアサートし、同時にR/W=”L”
を出力してデータを外部メモリ13に書き込むことを指
示し、サイクルの前半でオペランドアクセスを起こした
命令BのPC値1をAD22へと出力する。サイクルの
後半ではAD22から外部メモリ13の命令Bのオペラ
ンドを指定するアドレス信号を出し、D21を通してデ
ータを書き込む。バスサイクルはDC26の入力で終了
する。
ェッチするためにオペランドアクセス要求が生じてい
る。第4サイクルでは、CPU1bがBS24をアサー
トし、同時にR/W=”H”を出力してデータを外部メ
モリ13から読み込むことを指示し、サイクルの前半
で、オペランドアクセスを起こした命令AのPC値0を
AD22へと出力する。サイクルの後半ではAD22か
ら外部メモリ13の命令Aのオペランドを指定するアド
レス信号を出し、D21を通してデータを読み込む。バ
スサイクルはDC26の入力で終了する。第5サイクル
は命令Aのライトサイクルで、CPU1bがBS24を
アサートし、同時にR/W=”L”を出力してデータを
外部メモリ13に書き込むことを指示し、サイクルの前
半でオペランドアクセスを起こした命令AのPC値0を
AD22へと出力する。サイクルの後半ではAD22か
ら外部メモリ13の命令Aのオペランドを指定するアド
レス信号を出し、D21を通してデータを書き込む。バ
スサイクルはDC26の入力で終了する。第6サイクル
は命令Bのオペランドプリフェッチサイクルで、CPU
1bがBS24をアサートし、同時にR/W=”H”を
出力してデータを外部メモリ13から読み込むことを指
示し、サイクルの前半でオペランドアクセスを起こした
命令BのPC値1をAD22へと出力する。サイクルの
後半ではAD22から外部メモリ13の命令Bのオペラ
ンドを指定するアドレス信号を出し、D21を通してデ
ータを読み込む。バスサイクルはDC26の入力で終了
する。第7サイクルは命令Aのライトサイクルで、CP
U1bがBS24をアサートし、同時にR/W=”L”
を出力してデータを外部メモリ13に書き込むことを指
示し、サイクルの前半でオペランドアクセスを起こした
命令BのPC値1をAD22へと出力する。サイクルの
後半ではAD22から外部メモリ13の命令Bのオペラ
ンドを指定するアドレス信号を出し、D21を通してデ
ータを書き込む。バスサイクルはDC26の入力で終了
する。
【0025】実施例3.なお、実施例1では、デバッグ
制御レジスタ内にオペランドアクセスと命令の対応を明
確にするビットを備えて、このビットがセットされてい
るとき、オペランドアクセスサイクルの後にPC値を出
力する場合を示したが、オペランドアクセスサイクルの
前にPC値を出力することによっても同様の効果を得る
ことができる。
制御レジスタ内にオペランドアクセスと命令の対応を明
確にするビットを備えて、このビットがセットされてい
るとき、オペランドアクセスサイクルの後にPC値を出
力する場合を示したが、オペランドアクセスサイクルの
前にPC値を出力することによっても同様の効果を得る
ことができる。
【0026】実施例4.上記実施例では、デバック制御
レジスタ内のオペランドアクセスと命令の対応を明確に
するためのひとつのビットをモード指定手段の一例とし
て説明したが、このビットは1ビットでなくてもよく、
複数ビットあってもよい。たとえば、2ビットにより、
以下のようにモードを分けてもよい。 00=デバックサポート機能なし 01=実施例1記載のデバックサポート機能実行 10=実施例2記載のデバックサポート機能実行 11=実施例3記載のデバックサポート機能実行
レジスタ内のオペランドアクセスと命令の対応を明確に
するためのひとつのビットをモード指定手段の一例とし
て説明したが、このビットは1ビットでなくてもよく、
複数ビットあってもよい。たとえば、2ビットにより、
以下のようにモードを分けてもよい。 00=デバックサポート機能なし 01=実施例1記載のデバックサポート機能実行 10=実施例2記載のデバックサポート機能実行 11=実施例3記載のデバックサポート機能実行
【0027】実施例5.また、このモード指定手段はデ
バック制御レジスタ内のビットを用いるものとは限ら
ず、プロセッサやCPU内外のその他の専用のレジスタ
やフリップフロップ等の記憶領域を用いてもかまわな
い。また、このビットや記憶領域へのモードのセット
は、プログラムされたソフトウェアによるもの、あるい
は、ディップスイッチ等のハードウェアによるものな
ど、どのような方法であってもかまわない。
バック制御レジスタ内のビットを用いるものとは限ら
ず、プロセッサやCPU内外のその他の専用のレジスタ
やフリップフロップ等の記憶領域を用いてもかまわな
い。また、このビットや記憶領域へのモードのセット
は、プログラムされたソフトウェアによるもの、あるい
は、ディップスイッチ等のハードウェアによるものな
ど、どのような方法であってもかまわない。
【0028】実施例6.また、上記実施例では、オペラ
ンドアクセスを例にしたが、オペランド以外のデータを
アクセスする場合でもかまわない。また、上記実施例で
は対応する命令のPC値を出力する場合を示したが、P
C値以外の命令の識別子を出力する場合でもかまわな
い。たとえば、命令の相対アドレスやコードそのものを
識別子として出力してもかまわない。
ンドアクセスを例にしたが、オペランド以外のデータを
アクセスする場合でもかまわない。また、上記実施例で
は対応する命令のPC値を出力する場合を示したが、P
C値以外の命令の識別子を出力する場合でもかまわな
い。たとえば、命令の相対アドレスやコードそのものを
識別子として出力してもかまわない。
【0029】
【発明の効果】以上説明したように、この発明によれ
ば、パイプライン処理を行なうデータ処理装置におい
て、命令とオペランドアクセスとの対応を明確にできる
ので、プログラムデバッグが容易になるという効果があ
る。
ば、パイプライン処理を行なうデータ処理装置におい
て、命令とオペランドアクセスとの対応を明確にできる
ので、プログラムデバッグが容易になるという効果があ
る。
【図1】本発明のデータ処理装置の一例の機能ブロック
図である。
図である。
【図2】本発明のデータ処理装置の一例のデバッグ環境
を制御するレジスタを表わした図である。
を制御するレジスタを表わした図である。
【図3】本発明のデータ処理装置の一例に、命令A、
B、Cが順に読み込まれて各ステージでパイプライン処
理されるときの、実施例1でのサイクルごとの各ステー
ジでの命令処理の流れと、各信号のバスオペレーション
の様子を表わした図である。
B、Cが順に読み込まれて各ステージでパイプライン処
理されるときの、実施例1でのサイクルごとの各ステー
ジでの命令処理の流れと、各信号のバスオペレーション
の様子を表わした図である。
【図4】本発明のデータ処理装置の一例に、命令A、
B、Cが順に読み込まれて各ステージでパイプライン処
理されるときの、実施例2でのサイクルごとの各ステー
ジでの命令処理の流れと、各信号のバスオペレーション
の様子を表わした図である。
B、Cが順に読み込まれて各ステージでパイプライン処
理されるときの、実施例2でのサイクルごとの各ステー
ジでの命令処理の流れと、各信号のバスオペレーション
の様子を表わした図である。
【図5】従来のデータ処理装置の機能ブロック図であ
る。
る。
【図6】従来のデータ処理装置のデバッグ環境を制御す
るレジスタを表わした図である。
るレジスタを表わした図である。
【図7】従来のデータ処理装置に命令A、B、Cが読み
込まれたとき、各ステージでパイプライン処理される様
子を表わした図である。
込まれたとき、各ステージでパイプライン処理される様
子を表わした図である。
1b 本発明のCPU 2 命令フェッチステージ 3 命令キュー 4 デコードステージ 5 デコーダー 6 オペランドアドレス計算ステージ 7 オペランドフェッチステージ 8 命令実行ステージ 9 汎用レジスタ群 10b 本発明の制御レジスタ群 11 演算器 12 バスインターフェース部 13 外部メモリ 21 データバス 22 アドレスバス 23 クロック信号 24 バススタート信号 25 リード/ライト信号 26 データトランスファコンプリート信号 31 SAビット 32 EAビット 33 RAビット 34 WAビット 35 Aビット
Claims (1)
- 【請求項1】 命令とデータアクセスとの対応を明示す
るかどうか指定するモード指定手段と、上記モード指定
が有効なとき、データアクセスに対応する命令の識別子
を出力する命令識別手段を備えたデバッグサポート機能
付データ処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3259119A JPH05100853A (ja) | 1991-10-07 | 1991-10-07 | デバツグサポート機能付データ処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3259119A JPH05100853A (ja) | 1991-10-07 | 1991-10-07 | デバツグサポート機能付データ処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05100853A true JPH05100853A (ja) | 1993-04-23 |
Family
ID=17329583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3259119A Pending JPH05100853A (ja) | 1991-10-07 | 1991-10-07 | デバツグサポート機能付データ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05100853A (ja) |
-
1991
- 1991-10-07 JP JP3259119A patent/JPH05100853A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4750865B2 (ja) | デ―タ・プロセッサにおいて後続の命令処理に影響を及ぼす方法および装置 | |
US4729094A (en) | Method and apparatus for coordinating execution of an instruction by a coprocessor | |
KR100335785B1 (ko) | 데이타처리명령의실행 | |
US4731736A (en) | Method and apparatus for coordinating execution of an instruction by a selected coprocessor | |
US4750110A (en) | Method and apparatus for executing an instruction contingent upon a condition present in another data processor | |
JP2620511B2 (ja) | データ・プロセッサ | |
EP0526911B1 (en) | A method and apparatus for coordinating execution of an instruction by a coprocessor | |
US4758950A (en) | Method and apparatus for selectively delaying an interrupt of a coprocessor | |
US4821231A (en) | Method and apparatus for selectively evaluating an effective address for a coprocessor | |
JP3579843B2 (ja) | ディジタル信号処理装置 | |
JPH0743648B2 (ja) | 情報処理装置 | |
US4967339A (en) | Operation control apparatus for a processor having a plurality of arithmetic devices | |
JP2798121B2 (ja) | データ処理装置 | |
JPH05100853A (ja) | デバツグサポート機能付データ処理装置 | |
EP0573071A2 (en) | A microprocessor | |
JP2002163126A (ja) | デバッグ用cpuに内蔵のイベント検出回路、イベント検出方法および外部周辺回路 | |
JP2999907B2 (ja) | マイクロプログラム制御方式の中央処理装置 | |
JP2806690B2 (ja) | マイクロプロセッサ | |
JP3206394B2 (ja) | 5段パイプライン構造のプログラマブルコントローラ | |
US4811274A (en) | Method and apparatus for selectively evaluating an effective address for a coprocessor | |
JP2545594B2 (ja) | オペランドデータ先取り方式 | |
JPH0241770B2 (ja) | ||
JP4702004B2 (ja) | マイクロコンピュータ | |
JPS62269237A (ja) | デ−タプロセツサ | |
JPH03164945A (ja) | データ処理装置 |