応用情報技術者試験 令和元年秋 午前問10 解説付き過去問
問題
容量がa Mバイトでアクセス時間がxナノ秒の命令キャッシュと、容量がb Mバイトでアクセス時間がyナノ秒の主記憶をもつシステムにおいて、
CPUからみた、主記憶と命令キャッシュとを合わせた平均アクセス時間を表す式はどれか。
ここで、読み込みたい命令コードがキャッシュに存在しない確率をrとし、キャッシュメモリ管理に関するオーバヘッドは無視できるものとする。
正解
解説
本問題は、キャッシュメモリと主記憶の平均アクセス時間を求める式に関する理解を問うものです。読み込み対象の命令がキャッシュに存在しない確率を r とした上で、平均アクセス時間をどのように算出するかが問われています。
- 平均アクセス時間の基本式
キャッシュメモリが導入されたシステムにおける平均アクセス時間は、以下のような加重平均で表されます。
平均アクセス時間 = キャッシュのアクセス時間 × ヒット率 + 主記憶のアクセス時間 × ミス率
ここで、
・ヒット率は「キャッシュに命令が存在する確率」であり 1-r
・ミス率は r
であるため、平均アクセス時間は
(1-r)・x + r・y
となります。 - メモリ容量が与えられている理由
問題文には、キャッシュ容量 a Mバイト、主記憶容量 b Mバイトが与えられています。しかし、r がすでに確率として与えられているため、ヒット率の計算に a や b を用いる必要はありません。
つまり、容量はあくまで条件の一部として提示されているだけで、計算には関係しない値です。受験者に対して惑わせる意図で出題されたと考えられます。
したがって、平均アクセス時間は、キャッシュヒット率 (1-r) とミス率 r を用いた (1-r)・x + r・y が正しい式です。