FE EXAM

クロック周波数(Clock Frequency)

CPUが動作する基準となる信号の周波数(Hz)

INTERACTIVE VISUALIZATION
クロック信号
1周期
周波数
2.50 GHz
クロック周期 = 1 / 周波数
400.00 ps
1秒間のクロック数
2,500,000,000
クロック周波数2.50 GHz
100 MHz5 GHz
プリセット
CLOCK = 2.50 GHzクロック周波数を上げると波がになります。波が1回打つ間隔(=クロック周期)が短くなり、CPUは同じ時間でより多くの処理を進められます。逆に下げると波がまばらになり、動作が遅くなります。
High (1)Low (0)1周期 = 400.00 psこの区間に 11 波 → 周波数が高いほど密
解説

📌
クロック周波数とは

CPU全体の動作タイミングを刻む信号クロック信号(1秒に何回打つか=周波数)CPU拍に合わせて処理

クロック周波数とは、CPU(=中央処理装置。コンピュータの計算の中心)が動作する基準となる信号が、1秒間に何回くり返すかを表す値です。この信号をクロック信号と呼び、ON(高電位)とOFF(低電位)を規則正しくくり返す矩形波になっています。

身近な例で言うと、合唱の指揮者が振るタクト(指揮棒)に似ています。指揮者が「1・2・1・2」と速くタクトを振れば歌い手も速く歌い、ゆっくり振ればゆっくり歌う。CPUの中の回路もこのクロック信号の「拍」に合わせて一斉に動くので、拍が速い(=周波数が高い)ほどたくさんの処理を進められます。

上のツールで周波数スライダーを動かすと、クロック信号の波の密度が変わります。周波数を上げると波が密になり、1周期(波1回ぶんの時間)が短くなるのを確かめてください。

📐
Hz単位の意味

周波数の単位は Hz(ヘルツ)です。1 Hz = 1秒間に1回くり返すという意味で、CPUのクロックは桁が大きいので接頭語をつけて表します。

よく使う単位は次のとおりです。
kHz(キロヘルツ):1,000 Hz(103
MHz(メガヘルツ):100万 Hz(106
GHz(ギガヘルツ):10億 Hz(109

クロック周期は周波数の逆数で求めます。周波数が高いほど周期は短くなります。

クロック周期 = 1 / 周波数

例: 2.5 GHz の場合
周期 = 1 ÷ 2,500,000,000
     = 0.0000000004 秒
     = 0.4 ns(ナノ秒)

1 ns(ナノ秒)= 10億分の1秒。つまり 2.5 GHz の CPU は、1秒間に25億回もの拍を刻んでいることになります。「周波数 ⇔ 周期」は逆数の関係でつながっています。

⚙️
性能との関係

周波数だけでは性能は決まらない高クロックでもCPIが悪いと遅い低クロックでもCPIが良いと速い

クロック周波数が高いほど、同じ時間でより多くの拍を刻めるので、一般には処理が速くなります。CPUの実行時間は次の式で表せます。

実行時間 = 命令数 × CPI × クロック周期

ここで注意したいのは、周波数が高い=必ず高性能、とは限らない点です。性能は次の3つの掛け算で決まります。
命令数:プログラムが実行する命令の総数
CPI:1命令あたりに必要なクロックサイクル数
クロック周期:1拍にかかる時間(=1/周波数)

たとえば周波数が同じでも、1命令にたくさんの拍が必要(CPIが大きい)なら遅くなります。だから CPU を比べるときは、周波数だけでなく CPIMIPS といった指標も合わせて見ることが大切です。「クロック周波数が高い=必ず高性能」とは単純に言い切れない点に注意が必要です。

💡
クロックを上げ続けられない理由

高クロック速い拍電力消費が増える⇒ 発熱が大きくなる⇒ 冷却が追いつかないクロックを上げるほど消費電力は急増する(2乗に比例)

「速ければ速いほど良い」なら、クロック周波数をどんどん上げればよいように思えます。しかし実際には上限があります。なぜでしょうか。

クロックを速くするほど、CPUの中の電子回路が1秒間に切り替わる回数が増えます。この切り替えのたびに電気が流れて熱が生まれます。消費電力はクロック周波数に比例して増え、発熱量も増します。問題は主に2つです。
発熱:熱が多すぎると回路が誤動作したり、最悪の場合は壊れたりする。冷却が必要になり、コスト・サイズが増える
電力:スマートフォンのようなバッテリー動作の機器では、消費電力が大きいと電池がすぐに尽きる

これが「クロック周波数の壁」と呼ばれる現実です。2000年代以降、CPU業界はクロックを際限なく上げるのを諦め、「1つのCPUを速くする代わりに、複数のCPUコア(=処理の核)を1チップに並べる(マルチコア化)」という方向へ切り替えました。スマートフォンにもパソコンにも「4コア」「8コア」などと書かれているのはこの流れです。クロック周波数は性能の1要素に過ぎず、コア数や1命令あたりの効率も合わせて見る必要があります。

📐
CPI — 命令1つに何拍かかるか

CPI が小さいほど1命令に必要な拍が少ないCPI=1T1→ 1拍で完了CPI=3T1T2T3→ 3拍かかる同じ周波数でもCPIが3倍なら3倍の時間がかかる

Card 3 で出てきた CPI(Cycles Per Instruction)とは、命令を1つ実行するのに何クロック(拍)かかるかを表す数値です。CPI が小さいほど1命令を少ない拍で終わらせられる、つまり効率が高い、ということになります。

なぜ CPI が変わるのか。命令の種類によって必要なステップ数が異なるからです。単純な足し算(ADD)は少ない拍で終わりますが、メモリからデータを読み込む命令(LOAD)はメモリアクセスの待ち時間がある分、多くの拍がかかります。

具体的に計算してみましょう。

CPU-A: 3 GHz, CPI = 2
CPU-B: 2 GHz, CPI = 1
─────────────────────
A の実行時間 = 命令数 × 2 × (1/3G)
B の実行時間 = 命令数 × 1 × (1/2G)
→ B の方が速い(Aはクロックが高くてもCPIが2倍)

このように、クロック周波数が高くても CPI が大きければ遅くなります。CPUの速さを比べるときは「周波数 × 1/CPI」の組み合わせで考えるのが本質です。スライダーで周波数を変えながら「クロック周期 = 1/周波数」が変化するのを確認しつつ、このCPIの考え方も頭に置いておくと、CPUの性能評価の全体像がつかめます。

関連コンテンツ