Contents
概要
ノイマン型アーキテクチャ(von Neumann architecture)は、現代の汎用コンピュータの基本設計原理である。1945年、ハンガリー出身のジョン・フォン・ノイマン(1903-1957)が『EDVAC報告書第一草稿』に記述した。
4つの主要構成要素からなる。(1) 中央処理装置(CPU、制御装置と演算装置)、(2) 主記憶装置(命令とデータを同一メモリに格納)、(3) 入出力装置、(4) これらを接続するバス。特徴はプログラム内蔵方式(stored-program)——プログラムがデータと同じメモリに格納され、必要に応じて読み込まれて実行される——にある。
発見の背景
第二次大戦中、ペンシルベニア大学モアスクール電気工学校で、エッカートとモークリーが電子式計算機ENIAC(1945完成)を開発していた。ENIACは配線変更でプログラムを切り替える方式で、プログラム変更に数日かかった。
1944年、ノイマンがプロジェクトに参加し、次期機EDVACの設計に関与した。EDVAC報告書は、これまで議論されてきたプログラム内蔵方式の概念を整理し、抽象化された計算機モデルとして公表した。著作権の関係でノイマンの名前のみが表記され、エッカート・モークリーの功績が埋没する論争も生んだ。
EDVACの実際の完成は遅れ、世界初のプログラム内蔵方式電子計算機は1948年のマンチェスター・ベイビーとなった。ただしノイマン報告書の影響で、1950年代の計算機開発は世界的にプログラム内蔵方式に収斂した。
意義
ノイマン型アーキテクチャは、ソフトウェアとハードウェアの分離という画期的抽象を実現した。同一のハードウェアが異なるプログラムで異なる計算を行うという、チューリングの万能機械の工学的実装である。
以後70年以上、デスクトップPC、スマートフォン、サーバ、スーパーコンピュータまで、ほぼすべての汎用コンピュータがノイマン型を基盤とする。RISCかCISCか、並列度をどう上げるか、キャッシュ階層をどう最適化するか、といった設計選択はすべてノイマン型の変奏である。
ノイマン・ボトルネック——CPUとメモリ間のデータ転送が速度を律速する——は現代アーキテクチャの根本的制約として残る。GPU、TPU、ニューロモーフィック計算機などの非ノイマン型への関心の高まりも、この制約への応答である。
現代への示唆
抽象化層の設計
ソフトウェアとハードウェアを分離する抽象は、変化の速度の異なる層を切り分ける設計パターンである。組織でも、短期変動する業務プロセスと長期安定すべき基盤システムを分離することで、両者が互いに足を引っ張らなくなる。抽象化層の設計は組織アーキテクチャの核心である。
単一アーキテクチャの支配
70年以上ノイマン型が支配した事実は、一度確立されたアーキテクチャの粘着性を示す。プログラマの教育、ツール、ノウハウすべてがそれに最適化されるため、代替案は単に技術的に優位なだけでは勝てない。エコシステム的な総合優位を構築する戦略が必要となる。
ボトルネックを認識する
ノイマン・ボトルネックは、一般原理から論理的に導かれる構造的制約である。どんな最適化も限界に近づくという認識は、無理な最適化投資を抑制する。次の飛躍は、アーキテクチャ自体の組み替え——GPU、量子、ニューロモーフィック——からしか生まれない。
関連する概念
- チューリングマシン
- ムーアの法則
- ARPANETとインターネットの起源
- プログラム内蔵方式
- ENIAC
参考
- J.フォン・ノイマン『電子計算機と頭脳』岩波文庫、2022
- N.スターン『ENIACからUNIVACへ——電子計算機の歴史』オーム社、1985
- 西垣通『ディジタル・ナルシス——情報科学パイオニアたちの欲望』岩波書店、1991