EDVACの歴史とフォン・ノイマン型アーキテクチャ:ストアドプログラムの誕生と影響

はじめに

EDVAC(Electronic Discrete Variable Automatic Computer)は、電子計算機の歴史において「ストアドプログラム」方式(プログラムとデータを同一の記憶装置に保持する方式)を初期に実装・概念化した代表的なプロジェクトの一つです。第二次世界大戦期から戦後にかけて、ENIACの問題点を克服する目的で設計され、その設計思想は後の汎用コンピュータの基盤となりました。本稿では、EDVAC の背景、設計上の特徴、開発経緯と関係者、技術的影響、評価と課題をできるだけ正確に整理して解説します。

歴史的背景と開発の動機

1940年代前半、ENIAC(Electronic Numerical Integrator and Computer)は初の大規模電子計算機として誕生しましたが、ENIACは十進数表現で配線によるプログラム変更を必要とするなど、実用化の観点で多くの制約がありました。これを受けて、ENIACの設計・製作に携わったチーム(ジョン・モークリー、J. プレスパー・エッカートら)や関係者は、より柔軟で高速、かつ信頼性の高い次世代機の設計を模索しました。

EDVACの開発はおおむね1944年以降に始まり、1945年にはジョン・フォン・ノイマンが中心となって「First Draft of a Report on the EDVAC(EDVACに関する予備報告書)」を作成・公表しました。この文書は「プログラムとデータを同一記憶装置に格納する」構想を広く示し、後に「フォン・ノイマン型アーキテクチャ」として知られる基本概念を一般化するきっかけとなりました。

主要な関係者と「ファーストドラフト」を巡る論争

  • J. Presper Eckert と John Mauchly:ENIACの設計・製作チームの中心人物で、EDVACの設計起案・実装にも深く関与しました。
  • John von Neumann(ジョン・フォン・ノイマン):プリンストン高等研究所で戦時科学研究に関わり、EDVACの会合での議論やメモを基に「First Draft」をまとめ、ストアドプログラム構想を体系化しました。
  • Herman Goldstine、Arthur Burks ら:会合記録や設計議論に関わった研究者で、EDVACの設計・ドキュメント作成に寄与しました。

「First Draft」はEDVACプロジェクトのアイデアを広く公開した一方で、著者の記載と貢献の扱いについては後に論争が起きました。特にフォン・ノイマンが文書の主要著者として広く知られるようになったため、エッカートやモークリーをはじめとする現場の貢献が十分にクレジットされなかったという批判があります。歴史的評価では、EDVACの具体的設計とフォン・ノイマンによる理論化の双方が後続の計算機発展に不可欠であったとみなされています。

EDVAC の設計上の主要概念

EDVACが示した重要な技術・概念は次のように整理できます。

  • 二進数表現(バイナリ)を採用:ENIACが十進数を用いていたのに対し、EDVACは二進数化により論理的単純化と回路規模の縮小を図りました。
  • ストアドプログラム方式:命令とデータを同一の記憶装置に保持し、制御ユニットが逐次命令を読み出して実行する方式を採用。これによりプログラムの動的変更や自己修正プログラムなどが可能になります。
  • 分離された機能ブロック:記憶装置(メモリ)、演算装置(ALU)、制御装置(コントロールユニット)という、現代でも基本となる機能分離を明確にしました。
  • 記憶装置の採用:当時の実装技術として、主記憶には磁気的・音響的遅延線(代表的には水銀(マーキュリー)遅延線メモリ)が使われることが想定され、これはEDVACでも採用されました。遅延線は一定時間内にデータを循環させることでメモリを実現します。
  • 命令の逐次実行と条件分岐:条件ジャンプやサブルーチン呼び出しなど、プログラム的制御の基本が導入されました。

ハードウェア実装のポイント

EDVACは真空管を用いる電子回路で構成され、信号の保持には遅延線メモリが用いられました。真空管は高速だが発熱や寿命の問題があり、信頼性・保守負荷が高いという当時の電子計算機共通の課題を抱えていました。遅延線メモリは回路規模を小さくする利点がある反面、循環・同期の管理やアクセス時間がランダムアクセスメモリ(RAM)に比べて制約があるため、設計上の工夫が必要でした。

EDVACの設計では、命令のエンコーディングやレジスタ的な一時記憶の扱い、演算精度の定義(固定長ワード)などが検討され、汎用計算機としての基礎が整えられました。ただし、当時の試作機としては物理的制約や実装上の調整が多く、後続機で改良されるポイントも多々ありました。

実装・稼働とその後の影響

EDVACの開発は戦時中から戦後にかけて継続され、実機の組み立てと試験は1940年代後半から1950年代初頭にかけて進められました。EDVAC自体は実際に稼働し、その設計思想はアカデミックや産業界に広く影響を与えました。特に英国のEDSAC(1949年稼働)やマンチェスターのManchester Baby、さらには各種商用機の設計に、EDVACで提唱されたストアドプログラム方式や二進数表現の考え方が取り入れられていきました。

「フォン・ノイマン型アーキテクチャ」という名称で後に一般化する概念は、命令をメモリから順次取得して実行するというシーケンシャルな制御フローを基本に置き、これが多くの汎用コンピュータ設計の雛形となりました。プログラミング技法(サブルーチン化、条件分岐、データ構造の扱い)もこの時期に体系化されていきます。

評価と課題

EDVACの功績は「計算機の考え方そのもの」を変えた点にあります。従来は配線やパッチの差替えでアルゴリズムを変えるという形だったところを、記憶装置に命令を置くことで柔軟性と抽象化を大きく向上させました。これがソフトウェアという概念の発展にも直結します。

一方で、EDVACには当時の技術水準に起因する課題もありました。真空管・遅延線メモリに依存するため、信頼性・保守コスト・物理的制約(体積・消費電力など)が大きく、実務上の運用には専門スタッフの常駐や頻繁なメンテナンスが必要でした。また「First Draft」を巡る著作・クレジット問題など、研究成果の共有と評価に関する倫理的な議論も後世に残りました。

EDVAC の歴史的意義

EDVACは「何を作ったか」だけでなく、「どのように考えるべきか」を示した点で歴史的に重要です。ストアドプログラムの導入、二進数採用、機能の分離といった概念は、その後の計算機アーキテクチャ、コンパイラやオペレーティングシステムの発展、さらにはソフトウェア産業の基礎形成に大きな影響を与えました。EDVACの設計議論は単なる技術仕様のやり取りに留まらず、計算機の役割や利用のあり方を根本から変える思考の転換でもありました。

まとめ

EDVACは戦時・戦後期の計算機研究を象徴するプロジェクトであり、その設計思想は現代コンピュータの基礎になりました。ジョン・フォン・ノイマンによる「First Draft」は、EDVACに関する議論を広く一般化し、ストアドプログラムという概念を普及させました。具体的な実装(真空管、遅延線メモリ)や運用の難しさは当時の技術的限界を反映していますが、概念面での革新が重要であり、EDVACはその象徴的存在といえます。

参考文献

※本稿は史料(一次資料)および学術的な解説を元に作成しました。EDVACの開発年次や稼働時期、ハードウェアの具体的な数値(真空管数やメモリ語長など)については資料により記述が異なる場合があります。特定の数値が必要な場合は、一次資料(設計ドキュメント、当時の公式報告)を参照されることをお勧めします。