知脈

フォン・ノイマン・アーキテクチャ

von Neumann architectureプログラム内蔵方式stored-program computer

フォン・ノイマン・アーキテクチャ——現代コンピュータの設計原理

現代のコンピュータはほぼすべて、1945年にジョン・フォン・ノイマンが提案した設計原理に従って動いている。「プログラム内蔵方式」とも呼ばれるこの設計は、「データ」と「プログラム」を同じメモリに格納するという単純な発想から、世界を変えた。

ジョージ・ダイソン『チューリングの大聖堂』における誕生の物語

ジョージ・ダイソンの『チューリングの大聖堂』(2012年)は、プリンストン高等研究所で世界初の汎用電子計算機IAS(IAM)が建造された1945〜1953年の歴史を描く。フォン・ノイマン・アーキテクチャはその中心的な設計思想だ。

それ以前のコンピュータは「固定プログラム方式」だった——特定の計算をするために物理的に配線が変更された。ENIACはそのような機械だ。フォン・ノイマンの革命は「プログラムをデータとして扱う」という発想だ。プログラム(命令)も数値データも同じメモリに格納され、CPUがメモリから読み出して実行する。これにより、「機械の配線を変えずにプログラムを変えるだけ」で異なる計算ができるようになった。

アーキテクチャの基本構成

フォン・ノイマン・アーキテクチャの基本構成要素は:(1)演算装置(ALU)、(2)制御装置、(3)メモリ(データとプログラムを格納)、(4)入出力装置——の4つだ。

CPUの「フェッチ→デコード→実行」サイクルが基本動作だ。メモリからプログラムの命令を取り出し(フェッチ)、命令を解読し(デコード)、演算を実行し(実行)、次の命令へ進む。このシンプルなループが現代のすべてのソフトウェアを動かしている。

フォン・ノイマン・ボトルネック

しかしこのアーキテクチャには根本的な制約がある——「フォン・ノイマン・ボトルネック」だ。CPUとメモリの間のデータ転送速度がボトルネックになる。CPUがいくら高速でも、メモリからデータを読み書きする速度に制限される。

この制約はCPUの高速化とともに深刻化した。現代のCPUはメモリアクセスの数十〜数百倍の速度で計算できるが、メモリを待つ時間(メモリレイテンシ)が性能の足を引っ張る。キャッシュメモリはこのボトルネックを緩和するための工夫だ。

チューリングとの思想的対比

アーキテクチャを設計したフォン・ノイマンと、計算可能性の理論を構築したチューリングは同時代の思想家だ。チューリング機械(無限テープと状態遷移規則)はフォン・ノイマン・コンピュータの論理的先駆だ。しかしチューリング機械は理論的モデルで、フォン・ノイマン・アーキテクチャは工学的実装だ。

ダイソンの本が示すのは、この理論と実装の間の距離——そして埋めるために天才たちが集まった場所の歴史だ。数学者・物理学者・工学者・哲学者が一堂に会し、「思考する機械」を建設しようとした情熱は、テクノロジーが人文知と交差した瞬間の記録だ。

現代への継承

フォン・ノイマン・アーキテクチャは80年後も基本的に変わっていない。しかしGPU・ニューラルチップ・量子コンピュータは、この枠組みを超える新しいアーキテクチャを探求している。GPUは並列処理でボトルネックを回避し、ニューラルチップは「計算とメモリを近づける」ニューロモーフィック設計を採用する。

抽象化メタ循環評価器とあわせて読むことで、コンピュータ科学の基礎が見えてくる。フォン・ノイマン・アーキテクチャは「プログラムはデータだ」というソフトウェアの根本的な性質——コードが実行されながら自分自身を変えられる——の基盤でもある。

概念ネットワーク

線の太さは共通する本の数を表しています。ノードをクリックすると概念ページに移動します。

この概念を扱う本(2冊)

チューリングの大聖堂
チューリングの大聖堂

ジョージ・ダイソン

98%

プリンストンでのフォン・ノイマンによるストアドプログラム型コンピュータの実現

チューリング——コンピュータ科学の父
80%

本書ではチューリングとフォン・ノイマンの知的関係が検証される。普遍チューリングマシンの概念が実装へ移行する過程で、ACE(自動計算エンジン)設計においてチューリングがこのアーキテクチャに独自に到達していたことが示される。