昔読んでた雑誌の話
みなさんはPCJapan という雑誌をご存知でしょうか。
1990年代に発刊されたコンピューターの月刊雑誌です。
外国のきれいなお姉さんが表紙の本と言えば
思い出す方もいらっしゃるかと思います。
創刊号からしばらく購入していて、内容のほとんどは忘却の彼方ですが、
毎号の巻頭付近にある2ページくらいのコラム欄だけが印象が残っています。
手元には当時の雑誌が残っていないのですが、
コンピューター内のいろいろな動作を判り易く・面白く説明している内容でした。
特に印象に残っていたのは下記の内容です。
・なぜ部品は小さくしないといけないのか、電気の流れる速度の話
・CPUの1クロックで1つのレゴブロックを組める機械があるなら、1秒で東京タワーが作れる
【部品を小さく・電気の話】
動作クロックが早いほど処理スピードも速くなるのは当たり前ですが、
早くするだけではダメだという主旨の内容でした。
電気がどれくらいの速度で流れているかご存知でしょうか。
理論値は光速とほぼ同じだそうです。
そう1秒間で地球を7週半するというあれですね。
秒速 約30万Kmです。
記事が掲載されていた頃のパソコンのCPUはPentiumⅢが主流で、
動作クロックが上位機で800MHzだったと思います。
1GHzまでもうあと少しの時代ですね。
CPUの中では動作クロックの周期で電気がON/OFFを繰り返し、
数値を計算したりデータを伝えたりしています。
1GHz = 1000MHz = 10億Hz とする場合、1クロックは 10億分の1秒なので
1クロックの間に電気の進む距離は下記の式で求められます。
30万Km / 10億 = 0.3m = 30cm
3GHzのCPUですと1クロックで電気の進む距離はたったの10cmですね。
相手に信号を伝える為には1クロックで電気が届く範囲内に部品を配置する必要があります。
そうでないとデータが相手に伝わる前に元側の情報が変わってしまうことになりますね。
つまり、電灯をつけるスイッチがあって電線の長さが30万キロあるとすると、
スイッチを入れて1秒以内にスイッチを切ると電灯は点かない理屈です。
速いクロックで計算するために、部品を小さく作って近くに配置しないといけないわけです。
CPUの中では製造プロセスという言葉で配線の幅が数値で表されています。
最新のものでは10nmという細さです。
技術の向上は目を見張るものがありますが、
細くてもゼロにはできないので、速くするために小さくするという手法に限界が来ているようです。
そこで昨今のCPUは物理的な限界があるので、クロック数を上げるのではなく、
CPUの中にコアを複数持たせて並行処理を行わせたり、
1つのコアで複数命令を同時実行できるようにして処理スピードを上げる手法が主流になっているようです。
ヒトの進化はありませんが、
技術の進歩はとどまることを知りません。
【1秒で東京タワーを作る話】
CPUの1クロックで1つのレゴブロックを組み立てる機械があったとすると
東京タワーは1秒で作れるという内容でした。
(当時スカイツリーはまだ計画も無かったようです。)
レゴブロックの標準ピースの大きさは 高さ9.6 * 長さ 32 * 幅 16 (mm)
1個の容積は突起部を除いて4.9152 cm3 になります。
東京タワー 高さ333m 重さ4,000t (数値はホームページより)
便宜上、全部鉄で出来ているとして
鉄の密度は 7.874 g/cm3 なので
体積は 4,000t / 7.874 で求められます。
4,000t = 4,000,000,000g
4,000,000,000g / 7.874 = 508,001,016 cm3 (全部鉄で出来ているとしての体積です。)
これがレゴブロック何個分に相当するかといえば
東京タワーの体積 / レゴブロック1個の体積 で求めます。
508,001,016 cm3 / 4.9152 cm3 = 103,353,071 → 約1億300万個
1990年代前半のCPUはインテルのPentium が主流で、
クロック数は 60MHz ~ 300MHz
1クロックでブロックを1個組上げるなら 100MHz のCPUで1.03秒ですね。
では、今の東京スカイツリーだとどうでしょう。
東京スカイツリー 高さ634m 重さ41,000t です。(数値はホームページより)
高さは倍ですが、重さは10倍になっていますね。
こちらも計算する便宜上全部鉄で出来ているとします。
体積は下記の計算で
41,000,000,000g / 7.874 = 5,207,010,414 cm3
レゴブロック何個分かの計算です。
5,207,010,414 cm3 / 4.9152 cm3 = 1,059,368,980 → 約10億6千万個
現在のCPUを使って1秒で組み上げるなら 1GHz で十分ですね。
さて、今回の原稿を書いていて気づいたのが2本の記事の照会で、
CPUのクロック数が全然違う事でした。
電気の話では主力がPentiumⅢ でクロック数 800MHz 、
ブロックの話では主力がPentiumPro でクロック数 60~300MHz ですね。
雑誌の掲載時期に数年の差があるとはいえクロック数の速さの進化は目を見張るものがあります。
あの頃はインテル社から新しいCPUが発表される毎にクロック数が倍になっていた嬉しい時期だったんですね。
逆を言えばせっかく買ったパソコンがたった半年で古びていく成長過程の時期でもあったわけです。
新しいパソコンが欲しくてカタログを眺めていても、すぐにモデルチェンジするので
なかなか踏ん切りがつかなかったのはいい思い出になっています。。