スポンサードリンク
キャッシュメモリーは、CPUと主記憶装置とのアクセス時間差をカバーするために使われるものでことは基本情報技術者講座キャッシュメモリで理解してもらえたと思う。
ここでは、基本情報技術者試験でもよく出題される実際にキャッシュメモリーを使った場合の実効アクセス時間の求め方を解説していこう。
キャッシュメモリーのアクセス時間を計算するうえで必要になる用語として以下の用語がある。まずはこの用語の意味を理解して欲しい。
ヒット率は、CPUが必要とするデータがキャッシュメモリー上に存在する確率である。ヒット率に対して、NFPは、CPUが必要とするデータがキャッシュメモリー上に存在しない確率である。ヒット率とNFPの関係は以下のとおりである。
ヒット率+NFP=1
したがって、以下の関係が成り立つ。
ヒット率=1−NFP
NFP=1−ヒット率
ヒット率とNFPの関係は実効メモリアクセス時間を計算するうえでとても重要である。必ず覚えて欲しい。これさえ理解できれば実効メモリアクセス時間の計算が楽々と計算できるようになる。
具体的には、ヒット率からNFP、NFPからヒット率が求められるようになって欲しい。
確率という用語や“ヒット率+NFP=1”出てくると難しく感じるかもしれない。身近な例で考えると、天気の降水確率を思い出して欲しい。例えば、降水確率10%ということは、晴れの確率つまり雨の降らない確率は90%である。
1−降水確率=晴れの確率
降水確率+晴れの確率=1
ヒット率とNFPもこれと同じ考え方である。
ヒット率+NFP=1
ヒット率=1−NFP
NFP=1−ヒット率
キャッシュメモリーを使った実効アクセス時間は以下の式で求めることができる。
キャッシュメモリーのアクセス時間×ヒット率+主記憶のアクセス時間×(1−ヒット率)
あるプロセッサが主記憶装置及びキャッシュメモリにアクセスするとき,それぞれのアクセス時間は60ナノ秒及び10ナノ秒である。アクセスするデータがキャッシュメモリに存在する確率が80%の場合,このプロセッサの平均アクセス時間は何ナノ秒か。
基本情報技術者 平成12年 春期 問21
解答:イ
この問題は、ヒット率からNFPを求めることができるかどうかがポイントである。
アクセスするデータがキャッシュメモリに存在する確率が80%というのはヒット率である。したがって、NFPは、1−ヒット率であるから、1−0.8=0.2である。
したがって、平均アクセス時間は以下の式で求められる。
10ナノ秒×0.8+60ナノ秒×0.2=20ナノ秒
平均アクセス時間を求める場合以下のように表にまとめると分かりやすい。
装置 | アクセス時間 | 確率 | アクセス時間×確率 |
---|---|---|---|
キャッシュメモリ | 10ナノ秒 | 0.8(ヒット率) | 8ナノ秒 |
主記憶 | 60ナノ秒 | 0.2(NFP) | 12ナノ秒 |
平均アクセス時間 | 20ナノ秒 |
このように表にして計算すると、分かりやすいと思うので、ぜひ活用して欲しい。