スポンサーリンク

基本情報技術者試験 | 令和6年度(科目A) [問3] 過去問解説

問題

問3

図に示す構成で,表に示すようにキャッシュメモリと主記憶のアクセス時間だけが異なり,他の条件は同じ2種類のCPU XとYがある。


あるプログラムをCPU XとYでそれぞれ実行したところ,両者の処理時間が等しかった。このとき,キャッシュメモリのヒット率は幾らか。ここで,CPU以外の処理による影響はないものとする。

  • 0.75
  • 0.90
  • 0.95
  • 0.96

[出典:基本情報技術者試験 令和6年度(科目A) 問3]

正解

正解は「」です。

解説

 この問題は、キャッシュメモリのヒット率に関する計算問題です。CPU XとCPU Yはアクセス時間が異なるものの、プログラムの処理時間は等しいとあります。ここから、キャッシュメモリのヒット率が同じ結果をもたらすためにどのような値であるべきかを計算します。

キャッシュメモリのヒット率をhとしたとき、CPUの平均アクセス時間は以下の式で表されます。

平均アクセス時間 = h × キャッシュメモリアクセス時間 + (1 − h) × 主記憶アクセス時間

CPU X の場合: 40h + 400(1 – h) = 40h + 400 – 400h = 400 – 360h
CPU Y の場合: 20h + 580(1 – h) = 20h + 580 – 580h = 580 – 560h

処理時間が等しいとあるので、両者の平均アクセス時間を等式で結びます: 400 – 360h = 580 – 560h
両辺を計算すると: 200h = 180 → h = 0.9

よって、キャッシュメモリのヒット率は0.90となり、正解は「イ」です。

日常の例でたとえると、スーパーの買い物で「いつも近くの冷蔵棚で済めば時短になるが、在庫がなければ奥の倉庫まで取りに行く」といった状況で、手前で済む確率(ヒット率)を求めているようなものです。

  • ア(0.75):
     このヒット率では、CPU XとYの平均アクセス時間に大きな差が出てしまい、「処理時間が等しい」という条件を満たしません。
  • ウ(0.95):
     ヒット率0.95ではキャッシュ利用がさらに効率的すぎるため、CPU Yより処理時間が短くなり、等しくなりません。
  • エ(0.96):
     ヒット率が高すぎるため、YよりXの方が大幅に速くなり、処理時間が一致しません。
スポンサーリンク

難易度

 この問題は式の立て方が分かれば簡単に解けますが、初学者にとってはヒット率の意味やアクセス時間の重み付け計算に馴染みがなく、つまずきやすい問題です。中級者以上には基本的なキャッシュメモリの応用問題ですが、数学的処理が必要なため、難易度は「やや難」と言えます。

用語補足

キャッシュメモリ:
主記憶より高速にアクセスできる小容量のメモリです。よく使うデータを一時的に保存し、処理を高速化します。

主記憶(メインメモリ):
プログラムやデータを一時的に格納する領域です。CPUが直接データを読み書きするために使いますが、キャッシュより遅いです。

ヒット率:
データがキャッシュメモリに存在している確率を示す値です。高ければ高いほど、アクセス時間が短縮されます。

対策

 この問題の対策としては、キャッシュメモリのヒット率の計算式を確実に覚えることと、複数の装置のアクセス時間を加重平均で処理する考え方を理解することが重要です。また、ヒット率やミス率の定義、アクセス時間との関係を図や数式で何度も練習し、実際に手を動かして解く経験を積むと良いでしょう。


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