メモリ階層と性能
ラインサイズ64バイト、セット数64のキャッシュで、アドレス0x1234のデータが入るセットの番号はどれか。
- A4
- B52
- C8
答えと解説を見る
正解:C. 8
オフセットは 64 = 2⁶ で下位6ビット、インデックスはセット数 64 = 2⁶ でその上の6ビットです。0x1234 = 4660 を64で割ると 4660 ÷ 64 = 72 余り52なので、ライン番号は72です。セット番号はライン番号をセット数で割った余りで、72 mod 64 = 8 になります。52は64で割った余りで、ライン内の位置(オフセット)を表す値です。4はアドレスの16進数の下1桁を取り出しただけの値で、セットとは関係ありません。
- A. 4は16進数の下1桁で、セットとは関係ありません。
- B. 52はライン内の位置(オフセット)です。
- C. 正しい。ライン番号72を64で割った余りの8です。