答え エ
【解説】
この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%
(エ)になる。