プログラム内蔵方式について
プログラム内蔵方式(プログラムないぞうほうしき)、別名ストアドプログラム方式は、
コンピュータ・アーキテクチャの一形態で、プログラムを主記憶に格納し、そのプログラムを実行する仕組みを指します。この方式は、特に
ENIACプロジェクトでの発展が著しく、理論的な基礎を築いた有名な数学者、
ジョン・フォン・ノイマンの名にちなんで「
ノイマン型アーキテクチャ」と呼ばれることもあります。
歴史的背景
このプログラム内蔵方式は、初期の
コンピュータ技術の発展と密接に関連しています。特に、エッカートとモークリーが指導した
ENIACプロジェクトでは、プログラムを変更する際の結線作業の煩雑さを解消するために考案されたとされています。彼らは、プログラムの柔軟性を高めるため、プログラムを主記憶に保存できる設計を模索しました。
これにより、プログラムを変更する際に物理的な結線を行う必要が減少し、効率的な運用が可能となりました。ただし、初期の計算機では全てのプログラムがROMに格納されていたわけではないため、
ノイマン型アーキテクチャはプログラムの書き換え可能性という特徴も含む理解をされています。
現在の理解と分類
現代においては、プログラム内蔵方式かどうかは、プログラムを格納する
記憶装置が書き換え可能かどうかに依存しないという見解が広まっています。また、
ハーバード・アーキテクチャも一般にプログラム内蔵方式の一種とされることが多いです。一方で、プログラムが内蔵されているように見えるが、実際には命令が
記憶装置ではなく
ワイヤードロジックで構築されているシステムは、通常この方式には該当しません。
このような多様な解釈の背景には、歴史的な経緯があります。初期の計算機では、主記憶(例えばROM)をデータ置き場としてのみ使用し、プログラム自体は
パンチカードやドリルテープなどの補助記憶から読み込む形式が一般的でした。このスタイルでは、ジャンプ命令が限られるため、プログラム実行の効率が著しく低下し、従来の設計は早々に時代遅れとされるようになりました。
プログラム内蔵方式の意義
プログラム内蔵方式は、
コンピュータの設計において非常に重要な位置を占めています。電子式でないリレーを使用した
コンピュータもあり、これらはしばしば補助記憶を直接使用する傾向がありました。日本においても
FACOM 128やETL Mark I、Mark IIといったリレー式
コンピュータが存在しましたが、これらはプログラム内蔵方式とは認識されにくい設計でした。
このアーキテクチャの理解は、
コンピュータ技術の進化の根本を形作る礎となっており、現代の計算機システムの設計においても、依然として重要な考慮材料とされています。