プロが教える店舗&オフィスのセキュリティ対策術

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法を用いるとき

A 回答 (1件)

与えられている情報では、キャッシュのエントリー数、タグのビット数などのキャッシュに関する基本的なことはわかるけど、アドレスのどのフィールドがタグに入って、どのフィールドがキャッシュエントリを指定するのかが不明です。

それがわからないと、アドレスだけ与えられてもキャッシュのヒット、ミスはわかりません。
上のキャッシュでは、ダイレクトマップであれば、エントリー数は512なので、キャッシュエントリの選択に9ビット、ブロック内のバイトを指定するのに5ビット、タグのビット数は2ビットとなる。しかし上で言ったように、エントリセレクトのための9ビットとタグマッチのための2ビットがアドレスの中でどういう風に配置されているのかわからないので、ヒット、ミスは判定できません。
2ウェイセットアソシアティブであれば、エントリ数はダイレクトマップの半分の256になるので、エントリセレクトに8ビット、タグマッチに3ビットが使われる。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!