平成21年度 春期 午前Ⅱ 問4
メモリ
ミスヒット率
容量64kバイト,ブロックサイズ32バイトのキャッシュメモリをもつ32ビットMPUが,主記憶から1Mバイトの32ビット整数型配列データを連続して読み出した。このとき,キャッシュメモリのミスヒット率は何%か。ここで,配列データ以外のデータはレジスタに割り当てられているものとし,kは2^10,Mは2^20を表す。
- ア0.006
- イ0.05
- ウ6.4
- エ12.5
答えと解説を見る
✓ これが正解エ12.5
解説
1ブロックに整数が8個入り、8回に1回ミスするので12.5%です。
32ビット整数は1個4バイトなので、32バイトのブロックには32÷4=8個の要素が入ります。配列を先頭から連続して読むと、ブロックの最初の要素を読むときだけ主記憶からブロックを読み込むためミスヒットになり、残りの7個はキャッシュメモリにあるのでヒットします。ミスヒット率は1÷8=0.125、つまり12.5%です。配列全体の1Mバイトはキャッシュの容量64kバイトより大きいものの、同じ要素を読み直さない連続読出しなので、容量は結果に影響しません。連続アクセスのミスヒット率は、要素の大きさ÷ブロックサイズで求まる、と押さえておくと速く解けます。
ほかの選択肢はなぜ違うのか
- ア0.006:0.006%は、正しい値12.5%と比べて桁違いに小さい値です。同じ要素を読み直さない連続読出しでは、8要素ごとに新しいブロックを読み込むので、ミスヒット率がこれほど低くなることはありません。
- イ0.05:0.05%も、8要素に1回のミスという条件からは出てこない値です。この問は配列を一度ずつ順に読むだけなので、データの再利用によってヒットが増えることがなく、どのブロックでも最初の1回は主記憶からの読込みになります。
- ウ6.4:6.4%は、4バイトの要素が32バイトのブロックに8個入るという関係から導けない値です。1要素ずつ順に読む場合、ブロックの読込みは8回に1回の割合で起きるので、ミスヒット率は12.5%になります。
この問題の用語
- キャッシュ一度取り寄せた内容を手元に置いて、次から早く使えるようにする仕組み。CPUとメモリの間や、ブラウザ、DNSなど、さまざまな場所で使われます。
出典:平成21年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問4
同じ用語が出る問題
- 令和7年度 秋期 午前Ⅱ 問16:DNSSECに関する問題(キャッシュ)
- 令和7年度 秋期 午前Ⅱ 問9:DRAMの特徴(キャッシュ)
- 令和6年度 秋期 午前Ⅱ 問3:キャッシュメモリに関する問題(キャッシュ)
- 令和4年度 秋期 午前Ⅱ 問1:スヌープキャッシュの説明(キャッシュ)
- 令和3年度 秋期 午前Ⅱ 問3:メモリインタリーブの説明(キャッシュ)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)