【基本情報技術者試験】テクノロジ系の計算問題対策(8)「メモリの実効アクセス時間」

スポンサーリンク
IT系

今回のテーマは、「メモリの実効アクセス時間」である。

【基本情報技術者試験】平成31年度春期試験・午前

答えを確認する

正解は イ です。

【前提知識】
メモリの実行アクセス時間

メモリの実効アクセス時間(Effective Access Time)とは、CPUの内部にある演算制御装置がデータにアクセスしようとした際、キャッシュメモリや主記憶(メインメモリ)といった階層構造全体で見たときの「平均的なアクセス時間」のことである。

コンピュータには、高速だが容量の小さいキャッシュメモリと、低速だが容量の大きい主記憶がある。CPUの内部にある演算制御装置は、必要なデータを探す際、まずはキャッシュメモリを読みに行く。そこになければ主記憶へ読みに行くため、トータルの時間は「どこでデータが見つかったか」の確率によって決まる。

実際のメモリのアクセス時間は、「キャッシュメモリのアクセス時間 × ヒット率 + 主記憶のアクセス時間× (100% ー ヒット率)」という計算で求められる。

これを実効アクセス時間または平均アクセス時間と呼ぶ。
本問は、A~Dという4つのシステムの実効アクセス時間を求める問題である。

AとBは、キャッシュメモリがないので、主記憶のアクセス時間がそのままアクセス時間になる。
Aは15ナノ秒で、Bは30ナノ秒である。CとDは、キャッシュメモリがあるので、期待値の計算方法で、 実効アクセス時間を求める。

Cは、60%のヒット率で20ナノ秒のキャッシュメモリを読み、残りの40%で70ナノ秒の主記憶を読む。実効アクセス時間 = $20×0.6+70×0.4=40$ナノ秒である。
Dは、90%のヒット率で10ナノ秒のキャッシュメモリを読み、残りの10%の確率で80ナノ秒の主記憶を読む。したがって、実効アクセス時間 $= 10×0.9+80×0.1 = 17$ナノ秒である。

以上のことから、実効アクセス時間が短い順に並べると、A(15ナノ秒)、D (17ナノ秒)、B (30ナノ秒)、C (40ナノ秒)になる。


(解法のポイント)
実効アクセス時間を短く(=高速に)するには、主に2つのアプローチがある。

ヒット率を上げる
キャッシュの容量を増やしたり、制御アルゴリズムを改良して、CPUが要求するデータをあらかじめキャッシュに置いておく確率を高める。

キャッシュの階層化
最近のCPUは「L1(1次)」「L2(2次)」「L3(3次)」と複数のキャッシュを持っている。よりCPUに近いL1の速度を上げ、徐々に容量の大きい後続キャッシュへつなぐことで、全体の平均速度を底上げする。

(参考)情報処理教科書 出るとこだけ!基本情報技術者[科目A][科目B]矢沢久雄 (著)翔泳社


コメント

タイトルとURLをコピーしました