応用情報技術者試験過去問を解いてみた R6年度 春期 問10

はじめに

今回も、応用情報技術者試験の過去問を解いていきます。
今回は「キャッシュメモリ」と「実効アクセス時間」に関する問題です。

一見すると単なる計算問題に見えますが、実はコンピュータの性能評価の本質を扱った非常に重要なテーマです。


問題

主記憶のアクセス時間が60ナノ秒,キャッシュメモリのアクセス時間が10ナノ秒であるシステムがある。キャッシュメモリを介して主記憶にアクセスする場合の実効アクセス時間が15ナノ秒であるとき,キャッシュメモリのヒット率は幾らか。

ア 0.1
イ 0.17
ウ 0.83
エ 0.9


解答

エ 0.9


解説

まず、アクセスの流れを整理します。

■ メモリアクセスの流れ

CPU

キャッシュ(10ns)
↓(ミス時)
主記憶(60ns)

■ アクセス時間の内訳

状態内容時間
ヒットキャッシュのみ10ns
ミス主記憶60ns


■ 実効アクセス時間の式

ヒット率を hhとすると:


■ 計算

1510h+60(1h)15 = 10h + 60(1-h)

これを計算すると

h=0.9h=0.9

→ 答えは 0.9


問題の用語解説

■ キャッシュメモリ

CPUのすぐ近くにある高速なメモリ。
よく使うデータを一時的に保存し、処理を高速化する。


■ ヒット率

キャッシュに目的のデータが存在する確率。

  • 高い → 高速
  • 低い → 遅い

■ 実効アクセス時間

実際の平均的なメモリアクセス時間。
ヒットとミスの両方を考慮した「平均値」。


体系的位置づけ

この問題は、以下の分野に属します:

分類内容
大分類コンピュータシステム
中分類プロセッサ
小分類メモリ階層
重要テーマ性能評価(実効アクセス時間)

今回の問題の重要ポイント

■ ポイント①:平均で性能が決まる

コンピュータの性能は、

速い処理と遅い処理の平均で決まる


■ ポイント②:ヒット率が性能を支配する

例えば:

ヒット率実効時間
0.9約15ns
0.8約22ns

👉 わずかな低下でも性能は大きく悪化

ここで読者の方は、「6nsしか変わっていないのに、性能は大きく悪化しているといえるのか?」

と思ったかもしれません。

なので、その補足をします。

■ なぜこの差は「大きな悪化」と言えるのか(回数も含めた直感的な補足)

ヒット率実効時間
0.9約15ns
0.8約22ns

この表を見ると、

👉「7nsくらいしか違わないなら、大した差ではないのでは?」

と感じるかもしれません。

しかし、この差はコンピュータの世界では非常に大きな性能劣化です。


■ ポイント①:割合で見ると約1.4倍遅い

15ns → 22ns は、

👉 約38%の性能低下(約1.4倍遅い)


■ ポイント②:ミスが2倍に増えている

ヒット率ミス率
0.90.1
0.80.2

👉 ミスは 2倍

しかもミスは:

  • ヒット:10ns(軽い)
  • ミス:70ns(非常に重い)

👉 重い処理が2倍に増える=全体が一気に遅くなる


■ ポイント③:アクセス回数が桁違いに多い

ここが一番重要です。

コンピュータは:

👉 メモリアクセスを1秒間に数億〜数十億回行う


■ 具体例で見る

仮に1億回アクセスすると:

  • 15ns × 1億回 = 1.5秒
  • 22ns × 1億回 = 2.2秒

👉 差:0.7秒


一見小さく見えますが…


■ 現実の処理ではどうなるか

実際のシステムでは:

  • 1秒で数億〜数十億回
  • それが常に連続して発生
  • さらに複数のユーザーが同時利用

例えば:

  • 10億回 → 約7秒の差
  • 100億回 → 約70秒の差

👉 1分以上の差になることもある


■ ポイント④:システム全体で増幅される

さらにこの差は:

  • CPU処理
  • データベース
  • ネットワーク

👉 あらゆる処理に連鎖する


つまり:

👉 小さな遅れがシステム全体に広がる


■ たとえ話

レジで考えると:

  • 1人あたり0.6秒遅くなる

一見小さいですが:

  • 100人 → 60秒遅れ
  • 1000人 → 10分遅れ

👉 行列が発生するレベル


■ 本質まとめ

この現象はこう表せます:

👉 小さな遅れ × 超大量の処理回数 × 同時利用 = 大きな性能劣化


■ 一言まとめ

メモリアクセスは1秒間に数億回以上発生するため、数ナノ秒の差でも積み重なると大きな時間差となる。さらにミスの増加により重い処理が倍増するため、実際の性能は大きく悪化する。


まとめ

今回の問題の本質は以下です。

  • キャッシュの役割は「平均時間を下げること」
  • システムの性能は「平均(期待値)」で評価される
  • ヒット率が性能に直結する

特に重要なのは:

「遅い処理が少し混ざるだけで、全体は遅くなる」

この感覚を持つことが、応用情報だけでなく実務でも非常に重要です。



参考情報

コメント

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