これからぼちぼちコンピュータの動作原理についての解説をして行くのですが、原理の解説の前に大切な事を2つ。
1つは、コンピュータはスイッチのON/OFFの連鎖だけで出来ている事。
2つめは、コンピュータはそれが全て誰かが決めた事だけで成り立っている事。
コンピュータの動作原理について調べようと思って検索すると、だいたいPC本体とディスプレイとキーボードと、のような解説が出てきます。すこしマシなのは、PCのフタをあけた絵があって、これがマザーボードでCPUとメモリです、のような解説です。しかしこれらはコンピュータの「仕組み」の話で、動作原理ではありません。
それからもう少し調べると、加算だけとか、引き算が苦手とか、論理演算しか出来ないとか、そういう解説が出てきます。
たぶん、苦手なのは解説してる人です、コンピュータには苦手も得意もありません。コンピュータに出来る事、出来ない事~ のような解説もアテにしないでください。擬人化は理解の妨げになるだけです。
コンピュータにはヒトがするような、「考える」ような機能は一切ありません。
コンピュータはただ単にON/OFFの連鎖だけで出来ています。コンピュータは計算などしていないのです。
この連鎖は例えば、「あっちの3つのスイッチが全部ONの場合だけ、こっちのスイッチをOFFにする」のような条件を、スイッチ同士をつなぐ配線をどうするかで設定出来ます。
これがコンピュータの動作の全てです。
では、連鎖の始まりはどこから来るのでしょう?
その代表的な例がキーボードです。あなたがキーを押します。するとキーには接点があって、キーボードの中の配線のうちのどれかがつながります。例えばこれは片方はコンピュータに、もう片方は電源につながっていて、キーを押したときだけ電気が流れるようになっています。
コンピュータの中ではこの電気の流れでスイッチの連鎖に変化がおこります。電気の流れに変化があるとソフトウエアの処理に変化がおこります。そうしてあなたが見ている画面に文字が出てくるまでの一連の連鎖となります。
もうひとつについて。1+1を入力したら3が出てくるシステムがあったとします。それを設計・実装した人の思った事と入力した人の期待とは合っていないでしょう。しかし、設計したヒトがそういう動作だと決めただけで、コンピュータが何か間違った訳ではありません。何か間違いがあるとしたら、間違ったのは設計した人か実装したひとです。
コンピュータはそれを設計・実装した人の決めた通り、作った通りの動作をします。そしてその 「動作」 とは、スイッチのON/OFFの連鎖だけなのです。計算とか判定とか、そのようなモノはありません。
私の作った引き算回路(Logisim用のドキュメント)は、それを引き算だと思っているのは私で、その回路は引き算とは何の関係もありません。中身はトランジスタと配線ですから。それは、私がそれを 「引き算回路として設計した」 というだけで、それを利用した人が 「引き算だと思う」 だけです。
そしてコンピュータが何かしているように見せかけるのは、ソフトウエアの演出です。
「どういう動作にするかをヒトが決めて配線」し、それを利用した結果「それがいったい何なのか考えるのもヒト」なのです。
繰り返しますが、コンピュータの動作は、スイッチのON/OFFの連鎖だけです。
これからそれを順を追って見ていきましょう。
リスト
コンピュータの動作原理(1)概要
コンピュータの動作原理(2)論理GATEを作る ーMOSFETの動作ー
コンピュータの動作原理(3)真理値表と論理回路
コンピュータの動作原理(4)減算回路
コンピュータの動作原理(5)順序回路
コンピュータの動作原理(6)8ビットプロセッサP08:前編
コンピュータの動作原理(7)8ビットプロセッサP08:後編
コンピュータの動作原理(後書き)
おまけ
二進数の二の補数について