JPH0644098A - メモリ・アクセス・バス・コンパレータ - Google Patents
メモリ・アクセス・バス・コンパレータInfo
- Publication number
- JPH0644098A JPH0644098A JP4217480A JP21748092A JPH0644098A JP H0644098 A JPH0644098 A JP H0644098A JP 4217480 A JP4217480 A JP 4217480A JP 21748092 A JP21748092 A JP 21748092A JP H0644098 A JPH0644098 A JP H0644098A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- emulation
- data
- circuit
- user
- 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
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
(57)【要約】
【目的】 ユーザ・メモリで動作するターゲット・シス
テムで動作不良が起こった場合でも、簡単に現象を捕ま
えることができ、その現象にあった適切な対処を短時間
で行う。 【構成】 ユーザ・メモリ12とエミュレーション・メ
モリ14に同じプログラムをロードし、前記エミュレー
ションCPU13によるライト動作では、前記ユーザ・
メモリ12とエミュレーション・メモリ14の両メモリ
にライトし、前記エミュレーションCPU13によるリ
ード動作では、前記ユーザ・メモリ12とエミュレーシ
ョン・メモリ14両メモリのデータ不一致を検出する比
較回路23を設けるとともに、その不一致のアドレスと
データを記憶するラッチ回路25,17を設ける。
テムで動作不良が起こった場合でも、簡単に現象を捕ま
えることができ、その現象にあった適切な対処を短時間
で行う。 【構成】 ユーザ・メモリ12とエミュレーション・メ
モリ14に同じプログラムをロードし、前記エミュレー
ションCPU13によるライト動作では、前記ユーザ・
メモリ12とエミュレーション・メモリ14の両メモリ
にライトし、前記エミュレーションCPU13によるリ
ード動作では、前記ユーザ・メモリ12とエミュレーシ
ョン・メモリ14両メモリのデータ不一致を検出する比
較回路23を設けるとともに、その不一致のアドレスと
データを記憶するラッチ回路25,17を設ける。
Description
【0001】
【産業上の利用分野】本発明は、エミュレーション・シ
ステム等におけるユーザ・メモリとエミュレーション・
メモリのデータ・バスの比較を行うメモリ・アクセス・
バス・コンパレータに関するものである。
ステム等におけるユーザ・メモリとエミュレーション・
メモリのデータ・バスの比較を行うメモリ・アクセス・
バス・コンパレータに関するものである。
【0002】
【従来の技術】従来より、インサーキット・エミュレー
タは、マイクロプロセッサの代わりにターゲット・シス
テムに接続することで、プログラムの任意の実行/停
止、メモリ等の資源の読み/書き、実行のトレース機能
等を有するマイクロプロセッサ開発支援装置として知ら
れている。
タは、マイクロプロセッサの代わりにターゲット・シス
テムに接続することで、プログラムの任意の実行/停
止、メモリ等の資源の読み/書き、実行のトレース機能
等を有するマイクロプロセッサ開発支援装置として知ら
れている。
【0003】このようなインサーキット・エミュレータ
において、未完成のユーザターゲットをデバッグ中、と
きどき原因不明のプログラム暴走が起こることがあっ
た。このような場合、メモリ自体の故障、データ線にの
るノイズにより正しいデータリードまたはコードフェッ
チができない場合、あるいはメモリのライト信号線にの
るノイズによる誤データの書き込みの場合等のいわゆる
メモリエラーを疑ってみるが、大抵他の原因から調べて
いくのが一般的である。これは頻度の低いメモリエラー
の場合、その現象を捕まえ難いため、簡単に調べられる
ところから潰して行くためである。そして、暴走原因で
あろうと思われるその他の原因が違っていた場合に、こ
のメモリエラーについて調べ始める。
において、未完成のユーザターゲットをデバッグ中、と
きどき原因不明のプログラム暴走が起こることがあっ
た。このような場合、メモリ自体の故障、データ線にの
るノイズにより正しいデータリードまたはコードフェッ
チができない場合、あるいはメモリのライト信号線にの
るノイズによる誤データの書き込みの場合等のいわゆる
メモリエラーを疑ってみるが、大抵他の原因から調べて
いくのが一般的である。これは頻度の低いメモリエラー
の場合、その現象を捕まえ難いため、簡単に調べられる
ところから潰して行くためである。そして、暴走原因で
あろうと思われるその他の原因が違っていた場合に、こ
のメモリエラーについて調べ始める。
【0004】しかし、実際には現象を捕まえることが容
易でないため、現象を捕まえることをあきらめ、経験的
な知識に基づき、バッファやダンピング抵抗器を入れた
り外したりし、現象を抑えてしまうことがあった。
易でないため、現象を捕まえることをあきらめ、経験的
な知識に基づき、バッファやダンピング抵抗器を入れた
り外したりし、現象を抑えてしまうことがあった。
【0005】
【発明が解決しようとする課題】すなわち、従来のイン
サーキット・エミュレータでは、ユーザ・メモリで動作
するターゲット・システムにおいて動作不良が発生した
場合、それがメモリのデータ化けやリードミスによるも
のか、あるいはプログラム・ミスによるのか簡単に判断
することができず、的確な対処ができないことがあっ
た。
サーキット・エミュレータでは、ユーザ・メモリで動作
するターゲット・システムにおいて動作不良が発生した
場合、それがメモリのデータ化けやリードミスによるも
のか、あるいはプログラム・ミスによるのか簡単に判断
することができず、的確な対処ができないことがあっ
た。
【0006】そこで本発明は、ユーザ・メモリで動作す
るターゲット・システムで動作不良が起こった場合で
も、簡単に現象を捕まえることができ、その現象にあっ
た適切な対処を短時間で行うことができるメモリ・アク
セス・バス・コンパレータを提供することを目的とす
る。
るターゲット・システムで動作不良が起こった場合で
も、簡単に現象を捕まえることができ、その現象にあっ
た適切な対処を短時間で行うことができるメモリ・アク
セス・バス・コンパレータを提供することを目的とす
る。
【0007】
【課題を解決するための手段】上記目的を達成するため
に、本発明のメモリ・アクセス・バス・コンパレータ
は、ユーザ・メモリの領域から比較対象を抽出し、エミ
ュレーション・メモリの領域へ割り付けるメモリ割り付
け回路を有し、該ユーザ・メモリのプログラムをエミュ
レーションCPUで実行するエミュレーション・システ
ムにおいて、前記ユーザ・メモリとエミュレーション・
メモリに同じプログラムをロードし、前記エミュレーシ
ョンCPUによるライト動作では、前記ユーザ・メモリ
とエミュレーション・メモリの両メモリにライトし、前
記エミュレーションCPUによるリード動作では、前記
ユーザ・メモリとエミュレーション・メモリ両メモリの
データ不一致を検出する比較回路を設けるとともに、そ
の不一致のアドレスとデータを記憶するラッチ回路を設
けたものである。
に、本発明のメモリ・アクセス・バス・コンパレータ
は、ユーザ・メモリの領域から比較対象を抽出し、エミ
ュレーション・メモリの領域へ割り付けるメモリ割り付
け回路を有し、該ユーザ・メモリのプログラムをエミュ
レーションCPUで実行するエミュレーション・システ
ムにおいて、前記ユーザ・メモリとエミュレーション・
メモリに同じプログラムをロードし、前記エミュレーシ
ョンCPUによるライト動作では、前記ユーザ・メモリ
とエミュレーション・メモリの両メモリにライトし、前
記エミュレーションCPUによるリード動作では、前記
ユーザ・メモリとエミュレーション・メモリ両メモリの
データ不一致を検出する比較回路を設けるとともに、そ
の不一致のアドレスとデータを記憶するラッチ回路を設
けたものである。
【0008】
【作用】本発明では、エミュレーションCPUによるラ
イト動作でユーザ・メモリとエミュレーション・メモリ
の両メモリにライトして両メモリのデータの一致を保
ち、また、ユーザ・メモリとエミュレーション・メモリ
の両メモリのデータ不一致を検出する比較回路を設け、
不一致を検出したときに、その不一致のアドレスとデー
タをラッチ回路に記憶することで、メモリのデータ化け
やリード・ミスによるものか、あるいはプログロム・ミ
スによるものか簡単に判断することができるため、ユー
ザ・メモリで動作するターゲット・システムで動作不良
が起こった場合でも、簡単に現象を捕まえることがで
き、その現象にあった適切な対処を短時間で行うことが
できる。
イト動作でユーザ・メモリとエミュレーション・メモリ
の両メモリにライトして両メモリのデータの一致を保
ち、また、ユーザ・メモリとエミュレーション・メモリ
の両メモリのデータ不一致を検出する比較回路を設け、
不一致を検出したときに、その不一致のアドレスとデー
タをラッチ回路に記憶することで、メモリのデータ化け
やリード・ミスによるものか、あるいはプログロム・ミ
スによるものか簡単に判断することができるため、ユー
ザ・メモリで動作するターゲット・システムで動作不良
が起こった場合でも、簡単に現象を捕まえることがで
き、その現象にあった適切な対処を短時間で行うことが
できる。
【0009】
【実施例】以下、本発明を図示の一実施例により具体的
に説明する。図1は本発明実施例のメモリ・アクセス・
バス・コンパレータを説明する全体ブロック図である。
に説明する。図1は本発明実施例のメモリ・アクセス・
バス・コンパレータを説明する全体ブロック図である。
【0010】同図において、本実施例のメモリ・アクセ
ス・バス・コンパレータの主要部分を構成するエミュレ
ータ部10は、ホスト・コンピュータ11から外部設定
されるデータに基づきターゲット・システムのユーザ・
メモリ12をアクセスしデータ・バスの比較を行う回路
であり、エミュレーションCPU13、エミュレーショ
ン・メモリ14、メモリ割り付け回路15、比較制御部
16、及びエラーアドレス・ラッチ回路17等を備えて
いる。なお、バスラインの途中には、ゲートが設けられ
ている。
ス・バス・コンパレータの主要部分を構成するエミュレ
ータ部10は、ホスト・コンピュータ11から外部設定
されるデータに基づきターゲット・システムのユーザ・
メモリ12をアクセスしデータ・バスの比較を行う回路
であり、エミュレーションCPU13、エミュレーショ
ン・メモリ14、メモリ割り付け回路15、比較制御部
16、及びエラーアドレス・ラッチ回路17等を備えて
いる。なお、バスラインの途中には、ゲートが設けられ
ている。
【0011】上記メモリ割り付け回路15は、ユーザ・
メモリ12のメモリ領域から比較対照を任意に抽出し、
エミュレーション・メモリ14へ割り付けるための回路
である。このためメモリ割り付け回路15は、例えば、
エミュレーションCPU13が停止時に、ホスト・アド
レス・バス及びホスト・データ・バスに切り替え、割り
付けデータをホスト側より図示しない割り付け用メモリ
等に書き込んでおき、エミュレーションCPU13が動
作時に、エミュレーション・アドレスの上位側入力に切
り替え、エミュレーション・アドレスに対応する割り付
け用メモリに書き込まれたデータを、エミュレーション
・メモリ14及びユーザ・メモリ12をアクセスする信
号とするとともに、ページ・アドレスとしてエミュレー
ション・メモリ・アドレスの上位側に出力する回路であ
る。
メモリ12のメモリ領域から比較対照を任意に抽出し、
エミュレーション・メモリ14へ割り付けるための回路
である。このためメモリ割り付け回路15は、例えば、
エミュレーションCPU13が停止時に、ホスト・アド
レス・バス及びホスト・データ・バスに切り替え、割り
付けデータをホスト側より図示しない割り付け用メモリ
等に書き込んでおき、エミュレーションCPU13が動
作時に、エミュレーション・アドレスの上位側入力に切
り替え、エミュレーション・アドレスに対応する割り付
け用メモリに書き込まれたデータを、エミュレーション
・メモリ14及びユーザ・メモリ12をアクセスする信
号とするとともに、ページ・アドレスとしてエミュレー
ション・メモリ・アドレスの上位側に出力する回路であ
る。
【0012】上記比較制御部16は、エミュレーション
・メモリ14とユーザ・メモリ12の内容を比較を行
い、一致していないときにはエラー信号を出力し、その
エラーを起こしたエミュレーション・データとユーザ・
データとを一時保持する回路である。また、エラーアド
レス・ラッチ回路17は、比較制御部16からエラー信
号が出力されたときに、エラーデータのアドレスを一時
保持するための回路である。
・メモリ14とユーザ・メモリ12の内容を比較を行
い、一致していないときにはエラー信号を出力し、その
エラーを起こしたエミュレーション・データとユーザ・
データとを一時保持する回路である。また、エラーアド
レス・ラッチ回路17は、比較制御部16からエラー信
号が出力されたときに、エラーデータのアドレスを一時
保持するための回路である。
【0013】図2は本発明実施例の比較制御部の内部構
成を説明するブロック図である。
成を説明するブロック図である。
【0014】同図において、比較制御部16は、エミュ
レーション・メモリ14を読み出しエミュレーション・
メモリ・データ・バスを介して入力するデータを一時保
持するデータ・ラッチ回路21と、同時にユーザ・メモ
リ12を読み出しユーザ・メモリ・データ・バスを介し
て入力するデータを一時保持するデータ・ラッチ回路2
2と、これら両データ・ラッチ回路21,22で保持さ
れた両ラッチ・データを比較しエラー発生時にその時点
を示すエラー信号(タイミング信号)ERR−を出力す
る比較回路23と、ホスト・コンピュータ11からのア
ドレスとステータス信号をデコードしてエラーデータに
関するリード要求やエラークリア要求を出力するデコー
ダ24と、エラー発生時に両データ・ラッチ回路21,
22で保持された両ラッチ・データを一時保持しデコー
ダ24からのデコード信号でエラーラッチ・データをホ
スト・データ・バスに出力するエラーデータ・ラッチ回
路25と、比較回路23からのエラー信号(ERR
−)、デコーダ24からのデコーダ信号、及びアドレス
信号(A0,A1)、エミュレーションCPUステータ
ス信号(DSAK0−,1−)、エミュレーションCP
Uバス幅信号(CBTYP0,1)、エミュレーション
・メモリ・バス幅信号(EMBTYP0,1)、タイミ
ング信号(PTIME−)、リード/ライト信号(R/
W−)を入力し、上記の各回路への制御信号を出力する
制御回路26とから構成されている。
レーション・メモリ14を読み出しエミュレーション・
メモリ・データ・バスを介して入力するデータを一時保
持するデータ・ラッチ回路21と、同時にユーザ・メモ
リ12を読み出しユーザ・メモリ・データ・バスを介し
て入力するデータを一時保持するデータ・ラッチ回路2
2と、これら両データ・ラッチ回路21,22で保持さ
れた両ラッチ・データを比較しエラー発生時にその時点
を示すエラー信号(タイミング信号)ERR−を出力す
る比較回路23と、ホスト・コンピュータ11からのア
ドレスとステータス信号をデコードしてエラーデータに
関するリード要求やエラークリア要求を出力するデコー
ダ24と、エラー発生時に両データ・ラッチ回路21,
22で保持された両ラッチ・データを一時保持しデコー
ダ24からのデコード信号でエラーラッチ・データをホ
スト・データ・バスに出力するエラーデータ・ラッチ回
路25と、比較回路23からのエラー信号(ERR
−)、デコーダ24からのデコーダ信号、及びアドレス
信号(A0,A1)、エミュレーションCPUステータ
ス信号(DSAK0−,1−)、エミュレーションCP
Uバス幅信号(CBTYP0,1)、エミュレーション
・メモリ・バス幅信号(EMBTYP0,1)、タイミ
ング信号(PTIME−)、リード/ライト信号(R/
W−)を入力し、上記の各回路への制御信号を出力する
制御回路26とから構成されている。
【0015】図3は本発明実施例の比較回路の内部構成
を説明するブロック図である。
を説明するブロック図である。
【0016】本実施例の比較回路23のビット比較部分
は、エミュレーション・メモリ幅がユーザ・メモリ幅よ
り拡ければ、データ・バス比較ができるよう、データ・
バスの対応をとるようにした回路である。これは、エミ
ュレーション・メモリ14がCPUのバス幅によって、
そのメモリ幅を替えなくてもよいような汎用的な構造に
なっいるためである。そのため、データ・バスの対応は
次のようになっている。すなわち、エミュレーション・
メモリのデータ幅が8ビットの場合、対応するユーザ・
メモリのデータ幅は8ビットだけとなる。エミュレーシ
ョン・メモリのデータ幅が16ビットの場合、対応する
ユーザ・メモリのデータ幅は8ビットと16ビットのど
ちらかとなる。また、ユーザ・メモリ側での8ビット・
バスサイジングに対応する。エミュレーション・メモリ
のデータ幅が32ビットの場合、対応するユーザ・メモ
リのデータ幅は8ビット、16ビット、32ビットのい
ずれかとなる。また、ユーザ・メモリ側での8ビット、
16ビット・バスサイジングに対応する。
は、エミュレーション・メモリ幅がユーザ・メモリ幅よ
り拡ければ、データ・バス比較ができるよう、データ・
バスの対応をとるようにした回路である。これは、エミ
ュレーション・メモリ14がCPUのバス幅によって、
そのメモリ幅を替えなくてもよいような汎用的な構造に
なっいるためである。そのため、データ・バスの対応は
次のようになっている。すなわち、エミュレーション・
メモリのデータ幅が8ビットの場合、対応するユーザ・
メモリのデータ幅は8ビットだけとなる。エミュレーシ
ョン・メモリのデータ幅が16ビットの場合、対応する
ユーザ・メモリのデータ幅は8ビットと16ビットのど
ちらかとなる。また、ユーザ・メモリ側での8ビット・
バスサイジングに対応する。エミュレーション・メモリ
のデータ幅が32ビットの場合、対応するユーザ・メモ
リのデータ幅は8ビット、16ビット、32ビットのい
ずれかとなる。また、ユーザ・メモリ側での8ビット、
16ビット・バスサイジングに対応する。
【0017】また、比較データの入力から結果出力まで
を高速で行うため、8ブロックからなる8ビット比較回
路41〜48を備えている。この比較回路23に入力す
る両データ・バス幅は、例えば、最大32ビットであ
り、その両データ・バス幅を下位側から8ビットずつに
分け、それぞれ順にLL,LH,HL,HHとする。ま
た、比較回路の使い分けをするために、8ビット比較回
路41〜48には、それぞれイネーブル信号EN1〜E
N8が入力する。これらイネーブル信号EN1〜EN8
は、制御回路26から出力される信号であり、エミュレ
ーションCPUアドレス、ステータス情報等から生成さ
れる。
を高速で行うため、8ブロックからなる8ビット比較回
路41〜48を備えている。この比較回路23に入力す
る両データ・バス幅は、例えば、最大32ビットであ
り、その両データ・バス幅を下位側から8ビットずつに
分け、それぞれ順にLL,LH,HL,HHとする。ま
た、比較回路の使い分けをするために、8ビット比較回
路41〜48には、それぞれイネーブル信号EN1〜E
N8が入力する。これらイネーブル信号EN1〜EN8
は、制御回路26から出力される信号であり、エミュレ
ーションCPUアドレス、ステータス情報等から生成さ
れる。
【0018】図3において、まずエミュレーション・デ
ータLLは、第1の8ビット比較回路41に、エミュレ
ーション・データLHは、第2及び第3の8ビット比較
回路42,43に、エミュレーション・データHLは、
第4及び第5の8ビット比較回路44,45に、エミュ
レーション・データHHは、第6、第7及び第8の8ビ
ット比較回路46,47,48にそれぞれ入力される。
一方、ユーザ・データLLは、第1、第3、第5及び第
7の8ビット比較回路41,43,45,47に、ユー
ザ・データLHは、第2及び第8の8ビット比較回路4
2,48に、ユーザ・データHLは、第4の8ビット比
較回路44に、ユーザ・データHHは、第6の8ビット
比較回路46にそれぞれ入力される。そして、第1〜第
8の8ビット比較回路41〜48には、それぞれ対応す
るイネーブル信号EN1〜EN8が入力され、各一致信
号EQ1〜EQ8が出力されるようになっている。
ータLLは、第1の8ビット比較回路41に、エミュレ
ーション・データLHは、第2及び第3の8ビット比較
回路42,43に、エミュレーション・データHLは、
第4及び第5の8ビット比較回路44,45に、エミュ
レーション・データHHは、第6、第7及び第8の8ビ
ット比較回路46,47,48にそれぞれ入力される。
一方、ユーザ・データLLは、第1、第3、第5及び第
7の8ビット比較回路41,43,45,47に、ユー
ザ・データLHは、第2及び第8の8ビット比較回路4
2,48に、ユーザ・データHLは、第4の8ビット比
較回路44に、ユーザ・データHHは、第6の8ビット
比較回路46にそれぞれ入力される。そして、第1〜第
8の8ビット比較回路41〜48には、それぞれ対応す
るイネーブル信号EN1〜EN8が入力され、各一致信
号EQ1〜EQ8が出力されるようになっている。
【0019】図4は本発明実施例のエラー出力回路を説
明するブロック図である。
明するブロック図である。
【0020】同図において、エラー検出回路51は、比
較回路23の一部を構成し、第1〜第8の8ビット比較
回路41〜48から出力される一致信号EQ1〜EQ8
を入力して、そのいずれか1つの不一致があれば、エラ
ー信号ERR−を出力する回路である。
較回路23の一部を構成し、第1〜第8の8ビット比較
回路41〜48から出力される一致信号EQ1〜EQ8
を入力して、そのいずれか1つの不一致があれば、エラ
ー信号ERR−を出力する回路である。
【0021】次に、上記構成のメモリ・アクセス・バス
・コンパレータの動作について説明する。
・コンパレータの動作について説明する。
【0022】まず、ホスト・コンピュータ11よりメモ
リ割り付け回路15に割り付けデータを設定する。すな
わち、エミュレーションCPU13が停止時に、ホスト
・アドレス・バス及びホスト・データ・バスに切り替
え、割り付けデータをホスト側よりメモリ割り付け回路
15の割り付け用メモリ等に書き込んでおく。従って、
これはユーザ・メモリがエミュレーション・メモリ14
より大きい場合、エミュレーション・メモリ14がカバ
ーできる大きさに切り出し比較対照にすることができ、
また、エミュレーションCPU13以外からユーザ・メ
モリ12の書き替えを行うような場合(例えば、DMA
転送等)、比較対象外にすることもできる。図5は本発
明実施例のユーザ・メモリ空間をエミュレーション・メ
モリ空間に割り付けた図であり、例えば、ユーザ・メモ
リ12のA空間をエミュレーション・メモリ14のC空
間に、ユーザ・メモリ12のB空間をエミュレーション
・メモリ14のD空間に割り付けている。
リ割り付け回路15に割り付けデータを設定する。すな
わち、エミュレーションCPU13が停止時に、ホスト
・アドレス・バス及びホスト・データ・バスに切り替
え、割り付けデータをホスト側よりメモリ割り付け回路
15の割り付け用メモリ等に書き込んでおく。従って、
これはユーザ・メモリがエミュレーション・メモリ14
より大きい場合、エミュレーション・メモリ14がカバ
ーできる大きさに切り出し比較対照にすることができ、
また、エミュレーションCPU13以外からユーザ・メ
モリ12の書き替えを行うような場合(例えば、DMA
転送等)、比較対象外にすることもできる。図5は本発
明実施例のユーザ・メモリ空間をエミュレーション・メ
モリ空間に割り付けた図であり、例えば、ユーザ・メモ
リ12のA空間をエミュレーション・メモリ14のC空
間に、ユーザ・メモリ12のB空間をエミュレーション
・メモリ14のD空間に割り付けている。
【0023】次に、ホスト・コンピュータ11からユー
ザ・メモリ12に所定のプログラムをロードする。この
とき、メモリ割り付け回路15に設定した割り付けにし
たがって、対応するエミュレーション・メモリ14空間
にも同時にロードする。すなわち、図5の例のように、
ユーザ・メモリ12のA空間及びB空間にプログラムを
ロードすると同時に、それぞれに対応するエミュレーシ
ョン・メモリ14のC空間及びD空間に同一のプログラ
ムをロードする。
ザ・メモリ12に所定のプログラムをロードする。この
とき、メモリ割り付け回路15に設定した割り付けにし
たがって、対応するエミュレーション・メモリ14空間
にも同時にロードする。すなわち、図5の例のように、
ユーザ・メモリ12のA空間及びB空間にプログラムを
ロードすると同時に、それぞれに対応するエミュレーシ
ョン・メモリ14のC空間及びD空間に同一のプログラ
ムをロードする。
【0024】次に、エミュレーションCPU13は、ユ
ーザ・メモリ12のプログラム実行を開始する。例え
ば、エミュレーションCPU13がユーザ・メモリ12
(図5に示したA空間)からユーザ・データ・バスを介
して、コードフェッチを行った場合、このコードフェッ
チのデータは、比較制御部16の一方に入力される。ま
た、同時にエミュレーションCPU13アドレスは、メ
モリ割り付け回路15で(図5に示すC空間アクセスの
ため)エミュレーション・アドレスに変換され、エミュ
レーション・メモリ14は、入力されたエミュレーショ
ン・アドレスのコードを比較制御部16の他方に入力す
る。この比較制御部16は、当然等しいはずの双方のコ
ードの比較を行い、一致していなければエラー信号を出
力し、コードフェッチ時にエラーが発生したことを示
す。上記の動作は、コードフェッチ時を例に説明した
が、データリード時も同様である。このエラー信号が出
力された場合、比較制御部16は、後に詳細に説明する
ように、エラーを起こしたユーザ・データとエミュレー
ション・データを一時保持する。また、エラーデータの
アドレスは、エラーアドレス・ラッチ回路17に一時保
持される。そして、エラー信号は、ホスト・コンピュー
タ11にエラーを通知する他に、他のモジュールのトリ
ガ信号として外部へ出力される。
ーザ・メモリ12のプログラム実行を開始する。例え
ば、エミュレーションCPU13がユーザ・メモリ12
(図5に示したA空間)からユーザ・データ・バスを介
して、コードフェッチを行った場合、このコードフェッ
チのデータは、比較制御部16の一方に入力される。ま
た、同時にエミュレーションCPU13アドレスは、メ
モリ割り付け回路15で(図5に示すC空間アクセスの
ため)エミュレーション・アドレスに変換され、エミュ
レーション・メモリ14は、入力されたエミュレーショ
ン・アドレスのコードを比較制御部16の他方に入力す
る。この比較制御部16は、当然等しいはずの双方のコ
ードの比較を行い、一致していなければエラー信号を出
力し、コードフェッチ時にエラーが発生したことを示
す。上記の動作は、コードフェッチ時を例に説明した
が、データリード時も同様である。このエラー信号が出
力された場合、比較制御部16は、後に詳細に説明する
ように、エラーを起こしたユーザ・データとエミュレー
ション・データを一時保持する。また、エラーデータの
アドレスは、エラーアドレス・ラッチ回路17に一時保
持される。そして、エラー信号は、ホスト・コンピュー
タ11にエラーを通知する他に、他のモジュールのトリ
ガ信号として外部へ出力される。
【0025】プログラム実行中、エミュレーションCP
U13が比較空間対象にライトアクセスを発生した場合
には、データの一致を保つために、ユーザ・メモリ12
とエミュレーション・メモリ14にライトする。このと
きライトされるエミュレーション・メモリ・アドレス
は、コードフェッチやデータリードと同様にメモリ割り
付け回路15によってアドレス変換される。ライトデー
タは、比較制御部16に入力されるが、比較は行われな
い。
U13が比較空間対象にライトアクセスを発生した場合
には、データの一致を保つために、ユーザ・メモリ12
とエミュレーション・メモリ14にライトする。このと
きライトされるエミュレーション・メモリ・アドレス
は、コードフェッチやデータリードと同様にメモリ割り
付け回路15によってアドレス変換される。ライトデー
タは、比較制御部16に入力されるが、比較は行われな
い。
【0026】次に、図2に示す比較制御部16の動作を
説明する。まず、両データ・ラッチ回路21,22は、
制御回路26から出力されるリードタイミング信号で、
エミュレーション・メモリ・データとユーザ・メモリ・
データを一時保持する。比較回路23は、両ラッチデー
タを入力し比較する。この比較回路23でエラーが検出
されると、制御回路26にエラー信号ERR−を出力す
る。この制御回路26は、比較回路23からのエラー信
号の入力で、エラーデータ・ラッチ回路25にラッチ信
号を出力する。また、比較制御部16外にエラー信号の
発生した時点を示す(タイミング)ERR−信号と、エ
ラーの発生を示す通知(エラー信号をラッチした)ER
RL−信号を出力する。デコーダ24は、ホスト・コン
ピュータ11から与えられるアドレスとステータス情報
をデコードして、リード要求やエラークリア要求を各回
路に出力する。エラーデータ・ラッチ回路25は、制御
回路26からのエラー入力でラッチデータを一時保持
し、これをエラーラッチデータとする。また、デコーダ
24からのデコード信号でエラーラッチデータがホスト
・データ・バスに出力される。
説明する。まず、両データ・ラッチ回路21,22は、
制御回路26から出力されるリードタイミング信号で、
エミュレーション・メモリ・データとユーザ・メモリ・
データを一時保持する。比較回路23は、両ラッチデー
タを入力し比較する。この比較回路23でエラーが検出
されると、制御回路26にエラー信号ERR−を出力す
る。この制御回路26は、比較回路23からのエラー信
号の入力で、エラーデータ・ラッチ回路25にラッチ信
号を出力する。また、比較制御部16外にエラー信号の
発生した時点を示す(タイミング)ERR−信号と、エ
ラーの発生を示す通知(エラー信号をラッチした)ER
RL−信号を出力する。デコーダ24は、ホスト・コン
ピュータ11から与えられるアドレスとステータス情報
をデコードして、リード要求やエラークリア要求を各回
路に出力する。エラーデータ・ラッチ回路25は、制御
回路26からのエラー入力でラッチデータを一時保持
し、これをエラーラッチデータとする。また、デコーダ
24からのデコード信号でエラーラッチデータがホスト
・データ・バスに出力される。
【0027】次に、図3に示す比較回路16の動作を説
明する。比較回路16は、8ブロックの8ビット比較回
路41〜48を備え、入力されるバス幅は、最大32ビ
ットであり、これを8ビットずつに分け、下位側からL
L,LH,HL,HHとしている。エミュレーション・
データとユーザ・データのバス幅が同じ場合には、対応
するデータ同士が比較される。例えば、両データ幅が3
2ビットの場合には、それぞれ対応するLL,LH,H
L,HHのデータ同士が比較される。従って、同図に示
す回路においては、第1、第2、第4、第6の8ビット
比較回路41,42,44,46で比較が行われる。お
互いのデータバス幅が異なる場合、例えば、エミュレー
ション・データ・バス幅が32ビット、ユーザ・データ
・バス幅が16ビットのときには、比較動作が2回に分
けられる。すなわち、ユーザ・データLL、LHとエミ
ュレーション・データLL、LHの比較が、第1、第2
の8ビット比較回路41,42で比較が行われ、ついで
ユーザ・データLL、LHとエミュレーション・データ
HL、HHの比較が、第5、第8の8ビット比較回路4
5,48で比較が行われる。このような比較回路23の
第1〜第8の8ビット比較回路41〜48の使い分け
は、エミュレーションCPU13アドレス/ステータス
情報から生成され制御回路26から出力されるイネーブ
ル信号EN1〜EN8で行われる。すなわち、イネーブ
ル信号EN1〜EN8がハイレベルのときに、それぞれ
に対応する8ビット比較回路41〜48が動作する。そ
して、各8ビット比較回路41〜48は、対応するイネ
ーブル信号EN1〜EN8がローレベルのとき、一致信
号EQ1〜EQ8をハイレベルとする。そして、イネー
ブル信号EN1〜EN8がハイレベルのとき、対応する
比較回路する8ビット比較回路41〜48がデータの比
較動作を行い、不一致時に一致信号をローレベルとす
る。
明する。比較回路16は、8ブロックの8ビット比較回
路41〜48を備え、入力されるバス幅は、最大32ビ
ットであり、これを8ビットずつに分け、下位側からL
L,LH,HL,HHとしている。エミュレーション・
データとユーザ・データのバス幅が同じ場合には、対応
するデータ同士が比較される。例えば、両データ幅が3
2ビットの場合には、それぞれ対応するLL,LH,H
L,HHのデータ同士が比較される。従って、同図に示
す回路においては、第1、第2、第4、第6の8ビット
比較回路41,42,44,46で比較が行われる。お
互いのデータバス幅が異なる場合、例えば、エミュレー
ション・データ・バス幅が32ビット、ユーザ・データ
・バス幅が16ビットのときには、比較動作が2回に分
けられる。すなわち、ユーザ・データLL、LHとエミ
ュレーション・データLL、LHの比較が、第1、第2
の8ビット比較回路41,42で比較が行われ、ついで
ユーザ・データLL、LHとエミュレーション・データ
HL、HHの比較が、第5、第8の8ビット比較回路4
5,48で比較が行われる。このような比較回路23の
第1〜第8の8ビット比較回路41〜48の使い分け
は、エミュレーションCPU13アドレス/ステータス
情報から生成され制御回路26から出力されるイネーブ
ル信号EN1〜EN8で行われる。すなわち、イネーブ
ル信号EN1〜EN8がハイレベルのときに、それぞれ
に対応する8ビット比較回路41〜48が動作する。そ
して、各8ビット比較回路41〜48は、対応するイネ
ーブル信号EN1〜EN8がローレベルのとき、一致信
号EQ1〜EQ8をハイレベルとする。そして、イネー
ブル信号EN1〜EN8がハイレベルのとき、対応する
比較回路する8ビット比較回路41〜48がデータの比
較動作を行い、不一致時に一致信号をローレベルとす
る。
【0028】次の、エラー出力回路51では、上記の一
致信号EQ1〜EQ8の内、1つでも不一致があれば、
ERR信号をハイレベルにする。
致信号EQ1〜EQ8の内、1つでも不一致があれば、
ERR信号をハイレベルにする。
【0029】図6は本発明実施例の比較制御部の比較動
作を示すタイムチャートである。
作を示すタイムチャートである。
【0030】まず、入力されたエミュレーション・メモ
リ・データEとユーザ・メモリ・データFとは、エミュ
レーションCPU13のリード/ライトタイミング信号
であるPTIME−信号の立ち上がりで一旦ラッチされ
る(図6のa)。次に、比較回路23は、エミュレーシ
ョン・メモリ・ラッチデータE’とユーザ・メモリ・ラ
ッチ・データF’とを比較し、不一致ならばERR−信
号をローレベルとする(図6のb)。このERR−信号
は、比較データが不一致の間ローレベルとなる(図6の
c)。ERRL−信号は、ERR−信号をPTIME−
信号の立ち上がりでラッチした信号である(図6の
d)。このPTIME−信号は、ホスト・コンピュータ
11からのエラークリア要求があるまで保持される。
リ・データEとユーザ・メモリ・データFとは、エミュ
レーションCPU13のリード/ライトタイミング信号
であるPTIME−信号の立ち上がりで一旦ラッチされ
る(図6のa)。次に、比較回路23は、エミュレーシ
ョン・メモリ・ラッチデータE’とユーザ・メモリ・ラ
ッチ・データF’とを比較し、不一致ならばERR−信
号をローレベルとする(図6のb)。このERR−信号
は、比較データが不一致の間ローレベルとなる(図6の
c)。ERRL−信号は、ERR−信号をPTIME−
信号の立ち上がりでラッチした信号である(図6の
d)。このPTIME−信号は、ホスト・コンピュータ
11からのエラークリア要求があるまで保持される。
【0031】上記構成のメモリ・アクセス・バス・コン
パレータによれば、ユーザ・メモリ12とエミュレーシ
ョン・メモリ14に同じプログラムをダウン・ロード
し、ユーザ・メモリ12のプログラムを実行し、エミュ
レーションCPU13によるライト動作ではユーザ・モ
メリ12とエミュレーション・メモリ14の両メモリに
ライトして両データの一致を保つ。そして、エミュレー
ションCPU13のリード動作時に、比較制御部16の
比較回路23においてユーザ・メモリ12とエミュレー
ション・メモリ14のデータ・バス比較を行い、不一致
の場合に不一致信号を出力し、その不一致のアドレスと
データをエラーアドレス・ラッチ回路17やエラーデー
タ・ラッチ回路25に記憶しておくため、メモリのデー
タ化けやリードミス、あるいはプログラム・ミスを発見
することが容易になる。また、不一致のアドレスとデー
タを記憶しているため、リード・ミスを起こしたアドレ
スやデータの特定ができる。従って、ユーザ・メモリで
動作するターゲット・システムで動作不良が起こった場
合でも、簡単に現象を捕まえることができ、その現象に
あった適切な対処を短時間で行うことができる。
パレータによれば、ユーザ・メモリ12とエミュレーシ
ョン・メモリ14に同じプログラムをダウン・ロード
し、ユーザ・メモリ12のプログラムを実行し、エミュ
レーションCPU13によるライト動作ではユーザ・モ
メリ12とエミュレーション・メモリ14の両メモリに
ライトして両データの一致を保つ。そして、エミュレー
ションCPU13のリード動作時に、比較制御部16の
比較回路23においてユーザ・メモリ12とエミュレー
ション・メモリ14のデータ・バス比較を行い、不一致
の場合に不一致信号を出力し、その不一致のアドレスと
データをエラーアドレス・ラッチ回路17やエラーデー
タ・ラッチ回路25に記憶しておくため、メモリのデー
タ化けやリードミス、あるいはプログラム・ミスを発見
することが容易になる。また、不一致のアドレスとデー
タを記憶しているため、リード・ミスを起こしたアドレ
スやデータの特定ができる。従って、ユーザ・メモリで
動作するターゲット・システムで動作不良が起こった場
合でも、簡単に現象を捕まえることができ、その現象に
あった適切な対処を短時間で行うことができる。
【0032】
【発明の効果】以上詳細に説明したように、本発明によ
れば、エミュレーションCPUによるライト動作でユー
ザ・メモリとエミュレーション・メモリの両メモリにラ
イトして両メモリのデータの一致を保ち、また、ユーザ
・メモリとエミュレーション・メモリ両メモリのデータ
不一致を検出する比較回路を設け、不一致を検出したと
きに、その不一致のアドレスとデータをラッチ回路に記
憶することで、ユーザ・メモリで動作するターゲット・
システムで動作不良が起こった場合でも、メモリのデー
タ化けやリード・ミスによるものか、あるいはプログロ
ム・ミスによるものか簡単に現象を捕まえることがで
き、その現象にあった適切な対処を短時間で行うことが
できる効果がある。
れば、エミュレーションCPUによるライト動作でユー
ザ・メモリとエミュレーション・メモリの両メモリにラ
イトして両メモリのデータの一致を保ち、また、ユーザ
・メモリとエミュレーション・メモリ両メモリのデータ
不一致を検出する比較回路を設け、不一致を検出したと
きに、その不一致のアドレスとデータをラッチ回路に記
憶することで、ユーザ・メモリで動作するターゲット・
システムで動作不良が起こった場合でも、メモリのデー
タ化けやリード・ミスによるものか、あるいはプログロ
ム・ミスによるものか簡単に現象を捕まえることがで
き、その現象にあった適切な対処を短時間で行うことが
できる効果がある。
【図1】本発明実施例のメモリ・アクセス・バス・コン
パレータを説明する全体ブロック図である。
パレータを説明する全体ブロック図である。
【図2】本発明実施例の比較制御部の内部構成を説明す
るブロック図である。
るブロック図である。
【図3】本発明実施例の比較回路の内部構成を説明する
ブロック図である。
ブロック図である。
【図4】本発明実施例のエラー出力回路を説明するブロ
ック図である。
ック図である。
【図5】本発明実施例のユーザ・メモリ空間をエミュレ
ーション・メモリ空間に割り付けた図である。
ーション・メモリ空間に割り付けた図である。
【図6】本発明実施例の比較制御部の比較動作を示すタ
イムチャートである。
イムチャートである。
10 エミュレータ部 11 ホスト・コンピュータ 12 ユーザ・メモリ 13 エミュレーションCPU 14 エミュレーション・メモリ 15 メモリ割り付け回路 16 比較制御部 17 エラーアドレス・ラッチ回路 21,22 データ・ラッチ回路 23 比較回路 24 デコーダ 25 エラーデータ・ラッチ回路 26 制御回路 41〜48 8ビット比較回路 51 エラー出力回路
Claims (1)
- 【請求項1】 ユーザ・メモリの領域から比較対象を抽
出し、エミュレーション・メモリの領域へ割り付けるメ
モリ割り付け回路を有し、該ユーザ・メモリのプログラ
ムをエミュレーションCPUで実行するエミュレーショ
ン・システムにおいて、 前記ユーザ・メモリとエミュレーション・メモリに同じ
プログラムをロードし、前記エミュレーションCPUに
よるライト動作では、前記ユーザ・メモリとエミュレー
ション・メモリの両メモリにライトし、前記エミュレー
ションCPUによるリード動作では、前記ユーザ・メモ
リとエミュレーション・メモリ両メモリのデータ不一致
を検出する比較回路を設けるとともに、その不一致のア
ドレスとデータを記憶するラッチ回路を設けたことを特
徴とするメモリ・アクセス・バス・コンパレータ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4217480A JPH0644098A (ja) | 1992-07-24 | 1992-07-24 | メモリ・アクセス・バス・コンパレータ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4217480A JPH0644098A (ja) | 1992-07-24 | 1992-07-24 | メモリ・アクセス・バス・コンパレータ |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0644098A true JPH0644098A (ja) | 1994-02-18 |
Family
ID=16704897
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4217480A Pending JPH0644098A (ja) | 1992-07-24 | 1992-07-24 | メモリ・アクセス・バス・コンパレータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0644098A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100487407B1 (ko) * | 1998-02-26 | 2005-06-16 | 엘에스산전 주식회사 | 디지탈출력보드고장안전회로 |
KR20160026657A (ko) | 2014-08-28 | 2016-03-09 | 가부시끼가이샤벳세루고우교 | 외부로부터의 전력 공급이 필요 없는 제전제진 장치 |
-
1992
- 1992-07-24 JP JP4217480A patent/JPH0644098A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100487407B1 (ko) * | 1998-02-26 | 2005-06-16 | 엘에스산전 주식회사 | 디지탈출력보드고장안전회로 |
KR20160026657A (ko) | 2014-08-28 | 2016-03-09 | 가부시끼가이샤벳세루고우교 | 외부로부터의 전력 공급이 필요 없는 제전제진 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6052774A (en) | Apparatus and method for identifying exception routines indicated by instruction address issued with an instruction fetch command | |
US7533302B2 (en) | Trace and debug method and system for a processor | |
US9575816B2 (en) | Deadlock/livelock resolution using service processor | |
US5987585A (en) | One-chip microprocessor with error detection on the chip | |
US20070226418A1 (en) | Processor and method for controlling processor | |
JP3202700B2 (ja) | 信号処理装置 | |
KR20200088760A (ko) | 체크섬 생성 | |
JPH11110255A (ja) | ソフトウェアをデバッグするための装置および方法 | |
US8291417B2 (en) | Trace buffer with a processor | |
JPH0644098A (ja) | メモリ・アクセス・バス・コンパレータ | |
JPS60159951A (ja) | 情報処理装置におけるトレ−ス方式 | |
JP3419392B2 (ja) | メモリアクセス監視装置、メモリアクセス監視方法およびメモリアクセス監視用プログラムを記録した記録媒体 | |
JPH08171504A (ja) | エミュレ−ション装置 | |
KR100525537B1 (ko) | 인터럽트를 이용한 응용 프로그램의 에러검출장치 및 방법. | |
JPH0581087A (ja) | プロセサのモニタ方式 | |
US20040107388A1 (en) | Microcomputer | |
JP2967741B2 (ja) | Cpu互換性テスト装置 | |
JP3590289B2 (ja) | イベント検出回路 | |
JP2902861B2 (ja) | トレース機能付バッファ装置 | |
JP2729126B2 (ja) | デバッグ・システムのアドレス・トレース回路 | |
JP2001005689A (ja) | トレース採取回路 | |
JPH07253908A (ja) | メモリアクセス装置 | |
JPH0512061A (ja) | アドレストレース記憶装置 | |
JP2000353109A (ja) | エミュレータ及びエミュレーションシステム | |
JP2002091795A (ja) | キャッシュ制御装置 |