JP2001134439A - キャッシュ予測プリロード装置、マイクロコンピュータ及び電子機器 - Google Patents
キャッシュ予測プリロード装置、マイクロコンピュータ及び電子機器Info
- Publication number
- JP2001134439A JP2001134439A JP31491799A JP31491799A JP2001134439A JP 2001134439 A JP2001134439 A JP 2001134439A JP 31491799 A JP31491799 A JP 31491799A JP 31491799 A JP31491799 A JP 31491799A JP 2001134439 A JP2001134439 A JP 2001134439A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- address
- instruction
- cache miss
- data
- 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.)
- Withdrawn
Links
Landscapes
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【課題】 少ないコストでキャッシュのパフォーマンス
を向上させることが可能なキャッシュ予測プリロード装
置、これを含むマイクロコンピュータ及び電子機器の提
供を目的とする。 【解決手段】 命令の実行アドレスの履歴を保持する実
行アドレス履歴テーブル10と、キャッシュミス時にキ
ャッシュに読み込んだキャッシュ読み込みアドレスに関
する情報をキャッシュミス発生の所与の数前の命令の実
行アドレスと関連付けて保持するキャッシュミス履歴テ
ーブル20と、命令の実行アドレスが前記キャッシュミ
ス発生の所与の数前の命令の実行アドレスと一致した場
合に、当該実行アドレスと関連付けてキャッシュミス履
歴テーブル20に保持されているキャッシュ読み込みア
ドレスに格納されたデータをラインバッファ30に読み
込む回路とを含むキャッシュ予測プリロード装置であ
る。
を向上させることが可能なキャッシュ予測プリロード装
置、これを含むマイクロコンピュータ及び電子機器の提
供を目的とする。 【解決手段】 命令の実行アドレスの履歴を保持する実
行アドレス履歴テーブル10と、キャッシュミス時にキ
ャッシュに読み込んだキャッシュ読み込みアドレスに関
する情報をキャッシュミス発生の所与の数前の命令の実
行アドレスと関連付けて保持するキャッシュミス履歴テ
ーブル20と、命令の実行アドレスが前記キャッシュミ
ス発生の所与の数前の命令の実行アドレスと一致した場
合に、当該実行アドレスと関連付けてキャッシュミス履
歴テーブル20に保持されているキャッシュ読み込みア
ドレスに格納されたデータをラインバッファ30に読み
込む回路とを含むキャッシュ予測プリロード装置であ
る。
Description
【0001】
【発明の属する技術分野】本発明は、キャッシュ予測プ
リロード装置、マイクロコンピュータ及び電子機器に関
する。
リロード装置、マイクロコンピュータ及び電子機器に関
する。
【0002】
【背景技術及び発明が解決しようとする課題】キャッシ
ュメモリは、主記憶のアクセス時間とCPUのサイクル
タイムの差(アクセスギャップ)を埋めるために両者の
間に置く高速にアクセス可能なメモリである。
ュメモリは、主記憶のアクセス時間とCPUのサイクル
タイムの差(アクセスギャップ)を埋めるために両者の
間に置く高速にアクセス可能なメモリである。
【0003】キャッシュメモリを用いたキャッシュシス
テムの有効性はプログラムが時間的にも空間的にも局所
集中型の参照を行う性質に起因している。多くのプログ
ラムはある時間帯を見たときに特定の領域を集中的かつ
繰り返し参照する性質がある。従ってその特定の領域を
低速だが大容量の主記憶に代わって高速にアクセス可能
なキャッシュメモリに置き換えることでマイクロコンピ
ュータのパフォーマンスを向上させることができる。
テムの有効性はプログラムが時間的にも空間的にも局所
集中型の参照を行う性質に起因している。多くのプログ
ラムはある時間帯を見たときに特定の領域を集中的かつ
繰り返し参照する性質がある。従ってその特定の領域を
低速だが大容量の主記憶に代わって高速にアクセス可能
なキャッシュメモリに置き換えることでマイクロコンピ
ュータのパフォーマンスを向上させることができる。
【0004】かかるキャッシュメモリと主記憶の対応付
けの方式としてフルアソシアティブ方式,ダイレクトマ
ッピング方式,セットアソシアティブ方式がある。
けの方式としてフルアソシアティブ方式,ダイレクトマ
ッピング方式,セットアソシアティブ方式がある。
【0005】図12はセットアソシアティブ方式のキャ
ッシュメモリの構成について説明するための概念図であ
る。
ッシュメモリの構成について説明するための概念図であ
る。
【0006】セットアソシアティブ方式は、キャッシュ
メモリと主記憶をブロック単位に分割し、この単位で対
応付ける方式である。図12に示すようにキャッシュメ
モリはアドレスアレイ(アドレス格納部)とデータアレ
イ(データ格納部)を含み、それぞれの部分はブロック
を要素とするE行S列のマトリックスを構成している。
ここでEをエレメント数(ウエイ数、セットサイズ)と
よび、Sをセット数という。アドレスアレイにはアドレ
ス(論理アドレス、あるいは物理アドレス)が格納さ
れ、データアレイにはアドレスアレイと1対1に対応
し、主記憶のコピーがおかれる。
メモリと主記憶をブロック単位に分割し、この単位で対
応付ける方式である。図12に示すようにキャッシュメ
モリはアドレスアレイ(アドレス格納部)とデータアレ
イ(データ格納部)を含み、それぞれの部分はブロック
を要素とするE行S列のマトリックスを構成している。
ここでEをエレメント数(ウエイ数、セットサイズ)と
よび、Sをセット数という。アドレスアレイにはアドレ
ス(論理アドレス、あるいは物理アドレス)が格納さ
れ、データアレイにはアドレスアレイと1対1に対応
し、主記憶のコピーがおかれる。
【0007】キャッシュメモリに主記憶の実アドレスが
与えられると、実アドレスのセットアドレス部分でアド
レスアレイの列を選択する。選択したE個のアドレスア
レイの内容と実アドレスの内容をE個の比較器で並列に
比較する。一致するものがあった場合(これをキャッシ
ュヒットと呼ぶ)はデータアレイから目的のデータがと
りだされ使用される。一致するものがない場合(これを
キャッシュミスという)は、主記憶からデータをとりだ
して使用することになる。
与えられると、実アドレスのセットアドレス部分でアド
レスアレイの列を選択する。選択したE個のアドレスア
レイの内容と実アドレスの内容をE個の比較器で並列に
比較する。一致するものがあった場合(これをキャッシ
ュヒットと呼ぶ)はデータアレイから目的のデータがと
りだされ使用される。一致するものがない場合(これを
キャッシュミスという)は、主記憶からデータをとりだ
して使用することになる。
【0008】セットアソシアティブ方式では主記憶上に
あるデータはキャッシュメモリのどこにでも読み出され
るものではなくそのブロックのセットアドレスによって
決まるE個のブロックのうちどれかとだけ対応づけられ
る。
あるデータはキャッシュメモリのどこにでも読み出され
るものではなくそのブロックのセットアドレスによって
決まるE個のブロックのうちどれかとだけ対応づけられ
る。
【0009】セットアソシアティブ方式は現在主流の方
式であり、2ウェイと4ウェイがよく用いられ、同一セ
ットアドレスを2つあるいは4つ使える様になっている
が、それ以上の同一セットアドレスが存在すれば、ライ
ンの入れ替えが発生して実行時間が遅くなってしまうと
いう欠点がある。
式であり、2ウェイと4ウェイがよく用いられ、同一セ
ットアドレスを2つあるいは4つ使える様になっている
が、それ以上の同一セットアドレスが存在すれば、ライ
ンの入れ替えが発生して実行時間が遅くなってしまうと
いう欠点がある。
【0010】フルアソシアティブ方式はセットアソシア
ティブ方式においてセット数Sを1としたものである。
この方式は主記憶上のブロックをキャッシュメモリのど
のブロックにでも対応づけることができるものでヒット
率は向上するが、エレメントの数がふえ比較器が各エレ
メント毎に必要なため回路規模が大きくなり、キャッシ
ュメモリ構築のコストが高くなるという欠点がある。
ティブ方式においてセット数Sを1としたものである。
この方式は主記憶上のブロックをキャッシュメモリのど
のブロックにでも対応づけることができるものでヒット
率は向上するが、エレメントの数がふえ比較器が各エレ
メント毎に必要なため回路規模が大きくなり、キャッシ
ュメモリ構築のコストが高くなるという欠点がある。
【0011】ダイレクトマッピング方式はセットアソシ
アティブ方式においてエレメント数Eを1としたもので
ある。この方式は比較器は1個ですみキャッシュメモリ
構築のコストは他の方式に比べて低いが、ヒット率は他
の方式に比べて低くなる。たとえば処理中のループ内に
同一のセットアドレスのフィールドが2つ以上存在する
場合にはエレメントの入れ替えが常に発生してしまい実
行時間の遅延を招くという欠点がある。
アティブ方式においてエレメント数Eを1としたもので
ある。この方式は比較器は1個ですみキャッシュメモリ
構築のコストは他の方式に比べて低いが、ヒット率は他
の方式に比べて低くなる。たとえば処理中のループ内に
同一のセットアドレスのフィールドが2つ以上存在する
場合にはエレメントの入れ替えが常に発生してしまい実
行時間の遅延を招くという欠点がある。
【0012】このように従来のキャッシュシステムにお
いてはキャッシュのヒット率を向上させようとすると、
キャッシュメモリのサイズや回路規模が大きくなり、キ
ャッシュメモリ構築のコストが高くなるという問題点が
あった。
いてはキャッシュのヒット率を向上させようとすると、
キャッシュメモリのサイズや回路規模が大きくなり、キ
ャッシュメモリ構築のコストが高くなるという問題点が
あった。
【0013】本発明は、以上のような問題点に鑑みてな
されたものであり、その目的とするところは、少ないコ
ストでキャッシュのパフォーマンスを向上させることが
可能なキャッシュ予測プリロード装置、これを含むマイ
クロコンピュータ及び電子機器の提供を目的とする。
されたものであり、その目的とするところは、少ないコ
ストでキャッシュのパフォーマンスを向上させることが
可能なキャッシュ予測プリロード装置、これを含むマイ
クロコンピュータ及び電子機器の提供を目的とする。
【0014】
【課題を解決するための手段】本発明のキャッシュ予測
プリロード装置は、命令の実行アドレスが過去にキャッ
シュミスが発生した命令の実行アドレスに近づいた際
に、キャッシュミス時にキャッシュに読み込むべきデー
タを所与のバッファに読み込むために必要な回路を含む
ことを特徴とする。
プリロード装置は、命令の実行アドレスが過去にキャッ
シュミスが発生した命令の実行アドレスに近づいた際
に、キャッシュミス時にキャッシュに読み込むべきデー
タを所与のバッファに読み込むために必要な回路を含む
ことを特徴とする。
【0015】ここにおいてキャッシュミス時にキャッシ
ュに読み込むべきデータは命令コードでもよいし、命令
コードのオペランドで指定されたアドレスに存在するデ
ータでもよい。これはキャッシュメモリがコード型でも
データ型でも統合型でもよいことを意味する。
ュに読み込むべきデータは命令コードでもよいし、命令
コードのオペランドで指定されたアドレスに存在するデ
ータでもよい。これはキャッシュメモリがコード型でも
データ型でも統合型でもよいことを意味する。
【0016】所与のバッファとは、主記憶よりもアクセ
スタイムの短い場所に設けることが必要であり、例えば
キャッシュ予測プリロード装置内の内部バッファ等が好
ましい。
スタイムの短い場所に設けることが必要であり、例えば
キャッシュ予測プリロード装置内の内部バッファ等が好
ましい。
【0017】プログラムは時間的局所性を有するため、
過去にキャッシュミスを起こしたアドレスが再び参照さ
れる可能性が高い。
過去にキャッシュミスを起こしたアドレスが再び参照さ
れる可能性が高い。
【0018】本発明によれば、過去にキャッシュミスが
発生した命令が実行される前にあらかじめキャッシュミ
ス時にキャッシュに読み込むべきデータを所与のバッフ
ァに読み込むことができるため、同個所で再びキャッシ
ュミスを起こした場合のペナルティを最小限に抑えるこ
とができる。
発生した命令が実行される前にあらかじめキャッシュミ
ス時にキャッシュに読み込むべきデータを所与のバッフ
ァに読み込むことができるため、同個所で再びキャッシ
ュミスを起こした場合のペナルティを最小限に抑えるこ
とができる。
【0019】またキャッシュミスが発生しやすいコード
やデータ配置のプログラムであっても、キャッシュミス
が連続して発生することを防止することができる。
やデータ配置のプログラムであっても、キャッシュミス
が連続して発生することを防止することができる。
【0020】また所与のバッファに読み込んだデータを
キャッシュミス時にキャッシュメモリに供給することに
より、キャッシュヒット率の低い低容量のキャッシュメ
モリのシステムのパフォーマンスの向上を図ることもで
きる。
キャッシュミス時にキャッシュメモリに供給することに
より、キャッシュヒット率の低い低容量のキャッシュメ
モリのシステムのパフォーマンスの向上を図ることもで
きる。
【0021】本発明のキャッシュ予測プリロード装置
は、キャッシュミス時のキャッシュ読み込みアドレスに
関する情報をキャッシュミス発生の所与の数前の命令の
実行アドレスと関連付けて保持するキャッシュミス履歴
保持回路と、命令の実行アドレスが前記キャッシュミス
発生の所与の数前の命令の実行アドレスと一致した場合
に、当該実行アドレスと関連付けてキャッシュミス履歴
保持回路に保持されているキャッシュ読み込みアドレス
に格納されたデータを主記憶装置から所与のバッファに
読み込む回路とを含むことを特徴とする。
は、キャッシュミス時のキャッシュ読み込みアドレスに
関する情報をキャッシュミス発生の所与の数前の命令の
実行アドレスと関連付けて保持するキャッシュミス履歴
保持回路と、命令の実行アドレスが前記キャッシュミス
発生の所与の数前の命令の実行アドレスと一致した場合
に、当該実行アドレスと関連付けてキャッシュミス履歴
保持回路に保持されているキャッシュ読み込みアドレス
に格納されたデータを主記憶装置から所与のバッファに
読み込む回路とを含むことを特徴とする。
【0022】本発明によれば、過去にキャッシュミスが
発生した個所の所与の数前の命令が実行されたときに、
キャッシュ読み込みアドレスに格納されたデータを所与
のバッファに読み込むことができる。
発生した個所の所与の数前の命令が実行されたときに、
キャッシュ読み込みアドレスに格納されたデータを所与
のバッファに読み込むことができる。
【0023】なおキャッシュ読み込みアドレスは物理ア
ドレスでもよいし、論理アドレスでもよい。
ドレスでもよいし、論理アドレスでもよい。
【0024】本発明のキャッシュ予測プリロード装置
は、命令の実行アドレスの履歴を保持する実行アドレス
履歴保持回路と、キャッシュミスが発生した場合に、所
与の数前に実行された命令の実行アドレスを前記実行ア
ドレス保持回路から読み出し、読み出した実行アドレス
とキャッシュミス時のキャッシュ読み込みアドレスに関
する情報とを関連付けて前記キャッシュミス履歴保持回
路に格納する回路を含むことを特徴とする。
は、命令の実行アドレスの履歴を保持する実行アドレス
履歴保持回路と、キャッシュミスが発生した場合に、所
与の数前に実行された命令の実行アドレスを前記実行ア
ドレス保持回路から読み出し、読み出した実行アドレス
とキャッシュミス時のキャッシュ読み込みアドレスに関
する情報とを関連付けて前記キャッシュミス履歴保持回
路に格納する回路を含むことを特徴とする。
【0025】実行キャッシュミス履歴保持回路を備える
ことにより、キャッシュミスが発生した場合、その所与
の数前の実行アドレスを取り出すことができる。
ことにより、キャッシュミスが発生した場合、その所与
の数前の実行アドレスを取り出すことができる。
【0026】なお所与の数は、命令の実行サイクルと主
記憶へのアクセスタイムに基づいて適当な値に定めるこ
とができる。
記憶へのアクセスタイムに基づいて適当な値に定めるこ
とができる。
【0027】本発明のキャッシュ予測プリロード装置
は、命令の実行アドレスとしてプログラムカウンタの値
を用いることを特徴とする。
は、命令の実行アドレスとしてプログラムカウンタの値
を用いることを特徴とする。
【0028】プログラムカウンタの値を用いることによ
り、簡単な回路構成で命令の実行アドレスを取得するこ
とができる。
り、簡単な回路構成で命令の実行アドレスを取得するこ
とができる。
【0029】本発明はキャッシュメモリと上記いずれか
に記載のキャッシュ予測プリロード装置を含むマイクロ
コンピュータであって、キャッシュメモリでキャッシュ
ミスが発生した場合にキャッシュ予測プリロード装置内
にキャッシュミス発生アドレスに格納されているデータ
がある場合には、キャッシュ予測プリロード装置がキャ
ッシュメモリまたはCPUに前記データを供給すること
を特徴とする。
に記載のキャッシュ予測プリロード装置を含むマイクロ
コンピュータであって、キャッシュメモリでキャッシュ
ミスが発生した場合にキャッシュ予測プリロード装置内
にキャッシュミス発生アドレスに格納されているデータ
がある場合には、キャッシュ予測プリロード装置がキャ
ッシュメモリまたはCPUに前記データを供給すること
を特徴とする。
【0030】本発明によればキャッシュミスが発生した
場合にキャッシュ予測プリロード装置にデータを有して
いれば主記憶からキャッシュメモリにデータを読みこむ
場合に比べて格段に早く実行することが可能である。
場合にキャッシュ予測プリロード装置にデータを有して
いれば主記憶からキャッシュメモリにデータを読みこむ
場合に比べて格段に早く実行することが可能である。
【0031】本発明のキャッシュ予測プリロード装置を
組み込むことにより、ヒット率の向上が困難な低容量の
キャッシュメモリを採用しているマイクロコンピュータ
のパフォーマンスの向上を図ることができる。このた
め、実行速度の速い高性能なマイクロコンピュータを低
コストで提供することができる。
組み込むことにより、ヒット率の向上が困難な低容量の
キャッシュメモリを採用しているマイクロコンピュータ
のパフォーマンスの向上を図ることができる。このた
め、実行速度の速い高性能なマイクロコンピュータを低
コストで提供することができる。
【0032】本発明のマイクロコンピュータは、キャッ
シュメモリ及びキャッシュ予測プリロード装置に接続さ
れ、バスコントローラを介して主記憶装置にアクセス可
能な調停回路を含み、前記調停回路は、キャッシュミス
発生時にキャッシュミス発生アドレスに格納されている
データがキャッシュ予測プリロード装置の内部バッファ
にある場合には、当該内部バッファからキャッシュメモ
リにデータを供給し、前記内部バッファにない場合には
主記憶装置からキャッシュメモリにデータを供給するこ
とを特徴とする。
シュメモリ及びキャッシュ予測プリロード装置に接続さ
れ、バスコントローラを介して主記憶装置にアクセス可
能な調停回路を含み、前記調停回路は、キャッシュミス
発生時にキャッシュミス発生アドレスに格納されている
データがキャッシュ予測プリロード装置の内部バッファ
にある場合には、当該内部バッファからキャッシュメモ
リにデータを供給し、前記内部バッファにない場合には
主記憶装置からキャッシュメモリにデータを供給するこ
とを特徴とする。
【0033】本発明によればキャッシュメモリでキャッ
シュミスが発生した場合でも、既に外部メモリからキャ
ッシュ予測プリロード装置の内部バッファに読み込みが
されている場合であれば、調停回路を経由してキャッシ
ュ予測プリロード装置の内部バッファからキャッシュメ
モリにノーウェイトで転送する事ができる。このため、
外部メモリ等におかれた主記憶装置に対してキャッシュ
フィルをする場合と比較して非常に高速にリカバリが可
能である。
シュミスが発生した場合でも、既に外部メモリからキャ
ッシュ予測プリロード装置の内部バッファに読み込みが
されている場合であれば、調停回路を経由してキャッシ
ュ予測プリロード装置の内部バッファからキャッシュメ
モリにノーウェイトで転送する事ができる。このため、
外部メモリ等におかれた主記憶装置に対してキャッシュ
フィルをする場合と比較して非常に高速にリカバリが可
能である。
【0034】なお、前記調停回路は、キャッシュメモリ
が主記憶装置にアクセスを行っていない間にキャッシュ
予測プリロード装置が主記憶装置から読み込みを行うよ
うにすることが好ましい。このようにすることでキャッ
シュ予測プリロード装置はキャッシュメモリと同様にバ
スコントローラ経由で主記憶装置に独立してアクセス可
能となり、キャッシュにヒットしつづけている間に、そ
の先でキャッシュミスする事が予測されるアドレスのデ
ータをプリロード装置の内部バッファに予め読み込んで
おくことができる。
が主記憶装置にアクセスを行っていない間にキャッシュ
予測プリロード装置が主記憶装置から読み込みを行うよ
うにすることが好ましい。このようにすることでキャッ
シュ予測プリロード装置はキャッシュメモリと同様にバ
スコントローラ経由で主記憶装置に独立してアクセス可
能となり、キャッシュにヒットしつづけている間に、そ
の先でキャッシュミスする事が予測されるアドレスのデ
ータをプリロード装置の内部バッファに予め読み込んで
おくことができる。
【0035】本発明のマイクロコンピュータは命令の実
行アドレスが過去にキャッシュミスが発生した命令の実
行アドレスに近づいた際に、キャッシュミス時にキャッ
シュロードすべきデータをキャッシュメモリに読み込む
ために必要な回路を含むことを特徴とする。
行アドレスが過去にキャッシュミスが発生した命令の実
行アドレスに近づいた際に、キャッシュミス時にキャッ
シュロードすべきデータをキャッシュメモリに読み込む
ために必要な回路を含むことを特徴とする。
【0036】ここにおいてキャッシュメモリは1次キャ
ッシュでもよいし、2次キャッシュでもよい。
ッシュでもよいし、2次キャッシュでもよい。
【0037】キャッシュメモリに読み込むために必要な
回路とは、例えばキャッシュコントローラに読み込み指
示を行う回路等である。
回路とは、例えばキャッシュコントローラに読み込み指
示を行う回路等である。
【0038】本発明の電子機器は、上記いずれかに記載
のマイクロコンピュータと、前記マイクロコンピュータ
の処理対象となるデータの入力手段と、前記マイクロコ
ンピュータにより処理されたデータを出力するための出
力手段とを含むことを特徴とする。
のマイクロコンピュータと、前記マイクロコンピュータ
の処理対象となるデータの入力手段と、前記マイクロコ
ンピュータにより処理されたデータを出力するための出
力手段とを含むことを特徴とする。
【0039】本発明によれば処理速度の速い高性能な電
子機器を低コストで提供することができる。
子機器を低コストで提供することができる。
【0040】
【発明の実施の形態】以下、本発明の好適な実施形態に
ついて図面を用いて詳細に説明する。
ついて図面を用いて詳細に説明する。
【0041】1.キャッシュ予測プリロード装置 本実施の形態のキャッシュ予測プリロード装置の特徴
は、命令の実行アドレスが過去にキャッシュミスが発生
した命令の実行アドレスに近づいた際に、キャッシュミ
ス時にキャッシュロードすべきデータをあらかじめ内部
バッファに読み込んでおき、キャッシュミス時に発生す
る実行速度の遅延を最小限にする点にある。
は、命令の実行アドレスが過去にキャッシュミスが発生
した命令の実行アドレスに近づいた際に、キャッシュミ
ス時にキャッシュロードすべきデータをあらかじめ内部
バッファに読み込んでおき、キャッシュミス時に発生す
る実行速度の遅延を最小限にする点にある。
【0042】図1は本実施の形態の特徴を実現するため
の概念的な構成について説明するための図である。
の概念的な構成について説明するための図である。
【0043】本実施の形態のキャッシュ予測プリロード
装置は、キャッシュミス時の数命令前の命令の実行アド
レス22をキャッシュ読み込みアドレス24と関連付け
て保持するキャッシュミス履歴テーブル20を備える。
キャッシュミス時の命令の実行アドレスでなくその数命
令前の命令の実行アドレスを保持するのは、キャッシュ
ミスの発生を事前に予測して、その発生前に該当データ
をキャッシュ予測プリロード装置の内部バッファに読み
込みこんでおくためである。
装置は、キャッシュミス時の数命令前の命令の実行アド
レス22をキャッシュ読み込みアドレス24と関連付け
て保持するキャッシュミス履歴テーブル20を備える。
キャッシュミス時の命令の実行アドレスでなくその数命
令前の命令の実行アドレスを保持するのは、キャッシュ
ミスの発生を事前に予測して、その発生前に該当データ
をキャッシュ予測プリロード装置の内部バッファに読み
込みこんでおくためである。
【0044】この為に本実施の形態では実行アドレス履
歴テーブル10を用意している。実行アドレス履歴テー
ブル10には、命令の実行アドレスが時系列にFIFO
形式で格納される。
歴テーブル10を用意している。実行アドレス履歴テー
ブル10には、命令の実行アドレスが時系列にFIFO
形式で格納される。
【0045】そしてキャッシュミス発生時に、この実行
アドレス履歴テーブル10を参照して数命令前の命令の
実行アドレスを読み出し、キャッシュ読み込みアドレス
24と関連付けてキャッシュミス履歴テーブル20に格
納する。
アドレス履歴テーブル10を参照して数命令前の命令の
実行アドレスを読み出し、キャッシュ読み込みアドレス
24と関連付けてキャッシュミス履歴テーブル20に格
納する。
【0046】これにより、過去にキャッシュミスを起こ
した命令が実行される数命令前に、キャッシュミス時に
キャッシュロードすべきデータを内部バッファに読み込
むことができる。
した命令が実行される数命令前に、キャッシュミス時に
キャッシュロードすべきデータを内部バッファに読み込
むことができる。
【0047】図2は本実施の形態のキャッシュ予測プリ
ロード装置の構成の一例について説明するための図であ
る。
ロード装置の構成の一例について説明するための図であ
る。
【0048】本実施の形態のキャッシュ予測プリロード
装置200は、CPU110に接続され、バスコントロ
ーラ140を介して外部メモリ150にアクセス可能に
構成されている。ここにおいてキャッシュ予測プリロー
ド装置200は、プリロード装置100とキャッシュメ
モリ120と調停装置130とを含むが、キャッシュメ
モリ120及び調停装置は130は任意要素である。
装置200は、CPU110に接続され、バスコントロ
ーラ140を介して外部メモリ150にアクセス可能に
構成されている。ここにおいてキャッシュ予測プリロー
ド装置200は、プリロード装置100とキャッシュメ
モリ120と調停装置130とを含むが、キャッシュメ
モリ120及び調停装置は130は任意要素である。
【0049】外部メモリ150は主記憶として機能する
大容量低速のメモリである。
大容量低速のメモリである。
【0050】キャッシュメモリ120は主記憶のアクセ
ス時間とCPUのサイクルタイムの差(アクセスギャッ
プ)を埋めるために両者の間に置かれた高速小容量のメ
モリであり、外部メモリ150の一部のデータを記憶し
ている。
ス時間とCPUのサイクルタイムの差(アクセスギャッ
プ)を埋めるために両者の間に置かれた高速小容量のメ
モリであり、外部メモリ150の一部のデータを記憶し
ている。
【0051】キャッシュメモリ120は、コード型、デ
ータ型、統合型のいずれのタイプでもよい。またフルア
ソシアティブ方式,ダイレクトマッピング方式,セット
アソシアティブ方式のいずれのタイプでもよいが、回路
規模が小さくてすむがヒット率が低いダイレクトマッピ
ング方式やセットアソシアティブ方式の場合に特に効果
的である。
ータ型、統合型のいずれのタイプでもよい。またフルア
ソシアティブ方式,ダイレクトマッピング方式,セット
アソシアティブ方式のいずれのタイプでもよいが、回路
規模が小さくてすむがヒット率が低いダイレクトマッピ
ング方式やセットアソシアティブ方式の場合に特に効果
的である。
【0052】キャッシュメモリ120はキャッシュ制御
回路160を含む。キャッシュ制御回路160は、CP
U110が主記憶からデータを取り出す読み込みサイク
ルを発行すると、当該データがキャッシュメモリ内にあ
ればそこから読み出すための制御を行う。キャッシュメ
モリ120にない場合にはプリロード装置100に対し
て、キャッシュミス信号162及びキャッシュ読み込み
アドレス信号164を出力する。これに対してプリロー
ド装置100からラインバッファヒット信号102を受
けると、調停装置130は外部メモリ150ではなくプ
リロード装置100から当該データの読み込みを行うよ
う制御する。外部メモリ150にアクセスしなくてもよ
い為、ノーウェイトでの高速アクセスが可能となる。当
該データがプリロード装置100にもない場合には外部
メモリ150から読み出すための制御を行う。
回路160を含む。キャッシュ制御回路160は、CP
U110が主記憶からデータを取り出す読み込みサイク
ルを発行すると、当該データがキャッシュメモリ内にあ
ればそこから読み出すための制御を行う。キャッシュメ
モリ120にない場合にはプリロード装置100に対し
て、キャッシュミス信号162及びキャッシュ読み込み
アドレス信号164を出力する。これに対してプリロー
ド装置100からラインバッファヒット信号102を受
けると、調停装置130は外部メモリ150ではなくプ
リロード装置100から当該データの読み込みを行うよ
う制御する。外部メモリ150にアクセスしなくてもよ
い為、ノーウェイトでの高速アクセスが可能となる。当
該データがプリロード装置100にもない場合には外部
メモリ150から読み出すための制御を行う。
【0053】プリロード装置100は、CPU110か
ら実行アドレス112を受け取り、当該実行アドレスが
過去にキャッシュミスを起こした命令が実行される数命
令前の命令の実行アドレスに該当する場合には、キャッ
シュミス時にキャッシュメモリ120に読み込むべきデ
ータを調停装置130及びバスコントローラ140を介
して外部メモリ150から事前に内部のラインバッファ
に読み込む処理を行う。
ら実行アドレス112を受け取り、当該実行アドレスが
過去にキャッシュミスを起こした命令が実行される数命
令前の命令の実行アドレスに該当する場合には、キャッ
シュミス時にキャッシュメモリ120に読み込むべきデ
ータを調停装置130及びバスコントローラ140を介
して外部メモリ150から事前に内部のラインバッファ
に読み込む処理を行う。
【0054】そして、キャッシュミス発生時にキャッシ
ュ制御回路160からキャッシュミス信号162及びキ
ャッシュ読み込みアドレス信号164を受けると、キャ
ッシュ読み込みアドレスに該当するデータが内部のライ
ンバッファにある場合には、ラインバッファヒット信号
102をキャッシュ制御回路120に向け出力する。
ュ制御回路160からキャッシュミス信号162及びキ
ャッシュ読み込みアドレス信号164を受けると、キャ
ッシュ読み込みアドレスに該当するデータが内部のライ
ンバッファにある場合には、ラインバッファヒット信号
102をキャッシュ制御回路120に向け出力する。
【0055】命令の実行アドレスとしては、例えば実行
されたプログラムカウンタの値を受け取るようにしても
よい。
されたプログラムカウンタの値を受け取るようにしても
よい。
【0056】調停装置130は、キャッシュメモリ12
0及びプリロード装置100とバスコントローラ140
のやり取りの調停を行う装置である。
0及びプリロード装置100とバスコントローラ140
のやり取りの調停を行う装置である。
【0057】調停装置130は、プリロード装置100
から外部メモリ150への優先順位を低くして、キャッ
シュメモリ120から外部メモリ150へのアクセスが
無くバスコントローラ140が空いている時に、プリロ
ード装置100がキャッシュミスになると予測されるデ
ータを読み込むように制御する。
から外部メモリ150への優先順位を低くして、キャッ
シュメモリ120から外部メモリ150へのアクセスが
無くバスコントローラ140が空いている時に、プリロ
ード装置100がキャッシュミスになると予測されるデ
ータを読み込むように制御する。
【0058】このようにすると通常のキャッシュミス時
のように処理を中断して外部メモリ150へ読み込みに
いく必要がなくなるので無駄な外部アクセスが無くなる
分実行速度を向上させることができる。
のように処理を中断して外部メモリ150へ読み込みに
いく必要がなくなるので無駄な外部アクセスが無くなる
分実行速度を向上させることができる。
【0059】バスコントローラ140はキャッシュ予測
プリロード装置200と外部メモリ150と間のデータ
のやり取りの制御を行う。
プリロード装置200と外部メモリ150と間のデータ
のやり取りの制御を行う。
【0060】図3は本実施の形態のプリロード装置10
0の詳細なブロック図の一例である。
0の詳細なブロック図の一例である。
【0061】プリロード装置100は、実行アドレス履
歴テーブル10、キャッシュミス履歴テーブル20、ラ
インバッファ30、制御回路40、アドレス検索装置5
0、セレクタ60、比較装置70、80を含む。
歴テーブル10、キャッシュミス履歴テーブル20、ラ
インバッファ30、制御回路40、アドレス検索装置5
0、セレクタ60、比較装置70、80を含む。
【0062】実行アドレス履歴テーブル10は、命令を
格納できる様RAMで構成され、過去の命令を取り出す
ためのインデックスカウンタが設けられている。また実
行アドレス履歴テーブル10には、命令の実行アドレス
が前記インデックスカウンタに従って時系列にFIFO
形式で格納される。
格納できる様RAMで構成され、過去の命令を取り出す
ためのインデックスカウンタが設けられている。また実
行アドレス履歴テーブル10には、命令の実行アドレス
が前記インデックスカウンタに従って時系列にFIFO
形式で格納される。
【0063】キャッシュミス履歴テーブル20は、キャ
ッシュミス時の数命令前の命令の実行アドレス(ミス−
n命令アドレス)とキャッシュに読み込んだデータのア
ドレス(キャッシュ読み込みアドレス)とがペアで記憶
されている。
ッシュミス時の数命令前の命令の実行アドレス(ミス−
n命令アドレス)とキャッシュに読み込んだデータのア
ドレス(キャッシュ読み込みアドレス)とがペアで記憶
されている。
【0064】アドレス検索装置50はキャッシュミス履
歴テーブル20を検索して必要なアドレスを取り出す処
理を行う。例えば比較装置が実行アドレスとキャッシュ
ミス履歴テーブル20のミス−n命令アドレスを比較す
る場合にはキャッシュミス履歴テーブル20から実行ア
ドレスと同一または最も近いミス−n命令アドレスを読
み出す処理を行う。また、実行アドレスとミス−n命令
アドレスとが一致した場合にはラインバッファに向けキ
ャッシュミスアドレスをラインバッファ読み込みアドレ
ス54として出力する。
歴テーブル20を検索して必要なアドレスを取り出す処
理を行う。例えば比較装置が実行アドレスとキャッシュ
ミス履歴テーブル20のミス−n命令アドレスを比較す
る場合にはキャッシュミス履歴テーブル20から実行ア
ドレスと同一または最も近いミス−n命令アドレスを読
み出す処理を行う。また、実行アドレスとミス−n命令
アドレスとが一致した場合にはラインバッファに向けキ
ャッシュミスアドレスをラインバッファ読み込みアドレ
ス54として出力する。
【0065】なおこの時の検索手法によって、キャッシ
ュミス履歴テーブルの具体的な回路構成が異なってく
る。
ュミス履歴テーブルの具体的な回路構成が異なってく
る。
【0066】例えばフラット法検索を採用する場合はキ
ャッシュミス履歴テーブル20の各ラインのデータがミ
ス−n命令アドレスとキャッシュ読み込みアドレスのア
ドレス格納領域のみで構成されているのでライン毎にコ
ンパレータを用意する必要があり回路規模が大きくな
る。
ャッシュミス履歴テーブル20の各ラインのデータがミ
ス−n命令アドレスとキャッシュ読み込みアドレスのア
ドレス格納領域のみで構成されているのでライン毎にコ
ンパレータを用意する必要があり回路規模が大きくな
る。
【0067】またハッシュ法検索を採用する場合にはキ
ャッシュミス履歴テーブル20はアドレス格納領域及び
衝突用リンク領域で構成され、高速な検索が可能であ
る。
ャッシュミス履歴テーブル20はアドレス格納領域及び
衝突用リンク領域で構成され、高速な検索が可能であ
る。
【0068】また相互参照型検索を採用する場合にはキ
ャッシュミス履歴テーブル20はアドレス格納領域及び
リンク領域(前方リンク及び後方リンク)で構成され高
速な検索が可能である。
ャッシュミス履歴テーブル20はアドレス格納領域及び
リンク領域(前方リンク及び後方リンク)で構成され高
速な検索が可能である。
【0069】図4は、相互参照型を採用した場合のキャ
ッシュミス履歴テーブル20のデータ構造の一例を示し
た図である。図4に示すように各ラインはライン番号
(10ビット)21、ミス−n命令アドレス(32ビッ
ト)22、キャッシュ読み込みアドレス(32ビット)
23、前リンク先(11ビット)24、後リンク先(1
1ビット)25からなる。前リンク先24はミス−n命
令アドレスを昇順に並べた場合に自己のラインの1つ前
のライン番号を表しており、後リンク先25はミス−n
命令アドレスを昇順に並べた場合に自己のラインの1つ
後ろのライン番号を表している。このリンク領域を活用
して検索することにより高速な検索が可能となる。
ッシュミス履歴テーブル20のデータ構造の一例を示し
た図である。図4に示すように各ラインはライン番号
(10ビット)21、ミス−n命令アドレス(32ビッ
ト)22、キャッシュ読み込みアドレス(32ビット)
23、前リンク先(11ビット)24、後リンク先(1
1ビット)25からなる。前リンク先24はミス−n命
令アドレスを昇順に並べた場合に自己のラインの1つ前
のライン番号を表しており、後リンク先25はミス−n
命令アドレスを昇順に並べた場合に自己のラインの1つ
後ろのライン番号を表している。このリンク領域を活用
して検索することにより高速な検索が可能となる。
【0070】ラインバッファ30は、外部メモリ(主記
憶)のキャッシュ読み込みアドレスに格納されたデータ
を事前に読み込んでおくバッファであり、キャッシュ読
み込みアドレスと当該アドレスから読み込んだデータと
がペアで記憶される。このラインバッファ30を複数用
意できれば、よりパフォーマンスの向上を図ることがで
きる。
憶)のキャッシュ読み込みアドレスに格納されたデータ
を事前に読み込んでおくバッファであり、キャッシュ読
み込みアドレスと当該アドレスから読み込んだデータと
がペアで記憶される。このラインバッファ30を複数用
意できれば、よりパフォーマンスの向上を図ることがで
きる。
【0071】制御回路40はキャッシュ制御回路160
からキャッシュミス信号162を受けた場合に、キャッ
シュミス発生アドレスに格納されたデータがラインバッ
ファ30にあるか否か検索するために必要な制御を行
い、検索結果をラインバッファヒット信号102として
キャッシュ制御回路160に向け出力する処理を行う。
また比較装置70からキャッシュミス履歴ヒット信号7
2を受けると、ラインバッファに向け読み込み要求信号
42を出力する。
からキャッシュミス信号162を受けた場合に、キャッ
シュミス発生アドレスに格納されたデータがラインバッ
ファ30にあるか否か検索するために必要な制御を行
い、検索結果をラインバッファヒット信号102として
キャッシュ制御回路160に向け出力する処理を行う。
また比較装置70からキャッシュミス履歴ヒット信号7
2を受けると、ラインバッファに向け読み込み要求信号
42を出力する。
【0072】セレクタ60は、制御回路40からキャッ
シュミス信号を受け、ミス時から数命令前に実行された
命令アドレス(ミス−n命令アドレス)を実行アドレス
履歴テーブル10から選択して読みこみ、キャッシュミ
ス履歴テーブルに向け出力する。
シュミス信号を受け、ミス時から数命令前に実行された
命令アドレス(ミス−n命令アドレス)を実行アドレス
履歴テーブル10から選択して読みこみ、キャッシュミ
ス履歴テーブルに向け出力する。
【0073】比較装置70はCPUの実行アドレスとミ
ス−n命令アドレスを受け、両者を比較して一致した場
合には、キャッシュミス履歴ヒット信号72を制御回路
40に向け出力する。これにより実際にキャッシュミス
が発生する数命令前にキャッシュミス発生アドレスに格
納されたデータを外部メモリからラインバッファに読み
込むことができる。
ス−n命令アドレスを受け、両者を比較して一致した場
合には、キャッシュミス履歴ヒット信号72を制御回路
40に向け出力する。これにより実際にキャッシュミス
が発生する数命令前にキャッシュミス発生アドレスに格
納されたデータを外部メモリからラインバッファに読み
込むことができる。
【0074】比較装置80は、実行アドレスとラインバ
ッファに格納されているデータのアドレスの比較を行
い、一致する場合には制御回路に向け、ラインバッファ
ヒット信号102を出力する。
ッファに格納されているデータのアドレスの比較を行
い、一致する場合には制御回路に向け、ラインバッファ
ヒット信号102を出力する。
【0075】図5(A)〜(C)は、本実施の形態のキ
ャッシュ予測プリロード装置全体の処理を説明するため
のフローチャート図である。
ャッシュ予測プリロード装置全体の処理を説明するため
のフローチャート図である。
【0076】図5(A)のテーブル登録処理(ステップ
S100)とは、命令の実行アドレスをFIFO方式で
実行アドレス履歴テーブル10に格納し、キャッシュミ
スが発生した場合にキャッシュ読み込みアドレスをキャ
ッシュミス時の数命令前の命令の実行アドレスと関連づ
けてキャッシュミス履歴テーブルに登録する処理を行う
ルーチンである。
S100)とは、命令の実行アドレスをFIFO方式で
実行アドレス履歴テーブル10に格納し、キャッシュミ
スが発生した場合にキャッシュ読み込みアドレスをキャ
ッシュミス時の数命令前の命令の実行アドレスと関連づ
けてキャッシュミス履歴テーブルに登録する処理を行う
ルーチンである。
【0077】また図5(B)のテーブルアドレス比較処
理(ステップS200)とは、命令の実行アドレスがキ
ャッシュミス時の数命令前の命令の実行アドレスと一致
する場合に対応するキャッシュ読み込みアドレスのデー
タを外部メモリから内部のラインバッファに読み込むた
めに必要な処理を行うルーチンである。
理(ステップS200)とは、命令の実行アドレスがキ
ャッシュミス時の数命令前の命令の実行アドレスと一致
する場合に対応するキャッシュ読み込みアドレスのデー
タを外部メモリから内部のラインバッファに読み込むた
めに必要な処理を行うルーチンである。
【0078】また図5(C)のラインバッファアドレス
比較処理(ステップS300)とは、キャッシュミス時
に外部メモリのキャッシュ読み込みアドレスに格納され
たデータがラインバッファに読み込まれている場合には
ラインバッファのデータをキャッシュに読み込ませるた
めに必要な処理を行うルーチンである。
比較処理(ステップS300)とは、キャッシュミス時
に外部メモリのキャッシュ読み込みアドレスに格納され
たデータがラインバッファに読み込まれている場合には
ラインバッファのデータをキャッシュに読み込ませるた
めに必要な処理を行うルーチンである。
【0079】本実施の形態では図5(A)のテーブル登
録処理(ステップS100)、図5(B)のテーブルア
ドレス比較処理(ステップS200)、図5(C)のラ
インバッファアドレス比較処理(ステップS300)の
それぞれの処理を同時に並行して行っている。
録処理(ステップS100)、図5(B)のテーブルア
ドレス比較処理(ステップS200)、図5(C)のラ
インバッファアドレス比較処理(ステップS300)の
それぞれの処理を同時に並行して行っている。
【0080】以下各処理の詳細な処理例について説明す
る。
る。
【0081】図6は図5(A)のテーブル登録処理の詳
細な処理例について説明するためのフローチャート図で
ある。テーブル登録処理では、所定のサイクルでステッ
プS110〜S140の処理を繰り返している。
細な処理例について説明するためのフローチャート図で
ある。テーブル登録処理では、所定のサイクルでステッ
プS110〜S140の処理を繰り返している。
【0082】プリロード装置100はCPU110から
新たな実行アドレス112を受け取ると、実行アドレス
履歴テーブル10に登録する(ステップS110、S1
20)。
新たな実行アドレス112を受け取ると、実行アドレス
履歴テーブル10に登録する(ステップS110、S1
20)。
【0083】制御回路40がキャッシュミス信号162
を受けるとセレクタ60は、実行アドレス履歴テーブル
10からキャッシュミスが発生する数命令前の命令の実
行アドレス(ミス−nアドレス)を選択し、キャッシュ
読み込みアドレスと関連付けて、キャッシュミス履歴テ
ーブルに登録する(ステップS130、S140)。
を受けるとセレクタ60は、実行アドレス履歴テーブル
10からキャッシュミスが発生する数命令前の命令の実
行アドレス(ミス−nアドレス)を選択し、キャッシュ
読み込みアドレスと関連付けて、キャッシュミス履歴テ
ーブルに登録する(ステップS130、S140)。
【0084】図7は図5(B)のテーブルアドレス比較
処理の詳細な処理例について説明するためのフローチャ
ート図である。テーブルアドレス比較処理では、所定の
サイクルでステップS210〜S270の処理を繰り返
している。
処理の詳細な処理例について説明するためのフローチャ
ート図である。テーブルアドレス比較処理では、所定の
サイクルでステップS210〜S270の処理を繰り返
している。
【0085】比較装置70はCPU110から新たな実
行アドレス112を受け取とると、アドレス検索装置5
0を用い実行アドレスと同一または最も近いアドレスを
キャッシュミス履歴テーブル20から取り出す(ステッ
プS210、S220)。
行アドレス112を受け取とると、アドレス検索装置5
0を用い実行アドレスと同一または最も近いアドレスを
キャッシュミス履歴テーブル20から取り出す(ステッ
プS210、S220)。
【0086】そして実行アドレス112とアドレス検索
装置50の出力であるミス−n命令アドレスを比較する
(ステップS230)。
装置50の出力であるミス−n命令アドレスを比較する
(ステップS230)。
【0087】一致する場合にはキャッシュミス履歴ヒッ
ト信号72で実行アドレスがキャッシュミス履歴とヒッ
トしたことを制御回路40に通知する(ステップS25
0)。
ト信号72で実行アドレスがキャッシュミス履歴とヒッ
トしたことを制御回路40に通知する(ステップS25
0)。
【0088】キャッシュミス履歴ヒット信号72を受け
た制御回路40は、外部メモリ150のキャッシュ読み
込みアドレスに格納されたデータの読み込みを要求する
ための読み込み要求信号42をラインバッファ30に対
して出力する(ステップS260)。
た制御回路40は、外部メモリ150のキャッシュ読み
込みアドレスに格納されたデータの読み込みを要求する
ための読み込み要求信号42をラインバッファ30に対
して出力する(ステップS260)。
【0089】ラインバッファ30はアドレス検索装置5
0からミス−n命令アドレスに関連付けてキャッシュミ
ス履歴テーブル20に登録されているキャッシュ読み込
みアドレスをラインバッファ読み込みアドレス54とし
て受け取る。そして当該ラインバッファ読み込みアドレ
ス54に従って、外部メモリからラインバッファ30に
データを読み込む(ステップS270)。
0からミス−n命令アドレスに関連付けてキャッシュミ
ス履歴テーブル20に登録されているキャッシュ読み込
みアドレスをラインバッファ読み込みアドレス54とし
て受け取る。そして当該ラインバッファ読み込みアドレ
ス54に従って、外部メモリからラインバッファ30に
データを読み込む(ステップS270)。
【0090】図8は図5(C)のラインバッファアドレ
ス比較処理の詳細な処理例について説明するためのフロ
ーチャート図である。ラインバッファアドレス比較処理
では所定のサイクルでステップS310〜S370の処
理を繰り返している。
ス比較処理の詳細な処理例について説明するためのフロ
ーチャート図である。ラインバッファアドレス比較処理
では所定のサイクルでステップS310〜S370の処
理を繰り返している。
【0091】比較装置80は、CPUから新たな実行ア
ドレス112を受け取ると、実行アドレス112とライ
ンバッファアドレス32の比較を行う(ステップS31
0、S320)。
ドレス112を受け取ると、実行アドレス112とライ
ンバッファアドレス32の比較を行う(ステップS31
0、S320)。
【0092】一致した場合には制御回路40に実行アド
レス112のデータがラインバッファ30に読み込み済
みであることを通知するラインバッファヒット信号10
2を出力する(ステップS330、S340)。
レス112のデータがラインバッファ30に読み込み済
みであることを通知するラインバッファヒット信号10
2を出力する(ステップS330、S340)。
【0093】制御回路40はキャッシュミスが発生した
こと通知するキャッシュミス信号162を受けると、ラ
インバッファヒット信号102を出力する(ステップS
350、S360)。
こと通知するキャッシュミス信号162を受けると、ラ
インバッファヒット信号102を出力する(ステップS
350、S360)。
【0094】ラインバッファヒット信号102を受けた
キャッシュ制御回路160では、外部メモリ150では
なくラインバッファのデータを調停装置130を介して
キャッシュメモリ120に読み込む(ステップS37
0)。
キャッシュ制御回路160では、外部メモリ150では
なくラインバッファのデータを調停装置130を介して
キャッシュメモリ120に読み込む(ステップS37
0)。
【0095】2.マイクロコンピュータ 図9は、本実施の形態のマイクロコンピュータのハード
ウエアブロック図の一例である。
ウエアブロック図の一例である。
【0096】本マイクロコンピュータ700は本実施の
形態のキャッシュ予測プリロード装置を含んで構成され
ており、CPU510、キャッシュメモリ520、キャ
ッシュ予測プリロード装置530、リセット回路54
0、プログラマブルタイマ550、リアルタイムクロッ
ク(RTC)560、DMA570、割り込みコントロ
ーラ580、シリアルインターフェース590、バスコ
ントローラ600、A/D変換器610、D/A変換器
620、入力ポート630、出力ポート640、I/O
ポート650、クロック発生装置660、プリスケーラ
670、及びそれらを接続する各種バス680等、各種
ピン690等を含む。
形態のキャッシュ予測プリロード装置を含んで構成され
ており、CPU510、キャッシュメモリ520、キャ
ッシュ予測プリロード装置530、リセット回路54
0、プログラマブルタイマ550、リアルタイムクロッ
ク(RTC)560、DMA570、割り込みコントロ
ーラ580、シリアルインターフェース590、バスコ
ントローラ600、A/D変換器610、D/A変換器
620、入力ポート630、出力ポート640、I/O
ポート650、クロック発生装置660、プリスケーラ
670、及びそれらを接続する各種バス680等、各種
ピン690等を含む。
【0097】図2及び図3で説明したキャッシュメモリ
及びキャッシュ制御回路はキャッシュメモリ520に、
プリロード装置および調停装置はキャッシュ予測プリロ
ード装置530に含まれている。
及びキャッシュ制御回路はキャッシュメモリ520に、
プリロード装置および調停装置はキャッシュ予測プリロ
ード装置530に含まれている。
【0098】本実施の形態のキャッシュ予測プリロード
装置をマイクロコンピュータに組み込むことにより、ヒ
ット率の向上が困難な低容量のキャッシュメモリを採用
しているシステムのパフォーマンスの向上を図ることが
できる。このため、実行速度の速い高性能なマイクロコ
ンピュータを低コストで提供することができる。
装置をマイクロコンピュータに組み込むことにより、ヒ
ット率の向上が困難な低容量のキャッシュメモリを採用
しているシステムのパフォーマンスの向上を図ることが
できる。このため、実行速度の速い高性能なマイクロコ
ンピュータを低コストで提供することができる。
【0099】3.電子機器 図10に、本実施の形態の電子機器のブロック図の一例
を示す。本電子機器800は、マイクロコンピュータ
(またはASIC)810、入力部820、メモリ83
0、電源生成部840、画像出力部850、音出力部8
60を含む。
を示す。本電子機器800は、マイクロコンピュータ
(またはASIC)810、入力部820、メモリ83
0、電源生成部840、画像出力部850、音出力部8
60を含む。
【0100】図2及び図3で説明したキャッシュメモ
リ、キャッシュ予測プリロード装置はマイクロコンピュ
ータ(またはASIC)810に含まれている。
リ、キャッシュ予測プリロード装置はマイクロコンピュ
ータ(またはASIC)810に含まれている。
【0101】ここで、入力部820は、種々のデータを
入力するためのものである。マイクロコンピュータ81
0は、この入力部820により入力されたデータに基づ
いて種々の処理を行うことになる。メモリ830は、マ
イクロコンピュータ810などの作業領域となるもので
ある。電源生成部840は、電子機器800で使用され
る各種電源を生成するためのものである。画像出力部8
50は、電子機器が表示する各種の画像(文字、アイコ
ン、グラフィック等)を出力するためのものであり、そ
の機能は、LCDやCRTなどのハードウェアにより実
現できる。音出力部860は、電子機器800が出力す
る各種の音(音声、ゲーム音等)を出力するためのもの
であり、その機能は、スピーカなどのハードウェアによ
り実現できる。
入力するためのものである。マイクロコンピュータ81
0は、この入力部820により入力されたデータに基づ
いて種々の処理を行うことになる。メモリ830は、マ
イクロコンピュータ810などの作業領域となるもので
ある。電源生成部840は、電子機器800で使用され
る各種電源を生成するためのものである。画像出力部8
50は、電子機器が表示する各種の画像(文字、アイコ
ン、グラフィック等)を出力するためのものであり、そ
の機能は、LCDやCRTなどのハードウェアにより実
現できる。音出力部860は、電子機器800が出力す
る各種の音(音声、ゲーム音等)を出力するためのもの
であり、その機能は、スピーカなどのハードウェアによ
り実現できる。
【0102】図11(A)に、電子機器の1つである携
帯電話950の外観図の例を示す。この携帯電話950
は、入力部として機能するダイヤルボタン952や、画
像出力部として機能し電話番号や名前やアイコンなどを
表示するLCD954や、音出力部として機能し音声を
出力するスピーカ956を備える。
帯電話950の外観図の例を示す。この携帯電話950
は、入力部として機能するダイヤルボタン952や、画
像出力部として機能し電話番号や名前やアイコンなどを
表示するLCD954や、音出力部として機能し音声を
出力するスピーカ956を備える。
【0103】図11(B)に、電子機器の1つである携
帯型ゲーム装置960の外観図の例を示す。この携帯型
ゲーム装置960は、入力部として機能する操作ボタン
962、十字キー964や、画像出力部として機能しゲ
ーム画像を表示するLCD966や、音出力部として機
能しゲーム音を出力するスピーカ968を備える。
帯型ゲーム装置960の外観図の例を示す。この携帯型
ゲーム装置960は、入力部として機能する操作ボタン
962、十字キー964や、画像出力部として機能しゲ
ーム画像を表示するLCD966や、音出力部として機
能しゲーム音を出力するスピーカ968を備える。
【0104】図11(C)に、電子機器の1つであるパ
ーソナルコンピュータ970の外観図の例を示す。この
パーソナルコンピュータ970は、入力部として機能す
るキーボード972や、画像出力部として機能し文字、
数字、グラフィックなどを表示するLCD974、音出
力部976を備える。
ーソナルコンピュータ970の外観図の例を示す。この
パーソナルコンピュータ970は、入力部として機能す
るキーボード972や、画像出力部として機能し文字、
数字、グラフィックなどを表示するLCD974、音出
力部976を備える。
【0105】本実施の形態のマイクロコンピュータを図
11(A)〜図11(C)の電子機器に組みむことによ
り、処理速度の速い高性能な電子機器を低コストで提供
することができる。
11(A)〜図11(C)の電子機器に組みむことによ
り、処理速度の速い高性能な電子機器を低コストで提供
することができる。
【0106】なお、本実施形態を利用できる電子機器と
しては、図11(A)、(B)、(C)に示すもの以外
にも、携帯型情報端末、ページャー、電子卓上計算機、
タッチパネルを備えた装置、プロジェクタ、ワードプロ
セッサ、ビューファインダ型又はモニタ直視型のビデオ
テープレコーダ、カーナビゲーション装置、プリンタ
等、種々の電子機器を考えることができる。
しては、図11(A)、(B)、(C)に示すもの以外
にも、携帯型情報端末、ページャー、電子卓上計算機、
タッチパネルを備えた装置、プロジェクタ、ワードプロ
セッサ、ビューファインダ型又はモニタ直視型のビデオ
テープレコーダ、カーナビゲーション装置、プリンタ
等、種々の電子機器を考えることができる。
【0107】なお、本発明は本実施形態に限定されず、
本発明の要旨の範囲内で種々の変形実施が可能である。
本発明の要旨の範囲内で種々の変形実施が可能である。
【0108】本実施の形態では命令のキャッシュミスが
発生した場合にキャッシュがプリロード装置から読み込
む場合を例にとり説明したがこれに限られない。例えば
プリロード装置からCPUにデータを渡すように構成し
てもよい。
発生した場合にキャッシュがプリロード装置から読み込
む場合を例にとり説明したがこれに限られない。例えば
プリロード装置からCPUにデータを渡すように構成し
てもよい。
【0109】本実施の形態では命令の実行アドレスが過
去にキャッシュミスが発生した命令の実行アドレスに近
づいた際に、キャッシュミス時にキャッシュロードすべ
きデータをプリロード装置内のラインバッファに読み込
む場合を例にとり説明したがこれに限られない。例えば
キャッシュミス時にキャッシュロードすべきデータをキ
ャッシュメモリに読み込むよう構成してもよい。
去にキャッシュミスが発生した命令の実行アドレスに近
づいた際に、キャッシュミス時にキャッシュロードすべ
きデータをプリロード装置内のラインバッファに読み込
む場合を例にとり説明したがこれに限られない。例えば
キャッシュミス時にキャッシュロードすべきデータをキ
ャッシュメモリに読み込むよう構成してもよい。
【図1】本実施の形態の特徴を実現するための概念的な
構成について説明するための図である。
構成について説明するための図である。
【図2】本実施の形態のキャッシュ予測プリロード装置
の構成の一例について説明するための図である。
の構成の一例について説明するための図である。
【図3】本実施の形態のプリロード装置の詳細なブロッ
ク図の一例である。
ク図の一例である。
【図4】相互参照型を採用した場合のキャッシュミス履
歴テーブルのデータ構造の一例を示した図である。
歴テーブルのデータ構造の一例を示した図である。
【図5】図5(A)〜(C)は、本実施の形態のキャッ
シュ予測プリロード装置全体の処理を説明するためのフ
ローチャート図である。
シュ予測プリロード装置全体の処理を説明するためのフ
ローチャート図である。
【図6】テーブル登録処理の詳細な処理例について説明
するためのフローチャート図である。
するためのフローチャート図である。
【図7】テーブルアドレス比較処理の詳細な処理例につ
いて説明するためのフローチャート図である。
いて説明するためのフローチャート図である。
【図8】ラインバッファアドレス比較処理の詳細な処理
例について説明するためのフローチャート図である。
例について説明するためのフローチャート図である。
【図9】本実施の形態のマイクロコンピュータのハード
ウエアブロック図の一例である。
ウエアブロック図の一例である。
【図10】マイクロコンピュータを含む電子機器のブロ
ック図の一例を示す。
ック図の一例を示す。
【図11】図11(A)、(B)、(C)は、種々の電
子機器の外観図の例である。
子機器の外観図の例である。
【図12】セットアソシアティブ方式のキャッシュメモ
リの構成について説明するための概念図である。
リの構成について説明するための概念図である。
10 実行アドレス履歴テーブル 20 キャッシュミス履歴テーブル 30 ラインバッファ 40 制御回路 50 アドレス検索装置 60 セレクタ 70、80 比較装置 100 プリロード装置 110 CPU 120 キャッシュメモリ 130 調停装置 140 バスコントローラ 150 外部メモリ 200 キャッシュ予測プリロード装置 500 マイクロプロセッサ 510 CPU 520 キャッシュメモリ 530 キャッシュ予測プリロード装置 540 リセット回路 550 プログラマブルタイマ 560 リアルタイムクロック(RTC) 570 DMA 580 割り込みコントローラ 590 シリアルインターフェース 600 バスコントローラ 610 A/D変換器 620 D/A変換器 630 入力ポート 640 出力ポート 650 I/Oポート 660 クロック発生装置 670 プリスケーラ 680 各種バス 690 各種ピン 700 マイクロコンピュータ 710 ROM 720 RAM 800 電子機器
Claims (8)
- 【請求項1】 命令の実行アドレスが過去にキャッシュ
ミスが発生した命令の実行アドレスに近づいた際に、キ
ャッシュミス時にキャッシュに読み込むべきデータを所
与のバッファに読み込むために必要な回路を含むことを
特徴とするキャッシュ予測プリロード装置。 - 【請求項2】 請求項1において、 キャッシュミス時のキャッシュ読み込みアドレスに関す
る情報をキャッシュミス発生の所与の数前の命令の実行
アドレスと関連付けて保持するキャッシュミス履歴保持
回路と、 命令の実行アドレスが前記キャッシュミス発生の所与の
数前の命令の実行アドレスと一致した場合に、当該実行
アドレスと関連付けてキャッシュミス履歴保持回路に保
持されているキャッシュ読み込みアドレスに格納された
データを主記憶装置から所与のバッファに読み込む回路
とを含むことを特徴とするキャッシュ予測プリロード装
置。 - 【請求項3】 請求項2において、 命令の実行アドレスの履歴を保持する実行アドレス履歴
保持回路と、 キャッシュミスが発生した場合に、所与の数前に実行さ
れた命令の実行アドレスを前記実行アドレス保持回路か
ら読み出し、読み出した実行アドレスとキャッシュミス
時のキャッシュ読み込みアドレスに関する情報とを関連
付けて前記キャッシュミス履歴保持回路に格納する回路
を含むことを特徴とするキャッシュ予測プリロード装
置。 - 【請求項4】 請求項1乃至3のいずれかにおいて、 命令の実行アドレスとしてプログラムカウンタの値を用
いることを特徴とするキャッシュ予測プリロード装置。 - 【請求項5】 キャッシュメモリと請求項1乃至4のい
ずれかに記載のキャッシュ予測プリロード装置を含むマ
イクロコンピュータであって、 キャッシュメモリでキャッシュミスが発生した場合にキ
ャッシュ予測プリロード装置内にキャッシュミス発生ア
ドレスに格納されているデータがある場合には、キャッ
シュ予測プリロード装置がキャッシュメモリまたはCP
Uに前記データを供給することを特徴とするマイクロコ
ンピュータ。 - 【請求項6】 請求項5において、 キャッシュメモリ及びキャッシュ予測プリロード装置に
接続され、バスコントローラを介して主記憶装置にアク
セス可能な調停回路を含み、 前記調停回路は、 キャッシュミス発生時にキャッシュミス発生アドレスに
格納されているデータがキャッシュ予測プリロード装置
の内部バッファにある場合には、当該内部バッファから
キャッシュメモリにデータを供給し、前記内部バッファ
にない場合には主記憶装置からキャッシュメモリにデー
タを供給することを特徴とするマイクロコンピュータ。 - 【請求項7】 命令の実行アドレスが過去にキャッシュ
ミスが発生した命令の実行アドレスに近づいた際に、キ
ャッシュミス時にキャッシュロードすべきデータをキャ
ッシュメモリに読み込むために必要な回路を含むことを
特徴とするマイクロコンピュータ。 - 【請求項8】 請求項6または7のいずれかに記載のマ
イクロコンピュータと、 前記マイクロコンピュータの処理対象となるデータの入
力手段と、 前記マイクロコンピュータにより処理されたデータを出
力するための出力手段とを含むことを特徴とする電子機
器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31491799A JP2001134439A (ja) | 1999-11-05 | 1999-11-05 | キャッシュ予測プリロード装置、マイクロコンピュータ及び電子機器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31491799A JP2001134439A (ja) | 1999-11-05 | 1999-11-05 | キャッシュ予測プリロード装置、マイクロコンピュータ及び電子機器 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001134439A true JP2001134439A (ja) | 2001-05-18 |
Family
ID=18059210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31491799A Withdrawn JP2001134439A (ja) | 1999-11-05 | 1999-11-05 | キャッシュ予測プリロード装置、マイクロコンピュータ及び電子機器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001134439A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007207240A (ja) * | 2006-02-03 | 2007-08-16 | Internatl Business Mach Corp <Ibm> | データ・ラインのための自己プリフェッチl2キャッシュ機構 |
JP2008090411A (ja) * | 2006-09-29 | 2008-04-17 | Fujitsu Ltd | 情報処理装置、命令制御機構及び命令制御方法 |
JP2008226025A (ja) * | 2007-03-14 | 2008-09-25 | Fujitsu Ltd | プリフェッチ処理装置、プリフェッチ処理プログラムおよびプリフェッチ処理方法 |
US8756404B2 (en) | 2006-12-11 | 2014-06-17 | International Business Machines Corporation | Cascaded delayed float/vector execution pipeline |
US9786342B2 (en) | 2013-09-06 | 2017-10-10 | Kabushiki Kaisha Toshiba | Memory control circuit and cache memory |
-
1999
- 1999-11-05 JP JP31491799A patent/JP2001134439A/ja not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007207240A (ja) * | 2006-02-03 | 2007-08-16 | Internatl Business Mach Corp <Ibm> | データ・ラインのための自己プリフェッチl2キャッシュ機構 |
JP2008090411A (ja) * | 2006-09-29 | 2008-04-17 | Fujitsu Ltd | 情報処理装置、命令制御機構及び命令制御方法 |
US8756404B2 (en) | 2006-12-11 | 2014-06-17 | International Business Machines Corporation | Cascaded delayed float/vector execution pipeline |
JP2008226025A (ja) * | 2007-03-14 | 2008-09-25 | Fujitsu Ltd | プリフェッチ処理装置、プリフェッチ処理プログラムおよびプリフェッチ処理方法 |
US9786342B2 (en) | 2013-09-06 | 2017-10-10 | Kabushiki Kaisha Toshiba | Memory control circuit and cache memory |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6401192B1 (en) | Apparatus for software initiated prefetch and method therefor | |
JP3434439B2 (ja) | 情報処理システムにおけるデータ・コヒーレンシを強化する装置 | |
JPH0212523A (ja) | コンピユータ・デイスプレイ・システム | |
US20230061668A1 (en) | Cache Memory Addressing | |
JP3065518B2 (ja) | 複数のハッシュ関数を用いるキャッシュ・メモリ管理方法及びシステム | |
JP3444154B2 (ja) | メモリアクセス制御回路 | |
US5027290A (en) | Computer workstation including video update arrangement | |
JP2001134439A (ja) | キャッシュ予測プリロード装置、マイクロコンピュータ及び電子機器 | |
US8332568B2 (en) | Memory access determination circuit, memory access determination method and electronic device | |
US5918044A (en) | Apparatus and method for instruction fetching using a multi-port instruction cache directory | |
JPH076122A (ja) | データ要求方法とその装置 | |
US8255632B2 (en) | Pre-fetch control apparatus | |
JPH06348593A (ja) | データ転送制御装置 | |
US7363465B2 (en) | Semiconductor device, microcomputer, and electronic equipment | |
JP3899784B2 (ja) | クロック制御装置、半導体集積回路装置、マイクロコンピュータ及び電子機器 | |
US6141714A (en) | Method and apparatus for executing self-snooped unresolvable system bus operations | |
JP3295728B2 (ja) | パイプラインキャッシュメモリの更新回路 | |
EP0293200B1 (en) | Computer workstation including video update arrangement | |
US6192453B1 (en) | Method and apparatus for executing unresolvable system bus operations | |
US20060136617A1 (en) | Data transfer apparatus and data transfer method | |
JP2001306394A (ja) | キャッシュ装置、半導体集積回路装置、マイクロコンピュータ及び電子機器 | |
JP4995540B2 (ja) | 半導体集積回路装置 | |
JP2001306395A (ja) | キャッシュ装置、半導体装置、マイクロコンピュータ及び電子機器 | |
JP3160895B2 (ja) | 表示メモリ制御装置 | |
CN118014819A (zh) | 图像处理装置、方法、芯片、电子设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060112 |
|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070109 |