論文要約17「情報科学の歴史~初期コンピュータのソフトウェア~」後編
3初期コンピュータにおけるプログラムのメディア
ツーゼによる計算機Z3はプログラマブルさはあったもののプログラム内蔵型ではなかった。
ABCマシンは電気式という点で現代と同等でありコンピュータの祖先とされている。連立方程式を解くときは、変数の数を式変形により減らし1次に持ち込んで、その後芋づる式に変数の値を特定するというようにするが、ABCマシンが行うのは変数の数を1つ減らすことであった。つまり完全自動ではなく、特定できるまでいちいち人間の手で数値を入れ直さなければならないのでフォン・ノイマン型とは言えないだろう。
また、入出力をカード、プロセッシングを紙テープないしプログラミングボードで行うものとしてHarvard Mark1やENIACがある。
これ以降は全てプログラム内蔵方式だである。データとプログラムの区別がつかなくなるので入力は同じ形式でなされうる。
SSEM、愛称babyは2進数パターンをスイッチで設定することで入力がなされる。babyは実験機すぎたため、ブラウン管上にプログラムを書き込めたが、スイッチで直接書き込むという実用とかけ離れたものであった。
ウィルクスたちのEDSACは入出力を磁気テープで行う。
ENIACは開発を急いだあまり既存の技術を寄せ集めることでまとめられたブリコラージュ製品だ。しかしそのブリコラージュ製品の制限では実施出来ないために構想されたEDVACによりプログラム内臓方式がもたらされソフトウェアの発展が用意されることになる。
現在のコンピュータをフォン・ノイマン型と呼んでいるのはEDVACの構想を認めた文書を書いたのがノイマンだったからだ。それまでの技術を一貫してまとめあげたことが大きな貢献とされたのだろう。
歴史をまとめると、内蔵方式確立前は紙テープ等がソフトウェアの本体だったのに対し、確立後は電子的状態がソフトウェアとなり、それにより長いプログラムを速く処理出来るようになったのだ。
4初期コンピュータのプログラム~Z3とbaby~
1941年に完成したZ3は1列8穴で命令は9種類(読み込み、出力、ロード、ストア、四則演算、平方根)。入出力時には一時停止された。
最初の内蔵方式は長いプログラムは書けず、babyでは32行だけ。命令数は7だった。
最初にプログラムを走らせたのは1948年で、キルバーンによるプログラムが2の18乗=262144の真の約数の最大を求めさせた。求め方は、引き算を用いるものであった(説明略)。
次に走らせたのはその翌月で、トゥーティルやチューリングにより改良されたものだった。
「主より」
ブログには記載しなかったが本編には命令の表や具体的な計算順序などが記載されていた。興味があれば読んでみて欲しい。
「広告」
揉みほぐし、つぼ等によるリラクゼーション