JP3515333B2 - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JP3515333B2 JP3515333B2 JP22955597A JP22955597A JP3515333B2 JP 3515333 B2 JP3515333 B2 JP 3515333B2 JP 22955597 A JP22955597 A JP 22955597A JP 22955597 A JP22955597 A JP 22955597A JP 3515333 B2 JP3515333 B2 JP 3515333B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- cache
- address
- data
- sub
- 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 - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
- G06F12/0848—Partitioned cache, e.g. separate instruction and operand caches
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Description
し、特にメモリ混載マイクロプロセッサなどを用いた情
報処理装置に関する。
主要構成要素は、プロセッサとメモリである。半導体技
術を背景に、プロセッサの動作周波数は2年で2倍の割
合で伸びているが、主記憶(メインメモリ、または単に
メモリと呼ぶ)を構成するDRAMなどのメモリのアク
セス速度の伸びはそれほどでもない。従来より、このプ
ロセッサ速度とメモリ速度との差を埋めるために用いら
れてきたのが、キャッシュメモリである。
間的・空間的局所性を利用したものである。すなわち、
一度アクセスされたデータは、再びアクセスされる可能
性が高いということと、アクセスされたデータの近くの
データもアクセスされる可能性が高いということを利用
している。
ると、相対的にメモリアクセス時間が大きくなり、プロ
セッサの性能がプロセッサの動作周波数の伸びほどは伸
びなくなってくる。そうなると、プロセッサの性能を高
くするには、メモリアクセス時間を小さくする必要があ
る。キャッシュメモリを搭載したプロセッサにおいて
は、キャッシュにアクセスしようとするデータがある場
合(ヒット)は、主記憶にはアクセスしないため、アク
セスするのはキャッシュにデータがない場合(ミス)だ
けで、実質的な主記憶への平均メモリアクセス時間は、
次のようになる。
するためには、ミス率を小さくするか、リフィル時間を
小さくする必要がある。ここで、リフィル時間とは、キ
ャッシュミス時に主記憶からデータを読み出して該当す
るキャッシュラインに再格納するというキャッシュリフ
ィル処理に要する時間をいう。
な一つの方法として、主記憶をプロセッサと同一チップ
上に搭載するという方法がある。主記憶とプロセッサと
を同一チップ上に搭載することによって、主記憶にアク
セスする際にチップ外へアクセスする必要がないので、
入出力バッファを経由する必要がなく、また、チップ外
の配線容量などの寄生容量が少なくなり、アクセス時間
を短くすることができる。また、メモリがプロセッサチ
ップの外にあると、プロセッサチップのピン数の制約か
ら、一度にアクセスできるメモリのビット幅も大きくで
きないのに対し、同一チップ内にある場合は、そのよう
なピン数制約がないので、一度にアクセスできるメモリ
のビット幅を大きくすることができる。メモリがチップ
外にあるときは、一度にアクセスできるビット幅を大き
くすることができないので、通常、一回のリフィルを数
回のメモリアクセスで実現しているが、メモリをチップ
内に持たせると、一度にアクセスできるデータのサイズ
を、キャッシュのラインサイズまで広げることができる
ので、一回のリフィルを一回のメモリアクセスで実現で
き、その分だけメモリアクセス時間を短くすることがで
きる。
ャッシュメモリの典型的なラインサイズは、16B(バ
イト)または32B程度であるが、上述のように大きく
とれるメモリビット幅を活用して、512Bのラインサ
イズのキャッシュメモリを提案しているものもある{文
献[1](Asheley Saulsbury,Fo
ng Pong and Andreas Nowat
zyk,“Missing the Memory W
all: The Case for Process
or/Memory Integration,”in
Proc.International Sympo
sium on Computer architec
ture,pp.90−101,May 199
6)}。
アクセスしたいアドレスのデータだけでなく、周辺のデ
ータもラインサイズ分だけキャッシュメモリに同時に取
り込むことになり、プリフェッチ効果が得られる。特
に、命令キャッシュでは、基本的には、連続したメモリ
領域を順番にアクセスするというシーケンシャルアクセ
スがほとんどなので、キャッシュミス率を大きく低減す
ることができる。データキャッシュの場合には、ミス率
が大きく改善されるアプリケーションもあるが、一方、
逆に、ミス率が高くなるアプリケーションもある。
は、チップ上の主記憶容量は一定であり、後で増やすこ
とはできない。しかし、計算機システムとしては、主記
憶容量を増やすことができるようにしておく必要があ
る。主記憶容量を増やす方法としては、チップ外にメモ
リチップを増設する方法と、メモリ混載プロセッサを増
設する方法{(文献[1]、文献[2](村上,岩下,
宮嶋,白川,吉井,“メモリ−マルチプロセッサ一体型
ASSP(Application−Specific
Standard Product)アーキテクチ
ャ:PPRAM,”信学技報,ICD96−13,Ap
ril 1996)))}がある。
リ混載プロセッサを増設する場合のどちらにおいても、
メモリアクセスをしようとするプロセッサから見れば、
アクセスされるメモリはチップ外にあるので、それらは
同様にみることができる。よって、以降では、メモリ混
載プロセッサを増設する場合でもそのチップを外部メモ
リチップとみなして扱う。この場合の計算機システムの
構成を図6に示す。
プロセッサコア101、内部メモリ102、バスインタ
フェースユニット109、命令キャッシュ112、デー
タキャッシュ113から構成されており、バスインタフ
ェースユニット109を介して、外部のI/Oユニット
108および外部メモリ107に接続される。
プ外に増設された外部メモリ107についても、その記
憶内容はいったんキャッシュメモリ112,113に格
納され、プロセッサコア101からアクセスされる。
et al,“A Multimedia 32b R
ISC Microprocessor with 1
6Mb DRAM”in Proc. Interna
tional Symposium on Solid
−State Gircuits,pp.216−21
7,Feb.1996)、および文献[4](奥村、
他,“16MビットDRAM内蔵32ビットマイクロプ
ロセッサ,”信学技報,ICD96−7,April
1996)で述べられているDRAM混載プロセッサチ
ップでは、キャッシュメモリのラインサイズは、32B
であり、DRAMを混載していないプロセッサと同等の
ラインサイズである。つまり、主記憶を内蔵することに
よって、キャッシュのラインサイズを大きくできるとい
うことを利用していない。また、このチップでは、内蔵
キャッシュの使い方として二つのモードを持っている。
一つのモードは、外付けメモリなしで内蔵メモリのみを
使用する場合に、内蔵キャッシュを内蔵メモリのデータ
/命令共用キャッシュとして動作させる。もう一つのモ
ードでは、外付けROMを命令メモリとして使用する場
合に、外部ROMに対する命令キャッシュとして動作さ
せる。すなわち、チップ内にある一つのキャッシュを内
蔵メモリと外付けメモリのキャッシュとして使用してい
る。
リ内蔵プロセッサチップを用いた従来のシステムでは、
外部メモリ、またはメモリ内蔵プロセッサチップを追加
することで、主記憶の記憶容量を拡張する。その際、追
加された外部メモリから転送されるデータは、内部メモ
リ用に使用されているキャッシュに格納されていると考
えられる。内蔵メモリを有効に活用するためには、かな
り大きなラインサイズを利用する必要がある。一方で、
外部メモリからデータを転送する際のビット幅は、利用
できる物理的なピン数が限られるので、大きくとれな
い。したがって、内蔵メモリ用にラインサイズを大きく
したキャッシュのラインサイズ分のデータを転送するた
めには、長い時間がかかり、このためプロセッサの性能
が落ちる。一方、外部メモリのバンド幅にあわせて、キ
ャッシュのラインサイズを小さくすると、内部メモリの
大きい入出力幅を十分活かすことができなくなる。
ものであり、バンド幅が大きい内部メモリとバンド幅が
小さい外部メモリの双方について平均メモリアクセス時
間を低減できる情報処理装置を提供することを目的とす
る。
め、本発明では、バンド幅の異なる複数の記憶装置と、
その記憶装置のデータを蓄えるキャッシュメモリとを備
える情報処理装置において、キャッシュメモリへのリフ
ィル時に、アクセスする記憶装置のバンド幅に応じた大
きさのデータをリフィルできるようにしている。
装置のバンド幅(データ転送能力)に応じて、一回のリ
フィルで読み出すデータのサイズ(リフィルサイズ)を
決める。複数のキャッシュが存在する場合は、各記憶装
置に対し、そのリフィルサイズでリフィルできるキャッ
シュを一つ選び、その記憶装置からのデータは、そのキ
ャッシュに格納するようにする。
なる。アクセスするアドレスとデータサイズは与えられ
ているものとする。まず、与えられたアドレスがキャッ
シュに存在するかどうかを調べる。存在すれば、キャッ
シュから、そのデータを読み出し、プロセッサコアのデ
スティネーションレジスタに転送する。そのアドレスが
キャッシュに存在しない場合は、まず、キャッシュ内の
格納すべきラインを決める。そのラインのデータが記憶
装置と一致していない可能性がある場合(そのラインが
リフィル後、書き換えられた場合)、そのラインに格納
されているデータを記憶装置に書き戻す。次に、その与
えられたアドレスのデータを記憶装置から読み出しリフ
ィルする。その際、リフィルするデータの大きさは、ア
クセスする記憶装置のデータ転送能力に応じてあらかじ
め決めたものである。さらに、リフィルされたデータの
うち、与えられたアドレスのデータを与えられたデータ
サイズ分デスティネーションレジスタに転送する。
フィル時に、アクセスする記憶装置のバンド幅に応じた
大きさのデータをリフィルすることにより、バンド幅が
大きい内部メモリとバンド幅が小さい外部メモリの双方
について平均メモリアクセス時間を低減でき、処理性能
を高めることが可能となる。
バンド幅に応じた大きさのデータをキュッシュメモリに
リフィルするための構成は、キャッシュラインサイズが
異なる複数のキャッシュメモリを用意する構成のみなら
ず、キャッシュラインサイズを変更可能に構成されたキ
ャッシュメモリを用いることなどによっても実現でき
る。
施形態を説明する。図1には、本発明の一実施形態に係
る情報処理装置の構成が示されている。この情報処理装
置はメモリ内蔵プロセッサチップ100を用いた計算機
システムであり、プロセッサチップ100の内部には、
プロセッサコア101、16MBの主記憶102(以
下、内部メモリと呼ぶ)、ラインサイズ512B、ダイ
レクトマップ、容量8KBの命令キャッシュ103(内
部メモリ用命令キャッシュ)、ラインサイズ512B、
2−way set associative、容量1
6KBのデータキャッシュ104(内部メモリ用データ
キャッシュ)、ラインサイズ32B、ダイレクトマッ
プ、容量8KBの命令キャッシュ105(外部メモリ用
命令キャッシュ)、ラインサイズ32B、2−way
set associative、容量16KBのデー
タキャッシュ106(外部メモリ用データキャッシ
ュ)、およびバスインタフェースユニット109が設け
られており、またプロセッサチップ100の外部には、
16MBの主記憶107(外部メモリ)、およびI/O
ユニット108が設けられている。
ッシュ103,104には、内部メモリ102のコード
およびデータをそれぞれ格納し、ラインサイズ32Bの
外部メモリ用キャッシュ105,106には、外部メモ
リ107のコードおよびデータをそれぞれ格納する。
Hから00ffffffH(Hは16進表記を示す)ま
でのアドレス空間をもち、外部メモリは、それに後続す
る、アドレス01000000Hから01ffffff
ffHまでのアドレス空間をもつ。この場合、与えられ
たアドレスが、どちらのアドレスであるかは、そのアド
レスから判定することができる。つまり、この例では、
上位8ビットが、00Hであれば内部メモリ102のア
ドレスであると判定され、上位8ビットが01Hであれ
ば外部メモリ107のアドレスであると判定される。
512Bのデータを読み出し/書き込みができるように
なっている。一度のアクセスを行うのに、5サイクルか
かる。外部メモリ107は、一度のアクセスで、8Bの
データを読み出し/書き込みができるようになってい
る。バースト転送を利用すると、最初の8Bをアクセス
するのに4サイクル必要で、以降8Bアクセスするごと
に2サイクル必要になる。
る。命令をフェッチするときは、次のように動作する。 1.プロセッサコア101内の命令フェッチ用プログラ
ムカウンタ(図示していない)に格納されている命令ア
ドレスから、その命令アドレスが、内部メモリ102、
外部メモリ107のどちらにあるかを判定する。
る場合 (a)命令キャッシュ103をアクセスし、その命令ア
ドレスが、その命令キャッシュ103に存在するかどう
かを調べる。
ドレスの命令を命令キャッシュ103から読み出し、プ
ロセッサコア101内の命令フェッチユニット(図示し
ていない)へ転送する。
モリ102から、そのアドレスを含むラインサイズ分
(512B)のデータを読み出し、命令キャッシュ10
3にリフィルし、さらに命令アドレスの命令をプロセッ
サコア101内の命令フェッチユニットへ転送する。
る場合 (a)命令キャッシュ105をアクセスし、その命令ア
ドレスが、その命令キャッシュ105に存在するかどう
かを調べる。
令を命令キャッシュ105から読み出し、プロセッサコ
ア101内の命令フェッチユニット(図示していない)
へ転送する。
7から、そのアドレスを含むラインサイズ分(32B)
のデータをバースト転送サイクルによって読み出し、命
令キャッシュ105にリフィルし、さらに命令アドレス
の命令をプロセッサコア101内の命令フェッチユニッ
トへ転送する。
のようになる。 1.プロセッサコア101でアクセスすべきアドレスを
計算する。 2.そのアドレスが、内部メモリ102、外部メモリ1
07のどちらにあるか、そのアドレスから判定する。
るかどうかを調べる。
04に存在するとき(ヒット)は、そのアドレスのデー
タをデータキャッシュ104から読み出し、プロセッサ
コア101内のデスティネーションレジスタに格納す
る。
04に存在しないとき(ミス)は、まず、LRU法など
の方法を使って、置換すべきラインを決定する。そのと
き、そのラインに対し、ダーティビットがセットしてあ
る場合は、そのラインの512Bのデータを、内部メモ
リ102に書き戻す。次に、そのアドレスのデータを含
む512Bのデータを内部メモリ102から読み出し、
データキャッシュ104にリフィルし、さらに、そのア
ドレスのデータをプロセッサコア101内のデスティネ
ーションレジスタに格納する。
るかどうかを調べる。
06に存在するとき(ヒット)は、そのアドレスのデー
タをデータキャッシュ106から読み出し、プロセッサ
コア101内のデスティネーションレジスタに格納す
る。
06に存在しないとき(ミス)は、まず、LRU法など
の方法を使って、置換すべきラインを決定する。そのと
き、そのラインに対し、ダーティビットがセットしてあ
る場合は、そのラインの32Bのデータを、外部メモリ
107に書き戻す。次に、そのアドレスのデータを含む
32Bのデータを外部メモリ107から読み出し、デー
タキャッシュ106にリフィルし、さらに、そのアドレ
スのデータをプロセッサコア101内のデスティネーシ
ョンレジスタに格納する。
同様にして実行される。第1の実施形態においては、内
部メモリ102に割り当てられたアドレスにアクセスす
る場合、リフィルサイズは512B、リフィル時間は5
サイクルとなり、一方、外部メモリ107に割り当てら
れたアドレスにアクセスする場合、リフィルサイズは3
2B、リフィル時間は10サイクルとなる。一方、図6
に示す従来例においては、リフィルサイズはともに51
2Bで、リフィル時間は、内部メモリに割り当てられた
アドレスにアクセスする場合は5サイクル、外部メモリ
に割り当てられたアドレスにアクセスする場合は130
サイクルとなる。
2に割り当てられている割合を50%、外部メモリ10
7に割り当てられている割合を50%と仮定して、第1
実施形態と従来例の平均リフィル時間を計算してみる
と、第1の実施形態では、 5×0.5+10×0.5=7.5サイクル となり、一方、従来例では、 5×0.5+130×0.5=67.5サイクル となる。
ィル時間は、従来のリフィル時間の1/9となり、平均
メモリアクセス時間が短縮されることがわかる。第1の
実施形態では、キャッシュメモリを、内部メモリ用と外
部メモリ用とに別々のものにしているが、これを一つに
統合したキャッシュメモリにすることもできる。このよ
うに、内部メモリ用のキャッシュと外部メモリ用のキャ
ッシュを統合した例を第2実施形態として、以下説明す
る。
置の構成が示されている。ここでは、図1と同一部分に
は同一符号を付し、異なる点について主に説明する。こ
の情報処理装置においては、プロセッサチップ200の
内部には、プロセッサコア101、16MBの主記憶1
02(内部メモリ)、ラインサイズ512Bまたは32
B、ダイレクトマップ、容量16KBの命令キャッシュ
110、ラインサイズ512Bまたは32B、2−wa
y set associative、容量32KBの
データキャッシュ111、およびバスインタフェースユ
ニット108をもち、プロセッサチップ200の外部に
は、16MBの主記憶107(外部メモリ)、およびI
/Oユニット108をもつ。
モリ110,111は、2種類のリフィルサイズ(リフ
ィルされるデータサイズ)をもつキャッシュであり、リ
フィルサイズを、512Bまたは32Bにすることがで
きる。このようなキャッシュは、次のような構成になっ
ている。
この単位ごとにタグ、有効フラグ、ダーティフラグなど
の情報を持つ。この32Bの単位をサブラインと呼ぶ。
way数分のサブラインで、一つのサブセットを構成す
る。
し/書き込みの動作は、32Bサブラインを基本単位と
して行うので、通常の32Bラインのキャッシュと同じ
である。
する16個のサブセットにおいて、各サブセットからサ
ブラインを一つずつ選び、選ばれた16個のサブライン
を同時にアクセスできるようになっている点である。つ
まり、16個のサブラインで一つのラインを構成し、5
12Bのラインとしてアクセスすることができるように
なる。これにより、512B分のデータを、一度に16
個の連続したサブセット中にリフィルすることができる
ことになる。その際、そのラインを構成する各サブライ
ンに対して、同一のタグを格納する。
サイズを持つキャッシュメモリの具体的な構成の一例を
図3に示す。図3に示したキャッシュは、図2の命令キ
ャッシュ110の構成例であり、このキャッシュの記憶
部は、サブアレイ(0)〜(15)の16個のサブアレ
イからなる。各サブアレイは、32個のサブラインから
なる。各サブラインには、32Bのデータ、タグ、およ
び有効フラグ等のフラグが保持される。
5ビット(インデックス部)で32個のラインの中から
一つを選び、アドレスの5ビットから8ビットまでの4
ビット(サブアレイ部)で16個のサブアレイの中から
一つを選ぶ。選ばれたサブラインのタグが、アドレスの
14ビットから31ビットまでの18ビット分(タグ
部)と一致すれば、与えられたアドレスは、このキャッ
シュに対してヒットしたと判定され、32B(256ビ
ット)のバスdataを経由して読み書きされる。ヒッ
トしなかった場合は、リフィルすることになる。内部メ
モリ102からリフィルする場合は、選択されたセット
の中のすべてのサブライン、つまり16個の連続したサ
ブセット中にデータを、data0からdata15ま
でのデータ線を使って書き込む。その際、リフィルされ
るサブライン内のタグには、与えられたアドレスのタグ
部を格納する。一方、外部メモリ107からリフィルす
る場合は、アドレスのサブアレイ部で選択されたサブア
レイの選択されたサブラインのみにデータを書き込む。
データは、選択されたサブアレイに対応するデータ線を
経由して書き込む。タグは、与えられたアドレスのタグ
部を書き込む。
それら各サブアレイ毎に設けられた比較器201,20
2とANDゲート203とによって行われる。この場
合、比較器201はアドレスのサブアレイ部と該当する
サブアレイ番号とを比較し、比較器202はアドレスの
タグ部と選択されたサブラインから読み出されたタグと
とを比較する。選択されたサブラインのデータが有効
で、且つタグが一致したサブアレイが存在すると、OR
ゲート301からヒット信号が出力される。そして、A
NDゲート203から“1”が出力されたサブライン中
の選択されたサブラインがアクセスされる。
形態の動作とほぼ同様である。すなわち、第1実施形態
において、内部メモリ用命令キャッシュ103及び外部
メモリ用命令キャッシュ105にアクセスする代わりに
統合命令キャッシュ110にアクセスする。内部メモリ
用データキャッシュ104及び外部メモリ用データキャ
ッシュ106にアクセスする代わりに、統合データキャ
ッシュ111にアクセスする。その際にアクセスするメ
モリが内部メモリ102の場合は、リフィルサイズを5
12Bとし、外部メモリ107の場合はリフィルサイズ
を32Bとする。
ス時の処理を説明する。 1.アドレスが内部メモリ102に割り当てられている
場合 図4に示すように、置換されるのは、一つのライン(1
6個のサブライン)である。格納すべきラインに内部メ
モリデータと外部メモリデータが格納されているので、
内部メモリデータは内部メモリ102へ、外部メモリデ
ータは外部メモリ107へ書き戻す。次に内部メモリ1
02から512B(256ビット×16)分のデータを
読み出し、そのラインに格納する。その際、各サプライ
ンごとに、そこに格納された32Bデータのアドレスに
従ってタグを適切に設定する。
てられている場合 図5に示すように、置換されるのは一つのサブラインで
ある。まず、格納すべきラインに格納されているデータ
に対して、ダーティビットがセットされている場合は、
そのデータをメモリに書き戻す。格納されているデータ
は、外部メモリ107のデータである場合と、内部メモ
リ102である場合があるので、サブラインから読み出
されたタグに従って、外部メモリ107のデータの場合
は、そのサブラインを外部メモリ107に書き戻し、内
部メモリ102のデータの場合は、内部メモリ102に
書き戻す。次に、外部メモリ107からデータを読み出
し、そのサブラインに格納する。その際、サブラインの
タグに、アドレスのタグ部を格納する。
つは、ミス率である。第1実施形態では、内部メモリ用
のキャッシュメモリと外部メモリ用のキャッシュメモリ
を別々に備えているのに対し、第2実施形態では、外部
メモリと内部メモリで共用のキャッシュメモリを備えて
いる。そのため、キャッシュメモリの容量が同じ場合に
は、第2実施形態の方がヒット率が高くなると考えられ
る。例えば、内部メモリ102だけしか使わないような
プログラムを実行する場合には、第1実施形態では、8
KBの命令キャッシュと16KBのデータキャッシュし
か利用できないのに対し、第2実施形態では、16KB
の命令キャッシュや32KBのデータキャッシュを利用
することができ、明らかに第2実施形態の方がヒット率
が高く、性能も高い。
戻し動作である。第1実施形態は、書き戻しを行うメモ
リと読み出しを行うメモリは同一であり、そのデータサ
イズも同一である。一方、第2実施形態では、アクセス
対象のメモリと書き戻しを行うメモリが異なる可能性が
あり、複数のメモリに対し書き戻しを行う可能性があ
る。また、書き戻しのデータサイズも必ずしも同じでは
ない。つまり、外部メモリ107のデータをアクセスす
る場合には、書き戻しするメモリは、外部メモリ107
の場合もあるし、内部メモリ102の場合もある。ま
た、内部メモリ102のデータをアクセスする場合に
は、書き戻しを行うのは、内部メモリ102だけ、外部
メモリ107だけ、内部メモリ102と外部メモリ10
7の両方の3通りの場合がある。いずれの場合も、書き
戻すデータを一時的にバッファに保存することによっ
て、書き戻しのためのメモリアクセスによる性能低下を
少なくすることができる。
憶については本発明では本質的ではないので、ここでの
実施形態の記述の中では、省略しているが、仮想記憶を
用いるシステムにも適用できる。また、外部メモリとし
ては、L2キャッシュが入っているメモリシステムでも
よいし、あるいは、メモリ混載プロセッサでもよい。
キャッシュメモリへのリフィル時に、アクセスする記憶
装置のバンド幅に応じた大きさのデータをリフィルして
いるので、特に外部メモリからキャッシュメモリへのリ
フィル時間が短くなり、これにより平均メモリアクセス
時間が短縮され、プロセッサの処理性能を向上させるこ
とができる。
成を示すブロック図。
成を示すブロック図。
インサイズ可変キャッシュの具体的構成の一例を示す
図。
モリからキャッシュへのリフィル動作を説明するための
図。
モリからキャッシュへのリフィル動作を説明するための
図。
図。
Claims (5)
- 【請求項1】 メモリ拡張のための外部メインメモリが
装着可能な情報処理装置であって、 前記外部メインメモリよりバンド幅が大きい内部メイン
メモリと、 前記内部メインメモリのバンド幅に応じたキャッシュラ
インサイズを有する第1のキャッシュメモリと、 前記外部メインメモリのバンド幅に対応し、前記第1の
キャッシュメモリより小さいキャッシュラインサイズを
有する第2のキャッシュメモリと、 アクセス対象のアドレスが前記内部メインメモリにある
か外部メインメモリにあるかを判定し、内部メインメモ
リにある場合には前記第1のキャッシュメモリをアクセ
スして前記アドレスが存在する時にそのアドレスの情報
を読み出し、存在しない時に前記内部メインメモリから
前記アドレスを含むラインサイズ分のデータを読み出す
とともに、前記第1のキャッシュメモリにリフィルし、
外部メインメモリにある場合には前記第2のキャッシュ
メモリをアクセスして前記アドレスが存在する時にその
アドレスの情報を読み出し、存在しない時に前記外部メ
インメモリから前記アドレスを含むラインサイズ分の情
報を読み出すとともに、前記第2のキャッシュメモリに
リフィルする制御を行う制御手段と を具備することを特
徴とする情報処理装置。 - 【請求項2】 メモリ拡張のための外部メインメモリが
装着可能な情報処理装置であって、 前記外部メインメモリよりバンド幅が大きい内部メイン
メモリと、 キャッシュラインサイズが変更可能に構成されたキャッ
シュメモリと、 アクセス対象のアドレスが前記内部メインメモリにある
か外部メインメモリにあるかを判定し、内部メインメモ
リにある場合には前記キャッシュメモリをアクセスして
前記アドレスが存在する時にそのアドレスの情報を読み
出し、存在しない時に前記内部メインメモリから前記ア
ドレスを含むラインサイズ分のデータを読み出すととも
に、前記キャッシュメモリにリフィルし、外部メインメ
モリにある場合には前記キャッシュメモリをアクセスし
て前記アドレスが存在する時にそのアドレスの情報を前
記外部メインメモリに対応するリフィルサイズで読み出
し 、存在しない時に前記外部メインメモリから前記アド
レスを含むラインサイズ分の情報を読み出すとともに、
前記キャッシュメモリにリフィルする制御を行う制御手
段と を具備することを特徴とする情報処理装置。 - 【請求項3】 前記キャッシュメモリは、 各々が複数のサブラインから構成される複数のサブアレ
イを有し、 これら複数のサブアレイの中の該当するサブアレイ内の
1サブライン、または前記複数のサブアレイそれぞれの
同一位置に存在する複数のサブライン単位で、前記キャ
ッシュメモリにデータがリフィルされるように構成され
ていることを特徴とする請求項2記載の情報処理装置。 - 【請求項4】 前記内部メインメモリ、前記第1のキャ
ッシュメモリ、前記第2のキャッシュメモリ及び制御手
段は、プロセッサチップ中に設けられることを特徴とす
る請求項1記載の情報処理装置。 - 【請求項5】 前記内部メインメモリ、前記キャッシュ
メモリ、及び制御手段は、プロセッサチップ中に設けら
れることを特徴とする請求項2又は3記載の情報処理装
置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22955597A JP3515333B2 (ja) | 1997-08-26 | 1997-08-26 | 情報処理装置 |
US09/140,280 US6393521B1 (en) | 1997-08-26 | 1998-08-26 | Information processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22955597A JP3515333B2 (ja) | 1997-08-26 | 1997-08-26 | 情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1165925A JPH1165925A (ja) | 1999-03-09 |
JP3515333B2 true JP3515333B2 (ja) | 2004-04-05 |
Family
ID=16894011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22955597A Expired - Fee Related JP3515333B2 (ja) | 1997-08-26 | 1997-08-26 | 情報処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6393521B1 (ja) |
JP (1) | JP3515333B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010116735A1 (ja) * | 2009-04-10 | 2010-10-14 | パナソニック株式会社 | キャッシュメモリ装置、キャッシュメモリ制御方法、プログラムおよび集積回路 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6684298B1 (en) * | 2000-11-09 | 2004-01-27 | University Of Rochester | Dynamic reconfigurable memory hierarchy |
JP4553622B2 (ja) * | 2004-04-09 | 2010-09-29 | ルネサスエレクトロニクス株式会社 | データ処理装置 |
US7454576B2 (en) * | 2004-12-27 | 2008-11-18 | Intel Corporation | System and method for cache coherency in a cache with different cache location lengths |
KR101321438B1 (ko) * | 2006-09-26 | 2013-11-04 | 삼성전자주식회사 | 통신 시스템에서 메모리 확장 장치 |
US8095702B2 (en) * | 2008-03-19 | 2012-01-10 | Lantiq Deutschland Gmbh | High speed memory access in an embedded system |
US20100185816A1 (en) * | 2009-01-21 | 2010-07-22 | Sauber William F | Multiple Cache Line Size |
CN104809076B (zh) * | 2014-01-23 | 2018-02-06 | 华为技术有限公司 | Cache的管理方法及装置 |
US10169240B2 (en) * | 2016-04-08 | 2019-01-01 | Qualcomm Incorporated | Reducing memory access bandwidth based on prediction of memory request size |
JP7072545B2 (ja) * | 2019-09-10 | 2022-05-20 | 株式会社藤商事 | 遊技機 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2646854B2 (ja) | 1990-12-18 | 1997-08-27 | 三菱電機株式会社 | マイクロプロセッサ |
KR100391805B1 (ko) * | 1994-03-22 | 2003-10-22 | 하퍼칩, 인코포레이티드 | 직접대체셀(cell)을갖는결함허용(faulttolerance)아키텍쳐자료처리시스템 |
US6029224A (en) * | 1995-06-07 | 2000-02-22 | Lucent Technologies Inc. | Self-contained memory apparatus having diverse types of memory and distributed control |
US5999189A (en) * | 1995-08-04 | 1999-12-07 | Microsoft Corporation | Image compression to reduce pixel and texture memory requirements in a real-time image generator |
US6008820A (en) * | 1995-08-04 | 1999-12-28 | Microsoft Corporation | Processor for controlling the display of rendered image layers and method for controlling same |
US5809530A (en) * | 1995-11-13 | 1998-09-15 | Motorola, Inc. | Method and apparatus for processing multiple cache misses using reload folding and store merging |
US6161167A (en) * | 1997-06-27 | 2000-12-12 | Advanced Micro Devices, Inc. | Fully associate cache employing LRU groups for cache replacement and mechanism for selecting an LRU group |
US6260114B1 (en) * | 1997-12-30 | 2001-07-10 | Mcmz Technology Innovations, Llc | Computer cache memory windowing |
-
1997
- 1997-08-26 JP JP22955597A patent/JP3515333B2/ja not_active Expired - Fee Related
-
1998
- 1998-08-26 US US09/140,280 patent/US6393521B1/en not_active Expired - Fee Related
Non-Patent Citations (2)
Title |
---|
Burger D. et al.,Memory Bandwidth Limitation of Future Microprocessors,Proceedings of 23rd ISCA,米国,ACM,1996年 5月 |
岩下他,リファレンスPPRAM「PPRAMRに基づく『PPRAMRmf』アーキテクチャの概要,情報処理学会研究報告,日本,社団法人情報処理学会,1996年 8月,第96巻第8号(96−ARC−119),p.161−166 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010116735A1 (ja) * | 2009-04-10 | 2010-10-14 | パナソニック株式会社 | キャッシュメモリ装置、キャッシュメモリ制御方法、プログラムおよび集積回路 |
Also Published As
Publication number | Publication date |
---|---|
US6393521B1 (en) | 2002-05-21 |
JPH1165925A (ja) | 1999-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5499355A (en) | Prefetching into a cache to minimize main memory access time and cache size in a computer system | |
US6477621B1 (en) | Parallel access virtual channel memory system | |
JP4486750B2 (ja) | テンポラリ命令及び非テンポラリ命令用の共用キャッシュ構造 | |
US5210845A (en) | Controller for two-way set associative cache | |
US5091851A (en) | Fast multiple-word accesses from a multi-way set-associative cache memory | |
US5623627A (en) | Computer memory architecture including a replacement cache | |
US5813031A (en) | Caching tag for a large scale cache computer memory system | |
US5752272A (en) | Memory access control device with prefetch and read out block length control functions | |
US6128702A (en) | Integrated processor/memory device with victim data cache | |
US5157774A (en) | System for fast selection of non-cacheable address ranges using programmed array logic | |
US5361391A (en) | Intelligent cache memory and prefetch method based on CPU data fetching characteristics | |
US5751994A (en) | System and method for enhancing computer operation by prefetching data elements on a common bus without delaying bus access by multiple bus masters | |
US5802572A (en) | Write-back cache having sub-line size coherency granularity and method for maintaining coherency within a write-back cache | |
KR100262906B1 (ko) | 데이터 선인출 방법 및 시스템 | |
JP2554449B2 (ja) | キャッシュ・メモリを有するデータ処理システム | |
US6708254B2 (en) | Parallel access virtual channel memory system | |
US6199142B1 (en) | Processor/memory device with integrated CPU, main memory, and full width cache and associated method | |
JPH06243039A (ja) | キャッシュメモリシステムおよびマイクロプロセッサ内の命令を操作するための方法 | |
US20020095552A1 (en) | Highly efficient design of storage array for use in caches and memory subsystems | |
US6826652B1 (en) | Smart cache | |
JP3515333B2 (ja) | 情報処理装置 | |
US6535961B2 (en) | Spatial footprint prediction | |
US6324632B1 (en) | Processing a data stream | |
US6240487B1 (en) | Integrated cache buffers | |
US6976130B2 (en) | Cache controller unit architecture and applied method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040113 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040115 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080123 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090123 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100123 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110123 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120123 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130123 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |