JPH113246A - キャッシュメモリ内蔵型マイクロコンピュータ - Google Patents
キャッシュメモリ内蔵型マイクロコンピュータInfo
- Publication number
- JPH113246A JPH113246A JP9156412A JP15641297A JPH113246A JP H113246 A JPH113246 A JP H113246A JP 9156412 A JP9156412 A JP 9156412A JP 15641297 A JP15641297 A JP 15641297A JP H113246 A JPH113246 A JP H113246A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- data
- microcomputer
- timing
- cache memory
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 84
- 238000012544 monitoring process Methods 0.000 claims abstract description 18
- 238000012545 processing Methods 0.000 claims description 9
- 238000010926 purge Methods 0.000 description 14
- 238000000034 method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- MJEMIOXXNCZZFK-UHFFFAOYSA-N ethylone Chemical compound CCNC(C)C(=O)C1=CC=C2OCOC2=C1 MJEMIOXXNCZZFK-UHFFFAOYSA-N 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【課題】 キャッシュメモリ内蔵型マイクロコンピュー
タにおいて、キャッシュメモリと外部メモリの一貫性を
保ちつつマイクロコンピュータを組み込んだシステムの
性能を向上させること、及びキャッシュメモリに取り込
まれたプログラムの実行結果を履歴に残せるようにする
こと。 【解決手段】 マイクロコンピュータの外部の共有メモ
リアクセスを監視する監視手段と、監視手段の出力状態
に基づいてマイクロコンピュータが命令用キャッシュメ
モリに格納したプログラム実行時にこの実行したプログ
ラムのアドレスを外部出力する出力手段と、監視手段の
出力状態に基づいてデータ用キャッシュメモリの任意の
データを無効にする無効手段と、監視手段の出力状態に
基づいてデータ用キャッシュメモリにデータを連続して
格納する格納手段と、無効手段の出力状態に基づいて任
意のデータをコンピュータ外部からデータ用キャッシュ
メモリに書き込む書込み手段とを有する。
タにおいて、キャッシュメモリと外部メモリの一貫性を
保ちつつマイクロコンピュータを組み込んだシステムの
性能を向上させること、及びキャッシュメモリに取り込
まれたプログラムの実行結果を履歴に残せるようにする
こと。 【解決手段】 マイクロコンピュータの外部の共有メモ
リアクセスを監視する監視手段と、監視手段の出力状態
に基づいてマイクロコンピュータが命令用キャッシュメ
モリに格納したプログラム実行時にこの実行したプログ
ラムのアドレスを外部出力する出力手段と、監視手段の
出力状態に基づいてデータ用キャッシュメモリの任意の
データを無効にする無効手段と、監視手段の出力状態に
基づいてデータ用キャッシュメモリにデータを連続して
格納する格納手段と、無効手段の出力状態に基づいて任
意のデータをコンピュータ外部からデータ用キャッシュ
メモリに書き込む書込み手段とを有する。
Description
【0001】
【発明の属する技術分野】本発明は、キャッシュメモリ
を内蔵したマイクロコンピュータに関し、特に、データ
用キャッシュメモリ内容の1部を無効にする手段と、マ
イクロコンピュータ外部から内蔵キャッシュメモリに書
き込む手段と、プログラムの実行結果を残す手段に関す
る。
を内蔵したマイクロコンピュータに関し、特に、データ
用キャッシュメモリ内容の1部を無効にする手段と、マ
イクロコンピュータ外部から内蔵キャッシュメモリに書
き込む手段と、プログラムの実行結果を残す手段に関す
る。
【0002】
【従来の技術】図4は特開平5−250257号に開示
されたキャッシュメモリ(以下、「キャッシュ」とい
う)内蔵型マイクロコンピュータのブロック図である。
キャッシュ内蔵型マイクロコンピュータでは、外部に接
続したメモリ(以下、「外部メモリ」)と内蔵キャッシ
ュの値を一致させること(以下、「一貫性」)が要求さ
れる。このキャッシュはいくつかのブロックで構成され
る。マイクロコンピュータは外部メモリからデータを一
度取り込むと、キャッシュのデータが有効(以下、「キ
ャッシュヒット」)であるとき、キャッシュにあるデー
タを使用する。キャッシュは高速アクセスが可能である
為、マイクロコンピュータの性能が向上する事になる。
キャッシュにデータが無い(以下、「ミスヒット」)と
きは外部メモリからデータを1ブロック分取り込む。1
ブロック分の取り込みを行うのに時間がかかるため、連
続アクセスしてデータを取り込むマイクロコンピュータ
が存在する。
されたキャッシュメモリ(以下、「キャッシュ」とい
う)内蔵型マイクロコンピュータのブロック図である。
キャッシュ内蔵型マイクロコンピュータでは、外部に接
続したメモリ(以下、「外部メモリ」)と内蔵キャッシ
ュの値を一致させること(以下、「一貫性」)が要求さ
れる。このキャッシュはいくつかのブロックで構成され
る。マイクロコンピュータは外部メモリからデータを一
度取り込むと、キャッシュのデータが有効(以下、「キ
ャッシュヒット」)であるとき、キャッシュにあるデー
タを使用する。キャッシュは高速アクセスが可能である
為、マイクロコンピュータの性能が向上する事になる。
キャッシュにデータが無い(以下、「ミスヒット」)と
きは外部メモリからデータを1ブロック分取り込む。1
ブロック分の取り込みを行うのに時間がかかるため、連
続アクセスしてデータを取り込むマイクロコンピュータ
が存在する。
【0003】図4のマイクロコンピュータが採用してい
る一貫性の実現方法について説明する。マイクロコンピ
ュータがキャッシュに対して書き込みを行った時には2
つの方法が用いられている。一つはマイクロコンピュー
タが書き込み動作をした時、必ず外部メモリにも書き込
む方法で、ライトスルー方式という。もう一つはキャッ
シュのデータのみ書き換えておき、必要な時に、外部メ
モリにも書き込む方法で、ライトバック方式又はコピー
バック方式という。
る一貫性の実現方法について説明する。マイクロコンピ
ュータがキャッシュに対して書き込みを行った時には2
つの方法が用いられている。一つはマイクロコンピュー
タが書き込み動作をした時、必ず外部メモリにも書き込
む方法で、ライトスルー方式という。もう一つはキャッ
シュのデータのみ書き換えておき、必要な時に、外部メ
モリにも書き込む方法で、ライトバック方式又はコピー
バック方式という。
【0004】次にリード動作における一貫性の問題につ
いて説明する。バスマスタがマイクロコンピュータ1台
だけの場合は、前記の書き込み方法でキャッシュと外部
メモリの一貫性が保たれている。しかし、バスマスタと
して他のマイクロコンピュータやDMAコントローラが
ある場合は、他のマイクロコンピュータやDMAコント
ローラにより、外部メモリのデータが書き換えられるこ
とになるため、キャッシュと外部メモリの一貫性が守ら
れないことになる。
いて説明する。バスマスタがマイクロコンピュータ1台
だけの場合は、前記の書き込み方法でキャッシュと外部
メモリの一貫性が保たれている。しかし、バスマスタと
して他のマイクロコンピュータやDMAコントローラが
ある場合は、他のマイクロコンピュータやDMAコント
ローラにより、外部メモリのデータが書き換えられるこ
とになるため、キャッシュと外部メモリの一貫性が守ら
れないことになる。
【0005】また、キャッシュを有するマイクロコンピ
ュータには別の重要な問題がある。すなわち、キャッシ
ュに取り込まれたプログラムを実行する際、プログラム
の実行結果をトレースする情報がマイクロコンピュータ
の外部に出てこないことである。
ュータには別の重要な問題がある。すなわち、キャッシ
ュに取り込まれたプログラムを実行する際、プログラム
の実行結果をトレースする情報がマイクロコンピュータ
の外部に出てこないことである。
【0006】図4の事例では、以下に述べる方法によ
り、キャッシュと外部メモリの一貫性の問題と、プログ
ラムの実行結果トレースの問題を解決している。すなわ
ち、一貫性を保つためキャッシュを無効にする(以下、
「パージする」)方法を採用している。パージされれば
必ず外部メモリからデータが取り込まれ、一貫性が保た
れる。つまり、外部メモリからデータが取り込まれる際
は、必ずキャッシュのブロックサイズ分のデータが取り
込まれることになる。図4の端子MA31−MA2は、
通常はマイクロコンピュータがアクセスするときのアド
レスを出力するが、パージするときは入力になり、パー
ジするアドレスを入力する。キャッシュパージタイミン
グ信号MASTBがアクティブの期間にキャッシュの1
つのブロックをパージすることになる。
り、キャッシュと外部メモリの一貫性の問題と、プログ
ラムの実行結果トレースの問題を解決している。すなわ
ち、一貫性を保つためキャッシュを無効にする(以下、
「パージする」)方法を採用している。パージされれば
必ず外部メモリからデータが取り込まれ、一貫性が保た
れる。つまり、外部メモリからデータが取り込まれる際
は、必ずキャッシュのブロックサイズ分のデータが取り
込まれることになる。図4の端子MA31−MA2は、
通常はマイクロコンピュータがアクセスするときのアド
レスを出力するが、パージするときは入力になり、パー
ジするアドレスを入力する。キャッシュパージタイミン
グ信号MASTBがアクティブの期間にキャッシュの1
つのブロックをパージすることになる。
【0007】実行トレースの動作について説明する。図
4におけるトレース情報選択信号MEANは端子MA3
1−MA2に有効なアドレスが出力されていることを示
す信号である。キャッシュがヒットしたときには端子M
A31−MA2にアドレスが出力されるため、トレース
情報選択信号MEANはアクティブになる。ミスヒット
のときはインアクティブのままである。
4におけるトレース情報選択信号MEANは端子MA3
1−MA2に有効なアドレスが出力されていることを示
す信号である。キャッシュがヒットしたときには端子M
A31−MA2にアドレスが出力されるため、トレース
情報選択信号MEANはアクティブになる。ミスヒット
のときはインアクティブのままである。
【0008】他の従来例として、モトローラ社のマイク
ロコンピュータMC68040の動作を説明する。図5
はのMC68040ブロック図である。MC68040
は、データ用キャッシュ、命令用キャッシュ、及びデー
タメモリユニット内に外部バス監視機能を持ち、マイク
ロコンピュータの外部からキャッシュのデータ書き換え
が可能な構成になっている。
ロコンピュータMC68040の動作を説明する。図5
はのMC68040ブロック図である。MC68040
は、データ用キャッシュ、命令用キャッシュ、及びデー
タメモリユニット内に外部バス監視機能を持ち、マイク
ロコンピュータの外部からキャッシュのデータ書き換え
が可能な構成になっている。
【0009】MC68040のスヌープコントローラは
外部からキャッシュに対して書き込みがあることを、バ
ス制御信号の状態と外部バスマスタが出力するアドレス
で知ることができる。外部からのキャッシュに対する書
き込みのとき、外部バスマスタが外部メモリにあるデー
タで、かつキャッシュに取り込んだデータを書き換えよ
うとすると、MC68040は外部バスマスタの外部メ
モリへのアクセスを禁止させ、キャッシュを外部に解放
し、キャッシュのデータを更新させるように動作する。
そして、外部メモリに書き戻す必要があるときはキャッ
シュのデータを書き戻す。これにより、外部メモリとキ
ャッシュの一貫性を保つ。しかし、MC68040はキ
ャッシュ内のプログラムを実行したときのプログラムの
実行結果を履歴に残す機能を備えていない。
外部からキャッシュに対して書き込みがあることを、バ
ス制御信号の状態と外部バスマスタが出力するアドレス
で知ることができる。外部からのキャッシュに対する書
き込みのとき、外部バスマスタが外部メモリにあるデー
タで、かつキャッシュに取り込んだデータを書き換えよ
うとすると、MC68040は外部バスマスタの外部メ
モリへのアクセスを禁止させ、キャッシュを外部に解放
し、キャッシュのデータを更新させるように動作する。
そして、外部メモリに書き戻す必要があるときはキャッ
シュのデータを書き戻す。これにより、外部メモリとキ
ャッシュの一貫性を保つ。しかし、MC68040はキ
ャッシュ内のプログラムを実行したときのプログラムの
実行結果を履歴に残す機能を備えていない。
【0010】
【発明が解決しようとする課題】以上説明した従来技術
の問題点は、マイクロコンピュータを組み込んだ応用シ
ステムにおいて高性能が得られないという点である。そ
れは、外部バスマスタがマイクロコンピュータであり、
外部メモリの1バイトのフラグにより2つのマイクロコ
ンピュータの同期を取る場合は、1バイトデータを書き
換えただけでパージしなければならなくなるからであ
り、また、フラグをリードするときデータを1ブロック
分取り込まなければならないので外部バスの空き時間が
少なくなるからである。
の問題点は、マイクロコンピュータを組み込んだ応用シ
ステムにおいて高性能が得られないという点である。そ
れは、外部バスマスタがマイクロコンピュータであり、
外部メモリの1バイトのフラグにより2つのマイクロコ
ンピュータの同期を取る場合は、1バイトデータを書き
換えただけでパージしなければならなくなるからであ
り、また、フラグをリードするときデータを1ブロック
分取り込まなければならないので外部バスの空き時間が
少なくなるからである。
【0011】一方、外部バスマスタとしてDMAコント
ローラを置いたシステムにおいて、キャッシュに取り込
んだデータをバーストモードで書き換える場合、DMA
転送時には、マイクロコンピュータ内部のデータアクセ
ス用バスは外部バスマスタに解放しているため使用でき
ない。マイクロコンピュータがキャッシュをアクセスす
るときは、このDMA転送が終了するまでプログラムの
実行を待たされることになる。
ローラを置いたシステムにおいて、キャッシュに取り込
んだデータをバーストモードで書き換える場合、DMA
転送時には、マイクロコンピュータ内部のデータアクセ
ス用バスは外部バスマスタに解放しているため使用でき
ない。マイクロコンピュータがキャッシュをアクセスす
るときは、このDMA転送が終了するまでプログラムの
実行を待たされることになる。
【0012】本発明の課題は、データ用と命令用の、少
なくとも2つのキャッシュを内蔵するキャッシュメモリ
内蔵型マイクロコンピュータにおいて、キャッシュと外
部メモリの一貫性を保ちつつマイクロコンピュータを組
み込んだシステムの性能を向上させること、及びキャッ
シュに取り込まれたプログラムの実行結果を履歴に残せ
るようにすることである。
なくとも2つのキャッシュを内蔵するキャッシュメモリ
内蔵型マイクロコンピュータにおいて、キャッシュと外
部メモリの一貫性を保ちつつマイクロコンピュータを組
み込んだシステムの性能を向上させること、及びキャッ
シュに取り込まれたプログラムの実行結果を履歴に残せ
るようにすることである。
【0013】
【課題を解決するための手段】上記の課題は、マイクロ
コンピュータ外部の共有メモリアクセスを監視する監視
手段と、監視手段の出力状態に基づき、命令用キャッシ
ュに格納したプログラムの実行時に該実行したプログラ
ムのアドレスを外部出力する出力手段と、監視手段の出
力状態に基づき、データ用キャッシュの任意のデータを
無効にする無効手段と、監視手段の出力状態に基づき、
データ用キャッシュにデータを連続して格納する格納手
段と、無効手段の出力状態に基づき、任意のデータをマ
イクロコンピュータの外部からデータ用キャッシュに書
き込む手段とを備えたキャッシュ内蔵型マイクロコンピ
ュータ、により達成することができる。
コンピュータ外部の共有メモリアクセスを監視する監視
手段と、監視手段の出力状態に基づき、命令用キャッシ
ュに格納したプログラムの実行時に該実行したプログラ
ムのアドレスを外部出力する出力手段と、監視手段の出
力状態に基づき、データ用キャッシュの任意のデータを
無効にする無効手段と、監視手段の出力状態に基づき、
データ用キャッシュにデータを連続して格納する格納手
段と、無効手段の出力状態に基づき、任意のデータをマ
イクロコンピュータの外部からデータ用キャッシュに書
き込む手段とを備えたキャッシュ内蔵型マイクロコンピ
ュータ、により達成することができる。
【0014】本発明のマイクロコンピュータでは、外部
バスマスタが外部共有メモリにアクセスすると、前記監
視手段が外部共有メモリアクセスを検出し、データ用キ
ャッシュメモリへの外部からの書き込みを許す。その場
合、データ用キャッシュにデータを連続して格納するこ
とができる。また、該監視結果に基づいて、命令用キャ
ッシュに格納したプログラムの実行アドレスを外部へ出
力すること、キャッシュのデータを無効にすること、及
びキャッシュのデータを書き換えることができる。これ
により、キャッシュと外部共有メモリの内容を効率的に
一致させ、プログラムの実行結果を外部アドレスメモリ
に残すことができるので、本発明のマイクロコンピュー
タを組み込んだシステムの性能を向上させることができ
る。
バスマスタが外部共有メモリにアクセスすると、前記監
視手段が外部共有メモリアクセスを検出し、データ用キ
ャッシュメモリへの外部からの書き込みを許す。その場
合、データ用キャッシュにデータを連続して格納するこ
とができる。また、該監視結果に基づいて、命令用キャ
ッシュに格納したプログラムの実行アドレスを外部へ出
力すること、キャッシュのデータを無効にすること、及
びキャッシュのデータを書き換えることができる。これ
により、キャッシュと外部共有メモリの内容を効率的に
一致させ、プログラムの実行結果を外部アドレスメモリ
に残すことができるので、本発明のマイクロコンピュー
タを組み込んだシステムの性能を向上させることができ
る。
【0015】
【発明の実施の形態】本発明の好適な実施形態として、
次の(イ)、(ロ)を挙げることができる。 (イ)前記無効手段と、前記書込み手段のいずれか一方
を選択する選択手段を有すること。
次の(イ)、(ロ)を挙げることができる。 (イ)前記無効手段と、前記書込み手段のいずれか一方
を選択する選択手段を有すること。
【0016】(ロ)前記無効手段による無効処理のタイ
ミング、前記書込み手段による書き込み処理のタイミン
グ、及び前記命令用キャッシュメモリに格納されている
プログラム実行処理のタイミングを合わせるタイミング
調整手段と、該タイミング調整手段によるタイミング調
整結果を外部に出力するタイミング出力手段とを有する
こと。
ミング、前記書込み手段による書き込み処理のタイミン
グ、及び前記命令用キャッシュメモリに格納されている
プログラム実行処理のタイミングを合わせるタイミング
調整手段と、該タイミング調整手段によるタイミング調
整結果を外部に出力するタイミング出力手段とを有する
こと。
【0017】実施形態(イ)は、状況に応じて無効手段
と書込み手段を選択することに関する。すなわち、外部
バスマスタがマイクロコンピュータであり、外部メモリ
に置いた1バイトのフラグで同期をとる場合は、書込み
手段を選択することによりキャッシュデータを書き換え
る方法を選択する。また、マイクロコンピュータ以外の
バスマスタがDMAコントローラであり、バーストモー
ドで連続にデータを転送する場合には、キャッシュのデ
ータの一部をマイクロコンピュータ外部よりパージする
方法を選択する。これにより、キャッシュデータの書き
換えとパージとを選択できる。また、パージを効果的に
使えるので、本発明のマイクロコンピュータを組み込ん
だシステムの性能を向上させることができる。
と書込み手段を選択することに関する。すなわち、外部
バスマスタがマイクロコンピュータであり、外部メモリ
に置いた1バイトのフラグで同期をとる場合は、書込み
手段を選択することによりキャッシュデータを書き換え
る方法を選択する。また、マイクロコンピュータ以外の
バスマスタがDMAコントローラであり、バーストモー
ドで連続にデータを転送する場合には、キャッシュのデ
ータの一部をマイクロコンピュータ外部よりパージする
方法を選択する。これにより、キャッシュデータの書き
換えとパージとを選択できる。また、パージを効果的に
使えるので、本発明のマイクロコンピュータを組み込ん
だシステムの性能を向上させることができる。
【0018】実施形態(ロ)は、各処理のタイミングを
調整することに関する。すなわち、外部バスマスタから
キャッシュへのパージやアクセスを行う場合は、タイミ
ング調整手段がアドレスをアドレスメモリに書き込むた
めのタイミング調整を行い、タイミング出力手段から外
部に制御信号を出力する。また、通常のプログラム実行
時には、実行アドレスを外部に出力する。これにより、
プログラムの実行結果を確実にアドレスメモリに残すこ
とができる。
調整することに関する。すなわち、外部バスマスタから
キャッシュへのパージやアクセスを行う場合は、タイミ
ング調整手段がアドレスをアドレスメモリに書き込むた
めのタイミング調整を行い、タイミング出力手段から外
部に制御信号を出力する。また、通常のプログラム実行
時には、実行アドレスを外部に出力する。これにより、
プログラムの実行結果を確実にアドレスメモリに残すこ
とができる。
【0019】
【実施例】本発明の好適な一実施例、及びこれを用いた
一応用例について、添付図面を参照しつつ説明する。図
1は実施例を説明するブロック図、図2はは図1に示す
マイクロコンピュータ各部のタイミング図、図3は図1
に示すマイクロコンピュータの応用例を示すブロック図
である。
一応用例について、添付図面を参照しつつ説明する。図
1は実施例を説明するブロック図、図2はは図1に示す
マイクロコンピュータ各部のタイミング図、図3は図1
に示すマイクロコンピュータの応用例を示すブロック図
である。
【0020】本発明にいう監視手段は、図1では外部の
共有メモリアクセスを監視する回路としての4NAND
(119)である。タイミング生成回路(105)でタ
イミング調整されたプログラムの実行アドレスは端子M
A31−MA2を介して出力される。また、データ用キ
ャッシュメモリの任意のデータを無効にする無効手段
は、コンパレータ(106)、3入力AND(10
7)、タイミング生成回路(112)で構成される。C
LRは無効を示す信号である。
共有メモリアクセスを監視する回路としての4NAND
(119)である。タイミング生成回路(105)でタ
イミング調整されたプログラムの実行アドレスは端子M
A31−MA2を介して出力される。また、データ用キ
ャッシュメモリの任意のデータを無効にする無効手段
は、コンパレータ(106)、3入力AND(10
7)、タイミング生成回路(112)で構成される。C
LRは無効を示す信号である。
【0021】データ用キャッシュメモリに連続してデー
タを格納する格納手段、及びマイクロコンピュータ外部
から任意のデータをデータ用キャッシュメモリに書き込
むための書込み手段は、書き込み制御回路(117)
と、外部バスマスタがキャッシュに書き込むタイミング
を入力する信号であるCEANと、外部メモリライトス
トローブであるMWR*(*は反転信号を示す。図1、
図2では上線で表示)と、外部マスタがバスを占有して
いることを示すHLDAK信号から構成される。監視手
段(119)はCAEN、MWR*、HLDAKの各信
号を使用することで、無効手段と書込み手段のどちらか
一方を選択する機能も有している。
タを格納する格納手段、及びマイクロコンピュータ外部
から任意のデータをデータ用キャッシュメモリに書き込
むための書込み手段は、書き込み制御回路(117)
と、外部バスマスタがキャッシュに書き込むタイミング
を入力する信号であるCEANと、外部メモリライトス
トローブであるMWR*(*は反転信号を示す。図1、
図2では上線で表示)と、外部マスタがバスを占有して
いることを示すHLDAK信号から構成される。監視手
段(119)はCAEN、MWR*、HLDAKの各信
号を使用することで、無効手段と書込み手段のどちらか
一方を選択する機能も有している。
【0022】無効手段による無効処理のタイミングを調
整するタイミング調整手段は前記タイミング生成回路
(112)である。書込み手段によるマイクロコンピュ
ータ外部から任意のデータをデータ用キャッシュメモリ
に書き込むタイミングを調整するタイミング調整手段は
CEANである。命令用キャッシュメモリに格納されて
いるプログラムの実行処理と、タイミング生成回路(1
12)及びCEANのタイミングを合わせるタイミング
調整手段はタイミング生成回路(116)である。タイ
ミング生成回路(116)で生成されたタイミング調整
結果は、タイミング出力手段MAACKを介して出力さ
れる。MAACKは端子MA31−MA2へパージアド
レスの入力タイミング信号を出力するための信号であ
る。
整するタイミング調整手段は前記タイミング生成回路
(112)である。書込み手段によるマイクロコンピュ
ータ外部から任意のデータをデータ用キャッシュメモリ
に書き込むタイミングを調整するタイミング調整手段は
CEANである。命令用キャッシュメモリに格納されて
いるプログラムの実行処理と、タイミング生成回路(1
12)及びCEANのタイミングを合わせるタイミング
調整手段はタイミング生成回路(116)である。タイ
ミング生成回路(116)で生成されたタイミング調整
結果は、タイミング出力手段MAACKを介して出力さ
れる。MAACKは端子MA31−MA2へパージアド
レスの入力タイミング信号を出力するための信号であ
る。
【0023】キャッシュヒット、ミスヒットを生成する
回路はコンパレータ(108)、2入力AND(10
9)、NOT回路(110)、2入力AND(113)
から構成され、ミスヒット信号は端子MISSを介して
出力される。また、キャッシュヒット信号は内部信号で
あるHITで表されている。
回路はコンパレータ(108)、2入力AND(10
9)、NOT回路(110)、2入力AND(113)
から構成され、ミスヒット信号は端子MISSを介して
出力される。また、キャッシュヒット信号は内部信号で
あるHITで表されている。
【0024】キャッシュメモリは、デコーダであるMD
EC(101)、RDEC(102)、タグメモリ部
(103)、データメモリ部(104)、前記無効手
段、前記ヒット、ミスヒット信号生成回路、前記書き込
み制御回路(117)から構成される。
EC(101)、RDEC(102)、タグメモリ部
(103)、データメモリ部(104)、前記無効手
段、前記ヒット、ミスヒット信号生成回路、前記書き込
み制御回路(117)から構成される。
【0025】端子MA31−MA2はプログラム実行ア
ドレスを出力するとともに、任意データを無効にすると
きのパージアドレス入力や、キャッシュへ書き込みをす
るときの書き込みアドレス入力にも使用される。端子R
A31−RA2は外部メモリアクセスをするときのアド
レスバス端子である。DBは外部メモリアクセスをする
ときのデータバス端子である。DOはプログラム実行結
果の履歴を残すためにヒットしたデータを出力する端子
である。DOは3ステータバッファ(114)を介して
出力される。NWR*は外部メモリライトストローブ、
MRD*は外部メモリリードストローブである。MEA
Nはプログラム実行結果をトレースするための書き込み
情報の選択信号であり、キャッシュにヒットしたときは
MA31−MA2の出力情報を、ミスヒットしたときは
RA31−RA2DBの情報を、開発支援装置のアドレ
スメモリに書き込ませるための選択信号である。
ドレスを出力するとともに、任意データを無効にすると
きのパージアドレス入力や、キャッシュへ書き込みをす
るときの書き込みアドレス入力にも使用される。端子R
A31−RA2は外部メモリアクセスをするときのアド
レスバス端子である。DBは外部メモリアクセスをする
ときのデータバス端子である。DOはプログラム実行結
果の履歴を残すためにヒットしたデータを出力する端子
である。DOは3ステータバッファ(114)を介して
出力される。NWR*は外部メモリライトストローブ、
MRD*は外部メモリリードストローブである。MEA
Nはプログラム実行結果をトレースするための書き込み
情報の選択信号であり、キャッシュにヒットしたときは
MA31−MA2の出力情報を、ミスヒットしたときは
RA31−RA2DBの情報を、開発支援装置のアドレ
スメモリに書き込ませるための選択信号である。
【0026】本実施例の動作について、図2のタイミン
グ図を参照しつつ説明する。まず、外部バスマスタがキ
ャッシュにライトするときを説明する。ホールドアクノ
リッジHLDAKとCAENが高電位(以下、「H
i」)、MWR*が低電位(以下、「Lo」)、MAS
TBがLoの状態である。書き込み制御回路(117)
が作動し、キャッシュへのライトストローブをアクティ
ブにする。MASTBがLoであるので、キャッシュの
パージは行われない。MEAN信号はHIT信号をタイ
ミング生成回路(111)へ入力し、タイミング調整後
に出力される。ここではHIT信号の1クロック遅れの
信号になっている。また、DOはHLDAKがアクティ
ブのとき外部バスマスタが外部のデータバスを使ってい
るため、高インピーダンスとなる。
グ図を参照しつつ説明する。まず、外部バスマスタがキ
ャッシュにライトするときを説明する。ホールドアクノ
リッジHLDAKとCAENが高電位(以下、「H
i」)、MWR*が低電位(以下、「Lo」)、MAS
TBがLoの状態である。書き込み制御回路(117)
が作動し、キャッシュへのライトストローブをアクティ
ブにする。MASTBがLoであるので、キャッシュの
パージは行われない。MEAN信号はHIT信号をタイ
ミング生成回路(111)へ入力し、タイミング調整後
に出力される。ここではHIT信号の1クロック遅れの
信号になっている。また、DOはHLDAKがアクティ
ブのとき外部バスマスタが外部のデータバスを使ってい
るため、高インピーダンスとなる。
【0027】次にHLDAKを使用すると思われるDR
AMリフレッシュについて考える。MASTBがLo、
CAENがLo、MWR*がHi、HLDAKがHiの
状態である。MWR*がHiであるのでキャッシュへの
書き込みは行われない。また、MASTBがLoである
のでキャッシュのパージも行われない。
AMリフレッシュについて考える。MASTBがLo、
CAENがLo、MWR*がHi、HLDAKがHiの
状態である。MWR*がHiであるのでキャッシュへの
書き込みは行われない。また、MASTBがLoである
のでキャッシュのパージも行われない。
【0028】次にマイクロコンピュータがキャッシュを
リードしたときの説明をする。MASTBがLo、CA
ENがLo、HLDAKがLo、MWR*がHi、MR
D*がHiの状態である。MASTBがLoであるので
キャッシュのパージは行われない。また、CAENがL
oであるのでキャッシュへの書き込みも行われない。H
IT信号がHi、HLDAKがLoであるのでヒットし
たデータはDOを介して出力される。
リードしたときの説明をする。MASTBがLo、CA
ENがLo、HLDAKがLo、MWR*がHi、MR
D*がHiの状態である。MASTBがLoであるので
キャッシュのパージは行われない。また、CAENがL
oであるのでキャッシュへの書き込みも行われない。H
IT信号がHi、HLDAKがLoであるのでヒットし
たデータはDOを介して出力される。
【0029】次に外部バスマスタが、キャッシュに取り
込まれたデータと同じデータを外部メモリからリードす
るときの説明をする。MASTBがLo、CAENがH
i、HLDAKがHi、MRD*がLo、MWR*がH
iの状態である。MASTBがLoであるのでキャッシ
ュのパージは行われない。また、MWR*がHiである
のでキャッシュへの書き込みは行われない。HIT信号
がHi、HLDAK信号がLoであるので、ヒットした
データはDOを介して出力される。
込まれたデータと同じデータを外部メモリからリードす
るときの説明をする。MASTBがLo、CAENがH
i、HLDAKがHi、MRD*がLo、MWR*がH
iの状態である。MASTBがLoであるのでキャッシ
ュのパージは行われない。また、MWR*がHiである
のでキャッシュへの書き込みは行われない。HIT信号
がHi、HLDAK信号がLoであるので、ヒットした
データはDOを介して出力される。
【0030】次にキャッシュをパージするときの説明を
する。ここではMASTBがHi、CAENがLo、H
LDAKがHi、MRD*がLo、MWR*がHiの状
態である。MASTBがHiであるので、コンパレータ
(106)、3入力AND(107)の出力信号CLR
がアクティブになりタグメモリ部の情報をクリアする。
CAENがLoであるのでキャッシュには書き込まれな
い。
する。ここではMASTBがHi、CAENがLo、H
LDAKがHi、MRD*がLo、MWR*がHiの状
態である。MASTBがHiであるので、コンパレータ
(106)、3入力AND(107)の出力信号CLR
がアクティブになりタグメモリ部の情報をクリアする。
CAENがLoであるのでキャッシュには書き込まれな
い。
【0031】次にマイクロコンピュータがキャッシュへ
書き込みをおこなったときの説明をする。MASTBが
Lo、CAENがLo、HLDAKがLo、MWR*が
Loの状態である。MASTBがLoであるのでクアッ
シュはパージされない。CAENがLoであるが、マイ
クロコンピュータ内部のキャッシュライトストローブC
MWR*がアクティブになるのでキャッシュへの書き込
みが行われる。同時にMWR*がLoであるので、外部
メモリにDOから出力されたデータが書き込まれる。ミ
スヒットのときは外部メモリから1ブロック分のリード
が行われる。
書き込みをおこなったときの説明をする。MASTBが
Lo、CAENがLo、HLDAKがLo、MWR*が
Loの状態である。MASTBがLoであるのでクアッ
シュはパージされない。CAENがLoであるが、マイ
クロコンピュータ内部のキャッシュライトストローブC
MWR*がアクティブになるのでキャッシュへの書き込
みが行われる。同時にMWR*がLoであるので、外部
メモリにDOから出力されたデータが書き込まれる。ミ
スヒットのときは外部メモリから1ブロック分のリード
が行われる。
【0032】次にプログラム実行結果のアドレス出力に
ついて説明する。図2のタイミング図では、0200H
番地と0300H番地の時にMAACKがHiの期間に
有効なプログラム実行アドレスが出力されている。出力
するアドレスを出力するタイミングまで保持しておくの
がタイミング生成回路(105)である。MA31−M
A2の入力、出力タイミングを決めているのはタイミン
グ生成回路(116)である。ここではHLDAK、M
ASTB、CAENの信号を使い、アドレス出力タイミ
ングを作っている。このタイミング信号はMAACK信
号として外部に出力している。
ついて説明する。図2のタイミング図では、0200H
番地と0300H番地の時にMAACKがHiの期間に
有効なプログラム実行アドレスが出力されている。出力
するアドレスを出力するタイミングまで保持しておくの
がタイミング生成回路(105)である。MA31−M
A2の入力、出力タイミングを決めているのはタイミン
グ生成回路(116)である。ここではHLDAK、M
ASTB、CAENの信号を使い、アドレス出力タイミ
ングを作っている。このタイミング信号はMAACK信
号として外部に出力している。
【0033】本実施例たるマイクロコンピュータの応用
例について、図3を参照して説明する。図3において、
アドレスメモリ(301)は、マイクロコンピュータ
(303)が実行したアドレスの履歴を記憶する。マル
チプレクサ(305)は、アドレスメモリに書く情報を
選択する回路である。プログラムの切り替え信号は、マ
イクロコンピュータ(303)が出力するMEAN信号
に基づき、アドレスメモリへの書き込み制御回路(30
4)で生成される。アドレスメモリに書き込まれるアド
レスは、マイクロコンピュータ(303)が外部メモリ
をアクセスするときはA31−A2を書き込み、キャッ
シュをアクセスしているときはMA31−MA2を書き
込む。また、キャッシュに対して外部からアクセスする
ときは、MAACK信号で3ステートバッファ(30
2)を切り替えることにより、MA31−MA2にアド
レスを入力することができる。このMA31−MA2を
アドレスメモリに書き込むことで、履歴に残すことが可
能になっている。
例について、図3を参照して説明する。図3において、
アドレスメモリ(301)は、マイクロコンピュータ
(303)が実行したアドレスの履歴を記憶する。マル
チプレクサ(305)は、アドレスメモリに書く情報を
選択する回路である。プログラムの切り替え信号は、マ
イクロコンピュータ(303)が出力するMEAN信号
に基づき、アドレスメモリへの書き込み制御回路(30
4)で生成される。アドレスメモリに書き込まれるアド
レスは、マイクロコンピュータ(303)が外部メモリ
をアクセスするときはA31−A2を書き込み、キャッ
シュをアクセスしているときはMA31−MA2を書き
込む。また、キャッシュに対して外部からアクセスする
ときは、MAACK信号で3ステートバッファ(30
2)を切り替えることにより、MA31−MA2にアド
レスを入力することができる。このMA31−MA2を
アドレスメモリに書き込むことで、履歴に残すことが可
能になっている。
【0034】
【発明の効果】本発明により、マイクロコンピュータの
キャッシュと外部メモリのデータの一貫性を保つ方法を
いつでも切り替えることができ、バスの使用頻度、キャ
ッシュの解放時間をシステムとして最適にすることがで
きるので、本発明に係るマイクロコンピュータを組み込
んだ応用システムの性能が向上する。
キャッシュと外部メモリのデータの一貫性を保つ方法を
いつでも切り替えることができ、バスの使用頻度、キャ
ッシュの解放時間をシステムとして最適にすることがで
きるので、本発明に係るマイクロコンピュータを組み込
んだ応用システムの性能が向上する。
【0035】また、キャッシュに取り込まれたプログラ
ムを実行するとき、プログラム実行結果を外部に出力す
る機能を備えているため、開発支援装置で実行結果の履
歴を残すことができる。
ムを実行するとき、プログラム実行結果を外部に出力す
る機能を備えているため、開発支援装置で実行結果の履
歴を残すことができる。
【図1】本発明の一実施例を説明するブロック図であ
る。
る。
【図2】実施例における各部のタイミング図である。
【図3】本発明の一応用例を説明するブロック図であ
る。
る。
【図4】従来例(特開平5−250257号所載)のブ
ロック図である。
ロック図である。
【図5】MC68040のブロック図である。
101…MDEC アドレスデコーダ 102…RDEC アドレスデコーダ 103…タグメモリ部 104…データメモリ部 105…アドレス出力タイミング生成回路 106…パージ用コンパレータ 107…3入力AND 108…ヒット、ミスヒット用コンパレータ 109…2入力AND 110…NOT回路 111…MEAN信号タイミング生成回路 112…MASTB信号タイミング生成回路 113…2入力AND 114…データ出力用3ステートバッファ 115…アドレス出力用3ステートバッファ 116…アドレス出力バッファ制御タイミング生成回路 117…書き込み制御回路 118…2入力AND 301…実行アドレス格納メモリ 302…3ステートバッファ 302…CPU(マイクロコンピュータ) 304…アドレスメモリ書き込み制御回路 305…MPX(マルチプレクサ) 401…2入力AND 402…アドレス出力ディレイ回路 501…浮動小数点ユニット 502…整数ユニット 503…命令メモリユニット 504…データメモリユニット 505…データキャッシュスヌープコントローラ 506…データATC 507…データキャッシュ 508…命令キャッシュ 509…命令ATC 510…命令キャッシュスヌープコントローラ MA31−MA2…パージアドレス、キャッシュ書き込
みアドレス入力とプログラム実行アドレスの出力 RA31−RA2…外部メモリアクセス時のアドレス DB…外部メモリアクセス時のアドレス DO…キャッシュヒットデータ MWR*…外部メモリライトストローブ MRD*…外部メモリリードストローブ MISS…ミスヒット信号 CAEN…キャッシュ書き込みタイミング信号 MASTB…キャッシュパージタイミング信号 MEAN…トレース情報選択信号 MAACK…パージアドレスの入力タイミング信号 CMWR*…マイクロコンピュータ内部のキャッシュラ
イトストローブ HLDAK…ホールドアクノリッジ信号
みアドレス入力とプログラム実行アドレスの出力 RA31−RA2…外部メモリアクセス時のアドレス DB…外部メモリアクセス時のアドレス DO…キャッシュヒットデータ MWR*…外部メモリライトストローブ MRD*…外部メモリリードストローブ MISS…ミスヒット信号 CAEN…キャッシュ書き込みタイミング信号 MASTB…キャッシュパージタイミング信号 MEAN…トレース情報選択信号 MAACK…パージアドレスの入力タイミング信号 CMWR*…マイクロコンピュータ内部のキャッシュラ
イトストローブ HLDAK…ホールドアクノリッジ信号
Claims (3)
- 【請求項1】データ用と命令用の、少なくとも2つのキ
ャッシュメモリを内蔵するキャッシュメモリ内蔵型マイ
クロコンピュータにおいて、 前記キャッシュメモリ内蔵型マイクロコンピュータの外
部の共有メモリアクセスを監視する監視手段と、 前記監視手段の出力状態に基づき、前記マイクロコンピ
ュータが前記命令用キャッシュメモリに格納したプログ
ラム実行時に該実行したプログラムのアドレスを外部出
力する出力手段と、 前記監視手段の出力状態に基づき、前記データ用キャッ
シュメモリの任意のデータを無効にする無効手段と、 前記監視手段の出力状態に基づき、前記データ用キャッ
シュメモリにデータを連続して格納する格納手段と、 前記無効手段の出力状態に基づき、任意のデータを前記
マイクロコンピュータ外部から前記データ用キャッシュ
メモリに書き込む書込み手段と、を有することを特徴と
するキャッシュメモリ内蔵型マイクロコンピュータ。 - 【請求項2】前記無効手段と、前記書込み手段のいずれ
か一方を選択する選択手段を有することを特徴とする、
請求項1記載のキャッシュメモリ内蔵型マイクロコンピ
ュータ。 - 【請求項3】前記無効手段による無効処理のタイミン
グ、前記書込み手段による書き込み処理のタイミング、
及び前記命令用キャッシュメモリに格納されているプロ
グラム実行処理のタイミングを合わせるタイミング調整
手段と、該タイミング調整手段によるタイミング調整結
果を外部に出力するタイミング出力手段とを有すること
を特徴とする、請求項1記載のキャッシュメモリ内蔵型
マイクロコンピュータ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9156412A JPH113246A (ja) | 1997-06-13 | 1997-06-13 | キャッシュメモリ内蔵型マイクロコンピュータ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9156412A JPH113246A (ja) | 1997-06-13 | 1997-06-13 | キャッシュメモリ内蔵型マイクロコンピュータ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH113246A true JPH113246A (ja) | 1999-01-06 |
Family
ID=15627192
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9156412A Pending JPH113246A (ja) | 1997-06-13 | 1997-06-13 | キャッシュメモリ内蔵型マイクロコンピュータ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH113246A (ja) |
-
1997
- 1997-06-13 JP JP9156412A patent/JPH113246A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3289661B2 (ja) | キャッシュメモリシステム | |
| US5802574A (en) | Method and apparatus for quickly modifying cache state | |
| JPH0250237A (ja) | マルチプロセッサ・データ処理システムおよびそれに用いられるキャッシュ装置 | |
| US7299335B2 (en) | Translation information retrieval transparent to processor core | |
| JP2010505195A (ja) | キャッシュ・メモリ・デバッグ・サポートを有するデータ処理システムおよびそのための方法 | |
| US7415576B2 (en) | Data processor with block transfer control | |
| JPH09237223A (ja) | バスブリッジを用いたコンピュータシステム | |
| US5590310A (en) | Method and structure for data integrity in a multiple level cache system | |
| KR100505695B1 (ko) | 동적으로 할당 또는 해제되는 버퍼를 가지는 캐쉬 메모리장치, 이를 구비한 디지털 데이터 처리 시스템 및 그 방법 | |
| US5748938A (en) | System and method for maintaining coherency of information transferred between multiple devices | |
| WO1997004392A1 (en) | Shared cache memory device | |
| JPH03248244A (ja) | キャッシュメモリを備えたプロセッサ | |
| JP2004030527A (ja) | 記憶制御装置、および記憶制御方法 | |
| US6594732B1 (en) | Computer system with memory system in which cache memory is kept clean | |
| JP3971807B2 (ja) | キャッシュ記憶装置および方法 | |
| JPH113246A (ja) | キャッシュメモリ内蔵型マイクロコンピュータ | |
| US6694468B1 (en) | Method and apparatus to test memory | |
| JPH07234819A (ja) | キャッシュメモリ | |
| JP3081635B2 (ja) | キャッシュメモリの無効化処理装置および無効化制御方法 | |
| JP2780555B2 (ja) | キャッシュ・メモリ内蔵型マイクロプロセッサ | |
| JPH06149669A (ja) | キャッシュデータ転送方式およびキャッシュデータ転送装置 | |
| KR970004520B1 (ko) | 고속 메모리 제어방법 및 장치 | |
| KR100201671B1 (ko) | 컴퓨팅 시스템 및 컴퓨팅 시스템의 캐시 메모리 이용방법 | |
| JP2780552B2 (ja) | キャッシュ・メモリ内蔵型マイクロプロセッサ | |
| JP2791319B2 (ja) | データ処理装置 |