JP2601894B2 - エミュレータ - Google Patents
エミュレータInfo
- Publication number
- JP2601894B2 JP2601894B2 JP63328579A JP32857988A JP2601894B2 JP 2601894 B2 JP2601894 B2 JP 2601894B2 JP 63328579 A JP63328579 A JP 63328579A JP 32857988 A JP32857988 A JP 32857988A JP 2601894 B2 JP2601894 B2 JP 2601894B2
- Authority
- JP
- Japan
- Prior art keywords
- cache memory
- memory
- signal
- data
- counter
- 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 - Lifetime
Links
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明はエミュレータさらにはターゲットシステムに
含まれるキャッシュメモリの性能を評価するための技術
に関し、例えばインサーキットエミュレータに適用して
有効な技術に関するものである。
含まれるキャッシュメモリの性能を評価するための技術
に関し、例えばインサーキットエミュレータに適用して
有効な技術に関するものである。
マイクロコンピュータ応用機器(以下単にターゲット
システムとも記す)の開発において、そのシステムデバ
ッグやシステム評価を行うためのエミュレータは、ター
ゲットシステムのためのマイクロコンピュータもしくは
マイクロプロセッサ(以下単にターゲットプロセッサと
も記す)の機能を代行しながらソフトウェアデバッグも
しくはシステムデバッグを支援する。
システムとも記す)の開発において、そのシステムデバ
ッグやシステム評価を行うためのエミュレータは、ター
ゲットシステムのためのマイクロコンピュータもしくは
マイクロプロセッサ(以下単にターゲットプロセッサと
も記す)の機能を代行しながらソフトウェアデバッグも
しくはシステムデバッグを支援する。
エミュレータ例えばスタンドアロン型のインサーキッ
トエミュレータは、ターゲットプロセッサと同等のマイ
クロコンピュータやプロセッサ(以下単にエミュレーシ
ョンプロセッサとも記す)を備え、ターゲットシステム
におけるターゲットプロセッサ搭載領域にコネクタやケ
ーブルを介してインタフェースされ、このエミュレーシ
ョンプロセッサにソフトウェアデバッグ対象とされるプ
ログラムを実行させてターゲットシステムを代行制御す
る。このとき、デバッグ対象プログラムの内容を任意に
変更したりして、その制御状態をトレースし、所定のブ
レークポイントでそのトレース結果を確認可能にしなが
らターゲットシステムのソフトウェアデバッグもしくは
システムデバッグを支援する。
トエミュレータは、ターゲットプロセッサと同等のマイ
クロコンピュータやプロセッサ(以下単にエミュレーシ
ョンプロセッサとも記す)を備え、ターゲットシステム
におけるターゲットプロセッサ搭載領域にコネクタやケ
ーブルを介してインタフェースされ、このエミュレーシ
ョンプロセッサにソフトウェアデバッグ対象とされるプ
ログラムを実行させてターゲットシステムを代行制御す
る。このとき、デバッグ対象プログラムの内容を任意に
変更したりして、その制御状態をトレースし、所定のブ
レークポイントでそのトレース結果を確認可能にしなが
らターゲットシステムのソフトウェアデバッグもしくは
システムデバッグを支援する。
ところで、ターゲットシステムの中には所謂キャッシ
ュメモリ方式を採用するものがある。このキャッシュメ
モリ方式においては、ダイナミックRAM(ランダム・ア
クセス・メモリ)から成るような大容量且つ低速のメイ
ンメモリの格納データの内、プロセッサによるアクセス
頻度の高いデータを、小容量且つ高速のスタテイックRA
Mから成るようなキャッシュメモリにも格納しておき、
双方が共通するデータに対してプロセッサはそのキャッ
シュメモリをアクセスすることによって、高速に必要な
情報を得ることが可能になる。このようなキャッシュメ
モリを利用したシステムにおいては、プロセッサがアク
セスしようとするデータをキャッシュメモリが保有して
いる場合には(キャッシュヒット)必要なデータを高速
に取得することができるが、保有していない場合には
(キャッシュミス)プロセッサは低速なメインメモリを
アクセスしなければならない。このため、メインメモリ
及びキャッシュメモリの総アクセス回数に対するキャッ
シュメモリのアクセル回数の割合(以下単にキャッシュ
ヒット率とも記す)を高くすることがシステム動作を効
率化する上において必要とされる。
ュメモリ方式を採用するものがある。このキャッシュメ
モリ方式においては、ダイナミックRAM(ランダム・ア
クセス・メモリ)から成るような大容量且つ低速のメイ
ンメモリの格納データの内、プロセッサによるアクセス
頻度の高いデータを、小容量且つ高速のスタテイックRA
Mから成るようなキャッシュメモリにも格納しておき、
双方が共通するデータに対してプロセッサはそのキャッ
シュメモリをアクセスすることによって、高速に必要な
情報を得ることが可能になる。このようなキャッシュメ
モリを利用したシステムにおいては、プロセッサがアク
セスしようとするデータをキャッシュメモリが保有して
いる場合には(キャッシュヒット)必要なデータを高速
に取得することができるが、保有していない場合には
(キャッシュミス)プロセッサは低速なメインメモリを
アクセスしなければならない。このため、メインメモリ
及びキャッシュメモリの総アクセス回数に対するキャッ
シュメモリのアクセル回数の割合(以下単にキャッシュ
ヒット率とも記す)を高くすることがシステム動作を効
率化する上において必要とされる。
尚、エミュレータについて記載されたものの例として
は特願昭61-276504号がある。
は特願昭61-276504号がある。
しかしながら、従来のエミュレータにはキャッシュメ
モリの性能即ちキャッシュヒット率を評価するための構
成が備えられていなかった。このため、キャッシュメモ
リを利用したシステムに対しては、キャッシュメモリの
記憶容量やその格納データの更新アルゴリズムなどに対
して適切な評価を行うことができないという問題点のあ
ることが本発明者によって明らかにされた。
モリの性能即ちキャッシュヒット率を評価するための構
成が備えられていなかった。このため、キャッシュメモ
リを利用したシステムに対しては、キャッシュメモリの
記憶容量やその格納データの更新アルゴリズムなどに対
して適切な評価を行うことができないという問題点のあ
ることが本発明者によって明らかにされた。
本発明の目的は、キャッシュメモリシステムの性能の
対しても適切な評価を行うことができるエミュレータを
提供することにある。
対しても適切な評価を行うことができるエミュレータを
提供することにある。
本発明の前記ならびにそのほかの目的と新規な特徴
は、本明細書の記述及び添付図面から明らかになるであ
ろう。
は、本明細書の記述及び添付図面から明らかになるであ
ろう。
本願において開示される発明のうち代表的なものの概
要を簡単に説明すれば下記の通りである。
要を簡単に説明すれば下記の通りである。
すなわち、キャッシュヒット率を得るための情報をデ
バッグ対象プログラムの実行中に順次蓄えるキャッシュ
メモリ評価用計測回路を設けてエミュレータを構成する
ものである。
バッグ対象プログラムの実行中に順次蓄えるキャッシュ
メモリ評価用計測回路を設けてエミュレータを構成する
ものである。
キャッシュヒット率を得るための情報を、メインメモ
リ及びキャッシュメモリをアクセスするためのバス制御
信号のアサート期間の相違に基づいて取得する場合に
は、上記キャッシュメモリ評価用計測回路は、エミュレ
ーションプロセッサがメモリアクセス制御毎にアサート
する所定のバス制御信号のアサート回数を計数する第1
計数手段、上記バス制御信号のアサート期間がキャッシ
ュメモリのアクセス制御に応ずる期間を超えたことを検
出するための検出手段、更にこの検出手段による検出回
数を計数する第2計数手段を含めて構成することができ
る。
リ及びキャッシュメモリをアクセスするためのバス制御
信号のアサート期間の相違に基づいて取得する場合に
は、上記キャッシュメモリ評価用計測回路は、エミュレ
ーションプロセッサがメモリアクセス制御毎にアサート
する所定のバス制御信号のアサート回数を計数する第1
計数手段、上記バス制御信号のアサート期間がキャッシ
ュメモリのアクセス制御に応ずる期間を超えたことを検
出するための検出手段、更にこの検出手段による検出回
数を計数する第2計数手段を含めて構成することができ
る。
このとき、上記検出手段による検出動作をプログラマ
ブル化するには、クロック信号のサイクル数を任意に設
定可能なデータレジスタと、上記所定のバス制御信号の
アサート変化に同期して上記データレジスタの設定値を
起点に上記クロック信号サイクル数の計数を開始し、そ
の計数値が所定の基準値に達したとき、上記第2計数手
段に検出信号をアサートする第3計数手段とを含めて上
記検出手段を構成することができる。
ブル化するには、クロック信号のサイクル数を任意に設
定可能なデータレジスタと、上記所定のバス制御信号の
アサート変化に同期して上記データレジスタの設定値を
起点に上記クロック信号サイクル数の計数を開始し、そ
の計数値が所定の基準値に達したとき、上記第2計数手
段に検出信号をアサートする第3計数手段とを含めて上
記検出手段を構成することができる。
上記した手段によれば、ユーザプログラムの実行中、
キャッシュメモリ評価用計測回路は、上記メインメモリ
及びキャッシュメモリの総アクセス回数と、キャッシュ
メモリのアクセス回数又はメインメモリのアクセス回数
とを夫々計測して蓄え、蓄えた情報を、ユーザプログラ
ムの実行停止時にホストシステムに読み取り可能とす
る。このようにキャッシュヒット率を得る為の情報の取
得を可能とすることが、キャッシュメモリの性能に対し
ても適切な評価を行うことができるようにする。
キャッシュメモリ評価用計測回路は、上記メインメモリ
及びキャッシュメモリの総アクセス回数と、キャッシュ
メモリのアクセス回数又はメインメモリのアクセス回数
とを夫々計測して蓄え、蓄えた情報を、ユーザプログラ
ムの実行停止時にホストシステムに読み取り可能とす
る。このようにキャッシュヒット率を得る為の情報の取
得を可能とすることが、キャッシュメモリの性能に対し
ても適切な評価を行うことができるようにする。
第3図には本発明の一実施例であるインサーキットエ
ミュレータのブロック図が示されている。同図に示され
るインサーキットエミュレータ1は、特に制限されない
が、エミュレーションバス2を介してターゲットシステ
ム3のターゲットプロセッサ搭載領域4に結合される。
このエミュレーシヨンバス2には、図示しないターゲッ
トプロセッサと同等の制御機能を持つエミュレーション
プロセッサ5が結合されている。このエミュレーション
プロセッサ5は、ユーザプログラムを実行しながらター
ゲットシステム3を代行制御する。更に、上記エミュレ
ーションバス2には、ターゲットシステム3におけるデ
ータメモリやプログラムメモリなどを代行するためのRA
Mで成るような代行メモリ並びにエミュレーションの開
始条件などが設定されるコントロールレジスタなどを含
むエミュレーション回路6と、エミュレーションプロセ
ッサ5の制御状態やエミュレーションバス2の状態を監
視してその状態が予め設定されている状態に到達したと
きにエミュレーション動作をブレークするためのブレー
クコントロール回路7と、エミュレーションバス2に与
えられるデータやアドレスさらには制御情報を逐次トレ
ースして蓄えるトレース回路8と、ターゲットシステム
3にキャッシュメモリが含まれる場合にそのキャッシュ
メモリに対するキャッシュヒット率を得るための情報を
デバッグ対象プログラムの実行中即ちエミュレーション
動作中に順次蓄えるキャッシュメモリ評価用計測回路9
などが夫々結合される。また、上記エミュレーション回
路6、ブレークコントロール回路7、トレース回路8、
及びキャッシュメモリ評価用計測回路9などは、コント
ロールバス10を通じてホストプロセッサ11の制御を受け
るようになっている。このコントロールバス10はホスト
インタフェース12を介してシステム開発装置13と接続さ
れ、上記ホストプロセッサ11はそのシステム開発装置13
から与えられるコマンドや各種制御情報に基づいてエミ
ュレータ1を制御する。
ミュレータのブロック図が示されている。同図に示され
るインサーキットエミュレータ1は、特に制限されない
が、エミュレーションバス2を介してターゲットシステ
ム3のターゲットプロセッサ搭載領域4に結合される。
このエミュレーシヨンバス2には、図示しないターゲッ
トプロセッサと同等の制御機能を持つエミュレーション
プロセッサ5が結合されている。このエミュレーション
プロセッサ5は、ユーザプログラムを実行しながらター
ゲットシステム3を代行制御する。更に、上記エミュレ
ーションバス2には、ターゲットシステム3におけるデ
ータメモリやプログラムメモリなどを代行するためのRA
Mで成るような代行メモリ並びにエミュレーションの開
始条件などが設定されるコントロールレジスタなどを含
むエミュレーション回路6と、エミュレーションプロセ
ッサ5の制御状態やエミュレーションバス2の状態を監
視してその状態が予め設定されている状態に到達したと
きにエミュレーション動作をブレークするためのブレー
クコントロール回路7と、エミュレーションバス2に与
えられるデータやアドレスさらには制御情報を逐次トレ
ースして蓄えるトレース回路8と、ターゲットシステム
3にキャッシュメモリが含まれる場合にそのキャッシュ
メモリに対するキャッシュヒット率を得るための情報を
デバッグ対象プログラムの実行中即ちエミュレーション
動作中に順次蓄えるキャッシュメモリ評価用計測回路9
などが夫々結合される。また、上記エミュレーション回
路6、ブレークコントロール回路7、トレース回路8、
及びキャッシュメモリ評価用計測回路9などは、コント
ロールバス10を通じてホストプロセッサ11の制御を受け
るようになっている。このコントロールバス10はホスト
インタフェース12を介してシステム開発装置13と接続さ
れ、上記ホストプロセッサ11はそのシステム開発装置13
から与えられるコマンドや各種制御情報に基づいてエミ
ュレータ1を制御する。
第1図には上記エミュレータ1におけるキャッシュメ
モリ評価用計測回路9の一例と、ターゲットシステム3
の一例が示される。
モリ評価用計測回路9の一例と、ターゲットシステム3
の一例が示される。
ここで先ず、ターゲットシステム3には、ダイナミッ
クRAMから成るような大容量且つ低速のメインメモリ20
と、このメインメモリ20に含まれるデータの内アクセス
頻度の高いデータを格納する小容量且つ高速のスタテイ
ックRAMから成るようなキャッシュメモリ21と、メイン
メモリ20及びキャッシュメモリ21をキャッシュメモリ方
式でアクセス制御するためのアクセス制御回路22が代表
的に示される。
クRAMから成るような大容量且つ低速のメインメモリ20
と、このメインメモリ20に含まれるデータの内アクセス
頻度の高いデータを格納する小容量且つ高速のスタテイ
ックRAMから成るようなキャッシュメモリ21と、メイン
メモリ20及びキャッシュメモリ21をキャッシュメモリ方
式でアクセス制御するためのアクセス制御回路22が代表
的に示される。
アクセス制御回路22は、特に制限されないが、プロセ
ッサから出力される論理アドレスを物理アドレスに変換
して出力するアドレス変換バッファのような連想記憶構
造のアドレス変換手段22Aと、メインメモリ20とキャッ
シュメモリ21が共有するデータに関する物理アドレスの
テーブルを持ち、アドレス変換手段22Aから供給される
物理アドレスに一致する物理アドレスがそのテーブルに
設定されているか否かを判断する判別手段22Bと、この
判別手段22Bによる判別結果などに従って上記メインメ
モリ20及びキャッシュメモリ21のためのアクセス制御信
号やさらには判別手段22Bが保有するテーブルの更新の
ための制御信号などを形成する制御信号生成手段22Cと
を含む。上記アドレス変換手段22Aで形成された物理ア
ドレス信号はアドレスバスABを介してメインメモリ20や
キャッシュメモリ21に供給可能とされる。また、制御信
号生成手段22Cで形成されるアクセス制御信号はアクセ
ス制御バスACBを介してメインメモリ20やキャッシュメ
モリ21に供給可能とされる。メインメモリ20やキャッシ
ュメモリ21のデータ入出力端子はデータバスDBに結合さ
れてる。
ッサから出力される論理アドレスを物理アドレスに変換
して出力するアドレス変換バッファのような連想記憶構
造のアドレス変換手段22Aと、メインメモリ20とキャッ
シュメモリ21が共有するデータに関する物理アドレスの
テーブルを持ち、アドレス変換手段22Aから供給される
物理アドレスに一致する物理アドレスがそのテーブルに
設定されているか否かを判断する判別手段22Bと、この
判別手段22Bによる判別結果などに従って上記メインメ
モリ20及びキャッシュメモリ21のためのアクセス制御信
号やさらには判別手段22Bが保有するテーブルの更新の
ための制御信号などを形成する制御信号生成手段22Cと
を含む。上記アドレス変換手段22Aで形成された物理ア
ドレス信号はアドレスバスABを介してメインメモリ20や
キャッシュメモリ21に供給可能とされる。また、制御信
号生成手段22Cで形成されるアクセス制御信号はアクセ
ス制御バスACBを介してメインメモリ20やキャッシュメ
モリ21に供給可能とされる。メインメモリ20やキャッシ
ュメモリ21のデータ入出力端子はデータバスDBに結合さ
れてる。
ターゲットシステム3において、メモリ書き込み動作
が指示されると、メインメモリ20とキャッシュメモリ21
の双方に所定のデータが書き込まれ、そのときの物理ア
ドレスは判別手段22Bが保有するテーブルに設定され
る。
が指示されると、メインメモリ20とキャッシュメモリ21
の双方に所定のデータが書き込まれ、そのときの物理ア
ドレスは判別手段22Bが保有するテーブルに設定され
る。
ターゲットシステム3においてメモリ読み出し動作が
指示される場合、プロセッサがリード・アクセスしよう
とするデータをキャッシュメモリ21が保有しているとき
には(キャッシュヒット)、上記制御信号生成手段22C
は、キャッシュメモリ21のリード動作を選択し、且つメ
インメモリ20の動作を非選択とするような各種制御信号
を所定のタイミングで生成する。プロセッサがリード・
アクセスしようとするデータをキャッシュメモリ21が保
有していないときには(キャッシュミス)、上記制御信
号生成手段22Cは、キャッシュメモリ21の動作を非選択
し、その代わりにメインメモリ20のリード動作を選択と
するような各種制御信号を所定のタイミングで生成す
る。制御信号生成手段22Cは、キャッシュミスの場合
に、メモリメモリ20から読み出されるデータをキャッシ
ュめもり21に書き込み制御すると共に、判別手段22Bが
保有するテーブルの内容をそれに応じて更新制御するこ
とができる。
指示される場合、プロセッサがリード・アクセスしよう
とするデータをキャッシュメモリ21が保有しているとき
には(キャッシュヒット)、上記制御信号生成手段22C
は、キャッシュメモリ21のリード動作を選択し、且つメ
インメモリ20の動作を非選択とするような各種制御信号
を所定のタイミングで生成する。プロセッサがリード・
アクセスしようとするデータをキャッシュメモリ21が保
有していないときには(キャッシュミス)、上記制御信
号生成手段22Cは、キャッシュメモリ21の動作を非選択
し、その代わりにメインメモリ20のリード動作を選択と
するような各種制御信号を所定のタイミングで生成す
る。制御信号生成手段22Cは、キャッシュミスの場合
に、メモリメモリ20から読み出されるデータをキャッシ
ュめもり21に書き込み制御すると共に、判別手段22Bが
保有するテーブルの内容をそれに応じて更新制御するこ
とができる。
ここで、上記メインメモリ20及びキャッシュメモリ21
はプロセッサによって非同期バス制御されるようになっ
ている。例えば、プロセッサはメモリアクセスサイクル
を起動するとき所定のタイミングでデータストローブ信
号DSをローレベルにアサートする。メモリサイクルが起
動されたとき、メインメモリ20やキャッシュメモリ21
は、特に制限されないが、読み出しデータがデータバス
DBで確定するタイミングに呼応してデータ・アクノレッ
ジ信号DTACKをアサートする。書き込み動作の場合に
は、低速メモリとしてのメインメモリ20によるデータの
書き込み後にデータ・アクノレッジ信号DTACKがアサー
トされる。このデータ・アクノレッジ信号DTACKなどの
制御信号はコントロールバスCBを通じてプロセッサに与
えられる。プロセッサは、データ・アクノレッジ信号DT
ACKのアサート状態を検出することにより、データスト
ローブ信号DSをネゲートしてバスサイクルを終了する。
従って、本実施例においてデータストローブ信号DSは、
プロセッサが起動するバスサイクルの長さに従ってその
アサート期間が変化される信号とみなされる。
はプロセッサによって非同期バス制御されるようになっ
ている。例えば、プロセッサはメモリアクセスサイクル
を起動するとき所定のタイミングでデータストローブ信
号DSをローレベルにアサートする。メモリサイクルが起
動されたとき、メインメモリ20やキャッシュメモリ21
は、特に制限されないが、読み出しデータがデータバス
DBで確定するタイミングに呼応してデータ・アクノレッ
ジ信号DTACKをアサートする。書き込み動作の場合に
は、低速メモリとしてのメインメモリ20によるデータの
書き込み後にデータ・アクノレッジ信号DTACKがアサー
トされる。このデータ・アクノレッジ信号DTACKなどの
制御信号はコントロールバスCBを通じてプロセッサに与
えられる。プロセッサは、データ・アクノレッジ信号DT
ACKのアサート状態を検出することにより、データスト
ローブ信号DSをネゲートしてバスサイクルを終了する。
従って、本実施例においてデータストローブ信号DSは、
プロセッサが起動するバスサイクルの長さに従ってその
アサート期間が変化される信号とみなされる。
ターゲットプロセッサ搭載領域4を介して上記ターゲ
ットシステム3とインタフェースされるエミュレーショ
ンバス2は、特に制限されないが、上記データバスDBに
接続されるエミュレーションデータバスEDB、ターゲッ
トシステム3のコントロールバスCBに接続されるエミュ
レーションコントロールバスECB、上記アクセス制御回
路22のアドレス変換手段22AAに論理アドレス信号を供給
するためのエミュレーションアドレスバスEABによって
構成される。
ットシステム3とインタフェースされるエミュレーショ
ンバス2は、特に制限されないが、上記データバスDBに
接続されるエミュレーションデータバスEDB、ターゲッ
トシステム3のコントロールバスCBに接続されるエミュ
レーションコントロールバスECB、上記アクセス制御回
路22のアドレス変換手段22AAに論理アドレス信号を供給
するためのエミュレーションアドレスバスEABによって
構成される。
上記キャッシュメモリ評価用計測回路9は、特に制限
されないが、エミュレーションプロセッサ5がメモリア
クセス制御毎にアサートする所定のバス制御信号例えば
データストローブ信号DSのアサート回数を計数する第1
カウンタ24を有する。このデータストローブ信号DSは、
既述のように非同期バス制御信号の一種とされ、エミュ
レショーンプロセッサ5が起動するバスサイクルの長さ
に従ってそのアサート期間が変化される信号とされる。
したがって、低速のメインメモリ20がアクセスされる場
合にデータストローブ信号DSのアサート期間は相対的に
長くされ、また、高速のキャッシュメモリ21だけがアク
セスされる場合にデータストローブ信号DSのアサート期
間は相対的に短くされる。
されないが、エミュレーションプロセッサ5がメモリア
クセス制御毎にアサートする所定のバス制御信号例えば
データストローブ信号DSのアサート回数を計数する第1
カウンタ24を有する。このデータストローブ信号DSは、
既述のように非同期バス制御信号の一種とされ、エミュ
レショーンプロセッサ5が起動するバスサイクルの長さ
に従ってそのアサート期間が変化される信号とされる。
したがって、低速のメインメモリ20がアクセスされる場
合にデータストローブ信号DSのアサート期間は相対的に
長くされ、また、高速のキャッシュメモリ21だけがアク
セスされる場合にデータストローブ信号DSのアサート期
間は相対的に短くされる。
斯るデータストローブ信号DSのアサート期間の相違に
基づいてメインメモリ20に対するリード動作とキャッシ
ュメモリ21に対するリード動作とを区別するため、例え
ば、データレジスタ25、第3カウンタ26、ノアゲート2
7、及びセット・リセット型のフリップフロップ28から
成るワンショットマルチバイブレータが設けられてい
る。このワンショットマルチバイブレータは、データス
トローブ信号DSのアサート期間がキャッシュメモリ21の
アサート期間を超えたことを検出するための検出手段、
言い換えるなら、その時のメモリサイクルがメインメモ
リ20をアクセスするサイクルであることを検出するため
の検出手段とされる。
基づいてメインメモリ20に対するリード動作とキャッシ
ュメモリ21に対するリード動作とを区別するため、例え
ば、データレジスタ25、第3カウンタ26、ノアゲート2
7、及びセット・リセット型のフリップフロップ28から
成るワンショットマルチバイブレータが設けられてい
る。このワンショットマルチバイブレータは、データス
トローブ信号DSのアサート期間がキャッシュメモリ21の
アサート期間を超えたことを検出するための検出手段、
言い換えるなら、その時のメモリサイクルがメインメモ
リ20をアクセスするサイクルであることを検出するため
の検出手段とされる。
上記データレジスタ25にはエミュレーションプロセッ
サ5の動作クロック信号CLKの所要サイクル数が設定さ
れる。例えば、キャッシュメモリ21をアクセスするとき
にアサートされるデータストローブ信号DSのアサート期
間に呼応する動作クロック信号サイクル数に1を加算し
た値が設定される。この設定動作はコンノロールバス10
を通じて上記ホストプロセッ11が行う。
サ5の動作クロック信号CLKの所要サイクル数が設定さ
れる。例えば、キャッシュメモリ21をアクセスするとき
にアサートされるデータストローブ信号DSのアサート期
間に呼応する動作クロック信号サイクル数に1を加算し
た値が設定される。この設定動作はコンノロールバス10
を通じて上記ホストプロセッ11が行う。
上記第3カウンタ26はロード機能付きダウンカウンタ
とされ、その計数値が「0」に変化されるとボロー出力
信号RCをハイレベルにアサーする。上記フリップフロッ
プ28のセット端子Sにはボロー出力信号RCが供給され、
リセット端子Rにはデータストローブ信号DSが供給され
る。上記ノアゲート27には、フリップフロップ28の出力
端子Qから得られる信号とデータストローブ信号DSが2
入力され、ロード信号LOADを生成する。このロード信号
LOADがローレベルにされているとき、第3カウンタ26に
はデータレジスタ25の設定値がロードされると共に、第
3カウンタ26は計数動作を停止している。この状態にお
いて上記ボロー出力信号RCはローレベルにネゲートされ
ている。少なくともデータストローブ信号DSがハイレベ
ルにネゲートされているとき、ロード信号LOADはローレ
ベルとされ、且つボロー出力信号RCはローレベルにネゲ
ートされている。したがって、この状態においてフリッ
プフロップ28はリセット状態を採り、フリップフロップ
28の出力端子Qはローレベルにされている。この状態で
データストローブ信号DSがローレベルにアサートされる
と、ロード信号LOADがハイレベルとされ、これによって
第3カウンタ26は、動作クロック信号CLKの立ち下がり
変化に同期して初期ロード値をダウンカウントしてい
く。計数値が「0」になったとき、ボロー出力信号RCが
ハイレベルにアサートされることによってフリップフロ
ップ28がセット状態にされ、これに呼応してロード信号
LOADがローレベルに変化される。第3カウンタ26は、ロ
ード信号LOADがローレベルに変化されると、その計数動
作を停止すると共に、データレジスタ25からデータのロ
ードを受ける。このデータがロードされると、ボロー出
力信号RCはローレベルに戻されるが、フリップフロップ
28の出力端子Qレベルはこのフリップフロップ28がデー
タストローブ信号DSによってリセットされるまで維持さ
れるから、その後データストローブ信号DSのアサート期
間がいくら長くても第3カウンタ26は当該メモリサイク
ル中に再度計数動作を開始することはない。即ち、デー
タストローブ信号DSの1回のアサート期間においてボロ
ー出力信号RCは1回だけハイレベルに変化される。一
方、キャッシュメモリ21をアクセス対象とする場合のよ
うに第3カウンタ26の計数値が「0」になる前にデータ
ストローブ信号DSがネゲートされる場合には、ボロー出
力信号RCはハイレベルにアサートされない。第3カウン
タ26は、そのデータストローブ信号DSのネゲートに呼応
してロード信号LOADがローレベルに変化されることによ
り、計数動作を停止する。尚、上記動作クロック信号CL
Kは発振回路30から供給される。
とされ、その計数値が「0」に変化されるとボロー出力
信号RCをハイレベルにアサーする。上記フリップフロッ
プ28のセット端子Sにはボロー出力信号RCが供給され、
リセット端子Rにはデータストローブ信号DSが供給され
る。上記ノアゲート27には、フリップフロップ28の出力
端子Qから得られる信号とデータストローブ信号DSが2
入力され、ロード信号LOADを生成する。このロード信号
LOADがローレベルにされているとき、第3カウンタ26に
はデータレジスタ25の設定値がロードされると共に、第
3カウンタ26は計数動作を停止している。この状態にお
いて上記ボロー出力信号RCはローレベルにネゲートされ
ている。少なくともデータストローブ信号DSがハイレベ
ルにネゲートされているとき、ロード信号LOADはローレ
ベルとされ、且つボロー出力信号RCはローレベルにネゲ
ートされている。したがって、この状態においてフリッ
プフロップ28はリセット状態を採り、フリップフロップ
28の出力端子Qはローレベルにされている。この状態で
データストローブ信号DSがローレベルにアサートされる
と、ロード信号LOADがハイレベルとされ、これによって
第3カウンタ26は、動作クロック信号CLKの立ち下がり
変化に同期して初期ロード値をダウンカウントしてい
く。計数値が「0」になったとき、ボロー出力信号RCが
ハイレベルにアサートされることによってフリップフロ
ップ28がセット状態にされ、これに呼応してロード信号
LOADがローレベルに変化される。第3カウンタ26は、ロ
ード信号LOADがローレベルに変化されると、その計数動
作を停止すると共に、データレジスタ25からデータのロ
ードを受ける。このデータがロードされると、ボロー出
力信号RCはローレベルに戻されるが、フリップフロップ
28の出力端子Qレベルはこのフリップフロップ28がデー
タストローブ信号DSによってリセットされるまで維持さ
れるから、その後データストローブ信号DSのアサート期
間がいくら長くても第3カウンタ26は当該メモリサイク
ル中に再度計数動作を開始することはない。即ち、デー
タストローブ信号DSの1回のアサート期間においてボロ
ー出力信号RCは1回だけハイレベルに変化される。一
方、キャッシュメモリ21をアクセス対象とする場合のよ
うに第3カウンタ26の計数値が「0」になる前にデータ
ストローブ信号DSがネゲートされる場合には、ボロー出
力信号RCはハイレベルにアサートされない。第3カウン
タ26は、そのデータストローブ信号DSのネゲートに呼応
してロード信号LOADがローレベルに変化されることによ
り、計数動作を停止する。尚、上記動作クロック信号CL
Kは発振回路30から供給される。
第1図において29は上記第3カウンタ26から出力され
るボロー出力信号RCのアサート回数を計数する第2カウ
ンタである。即ち、この第2カウンタ29はメインメモリ
20に対するアクセス回数を計数する。
るボロー出力信号RCのアサート回数を計数する第2カウ
ンタである。即ち、この第2カウンタ29はメインメモリ
20に対するアクセス回数を計数する。
第2カウンタ29は上記第1カウンタ24及びデータレジ
スタ25と共にコントロールバス10を通じてホストプロセ
ッサ11が任意にアクセスすることができるようになって
いる。例えば、第2カウンタ29及び第1カウンタ24のデ
ータ出力端子とデータレジスタ25のデータ入力端子はホ
ストデータバスHDBに接続されると共に、それら第2カ
ウンタ29、第1カウンタ24、及びデータレジスタ25には
固有のアドレスが割り当てられ、ホストアドレスバスHA
Bから供給されるアドレス信号とホストコントロールバ
スHCBから与えられるアクセス制御信号に基づいて夫々
の動作が選択制御されることにより、ホストプロセッサ
11は、データレジスタ25に対するデータ設定と、第1カ
ウンタ24及び第2カウンタ29に対する計数値の読み出し
を可能とする。尚、第1カウンタ24や第2カウンタ29の
計数値に対してはホストコントロールバスHCBを通じて
ホストプロセッサ11がリセットすることができる。
スタ25と共にコントロールバス10を通じてホストプロセ
ッサ11が任意にアクセスすることができるようになって
いる。例えば、第2カウンタ29及び第1カウンタ24のデ
ータ出力端子とデータレジスタ25のデータ入力端子はホ
ストデータバスHDBに接続されると共に、それら第2カ
ウンタ29、第1カウンタ24、及びデータレジスタ25には
固有のアドレスが割り当てられ、ホストアドレスバスHA
Bから供給されるアドレス信号とホストコントロールバ
スHCBから与えられるアクセス制御信号に基づいて夫々
の動作が選択制御されることにより、ホストプロセッサ
11は、データレジスタ25に対するデータ設定と、第1カ
ウンタ24及び第2カウンタ29に対する計数値の読み出し
を可能とする。尚、第1カウンタ24や第2カウンタ29の
計数値に対してはホストコントロールバスHCBを通じて
ホストプロセッサ11がリセットすることができる。
次に上記実施例の動作を説明する。
ソフトウェアデバッグ対象とされるユーザプログラム
においてキャッシュメモリ21の利用効率が問題とされる
ような一連の処理ルーチンを含むソフトウェアの評価に
当たって、先ずその評価対象とされる処理で利用される
ようなデータは、キャッシュメモリ21の記憶容量やメイ
ンメモリ20及びキャッシュメモリ21に対するデータの更
新アルゴリズムに従って一応書き込まれている。このよ
うな状態を基準にしてキャッシュヒット率を計測するた
めには、ホストプロセッサ11の制御を介して予めデータ
レジスタ25に所定の値を設定しておく。例えばキャッシ
ュメモリ21のアクセスサイクルにおけるデータストロー
ブ信号DSのアサート期間が動作クロック信号CLKの3サ
イクルに相当する場合、そのデータレジスタ25に初期デ
ータ「4」を設定する。この状態で所定のプログラムア
ドレスからユーザプログラムを実行する。
においてキャッシュメモリ21の利用効率が問題とされる
ような一連の処理ルーチンを含むソフトウェアの評価に
当たって、先ずその評価対象とされる処理で利用される
ようなデータは、キャッシュメモリ21の記憶容量やメイ
ンメモリ20及びキャッシュメモリ21に対するデータの更
新アルゴリズムに従って一応書き込まれている。このよ
うな状態を基準にしてキャッシュヒット率を計測するた
めには、ホストプロセッサ11の制御を介して予めデータ
レジスタ25に所定の値を設定しておく。例えばキャッシ
ュメモリ21のアクセスサイクルにおけるデータストロー
ブ信号DSのアサート期間が動作クロック信号CLKの3サ
イクルに相当する場合、そのデータレジスタ25に初期デ
ータ「4」を設定する。この状態で所定のプログラムア
ドレスからユーザプログラムを実行する。
ここで、データストローブ信号DSがネゲート状態を採
っているとき、上記キャッシュメモリ評価用計測回路9
において、ロード信号LOADはローレベルとされ、且つボ
ロー出力信号RCはローレベルにネゲートされている。し
たがって、この状態においてフリップフロップ28はリセ
ット状態を採り、フリップフロップ28の出力端子Qはロ
ーレベルにされている。ユーザプログラムの実行途上で
エミュレーションプロセッサ5がメモリ・リードサイク
ルを起動すると、データストローブ信号DSなどの非同期
バス制御信号が所定のタイミングに従ってアサートされ
ると共に、論理アドレス信号が出力される。この論理ア
ドレス信号はアドレス変換手段22Aで物理アドレスに変
換され、さらにこの物理アドレスに応ずるデータがキャ
ッシュメモリ21に含まれているか否かの判別が行われ
る。当該データがキャッシュメモリ21に格納されていな
い場合にはメインメモリ20から必要なデータが読み出さ
れ、また、当該データがキャッシュメモリ21に格納され
ている場合必要なデータはキャッシュメモリ21から読み
出される。
っているとき、上記キャッシュメモリ評価用計測回路9
において、ロード信号LOADはローレベルとされ、且つボ
ロー出力信号RCはローレベルにネゲートされている。し
たがって、この状態においてフリップフロップ28はリセ
ット状態を採り、フリップフロップ28の出力端子Qはロ
ーレベルにされている。ユーザプログラムの実行途上で
エミュレーションプロセッサ5がメモリ・リードサイク
ルを起動すると、データストローブ信号DSなどの非同期
バス制御信号が所定のタイミングに従ってアサートされ
ると共に、論理アドレス信号が出力される。この論理ア
ドレス信号はアドレス変換手段22Aで物理アドレスに変
換され、さらにこの物理アドレスに応ずるデータがキャ
ッシュメモリ21に含まれているか否かの判別が行われ
る。当該データがキャッシュメモリ21に格納されていな
い場合にはメインメモリ20から必要なデータが読み出さ
れ、また、当該データがキャッシュメモリ21に格納され
ている場合必要なデータはキャッシュメモリ21から読み
出される。
メインメモリ20から必要なデータが読み出されるとき
には、第2図(A)に示されるように、時刻t0にデータ
ストローブ信号DSがローレベルにアサートされると、ロ
ード信号LOADがハイレベルにされ、これによって第3カ
ウンタ26は、動作クロック信号CLKの立ち下がり変化に
同期して初期ロード値「4」をダウンカウントしてい
く。メインメモリ20のアクセスサイクルにおけるデータ
ストローブ信号DSのアサート期間は動作クロック信号CL
Kの4クロックサイクル数以上とされるため、第3カウ
ンタ26の計数値は時刻t1に「0」とされる。そうする
と、ボロー出力信号RCがハイレベルにアサートされるこ
とによってフリップフロップ28がセット状態にされ、こ
れに呼応してロード信号LOADがローレベルに変化され
る。第3カウンタ26はロード信号LOADがローレベルに変
化されると、計数動作を停止すると共に、データレジス
タ25からデータのロードを受ける。このデータがロード
されると、ボロー出力信号RCはローレベルに戻される
が、フリップフロップ28における出力端子Qのレベルは
このフリップフロップ28がデータストローブ信号DSによ
ってリセットされるまで維持されるから、その後データ
ストローブ信号DSのアサート期間がいくら長くても第3
カウンタ26は当該メモリサイクル中に再度計数動作を開
始することはない。したがって、メインメモリ20に対す
る1回のリード・サイクルにおいてボロー出力信号RCは
1回だけハイレベルに変化される。このボロー出力信号
RCの変化は第2カウンタ29に与えられ、これを受ける第
2カウンタ29はその計数値を1つアップカウントする。
このメインメモリ20のリード・サイクルにおいて第1カ
ウンタ24はデータストローブ信号DSのアサート変化に基
づいてその計数値を1つアップカウントする。
には、第2図(A)に示されるように、時刻t0にデータ
ストローブ信号DSがローレベルにアサートされると、ロ
ード信号LOADがハイレベルにされ、これによって第3カ
ウンタ26は、動作クロック信号CLKの立ち下がり変化に
同期して初期ロード値「4」をダウンカウントしてい
く。メインメモリ20のアクセスサイクルにおけるデータ
ストローブ信号DSのアサート期間は動作クロック信号CL
Kの4クロックサイクル数以上とされるため、第3カウ
ンタ26の計数値は時刻t1に「0」とされる。そうする
と、ボロー出力信号RCがハイレベルにアサートされるこ
とによってフリップフロップ28がセット状態にされ、こ
れに呼応してロード信号LOADがローレベルに変化され
る。第3カウンタ26はロード信号LOADがローレベルに変
化されると、計数動作を停止すると共に、データレジス
タ25からデータのロードを受ける。このデータがロード
されると、ボロー出力信号RCはローレベルに戻される
が、フリップフロップ28における出力端子Qのレベルは
このフリップフロップ28がデータストローブ信号DSによ
ってリセットされるまで維持されるから、その後データ
ストローブ信号DSのアサート期間がいくら長くても第3
カウンタ26は当該メモリサイクル中に再度計数動作を開
始することはない。したがって、メインメモリ20に対す
る1回のリード・サイクルにおいてボロー出力信号RCは
1回だけハイレベルに変化される。このボロー出力信号
RCの変化は第2カウンタ29に与えられ、これを受ける第
2カウンタ29はその計数値を1つアップカウントする。
このメインメモリ20のリード・サイクルにおいて第1カ
ウンタ24はデータストローブ信号DSのアサート変化に基
づいてその計数値を1つアップカウントする。
一方、キャッシュメモリ21から必要なデータが読み出
されるときには、第2図(B)に示されるように、時刻
t0にデータストローブ信号DSがローレベルにアサートさ
れると、ロード信号LOADがハイレベルにされ、これによ
って第3カウンタ26は、動作クロック信号CLKの立ち下
がり変化に同期して初期ロード「4」をダウンカウント
していく。キャッシュメモリ21のアクセスサイクルにお
けるデータストローブ信号DSのアサート期間は動作クロ
ック信号CLKの3クロックサイクル数とされるため、第
3カウンタ26の計数値が「0」になる前にデータストロ
ーブ信号DSがネゲートされる。従って、第3カウンタ26
はボロー出力信号RCをハイレベルにアサートすることな
くその計数動作を途中で停止し、再び初期データ「4」
がロードされることになる。このようにキャッシュメモ
リ21のリード・アクセスサイクルにおいてボロー出力信
号RCが変化されないため、第2カウンタ29の計数値はそ
のまま維持される。このとき第1カウンタ26はデータス
トロブ信号DSのアサート変化に基づいてその計数値を1
つアップカウントする。
されるときには、第2図(B)に示されるように、時刻
t0にデータストローブ信号DSがローレベルにアサートさ
れると、ロード信号LOADがハイレベルにされ、これによ
って第3カウンタ26は、動作クロック信号CLKの立ち下
がり変化に同期して初期ロード「4」をダウンカウント
していく。キャッシュメモリ21のアクセスサイクルにお
けるデータストローブ信号DSのアサート期間は動作クロ
ック信号CLKの3クロックサイクル数とされるため、第
3カウンタ26の計数値が「0」になる前にデータストロ
ーブ信号DSがネゲートされる。従って、第3カウンタ26
はボロー出力信号RCをハイレベルにアサートすることな
くその計数動作を途中で停止し、再び初期データ「4」
がロードされることになる。このようにキャッシュメモ
リ21のリード・アクセスサイクルにおいてボロー出力信
号RCが変化されないため、第2カウンタ29の計数値はそ
のまま維持される。このとき第1カウンタ26はデータス
トロブ信号DSのアサート変化に基づいてその計数値を1
つアップカウントする。
このように第1カウンタ24はメインメモリ20及びキャ
ッシュメモリ21のアクセス回数を区別なく全て計数して
いく。そして、第2カウンタ29はメインメモリ20のアク
セス回数だけを計数していく。
ッシュメモリ21のアクセス回数を区別なく全て計数して
いく。そして、第2カウンタ29はメインメモリ20のアク
セス回数だけを計数していく。
ユーザプログラムの実行が停止された後、第1カウン
タ24及び第2カウンタ29の計数値はホストプロセッサ11
に読み込まれてキャッシュヒット率の演算に利用され
る。キャッシュヒット率はメインメモリ20及びキャッシ
ュメモリ21の総アクセス回数に対するキャッシュメモリ
21のアクセス回数の割合として算出される。即ち、第1
カウンタ24の計数値から第2カウンタ29の計数値を減算
し、この減算結果を第1カウンタ24の計数値で除算して
得られる。このようにして得られたキャッシュヒット率
はシステム開発装置19のディスプレイなどに表示され、
キャッシュメモリシステムの性能評価に利用される。
タ24及び第2カウンタ29の計数値はホストプロセッサ11
に読み込まれてキャッシュヒット率の演算に利用され
る。キャッシュヒット率はメインメモリ20及びキャッシ
ュメモリ21の総アクセス回数に対するキャッシュメモリ
21のアクセス回数の割合として算出される。即ち、第1
カウンタ24の計数値から第2カウンタ29の計数値を減算
し、この減算結果を第1カウンタ24の計数値で除算して
得られる。このようにして得られたキャッシュヒット率
はシステム開発装置19のディスプレイなどに表示され、
キャッシュメモリシステムの性能評価に利用される。
本実施例のキャッシュメモリ方式においてキャッシュ
ヒット率を正確に得るためには、キャッシュメモリ評価
用計測回路9で計数されるアクセス回数にはメインメモ
リ20及びキャッシュッメモリ21の双方に対する書き込み
アクセス回数を含めないようにすることが望ましい。そ
のためには、メインメモリ20及びキャッシュメモリ21の
双方に対する書き込みサイクルが発生する毎にユーザプ
ログラムの実行をブレークし、その都度キャッシュヒッ
ト率を求めるようにすることができる。ユーザプログラ
ムの実行を停止してからカウンタ24,29の計数値に基づ
いてキャッシュヒット率を算出した後、再びユーザプロ
グラムを実行してキャッシュヒット率の計測を行うよう
な場合には、ホストプロセッサ11はホストコントロール
バスHCBを通じて最初にカウンタ24,29の計数値をリセッ
トしておくことができる。
ヒット率を正確に得るためには、キャッシュメモリ評価
用計測回路9で計数されるアクセス回数にはメインメモ
リ20及びキャッシュッメモリ21の双方に対する書き込み
アクセス回数を含めないようにすることが望ましい。そ
のためには、メインメモリ20及びキャッシュメモリ21の
双方に対する書き込みサイクルが発生する毎にユーザプ
ログラムの実行をブレークし、その都度キャッシュヒッ
ト率を求めるようにすることができる。ユーザプログラ
ムの実行を停止してからカウンタ24,29の計数値に基づ
いてキャッシュヒット率を算出した後、再びユーザプロ
グラムを実行してキャッシュヒット率の計測を行うよう
な場合には、ホストプロセッサ11はホストコントロール
バスHCBを通じて最初にカウンタ24,29の計数値をリセッ
トしておくことができる。
上記実施例によれば以下の作用効果を得るものであ
る。
る。
(1) メインメモリ20のアクセスサイクルにおけるデ
ータストローブ信号DSのアサート期間とキャッシュメモ
リ21のアクセスサイクルにおけるデータストローブ信号
DSのアサート期間とが相違することに基づいて、第1カ
ウンタ24はメインメモリ20及びキャッシュメモリ21に対
する全てのアクセス回数を計数し、第2カウンタ29はメ
インメモリ20のアクセス回数だけを計数するから、それ
ら計数値に基づいてキャッシュヒット率を求めることが
できる。このようにして求められるキャッシュヒット率
は、エミュレーション動作を開始してからブレークされ
るまでの間に実行されたユーザプログラムの所要ルーチ
ン毎に求めることができるから、正確なキャッシュヒッ
ト率を得ることができる。
ータストローブ信号DSのアサート期間とキャッシュメモ
リ21のアクセスサイクルにおけるデータストローブ信号
DSのアサート期間とが相違することに基づいて、第1カ
ウンタ24はメインメモリ20及びキャッシュメモリ21に対
する全てのアクセス回数を計数し、第2カウンタ29はメ
インメモリ20のアクセス回数だけを計数するから、それ
ら計数値に基づいてキャッシュヒット率を求めることが
できる。このようにして求められるキャッシュヒット率
は、エミュレーション動作を開始してからブレークされ
るまでの間に実行されたユーザプログラムの所要ルーチ
ン毎に求めることができるから、正確なキャッシュヒッ
ト率を得ることができる。
(2) 上記作用効果より、キャッシュメモリ21の性能
評価が可能になり、キャッシュメモリ21の記憶容量やそ
の格納データに対する更新アルゴリズムなどの点におい
て、より高性能なキャッシュメモリシステムの開発を容
易化することができる。
評価が可能になり、キャッシュメモリ21の記憶容量やそ
の格納データに対する更新アルゴリズムなどの点におい
て、より高性能なキャッシュメモリシステムの開発を容
易化することができる。
(3) メインメモリ20とキャッシュメモリ21とのアク
セスを判別するための基準となるデータを任意に設定可
能なデータレジスタ25が設けられているから、メインメ
モリ20やキャッシュメモリ21のアクセス速度が異なる種
々のターゲットシステムに対して汎用性をもってキャッ
シュメモリシステムの評価を行うことができる。
セスを判別するための基準となるデータを任意に設定可
能なデータレジスタ25が設けられているから、メインメ
モリ20やキャッシュメモリ21のアクセス速度が異なる種
々のターゲットシステムに対して汎用性をもってキャッ
シュメモリシステムの評価を行うことができる。
以上本発明者によってなされた発明を実施例に基づい
て具体的に説明したが本発明は上記実施例に限定される
ものではなくその要旨を逸脱しない範囲において種々変
更することができる。
て具体的に説明したが本発明は上記実施例に限定される
ものではなくその要旨を逸脱しない範囲において種々変
更することができる。
例えば上記実施例ではキャッシュメモリとメインメモ
リのアクセスを区別するためカウンタを利用したワンシ
ョットマルチバイブレータを用いたが、アナログ式のワ
ンショットマルチバイブレータを用いたり、さらにはシ
フトレジスタなども利用することができる。また、キャ
ッシュメモリとメインメモリのアクセスを区別するため
の信号として上記実施例ではデータストローブ信号を利
用したがアドレスストローブ信号などその他のバス制御
信号を利用したり、さらに可能な場合には上記実施例で
説明したような判別手段22Bの判別結果信号を利用して
もよい。
リのアクセスを区別するためカウンタを利用したワンシ
ョットマルチバイブレータを用いたが、アナログ式のワ
ンショットマルチバイブレータを用いたり、さらにはシ
フトレジスタなども利用することができる。また、キャ
ッシュメモリとメインメモリのアクセスを区別するため
の信号として上記実施例ではデータストローブ信号を利
用したがアドレスストローブ信号などその他のバス制御
信号を利用したり、さらに可能な場合には上記実施例で
説明したような判別手段22Bの判別結果信号を利用して
もよい。
また上記実施例では全アクセス回数とメインメモリの
アクセス回数を夫々計数したが、全アクセス回数とキャ
ッシュメモリのアクセス回数を夫々計数するようにして
もよい。
アクセス回数を夫々計数したが、全アクセス回数とキャ
ッシュメモリのアクセス回数を夫々計数するようにして
もよい。
また、メインメモリの一部のアドレス空間がメモリマ
ップドI/Oなどとして利用される場合には、メモリマッ
プドI/Oなどとして利用されるアドレスのアクセス回数
をキャッシュヒット率を得るための情報から除外するこ
とが必要になる。その場合には、メモリマップドI/O空
間とメモリ空間とを判別するようなアドレスデコーダを
設け、メモリ空間がアクセスされる場合にだけデータス
トローブ信号のようなバス制御信号の変化をキャッシュ
メモリ評価用計測回路に与えるようにすることができ
る。
ップドI/Oなどとして利用される場合には、メモリマッ
プドI/Oなどとして利用されるアドレスのアクセス回数
をキャッシュヒット率を得るための情報から除外するこ
とが必要になる。その場合には、メモリマップドI/O空
間とメモリ空間とを判別するようなアドレスデコーダを
設け、メモリ空間がアクセスされる場合にだけデータス
トローブ信号のようなバス制御信号の変化をキャッシュ
メモリ評価用計測回路に与えるようにすることができ
る。
また上記実施例では、キャッシュメモリはプロセッサ
とは別チップで構成されているものとしたが、プロセッ
サに内蔵されたキャッシュメモリに関しても本発明を適
用することができる。また、メインメモリをエミュレー
タ内部のメモリに代替させる場合にも同様に本発明を適
用することができる。また、キャッシュメモリは論理ア
ドレスでアクセスされるものであってもよい。またメモ
リ管理ユニットはプロセッサに内蔵されていてもよい。
とは別チップで構成されているものとしたが、プロセッ
サに内蔵されたキャッシュメモリに関しても本発明を適
用することができる。また、メインメモリをエミュレー
タ内部のメモリに代替させる場合にも同様に本発明を適
用することができる。また、キャッシュメモリは論理ア
ドレスでアクセスされるものであってもよい。またメモ
リ管理ユニットはプロセッサに内蔵されていてもよい。
以上本発明者によってなされた発明をその背景となっ
た利用分野であるインサーキットエミュレータに適用シ
タ場合について説明したが、本発明はそれに限定される
ものではなく、簡易型システム評価ツールとしての評価
ボードもしくはシングルボードコンピュータなどにも適
用することができる。本発明は少なくともターゲットシ
ステムを代行制御しながらシステムデバッグもしくはソ
フトウェアデバッグを行う条件のものに適用することが
できる。
た利用分野であるインサーキットエミュレータに適用シ
タ場合について説明したが、本発明はそれに限定される
ものではなく、簡易型システム評価ツールとしての評価
ボードもしくはシングルボードコンピュータなどにも適
用することができる。本発明は少なくともターゲットシ
ステムを代行制御しながらシステムデバッグもしくはソ
フトウェアデバッグを行う条件のものに適用することが
できる。
本願において開示される発明のうち代表的なものによ
って得られる効果に説明すれば下記の通りである。
って得られる効果に説明すれば下記の通りである。
すなわち、キャッシュヒット率を得るための情報をユ
ーザプログラムの実行中に順次蓄えるキャッシュメモリ
評価用計測回路を設けてエミュレータを構成するから、
これに蓄積された情報に基づいてキャッシュヒット率を
得ることにより、キャッシュメモリの性能評価を適切に
行うことができるという効果がある。更に、より高性能
なキャッシュメモリシステムの開発を容易化することが
できるという効果がある。
ーザプログラムの実行中に順次蓄えるキャッシュメモリ
評価用計測回路を設けてエミュレータを構成するから、
これに蓄積された情報に基づいてキャッシュヒット率を
得ることにより、キャッシュメモリの性能評価を適切に
行うことができるという効果がある。更に、より高性能
なキャッシュメモリシステムの開発を容易化することが
できるという効果がある。
また、キャッシュヒット率を得るための情報を、メイ
ンメモリ及びキャッシュメモリをアクセスするためのバ
ス制御信号のアサート期間の相違に基づいて取得する場
合に、メインメモリとキャッシュメモリとのアクセスを
判別するための基準となるデータを任意に設定可能なデ
ータレジスタを設けておくことにより、メインメモリや
キャッシュメモリのアクセス速度が異なる種々のターゲ
ットシステムに対して汎用性をもってキャッシュメモリ
システムの評価を行うことができるという効果がある。
ンメモリ及びキャッシュメモリをアクセスするためのバ
ス制御信号のアサート期間の相違に基づいて取得する場
合に、メインメモリとキャッシュメモリとのアクセスを
判別するための基準となるデータを任意に設定可能なデ
ータレジスタを設けておくことにより、メインメモリや
キャッシュメモリのアクセス速度が異なる種々のターゲ
ットシステムに対して汎用性をもってキャッシュメモリ
システムの評価を行うことができるという効果がある。
第1図は本発明の一実施例であるインサーキットエミュ
レータに含まれるキャッシュメモリ評価用計測回路の一
例を示すブロック図、 第2図(A)はメインメモリアクセス時におけるキャッ
シュメモリ評価用計測回路の動作の一例を示すタイミン
グチャート、 第2図(B)はキャッシュメモリアクセス時におけるキ
ャッシュメモリ評価用計測回路の動作の一例を示すタイ
ミングチャート、 第3図は本発明の一実施例であるインサーキットエミュ
レータの全体を示すブロック図である。 2……インサーキットエミュレータ、3……ターゲット
システム、9……キャッシュメモリ評価用計測回路、11
……コントロールプロセッサ、20……メインメモリ、21
……キャッシュメモリ、22……アクセス制御回路、24…
…第1カウンタ、25……データレジスタ、26……第3カ
ウンタ、27……ノアゲート、28……フリップフロップ、
29……第2カウンタ、DS……データストローブ信号、LO
AD……ロード信号、RC……ボロー出力信号、CLK……動
作クロック信号。
レータに含まれるキャッシュメモリ評価用計測回路の一
例を示すブロック図、 第2図(A)はメインメモリアクセス時におけるキャッ
シュメモリ評価用計測回路の動作の一例を示すタイミン
グチャート、 第2図(B)はキャッシュメモリアクセス時におけるキ
ャッシュメモリ評価用計測回路の動作の一例を示すタイ
ミングチャート、 第3図は本発明の一実施例であるインサーキットエミュ
レータの全体を示すブロック図である。 2……インサーキットエミュレータ、3……ターゲット
システム、9……キャッシュメモリ評価用計測回路、11
……コントロールプロセッサ、20……メインメモリ、21
……キャッシュメモリ、22……アクセス制御回路、24…
…第1カウンタ、25……データレジスタ、26……第3カ
ウンタ、27……ノアゲート、28……フリップフロップ、
29……第2カウンタ、DS……データストローブ信号、LO
AD……ロード信号、RC……ボロー出力信号、CLK……動
作クロック信号。
Claims (2)
- 【請求項1】ターゲットシステムを代行制御しながらシ
ステムデバッグを行うためのエミュレータにおいて、タ
ーゲットシステムに含まれる低速メインメモリ及び高速
キャッシュメモリの総アクセス回数に対するキャッシュ
メモリのアクセス回数の割合を得るための情報をデバッ
グ対象プログラムの実行中に順次蓄えるキャッシュメモ
リ評価用計測回路を設け、 当該キャッシュメモリ評価用計測回路は、ターゲットシ
ステムを代行制御するためのエミュレーションプロセッ
サがメモリアクセス制御毎にアサートする所定のバス制
御信号のアサート回数を計数する第1計数手段と、上記
バス制御信号アサート期間がキャッシュメモリのアクセ
ス制御に要する期間を越えたことを検出するための検出
手段と、この検出手段による検出回数を計数する第2計
数手段とを含んで成るものであることを特徴とするエミ
ュレータ。 - 【請求項2】上記検出手段は、クロック信号のサイクル
数を任意に設定可能なデータレジスタと、上記所定のバ
ス制御信号がアサートされるタイミングに同期して上記
データレジスタの設定値を計数開始値として上記クロッ
ク信号サイクル数の計数を開始し、その計数値が所定の
基準値に達したとき、上記第2計数手段に検出信号をア
サートする第3計数手段とを含んで成るものであること
を特徴とする請求項1記載のエミュレータ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63328579A JP2601894B2 (ja) | 1988-12-26 | 1988-12-26 | エミュレータ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63328579A JP2601894B2 (ja) | 1988-12-26 | 1988-12-26 | エミュレータ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02171936A JPH02171936A (ja) | 1990-07-03 |
JP2601894B2 true JP2601894B2 (ja) | 1997-04-16 |
Family
ID=18211854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63328579A Expired - Lifetime JP2601894B2 (ja) | 1988-12-26 | 1988-12-26 | エミュレータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2601894B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118227446B (zh) * | 2024-05-21 | 2024-08-02 | 北京开源芯片研究院 | 高速缓存性能评估方法、装置、电子设备及可读存储介质 |
-
1988
- 1988-12-26 JP JP63328579A patent/JP2601894B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH02171936A (ja) | 1990-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100292642B1 (ko) | 방해없는 코드 계측을 위한 시스템 및 방법 | |
US5608866A (en) | System for measuring and analyzing operation of information processor | |
EP0084431A2 (en) | Monitoring computer systems | |
US7237149B2 (en) | Method and apparatus for qualifying debug operation using source information | |
JP2008287319A (ja) | 半導体デバイス、電子装置及びアクセスログ取得方法 | |
EP0530816A2 (en) | Microprocessor with cache memory and trace analyzer therefor | |
JP2601894B2 (ja) | エミュレータ | |
JPS62179033A (ja) | 集積回路マイクロプロセツサ | |
US3671940A (en) | Test apparatus for digital computer | |
KR100223096B1 (ko) | 내부 메모리 맵 레지스터를 관측하는 방법 및 장치 | |
JP2760228B2 (ja) | キャッシュメモリを内蔵したマイクロプロセッサとそのトレースアナライザ | |
KR100545950B1 (ko) | 큐 성능 데이터를 수집하기 위한 방법 및 장치 | |
EP1100017A1 (en) | Memory access monitoring and debugging device | |
JP2004348635A (ja) | プログラム開発方法 | |
JP7516974B2 (ja) | 電子機器用デバイス、電子機器用デバイスの制御方法および電子機器用デバイスの制御プログラム | |
US20230376403A1 (en) | Debug device, debug system, and debug method for testing storage device | |
JPS62164140A (ja) | デ−タ処理システムの試験方法 | |
CN113626272A (zh) | 基于mmap系统的内存读写速率测试方法、装置及系统 | |
US20040107388A1 (en) | Microcomputer | |
JPH11327949A (ja) | 半導体装置およびそれを用いた情報処理システムの評価方法 | |
KR100189977B1 (ko) | 트레이스기능을 구비한 에뮬레이터시스템과 그 트레이스방법 | |
JP2000010816A (ja) | デバッグ用トレース装置 | |
KR0155931B1 (ko) | 외부에서 억세스 가능한 온칩 캐시 메모리 시스템 | |
JPS6010357A (ja) | コンピユ−タの性能測定用デ−タ集計装置 | |
KR100195221B1 (ko) | 프로그램 수행시 명령어의 실행 횟수 측정장치 |
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: 20080129 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090129 Year of fee payment: 12 |
|
EXPY | Cancellation because of completion of term |