JP3461327B2 - トレースメモリに制限されない長時間トレースシステム - Google Patents
トレースメモリに制限されない長時間トレースシステムInfo
- Publication number
- JP3461327B2 JP3461327B2 JP2000145290A JP2000145290A JP3461327B2 JP 3461327 B2 JP3461327 B2 JP 3461327B2 JP 2000145290 A JP2000145290 A JP 2000145290A JP 2000145290 A JP2000145290 A JP 2000145290A JP 3461327 B2 JP3461327 B2 JP 3461327B2
- Authority
- JP
- Japan
- Prior art keywords
- trace
- memory
- data
- circuit emulator
- clock
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Bus Control (AREA)
Description
【0001】
【発明の属する技術分野】本発明はトレースメモリの容
量に制限されない長時間トレースを行うシステムに関
し、特にインサーキットエミュレータにおいて長時間の
トレースが可能なシステムに関する。
量に制限されない長時間トレースを行うシステムに関
し、特にインサーキットエミュレータにおいて長時間の
トレースが可能なシステムに関する。
【0002】
【従来の技術】従来より、デバイスとそれを制御するマ
イクロプロセッサを含む装置の開発においては、試作装
置をターゲットとして、これにインサーキットエミュレ
ータ(以下ICEと省略)を接続し、ICEのCPUの
外部、内部信号を逐次トレースしながら試作ハードウェ
ア及びプログラムを動作させ、これらをデバッグするこ
とがよく行われる。
イクロプロセッサを含む装置の開発においては、試作装
置をターゲットとして、これにインサーキットエミュレ
ータ(以下ICEと省略)を接続し、ICEのCPUの
外部、内部信号を逐次トレースしながら試作ハードウェ
ア及びプログラムを動作させ、これらをデバッグするこ
とがよく行われる。
【0003】或いは、ICEのエミュレーション用メモ
リに、対象プログラムとデバイス疑似プログラムを搭載
し、上記同様にトレースしつつICEのCPUを動作さ
せることで、ハードウェア試作前にプログラムの事前デ
バッグを行う。
リに、対象プログラムとデバイス疑似プログラムを搭載
し、上記同様にトレースしつつICEのCPUを動作さ
せることで、ハードウェア試作前にプログラムの事前デ
バッグを行う。
【0004】図10は、上記ICEによるデバッグを行
う際のシステム構成を示したものである。通常、ICE
2は、ターゲット装置5のCPUに代わり、その動作を
エミュレートするエミュレーションCPU15、この入
出力信号が接続されたプラグ24、対象プログラムを搭
載するエミュレーション用メモリ18、エミュレーショ
ン動作中に、エミュレーションCPU15の外部信号を
逐次記録するトレースメモリ14、エミュレーション動
作の停止条件や、動作中のトレース開始条件を検出する
停止、トリガ条件検出部16、ホストI/F部21を含
む。
う際のシステム構成を示したものである。通常、ICE
2は、ターゲット装置5のCPUに代わり、その動作を
エミュレートするエミュレーションCPU15、この入
出力信号が接続されたプラグ24、対象プログラムを搭
載するエミュレーション用メモリ18、エミュレーショ
ン動作中に、エミュレーションCPU15の外部信号を
逐次記録するトレースメモリ14、エミュレーション動
作の停止条件や、動作中のトレース開始条件を検出する
停止、トリガ条件検出部16、ホストI/F部21を含
む。
【0005】又、トレースメモリ14は、DRAM或い
はSRAMで構成され、通常数Kバイト〜数十Kバイト
程度の容量の記憶部14−2と、これへの書込、読出ア
クセスを行うアクセス制御部14−1を備えている。
はSRAMで構成され、通常数Kバイト〜数十Kバイト
程度の容量の記憶部14−2と、これへの書込、読出ア
クセスを行うアクセス制御部14−1を備えている。
【0006】ホストコンピュータ4は、ICE2を制御
するコンピュータであり、ホストCPU80、バスブリ
ッジ&メモリコントローラ70、ホスト主メモリ30、
ICE接続アダプタ49、表示手段としてのディスプレ
イ92、操作手段としてのキーボード(KBD)94、
ファイルデバイス63等を含む。
するコンピュータであり、ホストCPU80、バスブリ
ッジ&メモリコントローラ70、ホスト主メモリ30、
ICE接続アダプタ49、表示手段としてのディスプレ
イ92、操作手段としてのキーボード(KBD)94、
ファイルデバイス63等を含む。
【0007】通常、これらは汎用のパーソナルコンピュ
ータの拡張スロットにICE接続アダプタ49を実装し
て実現される。
ータの拡張スロットにICE接続アダプタ49を実装し
て実現される。
【0008】又、ホスト主メモリ30には、オペレーテ
イングシステム(OS)301の他に、ICE制御ソフ
トウェア302が常駐している。
イングシステム(OS)301の他に、ICE制御ソフ
トウェア302が常駐している。
【0009】従来この様なシステムで、例えばターゲッ
トCPUソケット25、主メモリ26、デバイス28
A、デバイス28Bがバス接続されたターゲット装置5
を接続しての実機デバッグは以下の様に行う。
トCPUソケット25、主メモリ26、デバイス28
A、デバイス28Bがバス接続されたターゲット装置5
を接続しての実機デバッグは以下の様に行う。
【0010】ターゲット装置5のCPUの代わりにIC
E2のプラグ24を接続し、ホストコンピュータ4よ
り、ICE制御ソフトウェア302を用いターゲットプ
ログラムをエミュレーション用メモリ18に設定し、停
止、トリガ条件を停止トリガ条件検出部16に設定後、
エミュレーションCPU15、停止トリガ条件検出部1
6、エミュレーション用メモリ18、アクセス制御部1
4−1への動作クロックを、ターゲット装置5のクロッ
ク部27からのクロック或いはこれに同期させた内部ク
ロックに切り替える。
E2のプラグ24を接続し、ホストコンピュータ4よ
り、ICE制御ソフトウェア302を用いターゲットプ
ログラムをエミュレーション用メモリ18に設定し、停
止、トリガ条件を停止トリガ条件検出部16に設定後、
エミュレーションCPU15、停止トリガ条件検出部1
6、エミュレーション用メモリ18、アクセス制御部1
4−1への動作クロックを、ターゲット装置5のクロッ
ク部27からのクロック或いはこれに同期させた内部ク
ロックに切り替える。
【0011】エミュレーションCPU15にリセットア
ンドスタート指示をし、エミュレーション動作を開始す
る。トリガ条件が検出されると、エミュレーションCP
U15の入出力信号を、アクセス制御部14−1により
記憶部14−2に逐次記録する。
ンドスタート指示をし、エミュレーション動作を開始す
る。トリガ条件が検出されると、エミュレーションCP
U15の入出力信号を、アクセス制御部14−1により
記憶部14−2に逐次記録する。
【0012】停止条件を検出するか或いはICE制御ソ
フトウェア302からの停止指示でエミュレーション動
作を停止し、前記クロックをホストコンピュータ4のク
ロックに同期したクロックに戻し、アクセス制御部14
−1を用い、記憶部14−2からトレースデータを読出
し、ホストI/F部21、ICE接続アダプタ49を通
じてホスト主メモリ30にアップロードし、これをディ
スプレイ92等に出力し解析用データとして利用者に提
供する。
フトウェア302からの停止指示でエミュレーション動
作を停止し、前記クロックをホストコンピュータ4のク
ロックに同期したクロックに戻し、アクセス制御部14
−1を用い、記憶部14−2からトレースデータを読出
し、ホストI/F部21、ICE接続アダプタ49を通
じてホスト主メモリ30にアップロードし、これをディ
スプレイ92等に出力し解析用データとして利用者に提
供する。
【0013】
【発明が解決しようとする課題】従って、従来のICE
等における、トレースシステムではターゲットプログラ
ムのデバッグや、性能解析の為のトレース動作はトレー
スメモリの容量に収まる期間に限定されおり、連続した
長時間のトレースが行えないという問題点があった。
等における、トレースシステムではターゲットプログラ
ムのデバッグや、性能解析の為のトレース動作はトレー
スメモリの容量に収まる期間に限定されおり、連続した
長時間のトレースが行えないという問題点があった。
【0014】一方、組み込み分野におけるマイクロプロ
セッサの飛躍的な高性能、高機能化に伴い、プロセッサ
上にて実行するプログラムも大規模かつ複雑化してお
り、この様なプログラムのデバッグや性能解析時に、よ
り長時間のトレースをしたいという要求が高まってきて
いる。
セッサの飛躍的な高性能、高機能化に伴い、プロセッサ
上にて実行するプログラムも大規模かつ複雑化してお
り、この様なプログラムのデバッグや性能解析時に、よ
り長時間のトレースをしたいという要求が高まってきて
いる。
【0015】又、メカニカル動作を伴うデバイスを含め
たターゲットのデバッグ、性能解析を行う場合には、極
力、実使用動作に近付ける為、連続した長時間のエミュ
レーション動作と、その間のトレースが必要とされる。
これは、例えば回動、回転を伴うターゲット動作を、細
切れにして多数回のトレースを行ない、トレースデータ
を結合させたのでは、実使用状態での連続動作のトレー
ス結果と異なってくる等の理由による。
たターゲットのデバッグ、性能解析を行う場合には、極
力、実使用動作に近付ける為、連続した長時間のエミュ
レーション動作と、その間のトレースが必要とされる。
これは、例えば回動、回転を伴うターゲット動作を、細
切れにして多数回のトレースを行ない、トレースデータ
を結合させたのでは、実使用状態での連続動作のトレー
ス結果と異なってくる等の理由による。
【0016】ここで、長時間トレースを可能とする為
に、ICE装置のトレースメモリ容量を大容量化するこ
とも考えられるが、上記理由により近年時間当たりのト
レースデータ量が増大しており、多量のメモリが必要と
なりコスト高となり旨くない。
に、ICE装置のトレースメモリ容量を大容量化するこ
とも考えられるが、上記理由により近年時間当たりのト
レースデータ量が増大しており、多量のメモリが必要と
なりコスト高となり旨くない。
【0017】
【課題を解決するための手段】本発明による第1の長時
間トレースシステムは、トレースメモリを持つインサー
キットエミュレータと前記インサーキットエミュレータ
を接続し制御するホストコンピュータを備えたトレース
システムであって、前記トレースメモリは、エミュレー
ション動作に同期してトレースデータを記憶部に書き込
む書込制御部と、記憶部としてのマルチポートメモリ
と、記憶部の内容を前記書込みと並行に逐次読出せる読
出制御部とを有し、前記ホストコンピュータは、大容量
記憶装置と、そのコントローラと、インサーキットエミ
ュレータ接続部とインサーキットエミュレータ制御手段
とを有し、インサーキットエミュレータ制御手段がイン
サーキットエミュレータ接続部を通じ、書込と並行して
前記読出制御部が逐次読み出したトレースデータを主記
憶にアップロード後、大容量記憶装置に格納することを
特徴とする。
間トレースシステムは、トレースメモリを持つインサー
キットエミュレータと前記インサーキットエミュレータ
を接続し制御するホストコンピュータを備えたトレース
システムであって、前記トレースメモリは、エミュレー
ション動作に同期してトレースデータを記憶部に書き込
む書込制御部と、記憶部としてのマルチポートメモリ
と、記憶部の内容を前記書込みと並行に逐次読出せる読
出制御部とを有し、前記ホストコンピュータは、大容量
記憶装置と、そのコントローラと、インサーキットエミ
ュレータ接続部とインサーキットエミュレータ制御手段
とを有し、インサーキットエミュレータ制御手段がイン
サーキットエミュレータ接続部を通じ、書込と並行して
前記読出制御部が逐次読み出したトレースデータを主記
憶にアップロード後、大容量記憶装置に格納することを
特徴とする。
【0018】本発明による第2の長時間トレースシステ
ムは、前記大容量記憶装置を、前記ホストコンピュータ
に接続されたファイルデバイスとすることを特徴とす
る。
ムは、前記大容量記憶装置を、前記ホストコンピュータ
に接続されたファイルデバイスとすることを特徴とす
る。
【0019】本発明による第3の長時間トレースシステ
ムは、前記トレースメモリは、記憶部をデュアルポート
メモリとし、書込制御部はターゲット装置のクロックに
同期した第1のクロックで動作し、読出制御部は、ホス
トコンピュータのクロックに同期した第2のクロックで
動作すると共に、書込制御部からの書込信号を第2のク
ロックに同期化する手段、同期化した書込信号でカウン
トアップし読出信号でカウントダウンするアップダウン
カウンタとを有すことを特徴とする。
ムは、前記トレースメモリは、記憶部をデュアルポート
メモリとし、書込制御部はターゲット装置のクロックに
同期した第1のクロックで動作し、読出制御部は、ホス
トコンピュータのクロックに同期した第2のクロックで
動作すると共に、書込制御部からの書込信号を第2のク
ロックに同期化する手段、同期化した書込信号でカウン
トアップし読出信号でカウントダウンするアップダウン
カウンタとを有すことを特徴とする。
【0020】本発明による第4の長時間トレースシステ
ムは、前記ホストコンピュータは、インサーキットエミ
ュレータ接続部に、インサーキットエミュレータから受
信したトレースデータを一時記憶するバッファ手段とこ
れを主記憶にDMA転送する手段を有し、主記憶に、前
記接続部からのトレースデータを前記ホストコンピュー
タに接続されたファイルデバイスに転送する迄の間一時
記憶し、その容量が、インサーキットエミュレータでの
トレースデータの転送レート、前記ファイルデバイスの
回転、及び又はシーク待ち時間に応じて設定された転送
バッファを有し、ファイルデバイスコントローラにも、
バッファ手段及びDMA転送手段を有し、前記インサー
キットエミュレータ制御手段が、前記転送バッファの使
用量フラグ情報、デュアルポートメモリ使用量フラグ情
報とに従って、前記各DMA転送手段への設定カウント
を制御することを特徴とする。
ムは、前記ホストコンピュータは、インサーキットエミ
ュレータ接続部に、インサーキットエミュレータから受
信したトレースデータを一時記憶するバッファ手段とこ
れを主記憶にDMA転送する手段を有し、主記憶に、前
記接続部からのトレースデータを前記ホストコンピュー
タに接続されたファイルデバイスに転送する迄の間一時
記憶し、その容量が、インサーキットエミュレータでの
トレースデータの転送レート、前記ファイルデバイスの
回転、及び又はシーク待ち時間に応じて設定された転送
バッファを有し、ファイルデバイスコントローラにも、
バッファ手段及びDMA転送手段を有し、前記インサー
キットエミュレータ制御手段が、前記転送バッファの使
用量フラグ情報、デュアルポートメモリ使用量フラグ情
報とに従って、前記各DMA転送手段への設定カウント
を制御することを特徴とする。
【0021】本発明による第5の長時間トレースシステ
ムは、前記インサーキットエミュレータは、トレースメ
モリ記憶部の前回書込データの読出前に、書込みが発生
したオーバフローを検出する手段を有し、前記インサー
キットエミュレータ制御手段はトレース動作終了時オー
バフロー箇所をインサーキットエミュレータ操作者に通
知する手段を有すことを特徴とする。
ムは、前記インサーキットエミュレータは、トレースメ
モリ記憶部の前回書込データの読出前に、書込みが発生
したオーバフローを検出する手段を有し、前記インサー
キットエミュレータ制御手段はトレース動作終了時オー
バフロー箇所をインサーキットエミュレータ操作者に通
知する手段を有すことを特徴とする。
【0022】本発明による第6の長時間トレースシステ
ムは、前記インサーキットエミュレータ制御手段が、長
時間トレースの開始前に、トレースデータの転送先ファ
イルとして対象ファイルデバイス上に連続エリアを確保
する手段を有すことを特徴とする。
ムは、前記インサーキットエミュレータ制御手段が、長
時間トレースの開始前に、トレースデータの転送先ファ
イルとして対象ファイルデバイス上に連続エリアを確保
する手段を有すことを特徴とする。
【0023】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して詳細に説明する。図1は、本発明のト
レースシステムの全体構成を示すブロック図である。I
CE1は、ターゲット装置のCPUに代わり、その動作
をエミュレートするエミュレーションCPU15、ター
ゲットプログラムを搭載するエミュレーション用メモリ
18、ターゲット装置のCPUのソケットに接続される
プラグ24、バススイッチ17、19、エミュレーショ
ン動作中に、エミュレーションCPU15の外部信号を
逐次記録するトレースメモリ10、エミュレーション動
作の停止条件や、動作中のトレース開始条件を検出する
停止、トリガ条件検出部16、ホストI/F部20、こ
れらにクロックを供給するクロック部22より構成され
る。
て図面を参照して詳細に説明する。図1は、本発明のト
レースシステムの全体構成を示すブロック図である。I
CE1は、ターゲット装置のCPUに代わり、その動作
をエミュレートするエミュレーションCPU15、ター
ゲットプログラムを搭載するエミュレーション用メモリ
18、ターゲット装置のCPUのソケットに接続される
プラグ24、バススイッチ17、19、エミュレーショ
ン動作中に、エミュレーションCPU15の外部信号を
逐次記録するトレースメモリ10、エミュレーション動
作の停止条件や、動作中のトレース開始条件を検出する
停止、トリガ条件検出部16、ホストI/F部20、こ
れらにクロックを供給するクロック部22より構成され
る。
【0024】エミュレーションCPU15の外部信号
は、4バイトのデータ信号、2バイトのアドレス信号、
I/Oやメモリアクセス用のコマンド信号、割り込み要
求、受付信号、DMA要求、受付信号、バスサイクル開
始信号を含む。これらの信号は、ホストI/F部の制御
信号と共に、ICEバス23として周辺のブロックに接
続されている。
は、4バイトのデータ信号、2バイトのアドレス信号、
I/Oやメモリアクセス用のコマンド信号、割り込み要
求、受付信号、DMA要求、受付信号、バスサイクル開
始信号を含む。これらの信号は、ホストI/F部の制御
信号と共に、ICEバス23として周辺のブロックに接
続されている。
【0025】バススイッチ19は、エミュレーションC
PU15の外部信号と、プラグ24の各信号の間に設け
られた信号単位のスイッチであり、3ステートのドライ
バ、レシーバで構成される。
PU15の外部信号と、プラグ24の各信号の間に設け
られた信号単位のスイッチであり、3ステートのドライ
バ、レシーバで構成される。
【0026】バススイッチ17は、エミュレーションC
PU15の外部信号と、エミュレーション用メモリ18
のデータ信号、アドレス信号、コマンド信号のスイッチ
であり、3ステートのドライバ、レシーバで構成され
る。
PU15の外部信号と、エミュレーション用メモリ18
のデータ信号、アドレス信号、コマンド信号のスイッチ
であり、3ステートのドライバ、レシーバで構成され
る。
【0027】これらのバススイッチは、ICE1の各種
使用モードを可能にしている。例えばエミュレーション
動作時のメモリアクセス先が、ターゲット装置の主メモ
リでなく、内部のエミュレーション用メモリ18と指定
されている状態では、バススイッチ19では、メモリア
クセスコマンド信号はオフにされ、エミュレーションC
PU15がメモリアクセスコマンドを出している間は、
データ信号もオフにされる。
使用モードを可能にしている。例えばエミュレーション
動作時のメモリアクセス先が、ターゲット装置の主メモ
リでなく、内部のエミュレーション用メモリ18と指定
されている状態では、バススイッチ19では、メモリア
クセスコマンド信号はオフにされ、エミュレーションC
PU15がメモリアクセスコマンドを出している間は、
データ信号もオフにされる。
【0028】又、エミュレーションCPU15を動作さ
せずターゲット装置のCPUを動作させ、ICE1を単
にトレーサとして使用する場合は、バススイッチ19か
らプラグ24へのドライバは全てオフにし、レシーバの
みオンとし、バススイッチ17は全てオフにされる。
せずターゲット装置のCPUを動作させ、ICE1を単
にトレーサとして使用する場合は、バススイッチ19か
らプラグ24へのドライバは全てオフにし、レシーバの
みオンとし、バススイッチ17は全てオフにされる。
【0029】トレースメモリ10は、書込制御部11、
デュアルポートメモリ12、読出制御部13から構成さ
れ、読出制御部13は、書込制御部からの書込信号、終
了信号を読出制御部のクロックに同期化する回路13
7、同期化した書込信号でアップカウントし、読出信号
でダウンカウントするアップダウンカウンタ(以下U/
D−CTと省略)136を含む。
デュアルポートメモリ12、読出制御部13から構成さ
れ、読出制御部13は、書込制御部からの書込信号、終
了信号を読出制御部のクロックに同期化する回路13
7、同期化した書込信号でアップカウントし、読出信号
でダウンカウントするアップダウンカウンタ(以下U/
D−CTと省略)136を含む。
【0030】ホストコンピュータ3は、ICE1を制御
するコンピュータであり、ホストCPU80、バスブリ
ッジ&メモリコントローラ70、主メモリ30、ICE
接続アダプタ40、表示手段としてのディスプレイ92
と表示コントローラ91、操作手段としてのキーボード
(KBD)94とKBDコントローラ93、大容量記憶
装置としてのファイルデバイス60とそのコントローラ
であるデバイスコントローラ50を含む。
するコンピュータであり、ホストCPU80、バスブリ
ッジ&メモリコントローラ70、主メモリ30、ICE
接続アダプタ40、表示手段としてのディスプレイ92
と表示コントローラ91、操作手段としてのキーボード
(KBD)94とKBDコントローラ93、大容量記憶
装置としてのファイルデバイス60とそのコントローラ
であるデバイスコントローラ50を含む。
【0031】ICE接続アダプタ40は、ICE1から
受信したトレースデータを一時記憶するFIFO(先入
れ先出し)メモリ47と、これを主メモリ30の転送バ
ッファ34にDMA(ダイレクトメモリアクセス)転送
するDMAC(ダイレクトメモリアクセスコントロー
ラ)41を備えている。
受信したトレースデータを一時記憶するFIFO(先入
れ先出し)メモリ47と、これを主メモリ30の転送バ
ッファ34にDMA(ダイレクトメモリアクセス)転送
するDMAC(ダイレクトメモリアクセスコントロー
ラ)41を備えている。
【0032】デバイスコントローラ50にも、転送バッ
ファ34のデータ、コマンドバッファのコマンドを直接
読出し転送するDMAC51と、該データコマンドを一
時記憶するFIFOメモリ56を備える。
ファ34のデータ、コマンドバッファのコマンドを直接
読出し転送するDMAC51と、該データコマンドを一
時記憶するFIFOメモリ56を備える。
【0033】又、主メモリ30には、OS(オペレーテ
イングシステム)35の他に、ICE制御ソフトウェア
31を常駐させ、転送バッファ34も定義しておく。I
CE制御ソフトウェア31は、メイン処理部32と転送
処理部33を有す。
イングシステム)35の他に、ICE制御ソフトウェア
31を常駐させ、転送バッファ34も定義しておく。I
CE制御ソフトウェア31は、メイン処理部32と転送
処理部33を有す。
【0034】メイン処理部32は、利用者の各種操作指
示に従って、ICE1へ対応するコマンド、データを送
出する。転送処理部33は、エミュレーション動作中に
ICE1から送出されるトレースデータをファイルデバ
イス60に格納するための事前準備や、DMAC41、
51を制御し、トレースデータを転送バッファ34経由
で、ファイルデバイス60上のトレースデータファイル
61に転送する。
示に従って、ICE1へ対応するコマンド、データを送
出する。転送処理部33は、エミュレーション動作中に
ICE1から送出されるトレースデータをファイルデバ
イス60に格納するための事前準備や、DMAC41、
51を制御し、トレースデータを転送バッファ34経由
で、ファイルデバイス60上のトレースデータファイル
61に転送する。
【0035】尚、ファイルデバイス60としては、96
00回転/分以上の高速動作出来る数ギガバイト以上の
ハードディスク装置(HDU)が好適である。
00回転/分以上の高速動作出来る数ギガバイト以上の
ハードディスク装置(HDU)が好適である。
【0036】次に図2、図3を参照しICE1のトレー
ス書込、読出に係わるブロックの構成を説明する。図2
(A)はホストI/F部20のブロック図である。ホス
トI/F部20は、下り機能としてICE接続アダプタ
40からのコマンド、アドレスを受信するCAR(コマ
ンドアドレスレジスタ)204、データを受信するDT
R(データレジスタ)201、ICE接続部40のデー
タ受信可を示すRDY−H信号の受信FF205を持
つ。
ス書込、読出に係わるブロックの構成を説明する。図2
(A)はホストI/F部20のブロック図である。ホス
トI/F部20は、下り機能としてICE接続アダプタ
40からのコマンド、アドレスを受信するCAR(コマ
ンドアドレスレジスタ)204、データを受信するDT
R(データレジスタ)201、ICE接続部40のデー
タ受信可を示すRDY−H信号の受信FF205を持
つ。
【0037】CAR204のコマンド及びアドレスはI
CE制御ブロック209に送出され、ここでデコードさ
れICE1の対応部に制御レジスタの設定/読出指示、
モード信号、選択信号として送出される(具体的には、
エミュレーション用メモリ18の書込/読出、停止トリ
ガ条件レジスタの設定/読出、停止指示、エミュレーシ
ョンCPU15へのリセットアンドスタート指示、バス
スイッチ17、19の制御信号、読出制御部13への長
時間トレースモード信号、クロック部22へのクロック
選択信号等である)。
CE制御ブロック209に送出され、ここでデコードさ
れICE1の対応部に制御レジスタの設定/読出指示、
モード信号、選択信号として送出される(具体的には、
エミュレーション用メモリ18の書込/読出、停止トリ
ガ条件レジスタの設定/読出、停止指示、エミュレーシ
ョンCPU15へのリセットアンドスタート指示、バス
スイッチ17、19の制御信号、読出制御部13への長
時間トレースモード信号、クロック部22へのクロック
選択信号等である)。
【0038】CAR204のアドレスは、3ステートド
ライバ207Cを介してエミュレーション用メモリ18
にも送出され、DTR201のデータは3ステートドラ
イバ207Aを介してエミュレーション用メモリ18、
停止トリガ条件検出部16にも送出されている。
ライバ207Cを介してエミュレーション用メモリ18
にも送出され、DTR201のデータは3ステートドラ
イバ207Aを介してエミュレーション用メモリ18、
停止トリガ条件検出部16にも送出されている。
【0039】上り機能としては、ICE1各部からの読
出データを受信するDTR201、各部からのリプライ
や、読出制御部13からのDTSYNC(データ同
期)、ステータスを受信するRR203、SR202を
持つ。これらのレジスタの出力はICE接続アダプタ4
0に送出される。
出データを受信するDTR201、各部からのリプライ
や、読出制御部13からのDTSYNC(データ同
期)、ステータスを受信するRR203、SR202を
持つ。これらのレジスタの出力はICE接続アダプタ4
0に送出される。
【0040】図2(B)はクロック部22のブロック図
である。クロック発生回路221はターゲット装置のク
ロック(クロックT)を受信し、内部発生クロックの位
相を受信したクロック位相を参照し、自動調整し出力す
る回路である。
である。クロック発生回路221はターゲット装置のク
ロック(クロックT)を受信し、内部発生クロックの位
相を受信したクロック位相を参照し、自動調整し出力す
る回路である。
【0041】調整は、ターゲット装置5−ICE1の遅
延時間をtdとすると、出力の位相が受信クロックTよ
り2td分進相となるよう様に調整される。これにより
エミュレーションCPU15の出力をターゲット装置の
CPUソケットで観測した場合、あたかもターゲット装
置のクロックで自CPUを動作させたのと同等のタイミ
ングに見える。
延時間をtdとすると、出力の位相が受信クロックTよ
り2td分進相となるよう様に調整される。これにより
エミュレーションCPU15の出力をターゲット装置の
CPUソケットで観測した場合、あたかもターゲット装
置のクロックで自CPUを動作させたのと同等のタイミ
ングに見える。
【0042】クロック発生回路221は、それ自体が小
さな回路基板モジュールとなっており、出力の周波数が
例えば、20MHz、25MHz、33MHzのものと
言う様に数種類用意されており、クロックTに合致する
モジュールに交換実装出来るようになっている。
さな回路基板モジュールとなっており、出力の周波数が
例えば、20MHz、25MHz、33MHzのものと
言う様に数種類用意されており、クロックTに合致する
モジュールに交換実装出来るようになっている。
【0043】その構成は図示してないが、VCXO(V
oltage Control Crystal Os
illator)とPLL(Phase Loop L
ock)回路により構成出来る。
oltage Control Crystal Os
illator)とPLL(Phase Loop L
ock)回路により構成出来る。
【0044】例えば、40MHzのVCXO出力を分周
回路で20MHzにし、この出力をスルー/反転、スル
ー/12.5ns遅延、スルー/6.25ns遅延の各
作用を行う3段の回路を経て、その出力をモジュール出
力とすると共に、2td分のゲート回路で遅延させて、
受信クロックTとの位相比較回路に入力する。
回路で20MHzにし、この出力をスルー/反転、スル
ー/12.5ns遅延、スルー/6.25ns遅延の各
作用を行う3段の回路を経て、その出力をモジュール出
力とすると共に、2td分のゲート回路で遅延させて、
受信クロックTとの位相比較回路に入力する。
【0045】位相比較回路の出力を、ロウパスフィルタ
で受け、その電圧が第1の所定レベルを超えていれば
(両者の位相が大きく異なっていれば)、1段目の作用
回路に逆相の出力を指示する。
で受け、その電圧が第1の所定レベルを超えていれば
(両者の位相が大きく異なっていれば)、1段目の作用
回路に逆相の出力を指示する。
【0046】その後のロウパスフィルタ出力電圧が第2
の所定レベル(第1所定レベルの1/2程度)を超えて
いれば、2段目の作用回路に遅延有無が反対の関係にな
る様に指示する。
の所定レベル(第1所定レベルの1/2程度)を超えて
いれば、2段目の作用回路に遅延有無が反対の関係にな
る様に指示する。
【0047】その後のロウパスフィルタ出力電圧が第3
の所定レベル(第2所定レベルの1/2程度)を超えて
いれば、3段目の作用回路に遅延有無が反対の関係にな
る様に指示する。
の所定レベル(第2所定レベルの1/2程度)を超えて
いれば、3段目の作用回路に遅延有無が反対の関係にな
る様に指示する。
【0048】更にその後、ロウパスフィルタ出力をVC
XOに周波数制御電圧として入力しモジュールの出力の
位相をアジャストする。
XOに周波数制御電圧として入力しモジュールの出力の
位相をアジャストする。
【0049】クロック発生回路222も、構成はクロッ
ク発生回路221と同様の回路であるが、ホストコンピ
ュータ3のクロック(クロックH)を受信し、内部発生
クロックの位相を受信したクロックHの位相を参照し、
自動調整し出力する回路である。又その出力周波数は、
クロック発生回路221の3〜5倍程度のものが用意さ
れている。
ク発生回路221と同様の回路であるが、ホストコンピ
ュータ3のクロック(クロックH)を受信し、内部発生
クロックの位相を受信したクロックHの位相を参照し、
自動調整し出力する回路である。又その出力周波数は、
クロック発生回路221の3〜5倍程度のものが用意さ
れている。
【0050】クロック発生回路222の出力は、クロッ
クBとしてホストI/F部20、読出制御部13に供給
する。又、クロック発生回路221の出力とクロック発
生回路222の出力を選択回路223で切替え、クロッ
クAとしてエミュレーションCPU15、停止トリガ条
件検出部16、エミュレーションメモリ18、書込制御
部11に供給する。
クBとしてホストI/F部20、読出制御部13に供給
する。又、クロック発生回路221の出力とクロック発
生回路222の出力を選択回路223で切替え、クロッ
クAとしてエミュレーションCPU15、停止トリガ条
件検出部16、エミュレーションメモリ18、書込制御
部11に供給する。
【0051】図3はトレースメモリ10のブロック図で
ある。トレースメモリ10は、書込制御部11、デュア
ルポートメモリ12、読出制御部13から構成される。
書込制御部11は、トレースデータ選択回路111、書
込データレジスタ(WDR)112、書込アドレスカウ
ンタ(WA−CT)113、選択回路114、アクセス
制御(W)115を有す。
ある。トレースメモリ10は、書込制御部11、デュア
ルポートメモリ12、読出制御部13から構成される。
書込制御部11は、トレースデータ選択回路111、書
込データレジスタ(WDR)112、書込アドレスカウ
ンタ(WA−CT)113、選択回路114、アクセス
制御(W)115を有す。
【0052】トレースデータ選択回路111は、ホスト
コンピュータ3がエミュレーション動作に先立ち、トレ
ース対象とするICEバス上の信号の組合せについてコ
マンドを発行するので、それに対応する信号組合せを選
択する。WDR112でその出力を受けデュアルポート
メモリ12への書込データとする。
コンピュータ3がエミュレーション動作に先立ち、トレ
ース対象とするICEバス上の信号の組合せについてコ
マンドを発行するので、それに対応する信号組合せを選
択する。WDR112でその出力を受けデュアルポート
メモリ12への書込データとする。
【0053】WA−CT113は、1ワードの書込を行
う都度、インクリメントされるカウンタであり、その上
位部と下位部を切替え、デュアルポートメモリ12のポ
ートAのロウアドレス/カラムアドレスとし送出され
る。
う都度、インクリメントされるカウンタであり、その上
位部と下位部を切替え、デュアルポートメモリ12のポ
ートAのロウアドレス/カラムアドレスとし送出され
る。
【0054】アクセス制御(W)115は、停止トリガ
条件検出部16よりのトレース指示がオンであれば、ト
レースデータのWDR112への取り込み、デュアルポ
ートメモリ12への書込、WA−CT113の更新を繰
り返し行う。又、それに伴って、RAS(ロウアドレス
ストローブ)をWA−CT113の上位部(ロウアドレ
ス)が更新されたサイクルに、CAS(カラムアドレス
ストローブ)、WE(ライトイネーブル)信号を毎サイ
クルポートAへ送出する。
条件検出部16よりのトレース指示がオンであれば、ト
レースデータのWDR112への取り込み、デュアルポ
ートメモリ12への書込、WA−CT113の更新を繰
り返し行う。又、それに伴って、RAS(ロウアドレス
ストローブ)をWA−CT113の上位部(ロウアドレ
ス)が更新されたサイクルに、CAS(カラムアドレス
ストローブ)、WE(ライトイネーブル)信号を毎サイ
クルポートAへ送出する。
【0055】更に、毎サイクルの書込指示の1クロック
遅れの信号、トレース指示信号の立ち下がり検出信号
(1クロック間の信号)を、WT信号、END信号とし
て、読出制御部13に送る。
遅れの信号、トレース指示信号の立ち下がり検出信号
(1クロック間の信号)を、WT信号、END信号とし
て、読出制御部13に送る。
【0056】デュアルポートメモリ12は、ポートA、
Bの両ポートより、同時にアクセス可能なメモリであ
る。又、各ポートにページモードアクセス(ロウアドレ
スを保持し、カラムアドレスをインクリメントないしデ
クリメントしつつ、CASパルスを連続的に入力し、ペ
ージ内の連続ワードに順次アクセス)出来る。サイズ
は、例えば4バイト*IKワード程度とする。
Bの両ポートより、同時にアクセス可能なメモリであ
る。又、各ポートにページモードアクセス(ロウアドレ
スを保持し、カラムアドレスをインクリメントないしデ
クリメントしつつ、CASパルスを連続的に入力し、ペ
ージ内の連続ワードに順次アクセス)出来る。サイズ
は、例えば4バイト*IKワード程度とする。
【0057】読出制御部13は、読出データレジスタ
(RDR)131、読出アドレスカウンタ(RA−C
T)132、選択回路133、アクセス制御(R)13
4、同期化回路137、138、U/D−CT136を
有す。
(RDR)131、読出アドレスカウンタ(RA−C
T)132、選択回路133、アクセス制御(R)13
4、同期化回路137、138、U/D−CT136を
有す。
【0058】RDR131は、デュアルポートメモリ1
2のポートBから読み出したデータを保持するレジスタ
でその出力は選択回路206を介し、DTR201に送
られる。RA−CT132は、1ワードの読出を行う都
度、インクリメントされるカウンタであり、その上位部
と下位部を切替え、デュアルポートメモリ12のポート
Bのロウアドレス/カラムアドレスとし送出される。
2のポートBから読み出したデータを保持するレジスタ
でその出力は選択回路206を介し、DTR201に送
られる。RA−CT132は、1ワードの読出を行う都
度、インクリメントされるカウンタであり、その上位部
と下位部を切替え、デュアルポートメモリ12のポート
Bのロウアドレス/カラムアドレスとし送出される。
【0059】同期化回路137は、アクセス制御(W)
115がクロックAに同期して送出するWT信号を、ク
ロックBで動作するU/D−CT136のカウントアッ
プ入力として使用する為の同期化回路である。WT信号
をFFa(フリップフロップa)で受け、その出力をF
Fbに受け、FFa出力と、FFbのコンプリメント出
力をFFcのD1、D2に入力しクロックBに同期した
パルス信号を得る。
115がクロックAに同期して送出するWT信号を、ク
ロックBで動作するU/D−CT136のカウントアッ
プ入力として使用する為の同期化回路である。WT信号
をFFa(フリップフロップa)で受け、その出力をF
Fbに受け、FFa出力と、FFbのコンプリメント出
力をFFcのD1、D2に入力しクロックBに同期した
パルス信号を得る。
【0060】尚、図示してないが、FFa、FFb、F
Fcには動作クロックとしてクロックBが入力され、又
FFcはD1とD2の論理積を内部にセットするFFで
ある。
Fcには動作クロックとしてクロックBが入力され、又
FFcはD1とD2の論理積を内部にセットするFFで
ある。
【0061】同期化回路138は、前記END信号の同
期化回路で、同期化回路137と同様の構成である。
期化回路で、同期化回路137と同様の構成である。
【0062】アクセス制御(R)134は、U/D−C
T136のカウント値がゼロでなく、且つRDY−Hが
オンであれば、デュアルポートメモリ12のポートBよ
りトレースデータを読出しRDR131へのセット、R
A−CT132の更新を繰り返し行う。
T136のカウント値がゼロでなく、且つRDY−Hが
オンであれば、デュアルポートメモリ12のポートBよ
りトレースデータを読出しRDR131へのセット、R
A−CT132の更新を繰り返し行う。
【0063】又、それに伴って、RA−CT上位部(ロ
ウアドレス)が更新されたサイクルでRAS信号を送出
し、RA−CT下位部(カラムアドレス)をインクリメ
ントする度にCAS信号をポートBへ送出する。
ウアドレス)が更新されたサイクルでRAS信号を送出
し、RA−CT下位部(カラムアドレス)をインクリメ
ントする度にCAS信号をポートBへ送出する。
【0064】U/D−CT136は、例えばデュアルポ
ートメモリ12のワードアドレスが10ビットであれば
その上位に1ビットを加え合計11ビットのアップダウ
ンカウンタである。又、UP(アップ)指示として同期
化WT信号を、DWN(ダウン)指示としてアクセス制
御(R)134のRD(読出)が入力されている。
ートメモリ12のワードアドレスが10ビットであれば
その上位に1ビットを加え合計11ビットのアップダウ
ンカウンタである。又、UP(アップ)指示として同期
化WT信号を、DWN(ダウン)指示としてアクセス制
御(R)134のRD(読出)が入力されている。
【0065】従って、その出力を上位からビット0、
1、・・、10とすればカウント値がノットゼロ(ビッ
ト0〜10がオール0でない)であれば読出すべきデー
タが有ることを示し、ビット0がデュアルポートメモリ
12がフル(満杯)であることを示し、この時ビット1
〜10がノットゼロであればオーバフロー(読出しが書
込に追随出来ず、読出し前に1K回先のデータが書き込
まれた)を示す。
1、・・、10とすればカウント値がノットゼロ(ビッ
ト0〜10がオール0でない)であれば読出すべきデー
タが有ることを示し、ビット0がデュアルポートメモリ
12がフル(満杯)であることを示し、この時ビット1
〜10がノットゼロであればオーバフロー(読出しが書
込に追随出来ず、読出し前に1K回先のデータが書き込
まれた)を示す。
【0066】又、ビット0オフ、ビット1オン、ビット
2オフの組み合わせは1/2フルを示し、ビット0オ
フ、ビット1オン、ビット2オンの組み合わせは3/4
フルを示す。
2オフの組み合わせは1/2フルを示し、ビット0オ
フ、ビット1オン、ビット2オンの組み合わせは3/4
フルを示す。
【0067】RDR131へセットされたトレースデー
タは、DT−SYNC(データ同期)信号と共にホスト
I/F部20を介し、ホストコンピュータ3に送出され
る。
タは、DT−SYNC(データ同期)信号と共にホスト
I/F部20を介し、ホストコンピュータ3に送出され
る。
【0068】尚、読出データをRDR131にセットす
る際、その上位1ビットには上記オーバフロー信号がセ
ットされ、トレースデータと共に送出される。
る際、その上位1ビットには上記オーバフロー信号がセ
ットされ、トレースデータと共に送出される。
【0069】又、トレースデータとは別に、上記1/2
フル、3/4フル信号がステータスとして別ラインでホ
ストI/F部20を経由し、ホストコンピュータ3に送
られる。
フル、3/4フル信号がステータスとして別ラインでホ
ストI/F部20を経由し、ホストコンピュータ3に送
られる。
【0070】次に、図4を参照し、ホストコンピュータ
3の、本発明のトレース装置に係わる要部の詳細構成を
説明する。ICE接続アダプタ40はPCI(ペリフェ
ラルコンポーネントインタコネクト)バスに接続された
DMAC41と、FIFOメモリ46と、ICE−I/
F部47から構成される。ICE−I/F部47はIC
E1のホストI/F部20に接続されており、FIFO
メモリ46の空きが有る限りICE1へのRDY−H信
号をオンとし、送られて来るトレースデータを受信しF
IFOメモリ46に書き込む。
3の、本発明のトレース装置に係わる要部の詳細構成を
説明する。ICE接続アダプタ40はPCI(ペリフェ
ラルコンポーネントインタコネクト)バスに接続された
DMAC41と、FIFOメモリ46と、ICE−I/
F部47から構成される。ICE−I/F部47はIC
E1のホストI/F部20に接続されており、FIFO
メモリ46の空きが有る限りICE1へのRDY−H信
号をオンとし、送られて来るトレースデータを受信しF
IFOメモリ46に書き込む。
【0071】FIFOメモリ46は、例えば、4バイト
*256ワード程度の先入れ先出しメモリで書込、読出
しの同時アクセスが可能なメモリである。
*256ワード程度の先入れ先出しメモリで書込、読出
しの同時アクセスが可能なメモリである。
【0072】WC(書込カウンタ)48は、9ビットの
アップカウンタで、下位8ビットはFIFOメモリ46
の書込アドレスとし、最上位ビットは、RC(読出カウ
ンタ)45と比較し、空きワード数、バッファされたデ
ータのワード数を算出する為のビットである。
アップカウンタで、下位8ビットはFIFOメモリ46
の書込アドレスとし、最上位ビットは、RC(読出カウ
ンタ)45と比較し、空きワード数、バッファされたデ
ータのワード数を算出する為のビットである。
【0073】DMAC41は、上位部は転送バッファ3
4の先頭アドレスを保持し、下位部はデータ格納先の転
送バッファ内アドレスをインクリメントしつつ保持する
DTWポインタ43と、DMA転送前の設定でタリー
(転送ワード数)をプリセットされ、これを転送の都度
デクリメントするカウンタTC44と、FIFOメモリ
46の読出しアドレスと制御用の1ビットを保持するR
C(読出カウンタ)45から構成される。
4の先頭アドレスを保持し、下位部はデータ格納先の転
送バッファ内アドレスをインクリメントしつつ保持する
DTWポインタ43と、DMA転送前の設定でタリー
(転送ワード数)をプリセットされ、これを転送の都度
デクリメントするカウンタTC44と、FIFOメモリ
46の読出しアドレスと制御用の1ビットを保持するR
C(読出カウンタ)45から構成される。
【0074】ICE−I/F部47は、WC48の上位
1ビットがRC45の上位1ビットと一致している間は
無条件に、異なっていれば下位部分の値がRC45の下
位部分の値以下の場合に、FIFOメモリ46の空き有
りとする。
1ビットがRC45の上位1ビットと一致している間は
無条件に、異なっていれば下位部分の値がRC45の下
位部分の値以下の場合に、FIFOメモリ46の空き有
りとする。
【0075】DMAC41はRC45の上位1ビットが
WC48の上位1ビットと異なっている間は無条件に、
一致していれば下位部分の値がWC48の下位部分の値
以下でFIFOメモリ46に読出対象データ有りとす
る。対象データのワード数はWC48−RC45により
求められる。
WC48の上位1ビットと異なっている間は無条件に、
一致していれば下位部分の値がWC48の下位部分の値
以下でFIFOメモリ46に読出対象データ有りとす
る。対象データのワード数はWC48−RC45により
求められる。
【0076】DMAC41はTC44のカウント値が
「0」でなく、後述のENDステータス受信後の転送を
完了した状態でなければ、前記対象データワード数がP
CIバスを使用する1回の転送当たりのワード数(例え
ば32ワード)以上かを検出する。
「0」でなく、後述のENDステータス受信後の転送を
完了した状態でなければ、前記対象データワード数がP
CIバスを使用する1回の転送当たりのワード数(例え
ば32ワード)以上かを検出する。
【0077】該検出がされるとバス制御73にバス使用
要求を送出し、受け付けられると、DTWポインタ値を
付随アドレスとする、メモリライトコマンドを送出し、
後続サイクルから、FIFOメモリ46から読出したデ
ータを主メモリ30に転送する。この転送は主メモリ3
0のターゲットレディを確認しつつ32ワードが連続的
に転送される。この様にし、ICE制御ソフトウェア3
1により設定された1回のDMA転送は、例えば32ワ
ード単位のバースト転送を多数回行うことで実行され
る。
要求を送出し、受け付けられると、DTWポインタ値を
付随アドレスとする、メモリライトコマンドを送出し、
後続サイクルから、FIFOメモリ46から読出したデ
ータを主メモリ30に転送する。この転送は主メモリ3
0のターゲットレディを確認しつつ32ワードが連続的
に転送される。この様にし、ICE制御ソフトウェア3
1により設定された1回のDMA転送は、例えば32ワ
ード単位のバースト転送を多数回行うことで実行され
る。
【0078】CMD/ST(コマンド/ステータス)処
理部42は、ICE制御ソフトウェア31からICE1
への操作コマンドをPCIバスを通じ下り方向データと
して受信し、ICE−I/F部47を通じICE1に送
出する。又、ICE1よりトレース動作中に送出される
前記1/2フル、3/4フル等のステータス信号を、I
CE−I/F部47経由で受け内部のレジスタに保持す
る。
理部42は、ICE制御ソフトウェア31からICE1
への操作コマンドをPCIバスを通じ下り方向データと
して受信し、ICE−I/F部47を通じICE1に送
出する。又、ICE1よりトレース動作中に送出される
前記1/2フル、3/4フル等のステータス信号を、I
CE−I/F部47経由で受け内部のレジスタに保持す
る。
【0079】又、ICE−I/F部47はステータスと
してEND信号を受信するが、この信号はFIFOメモ
リ46を通じてDMAC41に受信される。
してEND信号を受信するが、この信号はFIFOメモ
リ46を通じてDMAC41に受信される。
【0080】DMAC41が毎回のDMA転送終了をI
CE制御ソフトウェア31に割込みで通知し、受け付け
られた際に、転送のステータスがチェックされるが、同
時に上記フル信号、END信号も読み取られる。
CE制御ソフトウェア31に割込みで通知し、受け付け
られた際に、転送のステータスがチェックされるが、同
時に上記フル信号、END信号も読み取られる。
【0081】デバイスコントローラ50は、PCIバス
に接続されたDMAC51、FIFOメモリ(データ)
56D、FIFOメモリ(コマンド)56C、デバイス
−I/F部57より構成される。
に接続されたDMAC51、FIFOメモリ(データ)
56D、FIFOメモリ(コマンド)56C、デバイス
−I/F部57より構成される。
【0082】DMAC51は、DTRポインタ52D、
CMDポインタ52C、TC54、WC−D55D、W
C−C55Cを有す。
CMDポインタ52C、TC54、WC−D55D、W
C−C55Cを有す。
【0083】DTRポインタ52Dは、上位部は転送バ
ッファ34の先頭アドレスを保持し、下位部はデータを
読み出す転送バッファ34内のアドレスをインクリメン
トしつつ保持する。
ッファ34の先頭アドレスを保持し、下位部はデータを
読み出す転送バッファ34内のアドレスをインクリメン
トしつつ保持する。
【0084】同様に、CMDポインタ52Cも、CMD
(コマンド)バッファ39の読み出しアドレスをインク
リメントしつつ保持する。
(コマンド)バッファ39の読み出しアドレスをインク
リメントしつつ保持する。
【0085】TC54は、転送バッファ34読出しのD
MA転送前の設定でタリー(転送ワード数)がプリセッ
トされ、これを転送の都度デクリメントするカウンタで
ある。
MA転送前の設定でタリー(転送ワード数)がプリセッ
トされ、これを転送の都度デクリメントするカウンタで
ある。
【0086】WC−D(書込カウンタ−データ用)55
Dは、FIFOメモリ(データ)56Dの書込アドレス
とその上位ビットを保持、インクリメントするカウンタ
であり、同様にWC−C(書込カウンタ−コマンド用)
55Cは、FIFOメモリ(コマンド)56Cの書込ア
ドレスとその上位ビットを保持、インクリメントするカ
ウンタである。
Dは、FIFOメモリ(データ)56Dの書込アドレス
とその上位ビットを保持、インクリメントするカウンタ
であり、同様にWC−C(書込カウンタ−コマンド用)
55Cは、FIFOメモリ(コマンド)56Cの書込ア
ドレスとその上位ビットを保持、インクリメントするカ
ウンタである。
【0087】FIFOメモリ(データ)56D、FIF
Oメモリ(コマンド)56Cのそれぞれは書込、読出し
が同時に可能なFIFOで、容量は例えば、それぞれ4
バイト*256ワード、8バイト*2ワードである。
Oメモリ(コマンド)56Cのそれぞれは書込、読出し
が同時に可能なFIFOで、容量は例えば、それぞれ4
バイト*256ワード、8バイト*2ワードである。
【0088】デバイスI/F部57は、ファイルデバイ
ス60にデータ、コマンドを送出する。RC−D58
D、RC−C58CはそれぞれFIFOメモリ56D、
FIFOメモリ56Cの読出しアドレスカウンタであ
る。
ス60にデータ、コマンドを送出する。RC−D58
D、RC−C58CはそれぞれFIFOメモリ56D、
FIFOメモリ56Cの読出しアドレスカウンタであ
る。
【0089】DMAC51は、TC54が「0」でなけ
れば、(WC−D)−(RC−D)が例えば32以上
(FIFOメモリ56Dの空きが32ワード以上)を検
出し、バス制御73にバス使用要求を送出し、受け付け
られると、DTRポインタ値を付随アドレスとする、メ
モリリードコマンドを送出し、後続サイクルから、転送
バッファ34から読み出したデータをFIFOメモリ5
6Dに転送する。
れば、(WC−D)−(RC−D)が例えば32以上
(FIFOメモリ56Dの空きが32ワード以上)を検
出し、バス制御73にバス使用要求を送出し、受け付け
られると、DTRポインタ値を付随アドレスとする、メ
モリリードコマンドを送出し、後続サイクルから、転送
バッファ34から読み出したデータをFIFOメモリ5
6Dに転送する。
【0090】予め設定された所定のセクタ数、例えば1
セクタのデータ転送を終えると、CMDバッファ39か
らFIFOメモリ(CMD)56Cへのコマンド情報を
転送する。
セクタのデータ転送を終えると、CMDバッファ39か
らFIFOメモリ(CMD)56Cへのコマンド情報を
転送する。
【0091】主メモリ30上の構成要素及びその概要
は、前述の通りであるが特徴について補足説明する。ト
レースデータファイル61は、ファイルデバイス60の
極力連続するエリアに割り付けるが、ファイルデバイス
60にデータ格納時、回転待ち及び短いシーク完了待ち
は起こり得る。
は、前述の通りであるが特徴について補足説明する。ト
レースデータファイル61は、ファイルデバイス60の
極力連続するエリアに割り付けるが、ファイルデバイス
60にデータ格納時、回転待ち及び短いシーク完了待ち
は起こり得る。
【0092】従って、転送バッファ34は、ICE1で
のトレースデータの転送レートが所定値以上の場合に、
前記待ち時間による溢れが起きない様に充分な容量を持
つ。
のトレースデータの転送レートが所定値以上の場合に、
前記待ち時間による溢れが起きない様に充分な容量を持
つ。
【0093】例えば、DMAC51がUltraDMA
66と呼ばれる最大転送レートが66メガバイト/秒の
ディスクアクセスインタフェースであれば、これの実効
的な平均転送レートは50メガバイト/秒とし、間欠的
に発生するファイルデバイス60での回転待ち時間を3
ミリ秒とすれば、一回の待ちで150キロバイトのデー
タが貯まることになる。
66と呼ばれる最大転送レートが66メガバイト/秒の
ディスクアクセスインタフェースであれば、これの実効
的な平均転送レートは50メガバイト/秒とし、間欠的
に発生するファイルデバイス60での回転待ち時間を3
ミリ秒とすれば、一回の待ちで150キロバイトのデー
タが貯まることになる。
【0094】ここで、シリンダ当たりのセクタ数が平均
2400(400セクタ/トラック*6面)とし、51
2バイト/セクタとすればシリンダ当たりのデータサイ
ズは1.2メガバイト/シリンダとなる。上記50メガ
バイトは42シリンダに相当する。
2400(400セクタ/トラック*6面)とし、51
2バイト/セクタとすればシリンダ当たりのデータサイ
ズは1.2メガバイト/シリンダとなる。上記50メガ
バイトは42シリンダに相当する。
【0095】ワーストケースで2シリンダ分のライトに
対し1回の回転待ちが生じたとすれば、50メガバイト
のライトでは21回の回転待ちとなり、3.15メガバ
イト(150キロバイト*21)のバッファが必要とな
る。
対し1回の回転待ちが生じたとすれば、50メガバイト
のライトでは21回の回転待ちとなり、3.15メガバ
イト(150キロバイト*21)のバッファが必要とな
る。
【0096】次に、転送処理部33は、ICE1のトレ
ース動作を行う際に、サンプリングレートが所定値以上
であれば、事前にトレースデータファイルを作成し、ダ
ミーデータをライトし、クラスタアドレス情報37の作
成をファイルMNG(マネージャ)36に指示する。
ース動作を行う際に、サンプリングレートが所定値以上
であれば、事前にトレースデータファイルを作成し、ダ
ミーデータをライトし、クラスタアドレス情報37の作
成をファイルMNG(マネージャ)36に指示する。
【0097】ファイルMNG(マネージャ)36は事前
作成されたファイルのFAT(ファイルアロケーション
テーブル)にアクセスし、ファイルのデータブロック0
から順次各データブロックのファイルデバイス60での
物理アドレス(ヘッド番号、シリンダアドレス、セクタ
アドレス)を得る。
作成されたファイルのFAT(ファイルアロケーション
テーブル)にアクセスし、ファイルのデータブロック0
から順次各データブロックのファイルデバイス60での
物理アドレス(ヘッド番号、シリンダアドレス、セクタ
アドレス)を得る。
【0098】そして、事前作成されたトレースデータフ
ァイルの、各データブロックのファイルデバイス60で
の物理アドレス(ヘッド番号、シリンダアドレス、セク
タアドレス)をデータブロック番号に対応してこの番号
の昇順で保持するクラスタアドレス情報37を作成す
る。
ァイルの、各データブロックのファイルデバイス60で
の物理アドレス(ヘッド番号、シリンダアドレス、セク
タアドレス)をデータブロック番号に対応してこの番号
の昇順で保持するクラスタアドレス情報37を作成す
る。
【0099】次に、転送処理部33は、HDドライバ3
8にCMD(コマンド)バッファ39の事前作成を指示
する。HDドライバ38は、クラスタアドレス情報37
の写しを得て、この各エントリの物理アドレスにロング
ライトコマンドを示すコマンドコード、書き込みセクタ
数を付加した一連のコマンド情報をコマンドバッファ3
9に格納する。
8にCMD(コマンド)バッファ39の事前作成を指示
する。HDドライバ38は、クラスタアドレス情報37
の写しを得て、この各エントリの物理アドレスにロング
ライトコマンドを示すコマンドコード、書き込みセクタ
数を付加した一連のコマンド情報をコマンドバッファ3
9に格納する。
【0100】ここで事前作成したファイルは、このファ
イルに実際のトレースデータを上書きする為のものであ
る。又、各データブロックのファイルデバイス60での
格納先を事前に得ているため、トレースデータファイル
のデータエリアアクセス中にシリンダアドレスが相当異
なるFATエリアへのアクセスを回避し、数m秒〜十数
m秒の待ちを伴う、長いシーク動作を大幅に無くせる。
イルに実際のトレースデータを上書きする為のものであ
る。又、各データブロックのファイルデバイス60での
格納先を事前に得ているため、トレースデータファイル
のデータエリアアクセス中にシリンダアドレスが相当異
なるFATエリアへのアクセスを回避し、数m秒〜十数
m秒の待ちを伴う、長いシーク動作を大幅に無くせる。
【0101】又、転送処理部33は、トレースデータの
転送バッファ34へのロード、転送バッファ34からフ
ァイルデバイス60への書込において、転送バッファ3
4の1/2フル、3/4フル信号、及びデュアルポート
メモリ12の1/2フル、3/4フルステータスに応じ
て、DMAC41、51へのDMA転送設定時のTC4
4、TC54の設定値を調整し、転送バッファ34及び
デュアルポートメモリ12でのオバーフロー(溢れ)を
回避する。
転送バッファ34へのロード、転送バッファ34からフ
ァイルデバイス60への書込において、転送バッファ3
4の1/2フル、3/4フル信号、及びデュアルポート
メモリ12の1/2フル、3/4フルステータスに応じ
て、DMAC41、51へのDMA転送設定時のTC4
4、TC54の設定値を調整し、転送バッファ34及び
デュアルポートメモリ12でのオバーフロー(溢れ)を
回避する。
【0102】即ち、ファイルデバイス60での回転待ち
等で転送バッファ34が1/2フル或いは3/4フルに
なれば、デュアルポートメモリ12が1/2フルでない
限り、TC54へのタリー設定値をTC44の設定値の
例えば1.1倍或いは1.2倍とし格納バッファのフル
状態を低減するように制御する。
等で転送バッファ34が1/2フル或いは3/4フルに
なれば、デュアルポートメモリ12が1/2フルでない
限り、TC54へのタリー設定値をTC44の設定値の
例えば1.1倍或いは1.2倍とし格納バッファのフル
状態を低減するように制御する。
【0103】ここで、トレースメモリ10への書込動
作、読出動作の要点のみを図5(A)、(B)に纏めて
おく。又、図6の(A)はDMA(転送バッファ書込)
動作の要点を纏めたもので、(B)は転送バッファ読
出、ファイルデバイスへの書込動作の要点を纏めたもの
である。
作、読出動作の要点のみを図5(A)、(B)に纏めて
おく。又、図6の(A)はDMA(転送バッファ書込)
動作の要点を纏めたもので、(B)は転送バッファ読
出、ファイルデバイスへの書込動作の要点を纏めたもの
である。
【0104】次に、本実施形態の動作について図面を参
照し説明する。図7〜図9に、ICE制御ソフトウェア
31が、エミュレーション及びトレースの為の利用者に
よる操作入力を受け、トレースデータ格納の為の事前準
備をしICE1のエミュレション動作を起動し、ICE
1から送られるトレースデータ、ステータスを受けIC
E接続アダプタ40、デバイスコントローラ50を制御
しながらトレースデータを転送バッファ34でバッファ
しながらファイルデバイス60に格納する一連の処理動
作を示す。
照し説明する。図7〜図9に、ICE制御ソフトウェア
31が、エミュレーション及びトレースの為の利用者に
よる操作入力を受け、トレースデータ格納の為の事前準
備をしICE1のエミュレション動作を起動し、ICE
1から送られるトレースデータ、ステータスを受けIC
E接続アダプタ40、デバイスコントローラ50を制御
しながらトレースデータを転送バッファ34でバッファ
しながらファイルデバイス60に格納する一連の処理動
作を示す。
【0105】図7を参照し、ICE制御ソフトウェア3
1は利用者の操作入力に基づき、ICE1をリセット
後、エミュレーションメモリ18にターゲットプログラ
ムを書き込む。又、トレースを開始するトリガ条件、ト
レースを停止する条件をトリガ停止条件検出部16に設
定し、トレースデータの選択設定をする。
1は利用者の操作入力に基づき、ICE1をリセット
後、エミュレーションメモリ18にターゲットプログラ
ムを書き込む。又、トレースを開始するトリガ条件、ト
レースを停止する条件をトリガ停止条件検出部16に設
定し、トレースデータの選択設定をする。
【0106】これらは、ICE制御ソフトウェア31
が、ICE接続アダプタ40を介し、ICE1のホスト
I/F部20にコマンドと書込みデータ或いは設定デー
タを送出することで実行される。
が、ICE接続アダプタ40を介し、ICE1のホスト
I/F部20にコマンドと書込みデータ或いは設定デー
タを送出することで実行される。
【0107】次に、トレースモードを利用者に入力要求
する。その結果、長時間トレース即ちデュアルポートメ
モリ12の容量に収まり、これへの1回の記録を、トレ
ースデータとするのでなく、デュアルポートメモリ12
を循環して繰返し使用し、ファイルデバイス60のファ
イルに記録するモードが指定されると、モードフラグ
(長時間)135をオンにする。
する。その結果、長時間トレース即ちデュアルポートメ
モリ12の容量に収まり、これへの1回の記録を、トレ
ースデータとするのでなく、デュアルポートメモリ12
を循環して繰返し使用し、ファイルデバイス60のファ
イルに記録するモードが指定されると、モードフラグ
(長時間)135をオンにする。
【0108】長時間トレースモードであれば、ICE制
御ソフトウェア31は次にサンプリングレート(SRA
TE)トレース予測時間(TTIME)を利用者の入力
操作により取得する。上記トレースデータの選択指定に
より、トレースデータのバイト幅を得る。これをTWD
とすると、TWD*SRATE(単位はバイト/秒)を
転送レートとする。
御ソフトウェア31は次にサンプリングレート(SRA
TE)トレース予測時間(TTIME)を利用者の入力
操作により取得する。上記トレースデータの選択指定に
より、トレースデータのバイト幅を得る。これをTWD
とすると、TWD*SRATE(単位はバイト/秒)を
転送レートとする。
【0109】又、TWD*SRATE*TTIMEをデ
ータサイズとする。そして転送レート、データサイズに
応じて、バッファサイズを決め、主メモリ30上に転送
バッファ34を作成する。
ータサイズとする。そして転送レート、データサイズに
応じて、バッファサイズを決め、主メモリ30上に転送
バッファ34を作成する。
【0110】次に転送レートが所定値以上であれば、フ
ァイルデバイス60(大容量記憶)のデフラグを実行す
る。デフラグとはファイルデバイス60に複数のファイ
ルが存在する場合、各ファイルのデータがファイルデバ
イス60の記録媒体(ディスク)上で、入り組んで離散
的に記録されている状態を、各ファイルのエリアが連続
する様記録し直す操作である。
ァイルデバイス60(大容量記憶)のデフラグを実行す
る。デフラグとはファイルデバイス60に複数のファイ
ルが存在する場合、各ファイルのデータがファイルデバ
イス60の記録媒体(ディスク)上で、入り組んで離散
的に記録されている状態を、各ファイルのエリアが連続
する様記録し直す操作である。
【0111】新規名(TDXX)を生成し、これと上記
計算したデータサイズを、ファイルMNG36に渡し、
トレースデータファイル61を事前に作成する。このと
きデフラグにより、それまでの既存ファイルを包含する
エリアに離散的に存在していた空きエリアは消滅してい
るため、新規ファイルは連続エリアに定義される。そし
て、トレースデータファイル61にデータサイズ分のダ
ミーデータの書き込みを行う。
計算したデータサイズを、ファイルMNG36に渡し、
トレースデータファイル61を事前に作成する。このと
きデフラグにより、それまでの既存ファイルを包含する
エリアに離散的に存在していた空きエリアは消滅してい
るため、新規ファイルは連続エリアに定義される。そし
て、トレースデータファイル61にデータサイズ分のダ
ミーデータの書き込みを行う。
【0112】トレースデータファイルのFAT情報を主
メモリ30にコピーし、これを解析し、前述のクラスタ
アドレス情報37を作成する。
メモリ30にコピーし、これを解析し、前述のクラスタ
アドレス情報37を作成する。
【0113】トレースデータファイルのデータの先頭の
シリンダへヘッドを移動させておく為のシークコマンド
を実行する。
シリンダへヘッドを移動させておく為のシークコマンド
を実行する。
【0114】DMAC41の転送準備設定(DTWポイ
ンタ、TCAの設定)を行なった後、ICE1にクロッ
ク切替コマンドを送り、エミュレーションCPU15を
リセットアンドスタートするコマンドを送る。これによ
り、エミュレーション動作が開始され、トリガ条件が検
出された時点で、トレースが開始される。
ンタ、TCAの設定)を行なった後、ICE1にクロッ
ク切替コマンドを送り、エミュレーションCPU15を
リセットアンドスタートするコマンドを送る。これによ
り、エミュレーション動作が開始され、トリガ条件が検
出された時点で、トレースが開始される。
【0115】これに伴って、デュアルポートメモリ12
へのトレースデータの書込、読出、ICE−I/F部4
7とDMAC41による、トレースデータの転送バッフ
ァ34へのロード、DMAC51とデバイス−I/F部
57による、転送バッファ34からの読出、ファイルデ
バイス60への送出、ファイルデバイス60でのトレー
スデータファイル(TDXX)への上書きが行われる。
へのトレースデータの書込、読出、ICE−I/F部4
7とDMAC41による、トレースデータの転送バッフ
ァ34へのロード、DMAC51とデバイス−I/F部
57による、転送バッファ34からの読出、ファイルデ
バイス60への送出、ファイルデバイス60でのトレー
スデータファイル(TDXX)への上書きが行われる。
【0116】図8に移り説明を続ける。ICE制御ソフ
トウェア31は、DMAC51に設定したTCの累計が
前記データサイズ分に達した場合、又KBDドライバか
ら割込があり、割り込みに伴う指示データ(KBDから
の入力情報)が、トレース終了指示であれば、ICE1
へトレース終了コマンドを送出する。
トウェア31は、DMAC51に設定したTCの累計が
前記データサイズ分に達した場合、又KBDドライバか
ら割込があり、割り込みに伴う指示データ(KBDから
の入力情報)が、トレース終了指示であれば、ICE1
へトレース終了コマンドを送出する。
【0117】ICE制御ソフトウェア31は、上記トレ
ース終了条件検出前、後に拘わらず、DMAC41から
のDMA終了割込と、HDドライバ38からの終了割込
(DMAC51はHDドライバ38を通じて制御するの
で毎回の転送終了通知のソフトウェア割込はHDドライ
バ38から受ける)を常時受け付け、それぞれに次回の
DMA転送を指示する。
ース終了条件検出前、後に拘わらず、DMAC41から
のDMA終了割込と、HDドライバ38からの終了割込
(DMAC51はHDドライバ38を通じて制御するの
で毎回の転送終了通知のソフトウェア割込はHDドライ
バ38から受ける)を常時受け付け、それぞれに次回の
DMA転送を指示する。
【0118】即ち、DMAC41からのDMA終了割込
を受けると、DTWポインタ43、ステータスレジスタ
の値を読出す。ENDステータスは自身のEND1フラ
グにコピーする。次にEND1がオフであれば、転送バ
ッファ34がフルでないことを確認し、DMAC41の
TC44にTCAを設定し、次回のDMA転送を起動す
る。
を受けると、DTWポインタ43、ステータスレジスタ
の値を読出す。ENDステータスは自身のEND1フラ
グにコピーする。次にEND1がオフであれば、転送バ
ッファ34がフルでないことを確認し、DMAC41の
TC44にTCAを設定し、次回のDMA転送を起動す
る。
【0119】又、HDドライバ38からの終了割込み
か、或いはHDドライバ38を一度も起動してない状態
であれば、DTW−DTRがTCB基準値以上である
か、END1オンであれば、転送バッファ34の1/2
フル、3/4フル、デュアルポートメモリ12の1/2
フル、3/4フルによりTCBを決定する。
か、或いはHDドライバ38を一度も起動してない状態
であれば、DTW−DTRがTCB基準値以上である
か、END1オンであれば、転送バッファ34の1/2
フル、3/4フル、デュアルポートメモリ12の1/2
フル、3/4フルによりTCBを決定する。
【0120】例えば通常はTCB=TCAとし、転送バ
ッファ34が1/2フルでデュアルポートメモリ12が
1/2フルでなければ、TCB=1.1*TCAとす
る。(そして、この後、デュアルポートメモリ12が1
/2フルになった時点でTCB=TCAに戻す。)上記
TCBと、次回の最初のデータブロック番号、ロングラ
イト指示とをHDドライバ38に渡す。又、END1フ
ラグをEND2フラグにコピーする(END1フラグが
オンであれば、最後のトレースデータを受信した状態か
ら、これのファイルデバイス60へのライトを行った状
態に遷移させる)。
ッファ34が1/2フルでデュアルポートメモリ12が
1/2フルでなければ、TCB=1.1*TCAとす
る。(そして、この後、デュアルポートメモリ12が1
/2フルになった時点でTCB=TCAに戻す。)上記
TCBと、次回の最初のデータブロック番号、ロングラ
イト指示とをHDドライバ38に渡す。又、END1フ
ラグをEND2フラグにコピーする(END1フラグが
オンであれば、最後のトレースデータを受信した状態か
ら、これのファイルデバイス60へのライトを行った状
態に遷移させる)。
【0121】HDドライバ38は、DMAC51のTC
54に、TCBを設定しDMA起動する。次に、ICE
制御ソフトウェア31は、END2フラグがオフでかつ
END1フラグオフであれば、上記の終了条件か或い
は、DMAC41からの終了割込、或いはHDドライバ
38からの終了割込を待つ状態に戻り、条件検出、割込
でそれぞれ前記対応動作を繰り返す。
54に、TCBを設定しDMA起動する。次に、ICE
制御ソフトウェア31は、END2フラグがオフでかつ
END1フラグオフであれば、上記の終了条件か或い
は、DMAC41からの終了割込、或いはHDドライバ
38からの終了割込を待つ状態に戻り、条件検出、割込
でそれぞれ前記対応動作を繰り返す。
【0122】END2フラグがオフでかつEND1フラ
グオンであれば、HDドライバ38からの終了割込を待
ち、対応割込で前記最後のデータのHD60への書込動
作を行う。END2フラグがオンであれば、HDドライ
バ38からの終了割込を受けると後処理に移行する。図
9に移り、後処理を説明する。トレースデータファイル
61のデータレコードを読出しながらOVFLビットが
オンになっているレコードを検出し、最初と最後のレコ
ード番号を所定エリアに記憶する。そしてトレース終了
の旨を画面表示し、長時間トレースモードであればトレ
ースデータファイル名(TDXX)も表示する。又、O
VFLオンであれば、最初と最後のデータブロック番号
を表示するし、利用者に、これらのデータブロック番号
の前に、デュアルポートメモリ12の容量分の記録され
なかったデータがあることを通知する。
グオンであれば、HDドライバ38からの終了割込を待
ち、対応割込で前記最後のデータのHD60への書込動
作を行う。END2フラグがオンであれば、HDドライ
バ38からの終了割込を受けると後処理に移行する。図
9に移り、後処理を説明する。トレースデータファイル
61のデータレコードを読出しながらOVFLビットが
オンになっているレコードを検出し、最初と最後のレコ
ード番号を所定エリアに記憶する。そしてトレース終了
の旨を画面表示し、長時間トレースモードであればトレ
ースデータファイル名(TDXX)も表示する。又、O
VFLオンであれば、最初と最後のデータブロック番号
を表示するし、利用者に、これらのデータブロック番号
の前に、デュアルポートメモリ12の容量分の記録され
なかったデータがあることを通知する。
【0123】図7に戻り、長時間トレースが指定されな
ければ、トレースデータの転送準備は行わず、ICE1
のクロックを切替え、エミュレーション起動する。開始
条件を検出し、トレースが開始され、デュアルポートメ
モリ12へ書き込まれるが、短時間で、トレース乃至エ
ミュレーションを終了する設定であるため、直ぐにトレ
ースを終了する。
ければ、トレースデータの転送準備は行わず、ICE1
のクロックを切替え、エミュレーション起動する。開始
条件を検出し、トレースが開始され、デュアルポートメ
モリ12へ書き込まれるが、短時間で、トレース乃至エ
ミュレーションを終了する設定であるため、直ぐにトレ
ースを終了する。
【0124】図9に移り、所定時間経過後、コマンドで
読出制御部13よりステータスを読み出す。ENDがオ
ンであれば、コマンドによりトレースデータをデュアル
ポートメモリ12より読出し、主メモリ30にアップロ
ードする。そしてENDステータス、トレースデータを
画面表示する。
読出制御部13よりステータスを読み出す。ENDがオ
ンであれば、コマンドによりトレースデータをデュアル
ポートメモリ12より読出し、主メモリ30にアップロ
ードする。そしてENDステータス、トレースデータを
画面表示する。
【0125】
【発明の効果】本発明のトレースシステムは、記録され
たトレースデータをホストコンピュータのより大きな記
憶装置へ逐次転送する事により、インサーキットエミュ
レータに搭載しているトレースメモリの容量を越えた長
時間のトレースが出来る効果を有す。
たトレースデータをホストコンピュータのより大きな記
憶装置へ逐次転送する事により、インサーキットエミュ
レータに搭載しているトレースメモリの容量を越えた長
時間のトレースが出来る効果を有す。
【0126】又、トレースメモリとして、書込、読出が
並行して行えるデュアルポートメモリを使用し、ターゲ
ットのクロックに同期したクロックサイクルで制御され
るデュアルポートメモリの書込制御部からの書込、終了
信号を読出制御部のクロックに同期化し、デュアルポー
トメモリの読出、バッファフル制御を行っているので、
ターゲットのクロックに合わせて、エミュレーション動
作するエミュレーション動作クロック可変方式のインサ
ーキットエミュレータにおいても、上記長時間トレース
が出来る効果を有す。
並行して行えるデュアルポートメモリを使用し、ターゲ
ットのクロックに同期したクロックサイクルで制御され
るデュアルポートメモリの書込制御部からの書込、終了
信号を読出制御部のクロックに同期化し、デュアルポー
トメモリの読出、バッファフル制御を行っているので、
ターゲットのクロックに合わせて、エミュレーション動
作するエミュレーション動作クロック可変方式のインサ
ーキットエミュレータにおいても、上記長時間トレース
が出来る効果を有す。
【0127】又、デュアルポートメモリから転送バッフ
ァへの転送と転送バッファからファイルデバイスへの転
送の、両DMA転送間の速度を格納バッファ、デュアル
ポートメモリの使用状態に応じ調整する手段は、、ホス
トコンピュータのファイルデバイス、デバイスコントロ
ーラを、比較的高速な汎用の装置とするだけで、特別に
高速なファイルデバイス、ディスクアレイ装置等を設け
なくても、高い転送レートとなる長時間トレースを可能
とするものである。
ァへの転送と転送バッファからファイルデバイスへの転
送の、両DMA転送間の速度を格納バッファ、デュアル
ポートメモリの使用状態に応じ調整する手段は、、ホス
トコンピュータのファイルデバイス、デバイスコントロ
ーラを、比較的高速な汎用の装置とするだけで、特別に
高速なファイルデバイス、ディスクアレイ装置等を設け
なくても、高い転送レートとなる長時間トレースを可能
とするものである。
【0128】又、トレースの転送レートが所定値以上か
を事前チェックし、所定値以上であれば、長時間トレー
スの開始前に、トレースデータの転送先ファイルとして
対象ファイルデバイス上に連続エリアを確保する手段
は、上記効果をより促進するものである。
を事前チェックし、所定値以上であれば、長時間トレー
スの開始前に、トレースデータの転送先ファイルとして
対象ファイルデバイス上に連続エリアを確保する手段
は、上記効果をより促進するものである。
【図1】本発明の長時間トレースシステムの全体構成を
示すブロック図である。
示すブロック図である。
【図2】本発明の図1の、ICE1のホストI/F部2
0、クロック部22の詳細構成を示すブロック図であ
る。
0、クロック部22の詳細構成を示すブロック図であ
る。
【図3】本発明の図1の、トレースメモリ10の詳細構
成を示すブロック図である。
成を示すブロック図である。
【図4】本発明の図1の、ホストコンピュータ3の詳細
構成、主メモリ30上の構成要素を示すブロック図であ
る。
構成、主メモリ30上の構成要素を示すブロック図であ
る。
【図5】(A)は本発明のトレースメモリ10への書込
動作、(B)は本発明のトレースメモリ10の読出動作
の要点を示すフローチャートである。
動作、(B)は本発明のトレースメモリ10の読出動作
の要点を示すフローチャートである。
【図6】(A)は本発明のDMA(転送バッファ書込)
動作の要点、(B)は本発明の転送バッファ読出、ファ
イルデバイスへの書込動作の要点を示すフローチャート
である。
動作の要点、(B)は本発明の転送バッファ読出、ファ
イルデバイスへの書込動作の要点を示すフローチャート
である。
【図7】本発明の長時間トレースシステムの全体の動作
を示すフローチャートである。
を示すフローチャートである。
【図8】本発明の長時間トレースシステムの全体の動作
を示すフローチャートである。
を示すフローチャートである。
【図9】本発明の長時間トレースシステムの全体の動作
を示すフローチャートである。
を示すフローチャートである。
【図10】従来のインサーキットエミュレータによるト
レースシステムの全体の構成を示すブロック図である。
レースシステムの全体の構成を示すブロック図である。
1 ICE(インサーキットエミュレータ)
10 トレースメモリ
11 書込制御部
115 アクセス制御(W)
12 デュアルポートメモリ
13 読出制御部
134 アクセス制御(R)
136 U/D−CT(アップダウンカウンタ)
15 エミュレーションCPU
16 停止トリガ条件検出部
18 エミュレーション用メモリ
20 ホストI/F部
3 ホストコンピュータ
30 主メモリ
31 ICE制御ソフトウェア
34 転送バッファ
35 OS
40 ICE接続アダプタ
41 DMAC
42 CMD/ST処理部
46 FIFOメモリ
47 ICE−I/F部
50 デバイスコントローラ
56 FIFOメモリ
60 ファイルデバイス
61 トレースデータファイル
70 バスブリッジ&メモリコントローラ
80 ホストCPU
フロントページの続き
(56)参考文献 特開 平8−328898(JP,A)
特開 平3−62104(JP,A)
特開 平9−44370(JP,A)
特開 平7−319804(JP,A)
特開 平8−292898(JP,A)
特開 平7−281930(JP,A)
特開 平7−85649(JP,A)
特開 平4−365142(JP,A)
実開 平1−155542(JP,U)
(58)調査した分野(Int.Cl.7,DB名)
G06F 11/28 - 11/34
Claims (6)
- 【請求項1】 トレースメモリを持つインサーキットエ
ミュレータと前記インサーキットエミュレータを接続し
制御するホストコンピュータを備えたトレースシステム
であって、前記トレースメモリは、エミュレーション動
作に同期してトレースデータを記憶部に書き込む書込制
御部と、記憶部としてのマルチポートメモリと、記憶部
の内容を前記書込みと並行に逐次読出せる読出制御部と
を有し、前記ホストコンピュータは、大容量記憶装置
と、そのコントローラと、インサーキットエミュレータ
接続部とインサーキットエミュレータ制御手段とを有
し、インサーキットエミュレータ制御手段がインサーキ
ットエミュレータ接続部を通じ、書込と並行して前記読
出制御部が逐次読み出したトレースデータを主記憶にア
ップロード後、大容量記憶装置に格納することを特徴と
する長時間トレースシステム。 - 【請求項2】 前記大容量記憶装置を、前記ホストコン
ピュータに接続されたファイルデバイスとすることを特
徴とする請求項1記載の長時間トレースシステム。 - 【請求項3】 前記トレースメモリは、記憶部をデュア
ルポートメモリとし、書込制御部はターゲット装置のク
ロックに同期した第1のクロックで動作し、読出制御部
は、ホストコンピュータのクロックに同期した第2のク
ロックで動作すると共に、書込制御部からの書込信号を
第2のクロックに同期化する手段、同期化した書込信号
でカウントアップし読出信号でカウントダウンするアッ
プダウンカウンタとを有すことを特徴とする請求項1、
又は2記載の長時間トレースシステム。 - 【請求項4】 前記ホストコンピュータは、インサーキ
ットエミュレータ接続部に、インサーキットエミュレー
タから受信したトレースデータを一時記憶するバッファ
手段とこれを主記憶にDMA転送する手段を有し、主記
憶に、前記接続部からのトレースデータを前記ホストコ
ンピュータに接続されたファイルデバイスに転送する迄
の間一時記憶し、その容量が、インサーキットエミュレ
ータでのトレースデータの転送レート、前記ファイルデ
バイスの回転、及び又はシーク待ち時間に応じて設定さ
れた転送バッファを有し、ファイルデバイスコントロー
ラにも、バッファ手段及びDMA転送手段を有し、前記
インサーキットエミュレータ制御手段が、前記転送バッ
ファの使用量フラグ情報、デュアルポートメモリ使用量
フラグ情報とに従って、前記各DMA転送手段への設定
カウントを制御することを特徴とする請求項3記載の長
時間トレースシステム。 - 【請求項5】 前記インサーキットエミュレータは、ト
レースメモリ記憶部の前回書込データの読出前に、書込
みが発生したオーバフローを検出する手段を有し、前記
インサーキットエミュレータ制御手段はトレース動作終
了時オーバフロー箇所をインサーキットエミュレータ操
作者に通知する手段を有すことを特徴とする請求項3記
載の長時間トレースシステム。 - 【請求項6】 前記インサーキットエミュレータ制御手
段が、長時間トレースの開始前に、トレースデータの転
送先ファイルとして対象ファイルデバイス上に連続エリ
アを確保する手段を有すことを特徴とする請求項2記載
の長時間トレースシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000145290A JP3461327B2 (ja) | 2000-05-17 | 2000-05-17 | トレースメモリに制限されない長時間トレースシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000145290A JP3461327B2 (ja) | 2000-05-17 | 2000-05-17 | トレースメモリに制限されない長時間トレースシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001325121A JP2001325121A (ja) | 2001-11-22 |
JP3461327B2 true JP3461327B2 (ja) | 2003-10-27 |
Family
ID=18651817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000145290A Expired - Fee Related JP3461327B2 (ja) | 2000-05-17 | 2000-05-17 | トレースメモリに制限されない長時間トレースシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3461327B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003006003A (ja) * | 2001-06-18 | 2003-01-10 | Mitsubishi Electric Corp | Dmaコントローラおよび半導体集積回路 |
JP2008293260A (ja) * | 2007-05-24 | 2008-12-04 | Renesas Technology Corp | トレース装置 |
JP2009205633A (ja) * | 2008-02-29 | 2009-09-10 | Nec Infrontia Corp | 情報処理システム及び情報処理方法 |
JP5782389B2 (ja) * | 2012-01-19 | 2015-09-24 | ルネサスエレクトロニクス株式会社 | エミュレーションシステム、エミュレーションシステムの制御方法、エミュレーション装置、プログラム |
KR101593865B1 (ko) | 2012-02-29 | 2016-02-12 | 미쓰비시덴키 가부시키가이샤 | 데이터 전송 장치, 데이터 전송 방법 및 데이터 전송 프로그램 |
-
2000
- 2000-05-17 JP JP2000145290A patent/JP3461327B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001325121A (ja) | 2001-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5832308A (en) | Apparatus for controlling data transfer between external interfaces through buffer memory using a FIFO, an empty signal, and a full signal | |
US5890219A (en) | Redundant writing of data to cached storage system | |
EP0080875B1 (en) | Data storage system for a host computer | |
US6556952B1 (en) | Performance monitoring and optimizing of controller parameters | |
US5642489A (en) | Bridge between two buses of a computer system with a direct memory access controller with accessible registers to support power management | |
US5325508A (en) | Processor that performs memory access in parallel with cache access | |
US5469548A (en) | Disk array controller having internal protocol for sending address/transfer count information during first/second load cycles and transferring data after receiving an acknowldgement | |
US6546440B1 (en) | Optical drive controller with a host interface for direct connection to an IDE/ATA data bus | |
US5465338A (en) | Disk drive system interface architecture employing state machines | |
US6018778A (en) | Disk array controller for reading/writing striped data using a single address counter for synchronously transferring data between data ports and buffer memory | |
US5448709A (en) | Disk array controller having command descriptor blocks utilized by bus master and bus slave for respectively performing data transfer operations | |
JP3276147B2 (ja) | 計算機バスとディスクドライブ間のデータの複数のセクタの自動読み出し及び自動書き込みインテリジェントハードウェア | |
US20170199668A1 (en) | Data path control for non-volatile memory | |
EP1488323A2 (en) | Memory system with burst length shorter than prefetch length | |
US6038619A (en) | Disk drive initiated data transfers responsive to sequential or near sequential read or write requests | |
EP0164550A2 (en) | I/O controller for multiple disparate serial memories with a cache | |
WO1994009435A9 (en) | Disk array controller utilizing command descriptor blocks for control information | |
JPH07122865B2 (ja) | バス動作の動作速度を制御するようにしたバス・インターフェースを有するコンピュータ・システム | |
US5900014A (en) | External means of overriding and controlling cacheability attribute of selected CPU accesses to monitor instruction and data streams | |
US6173385B1 (en) | Address generator for solid state disk drive | |
US5687389A (en) | System for controlling an automatic read operation of read cache control circuit in a disk drive controller utilizing a start counter, a working counter, and a sector counter | |
JPH0727494B2 (ja) | キャッシュ・スヌープ/データ無効化機能を有するコンピュータ・システム | |
WO2019226250A1 (en) | Method and apparatus for scatter gather processing engine in a storage controller for caching applications | |
JP3461327B2 (ja) | トレースメモリに制限されない長時間トレースシステム | |
US5640585A (en) | State machine bus controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20030708 |
|
LAPS | Cancellation because of no payment of annual fees |