わかりやすく CPU クロック とは
CPUもメモリもほかの部品も、どうやってたがいの拍子をぴったり合わせて動いているのでしょうか。その秘密は、コンピュータの中で休まずカチカチと時を刻む「時計」一つにあります。
カチッ、一拍
時計といっても、長い針や短い針があるわけではありません。
クロックは、0と1をとても速く繰り返す信号です。
0、1、0、1……と一回上がって下がるのが一拍で、信号が上がる瞬間ごとにコンピュータは一歩ずつ動きます。
0と1が一回上がって下がると一拍。刻むたびに歩数が一つ増えます。
下の図では点滅に見えますが、実際のコンピュータは1秒間に数十億回も時を刻みます。
だから私たちの目には、すべてが一度に起きているように見えるのです。
みんなで一歩ずつ
なぜわざわざ拍子が必要なのでしょうか。
部品がいくつもあるのに、それぞれが勝手に動くと、ずれて仕事がもつれてしまいます。
そこで全員が同じ拍子に合わせ、「いま!」の瞬間に一歩ずつそろって動くのです。
拍子を切ると部品がばらばらにもつれ、入れると「いま!」に合わせて並んで動きます。
一拍のあいだに、すべての部品が自分の仕事を終えて次の拍を待ちます。
拍子は「みんな、出発!」を知らせる笛のようなものです。
1秒に何回? ヘルツ
拍子が1秒間に何回刻むかを、ヘルツ(Hz)と呼びます。
1Hzは1秒に1回、1GHzは1秒になんと10億回です。
たくさん刻むほど多くの歩を進めるので、コンピュータは速くなります。
スライダーを遅いから速いへ動かすと、1秒間の歩数が爆発的に増えます。
ですから「3.2GHz」のような数字が、そのコンピュータの拍子の速さです。
毎秒32億回刻むという意味です。
想像もつかないほど速い拍子の上で、すべてが動いているのです。
速くすればいいわけではない
では、拍子をどこまでも上げればよいのでしょうか。
そうはいきません。壁が二つあるからです。
一つは、一歩が終わる前に次の拍が来ると歩みが崩れること。もう一つは、速くなるほど熱がたくさん出て、電気もずっと多く使うことです。
拍子を上げ続けると熱と電気が跳ね上がり、限界を超えると歩みが崩れます。
そこでいまのコンピュータは、拍子をむやみに上げるかわりに、働き手(コア)を何人も置く方向へ進みました。
速さには現実的な限界があるからです。
コアの話は、別の分野でまた出てきます。
いよいよ、脈打つ心臓
私たちが作ったCPU(第12回)は、この拍子に合わせて命令を一つずつ取り込みます。
キャッシュ(第13回)から素早く取り出し、通り道(第14回)を通って部品どうしが値をやりとりします。
クロックは、これらすべてを脈打たせる心臓なのです。
拍ごとにCPUが命令を一つ取り込んで実行します。コンピュータの体が、ついに脈打ち始めます。
0と1から始まって、ゲートと加算器、CPUと記憶と通り道、そしてそのすべてを動かす拍子まで来ました。「もし」と「繰り返し」も、この拍子の上で動いています。次のレッスンでは、ここまでのすべてを一度にまとめます。