すこしでも早く見つけたい【ヒット率と実効アクセス時間】

ヒット率


キャッシュメモリはCPUとメモリを中継ぎすることでデータにアクセスするまでの時間を早めることができます。しかし、具体的にイメージを掴みづらいところがあるのも事実でしょう。たとえば実際にどれだけアクセスまでの時間を早められるのか………など。

この記事ではヒット率実効アクセス時間について解説していきます。実効アクセス時間算出することによって、キャッシュメモリの効能を確認することができるはずです。情報処理試験にも出題される箇所ですから、内容を押さえておくといいでしょう。

ヒット率とは?


CPUのアクセス対象であるプログラムやデータは、メインメモリあるいはキャッシュメモリ上に存在します。キャッシュメモリにデータが存在する場合、メインメモリまでアクセスする必要がありませんから、実効アクセス時間が短くなるわけです。

そして、キャッシュメモリにデータが存在する確率ヒット率といいます。一方、メインメモリにデータが存在する確率NFP(Not Found Probability)といいます。

実効アクセス時間とは


CPUがプログラムやデータにアクセスするまでの時間を実効アクセス時間といいます。

これについては

  • ヒット率
  • キャッシュメモリのアクセス時間
  • メインメモリのアクセス時間


この3点が分かっていれば具体的な値を求めることができます。

ここで実例の提示も兼ねて自作の例題をひとつ載せておきましょう。情報処理試験においても過去に同様の問題が出題されています。実効アクセス時間と資格試験の両側面から紐解いてみるといいでしょう。

実効アクセス時間の算出:どれだけ早くデータにありつける?

問題

・ヒット率 60%
・キャッシュメモリのアクセス時間 20ナノ秒
・メインメモリのアクセス時間 50ナノ秒
 この場合の実効アクセス時間を計算せよ。
(ナノ秒は10億分の1秒のこと)

解説

キャッシュメモリにデータがある確率、つまりヒット率が60%だとすると、CPUはキャッシュメモリに20ナノ秒かけてアクセスすることになる。

そして、メインメモリにデータがある確率が40%だとすると、メインメモリには50ナノ秒かけてアクセスすることになる。

以上より、

 20×0.6 + 50×(1.0 – 0.6)
=32(ナノ秒)

ー以上ー


キャッシュメモリのヒット率:これだけ早くデータにありつけた!


この問題の場合、本来メインメモリまで50ナノ秒かけてデータにアクセスするところを、

50 – (12 + 20) = 18(ナノ秒)

つまり、18ナノ秒アクセス時間を短縮したことになります。われわれ人間にとってはごく短い時間ではありますが、コンピュータにとっては必ずしもそうとは限りません。実際にデータアクセスまでの時間が短くなることが計算からも示せています。

これがキャッシュメモリの効能というわけです。





それでは、今回はここまでといたします。
最後までお読みいただきありがとうございます。


ヒット率
最新情報をチェックしよう!