キャッシュメモリの性能と制御
キャッシュメモリは、主記憶よりアクセスが速いが容量の小さい記憶装置を、CPUと主記憶の間に置いて、頻繁に使うデータや命令の写しを保持する仕組みである。性能は、ヒット率と、ヒット時およびミス時のアクセス時間から求める実効アクセス時間で評価される。また、ブロックを置き換えるアルゴリズムと書込み方式の違いが、性能と一貫性の両方を左右する。
キャッシュの動作と評価式
CPUが要求するデータがキャッシュにある場合をヒット、ない場合をミスと呼ぶ。平均アクセス時間は、ヒットとなる確率とミスとなる確率をそれぞれ重みとして、各場合のアクセス時間を加重平均した値として表せる。命令キャッシュの場合、命令コードがキャッシュに存在しない確率をrとすると、キャッシュのアクセス時間xと主記憶のアクセス時間yを用いて、平均は(1−r)・x+r・yで表される。
二段のキャッシュでは、L2キャッシュへはL1でミスしたアクセスだけが到達する。L1のヒット率が0.95、L2のヒット率が0.6であるとき、L1でのミスは全体の5%であり、そのうち60%がL2でヒットするため、全体のヒット率は0.95+0.05×0.6=0.98となる。 この計算は、L1にあるデータはすべてL2にもあるという前提の下で成り立つ。
実効アクセス時間の計算
キャッシュのアクセス時間が主記憶の1/30で、ヒット率が95%である場合、主記憶のアクセス時間を1としてヒット時は1/30、ミス時は1で計算する。実効時間は0.95×(1/30)+0.05×1で、約0.08となる。これは主記憶のアクセス時間の約0.08倍である。 同じ条件の問題は、別の回の過去問でも出題されている。 ミス時にキャッシュの確認時間を含めるかどうかで値が変わるため、問題文に示された前提を必ず確認する必要がある。
この節の続き
- ブロックの置換えアルゴリズム
- 書込み方式の違い
- 実務での性能の見方
- 試験で問われやすい区別
ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。
アプリでこの節を読む