基本情報技術者試験 令和6年度 科目A 公開問題(過去問) 問3 について解説します。
問題
問3 図に示す構成で、表に示すようにキャッシュメモリと主記憶のアクセス時間だけが異なり、他の条件は同じ2種類のCPU XとYがある。
あるプログラムをCPU XとYとでそれぞれ実行したところ、両者の処理時間が等しかった。
このとき、キャッシュメモリのヒット率は幾らか。ここで、CPU以外の処理による影響はないものとする。

ア 0.75 イ 0.90 ウ 0.95 エ 0.96
解説・解答
キャッシュメモリと主記憶の関係について
・キャッシュメモリ:高速だが容量は小さい。
・主記憶(メインメモリ):容量は大きいが低速。
CPUはまずキャッシュメモリを見て、必要なデータがあれば(ヒット)、すぐにそのデータを使用します。必要なデータがなければ(ミス)、主記憶から取りに行きます。
平均アクセス時間について
プログラム全体では「ヒットするとき」と「ミスするとき」が混ざります。そのため、1回ごとのメモリアクセスにかかる時間は平均で考えます。式で表すと次のようになります。
平均時間 =(ヒット率 × キャッシュメモリアクセス時間)+(ミス率 × 主記憶アクセス時間)
ここで、ヒット率とミス率は次のとおりです。
ヒット率 = データがキャッシュメモリにある確率
ミス率 = 1 – ヒット率
問題文での条件で式を立てると
ヒット率を h とすると、CPU XとYの平均アクセス時間はそれぞれ次のようになります。
CPU Xの平均時間: 40h+400(1−h) = 400−360h
CPU Yの平均時間: 20h+580(1−h) = 580−560h
問題文では「プログラムをCPU XとYとでそれぞれ実行したところ、両者の処理時間が等しかった」とありますので、次の式が成立します。
400−360h = 580−560h
この式を計算すると、ヒット率 h = 0.90 となります。
以上により、この問題の解答は「イ」になります。