ヒット率 (コンピュータ)
表示
CPUが必要とするデータがキャッシュメモリにない場合、メインメモリにアクセスする。このとき、必要なデータがキャッシュメモリにある確率をヒット率あるいはアクセス確率という[1]。キャッシュメモリにない確率はNFP(Not Found Probability)と呼ばれ、これはヒット率の余事象であるので「1-ヒット率」で求めることができる[1]。キャッシュメモリがある場合、CPUからメインメモリのアクセス時間を計算するにはヒット率あるいはNFPが必要となる。このとき、キャッシュメモリがある場合のアクセス時間を実効アクセス時間と呼ぶ[1]。
キャッシュのヒット率
[編集]データを読み込みに行った場合に、求めるデータがキャッシュ (コンピュータシステム)上に存在する確率や割合。反対に、ヒットしない場合(キャッシュ上には存在しないが、その先の本来の記憶装置(キャッシュ対象の記憶装置)上には存在した確率や割合)は、NFP(Not Found Probability) で表現される。
キャッシュの典型例はCPUと主記憶装置の間のキャッシュメモリだが、それ以外にもデータベース管理システムやオペレーティングシステムなどの各種のソフトウェアのキャッシュ、各種の補助記憶装置などの内蔵キャッシュ、各種のキャッシュサーバなども含まれる。
平均アクセス時間の計算式
[編集]キャッシュのヒット率は、システムの平均アクセス時間を計算するときに利用される。キャッシュが1層であるとき、システム全体の平均アクセス時間は、次の計算式で求められる。
キャッシュのアクセス時間 x ヒット率 + キャッシュ対象の記憶装置のアクセス時間 x (1 - ヒット率)
NFPが分かっている場合、 ( 1 - ヒット率 ) はNFPで代用できる。キャッシュが複数の階層構造を持つ場合は、計算はより複雑なものとなる。
参考文献
[編集]- ^ a b c 鈴木衛(2011)「コンピュータシステムの基礎」SCC、第5版、143ページ。