令和4年度 春期 システムアーキテクト試験 午前II 問21

容量が a Mバイトでアクセス時間が x ナノ秒の命令キャッシュと,容量が b Mバイトでアクセス時間が y ナノ秒の主記憶をもつシステムにおいて,CPUからみた,主記憶と命令キャッシュとを合わせた平均アクセス時間を表す式はどれか。ここで,読み込みたい命令コードが命令キャッシュに存在しない確率を r とし,キャッシュ管理に関するオーバヘッドは無視できるものとする。

解答・解説

正解: イ. (1−r)⋅x+r⋅y(1 - r) \cdot x + r \cdot y

キャッシュメモリと主記憶を組み合わせたシステムの平均アクセス時間(実効アクセス時間)は、目的のデータがキャッシュに存在する場合(ヒット)と存在しない場合(ミス)のそれぞれのアクセス時間に、その発生確率を掛けて足し合わせることで求められます。

本問で与えられている条件は以下の通りです。

  • 命令キャッシュのアクセス時間:xx ナノ秒
  • 主記憶のアクセス時間:yy ナノ秒
  • キャッシュに存在しない確率(ミス率):rr

目的の命令コードがキャッシュに存在する確率(ヒット率)は、全体の確率(11)からキャッシュに存在しない確率を引いた 1−r1 - r となります。

したがって、平均アクセス時間は以下の式で表されます。
(キャッシュのヒット率)×(キャッシュのアクセス時間)+(キャッシュのミス率)×(主記憶のアクセス時間) (キャッシュのヒット率) \times (キャッシュのアクセス時間) + (キャッシュのミス率) \times (主記憶のアクセス時間)
=(1−r)⋅x+r⋅y = (1 - r) \cdot x + r \cdot y

なお、設問で提示されている「命令キャッシュの容量 aa Mバイト」および「主記憶の容量 bb Mバイト」は、平均アクセス時間の計算には関係ありません。

よって、式として正しいのは「イ」となります。

各選択肢の解説

  • ア:容量 a,ba, b の割合をアクセス時間に掛けていますが、平均アクセス時間は容量の比率ではなく、ヒット率とミス率を用いて計算するため誤りです。
  • イ:正解です。
  • ウ:容量 a,ba, b の割合を使用しており、さらにアクセス時間と確率の組み合わせが正しくないため誤りです。
  • エ:キャッシュのアクセス時間 xx にミス率 rr を掛け、主記憶のアクセス時間 yy にヒット率 1−r1 - r を掛けており、確率の適用先が逆になっているため誤りです。

Spineチーム