さて、CPU のお話です。 CPU は、正に PC の心臓部です。 CPU が動かなければ、その周辺にあるものは全くと言って良いほど動けません。 PC の世界で繰り広げられる出来事は、 全て CPU が司っているわけです。
その CPU も、プログラムが無ければ、何もできません。 CPU が、こなしていく仕事の脚本は、全てプログラムに書かれているからなんです。 「計算機(PC)は、プログラムが無ければただの箱」なのです。
学芸会で、最初は校長先生の挨拶。その次は、校歌斉唱。 その次は... という進行を伝える表の事をプログラムって言いますよね。 CPU にとってのプログラムは、正にこれです。 こなしていく仕事の一つ一つが、整然と並んでいるのです。
正確に書くと、電源が投入された直後や、リセットスイッチが押された直後は、 プログラムが無くても、全く動かないわけではありません。 この時だけは、CPU だけで、ある程度までは動きます。 でも、その動きは、PC を使う人にとっては、動いていないのと変わりません。 このあたりの詳しい話は、メモリの話でします。
CPU って何だろう? ということをほんの少し実感を伴って解ってもらいたいので、そういうことを書きます。 一番最初の CPU は、電気で動いていたのではありません。機械仕掛けだったんです。 とても簡単に説明すると、自動で計算してくれるそろばんのような物だったのです。
しかし、機械仕掛けの計算機は、とてつもなく大きな物になり、計算も速く行う事が出来ませんでした。 機械仕掛けですから、ものが動く事で計算したわけです。ものが動く速さには限界があります。 そこで、電気に注目したというわけです。
初の電子計算機は、 真空管という電子部品が使われました。 写真は、真空管を使った電子計算機「ENIAC」です。 1946 年の事でした。
真空管という電子部品には、元々は計算機の為に発明された物ではありません。 電気の電圧、もしくは、電流を大きく(増幅)する事が出来る部品として発明されました。
音を電気信号に変えるには、マイクロホンを使いますね。 マイクロホンが、空気を伝わってくる音と言う振動を電気信号に変えるのは、フレミングの法則の原理です。 憶えていますか?
マイクロホンが生む電気信号は、そのままでは、 スピーカを使って音を出すには、余りにも小さいものなんです。 だから、間にアンプを繋げて増幅します。 これの為に真空管は発明されました。
真空管のお話はこれぐらいにしておきます。 CPU の話に戻りましょうね。 真空管が発明された頃は、ディジタル(2 進数)という概念はありませんでした。 どうして、ディジタルが使われるようになったのか、理由は色々あるんですが、 最も解り易いことで説明してみますね。
アナログで数字を表すのだとしたら、電圧によって数字を表す事になるでしょう。 例えば、電圧が 0v なら、数字の 0、 5v なら、5、 10v なら、10 という風にです。 そして、足し算したり、掛け算したりする為の回路を作って、 それらの回路の入力と出力を、自由に繋げられる様にして、 回路のつなぎ方によって必要な計算が行えるようするでしょうね。
しかし、これには問題が在ります。 工業製品には、必ず製品誤差があるからです。 設計の段階では、電圧が 100v の出力となる回路のはずなのに、 99v しかないというのは、実は良くある事なんです。 原因は色々あるんですが、それは割愛します。 こと、計算の場合には、これは大きな問題です。 100 という答えが、99 になってしまったら、 それは、計算間違いです。
そこで、ディジタルという考え方に切り替えたんです。 電気が流れるか、流れていないかだけで、数字を表すようにすれば、 製品誤差で悩まされません。 例えば、電気が流れる時には、100v の電圧が流れるように回路の設計をしておき、 50v を境にして、それ以上は、電気が流れている、 それ未満は、電気が流れていない、と判断する様にすれば、 製品誤差が 20% あっても(80v の電圧しか流れなくても)、 問題になりません。 数字を 2 進数で表わせば、 電気が流れているか、いないかで、2 進数の一桁を表すことができます。 2 進数は、 0 と 1 しかないですからね。
これが、bit という概念です。
その後、真空管に変わるトランジスタという物が発明されました。 そして、IC が発明され、LSI が発明され、 現在のような集積回路の CPU となったわけです。