こんにちは。
前回に引き続き、コンピュータの歴史について紹介していきます。
前回紹介したAntikythera機構から時が経ち、
1770年代にスイスの時計師(時計の製造または修理を職業とする人)である、
ドロズが羽ペンで文字を書く機械人形(オートマタ)を製作しました。
機械の内部に搭載されている車輪の数や順序を変化させることで、
異なるメッセージを出力できるようになっていました。
つまり、車輪の数や順序といった「命令」を読み取り、それを実行していたのです。
しかし、どれほど複雑な命令であっても、それを解釈して
正確に実行する現代のコンピュータとは異なります。
しかし、 オートマタが生まれたことから、プログラムを機械の外から与えて、
それを実行したいという考えが生まれるのも時間の問題だったように思えます。
そしてオートマタの次に生まれたのが、バベッジの「解析機関」です。
イギリスの数学者であったチャールズ・バベッジが設計した
解析機関は、他の機械式コンピュータとは一味違うものでした。
それは以下の3つの論理構造を解析機関に組み込んでいたからです。
・算術論理ユニット
・条件分岐やループなどの制御フロー
・統合メモリ
これらは、現代のコンピュータ設計でも通用するレベルの論理構造です。
しかし、 主任技術者との対立や、資金不足のために、
どの機械も完成することは出来ませんでした。
バベッジの息子であるヘンリーが、途中まで作成したものはロンドンの科学博物館に展示されています。
この解析機関で特に重要なのが、 プログラムとデータの入力が、
パンチカードを用いることで、機械に提供される仕組みとなっていた ということです。
解析機関に使うパンチカードは2種類あり、
命令を入力するための「オペレーションカード」 と、
データを入力するための「変数カード」があります。
命令とデータをパンチカードを使って外部から入力することによって、
汎用的なオペレーションを行うことができます。
また、現代で言う 、
命令セットアーキテクチャ(プログラマやアプリケーションから見た時の
利用できるレジスタリソースや命令セット、演算機能などの体系のこと)も作られていました。
現代コンピュータとバベッジによる「解析機関」の大きな違いと言えるのが、
コンピュータは2進数でデータを保持するのに対して、
解析機関は10進数でデータを保持する点でした。
解析機関の設計によると、40桁の10進数の数字を1,000個保持するメモリを
内蔵する予定だったそうです。
バベッジの「解析機関」は、現代のコンピュータに近い設計だったのですが、
当時は歯車を基本とした機械式の計算装置として作る必要があったことや、
解析機関が先進的すぎて事の重大さが認識されていなかったこともあって、
未完成のまま終わってしまいます。
いかがでしたか?
次回もコンピュータの歴史について紹介していきます。