メインページに戻る

ところで、コンピュータって何なのでしょうか?

無数とも言えるコンピュータが身の回りにあります。パソコンや携帯、ゲーム機はもちろん、電子レンジや冷蔵庫などの一般家電の殆どにもコンピュータが内蔵されています。現代は誰もがコンピュータの恩恵を受けて暮らしているのです。

写真はタイガー計算機 国立科学博物館にて筆者撮影


しかしコンピュータとは何か?と聞かれても、明確に答えられない方が殆どだと思います。もちろんコンピュータの定義を答えられないからといって実生活に困ることはありません。 しかしTTL-ICでコンピュータを作るというオバカな決心をした以上は、コンピュータとは何か?に対する答を用意しておく必要がありそうです。  

なぜなら、コンピュータの定義が曖昧のままだと、自分ではコンピュータを作ったつもりでも、他の人から見た場合は機械式のソロバンであったり電気式の四則演算器であったり、 最悪の場合は単なるオブジェとかガラクタとしか思われない可能性が十分にあるからです。

自己満足に徹するならば「ガラクタ」と評されても自分が満足すれば構わないのかも知れません。 しかし、ここでは少なくともコンピュータに関して多少なりとも知識がある方の大半が「それは確かにコンピュータだ」と認めてくれるモノを作りたいのです。 そのためにも予めコンピュータの定義を明確にしておきたいのです。

ノイマンアーキテクチャとか、チューリングマシンとか…

Webでコンピュータを調べてみると、自動的に計算する機械等と定義しています。一見、もっともな定義の様にも思えますが、「自動的」という言葉自体が非常に曖昧で、どうにでもとれてしまう定義です。 それに現在は「計算」よりも「制御」に使われるコンピュータの方が遥かに多い世の中です。 そこで更に踏み込んだ定義を捜すと、(ニューロコンピュータやDNAコンピュータ等の特殊なコンピュータを別とすると)大別して以下の2つの定義があることが判ります。

(1)「転送装置、演算装置、判断装置等…」などの、内部の構成をベースとした定義
(2)「記憶装置にプログラムを内蔵できる」などの、理論的側面をベースとした定義

前者は学校関係や学者肌の方が書いたサイトに多く、後者は企業関係や職人肌の方が書いたサイトに多い様な気がします。判りやすく説明しようとするあまり、初心者にとっては余計に訳が判らない説明も散見されます。

例えば、よくある定義に従った場合、下記の機械はコンピュータと言えるのでしょうか?

任意の1桁の数を最大5つまでメモリに格納でき、それらを順に加算し、結果が偶数なら最初からやり直す機械

「命令を格納していないからコンピュータではない」というならば、「単に加算するのではなく、メモリ上に格納した数字の最上位ビットを、加算か減算かを区別するためのフラグとする」と改良すると、命令を格納したことになります。

このように、仮にノイマンアーキテクチャやチューリングマシンの定義に反する点があったとしてもそれは簡単な改良でクリアできます。
しかし、この機械は1+2+3=6の計算程度しかできません。これをコンピュータと呼んで良いのでしょうか? 

学術的にはコンピュータの定義を全て満たしていても、一般の人からみれば100円ショップの電卓にも劣るガラクタとみなされるのではないでしょうか?

 

オセロゲームと円周率

結局、コンピュータの定義に関しては難しい言葉を並べるよりも、

プログラム次第で、オセロゲームにもなるし円周率の算出機にもなる。

と言った方がすっきりするのではないでしょうか? いわゆる「学者の定義」でも「企業の仕様」でもない「庶民の言葉」です。

ここで言うオセロゲームとは、人間相手にオセロゲームを行う機械を意味します。対戦のイメージは、たくさん並んだスイッチを操作する事によって人間が次の手を伝え、コンピュータは並んだLEDを光らせることによって次の手を伝える様なインターフェイスを想定しています。

もちろん液晶画面とマウスが使えるならば、スイッチもLEDも不要です。スイッチとLEDというインターフェイスを例としたのは、それが最も単純な入出力装置だからです。

同様に円周率に関しても何億桁も求める訳ではありません。円周率を100桁程度求めるプログラムを格納でき、それを実行すると円周率の小数点以下の値が順にLEDに表示される程度で十分です。


誤解無きよう付け加えると、オセロゲームと円周率計算ができる機械がコンピュータだと言っているのではありません。 オセロゲームと円周率計算は実行可能なプログラムの一例を示したに過ぎません。プログラムを自由に書き換えることができ、それによりオセロゲームと円周率計算という様な全く異なる仕事ができるのがコンピュータだということです。

2013年3月追記

本ページを書いたのは2011年6月です。当時はTTL式の8bitコンピュータの作成を目指しており、オセロゲームと円周率計算ができれば「大成功」と考えておりました。 この8bit機は無事完成し、現在は16bit機の作成を行っている所ですが、今でも、プログラムを自由に書き換えることができ、それによりオセロゲームと円周率計算という様な全く異なる仕事ができるのがコンピュータという考えに変りはありません。
但し16bit機はオセロゲームと円周率ではなく、インベーダゲームとBASICインタプリタを目標としています。


メインページに戻る