このプログラムは、
このコンピューターのモデルで理解して欲しいことは、
現在、コンピューターの理論的モデルと言われるのが、図 2に示すチューリング機械です。その特徴は、次の 通りです。
これが、コンピューターそのものです。今は、分からなくても、そのうち理解 できるでしょう。書き換え可能なテープはメモリーに、オートマトンはCPUに 相当します。テープに書かれた記号は、プログラムであったりデータであった りします。内部状態はレジスタ3の 値に対応します。
あるときチューリング機械が、図1の状態であったとします。テープの内容を 読むあるいは書き直す、内部状態を変える、移動することのどれかが次の動作 になります。次の動作を決めるのは、テープの内容と内部状態により一意に決 まります。要するに、テープの上を行ったり来たりして、内部状態を変えたり、 テープの内容を読み書きしている自動機械がチューリング機械です。
このような動作をするチューリング機械で、どんなことができるのしょうか?。 このような単純な機械で、ありとあらゆる計算ができるのです。今まで、学習 してきた計算は、記号の操作の繰り返しになっています。人間の脳で計算する ときも、計算と言えば記号の操作の繰り返しのはずです。要するに、チューリ ング機械ではこの種の計算が、可能なわけです。ただ、チューリング機械で計 算できないものもあります。この問題は、込み入って複雑なので、ここでは取 り扱いません。
チューリング機械の概要が分かったと思います。要するに言いたいことは、計 算するという動作は、チューリング機械で表現できると言うことです。計算す るという一見、知的な作業が、おもちゃのようなチューリング機械で表せこと は驚きです。
次の進歩は、プログラムが自動で計算機に送り込まれ、それに従い実行される 機械の発明でです。ドイツのZ3とハーバード大学のマークIである。これらの 機械は、計算はリレーで行われました。プログラムは、Z3の場合はフィルムに、 マークIの場合は紙テープに書かれていました。プログラムの実行速度は、フィ ルムや紙テープの読み取り速度で制限されます。これは、高速に計算する上で 非常に大きな問題でした。
1946年、砲弾の弾道計算用にENIACと名づけられた真空管式の電子計算機が開 発されました。当時としては、とてつもない速度で計算することができる機械 でしたが、大きな問題がありました。計算の内容、現在でいうプログラムを変 えるとき、それはプログラムボード呼ばれる配線板上の配線を組み替える必要 がありました。この作業は大変で、1日程度の時間が必要であったようである。 当然、次のコンピューターを作るとき、この点の改良が議論されたのは言うま でも無い。プログラムの変更が大変ですが、先の紙テープのように外部からプ ログラムを送るのではなく、本体に内蔵していた点では大きな進歩です。これ により、高速に計算ができたわけです。
次のEDVACというコンピューターの開発では、プログラムを配線ではなく、メ モリーの中に入れることが議論されました。こうすることにより、プログラム の変更が容易でかつ高速で計算するコンピューターが出来上がります。この開 発の中に、天才数学者ノイマンがおり、以降、このようにプログラムを内蔵し たものをノイマン式コンピューターと言われるようになりました。ただし、こ のアイディアを出したのがノイマンかと言われると、定かではありません。こ のコンピューターを実現するためのメモリーの開発は大変だったようです。
紆余曲折の後、プログラムと計算処理の対象であるデータは、同じメモリー上 に置かれるようになりました。このように、同じメモリー上に命令とデータが あるようなものをノイマン型コンピューターと言います。世界中のほとんどの コンピューターがこのノイマン型のコンピューターで、