問3 処理時間が等しくなるヒット率

基本情報​技術者試験 令和6年度 公開問題 科目A、全20問のうちの問3。

出典:令和6年度 基本情報技術者試験 公開問題 科目A 問3(構成の図は、CPU とキャッシュメモリと主記憶を並べた層に書き起こした。表は原本の画像を文字に書き起こした)

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

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

図 構成
  1. CPU
  2. キャッシュメモリ 256k バイト (CPU の中にある)
  3. 主記憶 256M バイト (キャッシュメモリと線でつながる)
表 アクセス時間 (単位 ナノ秒)
CPU XCPU Y
キャッシュメモリ4⁠02⁠0
主記憶4⁠0⁠05⁠8⁠0
  1. ア0.7⁠5
  2. イ0.9⁠0
  3. ウ0.9⁠5
  4. エ0.9⁠6
答えと解説を開く

正解はイです。

平均アクセス時間は、キャッシュメモリに目的のデータがある割合 (ヒット率) を h として、キャッシュメモリのアクセス時間 × h + 主記憶のアクセス時間 × (1−h) で求めます。CPU X は 4⁠0h+4⁠0⁠0(1−h) = 4⁠0⁠0−3⁠6⁠0h、CPU Y は 2⁠0h+5⁠8⁠0(1−h) = 5⁠8⁠0−5⁠6⁠0h です。処理時間が等しいので 4⁠0⁠0−3⁠6⁠0h = 5⁠8⁠0−5⁠6⁠0h と置きます。移項すると 5⁠6⁠0h−3⁠6⁠0h = 5⁠8⁠0−4⁠0⁠0 で、2⁠0⁠0h = 1⁠8⁠0、h = 0.9 です。確かめると、X は 4⁠0×0.9+4⁠0⁠0×0.1 = 3⁠6+4⁠0 = 7⁠6 ナノ秒、Y は 2⁠0×0.9+5⁠8⁠0×0.1 = 1⁠8+5⁠8 = 7⁠6 ナノ秒で等しくなります。正解はイです。

ほかの選択肢が違う理由

  • アh=0.7⁠5 だと、X は 3⁠0+1⁠0⁠0 = 1⁠3⁠0 ナノ秒、Y は 1⁠5+1⁠4⁠5 = 1⁠6⁠0 ナノ秒で、等しくなりません。
  • ウh=0.9⁠5 だと、X は 3⁠8+2⁠0 = 5⁠8 ナノ秒、Y は 1⁠9+2⁠9 = 4⁠8 ナノ秒で、等しくなりません。
  • エh=0.9⁠6 だと、X は 3⁠8.4+1⁠6 = 5⁠4.4 ナノ秒、Y は 1⁠9.2+2⁠3.2 = 4⁠2.4 ナノ秒で、等しくなりません。

仕組み

キャッシュメモリは、CPU と主記憶の間に置く小さくて速い記憶装置です。よく使うデータを置いておき、そこにあれば (ヒット) 速く読み、なければ主記憶まで取りに行きます。

この問では、Y はキャッシュメモリが速く主記憶が遅い CPU です。ヒット率が 0.9 より高いと Y が速く、低いと X が速くなります。ヒット率がどれだけ高いかで、どちらの部品の速さが効くかが変わります。

この問に出る言葉