メモリ階層と性能
フルアソシアティブ方式のキャッシュで、アドレスのうちインデックス(セットを選ぶ部分)に使うビット数はどれか。
- Aラインサイズで決まる6ビット
- Bライン数と同じだけのビット
- C0ビット
答えと解説を見る
正解:C. 0ビット
フルアソシアティブ方式では、どのデータもキャッシュ内のどの場所にでも置けるため、セットは全体で1つしかありません。セットを選ぶ必要がないのでインデックスは0ビットで、アドレスはオフセットとタグだけに分かれ、アクセスのたびにすべてのラインのタグと比べます。そのため比較器が多く必要で、大きなキャッシュには向かず、TLBなどの小さな構造に使われます。ラインサイズで決まるのはオフセットのビット数で、インデックスではありません。
- A. ラインサイズで決まるのはオフセットのビット数です。
- B. ライン数に合わせてビットが要るのはダイレクトマップのインデックスです。
- C. 正しい。セットが1つしかないのでインデックスは不要です。