JP2804934B2 - システム開発装置 - Google Patents

システム開発装置

Info

Publication number
JP2804934B2
JP2804934B2 JP1202378A JP20237889A JP2804934B2 JP 2804934 B2 JP2804934 B2 JP 2804934B2 JP 1202378 A JP1202378 A JP 1202378A JP 20237889 A JP20237889 A JP 20237889A JP 2804934 B2 JP2804934 B2 JP 2804934B2
Authority
JP
Japan
Prior art keywords
trace
queue
microprocessor
instruction
instruction prefetch
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
Application number
JP1202378A
Other languages
English (en)
Other versions
JPH0365736A (ja
Inventor
達也 鈴木
政光 渡辺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Solutions Technology Ltd
Original Assignee
Hitachi ULSI Systems Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi ULSI Systems Co Ltd filed Critical Hitachi ULSI Systems Co Ltd
Priority to JP1202378A priority Critical patent/JP2804934B2/ja
Publication of JPH0365736A publication Critical patent/JPH0365736A/ja
Application granted granted Critical
Publication of JP2804934B2 publication Critical patent/JP2804934B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はエミュレータやロジックステートアナライザ
のようなシステム開発装置特にそれらにおけるトレース
技術に関し、例えば命令プリフェッチキューが保有する
命令数のトレースに適用して有効な技術に関するもので
ある。
〔従来技術〕
マイクロプロセッサ応用機器の開発においてそのシス
テムデバッグもくはシステム評価に利用されるエミュレ
ータは、評価対象マイクロプロセッサ応用機器(以下単
にターゲットシステムとも記す)に含まれる対象マイク
ロプロセッサ(以下単にターゲットマイクロプロセッサ
とも記す)の機能をエミュレーション用マイクロプロセ
ッサで代行しなからソフトウェアデバッグを可能にする
ものである。このエミュレータを用いて対象プログラム
(以下単にユーザープログラムとも記す)をデバッグし
たりシステム評価を行う場合、例えばそのユーザープロ
グラム上にブレークポイントを設定しておき、ユーザー
プログラムの実行状態がそのブレークポイントに到達し
たことが検出されると、ユーザープログラムの実行を停
止する。ブレークされるまでの間には、前記エミュレー
ション用マイクロプロセッサによるユーザプログラムの
実行状態に従って各種バス情報や制御情報がトレースメ
モリと呼ばれる記憶装置にリアルタイムに蓄積されてい
く。このようにして蓄積されたトレース情報は、ブレー
ク後にシステム開発装置などに与えられて解析され、前
記ユーザープログロムの逆アッセンブルが行われること
によってユーザープログラム及びターゲットシステムの
デバッグや評価が行われる。
ところで、従来のエミュレータにおけるトレースは、
例えば株式会社日立製作所発行の「68000ASE−IIユーザ
ーズマニュアル」(昭和60年12月発行)第57頁及び第58
頁に記載されているように、バスサイクル単位、或いは
動作クロック単位で行われるようになっていた。例えば
動作クロック単位でトレースされる場合にはエミュレー
タの内部クロックの1サイクル毎に所定の情報が順次ト
レースされる。また、バスサイクル単位のトレースは例
えばバスサイクルを規定するようなアドレスストローブ
信号又はデータストローブ信号のネゲートタイミングに
同期して順次行われる。前記動作クロック単位でのトレ
ースモードは、バスサイクルとは非同期で発生する事象
の変化を追跡するようなときに利用することができる。
〔発明が解決しようとする課題〕
しかしながら、バスサイクルとは非同期で発生する事
象の変化を追跡するようなときに前記動作クロック単位
でのトレースモードを利用すると、トレースメモリに膨
大な記憶容量を設定しておかなければトレース情報を有
効に保持することができない。しかも、トレース情報か
らユーザープログラムの逆アッセンブルを行う場合に、
情報量が極めて多いことからその解析手法が極めて複雑
になってしまう。そうかといって前記単なるバスサイク
ル単位のトレースモードを利用したのでは、トレースポ
イント間での状態変化を全てトレースすることができ
ず、欠落した情報により、ブレーク後のトレース内容解
析によってユーザープログラムを逆アッセンブルするこ
とができないという問題点があった。
特に、マイクロプロセッサの高機能化並びに動作の高
速化に従って命令プリフェッチキューを内蔵するものが
提供されている今日、その命令プリフェッチキューは通
常バスサイクルとは非同期に動作されることから、プリ
フェッチキューに残存する命令数を確実に捕捉しておか
なければユーザープログラムの逆アッセンブルを行うこ
とはできない。例えば例外処理や割込み処理さらにはリ
セット処理のような命令フローの分岐を伴う処理が発生
したときには、プリフェッチされている命令の実行状態
を個々の命令に対応させて容易に把握することができる
こと、或いはプリフェッチされている命令のうちどの命
令を実行したかを容易に追跡できることが必要になる。
本発明の目的は、トレースメモリに膨大な記憶容量を
確保しておかなくても、バスサイクルとは非同期で発生
する所要の事象の変化を確実に追跡することができるシ
ステム開発装置を提供することにある。
また本発明の別の目的は、ユーザープログラムの逆ア
ッセンブルさらにはシステムデバックやソフトウェアデ
バックに対する確実性と容易性とを得られるように所望
の情報をトレースすることができるシステム開発装置を
提供することにある。
また、本発明のさらに別の目的は、命令プリフェッチ
キューを有するマイクロプロセッサの動作プログラムに
対する逆アッセンブルなどに容易に対応することができ
るシステム開発装置を提供することにある。
本発明の前記並びにそのほかの目的と新規な特徴は、
本明細書の記述及び添付図面から明らかになるであろ
う。
〔課題を解決するための手段〕
本願において開示される発明のうち代表的なものの概
要を簡単に説明すれば下記の通りである。
すなわち、マイクロプロセッサの動作に従ったある一
定のタイミングに同期して各種情報をトレースしていく
システム開発ツールにおいて、前記一定のトレースタイ
ミングの間で変化するマイクロプロセッサ内部の特定事
象の発生状態をトレースタイミングまで保持するトレー
ス情報保持手段を設けるものである。
このとき、トレースすべき情報が直接マイクロプロセ
ッサの外部に出力されない場合には、マイクロプロセッ
サの動作状態指示信号に基づいて、トレースタイミング
とは非同期で発生するマイクロプロセッサの内部事象の
発生状態を再現していく事象追跡手段を設ける。例えば
マイクロプロセッサに含まれる命令プリフェッチキュー
が保有する命令数を取得する。
このとき、前記トレース情報保持手段は、その事象追
跡手段で取得された情報を全て保持する必要はなく選択
保持すれば足りる場合がある。例えば、前記命令プリフ
ェッチキューが保有する命令数を前記事象追跡手段によ
って取得する場合、前記トレース情報保持手段は、命令
プリフェッチキューからの第1オペレーションコード取
出し直前における残存命令数と、キュークリア発生直前
における残存命令数とを最低限保持するようにすれば足
りる。
また、逆アッセンブルの従来手法を流用可能にすると
共に、トレース情報量が過剰にならないようにするに
は、マイクロプロセッサが起動する各バスサイクル毎に
トレースタイミングを設定するとよい。
〔作 用〕
上記した手段によれば、前記トレース情報保持手段及
び事象追跡手段を介して、トレースタイミングの間で変
化する特定事象の発生状態をトレースタイミングまで保
持することにより、その特定事象の変化タイミングを全
て含むようなトレースタイミングを設定しなくても、所
定のトレースタイミングの間で変化する特定事象の発生
状態を捕捉するように作用し、これにより、トレースメ
モリに膨大な記憶容量を確保しておかなくても、バスサ
イクルとは非同期で発生する所要事象の変化を確実に捕
捉することを達成する。そしてこれにより、ユーザープ
ログラムの逆アッセンブルに対する確実性並びに容易性
を保証する。
前記トレース情報保持手段に保持された第1オペレー
ションコードの取出し直前における残存命令数がトレー
スされると、当該命令数と共にトレースされるその第1
オペレーションコードから当該第1オペレーションコー
ドに続く第2以降のオペレーションコードの実行状態
は、他と区別されて把握可能になる。また、キュークリ
ア発生直前における残存命令数がトレースされることに
より、例外処理や割込み処理などの分岐を伴う処理の発
生によって捨てられた命令の把握が可能になる。このこ
とにより、命令プリフェッチキューを有するマイクロプ
ロセッサの動作プログラムに対する逆アッセンブルへの
対応を少ないトレース情報で効率的且つ容易に可能とす
る。
〔実施例〕
第1図に本発明の一実施例であるエミュレータにおけ
るトレース回路部分の詳細が示されている。同図におい
て1は、図示しないターゲットマイクロプロセッサの機
能を代行してターゲットシステムを制御するためのマイ
クロプロセッサであり、例えば8086型マイクロプロセッ
サに対応する評価チップによって構成される。このマイ
クロプロセッサ1は、エミュレーションバス2を介して
外部との間でのデータ、アドレス信号、各種制御信号を
やりとりするようになっている。第1図においてそのエ
ミュレーションバス2には、代表的に示されているトレ
ースタイミング生成回路3、及びRAM(ランダム・アク
セス・メモリ)で成るようなトレースメモリ4が接続さ
れているが、その他にも特に図示はされていないブレー
クコントロール回路、代行メモリ回路、ホストインタフ
ェース回路、システムプログラムメモリなどが接続され
ている。前記トレースタイミング生成回路3は、アドレ
スストローブ信号AS(又はデータストローブ信号など)
のようなバスサイクルを規定するバスストローブ信号の
ネゲートタイミングに従ってバスサイクル毎に一定のタ
イミングでトレースメモリ4にエミュレーションバス2
の情報などを書き込んだりするためのタイミング制御を
行う。前記ブレークコントロール回路は、任意に設定さ
れたブレーク条件の成立を監視し、条件成立と共にブレ
ーク信号を発生してエミュレーション動作を停止制御し
たりする。前記代行メモリ回路はターゲットシステムの
ユーザーメモリ空間の記憶容量不足を補ったり、ソフト
ウェアデバッグ途上のユーサプログラムの格納領域など
に利用される。前記ホストインタフェースはシステム開
発装置などとインタフェースされ、ユーザプログラムの
ダウンロード、エミュレーション動作の制御、トレース
情報の転送などに利用される。前記システムプログラム
メモリは、ユーザプログラムの非実行状態においてエミ
ュレータ内部の制御を前記マイクロプロセッサ1に実行
させるための動作プログラムが格納される。尚、ブレー
ク信号がアサートされると、マイクロプロセッサ1のプ
ログラム空間はユーザプログラム空間からシステムプロ
グラム空間に切換制御される。また、そのエミュレーシ
ョンバス2は図示しないターゲットシステムのターゲッ
トプロセッサ搭載領域に結合可能なインタフェース部を
持つ。このインタフェース部をターゲットシステムに結
合することにより、マイクロプロセッサ1はターゲット
システムを代行制御する。
このエミュレータを用いてユーザープログラムをデバ
ッグしたり図示しないターゲットシステムの評価を行う
場合、例えばそのユーザープログラム上の所定のメモリ
アドレスをブレークポイントとして図示しないブレーク
コントロール回路に設定しておき、ユーザープログラム
の実行状態がそのブレークポイントに到達したことが検
出されると、ユーザープログラムの実行が停止される。
ブレークされるまでの間には、前記マイクロプロセッサ
1によるユーザプログラムの実行状態に従って各種バス
情報や制御情報がトレースメモリ4にリアルタイムに蓄
積されていく。このようにして蓄積さたトレース情報
は、ブレーク後にシステム開発装置などに与えられて解
析され、前記ユーザープログラムの逆アッセンブルが行
われることによってユーザープログラム及びターゲット
システムのデバッグや評価に供される。
ここまでの説明は従来のエミュレータと何ら特別に変
わる点はない。以下、前記バシサイクル毎のトレースタ
イミングの間で変化するマイクロプロセッサ内部の特定
事象の発生状態をもトレース可能にする点について説明
する。
前記マイクロプロセッサ1は、特に制限されないが、
6バイトの命令を先入れ先出し形式で畜える命令プリフ
ェッチキュー10を内蔵し、1度に最大2バイト単位で命
令を外部からプリフェッチすることができるようになっ
ている。命令のプリフェッチ動作は、デーダバスが空い
ているとき、或いは命令プリフェッチキュー10に命令が
無くなったときに適宜行われる。この命令プリフェッチ
キュー10にプリフェッチされている有効な命令の数は、
命令のシーケンス制御に従ってバスサイクルとは非同期
で変化される。したがってこの変化の状態は必ずしもエ
ミュレーションバス2には現れない。
そこで、本実施例のエミュレータは、命令プリフェッ
チキュー10における内部動作状態を、前記マイクロプロ
セッサ1の動作状態指示信号に基づいて外部で再現して
いくためのキュー内バイト数追跡回路11が設けられ、さ
らに、そのキュー内バイト数追跡回路11の出力を利用し
て命令プリフェッチキュー10における特定事象の発生状
態をトレースタイミングまで保持するために、第1オペ
時バイト数保持回路12、キュークリア時バイト数保持回
路13、及びキュー内バイト数補正回路14が設けられてい
る。尚、それら回路11〜14の全てはマイクロプロセッサ
10の動作基準クロック信号CLKに同期動作する。
キュー内バイト数追跡回路11に供給されるマイクロプ
ロセッサ1の動作状態指示信号は、特に制限されない
が、バス・ハイ・イネーブル信号BHE、アドレス信号の
最下位ビットA0、2ビットのキューステータス信号QS0,
QS1、及び3ビットのアクセスタイプステータス信号S0
〜S2とされる。前記バス・ハイ・イネーブル信号BHE及
びアドレス信号の最下位ビットA0は、マイクロプロセッ
サ1によるバスアクセス幅を外部に指示する信号とみな
され、例えば第3図に示されるように、そのレベルの組
合せに従って下位バイト(8ビット)アクセス、上位バ
イトアクセス、ワード(16ビット)アクセスの区別が示
される。前記キューステータス信号QS0,QS1は命令プリ
フェッチキュー10の動作状態を外部に示すための信号で
あり、例えば第4図に示されるようにそのレベルの組合
せによって、ノン・オペレーション、命令プリフェッチ
キュー10からの第1オペレーションコード取り出し(バ
イト単位)、命令プリフェッチキュー10に残っている命
令を無効したことを意味するキュークリア、命令プリフ
ェッチキュー10からの第2オペレーションコード以降の
オペレーションコード取り出し(バイト単位)が示され
る。前記アクセスタイプステータス信号S0〜S2はそのレ
ベルの組合せに従ってバスサイクルが命令フェッチサイ
クルからデータのリード・ライトサイクルかなどを外部
に示すための信号とみなされる。これら状態指示信号を
受けるキュー内バイト数追跡回路11は、命令プリフェッ
チキュー19の記憶容量が6バイトであることに呼応して
3ビットカウンタで構成される。このキュー内バイト数
追跡回路11による追跡処理は次のようにして行われる。
リセット又はキュークリアが指示されると、計数値は初
期化される。アクセスタイプステータス信号S0〜S2によ
って命令プリフェッチサイクルが指示されると、バイト
アクセスの場合には1だけカウントアップされ、ワード
アクセスのときには2だけカウントアップされる。ま
た、命令プリフェッチキュー10からのオペレーションコ
ード取り出しが指示されると、1だけカウントダウンさ
れる。したがって、キュー内バイト数追跡回路11には命
令プリフェッチキュー10に残存する命令バイト数が3ビ
ットの計数値QC0〜QC2によってリアルタイムに出力され
る。
前記キュー内バイト数補正回路14は、命令プリフェッ
チキュー10からの命令取り出しと命令のプリフェッチタ
イミングが重なった場合においても、命令プリフェッチ
キュー10の残存バイト数に対するトレース基準点を直前
のトレースポイントに合せるという規約を実現して逆ア
ッセンブルを容易化するためのもであり、例えば前記ア
クセスタイプステータス信号S0〜S2により命令プリフェ
ッチサイクルが指示されたときにキュー内バイト数の計
数データQC0〜QC2を1マシンサイクルの最初のステート
に同期して取り込み、これを補正データQCC0〜2QCCとし
て出力する。尚、斯る動作は前記アクセスタイプステー
タス信号S0〜S2とは無関係に常時1マシンサイクルの最
初のステートで行うようにしてもよい。
前記第1オペ時バイト数保持回路12は、キューステー
タス信号QS0,QS1によ第1オペレーションコードの取り
出しが指示されたとき、キュー内バイト数の計数データ
QC0〜QC2又はキュー内バイト数補正回路14の出力データ
QCC0〜QCC2を選択的に取り込み、取り込んだ値をデータ
Q1ST0〜Q1ST2として前記トレースメモリ4に出力する。
いずれを選択するかはアクセスタイプステータス信号S0
〜S2のレベルによって決定され、これによって命令プリ
フェッチサイクルが指示されているときには補正データ
QCC0〜QCC2が選択され、それ以外の場合には計数データ
QCO〜QC2が選択される。尚、補正データQCC0〜QCC2が選
択される場合には、そのときのプリフェッチ動作による
命令数の変化はトレースされないことになるが、後で説
明する逆アッセンブル手法上何ら問題にはならない。
前記キュークリア時バイト数保持回路13は、キュース
テータス信号QS0,QS1により命令プリフェッチキュー10
に対するクリア処理が指示されているとき、キュー内バ
イト数の計数データQC0〜QC2又はキュー内バイト数補正
回路14の出力データQCC0〜QCC2を選択的に取り込み、取
り込んだ値をデータQCLR0〜QCLR2としてトレースメモリ
4に出力する。いずれを選択するかはアクセスタイプス
テータス信号S0〜S2のレベルによって決定され、これに
よって命令プリフェッチサイクルが指示されているとき
には補正データQCC0〜QCC2が選択され、それ以外の場合
には計数データQC0〜QC2が選択される。
尚、前記第1オペ時バイト数保持回路12の出力データ
Q1ST0〜Q1ST2及び前記キュークリア時バイト数保持回路
13の出力データQCLR0〜QCLR2において、その値は0〜6
が有効とされ、7は無効であることを示す。
第2図には命令プリフェッチキュー10の残存命令バイ
ト数に関するトレース動作の一例が示されている。第2
図にはワード単位の2回のプリフェッチサイクル(PF
T1,PFT2)に前後して、キュークリア(CLR)と、2回の
第1オペレーションコードの取り出し(1ST1,1ST2)が
行われる場合について示され、夫々のトレースポイント
(TP1,TP2)はバスサイクルの終了に同期されるように
なっている。
第2図に従えば、キュークリア(CLR)が発生する
と、キュークリア時バイト数保持回路13が、その直前の
キュー内バイト数データQC0〜QC2(3バイト)を保持
し、この値を示すデータQCLR0〜QCLR2がトレースポイン
ト(TP1)でトレースメモリ4に格納される。尚、当該
バスサイクルの終了時点でそのデータQCLR0〜QCLR2は無
効値7にされている。また、キュークリア(CLR)の指
示に対応してキュー内バイト数追跡回路11の計数値は0
に初期化される。
1ワードのプリフェッチバスサイクル(PFT1)ではそ
の動作の指示に呼応してキュー内バイト数追跡回路11は
順次ステートT1,T2でカウントアップされてその保持値
は2にされる。
第1オペレーションコードの取り出し(1ST1)が指示
されると、これに連動して第1オペ時バイト数保持回路
12に、その直前のキュー内バイト数追跡回路11の計数値
2が保持される。これと共に、キュー内バイト数追跡回
路11は1だけダウンカウントされ、その保持値は1にさ
れる。
その次の1ワードプリフェッチバスサイクル(PFT2
では、第1オペレーションコードの取り出し(1ST2)も
指示されるため、キュー内バイト数追跡回路11の値はT3
ステートにおいて計数値2のままにされる。実際には2
バイト目のプリフェッチによるカウントアップと第1オ
ペコード取り出しによるカウントダウンとが重なってキ
ュー内バイト数追跡回路11の出力計数値が途中で撹乱さ
れる虞がある。このとき、キュー内バイト数補正回路14
は当該プリフェッチバスサイクル(PFT2)のステートT1
でその直前のデータQC0〜QC2によって示される値1を保
持している。したがって、第1オペ時バイト数保持回路
12は、第1オペレーションコードの取り出し(1ST2)指
示に呼応して前記キュー内バイト数補正回路14の出力デ
ータQCC0〜QCC2が示す値1を取り込む。このようにして
取り込まれた値は、次のトレースポイント(TP2)でト
レースメモリ4に格納される。このプリフェッチバスサ
イクル(PFT2)が終了されると、データQ1ST0〜Q1ST2は
無効値7に変化される。
次にこのようにしてトレースされた情報を解析する手
法について説明する。
先ず、第1オペレーションコード取り出しを行ってい
る地点を、データQ1ST0〜Q1ST2の値から見出す。すなわ
ち、その値が有効値0〜6になっている部分を見つけ出
す。そして、そのデータQ1ST0〜Q1ST2の値で示される数
の命令がその前のプリフェッチサイクルで取り込まれて
いることがわかる。この第1オペレーションコード取り
込み時にプリフェッチサイクルが重なっている場合にも
同様である。何故ならば、このようなときには前記キュ
内バイト数補正回路14から出力される値QCC0〜QCC2が第
1オペ時バイト数保持回路12に取り込まれてトレースさ
れるからである。このようにして得られたその地点以前
に実行された命令の種別は、斯る地点以前のその他のト
レース情報を参照しながら逆アッセンブルすることによ
って知ることができる。また、その地点以降における実
行命令に関しては、当該プリフェッチされた第1オペレ
ーションコードの内容をトレース結果を参照して検証す
ることにより命令全体のバイト数が把握され、さらに別
のトレース情報を参照しながら逆アッセンブルすること
によって当外第1オペレーションコードに付随する命令
の種別がわかる。
但し、上記解析中にキュークリアを(QCLR0〜QCLR2=
0〜6)を検出したら、その値が示す命令バイス数分の
命令は実行されなかったものとして処理する。
上記実施例によれば以下の作用効果を得るものであ
る。
(1)マイクロプロセッサ1に内蔵される命令プリフェ
ッチキュー10の動作状態をキュー内バイト数追跡回路11
で再現し、第1オペ時バイト数保持回路12、キュークリ
ア時バイト数保持回路13、及びキュー内バイト数補正回
路14によって、命令プリフェッチキュー10における特定
事象の発性状態即ち第1オペレーションコードの取り出
しとキュークリアの発生状態がトレースタイミングまで
保持されるから、その特定事象の変化タイミングを全て
含むようなトレースタイミングを設定しなくても、バス
サイクルの終了タイミングというような所定のトレース
タイミングの間で変化する特定事象の発生状態を確実に
捕捉することができる。
(2)上記作用効果により、トレースメモリ4に膨大な
記憶容量を確保しておかなくても、バスサイクルとは非
同期で発生するプリフェッチキュー10の所要の動作変化
もしくは動作状態を確実に捕捉することができる。
(3)上記作用効果(2)により、ユーザープログラム
の逆アッセンブルを確実性且つ容易に行うことができ
る。
(4)プリフェッチされた第1オペレーションコードの
取出し直前における残存命令数と、キュークリア発生直
前における残存命令数とをトレースすることにより、少
ないトレース情報によって逆アッセンブルを確実に行う
ことができる。即ち、第1オペレーションコードの取出
し直前における残存命令数がトレースされると、当該命
令数と共にトレースされるその第1オペレーションコー
ドから当該第1オペレーションコードに続く第2以降の
オペレーションコードの実行状態も他と区別されて把握
可能になる。また、キュークリア発生直前における残存
命令数がトレースされることにより、例外処理や割込み
処理などの分岐を伴う処理の発生によって捨てられた命
令の把握が可能になる。
(5)キュー内バイト数補正回路14を設けることによ
り、命令プリフェッチキュー10からの命令取り出しと命
令のプリフェッチとが重なった場合にも、命令プリフェ
ッチキュー10の残存バイト数に対するレース基準点を直
前のトレースポイントに合わせることができ、この点に
おいても逆アッセンブルを容易化することができる。
(6)上記各作用効果により、従来のエミュレータのハ
ードウェアに対して回路11〜14を設けるだけで、また、
従来同様バスサイクル単位のトレース方式を採用して
も、命令プリフェッチキュー10を内蔵するような高機能
のマイクロプロセッサに対応可能なエミュレータを容易
に提供することができる。
以上本発明者によってなされた発明を実施例に基づい
て具体的に説明したが本発明はそれに限定されるもので
はなく、その要旨を逸脱しない範囲において種々変更可
能であることは言うまでもない。
例えば上記実施例では命令プリフェッチキューにおけ
る所要の内部動作状態をトレースする場合について説明
したが、本発明はそれに限定されるものではなく、エミ
ュレーションバスなどを介して直接トレースすることが
できないようなマイクロプロセッサの各種内部状態のト
レースにも広く応用することができる。したがって、必
要とされる内部事象に応じてその状態の追跡手法も適宜
変更可能になる。また、キュー内バイト数補正回路のよ
うな回路の機能は、トレースポイントをどの位置にする
かというような点に応じて変更することができる。ま
た、オペレーションコードの取り出し毎に残存命令バイ
ト数をトレースするようにしてもよい。但しこの場合に
は上記実施例に比べてトレース情報が増えてしまう。
以上の説明では主として本発明のものによってなされ
た発明をその背景となった利用分野であるエミュレータ
に適用した場合について説明したが、本発明はそれに限
定されるものではなく、ロジックステートアナライザな
どシステム開発装置に広く適用することができる。
〔発明の効果〕
本願において開示される発明のうち代表的なものによ
って得られる効果を簡単に説明すれば下記の通りであ
る。
すなわち、一定のトレースタイミングの間で変化する
マイクロプロセッサ内部の特定事象の発生状態をトレー
スタイミングまで保持するトレース情報保持手段を設け
たから、その特定事象の変化タイミングを全て含むよう
なトレースタイミングを設定しなくても、所定のトレー
スタイミングの間で変化する特定事象の発生状態を捕捉
することができる。これにより、トレースメモリに膨大
な記憶容量を確保しておかなくても、バスサイクルとは
非同期で発生する所要事象の変化を確実にトレースする
ことができるという効果がある。したがって、ユーザー
プログラムの逆アッセンブルに対する確実性並びに容易
性を達成すことができる。
また、マイクロプロセッサの動作状態指示信号に基づ
いて、トレースタイミングとは非同期で発生するマイク
ロプロセッサの内部事象の発生状態例えばマイクロプロ
セッサに含まれる命令プリフェッチキューが保有する命
令数の変化を再現していく事象追跡手段を設けることに
より、トレースすべき情報が直接マイクロプロセッサの
外部に出力されない場合にも容易に対応できる。
命令プリフェッチキューが保有する命令数を前記事象
追跡手段によって取得する場合、プリフェッチされた第
1オペレーションコードの取出し直前における残存命令
数と、キュークリア発生直前における残存命令数とを前
記トレース情報保持手段に保持させてこれら情報をトレ
ースすることにより、少ないトレース情報によって逆ア
ッセンブルを確実に行うことができる。
そして上記各効果により、エミュレータなど従来のシ
ステム開発装置のハードウェアに対してトレース情報保
持手段や事象追跡手段を設けるだけで、また、従来同様
バスサイクル単位のトレース方式を採用しても、命令プ
リフェッチキューなどを内蔵するような高機能のマイク
ロプロセッサに対応可能なシステム開発装置を容易に提
供することができるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例であるエミュレータにおける
トレース回路部分のブロック図、 第2図は命令プリフェッチキューの残存命令バイト数に
関するトレース動作の一例タイミングチャート、 第3図はマイクロプロセッサによるバスアクセス幅を外
部に指示するための信号定義説明図、 第4図は命令プリフェッチキューの動作状態を外部に示
すためのステータス信号定義説明図である。 1……マイクロプロセッサ、2……エミュレーションバ
ス、3……トレースタイミング生成回路、4……トレー
スメモリ、10……命令プリフェッチキュー、11……キュ
ー内バイト数追跡回路、12……第1オペ時バイト数保持
回路、13……キュークリア時バイト数保持回路、14……
キュー内バイト数補正回路、BHE……バス・ハイ・イネ
ーブル信号、A0…アドレス信号最下位ビット、QS0〜QS1
……キューステータス信号、S0〜S2……アクセスタイプ
ステータス信号、AS……アドレスストローブ信号、CLK
……動作基準クロック信号。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭62−173542(JP,A) 特開 昭62−182946(JP,A) 特開 昭62−197831(JP,A) 特開 昭62−279438(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 11/28 - 11/34

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】トレースメモリと、該トレースメモリに情
    報書込みを指示するためのトレースタイミングを生成す
    るトレースタイミング生成手段とを有し、マイクロプロ
    セッサの動作に従って出現される情報を前記トレースタ
    イミングに同期してトレースメモリにトレースするシス
    テム開発装置において、 前記マイクロプロセッサに含まれる命令プリフェッチキ
    ューにおける内部動作状態を、前記マイクロプロセッサ
    が外部に出力する動作状態指示信号に基づいて再現する
    事象追跡手段と、 前記事象追跡手段で再現された状態を、マイクロプロセ
    ッサの前記動作状態指示信号に基づいて選択して前記ト
    レースタイミングまで一時的に保持し、保持した情報を
    前記トレースメモリに向けて出力するトレース情報保持
    手段と、 前記命令プリフェッチキューからの命令取り出しと命令
    プリフェッチタイミングが重なった場合においても命令
    プリフェッチキューの残存バイト数に対するトレース基
    準点を直前のトレースポイントに合わせるためのキュウ
    内バイト数補正回路とを設け、 前記トレース情報保持手段は、前記マイクロプロセッサ
    に内蔵される命令プリフェッチキューからの第1オペレ
    ーションコード取り出し直前における当該命令プリフェ
    ッチキューの残存命令数を保持する第1オペ時バイト数
    保持回路と、 前記命令プリフェッチキューに対するキュークリア発生
    前における当該命令プリフェッチキューの残存命令を保
    持するキュークリア時バイト数保持回路とを含んで成る
    ものであることを特徴とするシステム開発装置。
  2. 【請求項2】前記トレースタイミング生成手段は、マイ
    クロプロセッサが起動するバスサイクルに同期してトレ
    ースタイミングを生成するものであることを特徴とする
    請求項1記載のシステム開発装置。
JP1202378A 1989-08-04 1989-08-04 システム開発装置 Expired - Fee Related JP2804934B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1202378A JP2804934B2 (ja) 1989-08-04 1989-08-04 システム開発装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1202378A JP2804934B2 (ja) 1989-08-04 1989-08-04 システム開発装置

Publications (2)

Publication Number Publication Date
JPH0365736A JPH0365736A (ja) 1991-03-20
JP2804934B2 true JP2804934B2 (ja) 1998-09-30

Family

ID=16456506

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1202378A Expired - Fee Related JP2804934B2 (ja) 1989-08-04 1989-08-04 システム開発装置

Country Status (1)

Country Link
JP (1) JP2804934B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62173542A (ja) * 1986-01-27 1987-07-30 Yokogawa Electric Corp エミユレ−タ
JPS62182946A (ja) * 1986-02-07 1987-08-11 Anritsu Corp トレ−ス回路
JPS62197831A (ja) * 1986-02-26 1987-09-01 Hitachi Ltd デ−タ処理装置
JPS62279438A (ja) * 1986-05-29 1987-12-04 Mitsubishi Electric Corp トレ−ス回路

Also Published As

Publication number Publication date
JPH0365736A (ja) 1991-03-20

Similar Documents

Publication Publication Date Title
US6243836B1 (en) Apparatus and method for circular buffering on an on-chip discontinuity trace
US20020147965A1 (en) Tracing out-of-order data
US4879646A (en) Data processing system with a pipelined structure for editing trace memory contents and tracing operations during system debugging
JP2776602B2 (ja) 試験システムおよび命令実行シーケンス判定方法
US6154857A (en) Microprocessor-based device incorporating a cache for capturing software performance profiling data
US5845064A (en) Method for testing and verification of a CPU using a reference model
CN101154183B (zh) 一种微控制器嵌入式在线仿真调试系统
US8037363B2 (en) Generation of trace elements within a data processing apparatus
EP0764903A1 (en) On-chip debug port
US8819496B2 (en) Apparatus for collecting trace information and processing trace information, and method for collecting and processing trace information
JPS61253555A (ja) トランザクシヨン・アナライザ
US6212493B1 (en) Profile directed simulation used to target time-critical crossproducts during random vector testing
EP0869434A2 (en) Method for outputting trace information of a microprocessor
US5930470A (en) Debugging system and debugging method
JP2804934B2 (ja) システム開発装置
GB2389931A (en) Selective generation of trace elements
EP1367489A1 (en) A microprocessor development system
JPS6383841A (ja) プログラムテスト可能な計算機中央処理装置
JPH10275092A (ja) マイクロプロセッサのトレース情報出力方法
JP4406119B2 (ja) インサーキットエミュレータ
JP2760228B2 (ja) キャッシュメモリを内蔵したマイクロプロセッサとそのトレースアナライザ
JP3349911B2 (ja) マイクロプロセッサ及びその開発支援装置
JP2563708B2 (ja) マイクロプロセッサ装置およびそれを用いたエミュレータ装置
JP3633747B2 (ja) マイクロプロセッサのプログラムデバッグ装置
EP0601334B1 (en) Method for observing program flow in a processor having internal cache memory

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080724

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080724

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090724

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees