ID非公開

2020/7/27 23:51

11回答

キャッシュに関する問題です。

キャッシュに関する問題です。 お分かりになる方、教えていただけると幸いです。 ↓以下、問題↓ 16ビットで表されるアドレス空間において、ブロックサイズ32バイト、キャッシュ容量16Kバイトのキャッシュを用いた。下記の番地(16進数)に順番にアクセスがあった。 (1)0x340C (2)0x2214 (3)0x3418 (4)0x1418 (5)0x0200 (6)0x3408 (7)0x7414 (8)0x3418 下記A),B)においてキャッシュのミスとヒットを ミス:1,2,3,4 ヒット:5,6,7,8 のように示せ。導出過程も示すこと。 A)キャッシュがダイレクトマッピング方式であるとき B)キャッシュが連想度2のセットアソシアティブ方式で、ブロック置換にLRU法を用いるとき

データベース | ネットワーク技術52閲覧xmlns="http://www.w3.org/2000/svg">100

1人が共感しています

ベストアンサー

0

どのcache blockが使われるか考えればわかります。 例えば direct map では、 (1) は(最初なので)cache miss し、そのデータを 0x3400〜0x341f の cache block に格納します。(2) は 0x2200 の cache block に格納、 (3)は (1) で cache に乗っているので cache hit、(4) は 0x1400に格納。という具合。 2way set-associative map では2つの物理アドレスまで乗せられますが cache の高さは半分になります。(1) は cache miss して way 0 の 0x1400 のブロックに格納、(2) は way 0 の0x0200 に格納。(3) は direct map と同様 cache hit、(4) は way 1 の 0x1400 に格納。 ここまでは direct map も set-associative も cache に乗る量は変わりません。しかし (7)(8) のように direct map では追い出されてしまうものが set-associative では 乗せることができます。ここを正しく回答してください。

ThanksImg質問者からのお礼コメント

ありがとうございます

お礼日時:7/28 21:44