JP2003162426A - 複数cpuの協調デバッグ回路を備えるコンピュータシステム及びデバッグ方法 - Google Patents
複数cpuの協調デバッグ回路を備えるコンピュータシステム及びデバッグ方法Info
- Publication number
- JP2003162426A JP2003162426A JP2001362636A JP2001362636A JP2003162426A JP 2003162426 A JP2003162426 A JP 2003162426A JP 2001362636 A JP2001362636 A JP 2001362636A JP 2001362636 A JP2001362636 A JP 2001362636A JP 2003162426 A JP2003162426 A JP 2003162426A
- Authority
- JP
- Japan
- Prior art keywords
- break
- cpu
- cpus
- external device
- debug
- 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
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【課題】複数のCPUを搭載したコンピュータシステム
のデバッグにおいて、複数のCPUのブレーク、ステッ
プ実行の協調動作における厳密な同期性を確保し、複数
のCPUトレースデータの出力時間関係を観測できるよ
うにする。 【解決手段】複数のCPUブレーク間の協調を、ハード
ウエア(協調デバッグ回路3)で実現し、ブレークおよ
び、ステップ実行の厳密な同期を行う。協調デバッグ回
路3は、ブレーク協調組み合わせ回路201、協調ブレ
ークコントロールレジスタ202、協調ブレークステー
タスレジスタ203、トレースデータ格納部204、外
部デバイスインターフェイス部205を備えている。ブ
レーク協調組み合わせ回路201は、CPUからのブレ
ーク出力信号を組み合わせて当該CPUへのブレーク入
力信号を生成する。トレースデータ格納部204は、複
数のCPUのトレースデータを出力時間情報と組み合わ
せて記憶する。
のデバッグにおいて、複数のCPUのブレーク、ステッ
プ実行の協調動作における厳密な同期性を確保し、複数
のCPUトレースデータの出力時間関係を観測できるよ
うにする。 【解決手段】複数のCPUブレーク間の協調を、ハード
ウエア(協調デバッグ回路3)で実現し、ブレークおよ
び、ステップ実行の厳密な同期を行う。協調デバッグ回
路3は、ブレーク協調組み合わせ回路201、協調ブレ
ークコントロールレジスタ202、協調ブレークステー
タスレジスタ203、トレースデータ格納部204、外
部デバイスインターフェイス部205を備えている。ブ
レーク協調組み合わせ回路201は、CPUからのブレ
ーク出力信号を組み合わせて当該CPUへのブレーク入
力信号を生成する。トレースデータ格納部204は、複
数のCPUのトレースデータを出力時間情報と組み合わ
せて記憶する。
Description
【0001】
【発明の属する技術分野】本発明は複数のCPUを搭載
したコンピュータシステム及びデバッグ方法に係り、特
に、複数のCPUを搭載したコンピュータシステムのデ
バッグに関する。
したコンピュータシステム及びデバッグ方法に係り、特
に、複数のCPUを搭載したコンピュータシステムのデ
バッグに関する。
【0002】
【従来の技術】CPUを搭載したシステムのデバッグで
は、以下のような手順で処理するのが一般的である。 (1)ダウンロード:デバッグ用ホストコンピュータよ
り、ユーザーが開発するプログラムをCPUにダウンロ
ードし、実行する。 (2)ブレーク:ユーザーが設定する条件(ブレーク条
件)でCPUを停止させ、CPU内部状態を観測する。 (3)ステップ実行:ユーザーが開発するプログラムを
ソースコード一行毎に止めながら実行し、CPU内部状
態を観測する。 (4)トレース:ユーザーが設定する条件(トレース条
件)で、プログラム実行中のCPU内部状態(トレース
データ)をデバッグ用ホストコンピュータに出力する。
は、以下のような手順で処理するのが一般的である。 (1)ダウンロード:デバッグ用ホストコンピュータよ
り、ユーザーが開発するプログラムをCPUにダウンロ
ードし、実行する。 (2)ブレーク:ユーザーが設定する条件(ブレーク条
件)でCPUを停止させ、CPU内部状態を観測する。 (3)ステップ実行:ユーザーが開発するプログラムを
ソースコード一行毎に止めながら実行し、CPU内部状
態を観測する。 (4)トレース:ユーザーが設定する条件(トレース条
件)で、プログラム実行中のCPU内部状態(トレース
データ)をデバッグ用ホストコンピュータに出力する。
【0003】これらの各処理は、デバッグ用ホストコン
ピュータで動くデバッグソフトウエア上で操作およびデ
ータの表示を行う。なお、上記デバッグの各処理に関し
て、特開2000−109643号公報、特開2000
−242523号公報及び特開2000−339190
号公報に、1個のCPUを搭載したシステムを対象にし
たものが記載されている。また、特開平7−98692
号公報及び特開2000−311931号公報には、複
数CPUを搭載したシステムを対象にしたデバッグ処理
に関する技術が記載されている。
ピュータで動くデバッグソフトウエア上で操作およびデ
ータの表示を行う。なお、上記デバッグの各処理に関し
て、特開2000−109643号公報、特開2000
−242523号公報及び特開2000−339190
号公報に、1個のCPUを搭載したシステムを対象にし
たものが記載されている。また、特開平7−98692
号公報及び特開2000−311931号公報には、複
数CPUを搭載したシステムを対象にしたデバッグ処理
に関する技術が記載されている。
【0004】ところで、複数のCPUを搭載したシステ
ムのデバッグでは、以上説明したダウンロード、ブレー
ク、ステップ実行、トレースを各CPU毎に実施する。
さらに複数CPUが協調動作するシステムにおいては、
各CPUのブレーク、ステップ実行を協調動作させるこ
と、および各CPUトレースデータの時間関係を知るこ
とが効率の良いデバッグに必要となる。
ムのデバッグでは、以上説明したダウンロード、ブレー
ク、ステップ実行、トレースを各CPU毎に実施する。
さらに複数CPUが協調動作するシステムにおいては、
各CPUのブレーク、ステップ実行を協調動作させるこ
と、および各CPUトレースデータの時間関係を知るこ
とが効率の良いデバッグに必要となる。
【0005】複数のCPUを搭載したシステムのデバッ
グに関する従来の技術では、ブレークの協調動作とし
て、各CPUのブレーク条件のORを用いて、すべての
CPUの停止を行っており、 (a)あるCPUのブレーク条件が成立し、停止する。 (b)デバッグ用ホストコンピュータ上で動作するデバ
ッグソフトウエアが1を検出し、残りすべてのCPUに
ブレークを出す。 (c)残りのすべてのCPUが停止する。 という手法で実施している。
グに関する従来の技術では、ブレークの協調動作とし
て、各CPUのブレーク条件のORを用いて、すべての
CPUの停止を行っており、 (a)あるCPUのブレーク条件が成立し、停止する。 (b)デバッグ用ホストコンピュータ上で動作するデバ
ッグソフトウエアが1を検出し、残りすべてのCPUに
ブレークを出す。 (c)残りのすべてのCPUが停止する。 という手法で実施している。
【0006】またデバッグソフトウエアについては、各
CPU毎にデバッグ操作やデータの表示を行うためのプ
ログラムがあり、デバッグ用ホストコンピュータ、ある
いはデバッグ用ホストコンピュータが繋がるネットワー
ク上のコンピュータで動作し、各CPUのデバッグ操作
およびデータの解析を行う。
CPU毎にデバッグ操作やデータの表示を行うためのプ
ログラムがあり、デバッグ用ホストコンピュータ、ある
いはデバッグ用ホストコンピュータが繋がるネットワー
ク上のコンピュータで動作し、各CPUのデバッグ操作
およびデータの解析を行う。
【0007】
【発明が解決しようとする課題】複数のCPUを搭載し
たシステムのデバッグに関する上記従来技術では、ホス
トコンピュータ上で動作するデバッグソフトウエアを用
いて、ブレークの協調動作を行うことから、ブレーク条
件が成立したCPUが停止する時刻と、残りのCPUが
停止する時刻とにずれが発生し、複数のCPUがお互い
に強く関連して協調動作するシステムのデバッグにおけ
る、CPU停止時刻の厳密性を十分確保できないという
問題点があった。
たシステムのデバッグに関する上記従来技術では、ホス
トコンピュータ上で動作するデバッグソフトウエアを用
いて、ブレークの協調動作を行うことから、ブレーク条
件が成立したCPUが停止する時刻と、残りのCPUが
停止する時刻とにずれが発生し、複数のCPUがお互い
に強く関連して協調動作するシステムのデバッグにおけ
る、CPU停止時刻の厳密性を十分確保できないという
問題点があった。
【0008】このように、上記従来技術では、ステップ
実行の協調動作、すなわち、あるCPUをステップ実行
しているとき、それに合わせて残りのCPUも逐一実行
していく、といったことを行うことはできない。
実行の協調動作、すなわち、あるCPUをステップ実行
しているとき、それに合わせて残りのCPUも逐一実行
していく、といったことを行うことはできない。
【0009】また、上記従来技術では、トレースデータ
を、各CPU毎別々に格納し、各トレースデータの時間
関係の対応を取ることができない。
を、各CPU毎別々に格納し、各トレースデータの時間
関係の対応を取ることができない。
【0010】さらに、上記従来技術では、各CPU毎の
デバッグソフトウエアのデータ表示部が関連していない
ため、各CPUのブレーク、ステップ実行におけるブレ
ーク条件成立個所および停止位置の対応、トレースデー
タの時間関連を理解することが困難である。
デバッグソフトウエアのデータ表示部が関連していない
ため、各CPUのブレーク、ステップ実行におけるブレ
ーク条件成立個所および停止位置の対応、トレースデー
タの時間関連を理解することが困難である。
【0011】本発明は、複数CPUのブレーク、ステッ
プ実行の協調動作における厳密な同期性を確保し、複数
のCPUがお互いに強く関連して協調動作する、協調デ
バッグ回路を備えるコンピュータシステム及びデバッグ
方法を提供することを目的とする。
プ実行の協調動作における厳密な同期性を確保し、複数
のCPUがお互いに強く関連して協調動作する、協調デ
バッグ回路を備えるコンピュータシステム及びデバッグ
方法を提供することを目的とする。
【0012】本発明の他の目的は、各CPUのブレー
ク、ステップ実行におけるブレーク条件成立個所および
停止位置の対応、トレースデータの時間関係を分かりや
すく表示する協調デバッグ回路を備えるコンピュータシ
ステム及びデバッグ方法を提供することにある。
ク、ステップ実行におけるブレーク条件成立個所および
停止位置の対応、トレースデータの時間関係を分かりや
すく表示する協調デバッグ回路を備えるコンピュータシ
ステム及びデバッグ方法を提供することにある。
【0013】本発明の他の目的は、複数CPUのデバッ
グを行う場合に,各CPUのブレーク、ステップ実行に
おけるブレーク条件成立個所および停止位置の対応、ト
レースデータの時間関係を分かりやすく表示する表示部
を備えた外部デバイスを提供することにある。
グを行う場合に,各CPUのブレーク、ステップ実行に
おけるブレーク条件成立個所および停止位置の対応、ト
レースデータの時間関係を分かりやすく表示する表示部
を備えた外部デバイスを提供することにある。
【0014】本発明の他の目的は、複数CPUのデバッ
グを行う場合に,他のCPUとの間で、各CPUのブレ
ーク、ステップ実行の協調動作における厳密な同期性を
確保でき、デバッグを行うのに適したCPUを提供する
ことにある。
グを行う場合に,他のCPUとの間で、各CPUのブレ
ーク、ステップ実行の協調動作における厳密な同期性を
確保でき、デバッグを行うのに適したCPUを提供する
ことにある。
【0015】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、複数のCPUを搭載したコンピュータシ
ステムにおいて、前記複数のCPUとそれぞれデバッグ
用の信号ラインを介して接続され、当該システムのデバ
ッグを行う際に使用する外部デバイスと接続するための
外部デバッグ信号端子を有する協調デバッグ回路を備
え、前記協調デバッグ回路は、ブレーク入力組み合わせ
回路を有しており、該ブレーク入力組み合わせ回路は、
前記複数のCPUとそれぞれ、当該CPUのブレーク条
件が成立したことを示すブレーク出力信号ラインと、デ
バッグ用に当該CPUを停止するためのブレーク入力信
号ラインとを介して接続され、当該CPUからのブレー
ク出力信号を組み合わせて当該CPUへのブレーク入力
信号を生成して、当該CPUブレーク間の協調を行う、
ことを特徴とする。
に、本発明は、複数のCPUを搭載したコンピュータシ
ステムにおいて、前記複数のCPUとそれぞれデバッグ
用の信号ラインを介して接続され、当該システムのデバ
ッグを行う際に使用する外部デバイスと接続するための
外部デバッグ信号端子を有する協調デバッグ回路を備
え、前記協調デバッグ回路は、ブレーク入力組み合わせ
回路を有しており、該ブレーク入力組み合わせ回路は、
前記複数のCPUとそれぞれ、当該CPUのブレーク条
件が成立したことを示すブレーク出力信号ラインと、デ
バッグ用に当該CPUを停止するためのブレーク入力信
号ラインとを介して接続され、当該CPUからのブレー
ク出力信号を組み合わせて当該CPUへのブレーク入力
信号を生成して、当該CPUブレーク間の協調を行う、
ことを特徴とする。
【0016】本発明によれば、各CPUブレーク間の協
調を、ハードウエアで実現し、ブレークおよび、ステッ
プ実行の厳密な同期が可能となる。
調を、ハードウエアで実現し、ブレークおよび、ステッ
プ実行の厳密な同期が可能となる。
【0017】本発明の他の特徴は、複数のCPUを搭載
したコンピュータシステムにおいて、前記複数のCPU
とそれぞれデバッグ用の信号ラインを介して接続され、
当該システムのデバッグを行う際に使用する外部デバイ
スと接続するための外部デバッグ信号端子を有する協調
デバッグ回路を備え、前記協調デバッグ回路は、ブレー
ク復帰入力組み合わせ回路を有しており、前記ブレーク
復帰入力組み合わせ回路は、前記複数のCPUとそれぞ
れ、当該CPUのブレーク復帰命令実行を示すブレーク
復帰出力信号ラインと、当該CPUのブレークを解除す
るためのブレーク復帰入力信号ラインとを介して接続さ
れ、当該CPUからのブレーク復帰出力信号を組み合わ
せて当該CPUへのブレーク復帰入力信号を生成し、当
該CPUブレーク復帰間の協調を行うことにある。
したコンピュータシステムにおいて、前記複数のCPU
とそれぞれデバッグ用の信号ラインを介して接続され、
当該システムのデバッグを行う際に使用する外部デバイ
スと接続するための外部デバッグ信号端子を有する協調
デバッグ回路を備え、前記協調デバッグ回路は、ブレー
ク復帰入力組み合わせ回路を有しており、前記ブレーク
復帰入力組み合わせ回路は、前記複数のCPUとそれぞ
れ、当該CPUのブレーク復帰命令実行を示すブレーク
復帰出力信号ラインと、当該CPUのブレークを解除す
るためのブレーク復帰入力信号ラインとを介して接続さ
れ、当該CPUからのブレーク復帰出力信号を組み合わ
せて当該CPUへのブレーク復帰入力信号を生成し、当
該CPUブレーク復帰間の協調を行うことにある。
【0018】本発明によれば、各CPUブレーク間の協
調を、ハードウエアで実現し、ブレークおよび、ステッ
プ実行の厳密な同期が可能となる。
調を、ハードウエアで実現し、ブレークおよび、ステッ
プ実行の厳密な同期が可能となる。
【0019】本発明の他の特徴は、複数のCPUを搭載
したコンピュータシステムにおいて、前記複数のCPU
とそれぞれデバッグ用の信号ラインを介して接続され、
当該システムのデバッグを行う際に使用する外部デバイ
スと接続するための外部デバッグ信号端子を有する協調
デバッグ回路を備え、前記協調デバッグ回路は、協調ブ
レークステータスレジスタを有しており、該協調ブレー
クステータスレジスタは、前記複数のCPUとそれぞ
れ、当該CPUのブレーク条件が成立したことを示すブ
レーク出力信号ラインと、当該CPUがブレークを受け
付けたことを示すブレーク受付信号ラインとを介して接
続され、前記ブレーク受付信号より生成されるタイミン
グにより、前記複数のCPUのブレーク出力信号を記憶
し、記憶した値を、前記外部デバッグ信号端子を介して
接続された外部デバイスに出力することにある。
したコンピュータシステムにおいて、前記複数のCPU
とそれぞれデバッグ用の信号ラインを介して接続され、
当該システムのデバッグを行う際に使用する外部デバイ
スと接続するための外部デバッグ信号端子を有する協調
デバッグ回路を備え、前記協調デバッグ回路は、協調ブ
レークステータスレジスタを有しており、該協調ブレー
クステータスレジスタは、前記複数のCPUとそれぞ
れ、当該CPUのブレーク条件が成立したことを示すブ
レーク出力信号ラインと、当該CPUがブレークを受け
付けたことを示すブレーク受付信号ラインとを介して接
続され、前記ブレーク受付信号より生成されるタイミン
グにより、前記複数のCPUのブレーク出力信号を記憶
し、記憶した値を、前記外部デバッグ信号端子を介して
接続された外部デバイスに出力することにある。
【0020】本発明によれば、前記外部デバイスが前記
複数CPUのブレーク成立状態の情報を解釈することが
可能となる。
複数CPUのブレーク成立状態の情報を解釈することが
可能となる。
【0021】本発明の他の特徴は、前記協調デバッグ回
路が、前記複数のCPUとそれぞれ、当該CPUの内部
状態を出力するトレースデータ出力信号を介して接続さ
れ、前記複数のCPUのトレースデータ出力信号を記憶
する、トレースデータ格納部を備え、前記トレースデー
タ格納部は、当該CPUトレースデータ出力信号と、当
該CPUトレースデータ出力信号の出力時間情報とを組
み合わせて記憶させることにある。
路が、前記複数のCPUとそれぞれ、当該CPUの内部
状態を出力するトレースデータ出力信号を介して接続さ
れ、前記複数のCPUのトレースデータ出力信号を記憶
する、トレースデータ格納部を備え、前記トレースデー
タ格納部は、当該CPUトレースデータ出力信号と、当
該CPUトレースデータ出力信号の出力時間情報とを組
み合わせて記憶させることにある。
【0022】これにより、複数CPUトレースデータの
時間関係の対応付けを行うことが可能となる。
時間関係の対応付けを行うことが可能となる。
【0023】本発明の他の特徴は、複数のCPUを搭載
したコンピュータシステムに外部デバイスインターフェ
ースを介して接続され、前記CPUのデバッグを行うた
めの外部デバイスであって、計算機、記憶装置、及び表
示部を備えたものにおいて、前記計算機は、前記記憶装
置に格納されているデバッグ用プログラムを読み込み実
行する機能を有し、かつ、前記表示部に、前記CPUの
デバッグ用プログラム操作のためのボタン群と、コマン
ド入力欄を表示し、前記プログラムの実行結果および前
記外部デバイスインターフェース信号からの情報をデー
タ表示欄に表示する機能を有し、当該CPUが実行する
プログラムのブレーク条件成立個所を前記表示部に強調
表示し、あるいは停止個所を前記表示部に並べて表示す
ることにある。
したコンピュータシステムに外部デバイスインターフェ
ースを介して接続され、前記CPUのデバッグを行うた
めの外部デバイスであって、計算機、記憶装置、及び表
示部を備えたものにおいて、前記計算機は、前記記憶装
置に格納されているデバッグ用プログラムを読み込み実
行する機能を有し、かつ、前記表示部に、前記CPUの
デバッグ用プログラム操作のためのボタン群と、コマン
ド入力欄を表示し、前記プログラムの実行結果および前
記外部デバイスインターフェース信号からの情報をデー
タ表示欄に表示する機能を有し、当該CPUが実行する
プログラムのブレーク条件成立個所を前記表示部に強調
表示し、あるいは停止個所を前記表示部に並べて表示す
ることにある。
【0024】本発明によれば、前記複数CPUのブレー
ク、ステップ実行におけるブレーク条件成立個所と前記
複数CPUの停止位置の対応を分かりやすく表現するこ
とが可能となる。
ク、ステップ実行におけるブレーク条件成立個所と前記
複数CPUの停止位置の対応を分かりやすく表現するこ
とが可能となる。
【0025】本発明の他の特徴は、外部デバイスにおい
て、当該CPUのトレースデータを、出力時間の関係が
分かるよう並べて表示することにある。これにより、各
CPUトレースデータの時間関係を分かりやすく表示す
ることが可能となる。
て、当該CPUのトレースデータを、出力時間の関係が
分かるよう並べて表示することにある。これにより、各
CPUトレースデータの時間関係を分かりやすく表示す
ることが可能となる。
【0026】本発明の他の特徴は、デバッグ機能を有す
るCPUであって、少なくともプログラム格納部、命令
デコード部、制御部、デバッグコントローラを備えたも
のにおいて、前記制御部が、当該CPUのブレーク条件
が成立したことを示すブレーク出力と、デバッグ用に当
該CPUを停止するためのブレーク入力信号とを備える
ことにある。これにより、複数のCPU間で各CPUの
ブレーク、ステップ実行の協調動作における厳密な同期
性を確保でき、デバッグを行うのに適したCPUを提供
することができる。
るCPUであって、少なくともプログラム格納部、命令
デコード部、制御部、デバッグコントローラを備えたも
のにおいて、前記制御部が、当該CPUのブレーク条件
が成立したことを示すブレーク出力と、デバッグ用に当
該CPUを停止するためのブレーク入力信号とを備える
ことにある。これにより、複数のCPU間で各CPUの
ブレーク、ステップ実行の協調動作における厳密な同期
性を確保でき、デバッグを行うのに適したCPUを提供
することができる。
【0027】
【発明の実施の形態】以下本発明の実施例を、図面より
詳細に記述する。図1は、本発明の一実施例になる協調
デバッグ回路を備えるコンピュータシステムの全体構成
図である。1は、複数のCPUを搭載したコンピュータ
システムであり、n個のCPU、CPU1(11)、C
PU2(12)〜CPUn(13)および協調デバッグ
回路3を備えている。本実施例では、CPU1(1
1)、CPU2(12)〜CPUn(13)は、少なく
とも信号ラインのインターフェースが同一のCPUとす
る。これらのCPU1(11)、CPU2(12)〜C
PUn(13)は、図2にて後述するデバッグ機能を備
えたCPUである。
詳細に記述する。図1は、本発明の一実施例になる協調
デバッグ回路を備えるコンピュータシステムの全体構成
図である。1は、複数のCPUを搭載したコンピュータ
システムであり、n個のCPU、CPU1(11)、C
PU2(12)〜CPUn(13)および協調デバッグ
回路3を備えている。本実施例では、CPU1(1
1)、CPU2(12)〜CPUn(13)は、少なく
とも信号ラインのインターフェースが同一のCPUとす
る。これらのCPU1(11)、CPU2(12)〜C
PUn(13)は、図2にて後述するデバッグ機能を備
えたCPUである。
【0028】協調デバッグ回路3は、信号ライン211
〜218を介してCPU1(11)と接続されている。
信号ライン211でCPU1(11)のブレーク条件が
成立したことを示すブレーク出力信号brko1が伝達
され、信号ライン212でデバッグ用にCPU1(1
1)を停止するためのブレーク入力信号brki1が伝
達される。信号ライン213でCPU1(11)のブレ
ーク復帰命令実行を示すブレーク復帰出力信号rtbo
1が伝達され、信号ライン214でCPU1(11)の
ブレークを解除するためのブレーク復帰入力信号rtb
i1が伝達される。信号ライン215でCPU1(1
1)のプログラムカウンタ値を出力するプログラムカウ
ンタ出力信号pc1が伝達され、信号ライン216でC
PU1(11)がブレークを受け付けたことを示すブレ
ーク受付信号brkack1が伝達される。信号ライン
217でCPU1(11)の内部状態を出力するトレー
スデータ出力信号td1が伝達され、信号ライン218
でCPU1(11)と外部デバイス間のコマンド、デー
タを入出力するデバッグデータ信号db1が伝達され
る。
〜218を介してCPU1(11)と接続されている。
信号ライン211でCPU1(11)のブレーク条件が
成立したことを示すブレーク出力信号brko1が伝達
され、信号ライン212でデバッグ用にCPU1(1
1)を停止するためのブレーク入力信号brki1が伝
達される。信号ライン213でCPU1(11)のブレ
ーク復帰命令実行を示すブレーク復帰出力信号rtbo
1が伝達され、信号ライン214でCPU1(11)の
ブレークを解除するためのブレーク復帰入力信号rtb
i1が伝達される。信号ライン215でCPU1(1
1)のプログラムカウンタ値を出力するプログラムカウ
ンタ出力信号pc1が伝達され、信号ライン216でC
PU1(11)がブレークを受け付けたことを示すブレ
ーク受付信号brkack1が伝達される。信号ライン
217でCPU1(11)の内部状態を出力するトレー
スデータ出力信号td1が伝達され、信号ライン218
でCPU1(11)と外部デバイス間のコマンド、デー
タを入出力するデバッグデータ信号db1が伝達され
る。
【0029】協調デバッグ回路3は、CPU2(12)
〜CPUn(13)の各CPUについても、同様の信号
ライン221〜228、231〜238を介して接続さ
れている。各信号はそれぞれ、信号ライン221でCP
U2(12)のブレーク条件が成立したことを示すブレ
ーク出力信号brko2が伝達され、信号ライン222
でデバッグ用にCPU2(12)を停止するためのブレ
ーク入力信号brki2が伝達される。信号ライン22
3でCPU2(12)のブレーク復帰命令実行を示すブ
レーク復帰出力信号rtbo2が伝達され、信号ライン
224でCPU2(12)のブレークを解除するための
ブレーク復帰入力信号rtbi2が伝達される。信号ラ
イン225でCPU2(12)のプログラムカウンタ値
を出力するプログラムカウンタ出力信号pc2が伝達さ
れ、信号ライン226でCPU2(12)がブレークを
受け付けたことを示すブレーク受付信号brkack2
が伝達される。信号ライン227でCPU2(12)の
内部状態を出力するトレースデータ出力信号td2が伝
達され、信号ライン228でCPU2(12)と外部デ
バイス間のコマンド、データを入出力するデバッグデー
タ信号db2が伝達される。
〜CPUn(13)の各CPUについても、同様の信号
ライン221〜228、231〜238を介して接続さ
れている。各信号はそれぞれ、信号ライン221でCP
U2(12)のブレーク条件が成立したことを示すブレ
ーク出力信号brko2が伝達され、信号ライン222
でデバッグ用にCPU2(12)を停止するためのブレ
ーク入力信号brki2が伝達される。信号ライン22
3でCPU2(12)のブレーク復帰命令実行を示すブ
レーク復帰出力信号rtbo2が伝達され、信号ライン
224でCPU2(12)のブレークを解除するための
ブレーク復帰入力信号rtbi2が伝達される。信号ラ
イン225でCPU2(12)のプログラムカウンタ値
を出力するプログラムカウンタ出力信号pc2が伝達さ
れ、信号ライン226でCPU2(12)がブレークを
受け付けたことを示すブレーク受付信号brkack2
が伝達される。信号ライン227でCPU2(12)の
内部状態を出力するトレースデータ出力信号td2が伝
達され、信号ライン228でCPU2(12)と外部デ
バイス間のコマンド、データを入出力するデバッグデー
タ信号db2が伝達される。
【0030】さらに、信号ライン231でCPUn(1
3)のブレーク条件が成立したことを示すブレーク出力
信号brkonが伝達され、信号ライン232でデバッ
グ用にCPUn(13)を停止するためのブレーク入力
信号brkinが伝達される。信号ライン233でCP
Un(13)のブレーク復帰命令実行を示すブレーク復
帰出力信号rtbonが伝達される。信号ライン234
でCPUn(13)のブレークを解除するためのブレー
ク復帰入力信号rtbinが伝達される。信号ライン2
35でCPUn(13)のプログラムカウンタ値を出力
するプログラムカウンタ出力信号pcnが伝達される。
信号ライン236でCPUn(13)がブレークを受け
付けたことを示すブレーク受付信号brkacknが伝
達される。信号ライン237でCPUn(13)の内部
状態を出力するトレースデータ出力信号tdnが伝達さ
れる。信号ライン238でCPUn(13)と外部デバ
イス間のコマンド、データを入出力するデバッグデータ
信号dbnが伝達される。
3)のブレーク条件が成立したことを示すブレーク出力
信号brkonが伝達され、信号ライン232でデバッ
グ用にCPUn(13)を停止するためのブレーク入力
信号brkinが伝達される。信号ライン233でCP
Un(13)のブレーク復帰命令実行を示すブレーク復
帰出力信号rtbonが伝達される。信号ライン234
でCPUn(13)のブレークを解除するためのブレー
ク復帰入力信号rtbinが伝達される。信号ライン2
35でCPUn(13)のプログラムカウンタ値を出力
するプログラムカウンタ出力信号pcnが伝達される。
信号ライン236でCPUn(13)がブレークを受け
付けたことを示すブレーク受付信号brkacknが伝
達される。信号ライン237でCPUn(13)の内部
状態を出力するトレースデータ出力信号tdnが伝達さ
れる。信号ライン238でCPUn(13)と外部デバ
イス間のコマンド、データを入出力するデバッグデータ
信号dbnが伝達される。
【0031】また、協調デバッグ回路3は外部デバイス
信号ライン4を介して、ユーザーがシステムのデバッグ
作業を行うために用いる外部デバイス5に接続されてい
る。
信号ライン4を介して、ユーザーがシステムのデバッグ
作業を行うために用いる外部デバイス5に接続されてい
る。
【0032】複数CPUを搭載したシステム1は、1チ
ップ上に実装しても良いし、各回路を複数チップに分割
してボード上に実装しても良い。
ップ上に実装しても良いし、各回路を複数チップに分割
してボード上に実装しても良い。
【0033】図2は、デバッグの対象となるCPU1
(11)の詳細図である。CPU1(11)は、プログ
ラムカウンタ2314、プログラム格納部2313、命
令デコード部2312、制御部2311、デバッグコン
トローラ2310、CPU内部バス2321を有してい
る。
(11)の詳細図である。CPU1(11)は、プログ
ラムカウンタ2314、プログラム格納部2313、命
令デコード部2312、制御部2311、デバッグコン
トローラ2310、CPU内部バス2321を有してい
る。
【0034】プログラムカウンタ2314は、CPUが
次に実行する命令の、プログラム格納部2313におけ
るアドレスを保持する。また、デバッグに必要な情報と
して、信号ライン215を介して、プログラムカウンタ
の値pc1をCPU外部に出力する。
次に実行する命令の、プログラム格納部2313におけ
るアドレスを保持する。また、デバッグに必要な情報と
して、信号ライン215を介して、プログラムカウンタ
の値pc1をCPU外部に出力する。
【0035】プログラム格納部2313はCPUが実行
するプログラムを格納し、制御部2311が信号ライン
2325を介して出力する制御信号により、プログラム
カウンタ2314から信号ライン2324を介して入力
されたプログラムカウンタ値が示すアドレスに格納して
いる命令を、内部バス2321を経由して命令デコード
部2312に送信する。
するプログラムを格納し、制御部2311が信号ライン
2325を介して出力する制御信号により、プログラム
カウンタ2314から信号ライン2324を介して入力
されたプログラムカウンタ値が示すアドレスに格納して
いる命令を、内部バス2321を経由して命令デコード
部2312に送信する。
【0036】命令デコード部2312は、プログラム格
納部2313から内部バス2321を経由して入力した
命令を解釈して、解釈した結果を信号ライン2324を
介して制御部2311に出力する。
納部2313から内部バス2321を経由して入力した
命令を解釈して、解釈した結果を信号ライン2324を
介して制御部2311に出力する。
【0037】またCPUがブレーク復帰命令を解釈した
時、他CPUとブレーク復帰を連動するために、ブレー
ク復帰出力信号ライン213にブレーク復帰命令実行を
示す信号rtbo1をCPU外部に出力する。
時、他CPUとブレーク復帰を連動するために、ブレー
ク復帰出力信号ライン213にブレーク復帰命令実行を
示す信号rtbo1をCPU外部に出力する。
【0038】制御部2311は、信号ライン212を介
して入力されるデバッグ用にCPUを停止するためのブ
レーク入力信号brki1と、信号ライン214を介し
て入力されるCPUのブレークを解除するためのブレー
ク復帰入力信号rtbi1と、命令デコード部2312
からの信号ライン2324を介して入力される命令デコ
ード信号とを入力してCPUの次サイクルの状態を計算
し、信号ライン2323を介してプログラムカウンタに
制御信号を送り、プログラムの流れを制御する。
して入力されるデバッグ用にCPUを停止するためのブ
レーク入力信号brki1と、信号ライン214を介し
て入力されるCPUのブレークを解除するためのブレー
ク復帰入力信号rtbi1と、命令デコード部2312
からの信号ライン2324を介して入力される命令デコ
ード信号とを入力してCPUの次サイクルの状態を計算
し、信号ライン2323を介してプログラムカウンタに
制御信号を送り、プログラムの流れを制御する。
【0039】また、CPUがブレークを受け付けている
間、信号ライン216を介してブレークを受け付けたこ
とを示すブレーク受付信号brkack1を出力する。
また、プログラム格納部2313対し、格納している命
令を内部バス2321に出力する制御信号を信号ライン
2325を介して出力する。
間、信号ライン216を介してブレークを受け付けたこ
とを示すブレーク受付信号brkack1を出力する。
また、プログラム格納部2313対し、格納している命
令を内部バス2321に出力する制御信号を信号ライン
2325を介して出力する。
【0040】デバッグコントローラ2310は、デバッ
グデータ信号ライン218を介して入力されるコマン
ド、データdb1を解釈し、CPU内部バス2321を
経由して、デバッグ対象となるプログラムをCPUへダ
ウンロードする。また、デバッグデータ信号ライン21
8を介して入力されるコマンド、データdb1を解釈
し、デバッグコントローラ内部にCPUのブレーク条件
を保持する。また、CPU内部バス2321、プログラ
ムカウンタ出力信号pc1を監視し、ブレーク条件が成
立した事象を検出すると、ブレーク出力信号ライン21
1にブレーク条件が成立したことを示す信号brko1
を出力する。デバッグコントローラ2310は、また、
CPU内部バス2321の値をトレースデータ出力信号
td1としてライン217に出力する。
グデータ信号ライン218を介して入力されるコマン
ド、データdb1を解釈し、CPU内部バス2321を
経由して、デバッグ対象となるプログラムをCPUへダ
ウンロードする。また、デバッグデータ信号ライン21
8を介して入力されるコマンド、データdb1を解釈
し、デバッグコントローラ内部にCPUのブレーク条件
を保持する。また、CPU内部バス2321、プログラ
ムカウンタ出力信号pc1を監視し、ブレーク条件が成
立した事象を検出すると、ブレーク出力信号ライン21
1にブレーク条件が成立したことを示す信号brko1
を出力する。デバッグコントローラ2310は、また、
CPU内部バス2321の値をトレースデータ出力信号
td1としてライン217に出力する。
【0041】図3は、図1の協調デバッグ回路3の詳細
図である。協調デバッグ回路3は、ブレーク協調組み合
わせ回路201、協調ブレークコントロールレジスタ2
02、協調ブレークステータスレジスタ203、トレー
スデータ格納部204、外部デバイスインターフェース
部205を備えている。
図である。協調デバッグ回路3は、ブレーク協調組み合
わせ回路201、協調ブレークコントロールレジスタ2
02、協調ブレークステータスレジスタ203、トレー
スデータ格納部204、外部デバイスインターフェース
部205を備えている。
【0042】ブレーク協調組み合わせ回路201は、各
CPUからのブレーク出力信号brko1(ライン21
1)、brko2(ライン221)〜brkon(ライ
ン231)を組み合わせて、各CPUへのブレーク入力
信号brki1(ライン212)、brki2(ライン
222)〜brkin(ライン232)を出力し、各C
PUからのブレーク復帰出力信号rtbo1(ライン2
13)、rtbo2(ライン223)〜rtbon(ラ
イン233)を組み合わせて、各CPUへのブレーク復
帰入力信号rtbi1(ライン214)、rtbi2
(ライン224)〜rtbin(ライン234)を出力
している。
CPUからのブレーク出力信号brko1(ライン21
1)、brko2(ライン221)〜brkon(ライ
ン231)を組み合わせて、各CPUへのブレーク入力
信号brki1(ライン212)、brki2(ライン
222)〜brkin(ライン232)を出力し、各C
PUからのブレーク復帰出力信号rtbo1(ライン2
13)、rtbo2(ライン223)〜rtbon(ラ
イン233)を組み合わせて、各CPUへのブレーク復
帰入力信号rtbi1(ライン214)、rtbi2
(ライン224)〜rtbin(ライン234)を出力
している。
【0043】以上述べたブレーク協調組み合わせ回路2
01の出力信号の生成方法は、協調ブレークコントロー
ルレジスタ202の出力信号2011により設定する。
ブレーク協調組み合わせ回路201および協調ブレーク
コントロールレジスタ202の詳細は、図4、図7を用
いて後述する。
01の出力信号の生成方法は、協調ブレークコントロー
ルレジスタ202の出力信号2011により設定する。
ブレーク協調組み合わせ回路201および協調ブレーク
コントロールレジスタ202の詳細は、図4、図7を用
いて後述する。
【0044】協調ブレークステータスレジスタ203
は、各CPUからのブレーク入力信号brko1(ライ
ン211)、brko2(ライン221)〜brkon
(ライン231)、および各CPUからのプログラムカ
ウンタ出力信号pc1(ライン215)、pc2(ライ
ン225)〜pcn(ライン235)の値を記憶する。
また協調ブレークステータスレジスタ203は、各CP
Uからのブレーク受付信号brkack1(ライン21
6)、brkack2(ライン226)〜brkack
n(ライン236)を制御信号として用いる。協調ブレ
ークステータスレジスタ203の詳細は、図9を用いて
後述する。
は、各CPUからのブレーク入力信号brko1(ライ
ン211)、brko2(ライン221)〜brkon
(ライン231)、および各CPUからのプログラムカ
ウンタ出力信号pc1(ライン215)、pc2(ライ
ン225)〜pcn(ライン235)の値を記憶する。
また協調ブレークステータスレジスタ203は、各CP
Uからのブレーク受付信号brkack1(ライン21
6)、brkack2(ライン226)〜brkack
n(ライン236)を制御信号として用いる。協調ブレ
ークステータスレジスタ203の詳細は、図9を用いて
後述する。
【0045】トレースデータ格納部204は、各CPU
からのトレースデータ出力信号td1(ライン21
7)、td2(ライン227)〜tdn(ライン23
7)の値を記憶する。トレースデータ格納部204の詳
細は、図22、図25を用いて後述する。
からのトレースデータ出力信号td1(ライン21
7)、td2(ライン227)〜tdn(ライン23
7)の値を記憶する。トレースデータ格納部204の詳
細は、図22、図25を用いて後述する。
【0046】外部デバイスインターフェース部205
は、外部デバイス5からの外部デバイス信号(4)を介
して送られてくる各CPUへのデバッグコマンドおよび
データを、デバッグデータ信号db1、db2〜dbn
を、各ライン(218、228〜238)を介して各C
PUに転送し、各CPUへのプログラムダウンロード、
ブレーク条件の設定等を行う。
は、外部デバイス5からの外部デバイス信号(4)を介
して送られてくる各CPUへのデバッグコマンドおよび
データを、デバッグデータ信号db1、db2〜dbn
を、各ライン(218、228〜238)を介して各C
PUに転送し、各CPUへのプログラムダウンロード、
ブレーク条件の設定等を行う。
【0047】また外部デバイス5から外部デバイス信号
ライン4を介して、信号ライン2012を介しての協調
ブレークコントロールレジスタ202の書き込み、信号
ライン2013を介しての協調ブレークステータスレジ
スタ203の読み込み、信号ライン2014を介しての
トレースデータ格納部のデータ読み出しを行う。
ライン4を介して、信号ライン2012を介しての協調
ブレークコントロールレジスタ202の書き込み、信号
ライン2013を介しての協調ブレークステータスレジ
スタ203の読み込み、信号ライン2014を介しての
トレースデータ格納部のデータ読み出しを行う。
【0048】図4はブレーク協調組み合わせ回路20
1、および協調ブレークコントロールレジスタ202の
詳細図である。協調ブレークコントロールレジスタ20
2は、各CPU毎のブレーク協調を設定するビットCB
EN1(3011)、CBEN2(3012)〜CBE
Nn(3013)から構成される。CBEN1(301
1)は、CPU1のブレーク協調を設定するビットで、
値が1の場合CPU1のブレークがその他のCPUブレ
ークと協調し、0の場合協調しない。CBEN2(30
12)〜 CBENn(3013)は、それぞれ、CP
U2〜CPUnに対応し、同様の設定を行う。ブレーク
協調組み合わせ回路201は、ブレーク入力組み合わせ
回路301、ブレーク復帰入力組み合わせ回路302か
ら構成される。ブレーク入力組み合わせ回路301は、
協調ブレークコントロールレジスタ202の値を信号ラ
イン2012を介して入力し、図4のブレーク入力組み
合わせ回路301の枠内に示す論理式に従い、各CPU
からのブレーク出力信号brko1(ライン211)、
brko2(ライン221)〜brkon(ライン23
1)を組み合わせて、各CPUへのブレーク入力信号b
rki1ライン(212)、brki2(ライン22
2)〜brkin(ライン232)を出力する。ブレー
ク復帰入力組み合わせ回路302は、協調ブレークコン
トロールレジスタ202の値を信号ライン2011を介
して入力し、図4のブレーク復帰入力組み合わせ回路3
02枠内に示す論理式に従い、各CPUからのブレーク
復帰出力信号rtbo1(ライン213)、rtbo2
(ライン223)〜rtbon(ライン233)を組み
合わせて、各CPUへのブレーク復帰入力信号rtbi
1(ライン214)、rtbi2(ライン224)〜r
tbin(ライン234)を出力する。
1、および協調ブレークコントロールレジスタ202の
詳細図である。協調ブレークコントロールレジスタ20
2は、各CPU毎のブレーク協調を設定するビットCB
EN1(3011)、CBEN2(3012)〜CBE
Nn(3013)から構成される。CBEN1(301
1)は、CPU1のブレーク協調を設定するビットで、
値が1の場合CPU1のブレークがその他のCPUブレ
ークと協調し、0の場合協調しない。CBEN2(30
12)〜 CBENn(3013)は、それぞれ、CP
U2〜CPUnに対応し、同様の設定を行う。ブレーク
協調組み合わせ回路201は、ブレーク入力組み合わせ
回路301、ブレーク復帰入力組み合わせ回路302か
ら構成される。ブレーク入力組み合わせ回路301は、
協調ブレークコントロールレジスタ202の値を信号ラ
イン2012を介して入力し、図4のブレーク入力組み
合わせ回路301の枠内に示す論理式に従い、各CPU
からのブレーク出力信号brko1(ライン211)、
brko2(ライン221)〜brkon(ライン23
1)を組み合わせて、各CPUへのブレーク入力信号b
rki1ライン(212)、brki2(ライン22
2)〜brkin(ライン232)を出力する。ブレー
ク復帰入力組み合わせ回路302は、協調ブレークコン
トロールレジスタ202の値を信号ライン2011を介
して入力し、図4のブレーク復帰入力組み合わせ回路3
02枠内に示す論理式に従い、各CPUからのブレーク
復帰出力信号rtbo1(ライン213)、rtbo2
(ライン223)〜rtbon(ライン233)を組み
合わせて、各CPUへのブレーク復帰入力信号rtbi
1(ライン214)、rtbi2(ライン224)〜r
tbin(ライン234)を出力する。
【0049】ブレーク入力信号brki1(ライン21
2)、ブレーク復帰入力信号rtbi1(ライン21
4)の具体例を示すと、CBEN1=1、CBEN2=
1、CBEN3〜CBENn=0の場合(以後CPU1
とCPU2のORブレークと呼ぶ)、 brki1=brko1+brko2、 rtbi1=
rtbo2 となる。
2)、ブレーク復帰入力信号rtbi1(ライン21
4)の具体例を示すと、CBEN1=1、CBEN2=
1、CBEN3〜CBENn=0の場合(以後CPU1
とCPU2のORブレークと呼ぶ)、 brki1=brko1+brko2、 rtbi1=
rtbo2 となる。
【0050】以上説明のCPU1(11)〜CPUn
(13)、ブレーク協調組み合わせ回路201、および
協調ブレークコントロールレジスタ202の構成によ
り、CPUブレークの協調動作を実現する。
(13)、ブレーク協調組み合わせ回路201、および
協調ブレークコントロールレジスタ202の構成によ
り、CPUブレークの協調動作を実現する。
【0051】以下、図5〜図8を用いて、本実施例の動
作の詳細を説明する。図5は、CPUが実行するプログ
ラムのメモリ配置を示した図である。アドレス0〜99
9にデバッグの対象となるユーザープログラムが配置さ
れている。ユーザープログラム実行中にブレーク条件が
成立すると、1000番地以降に配置されているブレー
クルーチンにプログラムの流れが分岐する。以後このブ
レークルーチンへの分岐をブレークと呼ぶ。ブレークル
ーチンでは、外部デバイスとのコマンド、データの通信
を通して、CPUへのプログラムダウンロード、CPU
の内部状態観測、ブレーク条件設定、ブレーク復帰等の
処理を行う。ブレークルーチンの最後1400番地にブ
レークルーチンから復帰するRTB命令が配置され、外
部デバイスからのブレーク復帰コマンドにより1400
番地に分岐する。
作の詳細を説明する。図5は、CPUが実行するプログ
ラムのメモリ配置を示した図である。アドレス0〜99
9にデバッグの対象となるユーザープログラムが配置さ
れている。ユーザープログラム実行中にブレーク条件が
成立すると、1000番地以降に配置されているブレー
クルーチンにプログラムの流れが分岐する。以後このブ
レークルーチンへの分岐をブレークと呼ぶ。ブレークル
ーチンでは、外部デバイスとのコマンド、データの通信
を通して、CPUへのプログラムダウンロード、CPU
の内部状態観測、ブレーク条件設定、ブレーク復帰等の
処理を行う。ブレークルーチンの最後1400番地にブ
レークルーチンから復帰するRTB命令が配置され、外
部デバイスからのブレーク復帰コマンドにより1400
番地に分岐する。
【0052】ユーザープログラムからブレークルーチン
に分岐することは、デバッグ用にユーザープログラムを
停止することに相当する。またブレークルーチンから復
帰することはユーザープログラムを再開することに相当
する。
に分岐することは、デバッグ用にユーザープログラムを
停止することに相当する。またブレークルーチンから復
帰することはユーザープログラムを再開することに相当
する。
【0053】以降の説明では、説明を簡明にするため
に、すべてのCPUは図5で示すプログラムのメモリ配
置を持つとする。ただしユーザープログラムおよびブレ
ークルーチンの処理内容は各CPUプログラム毎に異な
るものであっても良い。
に、すべてのCPUは図5で示すプログラムのメモリ配
置を持つとする。ただしユーザープログラムおよびブレ
ークルーチンの処理内容は各CPUプログラム毎に異な
るものであっても良い。
【0054】図6は、CPU1とCPU2のORブレー
クで、各CPUのブレーク行うタイミングチャートの一
例である。なお、図6で示すタイミングチャートでは、
システムのデバッグを行うユーザーが外部デバイスを用
い、あらかじめCPU2のブレーク条件を、“プログラ
ムカウンタ値=501”に設定している。
クで、各CPUのブレーク行うタイミングチャートの一
例である。なお、図6で示すタイミングチャートでは、
システムのデバッグを行うユーザーが外部デバイスを用
い、あらかじめCPU2のブレーク条件を、“プログラ
ムカウンタ値=501”に設定している。
【0055】まず、時刻bにおいて、CPU2のブレー
ク条件が成立し、brko2が1に変化する。引き続
き、図4の説明にて述べた、ブレーク協調組み合わせ回
路(201)の作用により、brki1およびbrki
2が1に変化する。CPU1はbrki1が1に変化し
たことを検出し、ブレークルーチンへの分岐を行う。同
様にCPU2はbrki2が1に変化したことを検出
し、ブレークルーチンへの分岐を行う。
ク条件が成立し、brko2が1に変化する。引き続
き、図4の説明にて述べた、ブレーク協調組み合わせ回
路(201)の作用により、brki1およびbrki
2が1に変化する。CPU1はbrki1が1に変化し
たことを検出し、ブレークルーチンへの分岐を行う。同
様にCPU2はbrki2が1に変化したことを検出
し、ブレークルーチンへの分岐を行う。
【0056】続いて、時刻cにおいて、CPU1はブレ
ークを受け付けたことを示すブレーク受付信号brka
ck1に1を出力する。またブレークルーチン分岐前の
プログラムカウンタの値“401”をプログラムカウン
タ出力信号pc1に出力する。CPU2も同様に、ブレ
ークを受け付けたことを示すブレーク受付信号brka
ck2に1を出力する。またブレークルーチン分岐前の
プログラムカウンタの値“501”をプログラムカウン
タ出力信号pc2に出力する。
ークを受け付けたことを示すブレーク受付信号brka
ck1に1を出力する。またブレークルーチン分岐前の
プログラムカウンタの値“401”をプログラムカウン
タ出力信号pc1に出力する。CPU2も同様に、ブレ
ークを受け付けたことを示すブレーク受付信号brka
ck2に1を出力する。またブレークルーチン分岐前の
プログラムカウンタの値“501”をプログラムカウン
タ出力信号pc2に出力する。
【0057】これらのプログラムカウンタの出力は、図
9で後述の協調ブレークステータスレジスタに入力され
る。時刻c以降のブレークルーチンでは、外部デバイス
と通信を行い、適宜各CPUの内部状態を、外部デバイ
スに出力する。
9で後述の協調ブレークステータスレジスタに入力され
る。時刻c以降のブレークルーチンでは、外部デバイス
と通信を行い、適宜各CPUの内部状態を、外部デバイ
スに出力する。
【0058】続いて時刻hにおいて、CPU2が、外部
デバイスからのブレーク復帰要求を受け、RTB命令を
実行し、ブレークルーチンからユーザープログラムに復
帰する。同時にCPU2のブレーク復帰命令実行を示す
ブレーク復帰出力信号rtbo2に1を出力する。それ
に続き、図4の説明にて述べた、ブレーク協調組み合わ
せ回路(201)の作用により、rtbi1が1に変化
する。CPU1はrtbi1が1に変化したことを検出
し、ブレークルーチンからユーザープログラムに復帰す
る。
デバイスからのブレーク復帰要求を受け、RTB命令を
実行し、ブレークルーチンからユーザープログラムに復
帰する。同時にCPU2のブレーク復帰命令実行を示す
ブレーク復帰出力信号rtbo2に1を出力する。それ
に続き、図4の説明にて述べた、ブレーク協調組み合わ
せ回路(201)の作用により、rtbi1が1に変化
する。CPU1はrtbi1が1に変化したことを検出
し、ブレークルーチンからユーザープログラムに復帰す
る。
【0059】以上説明の動作から明らかなように、本実
施形態によれば、CPU1とCPU2に対し、CPU1
のブレーク条件とCPU2のブレーク条件のORをブレ
ーク条件とする厳密に同期したブレーク行うことが可能
となる。
施形態によれば、CPU1とCPU2に対し、CPU1
のブレーク条件とCPU2のブレーク条件のORをブレ
ーク条件とする厳密に同期したブレーク行うことが可能
となる。
【0060】図7は、ブレーク協調組み合わせ回路20
1の他の実施形態を示す詳細図である。図7に示す協調
ブレークコントロールレジスタ202の構成は、図4の
参照符号202で示した協調ブレークコントロールレジ
スタと同じである。ブレーク協調組み合わせ回路201
は、ブレーク入力組み合わせ回路2401、ブレーク復
帰入力組み合わせ回路2402から構成される。ブレー
ク入力組み合わせ回路2401は、協調ブレークコント
ロールレジスタ202の値を信号ライン2012を介し
て入力し、図4のブレーク入力組み合わせ回路2401
枠内に示す論理式に従い、各CPUからのブレーク出力
信号brko1(ライン211)、brko2(ライン
221)〜brkon(ライン231)を組み合わせ
て、各CPUへのブレーク入力信号brki1(ライン
212)、brki2(ライン222)〜brkin
(ライン232)を出力する。
1の他の実施形態を示す詳細図である。図7に示す協調
ブレークコントロールレジスタ202の構成は、図4の
参照符号202で示した協調ブレークコントロールレジ
スタと同じである。ブレーク協調組み合わせ回路201
は、ブレーク入力組み合わせ回路2401、ブレーク復
帰入力組み合わせ回路2402から構成される。ブレー
ク入力組み合わせ回路2401は、協調ブレークコント
ロールレジスタ202の値を信号ライン2012を介し
て入力し、図4のブレーク入力組み合わせ回路2401
枠内に示す論理式に従い、各CPUからのブレーク出力
信号brko1(ライン211)、brko2(ライン
221)〜brkon(ライン231)を組み合わせ
て、各CPUへのブレーク入力信号brki1(ライン
212)、brki2(ライン222)〜brkin
(ライン232)を出力する。
【0061】ブレーク復帰入力組み合わせ回路2402
は、協調ブレークコントロールレジスタ202の値を信
号ライン2011を介して入力し、図4のブレーク復帰
入力組み合わせ回路2402枠内に示す論理式に従い、
各CPUからのブレーク復帰出力信号rtbo1(ライ
ン213)、rtbo2(ライン223)〜rtbon
(ライン233)を組み合わせて、各CPUへのブレー
ク復帰入力信号rtbi1(ライン214)、rtbi
2(ライン224)〜rtbin(ライン234)を出
力する。
は、協調ブレークコントロールレジスタ202の値を信
号ライン2011を介して入力し、図4のブレーク復帰
入力組み合わせ回路2402枠内に示す論理式に従い、
各CPUからのブレーク復帰出力信号rtbo1(ライ
ン213)、rtbo2(ライン223)〜rtbon
(ライン233)を組み合わせて、各CPUへのブレー
ク復帰入力信号rtbi1(ライン214)、rtbi
2(ライン224)〜rtbin(ライン234)を出
力する。
【0062】ブレーク入力信号brki1(ライン21
2)、ブレーク復帰入力信号rtbi1(ライン21
4)の具体例を示すと、CBEN1=1、CBEN2=
1、CBEN3〜CBENn=0の場合(以後CPU1
とCPU2のANDブレークと呼ぶ)、 brki1=brko1*brko2、 rtbi1=
rtbo2 となる。
2)、ブレーク復帰入力信号rtbi1(ライン21
4)の具体例を示すと、CBEN1=1、CBEN2=
1、CBEN3〜CBENn=0の場合(以後CPU1
とCPU2のANDブレークと呼ぶ)、 brki1=brko1*brko2、 rtbi1=
rtbo2 となる。
【0063】次に、図8は、CPU1とCPU2のAN
Dブレークで、各CPUのブレーク行うタイミングチャ
ートの一例である。なお、図8で示すタイミングチャー
トでは、システムのデバッグを行うユーザーが外部デバ
イスを用い、あらかじめCPU1のブレーク条件を、
“プログラムカウンタ値=403”に、CPU2のブレ
ーク条件を、“プログラムカウンタ値=501”に設定
している。
Dブレークで、各CPUのブレーク行うタイミングチャ
ートの一例である。なお、図8で示すタイミングチャー
トでは、システムのデバッグを行うユーザーが外部デバ
イスを用い、あらかじめCPU1のブレーク条件を、
“プログラムカウンタ値=403”に、CPU2のブレ
ーク条件を、“プログラムカウンタ値=501”に設定
している。
【0064】まず、時刻bにおいて、CPU2のブレー
ク条件が成立し、brko2が1に変化する。続いて、
時刻cにおいて、CPU2はbrko2が1に変化した
ことを検出し、ブレーク条件成立時のプログラムカウン
タの値“501”をプログラムカウンタ出力信号pc2
に出力する。続いて時刻dにおいて、CPU1のブレー
ク条件が成立し、brko1が1に変化する。それに続
き、図7の説明にて述べた、ブレーク協調組み合わせ回
路(201)の作用により、brki1およびbrki
2が1に変化する。CPU1はbrki1が1に変化し
たことを検出し、ブレークルーチンへの分岐を行う。
ク条件が成立し、brko2が1に変化する。続いて、
時刻cにおいて、CPU2はbrko2が1に変化した
ことを検出し、ブレーク条件成立時のプログラムカウン
タの値“501”をプログラムカウンタ出力信号pc2
に出力する。続いて時刻dにおいて、CPU1のブレー
ク条件が成立し、brko1が1に変化する。それに続
き、図7の説明にて述べた、ブレーク協調組み合わせ回
路(201)の作用により、brki1およびbrki
2が1に変化する。CPU1はbrki1が1に変化し
たことを検出し、ブレークルーチンへの分岐を行う。
【0065】同様に、CPU2はbrki2が1に変化
したことを検出し、ブレークルーチンへの分岐を行う。
続いて時刻eにおいて、CPU1はブレークを受け付け
たことを示すブレーク受付信号brkack1に1を出
力する。またブレークルーチン分岐前のプログラムカウ
ンタの値“403”をプログラムカウンタ出力信号pc
1に出力する。CPU2も同様に、ブレークを受け付け
たことを示すブレーク受付信号brkack2に1を出
力する。またブレークルーチン分岐前のプログラムカウ
ンタの値“503”をプログラムカウンタ出力信号pc
1に出力する。
したことを検出し、ブレークルーチンへの分岐を行う。
続いて時刻eにおいて、CPU1はブレークを受け付け
たことを示すブレーク受付信号brkack1に1を出
力する。またブレークルーチン分岐前のプログラムカウ
ンタの値“403”をプログラムカウンタ出力信号pc
1に出力する。CPU2も同様に、ブレークを受け付け
たことを示すブレーク受付信号brkack2に1を出
力する。またブレークルーチン分岐前のプログラムカウ
ンタの値“503”をプログラムカウンタ出力信号pc
1に出力する。
【0066】これらのプログラムカウンタの出力は、図
9で後述の協調ブレークステータスレジスタに入力され
る。
9で後述の協調ブレークステータスレジスタに入力され
る。
【0067】時刻e以降のブレークルーチンでは、外部
デバイスと通信を行い、適宜各CPUの内部状態を、外
部デバイスに出力する。
デバイスと通信を行い、適宜各CPUの内部状態を、外
部デバイスに出力する。
【0068】時刻hにおいて、CPU2が、外部デバイ
スからのブレーク復帰要求を受け、RTB命令を実行
し、ブレークルーチンからユーザープログラムに復帰す
る。同時にCPU2のブレーク復帰命令実行を示すブレ
ーク復帰出力信号rtbo2に1を出力する。引き続
き、図7の説明にて述べた、ブレーク協調組み合わせ回
路(201)の作用により、rtbi1が1に変化す
る。CPU1はrtbi1が1に変化したことを検出
し、ブレークルーチンからユーザープログラムに復帰す
る。
スからのブレーク復帰要求を受け、RTB命令を実行
し、ブレークルーチンからユーザープログラムに復帰す
る。同時にCPU2のブレーク復帰命令実行を示すブレ
ーク復帰出力信号rtbo2に1を出力する。引き続
き、図7の説明にて述べた、ブレーク協調組み合わせ回
路(201)の作用により、rtbi1が1に変化す
る。CPU1はrtbi1が1に変化したことを検出
し、ブレークルーチンからユーザープログラムに復帰す
る。
【0069】以上説明の動作から明らかなように、本実
施形態によれば、CPU1とCPU2に対し、CPU1
のブレーク条件とCPU2のブレーク条件のANDをブ
レーク条件とする厳密に同期したブレーク行うことが可
能となる。
施形態によれば、CPU1とCPU2に対し、CPU1
のブレーク条件とCPU2のブレーク条件のANDをブ
レーク条件とする厳密に同期したブレーク行うことが可
能となる。
【0070】図9は、協調ブレークステータスレジスタ
203の詳細図である。協調ブレークステータスレジス
タ203は、CPU1に関連したレジスタ、CPU1の
ブレーク条件が成立し、かつそのブレークを受け付けた
ことを示すBRKO1(711)、CPU1のブレーク
条件が成立した時のプログラムカウンタ出力信号pc1
(ライン215)の値を保存するPC01(712)、
CPU1がブレークルーチンに分岐する直前のプログラ
ムカウンタ出力信号pc1(ライン215)の値を保存
するPC11(713)を備える。
203の詳細図である。協調ブレークステータスレジス
タ203は、CPU1に関連したレジスタ、CPU1の
ブレーク条件が成立し、かつそのブレークを受け付けた
ことを示すBRKO1(711)、CPU1のブレーク
条件が成立した時のプログラムカウンタ出力信号pc1
(ライン215)の値を保存するPC01(712)、
CPU1がブレークルーチンに分岐する直前のプログラ
ムカウンタ出力信号pc1(ライン215)の値を保存
するPC11(713)を備える。
【0071】イネーブルタイミング生成回路1(71
4)は、brko1(ライン211)およびbrkac
k1(ライン216)を入力とし、BRKO1(71
1)が値を取り込むタイミング信号brko1en(7
101)、PC01(712)が値を取り込むタイミン
グ信号pc01en(7102)、PC11(713)
が値を取り込むタイミング信号pc11en(710
3)、を生成する。イネーブルタイミング生成回路1
(714)の詳細は図10にて後述する。
4)は、brko1(ライン211)およびbrkac
k1(ライン216)を入力とし、BRKO1(71
1)が値を取り込むタイミング信号brko1en(7
101)、PC01(712)が値を取り込むタイミン
グ信号pc01en(7102)、PC11(713)
が値を取り込むタイミング信号pc11en(710
3)、を生成する。イネーブルタイミング生成回路1
(714)の詳細は図10にて後述する。
【0072】また、協調ブレークステータスレジスタ2
03は、CPU2に関連したレジスタ、CPU2のブレ
ーク条件が成立し、かつそのブレークを受け付けたこと
を示すBRKO2(721)、CPU2のブレーク条件
が成立した時のプログラムカウンタ出力信号pc2(2
25)の値を保存するPC02(722)、CPU2が
ブレークルーチンに分岐する直前のプログラムカウンタ
出力信号pc2(225)の値を保存するPC12(7
23)を備える。
03は、CPU2に関連したレジスタ、CPU2のブレ
ーク条件が成立し、かつそのブレークを受け付けたこと
を示すBRKO2(721)、CPU2のブレーク条件
が成立した時のプログラムカウンタ出力信号pc2(2
25)の値を保存するPC02(722)、CPU2が
ブレークルーチンに分岐する直前のプログラムカウンタ
出力信号pc2(225)の値を保存するPC12(7
23)を備える。
【0073】イネーブルタイミング生成回路2(72
4)は、brko2(ライン221)およびbrkac
k2(ライン226)を入力とし、BRKO2(72
1)が値を取り込むタイミング信号brko2en(7
201)、PC02(722)が値を取り込むタイミン
グ信号pc02en(7202)、PC12(723)
が値を取り込むタイミング信号pc12en(720
3)、を生成する。イネーブルタイミング生成回路2
(724)は、イネーブルタイミング生成回路1(71
4)と同一の回路構成である。
4)は、brko2(ライン221)およびbrkac
k2(ライン226)を入力とし、BRKO2(72
1)が値を取り込むタイミング信号brko2en(7
201)、PC02(722)が値を取り込むタイミン
グ信号pc02en(7202)、PC12(723)
が値を取り込むタイミング信号pc12en(720
3)、を生成する。イネーブルタイミング生成回路2
(724)は、イネーブルタイミング生成回路1(71
4)と同一の回路構成である。
【0074】また、協調ブレークステータスレジスタ2
03は、CPUnに関連したレジスタ、CPUnのブレ
ーク条件が成立し、かつそのブレークを受け付けたこと
を示すBRKOn(731)、CPUnのブレーク条件
が成立した時のプログラムカウンタ出力信号pcn(ラ
イン235)の値を保存するPC0n(732)、CP
Unがブレークルーチンに分岐する直前のプログラムカ
ウンタ出力信号pcn(ライン235)の値を保存する
PC1n(733)を備える。
03は、CPUnに関連したレジスタ、CPUnのブレ
ーク条件が成立し、かつそのブレークを受け付けたこと
を示すBRKOn(731)、CPUnのブレーク条件
が成立した時のプログラムカウンタ出力信号pcn(ラ
イン235)の値を保存するPC0n(732)、CP
Unがブレークルーチンに分岐する直前のプログラムカ
ウンタ出力信号pcn(ライン235)の値を保存する
PC1n(733)を備える。
【0075】イネーブルタイミング生成回路n(73
4)は、brkon(ライン231)およびbrkac
kn(ライン236)を入力とし、BRKOn(73
1)が値を取り込むタイミング信号brko2en(7
301)、PC0n(733)が値を取り込むタイミン
グ信号pc02en(7302)、PC1n(733)
が値を取り込むタイミング信号pc12en(730
3)、を生成する。イネーブルタイミング生成回路n
(734)はイネーブルタイミング生成回路1(71
4)と同一の回路構成である。
4)は、brkon(ライン231)およびbrkac
kn(ライン236)を入力とし、BRKOn(73
1)が値を取り込むタイミング信号brko2en(7
301)、PC0n(733)が値を取り込むタイミン
グ信号pc02en(7302)、PC1n(733)
が値を取り込むタイミング信号pc12en(730
3)、を生成する。イネーブルタイミング生成回路n
(734)はイネーブルタイミング生成回路1(71
4)と同一の回路構成である。
【0076】図10は、イネーブルタイミング生成回路
1(714)の詳細図である。brko1(ライン21
1)は、立ち上がりエッジ検出回路(811)に入力さ
れ、フリップフロップ(812)を経由して、pc01
en(7102)を出力する。brkack1(ライン
216)は、立ち上がりエッジ検出回路(812)に入
力され、brko1en(7101)およびpc11e
n(7103)を生成する。
1(714)の詳細図である。brko1(ライン21
1)は、立ち上がりエッジ検出回路(811)に入力さ
れ、フリップフロップ(812)を経由して、pc01
en(7102)を出力する。brkack1(ライン
216)は、立ち上がりエッジ検出回路(812)に入
力され、brko1en(7101)およびpc11e
n(7103)を生成する。
【0077】これらは、図6、図8のタイミングチャー
トで示した、CPU1のブレーク条件が成立し、それを
受け付けたこと意味する波形、CPU1のブレーク条件
が成立した時のプログラムカウンタ出力タイミング、C
PU1がブレークルーチンに分岐する直前のプログラム
カウンタ出力タイミングに合わせて、brko1en
(7301)、pc01en(7302)、pc11e
n(7303)の波形を出力する構成を取っている。
トで示した、CPU1のブレーク条件が成立し、それを
受け付けたこと意味する波形、CPU1のブレーク条件
が成立した時のプログラムカウンタ出力タイミング、C
PU1がブレークルーチンに分岐する直前のプログラム
カウンタ出力タイミングに合わせて、brko1en
(7301)、pc01en(7302)、pc11e
n(7303)の波形を出力する構成を取っている。
【0078】CPUの種類によって、これらの波形や、
タイミングが異なる場合があり得る。その場合、適宜イ
ネーブルタイミング生成回路1(714)、イネーブル
タイミング生成回路2(724)〜イネーブルタイミン
グ生成回路n(734)の回路構成を変更することで対
応可能である。
タイミングが異なる場合があり得る。その場合、適宜イ
ネーブルタイミング生成回路1(714)、イネーブル
タイミング生成回路2(724)〜イネーブルタイミン
グ生成回路n(734)の回路構成を変更することで対
応可能である。
【0079】以上図9、図10にて説明した協調ブレー
クステータスレジスタの動作を、図11〜図14を用い
て説明する。
クステータスレジスタの動作を、図11〜図14を用い
て説明する。
【0080】図11は、CPU1のブレーク条件が成立
し(brko1=1)、そのブレークを受け付けた(b
rkack=1)場合のBRKO1のタイミングチャー
トである。イネーブルタイミング生成回路1により生成
されるbrko1en(7301)の波形より、時刻f
直前のbrko1の出力値をBRKO1が取り込みBR
KO1=1となる。これにより、CPU1のブレーク条
件が成立し、そのブレークを受け付けた事象をBRKO
1に正しく保存する。
し(brko1=1)、そのブレークを受け付けた(b
rkack=1)場合のBRKO1のタイミングチャー
トである。イネーブルタイミング生成回路1により生成
されるbrko1en(7301)の波形より、時刻f
直前のbrko1の出力値をBRKO1が取り込みBR
KO1=1となる。これにより、CPU1のブレーク条
件が成立し、そのブレークを受け付けた事象をBRKO
1に正しく保存する。
【0081】図12は、CPU1のブレーク条件は成立
していない(brko1=0)が、ブレークの協調動作
により、他CPUのブレーク条件でブレークを受け付け
た(brkack=1)場合のBRKO1のタイミング
チャートである。イネーブルタイミング生成回路1によ
り生成されるbrko1enの波形より、時刻f直前の
brko1の出力値をBRKO1が取り込み、BRKO
1=0となる。これによりCPU1のブレーク条件は成
立していないが、他CPUのブレーク条件でブレークを
受け付けた事象をBRKO1に正しく保存する。
していない(brko1=0)が、ブレークの協調動作
により、他CPUのブレーク条件でブレークを受け付け
た(brkack=1)場合のBRKO1のタイミング
チャートである。イネーブルタイミング生成回路1によ
り生成されるbrko1enの波形より、時刻f直前の
brko1の出力値をBRKO1が取り込み、BRKO
1=0となる。これによりCPU1のブレーク条件は成
立していないが、他CPUのブレーク条件でブレークを
受け付けた事象をBRKO1に正しく保存する。
【0082】図13は、CPU1のブレーク条件が成立
し、直後にブレークを受け付けた場合の、PC01およ
びPC11のタイミングチャートである。
し、直後にブレークを受け付けた場合の、PC01およ
びPC11のタイミングチャートである。
【0083】本実施例のCPU1はブレーク条件が成立
すると、brko1=1を出力し、その1サイクル後、
ブレーク条件成立時のプログラムカウンタ値をpc1に
1サイクル出力する。
すると、brko1=1を出力し、その1サイクル後、
ブレーク条件成立時のプログラムカウンタ値をpc1に
1サイクル出力する。
【0084】またbrki1=1を検出し、ブレーク受
け付けると、brkack1=1出力と同時に、ブレー
クルーチンに分岐する直前のプログラムカウンタ値をp
c1に1サイクル出力する。
け付けると、brkack1=1出力と同時に、ブレー
クルーチンに分岐する直前のプログラムカウンタ値をp
c1に1サイクル出力する。
【0085】図13のように、CPU1のブレーク条件
が成立し、直後にブレークを受け付けた場合、ブレーク
条件成立時のプログラムカウンタ値とブレークルーチン
に分岐する直前のプログラムカウンタ値は一致しする。
その値はpc1に出力されるが、出力は1回である。
が成立し、直後にブレークを受け付けた場合、ブレーク
条件成立時のプログラムカウンタ値とブレークルーチン
に分岐する直前のプログラムカウンタ値は一致しする。
その値はpc1に出力されるが、出力は1回である。
【0086】イネーブルタイミング生成回路1により生
成されるpc01enおよびpc11enの波形は、そ
れぞれブレーク条件成立時のプログラムカウンタ値およ
びブレークルーチンに分岐する直前のプログラムカウン
タ値の出力タイミングを示し、結果として、PC01に
ブレーク条件成立時のプログラムカウンタ値が、PC1
1にブレークルーチンに分岐する直前のプログラムカウ
ンタ値が保存される。
成されるpc01enおよびpc11enの波形は、そ
れぞれブレーク条件成立時のプログラムカウンタ値およ
びブレークルーチンに分岐する直前のプログラムカウン
タ値の出力タイミングを示し、結果として、PC01に
ブレーク条件成立時のプログラムカウンタ値が、PC1
1にブレークルーチンに分岐する直前のプログラムカウ
ンタ値が保存される。
【0087】図14は、CPU1のブレーク条件が成立
し、3サイクル後にブレークを受け付けた場合の、PC
01およびPC11のタイミングチャートである。これ
はANDケースにて発生し得る。
し、3サイクル後にブレークを受け付けた場合の、PC
01およびPC11のタイミングチャートである。これ
はANDケースにて発生し得る。
【0088】イネーブルタイミング生成回路1により生
成されるpc01enおよびpc11enの波形は、そ
れぞれブレーク条件成立時のプログラムカウンタ値およ
びブレークルーチンに分岐する直前のプログラムカウン
タ値の出力タイミングを示し、結果として、PC01に
ブレーク条件成立時のプログラムカウンタ値が、PC1
1にブレークルーチンに分岐する直前のプログラムカウ
ンタ値が保存される。
成されるpc01enおよびpc11enの波形は、そ
れぞれブレーク条件成立時のプログラムカウンタ値およ
びブレークルーチンに分岐する直前のプログラムカウン
タ値の出力タイミングを示し、結果として、PC01に
ブレーク条件成立時のプログラムカウンタ値が、PC1
1にブレークルーチンに分岐する直前のプログラムカウ
ンタ値が保存される。
【0089】以上、図11〜図14にて説明した動作に
て得られた協調ブレークステータスレジスタ203の情
報は、外部デバイスに転送され、デバッグ作業を行うユ
ーザーに表示される。
て得られた協調ブレークステータスレジスタ203の情
報は、外部デバイスに転送され、デバッグ作業を行うユ
ーザーに表示される。
【0090】次に、図15〜図19を用いて、協調ブレ
ークステータスレジスタ203の情報を表示する方法を
示す。まず、図15は、図1のコンピュータシステムに
おける外部デバイス5の詳細図である。外部デバイス5
は、表示部2501、計算機2502、キーボード25
03、マウス2504、記憶装置2505等から構成さ
れる。計算機2502は、表示部2501、キーボード
2503、マウス2504、記憶装置2505、及び外
部デバイスインターフェース信号ライン4に接続されて
いる。
ークステータスレジスタ203の情報を表示する方法を
示す。まず、図15は、図1のコンピュータシステムに
おける外部デバイス5の詳細図である。外部デバイス5
は、表示部2501、計算機2502、キーボード25
03、マウス2504、記憶装置2505等から構成さ
れる。計算機2502は、表示部2501、キーボード
2503、マウス2504、記憶装置2505、及び外
部デバイスインターフェース信号ライン4に接続されて
いる。
【0091】計算機2502は、記憶装置に格納されて
いるデバッグ用プログラムを読み込み実行する。デバッ
グ用プログラムは、表示部2051に、デバッグ用プロ
グラム操作のためのボタン群2511、コマンド入力欄
2513を表示し、プログラムの実行結果および外部デ
バイスインターフェース信号からの情報をデータ表示欄
2512に表示する。また記憶装置に格納されているデ
バッグ対象となるプログラムを、外部デバイスインター
フェース信号ライン4、協調デバッグ回路3、デバッグ
データ信号db1(ライン218)、db2(ライン2
28)〜dbn(ライン238)を介して、各CPUに
転送する。
いるデバッグ用プログラムを読み込み実行する。デバッ
グ用プログラムは、表示部2051に、デバッグ用プロ
グラム操作のためのボタン群2511、コマンド入力欄
2513を表示し、プログラムの実行結果および外部デ
バイスインターフェース信号からの情報をデータ表示欄
2512に表示する。また記憶装置に格納されているデ
バッグ対象となるプログラムを、外部デバイスインター
フェース信号ライン4、協調デバッグ回路3、デバッグ
データ信号db1(ライン218)、db2(ライン2
28)〜dbn(ライン238)を介して、各CPUに
転送する。
【0092】デバッグを行うユーザーは、キーボード2
503を用いてコマンド入力欄2513に対しコマンド
入力し、マウス2504を用いてマウスポインタ251
4を動かし、ボタン群2511のボタンを操作すること
で、デバッグの作業を行う。
503を用いてコマンド入力欄2513に対しコマンド
入力し、マウス2504を用いてマウスポインタ251
4を動かし、ボタン群2511のボタンを操作すること
で、デバッグの作業を行う。
【0093】以上説明した外部デバイス5は、コンピュ
ータシステムのデバッグを行うユーザーに、デバッグ作
業のための表示、操作手段を提供する。
ータシステムのデバッグを行うユーザーに、デバッグ作
業のための表示、操作手段を提供する。
【0094】図16は、図6のタイミングチャートで説
明したCPU1とCPU2のORブレークにおけるブレ
ーク後の、協調ブレークステータスレジスタの値を示す
表である。
明したCPU1とCPU2のORブレークにおけるブレ
ーク後の、協調ブレークステータスレジスタの値を示す
表である。
【0095】図17は、図6のタイミングチャートで説
明したCPU1とCPU2のORブレークによるブレー
ク後のプログラム状態を外部デバイス5の表示部205
1に表示する、デバッグソフトウエアの表示例である。
明したCPU1とCPU2のORブレークによるブレー
ク後のプログラム状態を外部デバイス5の表示部205
1に表示する、デバッグソフトウエアの表示例である。
【0096】外部デバイス5は、表示部2051のCP
U1プログラム表示部1401に、CPU1で実行する
ユーザープログラムを表示し、CPU2プログラム表示
部1402に、CPU2で実行するユーザープログラム
を表示している。外部デバイス5は、協調ブレークステ
ータスレジスタのBRKO2、PC02値より、CPU
2のブレーク条件が、CPU2のユーザープログラム5
01番地で成立したことを解釈し、CPU2プログラム
表示部1402における501番地の行を強調表示す
る。図17では強調表示の方法として、反転表示を用い
たが、矢印で示す等、他の方法でも良い。
U1プログラム表示部1401に、CPU1で実行する
ユーザープログラムを表示し、CPU2プログラム表示
部1402に、CPU2で実行するユーザープログラム
を表示している。外部デバイス5は、協調ブレークステ
ータスレジスタのBRKO2、PC02値より、CPU
2のブレーク条件が、CPU2のユーザープログラム5
01番地で成立したことを解釈し、CPU2プログラム
表示部1402における501番地の行を強調表示す
る。図17では強調表示の方法として、反転表示を用い
たが、矢印で示す等、他の方法でも良い。
【0097】また、外部デバイス5は、協調ブレークス
テータスレジスタのPC11、PC12値より、CPU
1は401番地で、CPU2は501番地でブレークが
受付けけられたことを解釈する。図6で説明のようにC
PU1とCPU2のブレークは厳密に同期しているの
で、CPU1のユーザープログラムの401番地実行と
CPU2のユーザープログラム501番地実行は同時に
起きているとみなすことができる。この実行時間関係を
示すために、外部デバイスは、CPU1プログラム表示
部1401における401番地の行とCPU2プログラ
ム表示部1402における501番地の行を横一列並べ
て表示する。
テータスレジスタのPC11、PC12値より、CPU
1は401番地で、CPU2は501番地でブレークが
受付けけられたことを解釈する。図6で説明のようにC
PU1とCPU2のブレークは厳密に同期しているの
で、CPU1のユーザープログラムの401番地実行と
CPU2のユーザープログラム501番地実行は同時に
起きているとみなすことができる。この実行時間関係を
示すために、外部デバイスは、CPU1プログラム表示
部1401における401番地の行とCPU2プログラ
ム表示部1402における501番地の行を横一列並べ
て表示する。
【0098】図18は、図8のタイミングチャートで説
明したCPU1とCPU2のANDブレークによるブレ
ーク後の、協調ブレークステータスレジスタの値を示す
表である。
明したCPU1とCPU2のANDブレークによるブレ
ーク後の、協調ブレークステータスレジスタの値を示す
表である。
【0099】図19は、図8のタイミングチャートで説
明したCPU1とCPU2のANDブレークによるブレ
ーク後のプログラム状態を外部デバイス5の表示部20
51に表示する、デバッグソフトウエアの表示例であ
る。
明したCPU1とCPU2のANDブレークによるブレ
ーク後のプログラム状態を外部デバイス5の表示部20
51に表示する、デバッグソフトウエアの表示例であ
る。
【0100】外部デバイス5は、表示部2051のCP
U1プログラム表示部1601に、CPU1で実行する
ユーザープログラムを表示し、CPU2プログラム表示
部1602に、CPU2で実行するユーザープログラム
を表示している。外部デバイス5は、協調ブレークステ
ータスレジスタのBRKO1、PC01値より、CPU
1のブレーク条件が、CPU1のユーザープログラム4
03番地で成立したことを解釈し、CPU1プログラム
表示部1601における403番地の行を強調表示す
る。
U1プログラム表示部1601に、CPU1で実行する
ユーザープログラムを表示し、CPU2プログラム表示
部1602に、CPU2で実行するユーザープログラム
を表示している。外部デバイス5は、協調ブレークステ
ータスレジスタのBRKO1、PC01値より、CPU
1のブレーク条件が、CPU1のユーザープログラム4
03番地で成立したことを解釈し、CPU1プログラム
表示部1601における403番地の行を強調表示す
る。
【0101】外部デバイス5は、協調ブレークステータ
スレジスタのBRKO2、PC02値より、CPU2の
ブレーク条件が、CPU2のユーザープログラム501
番地で成立したことを解釈し、CPU2プログラム表示
部(1602)における501番地の行を強調表示す
る。
スレジスタのBRKO2、PC02値より、CPU2の
ブレーク条件が、CPU2のユーザープログラム501
番地で成立したことを解釈し、CPU2プログラム表示
部(1602)における501番地の行を強調表示す
る。
【0102】図19では強調表示の方法として、反転表
示を用いたが、矢印で示す等、他の方法でも良い。
示を用いたが、矢印で示す等、他の方法でも良い。
【0103】また、外部デバイス5は、協調ブレークス
テータスレジスタのPC11、PC12値より、CPU
1は403番地で、CPU2は503番地でブレークが
受付けられたことを解釈する。図8で説明のようにCP
U1とCPU2のブレークは厳密に同期しているので、
CPU1のユーザープログラムの403番地実行とCP
U2のユーザープログラム503番地実行は同時に起き
ているとみなすことができる。この実行時間関係を示す
ために、外部デバイスは、CPU1プログラム表示部1
601における401番地の行とCPU2プログラム表
示部1602における501番地の行を横一列並べて表
示する。
テータスレジスタのPC11、PC12値より、CPU
1は403番地で、CPU2は503番地でブレークが
受付けられたことを解釈する。図8で説明のようにCP
U1とCPU2のブレークは厳密に同期しているので、
CPU1のユーザープログラムの403番地実行とCP
U2のユーザープログラム503番地実行は同時に起き
ているとみなすことができる。この実行時間関係を示す
ために、外部デバイスは、CPU1プログラム表示部1
601における401番地の行とCPU2プログラム表
示部1602における501番地の行を横一列並べて表
示する。
【0104】以上、図16〜図19で説明した外部デバ
イス5による表示方法により、複数のCPUを搭載した
コンピュータシステムのデバッグにおいて、各CPUの
ブレーク成立個所およびプログラム実行の時間関係を分
かりやすく表示することが可能となる。
イス5による表示方法により、複数のCPUを搭載した
コンピュータシステムのデバッグにおいて、各CPUの
ブレーク成立個所およびプログラム実行の時間関係を分
かりやすく表示することが可能となる。
【0105】次に、図20、図21を用いて、CPU1
のステップ実行にCPU2が連動する例を示す。図20
にCPU1が実行するユーザープログラムのソースコー
ドの一部とそのメモリ配置を示す。図21は図20で示
すプログラムの範囲におけるステップ実行の協調動作を
示すタイミングチャートである。
のステップ実行にCPU2が連動する例を示す。図20
にCPU1が実行するユーザープログラムのソースコー
ドの一部とそのメモリ配置を示す。図21は図20で示
すプログラムの範囲におけるステップ実行の協調動作を
示すタイミングチャートである。
【0106】図21に示すように、CPU1は、ブレー
クルーチンで“PC=次行のアドレス”をブレーク条件
に設定することで、ステップ実行を行う。さらに、前述
のCPU1とCPU1のORブレークの設定を協調ブレ
ークコントロールレジスタ202に適用すると、CPU
1ブレークとCPU2ブレークが同期し、CPU1のス
テップ実行に合わせて、CPU2が動作する。
クルーチンで“PC=次行のアドレス”をブレーク条件
に設定することで、ステップ実行を行う。さらに、前述
のCPU1とCPU1のORブレークの設定を協調ブレ
ークコントロールレジスタ202に適用すると、CPU
1ブレークとCPU2ブレークが同期し、CPU1のス
テップ実行に合わせて、CPU2が動作する。
【0107】また、図16〜図19にて説明した、協調
ブレークステータスレジスタ203の情報を表示する方
法を適用することで、各CPUのステップ実行における
停止位置の対応を分かりやすく表示することが可能であ
る。
ブレークステータスレジスタ203の情報を表示する方
法を適用することで、各CPUのステップ実行における
停止位置の対応を分かりやすく表示することが可能であ
る。
【0108】図22は、トレースデータ格納部204の
第一の実施例を示す詳細図である。トレースデータ格納
部204はカウンタ1900、およびFIFO(Fir
stIn First Out)型の記憶素子FIFO
1(1911)、FIFO2(1912)〜FIFOn
(1913)、を備えている。FIFO1(1911)
はCPU1のトレースデータtd1(ライン217)が
有効な値を出力しているタイミングで、カウンタ(19
00)の出力とtd2(ライン217)のデータを取り
込む。FIFO2(1912)はCPU2のトレースデ
ータtd2(ライン227)が有効な値を出力している
タイミングで、カウンタ(1900)の出力とtd2
(ライン227)のデータを取り込む。FIFOn(1
913)はCPUnのトレースデータtdn(ライン2
37)が有効な値を出力しているタイミングで、カウン
タ(1900)の出力とtd3(ライン237)のデー
タを取り込む。
第一の実施例を示す詳細図である。トレースデータ格納
部204はカウンタ1900、およびFIFO(Fir
stIn First Out)型の記憶素子FIFO
1(1911)、FIFO2(1912)〜FIFOn
(1913)、を備えている。FIFO1(1911)
はCPU1のトレースデータtd1(ライン217)が
有効な値を出力しているタイミングで、カウンタ(19
00)の出力とtd2(ライン217)のデータを取り
込む。FIFO2(1912)はCPU2のトレースデ
ータtd2(ライン227)が有効な値を出力している
タイミングで、カウンタ(1900)の出力とtd2
(ライン227)のデータを取り込む。FIFOn(1
913)はCPUnのトレースデータtdn(ライン2
37)が有効な値を出力しているタイミングで、カウン
タ(1900)の出力とtd3(ライン237)のデー
タを取り込む。
【0109】図23に、FIFO1(1911)、FI
FO2(1912)の格納データの例を示す。このよう
に、各CPU毎用意されたFIFOに、トレースデータ
と時間情報としてのカウンタ値を組にして記憶すること
により、各CPUのトレースデータの出力時間関係を解
析するための情報を得ることが可能となる。FIFO1
(1911)、FIFO2(1912)〜FIFOn
(1913)の格納データは信号(2014)を介し
て、外部デバイスに出力され、外部デバイスにて、トレ
ースデータの時間関係を解析し、結果を表示する。
FO2(1912)の格納データの例を示す。このよう
に、各CPU毎用意されたFIFOに、トレースデータ
と時間情報としてのカウンタ値を組にして記憶すること
により、各CPUのトレースデータの出力時間関係を解
析するための情報を得ることが可能となる。FIFO1
(1911)、FIFO2(1912)〜FIFOn
(1913)の格納データは信号(2014)を介し
て、外部デバイスに出力され、外部デバイスにて、トレ
ースデータの時間関係を解析し、結果を表示する。
【0110】図24は、図23で示したFIFOの格納デー
タを、外部デバイスにて表示する例である。カウンタ値
表示部2103では、FIFOに格納されたカウンタ値
すべてを上から順にソートして表示する。CPU1トレ
ースデータ表示部2101では、FIFO1に格納され
たトレースデータを表示する。トレースデータの縦の位
置は、トレースデータと組で保存したカウンタ値と、カ
ウンタ値表示部2103に表示されたカウンタ値を比較
し、一致した場合、カウンタ値表示部の一致したカウン
タ値の縦位置となるように決定する。CPU2トレース
データ表示部2102においても、同様の手法により、
FIFO2に格納されたトレースデータを並べて表示す
る。これにより、複数CPUのトレースデータを上から
出力順に表示し、かつ同時刻に出力されたデータは横に
並べて表示することができる。
タを、外部デバイスにて表示する例である。カウンタ値
表示部2103では、FIFOに格納されたカウンタ値
すべてを上から順にソートして表示する。CPU1トレ
ースデータ表示部2101では、FIFO1に格納され
たトレースデータを表示する。トレースデータの縦の位
置は、トレースデータと組で保存したカウンタ値と、カ
ウンタ値表示部2103に表示されたカウンタ値を比較
し、一致した場合、カウンタ値表示部の一致したカウン
タ値の縦位置となるように決定する。CPU2トレース
データ表示部2102においても、同様の手法により、
FIFO2に格納されたトレースデータを並べて表示す
る。これにより、複数CPUのトレースデータを上から
出力順に表示し、かつ同時刻に出力されたデータは横に
並べて表示することができる。
【0111】以上説明の表示方法より、各CPUトレー
スデータの時間関係を分かりやすく表示することが可能
となる。
スデータの時間関係を分かりやすく表示することが可能
となる。
【0112】なお、以上説明のCPU1トレースデータ
表示部2101およびCPU2トレースデータ表示部2
102の表示方法は、FIFOのカウンタ値をプログラ
ム内部で解析することで可能であるため、カウンタ値表
示部2103はなくても良い。
表示部2101およびCPU2トレースデータ表示部2
102の表示方法は、FIFOのカウンタ値をプログラ
ム内部で解析することで可能であるため、カウンタ値表
示部2103はなくても良い。
【0113】図25は、トレースデータ格納部204の
第二の実施例を示す詳細図である。トレースデータ格納
部204はセレクタ2201、FIFO2211および
FIFO制御回路2211を備えている。
第二の実施例を示す詳細図である。トレースデータ格納
部204はセレクタ2201、FIFO2211および
FIFO制御回路2211を備えている。
【0114】FIFO制御回路2211は、td1(ラ
イン217)、td2(ライン227)〜tdn(ライ
ン237)をデコードして、FIFOに入力するトレー
スデータを選択する信号tdsel(2221)を生成
する。セレクタ2201は、tdsel(2221)に
より選択された、td1(ライン217)、td2(ラ
イン227)〜tdn(ライン237)の中の一つを、
td(ライン2220)に出力する。FIFO2211
はtd(2220)と、tdsel(2221)を組に
して保存する。
イン217)、td2(ライン227)〜tdn(ライ
ン237)をデコードして、FIFOに入力するトレー
スデータを選択する信号tdsel(2221)を生成
する。セレクタ2201は、tdsel(2221)に
より選択された、td1(ライン217)、td2(ラ
イン227)〜tdn(ライン237)の中の一つを、
td(ライン2220)に出力する。FIFO2211
はtd(2220)と、tdsel(2221)を組に
して保存する。
【0115】このことから、FIFOは一本でも、トレ
ースデータの出力元を区別して、データを保存すること
ができる。また、トレースデータの出力時間は、データ
が格納されているFIFOの段で区別できる。
ースデータの出力元を区別して、データを保存すること
ができる。また、トレースデータの出力時間は、データ
が格納されているFIFOの段で区別できる。
【0116】これらのことより、トレースデータ格納部
204の第二の実施例においても、FIFOの格納デー
タから各CPUのトレースデータの出力時間関係を解析
するための情報を得ることが可能である。
204の第二の実施例においても、FIFOの格納デー
タから各CPUのトレースデータの出力時間関係を解析
するための情報を得ることが可能である。
【0117】
【発明の効果】本発明によると、複数CPUのブレー
ク、ステップ実行の協調動作における厳密な同期性が確
保できるので、複数のCPUがお互いに強く関連して協
調動作するコンピュータシステムのデバッグ作業におい
ても、コンピュータシステムの実動作を再現し、デバッ
グを精度良く行うことができる。また、本発明によると
各CPUのブレーク、ステップ実行におけるブレーク条
件成立個所および停止位置の対応、トレースデータの時
間関係を分かりやすく解析し、表示することができるの
で、デバッグ作業を行うユーザーがデバッグ対象となる
コンピュータシステムの挙動を容易に理解することが可
能となり、デバッグ作業の効率が向上する。以上のこと
により、本発明によれば、複数のCPUを搭載したコン
ピュータシステムの効率の良いデバッグを精度良く実施
し、デバッグ工数を削減することができる。
ク、ステップ実行の協調動作における厳密な同期性が確
保できるので、複数のCPUがお互いに強く関連して協
調動作するコンピュータシステムのデバッグ作業におい
ても、コンピュータシステムの実動作を再現し、デバッ
グを精度良く行うことができる。また、本発明によると
各CPUのブレーク、ステップ実行におけるブレーク条
件成立個所および停止位置の対応、トレースデータの時
間関係を分かりやすく解析し、表示することができるの
で、デバッグ作業を行うユーザーがデバッグ対象となる
コンピュータシステムの挙動を容易に理解することが可
能となり、デバッグ作業の効率が向上する。以上のこと
により、本発明によれば、複数のCPUを搭載したコン
ピュータシステムの効率の良いデバッグを精度良く実施
し、デバッグ工数を削減することができる。
【図1】 本発明の一実施例になる協調デバッグ回路を
備えるコンピュータシステムの全体構成を示すブロック
図。
備えるコンピュータシステムの全体構成を示すブロック
図。
【図2】 図1の実施例におけるCPU1(11)の詳
細図。
細図。
【図3】 図1の実施例における協調デバッグ回路の詳
細図。
細図。
【図4】 図3のブレーク協調組み合わせ回路、および
協調ブレークコントロールレジスタの詳細な構成例を示
す図。
協調ブレークコントロールレジスタの詳細な構成例を示
す図。
【図5】 図1の実施例における、CPUが実行するプ
ログラムのメモリ配置を示した図。
ログラムのメモリ配置を示した図。
【図6】 図4の実施例における、CPU1とCPU2
のORブレークで、各CPUのブレーク行うタイミング
チャートの一例を示した図。
のORブレークで、各CPUのブレーク行うタイミング
チャートの一例を示した図。
【図7】 図3のブレーク協調組み合わせ回路、および
協調ブレークコントロールレジスタの他の詳細な構成例
を示す図。
協調ブレークコントロールレジスタの他の詳細な構成例
を示す図。
【図8】 図7の実施例における、CPU1とCPU2
のANDブレークで、各CPUのブレーク行うタイミン
グチャートの一例を示した図。
のANDブレークで、各CPUのブレーク行うタイミン
グチャートの一例を示した図。
【図9】 図3の協調ブレークステータスレジスタの詳
細図。
細図。
【図10】 図9のイネーブルタイミング生成回路1の
詳細図。
詳細図。
【図11】 協調ブレークステータスレジスタの動作を
説明するための、BRKO1のタイミングチャートを示
した図。
説明するための、BRKO1のタイミングチャートを示
した図。
【図12】 協調ブレークステータスレジスタの動作を
説明するための、BRKO1のタイミングチャートを示
した図。
説明するための、BRKO1のタイミングチャートを示
した図。
【図13】 協調ブレークステータスレジスタの動作を
説明するための、PC01およびPC11のタイミング
チャートを示した図。
説明するための、PC01およびPC11のタイミング
チャートを示した図。
【図14】 協調ブレークステータスレジスタの動作を
説明するための、PC01およびPC11のタイミング
チャートを示した図。
説明するための、PC01およびPC11のタイミング
チャートを示した図。
【図15】 図1の外部デバイスの詳細図。
【図16】 図6のタイミングチャートで説明したCP
U1とCPU2のORブレークによるブレーク後の、協
調ブレークステータスレジスタの値を示す表。
U1とCPU2のORブレークによるブレーク後の、協
調ブレークステータスレジスタの値を示す表。
【図17】 図6のタイミングチャートで説明したCP
U1とCPU2のORブレークによるブレーク後のプロ
グラム状態を表示する、デバッグソフトウエアの表示例
を示す図。
U1とCPU2のORブレークによるブレーク後のプロ
グラム状態を表示する、デバッグソフトウエアの表示例
を示す図。
【図18】 図8のタイミングチャートで説明したCP
U1とCPU2のANDブレークによるブレーク後の、
協調ブレークステータスレジスタの値を示す表。
U1とCPU2のANDブレークによるブレーク後の、
協調ブレークステータスレジスタの値を示す表。
【図19】 図8のタイミングチャートで説明したCP
U1とCPU2のANDブレークによるブレーク後のプ
ログラム状態を表示する、デバッグソフトウエアの表示
例を示す図。
U1とCPU2のANDブレークによるブレーク後のプ
ログラム状態を表示する、デバッグソフトウエアの表示
例を示す図。
【図20】 CPU1が実行するユーザープログラムの
ソースコードの一部とそのメモリ配置を示す図。
ソースコードの一部とそのメモリ配置を示す図。
【図21】 図20で示すプログラムの範囲におけるス
テップ実行の協調動作を示すタイミングチャートを示す
図。
テップ実行の協調動作を示すタイミングチャートを示す
図。
【図22】 図2のトレースデータ格納部の第一の実施
例を示す詳細図。
例を示す詳細図。
【図23】 FIFO1(1911)、FIFO2(1
912)の格納データの例を示す図。
912)の格納データの例を示す図。
【図24】 図23で示したFIFOの格納データを、
外部デバイスにて表示する例を示す図。
外部デバイスにて表示する例を示す図。
【図25】 図2のトレースデータ格納部の第二の実施
例を示す詳細図。
例を示す詳細図。
1 複数のCPUを搭載したコンピュータシステム
11 CPU1
12 CPU2
13 CPUn
3 協調デバッグ回路
4 外部デバイス信号ライン
5 外部デバイス
201 ブレーク協調組み合わせ回路
202 協調ブレークコントロールレジスタ
203 協調ブレークステータスレジスタ
204 トレースデータ格納部
─────────────────────────────────────────────────────
フロントページの続き
(72)発明者 高橋 宜孝
茨城県日立市大みか町七丁目1番1号 株
式会社日立製作所日立研究所内
(72)発明者 齊藤 雅彦
茨城県日立市大みか町七丁目1番1号 株
式会社日立製作所日立研究所内
(72)発明者 中塚 康弘
茨城県日立市大みか町七丁目1番1号 株
式会社日立製作所日立研究所内
Fターム(参考) 5B042 GA11 GC02 HH23 HH25
5B045 JJ02 JJ08 JJ13
Claims (14)
- 【請求項1】複数のCPUを搭載したコンピュータシス
テムにおいて、 前記複数のCPUとそれぞれデバッグ用の信号ラインを
介して接続され、当該システムのデバッグを行う際に使
用する外部デバイスと接続するための外部デバッグ信号
端子を有する協調デバッグ回路を備え、 前記協調デバッグ回路は、ブレーク入力組み合わせ回路
を有しており、 該ブレーク入力組み合わせ回路は、前記複数のCPUと
それぞれ、 当該CPUのブレーク条件が成立したことを示すブレー
ク出力信号ラインと、デバッグ用に当該CPUを停止す
るためのブレーク入力信号ラインとを介して接続され、 当該CPUからのブレーク出力信号を組み合わせて当該
CPUへのブレーク入力信号を生成して、当該CPUブ
レーク間の協調を行う、 ことを特徴とする複数CPUの協調デバッグ回路を備え
るコンピュータシステム。 - 【請求項2】請求項1において、前記協調デバッグ回路
は、 前記ブレーク入力組み合わせ回路の機能を設定するレジ
スタを備え、 前記レジスタは、前記外部デバッグ信号端子を介して接
続された前記外部デバイスから値を設定できることを特
徴とする複数CPUの協調デバッグ回路を備えるコンピ
ュータシステム。 - 【請求項3】複数のCPUを搭載したコンピュータシス
テムにおいて、 前記複数のCPUとそれぞれデバッグ用の信号ラインを
介して接続され、当該システムのデバッグを行う際に使
用する外部デバイスと接続するための外部デバッグ信号
端子を有する協調デバッグ回路を備え、 前記協調デバッグ回路は、ブレーク復帰入力組み合わせ
回路を有しており、 前記ブレーク復帰入力組み合わせ回路は、前記複数のC
PUとそれぞれ、 当該CPUのブレーク復帰命令実行を示すブレーク復帰
出力信号ラインと、当該CPUのブレークを解除するた
めのブレーク復帰入力信号ラインとを介して接続され、 当該CPUからのブレーク復帰出力信号を組み合わせて
当該CPUへのブレーク復帰入力信号を生成し、当該C
PUブレーク復帰間の協調を行う、 ことを特徴とする複数CPUの協調デバッグ回路を備え
るコンピュータシステム。 - 【請求項4】請求項3において、前記協調デバッグ回路
は、 前記ブレーク復帰入力組み合わせ回路の機能を設定する
レジスタを備え、 前記レジスタは、前記外部デバッグ信号端子を介して接
続された前記外部デバイスから値を設定できることを特
徴とする複数CPUの協調デバッグ回路を備えるコンピ
ュータシステム。 - 【請求項5】複数のCPUを搭載したコンピュータシス
テムにおいて、 前記複数のCPUとそれぞれデバッグ用の信号ラインを
介して接続され、当該システムのデバッグを行う際に使
用する外部デバイスと接続するための外部デバッグ信号
端子を有する協調デバッグ回路を備え、 前記協調デバッグ回路は、協調ブレークステータスレジ
スタを有しており、該協調ブレークステータスレジスタ
路は、前記複数のCPUとそれぞれ、 当該CPUのブレーク条件が成立したことを示すブレー
ク出力信号ラインと、当該CPUがブレークを受け付け
たことを示すブレーク受付信号ラインとを介して接続さ
れ、 前記ブレーク受付信号より生成されるタイミングによ
り、前記複数のCPUのブレーク出力信号を記憶し、記
憶した値を、前記外部デバッグ信号端子を介して接続さ
れた外部デバイスに出力することを特徴とする複数CP
Uの協調デバッグ回路を備えるコンピュータシステム。 - 【請求項6】請求項1ないし5のいずれかにおいて、前
記協調デバッグ回路は、外部デバイス信号インターフェ
ース部を有しており、 該外部デバイス信号インターフェース部は、前記複数の
CPUとそれぞれ、 当該CPUのブレーク条件が成立したことを示すブレー
ク出力信号ラインと、当該CPUのプログラムカウンタ
値を出力するプログラムカウンタ出力信号ラインと、当
該CPUがブレークを受け付けたことを示すブレーク受
付信号ラインとを介して接続され、 前記ブレーク受付信号および前記ブレーク出力信号より
生成されるタイミングにより、前記複数のCPUのプロ
グラムカウンタ出力信号を記憶し、記憶した値を、前記
外部デバッグ信号端子を介して接続された外部デバイス
に出力することを特徴とする複数CPUの協調デバッグ
回路を備えるコンピュータシステム。 - 【請求項7】請求項1ないし5のいずれかにおいてにお
いて、前記協調デバッグ回路は、前記複数のCPUとそ
れぞれ、当該CPUの内部状態を出力するトレースデー
タ出力信号を介して接続され、 前記複数のCPUのトレースデータ出力信号を記憶す
る、トレースデータ格納部を備え、 前記トレースデータ格納部は、 当該CPUトレースデータ出力信号と、 当該CPUトレースデータ出力信号の出力時間情報とを
組み合わせて記憶させることを特徴とする複数CPUの
協調デバッグ回路を備えるコンピュータシステム。 - 【請求項8】請求項1ないし7のいずれかにおいて、前
記コンピュータシステムに外部デバイスインターフェー
スを介して接続され、前記CPUのデバッグ用プログラ
ムを記憶装置に格納した外部デバイスを有し、 該外部デバイスは、前記コンピュータシステムのデバッ
グデバッグ作業のための表示、操作手段としての機能を
備えたことを特徴とする複数CPUの協調デバッグ回路
を備えるコンピュータシステム。 - 【請求項9】複数のCPUを搭載したコンピュータシス
テムに外部デバイスインターフェースを介して接続さ
れ、前記CPUのデバッグを行うための外部デバイスで
あって、計算機、記憶装置、及び表示部を備えたものに
おいて、 前記計算機は、前記記憶装置に格納されているデバッグ
用プログラムを読み込み実行する機能を有し、かつ、 前記表示部に、前記CPUのデバッグ用プログラム操作
のためのボタン群と、コマンド入力欄を表示し、前記プ
ログラムの実行結果および前記外部デバイスインターフ
ェース信号からの情報をデータ表示欄に表示する機能を
有し、当該CPUが実行するプログラムのブレーク条件
成立個所を前記表示部に強調表示することを特徴とした
外部デバイス。 - 【請求項10】複数のCPUを搭載したコンピュータシ
ステムに外部デバイスインターフェースを介して接続さ
れ、前記CPUのデバッグを行うための外部デバイスで
あって、計算機、記憶装置、及び表示部を備えたものに
おいて、 前記計算機は、前記記憶装置に格納されているデバッグ
用プログラムを読み込み実行する機能を有し、かつ、 前記表示部に、前記CPUのデバッグ用プログラム操作
のためのボタン群と、コマンド入力欄を表示し、前記プ
ログラムの実行結果および前記外部デバイスインターフ
ェース信号からの情報をデータ表示欄に表示する機能を
有し、 当該CPUが実行するプログラムの停止個所を前記表示
部に並べて表示することを特徴とした外部デバイス。 - 【請求項11】複数のCPUを搭載したコンピュータシ
ステムに外部デバイスインターフェースを介して接続さ
れ、前記CPUのデバッグを行うための外部デバイスで
あって、計算機、記憶装置、及び表示部を備えたものに
おいて、 前記計算機は、前記記憶装置に格納されているデバッグ
用プログラムを読み込み実行する機能を有し、かつ、 前記表示部に、前記CPUのデバッグ用プログラム操作
のためのボタン群と、コマンド入力欄を表示し、前記プ
ログラムの実行結果および前記外部デバイスインターフ
ェース信号からの情報をデータ表示欄に表示する機能を
有し、当該CPUのトレースデータを、出力時間の関係
が分かるように前記表示部に並べて表示することを特徴
とした外部デバイス。 - 【請求項12】デバッグ機能を有するCPUであって、
少なくともプログラム格納部、命令デコード部、制御
部、デバッグコントローラを備えたものにおいて、 前記制御部は、 当該CPUのブレーク条件が成立したことを示すブレー
ク出力と、デバッグ用に当該CPUを停止するためのブ
レーク入力信号とを備えることを特徴としたCPU。 - 【請求項13】デバッグ機能を有するCPUであって、
少なくともプログラム格納部、命令デコード部、制御
部、デバッグコントローラを備えたものにおいて、 当該CPUのブレーク復帰命令実行を示すブレーク復帰
出力と、 当該CPUのブレークを解除するためのブレーク復帰入
力とを備えることを特徴としたCPU。 - 【請求項14】複数のCPUを搭載したコンピュータシ
ステムに外部デバイスインターフェースを介して、計算
機、記憶装置、及び表示部を備えた外部デバイスを接続
し、前記CPUのデバッグを行う複数CPUのデバッグ
方法であって、 前記外部デバイスの前記表示部に、前記CPUのデバッ
グ用プログラム操作のためのボタン群と、コマンド入力
欄を表示し、 該ボタン群及びコマンド入力欄に対する操作に基づいて
デバッグを実行し、 前記プログラムの実行結果および前記外部デバイスイン
ターフェース信号からの情報をデータ表示欄に表示し、 当該CPUが実行するプログラムのブレーク条件成立個
所を前記表示部に強調表示することを特徴とした複数C
PUのデバッグ方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001362636A JP2003162426A (ja) | 2001-11-28 | 2001-11-28 | 複数cpuの協調デバッグ回路を備えるコンピュータシステム及びデバッグ方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001362636A JP2003162426A (ja) | 2001-11-28 | 2001-11-28 | 複数cpuの協調デバッグ回路を備えるコンピュータシステム及びデバッグ方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2003162426A true JP2003162426A (ja) | 2003-06-06 |
Family
ID=19173106
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001362636A Pending JP2003162426A (ja) | 2001-11-28 | 2001-11-28 | 複数cpuの協調デバッグ回路を備えるコンピュータシステム及びデバッグ方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2003162426A (ja) |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7203819B2 (en) | 2003-08-21 | 2007-04-10 | Sony Electric Co., Ltd | Program processing device |
| JP2007122543A (ja) * | 2005-10-31 | 2007-05-17 | Nec Electronics Corp | 半導体集積回路装置、それのデバッグシステム及びデバッグ方法。 |
| JP2007141200A (ja) * | 2005-10-21 | 2007-06-07 | Renesas Technology Corp | データ処理装置 |
| US7434103B2 (en) | 2003-08-21 | 2008-10-07 | Sanyo Electric Co., Ltd. | Program processing device |
| JP2011070256A (ja) * | 2009-09-24 | 2011-04-07 | Toshiba Corp | デバッガおよびプログラム |
| JP2011100388A (ja) * | 2009-11-09 | 2011-05-19 | Fujitsu Ltd | トレース情報収集装置,トレース情報処理装置,およびトレース情報収集方法 |
| WO2012127955A1 (ja) | 2011-03-24 | 2012-09-27 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
| US8527812B2 (en) | 2010-05-20 | 2013-09-03 | Renesas Electronics Corporation | Information processing device |
| JP2021519965A (ja) * | 2018-03-21 | 2021-08-12 | シー−スカイ マイクロシステムズ カンパニー,リミテッド | マルチコアプロセッサのためのデバッギング解決手段 |
Citations (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS54136153A (en) * | 1978-04-13 | 1979-10-23 | Nec Corp | Multiple processor |
| JPS55121566A (en) * | 1979-03-12 | 1980-09-18 | Hitachi Ltd | Information processor |
| JPS6385942A (ja) * | 1986-09-30 | 1988-04-16 | Toshiba Corp | 並列プログラムのデバツグ支援装置 |
| JPS63177231A (ja) * | 1987-01-17 | 1988-07-21 | Nippon Telegr & Teleph Corp <Ntt> | 並列プログラムデバグ方式 |
| JPH01150943A (ja) * | 1987-12-08 | 1989-06-13 | Nec Corp | マルチプロセッサシステムのデバック装置 |
| JPH03244040A (ja) * | 1990-02-21 | 1991-10-30 | Nec Corp | 並列走行型デバグ方式 |
| JPH04314141A (ja) * | 1991-04-12 | 1992-11-05 | Nec Software Ltd | マルチタスク制御方法とその機構 |
| JPH04337843A (ja) * | 1991-05-15 | 1992-11-25 | Hitachi Ltd | プログラム動作表示方法 |
| JPH0520120A (ja) * | 1991-07-11 | 1993-01-29 | Nec Corp | 並列処理コンピユータシステム |
| JPH05128079A (ja) * | 1991-10-31 | 1993-05-25 | Nec Corp | マルチプロセツサシステムにおけるトレース方式 |
| JPH05313946A (ja) * | 1992-05-06 | 1993-11-26 | Nippon Telegr & Teleph Corp <Ntt> | マルチプロセッサシステムのデバグ支援装置 |
| JPH06290077A (ja) * | 1993-04-06 | 1994-10-18 | Hitachi Ltd | プログラム実行中断点設定方法 |
| JPH06332747A (ja) * | 1993-05-25 | 1994-12-02 | Nec Corp | マルチプロセッサシステムのプログラムデバッグ方法 |
| JPH08202581A (ja) * | 1995-01-30 | 1996-08-09 | Hitachi Ltd | 並列計算機のデバッグ装置 |
| JPH08202580A (ja) * | 1995-01-24 | 1996-08-09 | Hitachi Ltd | エミュレータ |
| JPH09259002A (ja) * | 1996-03-22 | 1997-10-03 | Hitachi Ltd | デバッグ支援装置 |
| JPH1139190A (ja) * | 1997-07-22 | 1999-02-12 | Fujitsu Ltd | 並列処理プログラムのデバッグシステム、及びそのデバッグ方法 |
| WO2001020456A1 (fr) * | 1999-09-10 | 2001-03-22 | Hitachi, Ltd. | Systeme de gestion et procede pour systeme d'exploitation |
| JP2001282572A (ja) * | 2000-03-29 | 2001-10-12 | Canon Inc | プログラムデバッグ装置および方法 |
-
2001
- 2001-11-28 JP JP2001362636A patent/JP2003162426A/ja active Pending
Patent Citations (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS54136153A (en) * | 1978-04-13 | 1979-10-23 | Nec Corp | Multiple processor |
| JPS55121566A (en) * | 1979-03-12 | 1980-09-18 | Hitachi Ltd | Information processor |
| JPS6385942A (ja) * | 1986-09-30 | 1988-04-16 | Toshiba Corp | 並列プログラムのデバツグ支援装置 |
| JPS63177231A (ja) * | 1987-01-17 | 1988-07-21 | Nippon Telegr & Teleph Corp <Ntt> | 並列プログラムデバグ方式 |
| JPH01150943A (ja) * | 1987-12-08 | 1989-06-13 | Nec Corp | マルチプロセッサシステムのデバック装置 |
| JPH03244040A (ja) * | 1990-02-21 | 1991-10-30 | Nec Corp | 並列走行型デバグ方式 |
| JPH04314141A (ja) * | 1991-04-12 | 1992-11-05 | Nec Software Ltd | マルチタスク制御方法とその機構 |
| JPH04337843A (ja) * | 1991-05-15 | 1992-11-25 | Hitachi Ltd | プログラム動作表示方法 |
| JPH0520120A (ja) * | 1991-07-11 | 1993-01-29 | Nec Corp | 並列処理コンピユータシステム |
| JPH05128079A (ja) * | 1991-10-31 | 1993-05-25 | Nec Corp | マルチプロセツサシステムにおけるトレース方式 |
| JPH05313946A (ja) * | 1992-05-06 | 1993-11-26 | Nippon Telegr & Teleph Corp <Ntt> | マルチプロセッサシステムのデバグ支援装置 |
| JPH06290077A (ja) * | 1993-04-06 | 1994-10-18 | Hitachi Ltd | プログラム実行中断点設定方法 |
| JPH06332747A (ja) * | 1993-05-25 | 1994-12-02 | Nec Corp | マルチプロセッサシステムのプログラムデバッグ方法 |
| JPH08202580A (ja) * | 1995-01-24 | 1996-08-09 | Hitachi Ltd | エミュレータ |
| JPH08202581A (ja) * | 1995-01-30 | 1996-08-09 | Hitachi Ltd | 並列計算機のデバッグ装置 |
| JPH09259002A (ja) * | 1996-03-22 | 1997-10-03 | Hitachi Ltd | デバッグ支援装置 |
| JPH1139190A (ja) * | 1997-07-22 | 1999-02-12 | Fujitsu Ltd | 並列処理プログラムのデバッグシステム、及びそのデバッグ方法 |
| WO2001020456A1 (fr) * | 1999-09-10 | 2001-03-22 | Hitachi, Ltd. | Systeme de gestion et procede pour systeme d'exploitation |
| JP2001282572A (ja) * | 2000-03-29 | 2001-10-12 | Canon Inc | プログラムデバッグ装置および方法 |
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7203819B2 (en) | 2003-08-21 | 2007-04-10 | Sony Electric Co., Ltd | Program processing device |
| KR100768396B1 (ko) | 2003-08-21 | 2007-10-18 | 산요덴키가부시키가이샤 | 프로그램 처리 장치 |
| US7434103B2 (en) | 2003-08-21 | 2008-10-07 | Sanyo Electric Co., Ltd. | Program processing device |
| JP2007141200A (ja) * | 2005-10-21 | 2007-06-07 | Renesas Technology Corp | データ処理装置 |
| JP2007122543A (ja) * | 2005-10-31 | 2007-05-17 | Nec Electronics Corp | 半導体集積回路装置、それのデバッグシステム及びデバッグ方法。 |
| JP2011070256A (ja) * | 2009-09-24 | 2011-04-07 | Toshiba Corp | デバッガおよびプログラム |
| JP2011100388A (ja) * | 2009-11-09 | 2011-05-19 | Fujitsu Ltd | トレース情報収集装置,トレース情報処理装置,およびトレース情報収集方法 |
| US8527812B2 (en) | 2010-05-20 | 2013-09-03 | Renesas Electronics Corporation | Information processing device |
| WO2012127955A1 (ja) | 2011-03-24 | 2012-09-27 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
| JP5628411B2 (ja) * | 2011-03-24 | 2014-11-19 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
| JP2021519965A (ja) * | 2018-03-21 | 2021-08-12 | シー−スカイ マイクロシステムズ カンパニー,リミテッド | マルチコアプロセッサのためのデバッギング解決手段 |
| JP7421486B2 (ja) | 2018-03-21 | 2024-01-24 | シー-スカイ マイクロシステムズ カンパニー,リミテッド | マルチコアプロセッサのためのデバッギング解決手段 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4512380B2 (ja) | データを処理する方法と装置およびコンピュータ・プログラム製品 | |
| US20130179850A1 (en) | Verification module apparatus to serve as a prototype for functionally debugging an electronic design that exceeds the capacity of a single FPGA | |
| US8214701B1 (en) | Hardware and software debugging | |
| JP2003162426A (ja) | 複数cpuの協調デバッグ回路を備えるコンピュータシステム及びデバッグ方法 | |
| US20210173994A1 (en) | Method and system for viewing simulation signals of a digital product | |
| US20080313584A1 (en) | Logic verification method | |
| CN116521468A (zh) | 一种fpga在线调试方法及支持在线调试的fpga | |
| US20210173989A1 (en) | Simulation signal viewing method and system for digital product | |
| CN107607853A (zh) | 芯片的调试方法、装置、存储介质和处理器 | |
| US7647532B2 (en) | Trace controller, microprocessor, and trace control method | |
| JPH0991335A (ja) | 論理回路設計支援装置 | |
| JP2000235510A (ja) | プロセッサおよびそのためのコンパイルプログラム記録媒体 | |
| JPH08171505A (ja) | 半導体装置 | |
| JP4685368B2 (ja) | データを処理する装置、トレースデータを発生する方法、及びトレースデータを分析する装置 | |
| CN113806279B (zh) | 一种基于SystemC实现iMX6Q的SoC片上串口的建模方法 | |
| JP2785606B2 (ja) | パイプライン処理方式コンピュータ用プログラムのデバッガ | |
| US20250258763A1 (en) | Co-simulation for System-on-Chip | |
| Radojevic et al. | Design of distributed heterogeneous embedded systems in DDFCharts | |
| JP4600134B2 (ja) | マルチプロセッサシステム | |
| JPH07248939A (ja) | プロセッサ及びプロセッサシステム | |
| JPH0390955A (ja) | 複数cpuに対応するコンピュータ装置の開発支援装置 | |
| WO2025170967A1 (en) | Co-debugging for system-on-chip having a cpu and an accelerator portion | |
| JP2005227958A (ja) | シミュレーション解析システム、アクセラレータ装置及びエミュレータ装置 | |
| CN117572206A (zh) | 可跨周期比较的测试系统及方法 | |
| JPH06266799A (ja) | データパス表示装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060707 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060725 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20061205 |