【キャッシュメモリ】基本情報技術者試験

【キャッシュメモリ】基本情報技術者試験

キャッシュメモリとは

CPU とメインメモリの間に置かれる高速な記憶装置.。使用頻度の高いデータを高速なキャッシュメモリに常駐させておくことで低速がメインメモリへのアクセス回数を減らし、システム全体の高速化を図ります。

過去出題問題(平成24年春午前問20)

処理装置で用いられキャッシュメモリの使用用途として適切なものはどれか。

ア.仮想記憶のアドレス変換を高速に行う。

イ.仮想記憶のページング処理を高速に行う。

ウ.主記憶へのアクセス速度とプロセッサーの処理速度の差を埋める。

エ.使用頻度の高いプログラムを常駐させる。

キャッシュメモリーのキーワードは「処理速度の差を埋める」このことから答えはウとなります。

ヒット率とは

キャッシュメモリーはアクセス速度の遅いメインメモリとアクセス速度の速いプロセッサ(CPU)との間に置かれる領域のことです。この領域に処理したいデータがあった場合、キャッシュメモリーから取ってきた方がメインメモリーから取ってくるより断然速くなります。そしてこの時キャッシュメモリーに必要とするデータがある確率をヒット率と言います。

過去出題問題(平成20年秋午前問19)

キャッシュメモリと主記憶に関するアクセス時間とヒット率の組み合わせのうち主記憶の実効アクセス時間が最も短くなるのはどれか。

キャッシュメモリキャッシュメモリ主記憶
アクセス時間(ナノ秒)ヒット率(%)アクセス時間(ナノ秒)
106070
107070
207050
208050

ヒット率とは何かを理解していないとこの問題は解けません。キャッシュメモリーの問題にはこのパターンの問題が非常に多いので覚えておきましょう。ヒット率とは必要とするデータがキャッシュメモリに存在する確率のことです。そしてもし存在しなかった場合は仕方ないのでアクセス時間の遅いし急奥から取りに行かなければなりません。計算式はこうなります

実効アクセス時間=(ヒット率×キャッシュメモリのアクセス時間)+{(1-ヒット率)×色欲のアクセス時間}

これを踏まえて計算式に当てはめて一番実行時間が短いものを選びましょう。

実行アクセス時間 = 10×0.6 + 70 ×(1-0.6) = 34(ナノ秒)
実行アクセス時間 = 10×0.7 + 70 ×(1-0.7) = 28(ナノ秒)
実行アクセス時間 = 20×0.7 + 50 ×(1-0.7) = 29(ナノ秒)
実行アクセス時間 = 20×0.8 + 50 ×(1-0.8) = 26(ナノ秒)

最後に

出題傾向

ヒット率を用いて実効アクセス時間を計算させる問題はほぼ毎回出題されています。計算問題のパターンはヒット率が与えられていて全体の実効アクセス時間を求めるケースと、 実効アクセス時間からヒット率を求めるケースがあります。

高速技術の代表格(キャッシュメモリ)

システムの高速化する方法としてキャッシュメモリメモリインタリーブパイプラインの三つがよく用いられます。この三つのキーワードは必ず出題頻度ランキング上位に位置しています。最近ではキャッシュメモリーは高速化での出題頻度より計算問題としてさらに出題頻度が上がっている傾向があります。逆に他の髪は少し頻度は下がっているように思えますが出題がなくなったわけではありませんので三つとも覚えておきましょう。

キャッシュとキャッシュメモリ

処理速度の高速な媒体と低速な媒体の間に一時的な高速の記憶領域を置くことで、この領域に処理を行うデータが存在する場合はこの領域からデータを取り出し処理します。この領域のことをキャッシュと呼びます。キャッシュはハードディスクと主記憶装置、主記憶装置と処理装置の間に置かれその中でも主記憶装置と処理装置のキャッシュをキャッシュメモリと通常呼んでいます。