IASマシン
出典: フリー百科事典『ウィキペディア(Wikipedia)』
IASマシンとは、アメリカ合衆国ニュージャージー州のプリンストン高等研究所(IAS)が開発した初期の電子式コンピュータである。ジョン・フォン・ノイマンは、IASマシンのデザインについての論文をまとめた(ノイマン型参照)。IASマシンは 1951年夏に部分稼動し、1952年6月10日に完全稼動している。
このマシンは二進数コンピュータであり、ワード長は40ビットで、1ワードに20ビットの命令がふたつ格納される。メモリは1024ワード。負の整数は「2の補数」で表現されている。レジスタは2本(アキュムレータ(AC)、乗除算用レジスタ(MQ))。
重要な点として、IASマシンはプログラムとデータをひとつのメモリに混在させることを意図したほぼ最初の設計である。フォン・ノイマンはプログラムとデータをメモリ上に混在させることによってループを実現する方法を示した。それは、ループの終了条件が成立したときに分岐命令を書きかえるというものなどである。これはデータと命令を区別せずに扱うことで実現されるものであり、後にノイマンズ・ボトルネックを生むこととなる。しかし、当時の第一世代コンピュータではメモリを如何に節約するかが主題であり、命令を書きかえながら実行することでそれを実現していた。IASマシンではレジスタでメモリアドレスを示せず、命令内に実アドレスが直接書かれていた。そのため例えば配列状に並んだデータそれぞれに同じ処理をする場合、命令のオペコードを書き換えることでループを使った配列処理を実現していたのである。しかし、命令を書きかえることはプログラムの可読性を損なう(自己書き換えコード参照)。そのため、Manchester Mark Iのインデックスレジスタが広まった。
当初のデザインではメモリとしてRCAのセレクトロン管という真空管を使おうとしていたが、非常に複雑な真空管であるために開発が遅れ、ウィリアムス管を代替として使用することになった。全体としては約2300本の真空管を使っている。加算には 62マイクロ秒、乗算には 713マイクロ秒かかった。非同期マシンであり、命令のタイミングを規定するクロックは存在しない。前の命令が完了したら次の命令をスタートさせるようになっている。
[編集] IASマシンからの派生
IASマシンの設計に関する論文は世界中に流布された。その結果IASマシンと同じアーキテクチャのコンピュータが世界中で開発されたのである(ただし非互換なものが多い)。
IASマシンの派生の例:
- AVIDAC (1953年1月) (アメリカ アルゴンヌ国立研究所)
- BESK (1953年) (ストックホルム)
- BESM (1953年) (モスクワ)
- CYCLONE (1959年) (アイオワ州立大学)
- ILLIAC I (1952年) (イリノイ大学)
- GEORGE (1957年) (アルゴンヌ国立研究所)
- JOHNNIAC (ランド・コーポレーション、アメリカの軍関係のシンクタンク。スペリーランドとは無関係)
- MANIAC I (1952年) (ロスアラモス国立研究所)
- MSUDC (19??年) (ミシガン州立大学)
- MISTIC (19??年) (ミシガン州立大学)
- MUSASINO-1 (1957年) (日本電信電話公社)
- ORACLE (1961年?) (アメリカ オークリッジ国立研究所)
- ORDVAC (1951年) (米陸軍 アバディーン実験場)
- SILLIAC (19??年) (オーストラリア シドニー大学)
- SMIL (19??年) (スウェーデン ルンド大学)
- WEIZAC (1954年) (イスラエル バイツマン科学研究所)