パタヘネChapter2 part2

2.3 測定基準同士の関係 p.55

  • CPU性能に限定すると、CPU実行時間になる。
  • あるプログラムのCPU実行時間 = (そのプログラムのCPUクロック・サイクル数)×(クロック・サイクル時間)

2.2で書いたようにクロック・サイクル時間の逆数はクロック周波数なので式を書き換えることが出来る。

ハードウェア設計者が性能を向上させるには、「クロック・サイクル長を短縮」or「プログラムが必要とするクロック・サイクル数を減らす」
これらはトレードオフの関係であることがよくある。

例題 性能の改善p.55
略。式に代入していくだけ。

プログラムの実行時間を「実行された命令数」かける「単位命令あたりの平均実行時間」
と考えると、

  • CPUクロック・サイクル数 = (プログラム中の実行命令数)×(命令あたりの平均クロック・サイクル数)

命令あたりの平均クロック・サイクル(Clock per Instruction) CPIと表記する。

例題 性能方程式の使用p.57

プログラム中の実行命令数xとおくと
A CPUクロック数 = x × 2.0
B CPUクロック数 = x ×1.2

AのCPU実行時間 = (x × 2.0) × 1.0(ns)
BのCPU実行時間 = (x × 1.2) × 2.0(ns)

ゆえにAの方がBより1.2倍速い

コンピューターの性能を表す完全かつ信頼性のある唯一の尺度は時間であることを常に念頭に置くこと。

例題 コード系列の比較p.59

実行される命令数
コード系列1 2+1+2=5
コード系列2 4+1+1=6
コード系列1の方が多い

実行速度
クロックサイクル数
コード系列1 2×1+1×2+2×3=10
コード系列2 4×1+1×2+1×3=9
コード系列2の方が速い

CPI
コード系列1 10/5=2.0
コード系列2 9/6=1.5