← 学習ガイド一覧STUDY GUIDE / 3

コンピュータ構成要素 速度を式と経路で考える

平均アクセス時間、CPU時間、並列化の上限を前提から計算する。

独自解説・独自図解

学習目標

性能の設問では、数値を先に式へ入れず、「何を1回と数えるか」「待ち時間を含むか」「どこだけを速くするか」を確定する。CPUの周波数、メモリの待ち時間、システム全体の応答時間は別の尺度である。

記憶階層の意味

対象主な役割比較時の着眼点
レジスタ演算中の値やアドレスを保持CPU命令が直接扱う小容量の記憶
キャッシュ主記憶中のデータなどの複製を保持高速だが小容量。局所性を利用
主記憶実行中のプログラムとデータを保持通常のDRAMは揮発性
補助記憶データを永続保存SSDとHDDで特性が異なる。容量だけで性能は決まらない

時間的局所性は「最近使ったものをまた使う」、空間的局所性は「近いアドレスを続けて使う」という偏り。どちらも必ず成立する法則ではなく、キャッシュが有効になる理由である。キャッシュ容量を増やしても、アクセスの仕方や待ちの原因によっては効果が小さい。

平均時間は分岐ごとの重み付き平均

キャッシュヒットとミスの時間経路
キャッシュヒットとミスの時間経路(独自作成図)

図の前提は、毎回キャッシュに2nsかかり、ミス時だけ主記憶アクセス50nsが追加されること。ヒット率をhとすると、平均は h×2+(1−h)×(2+50)=2+(1−h)×50 ns。

解法例

ヒット率95%なら、0.95×2+0.05×52=4.5ns。主記憶の50nsを「ミス時の総時間」と定義する別の問題なら、0.95×2+0.05×50=4.4nsとなる。異なるのは公式ではなく、与えられた時間の定義である。多段キャッシュでは、L2ヒット率が全アクセスに対する率か、L1ミスに対する条件付きの率かも確認する。

CPU性能と並列化

指標・式意味見落としやすい前提
CPU時間=命令数×平均CPI÷クロック周波数命令実行に必要な時間同じ処理でも命令数とCPIが変わる
スループット単位時間に完了できる仕事量1件の応答時間とは一致しない
速度向上率=旧時間÷新時間何倍速くなったか時間短縮率と逆数の関係ではない
アムダールの法則 1÷((1−p)+p/n)並列化可能部分pをn倍にした全体の速度向上固定仕事量、理想的分割、追加費用なしのモデル

全体の80%を4倍速にできる場合、残り20%はそのまま。新時間は0.2+0.8/4=0.4、速度向上は2.5倍であり4倍ではない。nを限りなく増やしても上限は1/0.2=5倍。実際には同期や通信の費用が加わる。Intelのアムダールの法則の説明

間違えやすい点

  • GHzが2倍でも、命令数・CPI・メモリ待ちが変われば処理全体は2倍にならない。
  • 2.5倍速は処理時間が40%になること。時間短縮率は60%で、250%短縮ではない。
  • RAID、キャッシュ、バックアップは目的が違う。速さ、稼働継続、復旧可能性を混同しない。

確認問題

  1. キャッシュ3ns、ミス時追加60ns、ヒット率90%なら平均は? → 3+0.1×60=9ns。
  2. 半分だけを無限に高速化したときの全体の上限は? → 2倍。残り半分が下限になる。

出典と適用上の注意

数値例と図は独自作成。機種固有の性能値や出題頻度を示すものではない。基本的な記憶・仮想化の仕組みの補助資料は著者公開教材 OSTEP。範囲の基準はIPA試験要綱Ver.5.6。