JPH07152650A - キャッシュ制御装置 - Google Patents
キャッシュ制御装置Info
- Publication number
- JPH07152650A JPH07152650A JP5326256A JP32625693A JPH07152650A JP H07152650 A JPH07152650 A JP H07152650A JP 5326256 A JP5326256 A JP 5326256A JP 32625693 A JP32625693 A JP 32625693A JP H07152650 A JPH07152650 A JP H07152650A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- cache
- block
- write
- 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
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】 ライトバック方式の採用を容易とし、装置の
汎用性を持たせる。 【構成】 演算器1からの書込み要求時にキャッシュミ
スの場合は、最初は非ライトアロケート方式によりメモ
リ9のみに書込みを行ない、その際のブロックアドレス
をレジスタ14に記憶する。次の書込み時にキャッシュ
ミスの場合は、書込みの対象であるブロックアドレスと
レジスタ14のブロックアドレスが一致する場合に制御
回路12からのWA信号11をオンとし、ライトアロケ
ート方式により書込みの対象となるデータを含むブロッ
クをキャッシュメモリ5に転記し、キャッシュメモリ5
上のデータを書き換える。一方、次の書込み時にキャッ
シュミスの場合に、書込みの対象であるブロックアドレ
スとレジスタ14のブロックアドレスが一致しない場合
は非ライトアロケート方式により書込みの対象となるデ
ータを直接メモリ9上で書き換える。
汎用性を持たせる。 【構成】 演算器1からの書込み要求時にキャッシュミ
スの場合は、最初は非ライトアロケート方式によりメモ
リ9のみに書込みを行ない、その際のブロックアドレス
をレジスタ14に記憶する。次の書込み時にキャッシュ
ミスの場合は、書込みの対象であるブロックアドレスと
レジスタ14のブロックアドレスが一致する場合に制御
回路12からのWA信号11をオンとし、ライトアロケ
ート方式により書込みの対象となるデータを含むブロッ
クをキャッシュメモリ5に転記し、キャッシュメモリ5
上のデータを書き換える。一方、次の書込み時にキャッ
シュミスの場合に、書込みの対象であるブロックアドレ
スとレジスタ14のブロックアドレスが一致しない場合
は非ライトアロケート方式により書込みの対象となるデ
ータを直接メモリ9上で書き換える。
Description
【0001】
【産業上の利用分野】本発明は、メモリのデータの一部
を転記するキャッシュメモリをライトバック方式で制御
するキャッシュ制御装置に関するものである。
を転記するキャッシュメモリをライトバック方式で制御
するキャッシュ制御装置に関するものである。
【0002】
【従来の技術】従来、計算機において、メモリのデータ
の一部を転記して高速なアクセスを行なうキャッシュメ
モリが広く用いられている。このようなキャッシュメモ
リは、演算器とメモリとの間に設けられ、演算器がメモ
リをアクセスにする際、アクセス対象であるデータがキ
ャッシュメモリに存在すればそのデータにアクセスする
ようにされる。この場合の制御は、キャッシュ制御装置
により行なわれる。キャッシュ制御装置の制御により、
演算器はメモリのアクセスの際にキャッシュメモリの存
在を意識しなくても上述したキャッシュメモリの効用を
得ることができる。
の一部を転記して高速なアクセスを行なうキャッシュメ
モリが広く用いられている。このようなキャッシュメモ
リは、演算器とメモリとの間に設けられ、演算器がメモ
リをアクセスにする際、アクセス対象であるデータがキ
ャッシュメモリに存在すればそのデータにアクセスする
ようにされる。この場合の制御は、キャッシュ制御装置
により行なわれる。キャッシュ制御装置の制御により、
演算器はメモリのアクセスの際にキャッシュメモリの存
在を意識しなくても上述したキャッシュメモリの効用を
得ることができる。
【0003】図2は、従来のキャッシュ制御装置を備え
た計算機の一構成例を示すブロック図である。図示の計
算機は、演算器30とメモリ38との間にキャッシュ制
御装置34及びキャッシュメモリ39を備えている。演
算器30は、キャッシュ制御装置34を介してメモリ3
8に格納されたプログラムの実行を行ない、メモリ38
に格納されたデータのアクセスを行なう。メモリ38
は、RAM(ランダム・アクセス・メモリ)等から成
り、演算器30で実行される応用プログラムやデータ等
を格納する。演算器30とキャッシュ制御装置34は、
アドレス線31、データ線32、RW線33で接続され
ている。また、キャッシュ制御装置34とメモリ38
は、アドレス線35、データ線36、RW線37で接続
されている。
た計算機の一構成例を示すブロック図である。図示の計
算機は、演算器30とメモリ38との間にキャッシュ制
御装置34及びキャッシュメモリ39を備えている。演
算器30は、キャッシュ制御装置34を介してメモリ3
8に格納されたプログラムの実行を行ない、メモリ38
に格納されたデータのアクセスを行なう。メモリ38
は、RAM(ランダム・アクセス・メモリ)等から成
り、演算器30で実行される応用プログラムやデータ等
を格納する。演算器30とキャッシュ制御装置34は、
アドレス線31、データ線32、RW線33で接続され
ている。また、キャッシュ制御装置34とメモリ38
は、アドレス線35、データ線36、RW線37で接続
されている。
【0004】RW線31、37は、演算器30からメモ
リ38へのアクセスが読出しか書込みかを示す。キャッ
シュメモリ39は、メモリ38よりも記憶容量は小さい
が、高速にアクセスが行なえる記憶素子で構成されてい
る。このキャッシュメモリ39には、演算器30が最近
アクセスしたプログラム及びデータの一部がメモリ38
から転記される。これは、キャッシュ制御装置34によ
って行なわれる。ここに、プログラム及びデータを合せ
て広い意味でデータと呼ぶ。演算器30のアクセス対象
であるデータがキャッシュメモリ39に存在する場合に
は、当該演算器30はメモリ38をアクセスすることな
く、キャッシュメモリ39のみをアクセスすれば済む。
このような場合をキャッシュヒットと呼ぶ。
リ38へのアクセスが読出しか書込みかを示す。キャッ
シュメモリ39は、メモリ38よりも記憶容量は小さい
が、高速にアクセスが行なえる記憶素子で構成されてい
る。このキャッシュメモリ39には、演算器30が最近
アクセスしたプログラム及びデータの一部がメモリ38
から転記される。これは、キャッシュ制御装置34によ
って行なわれる。ここに、プログラム及びデータを合せ
て広い意味でデータと呼ぶ。演算器30のアクセス対象
であるデータがキャッシュメモリ39に存在する場合に
は、当該演算器30はメモリ38をアクセスすることな
く、キャッシュメモリ39のみをアクセスすれば済む。
このような場合をキャッシュヒットと呼ぶ。
【0005】一方、演算器30のアクセス対象であるデ
ータがキャッシュメモリ39に存在しない場合をキャッ
シュミスと呼ぶ。キャッシュミスのときは、演算器30
はメモリ38をアクセスしなければならない。この際、
キャッシュ制御装置34は、アクセス対象となったデー
タをメモリ38からキャッシュメモリ39に転記する。
このデータの転記は、一例として32バイトのブロック
と呼ばれる単位で行なわれる。キャッシュ制御装置34
の制御方式の種類の系統図を図3に示す。演算器30か
らメモリ38へのアクセスには、データの読出しと書込
みとがある。キャッシュ制御装置34の制御は、読出し
の場合は単純であるが、書込みの場合は複雑である。書
込みの場合の制御方式には、ライトスルー方式とライト
バック方式がある。
ータがキャッシュメモリ39に存在しない場合をキャッ
シュミスと呼ぶ。キャッシュミスのときは、演算器30
はメモリ38をアクセスしなければならない。この際、
キャッシュ制御装置34は、アクセス対象となったデー
タをメモリ38からキャッシュメモリ39に転記する。
このデータの転記は、一例として32バイトのブロック
と呼ばれる単位で行なわれる。キャッシュ制御装置34
の制御方式の種類の系統図を図3に示す。演算器30か
らメモリ38へのアクセスには、データの読出しと書込
みとがある。キャッシュ制御装置34の制御は、読出し
の場合は単純であるが、書込みの場合は複雑である。書
込みの場合の制御方式には、ライトスルー方式とライト
バック方式がある。
【0006】ライトスルー方式は、メモリ38への書込
み時にキャッシュヒットかキャッシュミスかに関わるこ
となく、必ずメモリ38にデータを書き込む方式であ
る。即ち、キャッシュヒットのときは、キャッシュメモ
リ39にデータを書き込み、これと同時にメモリ38に
もデータを書き込む。一方、キャッシュミスのときは、
メモリ38のみにデータを書き込む。メモリ38へのデ
ータの書込みはプログラムの指示による可変長バイト、
例えば1バイト長や4バイト長で行なう。このようなラ
イトスルー方式では、キャッシュメモリ39にメモリ3
8に対応するデータが転記されている場合には、双方の
データの内容は常に一致している。ライトスルー方式で
は、メモリからのデータの読出し時にのみキャッシュメ
モリの利点が生かされ、メモリへのデータの書込み時に
はキャッシュメモリの利点が全く生かされない。
み時にキャッシュヒットかキャッシュミスかに関わるこ
となく、必ずメモリ38にデータを書き込む方式であ
る。即ち、キャッシュヒットのときは、キャッシュメモ
リ39にデータを書き込み、これと同時にメモリ38に
もデータを書き込む。一方、キャッシュミスのときは、
メモリ38のみにデータを書き込む。メモリ38へのデ
ータの書込みはプログラムの指示による可変長バイト、
例えば1バイト長や4バイト長で行なう。このようなラ
イトスルー方式では、キャッシュメモリ39にメモリ3
8に対応するデータが転記されている場合には、双方の
データの内容は常に一致している。ライトスルー方式で
は、メモリからのデータの読出し時にのみキャッシュメ
モリの利点が生かされ、メモリへのデータの書込み時に
はキャッシュメモリの利点が全く生かされない。
【0007】これに対し、ライトバック方式では、書込
み時にその書込み対象であるアドレスに相当するブロッ
クがキャッシュメモリ39に転記されている場合、即ち
キャッシュヒットの場合にキャッシュメモリ39のみを
書き換え、メモリ38は書き換えない。このため、ライ
トバック方式は、ライトスルー方式と異なり、読出し時
だけでなく書込み時にもキャッシュメモリ39の高速ア
クセス性が生かされるが、書込み時にキャッシュヒット
となった場合は、キャッシュメモリ39とメモリ38と
で対応するデータの内容が異なる。従って、ライトバッ
ク方式では、キャッシュメモリ39のブロックにメモリ
38から新たなブロックを転記する際に元のブロックが
書き換えられている場合は、キャッシュメモリ39に存
在する元のブロックを捨ててはならず、メモリ38に書
き戻さなければならない。即ち、メモリ38からキャッ
シュメモリ39へのブロックの転記時にキャッシュメモ
リ39のブロックのみが書き換えられている場合は、キ
ャッシュメモリ39からメモリ38へのブロックの転記
も行なわれる。このようなブロックの転記もメモリ38
からキャッシュメモリ39へのブロックの転記と同様
に、例えば32バイトのブロック長で行なわれる。
み時にその書込み対象であるアドレスに相当するブロッ
クがキャッシュメモリ39に転記されている場合、即ち
キャッシュヒットの場合にキャッシュメモリ39のみを
書き換え、メモリ38は書き換えない。このため、ライ
トバック方式は、ライトスルー方式と異なり、読出し時
だけでなく書込み時にもキャッシュメモリ39の高速ア
クセス性が生かされるが、書込み時にキャッシュヒット
となった場合は、キャッシュメモリ39とメモリ38と
で対応するデータの内容が異なる。従って、ライトバッ
ク方式では、キャッシュメモリ39のブロックにメモリ
38から新たなブロックを転記する際に元のブロックが
書き換えられている場合は、キャッシュメモリ39に存
在する元のブロックを捨ててはならず、メモリ38に書
き戻さなければならない。即ち、メモリ38からキャッ
シュメモリ39へのブロックの転記時にキャッシュメモ
リ39のブロックのみが書き換えられている場合は、キ
ャッシュメモリ39からメモリ38へのブロックの転記
も行なわれる。このようなブロックの転記もメモリ38
からキャッシュメモリ39へのブロックの転記と同様
に、例えば32バイトのブロック長で行なわれる。
【0008】このようなライトバック方式において、書
込み時にキャッシュミスが生じた場合の制御方式には、
非ライトアロケート方式とライトアロケート方式があ
る。 (1)非ライトアロケート方式では、書込み時にキャッ
シュミスが生じた場合は、直接メモリ38にデータが書
き込まれる。そして、キャッシュミスが生じたアドレス
に相当するブロックはキャッシュメモリ39には転記さ
れない。従って、もし、その同じブロック内のアドレス
に対して再び書込みがあったときは、再びメモリ39に
書込みが行なわれる。 (2)ライトアロケート方式では、書込み時にキャッシ
ュミスが生じた場合は、まずキャッシュミスが生じたア
ドレスに相当するブロックがキャッシュメモリ39に転
記される。そして、そのキャッシュメモリ39に転記さ
れたブロックにデータが書き込まれる。
込み時にキャッシュミスが生じた場合の制御方式には、
非ライトアロケート方式とライトアロケート方式があ
る。 (1)非ライトアロケート方式では、書込み時にキャッ
シュミスが生じた場合は、直接メモリ38にデータが書
き込まれる。そして、キャッシュミスが生じたアドレス
に相当するブロックはキャッシュメモリ39には転記さ
れない。従って、もし、その同じブロック内のアドレス
に対して再び書込みがあったときは、再びメモリ39に
書込みが行なわれる。 (2)ライトアロケート方式では、書込み時にキャッシ
ュミスが生じた場合は、まずキャッシュミスが生じたア
ドレスに相当するブロックがキャッシュメモリ39に転
記される。そして、そのキャッシュメモリ39に転記さ
れたブロックにデータが書き込まれる。
【0009】
【発明が解決しようとする課題】しかしながら、上述し
た従来の技術には、次のような課題があった。即ち、キ
ャッシュ制御装置において、ライトバック方式を採用す
る場合においては、非ライトアロケート方式とライトア
ロケート方式とのいずれかを採用することができるが、
いずれの方式にも一長一短がある。これを説明するため
に、図4に示すような2種類の書込みパターンA、Bを
想定する。図4(a)に示すパターンAは、メモリ38
の飛び飛びのアドレスに対して書込みを行なう場合であ
る。この例としては、大規模な行列を使用した数値演算
プログラムがその計算結果をメモリ38上に書き込む場
合がある。図4(b)に示すパターンBは、メモリ38
の連続したアドレスに対して書込みを行なう場合であ
る。この例としては、メモリ38の広い記憶領域をクリ
アする場合等がある。
た従来の技術には、次のような課題があった。即ち、キ
ャッシュ制御装置において、ライトバック方式を採用す
る場合においては、非ライトアロケート方式とライトア
ロケート方式とのいずれかを採用することができるが、
いずれの方式にも一長一短がある。これを説明するため
に、図4に示すような2種類の書込みパターンA、Bを
想定する。図4(a)に示すパターンAは、メモリ38
の飛び飛びのアドレスに対して書込みを行なう場合であ
る。この例としては、大規模な行列を使用した数値演算
プログラムがその計算結果をメモリ38上に書き込む場
合がある。図4(b)に示すパターンBは、メモリ38
の連続したアドレスに対して書込みを行なう場合であ
る。この例としては、メモリ38の広い記憶領域をクリ
アする場合等がある。
【0010】(1)非ライトアロケート方式の問題点 非ライトアロケート方式では、パターンBの書込み時に
おいて問題がある。即ち、この方式では、上述したよう
に、パターンBの書込み時にキャッシュミスである場合
は、メモリ38のみに書込みが行なわれ、キャッシュメ
モリ39へのデータの転記は行なわれない。従って、図
4(b)に示すように、同一のブロック内のデータB1
の書込みが行なわれた後にそれに続くデータB2、B3
等の書込みを行なう際にも、それらの書込みがメモリ3
8に対して行なわれる。つまり、連続したアドレスに書
込みを行なう場合は、1ブロック内で例えば32バイト
/4バイト=8回のキャッシュミスが生じ、メモリ38
に対して8回の書込みが行なわれる。これに対し、ライ
トアロケート方式では、データB1の書込み時にデータ
B1を含むブロックがキャッシュメモリ39に転記され
るので、以降の7回の書込みではキャッシュヒットとな
り、高速な書込みが行なわれる。
おいて問題がある。即ち、この方式では、上述したよう
に、パターンBの書込み時にキャッシュミスである場合
は、メモリ38のみに書込みが行なわれ、キャッシュメ
モリ39へのデータの転記は行なわれない。従って、図
4(b)に示すように、同一のブロック内のデータB1
の書込みが行なわれた後にそれに続くデータB2、B3
等の書込みを行なう際にも、それらの書込みがメモリ3
8に対して行なわれる。つまり、連続したアドレスに書
込みを行なう場合は、1ブロック内で例えば32バイト
/4バイト=8回のキャッシュミスが生じ、メモリ38
に対して8回の書込みが行なわれる。これに対し、ライ
トアロケート方式では、データB1の書込み時にデータ
B1を含むブロックがキャッシュメモリ39に転記され
るので、以降の7回の書込みではキャッシュヒットとな
り、高速な書込みが行なわれる。
【0011】(2)ライトアロケート方式の問題点 ライトアロケート方式では、パターンAの書込み時にお
いて問題がある。即ち、この方式では、パターンAの書
込み時にキャッシュミスである場合は、データA1を含
むブロックがキャッシュメモリ39に転記された後にキ
ャッシュメモリ39上でデータA1が書き換えられる。
従って、そのブロック内のデータA1以外のデータに対
して2度とアクセスが行なわれないような場合でも必ず
ブロックの転記が行なわれる。従って、パターンAのよ
うにメモリ38の飛び飛びのアドレスにデータA1、A
2等の書込みが行なわれる場合には、無駄な処理が多く
なるとともに、キャッシュメモリ39の利用効率が悪く
なる。また、パターンAのようなデータの書込みによ
り、キャッシュメモリ39上でのみ書き換えられ、メモ
リ38上で書き換えられていないブロックが多くなって
しまう。従って、メモリ38から新たなブロックをキャ
ッシュメモリ39に転記する際の書き戻し処理が多くな
ってしまい、処理能力が低下してしまう。これに対し、
非ライトアロケート方式では、書込み時にキャッシュミ
スである場合はメモリ38上のデータA1、A2等のみ
を書き換えるので、パターンAのような書込み時に限っ
ては、ライトアロケート方式より優れている。
いて問題がある。即ち、この方式では、パターンAの書
込み時にキャッシュミスである場合は、データA1を含
むブロックがキャッシュメモリ39に転記された後にキ
ャッシュメモリ39上でデータA1が書き換えられる。
従って、そのブロック内のデータA1以外のデータに対
して2度とアクセスが行なわれないような場合でも必ず
ブロックの転記が行なわれる。従って、パターンAのよ
うにメモリ38の飛び飛びのアドレスにデータA1、A
2等の書込みが行なわれる場合には、無駄な処理が多く
なるとともに、キャッシュメモリ39の利用効率が悪く
なる。また、パターンAのようなデータの書込みによ
り、キャッシュメモリ39上でのみ書き換えられ、メモ
リ38上で書き換えられていないブロックが多くなって
しまう。従って、メモリ38から新たなブロックをキャ
ッシュメモリ39に転記する際の書き戻し処理が多くな
ってしまい、処理能力が低下してしまう。これに対し、
非ライトアロケート方式では、書込み時にキャッシュミ
スである場合はメモリ38上のデータA1、A2等のみ
を書き換えるので、パターンAのような書込み時に限っ
ては、ライトアロケート方式より優れている。
【0012】以上のように、パターンAの書込み時に
は、ライトアロケート方式に問題があり、パターンBの
書込み時には、非ライトアロケート方式に問題がある。
従って、キャッシュ制御装置に、ライトバック方式を採
用する際は、非ライトアロケート方式を選定するかライ
トアロケート方式を選定するか決めかねることになる。
つまり、いずれかに決定するためには応用プログラムに
おけるデータの書込み方が主にパターンAかパターンB
のいずれかになるかを調べてそれに適合するようにしな
ければならず、そのようにすると、キャッシュ制御装置
の汎用性が損なわれるという問題があった。本発明は、
以上の点に着目してなされたもので、どのような応用プ
ログラムに対しても有効にキャッシュメモリの能力を発
揮させることができるような汎用性に優れたライトバッ
ク方式のキャッシュ制御装置を提供することを目的とす
るものである。
は、ライトアロケート方式に問題があり、パターンBの
書込み時には、非ライトアロケート方式に問題がある。
従って、キャッシュ制御装置に、ライトバック方式を採
用する際は、非ライトアロケート方式を選定するかライ
トアロケート方式を選定するか決めかねることになる。
つまり、いずれかに決定するためには応用プログラムに
おけるデータの書込み方が主にパターンAかパターンB
のいずれかになるかを調べてそれに適合するようにしな
ければならず、そのようにすると、キャッシュ制御装置
の汎用性が損なわれるという問題があった。本発明は、
以上の点に着目してなされたもので、どのような応用プ
ログラムに対しても有効にキャッシュメモリの能力を発
揮させることができるような汎用性に優れたライトバッ
ク方式のキャッシュ制御装置を提供することを目的とす
るものである。
【0013】
【課題を解決するための手段】本発明のキャッシュ制御
装置は、メモリのデータをブロックごとに転記し、当該
メモリへの書込み要求時に当該書込みの対象となるデー
タを転記している場合にはその転記しているデータの書
換えのみを行なうことにより書込みを完了するライトバ
ック方式のキャッシュメモリと、前記メモリへの書込み
要求時に当該書込みの対象となるデータが前記キャッシ
ュメモリに転記されていない場合にそのデータを含むブ
ロックアドレスを保持するレジスタと、当該レジスタに
格納されているブロックアドレスと、現在アクセス対象
となっているブロックアドレスとを比較する比較器と、
前記メモリへの書込み要求時に当該書込みの対象となる
データが前記キャッシュメモリに転記されていない場合
に、当該比較器の比較結果に基づき、そのデータを含む
ブロックアドレスが前回の書込み時のブロックアドレス
と等しいときは、当該ブロックを前記メモリから前記キ
ャッシュメモリに転記して当該キャッシュメモリ上のデ
ータの書換えのみを行なう一方、そのデータを含むブロ
ックアドレスが前回の書込み時のブロックアドレスと異
なるときは、前記レジスタに現在のブロックアドレスを
保持して前記メモリのデータを書き換える制御回路とか
ら成ることを特徴とするものである。
装置は、メモリのデータをブロックごとに転記し、当該
メモリへの書込み要求時に当該書込みの対象となるデー
タを転記している場合にはその転記しているデータの書
換えのみを行なうことにより書込みを完了するライトバ
ック方式のキャッシュメモリと、前記メモリへの書込み
要求時に当該書込みの対象となるデータが前記キャッシ
ュメモリに転記されていない場合にそのデータを含むブ
ロックアドレスを保持するレジスタと、当該レジスタに
格納されているブロックアドレスと、現在アクセス対象
となっているブロックアドレスとを比較する比較器と、
前記メモリへの書込み要求時に当該書込みの対象となる
データが前記キャッシュメモリに転記されていない場合
に、当該比較器の比較結果に基づき、そのデータを含む
ブロックアドレスが前回の書込み時のブロックアドレス
と等しいときは、当該ブロックを前記メモリから前記キ
ャッシュメモリに転記して当該キャッシュメモリ上のデ
ータの書換えのみを行なう一方、そのデータを含むブロ
ックアドレスが前回の書込み時のブロックアドレスと異
なるときは、前記レジスタに現在のブロックアドレスを
保持して前記メモリのデータを書き換える制御回路とか
ら成ることを特徴とするものである。
【0014】
【作用】本発明のキャッシュ制御装置においては、書込
み要求時にキャッシュミスの場合は、最初は非ライトア
ロケート方式によりメモリのみに書込みを行なう。その
際、その書込みを行なったデータを含むブロックアドレ
スをレジスタに記憶する。次の書込み時にキャッシュミ
スの場合は、書込みの対象であるブロックアドレスとレ
ジスタに記憶されたブロックアドレスが一致する場合に
ライトアロケート方式により書込みを行なう。即ち、書
込みの対象となるデータを含むブロックをキャッシュメ
モリに転記し、キャッシュメモリ上のブロック内のデー
タを書き換える。従って、その次の書込み時に同じブロ
ック内のデータに書込みが行なわれる場合は、キャッシ
ュヒットとなり、キャッシュメモリ上のブロック内のデ
ータが書き換えられる。一方、次の書込み時にキャッシ
ュミスの場合に、書込みの対象であるブロックアドレス
とレジスタに記憶されたブロックアドレスが一致しない
場合は非ライトアロケート方式により書込みを行なう。
即ち、書込みの対象となるデータを直接メモリ上で書き
換える。
み要求時にキャッシュミスの場合は、最初は非ライトア
ロケート方式によりメモリのみに書込みを行なう。その
際、その書込みを行なったデータを含むブロックアドレ
スをレジスタに記憶する。次の書込み時にキャッシュミ
スの場合は、書込みの対象であるブロックアドレスとレ
ジスタに記憶されたブロックアドレスが一致する場合に
ライトアロケート方式により書込みを行なう。即ち、書
込みの対象となるデータを含むブロックをキャッシュメ
モリに転記し、キャッシュメモリ上のブロック内のデー
タを書き換える。従って、その次の書込み時に同じブロ
ック内のデータに書込みが行なわれる場合は、キャッシ
ュヒットとなり、キャッシュメモリ上のブロック内のデ
ータが書き換えられる。一方、次の書込み時にキャッシ
ュミスの場合に、書込みの対象であるブロックアドレス
とレジスタに記憶されたブロックアドレスが一致しない
場合は非ライトアロケート方式により書込みを行なう。
即ち、書込みの対象となるデータを直接メモリ上で書き
換える。
【0015】
【実施例】以下、本発明の実施例を図面を参照して詳細
に説明する。図1は、本発明のキャッシュ制御装置の一
実施例のブロック図である。図示のキャッシュ制御装置
は、計算機の演算器1とメモリ9との間に設けられてお
り、ライトバック方式のキャッシュメモリ5、制御回路
12、レジスタ14、比較器15から成る。即ち、演算
器1は、アドレス線2、データ線3、RW線4でライト
バック方式のキャッシュメモリ5と接続されている。ま
た、キャッシュメモリ5は、メモリ9と、アドレス線
6、データ線7、RW線8で接続されている。ここで、
RW線4、8は、演算器1からのメモリアクセスが読出
しか書込みかを区別する信号である。例えば、この信号
は、オンのとき読出し、オフのとき書込みとする。
に説明する。図1は、本発明のキャッシュ制御装置の一
実施例のブロック図である。図示のキャッシュ制御装置
は、計算機の演算器1とメモリ9との間に設けられてお
り、ライトバック方式のキャッシュメモリ5、制御回路
12、レジスタ14、比較器15から成る。即ち、演算
器1は、アドレス線2、データ線3、RW線4でライト
バック方式のキャッシュメモリ5と接続されている。ま
た、キャッシュメモリ5は、メモリ9と、アドレス線
6、データ線7、RW線8で接続されている。ここで、
RW線4、8は、演算器1からのメモリアクセスが読出
しか書込みかを区別する信号である。例えば、この信号
は、オンのとき読出し、オフのとき書込みとする。
【0016】また、キャッシュメモリ5は、制御回路1
2にヒット信号10を出力し、制御回路12からWA
(ライトアロケート)信号11を入力する。ヒット信号
10は、オンの時、キャッシュヒット、即ち、演算器1
からアクセス要求のあったアドレスに相当するブロック
がキャッシュメモリ5に存在することを示す。一方、ヒ
ット信号10がオフの時は、キャッシュミス、即ち、演
算器1からアクセス要求のあったアドレスに相当するブ
ロックがキャッシュメモリ5には存在せず、メモリ9の
みに存在することを示す。WA信号11は、オンの時、
メモリ9の該当するブロックをライトアロケート方式で
処理することを指示する。即ち、メモリ9からブロック
をキャッシュメモリ5に転記した後、キャッシュメモリ
5上のそのブロックにデータを書き込むことにより、デ
ータを更新するよう指示する。一方、WA信号11がオ
フの時は、メモリ9の該当するブロックを非ライトアロ
ケート方式で処理することを指示する。即ち、メモリ9
上の該当ブロックにデータを書き込むことにより、デー
タを更新するよう指示する。
2にヒット信号10を出力し、制御回路12からWA
(ライトアロケート)信号11を入力する。ヒット信号
10は、オンの時、キャッシュヒット、即ち、演算器1
からアクセス要求のあったアドレスに相当するブロック
がキャッシュメモリ5に存在することを示す。一方、ヒ
ット信号10がオフの時は、キャッシュミス、即ち、演
算器1からアクセス要求のあったアドレスに相当するブ
ロックがキャッシュメモリ5には存在せず、メモリ9の
みに存在することを示す。WA信号11は、オンの時、
メモリ9の該当するブロックをライトアロケート方式で
処理することを指示する。即ち、メモリ9からブロック
をキャッシュメモリ5に転記した後、キャッシュメモリ
5上のそのブロックにデータを書き込むことにより、デ
ータを更新するよう指示する。一方、WA信号11がオ
フの時は、メモリ9の該当するブロックを非ライトアロ
ケート方式で処理することを指示する。即ち、メモリ9
上の該当ブロックにデータを書き込むことにより、デー
タを更新するよう指示する。
【0017】また、制御回路12は、比較器15からの
比較結果信号(Comp)16を入力とし、レジスタ14への
LE(ラッチイネーブル)信号13を出力とする。レジ
スタ14は、制御回路12からのラッチ信号13により
アドレス線2からブロックのアドレスを示すブロックア
ドレスを入力し保持する。例えば、アドレス線2が32
ビットで、ブロック長が32バイトの場合、ブロックア
ドレスはアドレス線2の上位27ビットで示される。比
較器15は、アドレス線2で与えられるブロックアドレ
ス及びレジスタ14に記憶されているブロックアドレス
を示す出力17を入力とし、比較結果信号16を制御回
路12に出力する。即ち、比較結果信号16は、オンの
時、アドレス線2で与えられているブロックアドレス
と、レジスタ14に記憶されているブロックアドレスが
一致していることを示し、オフの時不一致であることを
示す。
比較結果信号(Comp)16を入力とし、レジスタ14への
LE(ラッチイネーブル)信号13を出力とする。レジ
スタ14は、制御回路12からのラッチ信号13により
アドレス線2からブロックのアドレスを示すブロックア
ドレスを入力し保持する。例えば、アドレス線2が32
ビットで、ブロック長が32バイトの場合、ブロックア
ドレスはアドレス線2の上位27ビットで示される。比
較器15は、アドレス線2で与えられるブロックアドレ
ス及びレジスタ14に記憶されているブロックアドレス
を示す出力17を入力とし、比較結果信号16を制御回
路12に出力する。即ち、比較結果信号16は、オンの
時、アドレス線2で与えられているブロックアドレス
と、レジスタ14に記憶されているブロックアドレスが
一致していることを示し、オフの時不一致であることを
示す。
【0018】次に、上述した装置の動作を説明する。図
5は、本発明の装置による処理手順を説明するフローチ
ャートである。このフローチャートに示す処理は、制御
回路12において、演算器1からキャッシュメモリ5に
対してメモリアクセス要求があった時に開始される。ま
ず、ステップS20において、RW線4がオフで、か
つ、ヒット信号10がオフか否かが判定され、その判定
が肯定の場合、ステップS21以降の処理が実行され
る。即ち、メモリへのアクセスが書き込みであり、か
つ、書き込みの対象となるブロックがキャッシュメモリ
5になく、つまりキャッシュミスの場合に、ステップS
21以降の処理が実行される。それ以外の場合は、メモ
リへのアクセスが読出しであるか、又はキャッシュヒッ
トした場合であり、いずれの場合もライトアロケートあ
るいは非ライトアロケートの処理は不要であるので、制
御回路12は何もせずに処理を終える。
5は、本発明の装置による処理手順を説明するフローチ
ャートである。このフローチャートに示す処理は、制御
回路12において、演算器1からキャッシュメモリ5に
対してメモリアクセス要求があった時に開始される。ま
ず、ステップS20において、RW線4がオフで、か
つ、ヒット信号10がオフか否かが判定され、その判定
が肯定の場合、ステップS21以降の処理が実行され
る。即ち、メモリへのアクセスが書き込みであり、か
つ、書き込みの対象となるブロックがキャッシュメモリ
5になく、つまりキャッシュミスの場合に、ステップS
21以降の処理が実行される。それ以外の場合は、メモ
リへのアクセスが読出しであるか、又はキャッシュヒッ
トした場合であり、いずれの場合もライトアロケートあ
るいは非ライトアロケートの処理は不要であるので、制
御回路12は何もせずに処理を終える。
【0019】ステップS21では、レジスタ14内に保
持されている内容と、演算器1から送られてきているメ
モリブロックアドレスとが一致しているか否かを比較結
果信号16により判定する。この判定結果が肯定の場合
は、ステップS22でWA信号11をオンとし、ライト
アロケート方式による書込みを行なう。即ち、該当ブロ
ックをメモリ9からキャッシュメモリ5に転記する。そ
して、ステップS23で該当キャッシュブロックにデー
タを書き込み、更新する。一方、ステップS21の判定
結果が否定の場合は、ステップS24でLE信号13を
オンとすることにより、演算器1から送られてきている
ブロックアドレスをレジスタ14に記憶する。そして、
ステップS25で、非ライトアロケート方式による書込
みを行なう。即ち、演算器1からデータ線3を介して送
られてきているデータについては、キャッシュメモリ5
では何もせず、そのままメモリ9に送り、メモリ9のみ
にデータを書き込み、更新する。
持されている内容と、演算器1から送られてきているメ
モリブロックアドレスとが一致しているか否かを比較結
果信号16により判定する。この判定結果が肯定の場合
は、ステップS22でWA信号11をオンとし、ライト
アロケート方式による書込みを行なう。即ち、該当ブロ
ックをメモリ9からキャッシュメモリ5に転記する。そ
して、ステップS23で該当キャッシュブロックにデー
タを書き込み、更新する。一方、ステップS21の判定
結果が否定の場合は、ステップS24でLE信号13を
オンとすることにより、演算器1から送られてきている
ブロックアドレスをレジスタ14に記憶する。そして、
ステップS25で、非ライトアロケート方式による書込
みを行なう。即ち、演算器1からデータ線3を介して送
られてきているデータについては、キャッシュメモリ5
では何もせず、そのままメモリ9に送り、メモリ9のみ
にデータを書き込み、更新する。
【0020】図6は、演算器1の出すブロックアドレス
とその時の制御回路の動作の一例を示す。図示の例で
は、図6(a)の時刻T1〜T2に示すように、演算器
1はまずブロックアドレスa1に対して3回書込みを行
なう。そして、次に時刻T4に示すようにブロックアド
レスa2に対して1回書込みを行ない、続いて時刻T5
〜T7に示すようにブロックアドレスa3に対して3回
書込みを行なう。最後に、時刻T8〜T9に示すように
再びブロックa1に対して2回の書込みを行なう。以上
の場合の動作を以下に説明する。ブロックアドレスa1
の1回目の書込みに対しては、(b)時刻T1のように
キャッシュミスであり、かつ、レジスタ内容が(g)に
示すようにクリア状態であり、(a)のメモリアドレス
とレジスタの内容が異なるため、非ライトアロケート方
式の書込みが行なわれる。即ち、(e)に示すようにキ
ャッシュメモリ5に対して何も行なわれず、(f)に示
すようにメモリ9のみが更新される。
とその時の制御回路の動作の一例を示す。図示の例で
は、図6(a)の時刻T1〜T2に示すように、演算器
1はまずブロックアドレスa1に対して3回書込みを行
なう。そして、次に時刻T4に示すようにブロックアド
レスa2に対して1回書込みを行ない、続いて時刻T5
〜T7に示すようにブロックアドレスa3に対して3回
書込みを行なう。最後に、時刻T8〜T9に示すように
再びブロックa1に対して2回の書込みを行なう。以上
の場合の動作を以下に説明する。ブロックアドレスa1
の1回目の書込みに対しては、(b)時刻T1のように
キャッシュミスであり、かつ、レジスタ内容が(g)に
示すようにクリア状態であり、(a)のメモリアドレス
とレジスタの内容が異なるため、非ライトアロケート方
式の書込みが行なわれる。即ち、(e)に示すようにキ
ャッシュメモリ5に対して何も行なわれず、(f)に示
すようにメモリ9のみが更新される。
【0021】時刻T2におけるブロックアドレスa1へ
の2回目の書き込みに対しては、(a)のメモリブロッ
クアドレスと(g)のレジスタの内容が一致するので、
(c)の比較結果信号がオンとなり、(d)のWA信号
がオンとされ、ライトアロケート方式の書込みが行なわ
れる。即ち、(f)及び(e)でメモリからブロックア
ドレスa1のブロックがキャッシュメモリに転記され、
キャッシュメモリ上のデータのみが更新される。この結
果、時刻T3でキャッシュヒットとなるときは、(d)
のWA信号はオフとなり、キャッシュヒット時のライト
バック方式により(e)のようにキャッシュメモリ上の
データのみが更新される。このように、同一ブロック内
の異なるアドレス又は同じアドレスへの複数回の書込み
の際にライトアロケート方式によりライトバック方式に
よるキャッシュメモリを利用した高速な書込みが行なわ
れる。
の2回目の書き込みに対しては、(a)のメモリブロッ
クアドレスと(g)のレジスタの内容が一致するので、
(c)の比較結果信号がオンとなり、(d)のWA信号
がオンとされ、ライトアロケート方式の書込みが行なわ
れる。即ち、(f)及び(e)でメモリからブロックア
ドレスa1のブロックがキャッシュメモリに転記され、
キャッシュメモリ上のデータのみが更新される。この結
果、時刻T3でキャッシュヒットとなるときは、(d)
のWA信号はオフとなり、キャッシュヒット時のライト
バック方式により(e)のようにキャッシュメモリ上の
データのみが更新される。このように、同一ブロック内
の異なるアドレス又は同じアドレスへの複数回の書込み
の際にライトアロケート方式によりライトバック方式に
よるキャッシュメモリを利用した高速な書込みが行なわ
れる。
【0022】時刻T4におけるブロックアドレスa2の
書込みに対しては、(b)のようにキャッシュミスであ
り、かつ、レジスタの内容が(g)に示すようにa1で
あり、(a)のメモリアドレスとレジスタの内容が異な
るため、非ライトアロケート方式の書込みが行なわれ
る。即ち、(e)に示すようにキャッシュメモリ5に対
して何も行なわれず、(f)に示すようにメモリ9のみ
が更新される。このように、同一ブロック内で1回のみ
の書込みの際に非ライトアロケート方式によりキャッシ
ュメモリへのブロックの転記が行なわれず、キャッシュ
メモリが無駄に使用されることがない。
書込みに対しては、(b)のようにキャッシュミスであ
り、かつ、レジスタの内容が(g)に示すようにa1で
あり、(a)のメモリアドレスとレジスタの内容が異な
るため、非ライトアロケート方式の書込みが行なわれ
る。即ち、(e)に示すようにキャッシュメモリ5に対
して何も行なわれず、(f)に示すようにメモリ9のみ
が更新される。このように、同一ブロック内で1回のみ
の書込みの際に非ライトアロケート方式によりキャッシ
ュメモリへのブロックの転記が行なわれず、キャッシュ
メモリが無駄に使用されることがない。
【0023】同様に、時刻T5におけるブロックアドレ
スa3の書込みに対しても、(b)のようにキャッシュ
ミスであり、かつ、レジスタ内容が(g)に示すように
a2であり、(a)のメモリアドレスとレジスタの内容
が異なるため、非ライトアロケート方式の書込みが行な
われる。即ち、(e)に示すようにキャッシュメモリ5
に対して何も行なわれず、(f)に示すようにメモリ9
のみが更新される。この時刻T5におけるキャッシュメ
モリ及びメモリのそれぞれのデータ内容を図7に示す。
図示の斜線部分はデータが更新された部分である。
スa3の書込みに対しても、(b)のようにキャッシュ
ミスであり、かつ、レジスタ内容が(g)に示すように
a2であり、(a)のメモリアドレスとレジスタの内容
が異なるため、非ライトアロケート方式の書込みが行な
われる。即ち、(e)に示すようにキャッシュメモリ5
に対して何も行なわれず、(f)に示すようにメモリ9
のみが更新される。この時刻T5におけるキャッシュメ
モリ及びメモリのそれぞれのデータ内容を図7に示す。
図示の斜線部分はデータが更新された部分である。
【0024】ところが、時刻T6におけるブロックアド
レスa3への2回目の書き込みに対しては、(a)のメ
モリブロックアドレスと(g)のレジスタの内容が一致
するので、(c)の比較結果信号がオンとなり、(d)
のWA信号がオンとされ、ライトアロケート方式の書込
みが行なわれる。即ち、(f)及び(e)でメモリから
ブロックアドレスa3のブロックがキャッシュメモリに
転記され、キャッシュメモリ上のデータのみが更新され
る。この結果、時刻T7ではキャッシュヒットとなり、
(d)のWA信号はオフとなり、キャッシュヒット時の
ライトバック方式により(e)のようにキャッシュメモ
リ上のデータのみが更新される。
レスa3への2回目の書き込みに対しては、(a)のメ
モリブロックアドレスと(g)のレジスタの内容が一致
するので、(c)の比較結果信号がオンとなり、(d)
のWA信号がオンとされ、ライトアロケート方式の書込
みが行なわれる。即ち、(f)及び(e)でメモリから
ブロックアドレスa3のブロックがキャッシュメモリに
転記され、キャッシュメモリ上のデータのみが更新され
る。この結果、時刻T7ではキャッシュヒットとなり、
(d)のWA信号はオフとなり、キャッシュヒット時の
ライトバック方式により(e)のようにキャッシュメモ
リ上のデータのみが更新される。
【0025】一方、時刻T8、T9でブロックアドレス
a1に対する4回目及び5回目の書込みが行なわれると
きは、キャッシュメモリ上にそのブロックが残されてお
り、(b)のようにキャッシュヒットとなる。従って、
キャッシュヒット時のライトバック方式により(e)の
ようにキャッシュメモリ上でのみデータが更新される。
この時刻T9におけるキャッシュメモリ及びメモリのそ
れぞれのデータ内容を図8に示す。図示の斜線部分はデ
ータが更新された部分である。
a1に対する4回目及び5回目の書込みが行なわれると
きは、キャッシュメモリ上にそのブロックが残されてお
り、(b)のようにキャッシュヒットとなる。従って、
キャッシュヒット時のライトバック方式により(e)の
ようにキャッシュメモリ上でのみデータが更新される。
この時刻T9におけるキャッシュメモリ及びメモリのそ
れぞれのデータ内容を図8に示す。図示の斜線部分はデ
ータが更新された部分である。
【0026】図8に示す場合において、仮にキャッシュ
メモリが2ブロック分の容量しかないと想定した場合の
作用効果を考えることとする。ライトアロケート方式の
みでは、キャッシュメモリにブロックアドレスa2のブ
ロックも転記される。従って、ブロックアドレスa3の
ブロックの転記の際にブロックa1がメモリに書き戻さ
れる。そして、その後、ブロックアドレスa1のブロッ
クの転記の際にブロックアドレスa3のブロックが書き
戻される。即ち、ブロックの書き戻しが多くなってしま
う。一方、非ライトアロケート方式のみでは、読出しが
行なわれない限り、キャッシュメモリは全く利用され
ず、高速なアクセスができない。本発明では、図8によ
り明らかなように、以上の問題点が同時に解決される。
即ち、キャッシュメモリの書き戻しが最小限に抑えられ
ると同時に、当該キャッシュメモリが最大限に有効に利
用される。
メモリが2ブロック分の容量しかないと想定した場合の
作用効果を考えることとする。ライトアロケート方式の
みでは、キャッシュメモリにブロックアドレスa2のブ
ロックも転記される。従って、ブロックアドレスa3の
ブロックの転記の際にブロックa1がメモリに書き戻さ
れる。そして、その後、ブロックアドレスa1のブロッ
クの転記の際にブロックアドレスa3のブロックが書き
戻される。即ち、ブロックの書き戻しが多くなってしま
う。一方、非ライトアロケート方式のみでは、読出しが
行なわれない限り、キャッシュメモリは全く利用され
ず、高速なアクセスができない。本発明では、図8によ
り明らかなように、以上の問題点が同時に解決される。
即ち、キャッシュメモリの書き戻しが最小限に抑えられ
ると同時に、当該キャッシュメモリが最大限に有効に利
用される。
【0027】以上のように、本実施例では、メモリ上の
各ブロックに対して初めての書込み処理であり、かつ、
キャッシュミスの場合には、そのブロックをキャッシュ
メモリ5に格納することなく、メモリ9のみを更新す
る。これにより、プログラムの書込みパターンAに対し
ては、非ライトアロケート方式で書込みが行なわれる。
一方、2回以上連続して同じブロックに書込み処理があ
る場合は、2回目の書込み時にそのブロックをメモリ9
からキャッシュメモリ5に転記し、キャッシュメモリ5
上でそのブロックの更新がされる。そして、連続する3
回目以降の書込みでは、キャッシュメモリ5はヒットす
るので、高速な書込み処理が行なえる。これにより、プ
ログラムの書込みパターンBに対しては、ライトアロケ
ート方式で書込みが行なわれる。
各ブロックに対して初めての書込み処理であり、かつ、
キャッシュミスの場合には、そのブロックをキャッシュ
メモリ5に格納することなく、メモリ9のみを更新す
る。これにより、プログラムの書込みパターンAに対し
ては、非ライトアロケート方式で書込みが行なわれる。
一方、2回以上連続して同じブロックに書込み処理があ
る場合は、2回目の書込み時にそのブロックをメモリ9
からキャッシュメモリ5に転記し、キャッシュメモリ5
上でそのブロックの更新がされる。そして、連続する3
回目以降の書込みでは、キャッシュメモリ5はヒットす
るので、高速な書込み処理が行なえる。これにより、プ
ログラムの書込みパターンBに対しては、ライトアロケ
ート方式で書込みが行なわれる。
【0028】尚、上述した実施例においては、メモリ9
がRAM等の半導体メモリである場合について説明した
が、本発明はこれに限定されることなく、メモリ9はデ
ィスク装置等の入出力装置であっても差し支えない。こ
の場合のキャッシュメモリ5はディスクキャッシュとな
る。
がRAM等の半導体メモリである場合について説明した
が、本発明はこれに限定されることなく、メモリ9はデ
ィスク装置等の入出力装置であっても差し支えない。こ
の場合のキャッシュメモリ5はディスクキャッシュとな
る。
【0029】
【発明の効果】以上説明したように、本発明のキャッシ
ュ制御装置によれば、プログラムの実行時の書込みの特
性をレジスタと比較器で判定し、書込み時のキャッシュ
ミスが生じた場合に該当するメモリ上のブロックをキャ
ッシュメモリに転記し、即ちライトアロケート方式で処
理するか、キャッシュメモリに転記せず、即ち非ライト
アロケート方式で処理するかを動的に決定するようにし
たので、予めライトバック方式を採用する場合にライト
アロケート方式を選定するか非ライトアロケート方式を
選定するかを決める必要がなく、あらゆる応用プログラ
ムに対し、キャッシュメモリの有する高速性を発揮させ
るようにすることができる。つまり、汎用性に優れたキ
ャッシュ制御装置を提供することができる。
ュ制御装置によれば、プログラムの実行時の書込みの特
性をレジスタと比較器で判定し、書込み時のキャッシュ
ミスが生じた場合に該当するメモリ上のブロックをキャ
ッシュメモリに転記し、即ちライトアロケート方式で処
理するか、キャッシュメモリに転記せず、即ち非ライト
アロケート方式で処理するかを動的に決定するようにし
たので、予めライトバック方式を採用する場合にライト
アロケート方式を選定するか非ライトアロケート方式を
選定するかを決める必要がなく、あらゆる応用プログラ
ムに対し、キャッシュメモリの有する高速性を発揮させ
るようにすることができる。つまり、汎用性に優れたキ
ャッシュ制御装置を提供することができる。
【図1】本発明のキャッシュ制御装置の一実施例のブロ
ック図である。
ック図である。
【図2】従来のキャッシュ制御装置の一例のブロック図
である。
である。
【図3】キャッシュ制御装置の制御方式の種類の説明図
である。
である。
【図4】メモリへのデータ書込みパターンの種類の説明
図である。
図である。
【図5】本発明の装置による処理手順を説明するフロー
チャートである。
チャートである。
【図6】本発明の装置の動作の説明図である。
【図7】図6の時刻T5でのデータ内容の説明図であ
る。
る。
【図8】図6の時刻T9でのデータ内容の説明図であ
る。
る。
1 演算器 5 キャッシュメモリ 9 メモリ 12 制御回路 14 レジスタ 15 比較器
Claims (1)
- 【請求項1】 メモリのデータをブロックごとに転記
し、当該メモリへの書込み要求時に当該書込みの対象と
なるデータを転記している場合にはその転記しているデ
ータの書換えのみを行なうことにより書込みを完了する
ライトバック方式のキャッシュメモリと、 前記メモリへの書込み要求時に当該書込みの対象となる
データが前記キャッシュメモリに転記されていない場合
にそのデータを含むブロックアドレスを保持するレジス
タと、 当該レジスタに格納されているブロックアドレスと、現
在アクセス対象となっているブロックアドレスとを比較
する比較器と、 前記メモリへの書込み要求時に当該書込みの対象となる
データが前記キャッシュメモリに転記されていない場合
に、当該比較器の比較結果に基づき、そのデータを含む
ブロックアドレスが前回の書込み時のブロックアドレス
と等しいときは、当該ブロックを前記メモリから前記キ
ャッシュメモリに転記して当該キャッシュメモリ上のデ
ータの書換えのみを行なう一方、そのデータを含むブロ
ックアドレスが前回の書込み時のブロックアドレスと異
なるときは、前記レジスタに現在のブロックアドレスを
保持して前記メモリのデータを書き換える制御回路とか
ら成ることを特徴とするキャッシュ制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5326256A JPH07152650A (ja) | 1993-11-30 | 1993-11-30 | キャッシュ制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5326256A JPH07152650A (ja) | 1993-11-30 | 1993-11-30 | キャッシュ制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07152650A true JPH07152650A (ja) | 1995-06-16 |
Family
ID=18185743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5326256A Pending JPH07152650A (ja) | 1993-11-30 | 1993-11-30 | キャッシュ制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07152650A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009157612A (ja) * | 2007-12-26 | 2009-07-16 | Fujitsu Microelectronics Ltd | キャッシュメモリシステム及びキャッシュメモリの制御方法 |
JP2010086496A (ja) * | 2008-10-03 | 2010-04-15 | Nec Corp | キャッシュメモリを備えるベクトル計算機システム、及びその動作方法 |
JP2015232879A (ja) * | 2014-06-05 | 2015-12-24 | エイアールエム リミテッド | データ処理装置における動的なキャッシュ・アロケーション・ポリシーの適応 |
-
1993
- 1993-11-30 JP JP5326256A patent/JPH07152650A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009157612A (ja) * | 2007-12-26 | 2009-07-16 | Fujitsu Microelectronics Ltd | キャッシュメモリシステム及びキャッシュメモリの制御方法 |
JP2010086496A (ja) * | 2008-10-03 | 2010-04-15 | Nec Corp | キャッシュメモリを備えるベクトル計算機システム、及びその動作方法 |
US8151058B2 (en) | 2008-10-03 | 2012-04-03 | Nec Corporation | Vector computer system with cache memory and operation method thereof |
JP2015232879A (ja) * | 2014-06-05 | 2015-12-24 | エイアールエム リミテッド | データ処理装置における動的なキャッシュ・アロケーション・ポリシーの適応 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5417879B2 (ja) | キャッシュ装置 | |
EP0077453A2 (en) | Storage subsystems with arrangements for limiting data occupancy in caches thereof | |
JP3236287B2 (ja) | マルチプロセッサシステム | |
JPH09237223A (ja) | バスブリッジを用いたコンピュータシステム | |
JP2008502069A (ja) | メモリ・キャッシュ制御装置及びそのためのコヒーレンシ動作を実行する方法 | |
JPH06318174A (ja) | キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法 | |
US6976130B2 (en) | Cache controller unit architecture and applied method | |
JPH07152650A (ja) | キャッシュ制御装置 | |
JP2004240616A (ja) | メモリコントローラ及びメモリアクセス制御方法 | |
JPH05282208A (ja) | キャッシュメモリ制御方式 | |
EP0943998B1 (en) | Cache memory apparatus | |
JPH0354649A (ja) | バッファ記憶制御方式 | |
JPH0210446A (ja) | バッファ記憶装置 | |
JP2927160B2 (ja) | レジスタ装置 | |
JP2703255B2 (ja) | キャッシュメモリ書込み装置 | |
JP2972451B2 (ja) | ハードウェア制御ソフトウェアによるキャッシュメモリ制御方式 | |
JP3729832B2 (ja) | キャッシュメモリ装置 | |
JP4856373B2 (ja) | メモリ・システムとその制御方法、データ・コヒーレンシを保つ方法 | |
JPH09282231A (ja) | ライトバック型キャッシュ装置 | |
JP3761890B2 (ja) | キャッシュメモリ装置 | |
JPH04195563A (ja) | メモリシステムの制御装置 | |
JPS62145342A (ja) | キヤツシユメモリシステム | |
EP0400851A2 (en) | Efficient cache utilizing a store buffer | |
JPS61235960A (ja) | キヤツシユメモリの制御方法 | |
JPH10198604A (ja) | キャッシュリプレース方式 |