JPH0520112A - インサーキツトエミユレータ - Google Patents

インサーキツトエミユレータ

Info

Publication number
JPH0520112A
JPH0520112A JP3223250A JP22325091A JPH0520112A JP H0520112 A JPH0520112 A JP H0520112A JP 3223250 A JP3223250 A JP 3223250A JP 22325091 A JP22325091 A JP 22325091A JP H0520112 A JPH0520112 A JP H0520112A
Authority
JP
Japan
Prior art keywords
address
microprocessor
data
cache memory
accessed
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
Application number
JP3223250A
Other languages
English (en)
Inventor
Tetsuji Hamauchi
哲治 濱内
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP3223250A priority Critical patent/JPH0520112A/ja
Publication of JPH0520112A publication Critical patent/JPH0520112A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

(57)【要約】 【目的】キャッシュメモリを内蔵したマイクロプロセッ
サのためのブレーク機能を備えたインサーキットエミュ
レータを提供することにある。 【構成】マイクロプロセッサ02が出力するアドレス1
1とブレークアドレス12とを比較し、一致したときに
当該一致信号をマイクロプロセッサに供給する。マイク
ロプロセッサ2ではその一致信号を受けたときに、内蔵
するキャッシュメモリへのデータ登録を行なわないよう
に構成されている。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はインサーキットエミュレ
ータに関し、特にキャッシュメモリを内蔵したマイクロ
プロセッサ用のインサーキットエミュレータに関する。
【0002】
【従来の技術】マイクロプロセッサの動作をエミュレー
トするインサーキットエミュレータは、プログラムの任
意の位置で実行を中断させるブレーク機能と呼ばれる機
能を持っている。ブレーク機能はマイクロプロセッサか
ら出力されたアドレスなどの信号を、外部に予め設定し
ておいた値と比較し、一致した場合にはマイクロプロセ
ッサに割り込みなどで実行の中断要求をするようにして
実現していた。
【0003】従来のインサーキットエミュレータの例を
図4に示す。マイクロプロセッサ2は32ビットマイク
ロプロセッサでA31〜2のアドレス11とD31〜0
のデータバス15を持っている。ブレークレジスタ5は
マイクロプロセッサ2の実行を中断させ、割り込みを発
生させるブレークアドレスを格納するレジスタで、ブレ
ークアドレスA31〜2と、ワードの中のどのバイトの
アクセスで割り込みを発生するかを指定するB3〜0を
出力する。マイクロプロセッサ2を実行開始する前に、
ブレーク105には実行を中断させるブレークアドレス
を予め設定しておく。例えば、アドレス1100120
9H番地のアクセスで実行を中断させる場合には、ブレ
ークレジスタ5のブレークアドレスには1100120
8Hを、B3〜0にはそれぞれ0,0,1,0を設定す
る。比較器3にはマイクロプロセッサ2が出力したアド
レス11とブレークレジスタ5に設定されたブレークア
ドレス12を比較し、一致した場合に一致信号13をH
レベルにする。マイクロプロセッサ2のTRAP3〜0
は、マイクロプロセッサ2に対する割り込み入力端子で
あり、データバス15の各バイトに対応する。例えば、
TRAP0はデータバス15のD7〜0でアクセスした
データに対応する割り込み入力である。命令フェッチサ
イクルに入力された場合には、命令実行後に割り込みを
発生し、データアクセスサイクルに入力された場合に
は、実行中の命令終了後に割り込みを発生して、命令の
実行を中断する。
【0004】従来のマイクロプロセッサで、キャッシュ
メモリを内蔵したものがある。キャッシュメモリとは一
般的にマイクロプロセッサと外部メモリの間に置かれる
メモリで、外部メモリよりもアクセス時間が短いものを
使用する。マイクロプロセッサがアクセスした外部メモ
リのデータはキャッシュメモリにコピーされ、次回のア
クセス時にマイクロプロセッサが必要とするデータがキ
ャッシュメモリ内にあれば、キャッシュメモリとの間で
アクセスを行い、外部メモリにアクセスはしない。この
ため、外部メモリとキャッシュメモリのアクセス時間の
差が性能向上になる。このキャッシュメモリをマイクロ
プロセッサの中に内蔵させ、大幅な性能向上を狙ったも
のもある。
【0005】キャッシュメモリを内蔵したマイクロプロ
セッサをインサーキットエミュレータに使用した場合の
タイミングチャートを図5に示す。本図はアクセスしよ
うとするアドレス11001200H番地のデータがキ
ャッシュメモリになく、外部をアクセスする場合のタイ
ミングであり、ブレークアドレスとして1100120
9H番地が設定されている。この場合のキャッシュメモ
リは、キャッシュメモリ格納する最小単位である1ブロ
ックが16バイトで、1ブロックのデータを連続した4
回のサイクルでキャッシュメモリにブロック転送する。
最初のサイクルでアクセスしたワードデータは、キャッ
シュメモリに格納されるとともに内部で使用されるが、
残りの3サイクルでアクセスしたワードデータはキャッ
シュメモリに格納されるのみである。従って、マイクロ
プロセッサ2への割り込み要求であるTRAP3〜0は
最初のサイクルのみ有効で、3回目のサイクルでアドレ
ス11001209H番地に対する割り込み要求TRA
P1は無効となり、マイクロプロセッサ2は実行を中断
しない。以降のアドレス11001209H番地のアク
セスもキャッシュメモリと行うのでこのアドレスは出力
されず、マイクロプロセッサ2に対する割り込み要求を
することができない。
【0006】このように、マイクロプロセッサのアクセ
スがキャッシュメモリにヒットした場合すなわち、アク
セスしようとするデータがマイクロプロセッサ内蔵のキ
ャッシュメモリにある場合は、外部へのアクセスを行わ
ないため、マイクロプロセッサの外部でブレークアドレ
スの検出を行うことはできない。従って、通常キャッシ
ュメモリをすべて無効とし、アクセスを必ず外部と行う
ようにして、外部でブレークアドレスの検出ができるよ
うにしている。この場合には、キャッシュメモリのアク
セスを一切行わないため、キャッシュメモリを有効にし
たときと比較して大幅に実行時間が長くなる。
【0007】
【発明が解決しようとする課題】前述したように、従来
のインサーキットエミュレータでは、マイクロプロセッ
サが出力したアドレスなどの信号を、レジスタに格納し
た値と比較し、一致信号でマイクロプロセッサに割り込
みをかけてブレーク機能を実現するようになっている。
しかし、キャッシュメモリを内蔵したマイクロプロセッ
サではキャッシュメモリにヒットしている間は、マイク
ロプロセッサ外部にアドレスなどの信号が出力されず、
マイクロプロセッサ外部でブレークアドレスの検出がで
きないという問題点がある。
【0008】また、キャッシュメモリをすべて無効に
し、アクセスを必ず外部と行うようにして、外部で検出
できるようにした場合では、キャッシュメモリを有効に
しているときと比べて大幅にリアルタイム性が失われて
しまうという問題点がある。
【0009】
【課題を解決するための手段】本発明のインサーキット
エミュレータは、外部アクセスしたデータをキャッシュ
メモリに登録するかどうかを選択する入力端子を有する
マイクロプロセッサと、マイクロプロセッサの実行を中
断させるアドレスを格納したレジスタと、マイクロプロ
セッサが出力するアドレスとレジスタに格納したアドレ
スとを比較し、一致出力を出力する比較器とを有し、一
致出力をマイクロプロセッサの前記入力端子へ入力し、
一致出力が有効なときにはデータをキャッシュメモリに
登録しない。
【0010】
【実施例】以下、実施例につき図面を用いて詳述する。
【0011】図1は本発明の一実施例を示すブロック図
であり、図2,3はbのタイミングチャートを示す。図
1において、比較器3が出力する一致信号13をインバ
ータ7で反転してマイクロプロセッサ2のRGST入力
に入力している点が従来例と異なる。RGST入力はマ
イクロプロセッサ2がアクセスしたデータを内蔵のキャ
ッシュメモリに登録するように要求する端子で、Hレベ
ルの場合はキャッシュメモリへの登録を行い、Lレベル
の場合にはブロックすべてのデータの登録を行わない。
従来例と同様に比較器3はマイクロプロセッサ2のアド
レス11とブレークレジスタ5のブレークアドレス12
とを比較し、一致した場合には一致出力をHレベルにす
る。この一致出力13はインバータ7で反転して、マイ
クロプロセッサ2のRGST入力へ入力される。このた
め、実行を中断させるアドレスをアクセスしているサイ
クルではTRAPがHレベルになるとともに、RGST
入力もLレベルになるため、アクセスしたデータは内蔵
キャッシュメモリへは登録されない。
【0012】図2にアドレス11001200H番地に
対するアクセスを行うときに、キャッシュメモリに格納
する最小単位である1ブロック16バイトを連続してア
クセスするタイミングを示す。ブレークアドレス110
01209H番地がブレークレジスタ5に設定されてい
るとする。最初のサイクルのT2の次のクロックの立ち
上がりで、ブロックの最初の1ワードのデータおよびT
RAP3〜0がサンプリングされる。以降のサイクル
で、さらに3ワードのデータを連続してアクセスする。
3回目のサイクルでRGST入力のLレベルをサンプリ
ングするため、アクセスしたブロックのデータはすべて
キャッシュメモリに登録されず、最初のサイクルでアク
セスした1ワードのデータのみが使用され、残りのサイ
クルでアクセスしたデータは捨てられる。
【0013】実際にブレークアドレス11001209
H番地のデータが、有効なデータとして読み込まれるサ
イクルを図3に示す。この転送サイクルではアドレス1
1001208Hからの1ワードを最初にアクセスし、
1100120CH,11001200H,11001
204Hの順でワードアクセスを行って、1ブロックの
データをアクセスする。図2と同様に、最初のT1サイ
クルで出力されたアドレスによってRGST入力をLレ
ベルにするため、キャッシュメモリに登録されないが、
TRAP1のHレベルをT2サイクルの終わりでサンプ
リングするので、データアクセスの場合か、またはデー
タが命令として実行された場合には、割り込みを発生し
実行を中断する。
【0014】図9にマイクロプロセッサ2に内蔵されて
いるキャッシュメモリの構成図を示す。データメモリ2
1は外部メモリと同じデータを格納するメモリである。
タグメモリ22はアドレスタグ23を格納するメモリ
で、アドレスタグ23として、データメモリ21の外部
メモリ上でのアドレスを格納する。バリッドビットアレ
イ32はデータメモリ21およびタグメモリ22の内容
が有効な場合にバリッドビット24として“1”を格納
し、無効な場合には“0”を格納する。この例ではアド
レスタグ23は23ビットの幅で、32個のエントリを
持つ。内部アドレスバス28のA8−4からデコーダ2
6でタグメモリ22の1つを選択する。選択されたアド
レスタグ23の値と、内部アドレスバス28のA31−
9を比較器27で比較する。一致の比較結果が得られ、
かつ対応するバリッドビット24が“1”の場合にヒッ
ト信号30をアクティブにし、データメモリ21からデ
ータを読み出す。図9は外部メモリのアドレス1100
11F0Hからの4ワードのデータを格納している状態
を示す。
【0015】図10はマイクロプロセッサがアドレス1
10011F4Hのワードをアクセスする場合を示して
いる。内部アドレスバス28のA8−4は00000B
(2進)であるため、タグメモリ22からアドレスタグ
23として00010001000000000001
000Bが読み出される。この値は同時に読み出すバリ
ッドビット“1”とともに内部アドレスバス28のA3
1−9と比較され、一致するためヒット信号30をアク
ティブにする。内部アドレスバス28のA8−2はデコ
ーダ25によりデコードされ、データメモリ21のアド
レス000001Bが選択され、データとして4455
6677Hが内部データバス29に読み出される。
【0016】図11は外部メモリのアドレス11001
1F0Hから1ブロック16バイトのデータをキャッシ
ュメモリに登録する場合の例であり、図12はそのタイ
ミングチャートである。図12おいて、TCLKは内部
アドレスバス28のA31−9をタグメモリ22に書き
込むタイミング、DCLKは内部データバス29のデー
タをデータメモリ21に書き込むタイミング、VCLK
はバリッドビットアレイ32にバリッドビット24を書
き込むタイミングであり、それぞれ信号の立ち上がりで
書き込みを行う。
【0017】キャッシュメモリへの書き込みサイクルに
おいて、最初のワードのデータをDCLKの立ち上がり
で内部データバス29からデータメモリ21に書き込む
と同時に、TCLKの立ち上がりでタグメモリ22のア
ドレスタグ23に内部アドレスバス28のA31−9を
書き込む。以降の3回の書き込みサイクルのDCLKの
立ち上がりで残りの3ワードをデータメモリ21に書き
込むが、同じタイミングでRGSTの値をシフトレジス
タ31で順にシフトし、4回のサイクル全てでRGST
がHレベルだった場合にANDゲート33からバリッド
ビットアレイ32に“1”を出力するバリッドビットア
レイ32には4回目のサイクルの終わりのVCLKの立
ち上がりでバリッドビット24としてこの値を書き込
む。
【0018】したがって、図2に関係して述べたアドレ
ス11001200Hに対するアクセスでは、3回目の
アクセスのときに信号RGSTが0となるので、AND
ゲート33の出力は“0”となり、バリッドビット24
として“0”を書き込むため、書き込まれたデータメモ
リ21の内容は意味を持たない。すなわち、アクセスし
たブロックのデータがキャッシュメモリに登録されない
ことになる。
【0019】図6は本発明の他の実施例を示し、図7,
8にそのタイミングチャートを示す。本実施例では新た
に比較器4を設け、マイクロプロセッサ2のアドレスの
A31〜4とブレークレジスタ5のブレークアドレス1
2のA31〜4を比較し、一致信号14をインバータ7
で反転してマイクロプロセッサ2のRGST入力に入力
している。
【0020】キャッシュメモリを内蔵したマイクロプロ
セッサでは、外部メモリのアクセスを高速化するために
バースト転送と呼ばれるサイクルを有するものがある。
図7にバースト転送のタイミング例を示す。アドレスが
T1サイクルで出力され、T2サイクルの次のクロック
の立ち上がりで、ブロックの最初の1ワードのデータお
よびTRAP3〜0がサンプリングされる。以降のTB
サイクルでアドレスがインクリメントされ、さらに3ワ
ードのデータを連続してアクセスする。バースト転送サ
イクルではT2、TBの終わりでRGST入力をサンプ
リングし、何れかでLレベルであればアクセスしたブロ
ックのデータはキャッシュメモリに登録されず、バース
ト転送サイクルのT2でアクセスしたデータのみが有効
となる。
【0021】図7はアドレス11001200H番地か
ら1ブロック16バイトをバースト転送するサイクルを
示す。ブレークレジスタ5には予めブレークアドレス1
2として11001209Hを設定しておく。T1サイ
クルでマイクロプロセッサ2から出力されたアドレス1
1のA31〜4とブレークアドレス12が一致するの
で、RGST入力にはLレベルが入力され、ブレークア
ドレス11001209H番地が含まれるこのブロック
はキャッシュメモリに登録されない。
【0022】実際にブレークアドレス11001209
H番地のデータが、有効なデータとして読み込まれるサ
イクルを図8に示す。このバースト転送サイクルではア
ドレス110014208Hからの1ワードを最初にア
クセスし、1100120CH,11001200H,
11001204Hの順でワードアクセスを行って、1
ブロックのデータをアクセスする。図7と同様に、T1
サイクルで出力されたアドレスによってRGST入力を
Lレベルにするため、キャッシュメモリに登録されない
が、TRAP1のHレベルをT2サイクルの終わりでサ
ンプリングするので、データアクセスの場合か、または
データが命令として実行された場合には、割り込みを発
生し実行を中断する。
【0023】アドレスのA3,A2が変化してからRG
ST入力のサンプリングまで1クロック以内のため、比
較器には高速のものが必要になる。しかし、本実施例の
比較器4ではアドレスのA31〜4のみを比較するた
め、T1でアドレスが出力されてから、RGST入力を
サンプリングするT2の終わりまでの余裕ができ、T2
〜TBの期間RGST入力をLレベルにすることができ
る。
【0024】
【発明の効果】以上のとおり、本発明のインサーキット
エミュレータは外部アクセスしたデータをキャッシュメ
モリに登録するかどうかを選択する入力端子を有するマ
イクロプロセッサと、マイクロプロセッサの実行を中断
させるアドレスを格納したレジスタと、マイクロプロセ
ッサが出力するアドレスとレジスタに格納したアドレス
とを比較し、一致出力を出力する比較器とを有し、一致
出力をマイクロプロセッサの前記入力端子へ入力するた
め、実行を中断させるアドレスのデータをキャッシュメ
モリに登録せず、必ず外部へのアクセスを行うため、外
部でブレークアドレスの検出ができるという効果があ
る。
【0025】また、キャッシュメモリすべてを無効にす
るわけではないので、実行を中断させるアドレスを含む
ブロック以外においてはキャッシュメモリのアクセスが
行われ、リアルタイムに近い動作をさせることができる
という効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例を示すブロック図である。
【図2】図1のタイミングチャートである。
【図3】図1の他のタイミングチャートである。
【図4】従来例のブロック図である。
【図5】図4のタイミングチャートである。
【図6】本発明の他の実施例のブロック図である。
【図7】図6のタイミングチャートである。
【図8】図6の他のタイミングチャートである。
【図9】図1,図6のマイクロプロセッサに内蔵される
キャッシュメモリ部のブロック図である。
【図10】図9におけるデータ読み出し時の状態図であ
る。
【図11】図9におけるデータ登録時の状態図である。
【図12】図11のタイミングチャートである。

Claims (1)

  1. 【特許請求の範囲】 【請求項1】 キャッシュメモリを内蔵したマイクロプ
    ロセッサ用のインサーキットエミュレータにおいて、外
    部アクセスしたデータをキャッシュメモリに登録するか
    どうかを選択する入力端子を有するマイクロプロセッサ
    と、前記マイクロプロセッサの実行を中断させるアドレ
    スを格納したレジスタと、前記マイクロプロセッサが出
    力するアドレスと前記レジスタに格納したアドレスとを
    比較し、一致出力を出力する比較器とを有し、前記一致
    出力を前記入力端子へ入力し、一致出力が有効なときに
    はデータを内蔵キャッシュメモリに登録しないことを特
    徴とするインサーキットエミュレータ。
JP3223250A 1990-09-07 1991-09-04 インサーキツトエミユレータ Pending JPH0520112A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3223250A JPH0520112A (ja) 1990-09-07 1991-09-04 インサーキツトエミユレータ

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2-237417 1990-09-07
JP23741790 1990-09-07
JP3223250A JPH0520112A (ja) 1990-09-07 1991-09-04 インサーキツトエミユレータ

Publications (1)

Publication Number Publication Date
JPH0520112A true JPH0520112A (ja) 1993-01-29

Family

ID=26525352

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3223250A Pending JPH0520112A (ja) 1990-09-07 1991-09-04 インサーキツトエミユレータ

Country Status (1)

Country Link
JP (1) JPH0520112A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017076179A (ja) * 2015-10-13 2017-04-20 株式会社デンソー 電子制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017076179A (ja) * 2015-10-13 2017-04-20 株式会社デンソー 電子制御装置

Similar Documents

Publication Publication Date Title
JP4225851B2 (ja) データ処理装置用トレース要素生成システム
US7197671B2 (en) Generation of trace elements within a data processing apparatus
US5347636A (en) Data processor which efficiently accesses main memory and input/output devices
US7941652B2 (en) Apparatus and computer program product for implementing atomic data tracing
JP3204323B2 (ja) キャッシュメモリ内蔵マイクロプロセッサ
US5263153A (en) Monitoring control flow in a microprocessor
JPH0630075B2 (ja) キャッシュメモリを有するデータ処理装置
US6760835B1 (en) Instruction branch mispredict streaming
JP5128093B2 (ja) 複数のアドレス・キャッシュ・エントリを無効化する装置
JP2734468B2 (ja) プロセッサ
JP2773471B2 (ja) 情報処理装置
US5463760A (en) Break function in-circuit emulator for a microprocessor with a cache memory
JPH0520112A (ja) インサーキツトエミユレータ
US5421026A (en) Data processor for processing instruction after conditional branch instruction at high speed
JP2000148584A (ja) プリフェッチ方法および装置
JP3349911B2 (ja) マイクロプロセッサ及びその開発支援装置
JPS6252334B2 (ja)
JPH04340145A (ja) キャッシュメモリ装置
EP0229253A2 (en) Data processor with virtual memory management
JPS6010368A (ja) アドレス変換バツフア制御方式
JPH0795288B2 (ja) マイクロコンピュータ
JPH0212358A (ja) データ転送方式
JPS6286442A (ja) デ−タ処理装置
JPH0635787A (ja) ライトバッファ制御方式
JPH01307849A (ja) データアクセス装置