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

システム開発装置

Info

Publication number
JPH0365736A
JPH0365736A JP1202378A JP20237889A JPH0365736A JP H0365736 A JPH0365736 A JP H0365736A JP 1202378 A JP1202378 A JP 1202378A JP 20237889 A JP20237889 A JP 20237889A JP H0365736 A JPH0365736 A JP H0365736A
Authority
JP
Japan
Prior art keywords
trace
microprocessor
queue
timing
instruction
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.)
Granted
Application number
JP1202378A
Other languages
English (en)
Other versions
JP2804934B2 (ja
Inventor
Tatsuya Suzuki
達也 鈴木
Masamitsu Watanabe
渡辺 政光
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 Microcomputer System Ltd
Original Assignee
Hitachi Microcomputer Engineering 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 Microcomputer Engineering Ltd filed Critical Hitachi Microcomputer Engineering 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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

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

Claims (1)

  1. 【特許請求の範囲】 1、マイクロプロセッサの動作に従ったある一定のタイ
    ミングに同期して各種情報をトレースしていくシステム
    開発ツールにおいて、 前記一定のトレースタイミングの間で変化するマイクロ
    プロセッサ内部の特定事象の発生状態をトレースタイミ
    ングまで保持するトレース情報保持手段を設けたことを
    特徴とするシステム開発ツール。 2、前記一定のトレースタイミングとは非同期で発生す
    るマイクロプロセッサの内部事象の発生状態を、前記マ
    イクロプロセッサの動作状態指示信号に基づいて再現し
    ていく事象追跡手段を設け、 前記トレース情報保持手段は、その事象追跡手段で取得
    された情報を選択保持するようにされて成る 請求項1記載のシステム開発ツール。 3、前記事象追跡手段は、マイクロプロセッサに含まれ
    る命令プリフェッチキューが保有する命令数を取得する
    ようにされ、 前記トレース情報保持手段は、命令プリフェッチキュー
    からの第1オペレーションコード取出し直前における残
    存命令数と、キュークリア発生直前における残存命令数
    とを保持するようにされて成る 請求項2記載のシステム開発ツール。 4、前記トレースタイミングは、マイクロプロセッサが
    起動する各バスサイクルに同期して行われるようにされ
    て成る請求項1乃至3項の何れか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 true JPH0365736A (ja) 1991-03-20
JP2804934B2 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)

Citations (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 トレ−ス回路

Patent Citations (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
JP2804934B2 (ja) 1998-09-30

Similar Documents

Publication Publication Date Title
US7080283B1 (en) Simultaneous real-time trace and debug for multiple processing core systems on a chip
US5265254A (en) System of debugging software through use of code markers inserted into spaces in the source code during and after compilation
JP2776602B2 (ja) 試験システムおよび命令実行シーケンス判定方法
JP4233893B2 (ja) データ処理システムにおける命令のトレーシング
JP4038372B2 (ja) 順序外データのトレーシング
US5544311A (en) On-chip debug port
US6243836B1 (en) Apparatus and method for circular buffering on an on-chip discontinuity trace
US6754856B2 (en) Memory access debug facility
EP3785124B1 (en) Memory validity states in time-travel debugging
JP2002189611A (ja) エミュレーション装置及びその方法
US20020144235A1 (en) Debugging embedded systems
US6212493B1 (en) Profile directed simulation used to target time-critical crossproducts during random vector testing
JPH0731615B2 (ja) 情報処理装置
JP2001236245A (ja) 異なる命令セットフィールドに固有のハードウエアでの実行時にエミュレートされた命令セットのトレースを再生成するための方法および装置
US7562258B2 (en) Generation of trace elements within a data processing apparatus
CN115516430A (zh) 用于收集装置的状态信息的技术
US5930470A (en) Debugging system and debugging method
Narayanasamy et al. Bugnet: Recording application-level execution for deterministic replay debugging
JP2008033849A (ja) 障害解析システム
US20060259826A1 (en) Method and system of identifying overlays
JPH0365736A (ja) システム開発装置
JPS6383841A (ja) プログラムテスト可能な計算機中央処理装置
JP5937530B2 (ja) ソフトエラー解析装置、エラー情報作成装置
US7225365B2 (en) Apparatus and method for identification of a new secondary code start point following a return from a secondary code execution
JP3349911B2 (ja) マイクロプロセッサ及びその開発支援装置

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