×
コンピュータ構成要素

注意すべき点として、実効アクセス時間の計算において、キャッシュにデータが無かった場合(キャッシュミス時)のハードウェアの動作仕様によって、計算式が微妙に変わるケースがあります。最も一般的な計算モデルは、キャッシュにアクセスして無いことが分かった後で主記憶装置にアクセスに行く「逐次アクセス方式」に近い考え方ですが、試験問題によっては「キャッシュメモリと主記憶装置に同時にアクセスを開始する」という前提条件が付けられることがあります。その場合は、ミス時のアクセス時間は主記憶装置へのアクセス時間のみで計算されるなど、問題文の条件を正確に読み取ることが求められます。

試験でのポイント

基本情報技術者試験では、ヒット率を用いた「実効アクセス時間」の算出問題がほぼ毎回のように出題される計算問題の定番です。

基本的な計算式は以下の通りです。
実効アクセス時間 = (キャッシュのアクセス時間 × ヒット率) + (主記憶のアクセス時間 × (1 - ヒット率))

試験では単純に数値を当てはめて計算させる問題のほか、少し応用を利かせた問題も出題されます。例えば、「実効アクセス時間を特定の時間以下にするためには、ヒット率を最低何%以上にしなければならないか」という逆算を求める問題や、「ヒット率が0%のときと100%のときの実効アクセス時間はそれぞれいくらか」という極端なケースを考えさせる問題などです。

計算の際に間違いやすいポイントとして、ミス率は「1 - ヒット率」で求められること、そして単位(ナノ秒など)を揃えて計算することが挙げられます。また、問題文の指示で「キャッシュミスが発生した場合は、主記憶アクセス時間に加えてキャッシュのペナルティ時間がかかる」といった特殊な条件が付加されていないか、問題を注意深く読む習慣をつけてください。

関連する用語

ヒット率の概念と不可分な用語として、速度差を埋めるために用いられるキャッシュメモリや、平均的な読み書き時間を表す実効アクセス時間、そしてキャッシュがいっぱいになった時にどのデータを捨てるかを決めるLRU方式などの置換アルゴリズムが関連します。