平成21年 春期 エンベデッドシステムスペシャリスト 午前II 問4

容量64kバイト、ブロックサイズ32バイトのキャッシュメモリをもつ32ビットMPUが、主記憶から1Mバイトの32ビット整数型配列データとして読み出した。
このとき、キャッシュメモリのミスヒット率は何%か。
ここで、配列データ以外のデータはレジスタに割り当てられているものとし、kは210、Mは220を表す。

 ア  0.006
 イ  0.05
 ウ  6.4
 エ  12.5


答え エ


解説
このMPUのキャッシュメモリのブロックサイズは32バイトなので、1回キャッシュのミスヒットが発生すると、ミスヒットしたアドレスを含む32バイトのデータがキャッシュに転送される。
MPUは32ビットで読み出すデータも32ビット整数型配列なので、MPUの読み出しは32ビット単位で行われる。
キャッシュメモリに何も転送されていない状態で、この読み出し処理を行うと、1回目の32ビットの読み出しはキャッシュにミスヒットし、32バイトのデータがキャッシュに転送される。
2回目の読み出しは1回目の読み出しの次のアドレスについて行われるので、キャッシュにヒットし、3回目もキャッシュにヒット…と1回目の読み出しで転送した32バイトの範囲ではキャッシュにヒットし、その回数は32ビットアクセスであるので7回(32バイト÷32ビット-1回目)である。
したがって、キャッシュにミスヒットするのは8回読み出すと1回発生することになるので、ミスヒット率は
 8÷1=0.125=12.5%
(エ)になる。


キーワード
・キャッシュメモリのヒット率

キーワードの解説

戻る 一覧へ 次へ