pulpul 日本の試験

情報処理安全確保支援士 概念書 · 組込み・コンピュータシステム

キャッシュメモリの性能と制御

キャッシュメモリは、CPUと主記憶の速度差を埋めるために、よく使われるデータの写しを小容量で高速な記憶装置に置く仕組みである。性能はヒット率とアクセス時間で評価され、置換の方式と書込みの方式がその制御の中心となる。試験では、計算問題と方式の特徴を区別する問題が多く問われる。

原理・仕組み

CPUが要求したデータがキャッシュにあればヒット、なければミスとなる。ミスの場合は主記憶から該当するブロックを読み込み、キャッシュに登録する。キャッシュは容量が限られるため、空きがないときは既存のブロックを追い出して新しいブロックを入れる必要がある。どのブロックを追い出すかを決める方式を置換アルゴリズムといい、最後に参照された時刻に基づいて判断する方式が代表的である。

置換アルゴリズムには、ロードされた時刻が最も古いものを追い出すFIFO、参照回数が最も少ないものを追い出すLFU、ロードされた時刻が最も新しいものを追い出すLIFO、最後の参照から最も長く経過したものを追い出すLRUがある。LRUは、最近使われたデータは再び使われやすいという参照の局所性を前提とする方式である。

書込みの方式には、ライトスルーとライトバックがある。ライトスルー方式は、書込みデータをキャッシュメモリと主記憶の両方に書き込むため、主記憶の内容は常に最新に保たれる。一方、ライトバック方式は通常の書込みではキャッシュメモリだけを更新し、更新されたブロックを追い出すときに主記憶へ書き戻す。

判断の基準や数値

性能を評価する基本は、ヒット時とミス時のそれぞれの時間をヒット率とミス率で重み付けして平均した実効アクセス時間である。キャッシュのアクセス時間を主記憶の1/30、ヒット率を95%とした問題では、問題文の条件に従って計算すると、実効時間は主記憶のアクセス時間の約0.08倍となる。

ヒット率そのものは時間の倍率ではないため、実効アクセス時間の答えとして扱ってはならない点に注意する。同じ条件の問題でも、ヒット率と時間の倍率を取り違えると誤りになる。

キャッシュを二段に構成する場合、上位のキャッシュでヒットしなかった要求だけが下位のキャッシュに届く。上位の内容が下位にも含まれる条件では、全体のヒット率は上位のヒット率に、上位のミス率と下位のヒット率の積を加えた値になる。上位のヒット率が0.95、下位のヒット率が0.6であれば、全体のヒット率は0.98となる。

この節の続き

ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。

アプリでこの節を読む