
フォン・ノイマン・アーキテクチャ(フォン・ノイマン・モデルまたはプリンストン・アーキテクチャとも呼ばれる)は、1945年にジョン・フォン・ノイマンが執筆したEDVACに関する報告書の初稿[1]に基づくコンピュータ・アーキテクチャであり、ペンシルバニア大学ムーア電気工学部のジョン・モークリー、J・プレスパー・エッカートらと議論した設計について記述している。この文書では、以下のコンポーネントを備えた 電子デジタル・コンピュータの設計アーキテクチャについて説明している。
- 算術論理ユニットとプロセッサレジスタの両方を備えた処理ユニット
- 命令レジスタとプログラムカウンタを含む制御ユニット
- データと命令を保存するメモリ
- 外部大容量ストレージ
- 入力と出力のメカニズム[1] [2]
このアーキテクチャの発明がフォン・ノイマンによるものであるかどうかは議論の余地があるが、それはエッカートとモークリーが設計作業の多くをこなしており、フォン・ノイマンやハーマン・ゴールドスタインと議論するずっと前からストアード・プログラムのアイデアを持っていたと主張しているからである[3]。
「フォン・ノイマン・アーキテクチャ」という用語は、命令フェッチとデータ操作が同時に発生できない(共通のバスを共有しているため)プログラム格納型コンピュータを指すようになりました。これはフォン・ノイマン・ボトルネックと呼ばれ、対応するシステムのパフォーマンスを制限することがよくあります。[4]
フォン ノイマン アーキテクチャは、ハーバード アーキテクチャ(メモリの読み取りと書き込み用の専用のアドレス バスとデータ バスのセットと、命令をフェッチするための別のアドレス バスとデータ バスのセットを持つ) よりも単純です。
プログラム内蔵型コンピュータは、命令の実装に個別のプラグボード配線や固定制御回路などのメカニズムを使用する設計とは対照的に、プログラム命令とデータの両方をエンコードするために同じ基本メカニズムを使用します。プログラム内蔵型コンピュータは、 ColossusやENIACなどの 1940 年代の手動で再構成されたコンピュータや固定機能コンピュータよりも進歩したものでした。これらのコンピュータは、スイッチを設定し、パッチ ケーブルを挿入して、さまざまな機能ユニット間でデータと制御信号をルーティングすること でプログラムされました。
現代のコンピュータの大部分は、データとプログラム命令の両方をエンコードして保存するために同じハードウェア メカニズムを使用していますが、 CPU とメモリの間にキャッシュがあり、CPU に最も近いキャッシュには命令用とデータ用の別々のキャッシュがあるため、ほとんどの命令フェッチとデータ フェッチは別々のバスを使用します (分割キャッシュ アーキテクチャ)。
歴史
初期のコンピュータには固定プログラムがありました。非常にシンプルなコンピュータの中には、簡略化のためかトレーニング目的のためか、今でもこの設計を使用しているものもあります。たとえば、卓上計算機は(原理的には) 固定プログラム コンピュータです。基本的な計算はできますが、ワード プロセッサやゲームは実行できません。固定プログラム マシンのプログラムを変更するには、配線のやり直し、再構築、またはマシンの再設計が必要です。初期のコンピュータは、特定のタスク用に「プログラム」されたというよりは「設計」されていました。「再プログラミング」は (可能だったとしても)フローチャートと紙のメモから始まり、詳細なエンジニアリング設計を経て、物理的に配線し直してマシンを再構築するという、しばしば骨の折れる作業でした。ENIACでプログラムをセットアップしてデバッグするには、3 週間かかることもありました。[5]
プログラム内蔵型コンピュータの提案により、この状況は変わりました。プログラム内蔵型コンピュータには、設計上、命令セットが含まれており、計算の詳細を示す命令セット (プログラム)をメモリ内に保存できます。
ストアド プログラム設計では、自己変更コードも使用できます。このような機能が最初に導入された理由の 1 つは、プログラムで命令のアドレス部分を増分または変更する必要性でした。初期の設計では、この作業はオペレータが手動で行う必要がありました。インデックス レジスタと間接アドレッシングがマシン アーキテクチャの一般的な機能になったため、この作業はそれほど重要ではなくなりました。もう 1 つの用途は、即時アドレッシングを使用して、頻繁に使用されるデータを命令ストリームに埋め込むことでした。
機能
大規模に見ると、命令をデータとして扱う能力によって、アセンブラ、コンパイラ、リンカー、ローダー、その他の自動プログラミングツールが実現します。これにより、「プログラムを書くプログラム」が可能になります。[6] これにより、フォン・ノイマン・アーキテクチャ・マシンを中心に、洗練されたセルフホスティング・コンピューティング・エコシステムが繁栄しました。
一部の高級言語では、実行時に実行可能コードを操作するための抽象的でマシンに依存しない方法を提供したり(例: LISP )、実行時情報を使用してジャストインタイムコンパイルを調整したり(例: Java 仮想マシンでホストされる言語、Web ブラウザーに埋め込まれた言語) することで、フォン・ノイマン・アーキテクチャを活用しています。
小規模では、BITBLTやピクセル シェーダー、頂点シェーダーなどの反復操作は、ジャストインタイム コンパイル技術を使用して汎用プロセッサで高速化できます。これは、自己変更コードの使用法の 1 つであり、依然として人気があります。
プログラム格納コンセプトの開発
ケンブリッジ大学でマックス・ニューマンの講義を聞いて数理論理学の問題に気付いた数学者アラン・チューリングは、1936年に「計算可能数について、その帰結問題への応用」と題する論文を書き、ロンドン数学会の会報に掲載した。[7]その中で彼は、現在「万能チューリングマシン」として知られる、彼が「万能計算機」と呼んだ仮想の機械について説明した。この仮想の機械には、命令とデータの両方を含む無限の記憶装置(今日の用語で言うところのメモリ)があった。ジョン・フォン・ノイマンは、1935年にケンブリッジ大学の客員教授を務めていたとき、また1936年から1937年にかけてニュージャージー州プリンストン高等研究所でチューリングが博士課程に在籍していたときに、チューリングと知り合った。彼が当時チューリングの1936年の論文を知っていたかどうかは明らかではない。
1936年、コンラート・ツーゼは2つの特許出願において、機械命令をデータと同じ記憶装置に保存できることを予見した。[8]
ペンシルバニア大学ムーア電気工学部でENIACを開発していたJ・プレスパー・エッカートとジョン・モークリーは、独立して1943年12月にプログラム内蔵方式のコンセプトについて書いた。 [9] [10]新しいマシンEDVACを計画する中で、エッカートは1944年1月に、データとプログラムを新しいアドレス指定可能な記憶装置である水銀金属遅延線メモリに保存すると書いた。これは実用的なプログラム内蔵方式のマシンの構築が提案された初めてのケースであった。当時、彼とモークリーはチューリングの研究について知らなかった。
フォン・ノイマンはロスアラモス国立研究所でマンハッタン計画に携わっていた。この計画では膨大な計算量が必要だったため、1944年の夏、彼はENIAC計画に引きつけられた。そこで彼は、プログラム内蔵型コンピュータであるEDVACの設計に関する進行中の議論に参加した。そのグループの一員として、彼はエッカートとモークリーの研究に基づいた「EDVACに関する報告書の第一草稿」[1]と題する報告書を書き上げた。同僚のハーマン・ゴールドスタインがそれを回覧した時点では未完成で、フォン・ノイマンの名前しか載っていなかった(エッカートとモークリーを驚かせた)。[11]この論文はアメリカとヨーロッパのフォン・ノイマンの同僚数十名に読まれ、次の一連のコンピュータ設計に影響を与えた。
ジャック・コープランドは、「電子記憶プログラム式デジタルコンピュータを『フォン・ノイマン・マシン』と呼ぶのは歴史的に不適切である」と考えている。[12]ロスアラモスの同僚スタン・フランケルは、フォン・ノイマンがチューリングの考えを尊重していたことについて次のように述べている。[13]
1943年か44年ごろ、フォン・ノイマンはチューリングの1936年の論文の根本的な重要性をよく認識していたことを私は知っています。フォン・ノイマンは私にその論文を紹介し、彼の勧めで私はその論文を注意深く研究しました。多くの人がフォン・ノイマンを「コンピュータの父」(現代の意味で)と称賛していますが、彼自身は決してそのような間違いを犯さなかったと確信しています。彼は助産師と呼ばれるかもしれませんが、彼は私に、そして他の人たちに、その基本的な概念はチューリングによるものであり、バベッジが予見しなかった限りにおいてであると強く強調しました。もちろん、チューリングとフォン・ノイマンはどちらもこれらの概念の「実践への還元」に多大な貢献をしましたが、私はこれらを、活動プログラムをメモリに保存し、活動の過程でそのプログラムを修正できるコンピュータの概念の導入と説明と同等の重要性があるとは考えません。
「第一草案」報告書が配布された当時、チューリングは「電子計算機の提案」と題する報告書を作成中だった。この報告書では、彼が自動計算エンジン (ACE)と名付けた機械のアイデアを、工学とプログラミングの詳細にわたって説明していた。[14]彼はこれを1946年2月19日に英国国立物理学研究所の執行委員会に提出した。チューリングは戦時中のブレッチリー・パークでの経験から、自分の提案が実現可能であることを知っていたものの、その後数十年にわたって維持されたColossusに関する秘密主義のため、それを公言することはできなかった。ACE 設計のさまざまな実装が成功裏に行われた。
フォン・ノイマンとチューリングの論文はどちらもプログラム内蔵型コンピュータについて記述していたが、フォン・ノイマンの初期の論文の方が広く読まれ、そこで概説されたコンピュータアーキテクチャは「フォン・ノイマンアーキテクチャ」として知られるようになった。1953年に出版された「Faster than Thought: A Symposium on Digital Computing Machines」 (B. V. Bowden編)の「Computers in America」の章には次のように書かれている。[15]
プリンストン高等研究所の機械
1945 年、当時 ENIAC が作られたフィラデルフィアのムーア工学部に勤務していた J. フォン ノイマン教授は、同僚のグループを代表して、デジタル コンピュータの論理設計に関するレポートを発表しました。このレポートには、EDVAC (電子離散変数自動計算機) として知られるようになったマシンの設計に関する詳細な提案が含まれていました。このマシンはアメリカで最近完成したばかりですが、フォン ノイマン レポートは、ケンブリッジでの EDSAC (電子遅延記憶自動計算機) の構築に影響を与えました (130 ページを参照)。
1947 年、バークス、ゴールドスタイン、フォン ノイマンは別の報告書を発表し、非常に高速で、おそらく 1 秒あたり 20,000 回の演算が可能な別のタイプのマシン (今回は並列マシン) の設計の概要を示しました。彼らは、そのようなマシンを構築する上での未解決の問題は、瞬時にアクセスできる内容を持つ適切なメモリの開発であると指摘しました。最初に彼らは、RCA のプリンストン研究所が発明した「セレクトロン」と呼ばれる特殊な真空管の使用を提案しました。これらの真空管は高価で製造が困難であったため、フォン ノイマンはその後、ウィリアムズ メモリに基づくマシンを構築することを決定しました。1952 年 6 月にプリンストンで完成したこのマシンは、マニアックとして広く知られています。このマシンの設計は、現在アメリカで構築されている少なくとも 6 台のマシンに影響を与え、すべて「ジョニアック」という愛称で呼ばれています。
同じ本のACEに関する章の最初の2段落は次のように書かれています。[16]
国立物理学研究所における自動計算
自動電子計算技術の発展と改良を具体化した最も現代的なデジタル コンピュータの 1 つが、最近テディントンの国立物理学研究所で実演されました。このコンピュータは、研究所のスタッフの数学者と電子工学研究技術者の小さなチームによって設計および構築され、イングリッシュ エレクトリック カンパニーの製造技術者数名の協力を得ました。研究所にこれまでに構築された装置は、自動計算エンジンと呼ばれる、はるかに大規模な設備のパイロット モデルにすぎませんが、図 12、13、および 14 から判断できるように、比較的小型で熱電子バルブが約 800 個しか含まれていないにもかかわらず、非常に高速で多機能な計算機です。
機械による計算の基本概念と抽象原理は、A. M. チューリング博士 (FRS) が 1936 年にロンドン数学会で発表した論文1で定式化されましたが、英国におけるそのような機械の研究は戦争によって遅れました。しかし、1945 年に、国立物理学研究所で当時研究所数学部門の責任者であった J. R. ウォマーズリー氏が問題の検討を行いました。彼にチューリング博士と少数の専門家が加わり、1947 年までには予備計画が十分に進み、すでに述べた特別グループが設立されました。1948 年 4 月、後者は F. M. コールブルック氏の管理下で研究所の電子工学部門になりました。
初期のフォン・ノイマン・アーキテクチャのコンピュータ
最初の草案では、多くの大学や企業がコンピュータを構築するために使用した設計が説明されていました。[17]これらのさまざまなコンピュータの中で、互換性のある命令セットを持っていたのはILLIACとORDVACだけでした。
- ARC2(ロンドン大学バークベック校)は1948年5月12日に正式にオンラインになりました。[18]
- マンチェスター ベイビー(イギリス、マンチェスター ビクトリア大学) は、1948 年 6 月 21 日に初めて記憶されたプログラムの実行に成功しました。
- EDSAC(ケンブリッジ大学、イギリス)は、最初の実用的なプログラム内蔵型電子計算機でした(1949年5月)
- マンチェスター マーク 1 (マンチェスター大学、イギリス) ベビーから開発 (1949 年 6 月)
- CSIRAC (科学産業研究会議) オーストラリア (1949 年 11 月)
- ウクライナ SSRのキエフにあるキエフ電気技術研究所のMESM (1950 年 11 月)
- EDVAC (弾道研究研究所、アバディーン試験場の計算研究所、1951 年)
- 高等研究所 のIASマシン(1951年)
- ORDVAC(イリノイ大学)メリーランド州アバディーン試験場(1951年11月完成)[19]
- ロスアラモス科学研究所のMANIAC I (1952 年 3 月)
- イリノイ大学のILLIAC(1952年9月)
- モスクワのBESM-1 (1952年)
- アルゴンヌ国立研究所のAVIDAC (1953)
- オークリッジ国立研究所のORACLE (1953 年 6 月)
- ストックホルムのBESK(1953年)
- ランド研究所のジョニアック(1954年1月)
- デンマークのDASK (1955年)
- イスラエル、レホヴォトのワイツマン科学研究所のワイザック(1955年)
- ミュンヘンのPERM(1956年)
- シドニーのシリアック(1956年)
初期のプログラム内蔵型コンピュータ
以下の年表の日付情報は、適切な順序に並べるのが困難です。一部の日付はテスト プログラムを初めて実行した日付、一部の日付はコンピューターが初めてデモまたは完成した日付、一部の日付は初めて配送またはインストールされた日付です。
- IBM SSECは命令をデータとして扱う能力を持っており、1948年1月27日に公開されました。この機能は米国特許で主張されました。[20] [21]しかし、それは部分的に電気機械的なものであり、完全に電子的なものではありません。実際には、メモリが限られていたため、命令は紙テープから読み取られました。 [22]
- ロンドン大学バークベック校のアンドリュー・ブースとキャスリーン・ブースが開発したARC2は、 1948年5月12日に正式に稼働しました。 [18]これは、最初の回転ドラム記憶装置を備えていました。[23] [24]
- マンチェスターベイビーは、プログラム記憶機構を搭載した最初の完全な電子式コンピュータでした。1948 年 6 月 21 日、単純な割り算プログラムと 2 つの数が互いに素であることを示すプログラムを実行した後、因数分解プログラムを 52 分間実行しました。
- ENIACは、原始的な読み取り専用のプログラム内蔵型コンピュータ (プログラムROMに関数テーブルを使用) として動作するように改造され、1948 年 9 月 16 日に、フォン ノイマン向けのAdele Goldstineによるプログラムを実行してそのデモンストレーションが行われました。
- BINACは1949 年 2 月、3 月、4 月にいくつかのテスト プログラムを実行しましたが、完了したのは 1949 年 9 月でした。
- マンチェスターマーク 1 は、ベイビー プロジェクトから開発されました。マーク 1 の中間バージョンは 1949 年 4 月にプログラムの実行に使用できましたが、完成したのは 1949 年 10 月でした。
- EDSACは1949 年 5 月 6 日に最初のプログラムを実行しました。
- EDVACは1949 年 8 月に納入されましたが、問題があったため 1951 年まで通常運用されませんでした。
- CSIR Mk Iの最初のプログラムは 1949 年 11 月に実行されました。
- SEACは1950 年 4 月に実証されました。
- Pilot ACE は1950 年 5 月 10 日に最初のプログラムを実行し、1950 年 12 月にデモンストレーションされました。
- SWACは1950年7月に完成しました。
- ホワールウィンドは1950年12月に完成し、1951年4月から実際に使用されました。
- 最初のERA Atlas (後に商用 ERA 1101/UNIVAC 1101) は 1950 年 12 月に設置されました。
進化

1960年代から1970年代にかけて、コンピュータは一般的に小型化と高速化が進み、アーキテクチャの進化につながりました。たとえば、メモリマップドI/Oにより、入力デバイスと出力デバイスをメモリと同じように扱うことができます。[25]単一のシステムバスを使用することで、低コストのモジュラーシステムを実現できます[説明が必要]。これは、アーキテクチャの「合理化」と呼ばれることもあります。[26] その後の数十年間、単純なマイクロコントローラでは、コストとサイズを削減するためにモデルの機能を省略することがありました。大型のコンピュータでは、より高いパフォーマンスを実現する機能が追加されました。
設計上の制限
フォン・ノイマン・ボトルネック
命令とデータをフェッチするために同じバスを使用すると、フォン ノイマン ボトルネック、つまりメモリの量に比べて中央処理装置(CPU) とメモリ間のスループット(データ転送速度)が制限されるという問題が生じます。単一のバスは 2 つのクラスのメモリのうち 1 つにしか一度にアクセスできないため、スループットは CPU が動作できる速度よりも低くなります。これにより、CPU が大量のデータに対して最小限の処理を実行する必要がある場合に、実効処理速度が大幅に制限されます。CPU は、必要なデータがメモリとの間で移動するのを常に待機する必要があります。CPU の速度とメモリ サイズは、それらの間のスループットよりもはるかに速いペースで増加したため、ボトルネックはより大きな問題となり、CPU の世代が新しくなるたびに問題の深刻度が増しています。
フォン・ノイマン・ボトルネックについては、ジョン・バッカスが 1977 年の ACMチューリング賞講演で説明しました。バッカスによると、
膨大な数の単語をフォン・ノイマン・ボトルネックを通してやり取りするよりも、もっと原始的でない方法でストアに大きな変更を加えることができるに違いない。このチューブは問題のデータトラフィックの文字通りのボトルネックであるだけでなく、より重要なことに、それは私たちを一度に単語単位で考えることに縛り付け、手元のタスクのより大きな概念単位で考えるように促さない知的ボトルネックである。したがって、プログラミングは基本的にフォン・ノイマン・ボトルネックを通る膨大な単語のトラフィックを計画し詳細化することであり、そのトラフィックの多くは重要なデータ自体ではなく、それがどこにあるかに関するものである。[27] [28]
緩和策
フォン・ノイマンのパフォーマンスボトルネックを軽減する方法はいくつか知られています。たとえば、次の方法はすべてパフォーマンスを向上させることができます[なぜ? ] :
- CPUとメインメモリの間にキャッシュを提供する。
- データと命令に別々のキャッシュまたは別々のアクセスパスを提供する(いわゆる修正ハーバードアーキテクチャ)。
- 分岐予測アルゴリズムとロジックを使用する。
- メモリアクセスを削減するために、制限された CPU スタックまたはその他のオンチップスクラッチパッド メモリを提供する。
- CPU とメモリ階層をシステム オン チップとして実装し、参照の局所性を高めてレイテンシを削減し、プロセッサ レジスタとメイン メモリ間のスループットを向上させます。
この問題は、たとえば非均一メモリアクセス(NUMA) アーキテクチャを使用した並列コンピューティングによっても、ある程度回避できます。このアプローチは、スーパーコンピュータで一般的に使用されています。バッカスが批判した知的ボトルネックが 1977 年以降大きく変化したかどうかは明らかではありません。バッカスの提案した解決策は大きな影響を与えていません。[要出典]現代の関数型プログラミングとオブジェクト指向プログラミングは、 FORTRANなどの以前の言語ほど「膨大な数のワードをやり取りする」ことに重点を置いていませんが、内部的には、高度に並列化されたスーパーコンピュータであっても、コンピュータが多くの時間を費やしていることが依然としてこれに該当します。
1996年のデータベースベンチマーク調査では、CPUサイクルの4分の3がメモリの待機に費やされていることが判明しました。研究者は、マルチスレッドまたはシングルチップマルチプロセッシングによる同時命令ストリームの数が増えると、このボトルネックがさらに悪化すると予想しています。[29] [30]マルチコアプロセッサ の場合、プロセッサとスレッド間のキャッシュの一貫性を維持するために追加のオーバーヘッドが必要になります。
自己修正コード
フォン・ノイマン・ボトルネック以外にも、プログラムの変更は、偶然であれ意図的であれ、非常に有害となる可能性がある。[要出典]単純なプログラム内蔵型コンピュータの設計では、誤動作したプログラムがプログラム自体、他のプログラム、またはオペレーティング システムに損傷を与え、コンピュータのクラッシュにつながる可能性がある。ただし、この問題は境界チェックのない従来のプログラムにも当てはまる。メモリ保護とさまざまなアクセス制御は、通常、偶発的および悪意のあるプログラム変更の両方に対して保護機能を提供する。
参照
参考文献
- ^ abc von Neumann, John (1945)、「EDVACに関する報告書の第一草稿」(PDF) 、 2013年3月14日時点のオリジナル(PDF)からアーカイブ、 2011年8月24日取得。
- ^ ガネーサン 2009.
- ^ Bergin, Thomas J. (2000)、陸軍コンピューティングの50年: ENIACからMSRCまで、米国陸軍研究所、p. 34 、 2024年11月5日閲覧。
- ^ Markgraf, Joey D. (2007)、The Von Neumann Bottleneck、2013年12月12日時点のオリジナルよりアーカイブ。
- ^ コープランド2006年、104ページ。
- ^ MFTL (My Favorite Toy Language) エントリ Jargon File 4.4.7 、 2008年7月11日取得。
- ^ チューリング、アラン・M. (1936)、「計算可能数について、その計算問題への応用」、ロンドン数学会紀要、第2巻、第42巻(1937年発行)、pp. 230–265、doi :10.1112/plms/s2-42.1.230、S2CID 73712およびチューリング、アラン M. (1938)、「計算可能数について、計算問題への応用。訂正」、ロンドン数学会紀要、2、第 43 巻、第 6 号 (1937 年発行)、pp. 544–546、doi :10.1112/plms/s2-43.6.544。
- ^ Williams, FC; Kilburn, T. (1948 年 9 月 25 日)、「電子デジタルコンピュータ」、Nature、162 (4117): 487、Bibcode :1948Natur.162..487W、doi : 10.1038/162487a0、S2CID 4110351。
- ^ ルコフ、ハーマン(1979)。『From Dits to Bits: A personal history of the electronic computer』。オレゴン州ポートランド:ロボティクス・プレス。ISBN 0-89661-002-0LCCN 79-90567 。
- ^ ENIACプロジェクト管理者のグリスト・ブレイナードは、1943年12月にENIAC開発の初期段階の進捗報告書の中で、「最も単純なプロジェクトにして問題を複雑にしないために」ENIACはいかなる「自動調整」もなしに構築されると述べ、暗黙のうちにプログラム格納方式のコンセプトを提案した(同時にENIACへの実装は拒否した)。
- ^ コープランド2006年、113ページ。
- ^ コープランド、ジャック(2000)、コンピューティングの簡潔な歴史:ENIACとEDVAC 、 2010年1月27日閲覧。
- ^ コープランド、ジャック(2000)、コンピューティングの簡潔な歴史:ENIACとEDVAC 、 2010年1月27日閲覧(Randell, Brian (1972)、Meltzer, B.、Michie, D. (eds.)、「On Alan Turing and the Origins of Digital Computers」、Machine Intelligence、7、エディンバラ:Edinburgh University Press:10、ISBNを引用した作品 0-902383-26-4。
- ^ コープランド2006年、108-111頁。
- ^ ボウデン 1953、176、177ページ。
- ^ ボウデン1953年、135ページ。
- ^ 「電子コンピュータプロジェクト」。高等研究所。2009年9月11日。 2011年5月26日閲覧。
- ^ ab Campbell-Kelly, Martin (1982 年 4 月)。「英国におけるコンピュータプログラミングの発展 (1945 年から 1955 年)」。IEEE Annals of the History of Computing。4 (2): 121–139。doi : 10.1109 /MAHC.1982.10016。S2CID 14861159 。
- ^ ロバートソン、ジェームズ E. (1955)、イリアック設計技術、レポート番号 UIUCDCS-R-1955–146、デジタルコンピュータ研究所、イリノイ大学アーバナシャンペーン校。
- ^ 選択シーケンス電子計算機(USPTO Web サイト)。
- ^ 選択シーケンス電子計算機 (Google 特許)。
- ^ Grosch, Herbert RJ (1991)、コンピュータ:人生からのビットスライス、Third Millennium Books、ISBN 0-88733-085-1。
- ^ ラヴィントン、サイモン編 (2012)。アラン・チューリングとその同時代人: 世界初のコンピュータの構築。ロンドン:英国コンピュータ協会。p. 61。ISBN 978-1906124908。
- ^ ジョンソン、ロジャー(2008年4月)。「コンピューターサイエンスと情報システム学部:歴史」(PDF)。バークベック・カレッジ。ロンドン大学。 2017年7月23日閲覧。
- ^ Bell, C. Gordon ; Cady, R.; McFarland, H.; O'Laughlin, J.; Noonan, R.; Wulf, W. (1970)、「ミニコンピュータの新しいアーキテクチャ - DEC PDP-11」(PDF)、Spring Joint Computer Conference、pp. 657–675。
- ^ Null, Linda; Lobur, Julia (2010)、コンピュータ組織とアーキテクチャの基本(第3版)、Jones & Bartlett Learning、pp. 36、199–203、ISBN 978-1-4496-0006-8。
- ^ Backus, John W. (1978 年 8 月)。「プログラミングはフォン・ノイマン スタイルから解放されるか? 関数型スタイルとプログラム代数」Communications of the ACM . 21 (8): 613–641. doi : 10.1145/359576.359579 . S2CID 16367522。
- ^ Dijkstra, Edsger W.「EW Dijkstra アーカイブ: 1977 年チューリング賞講演のレビュー」 。2008年7 月 11 日閲覧。
- ^ Sites, Richard L. (1996 年 8 月 5日)。「建築家が注目する未来のプロセッサ」(PDF)。マイクロプロセッサ レポート。10 (10)。「メモリが問題だ、バカ者め!」
- ^ Patt、Yale (1996 年 8 月5日)。「建築家が将来のプロセッサに注目」(PDF)。マイクロプロセッサ レポート。10 (10)。まず、ユニプロセッサを正しく理解しましょう。
さらに読む
- Bowden, BV 編 (1953)、「Faster Than Thought: A Symposium on Digital Computing Machines」、ロンドン: Sir Isaac Pitman and Sons Ltd.
- ロハス、ラウル、ハシャゲン、ウルフ編(2000年)、最初のコンピュータ:歴史とアーキテクチャ、MITプレス、ISBN 0-262-18197-5
- デイビス、マーティン(2000)、ユニバーサルコンピュータ:ライプニッツからチューリングへの道、ニューヨーク:WWノートン&カンパニー社、ISBN 0-393-04785-7再出版:デイビス、マーティン(2001)、論理エンジン:数学者とコンピュータの起源、ニューヨーク:WWノートン&カンパニー、ISBN 978-0-393-32229-3
- プログラミングはフォン・ノイマン・スタイルから解放されるか?ジョン・バックス1977 ACM チューリング賞講演 Communications of the ACM、1978 年 8 月、第 21 巻、第 8 号 オンライン PDF 2007 年 6 月 21 日にアーカイブ、Wayback Machineで詳細を参照 https://www.cs.tufts.edu/~nr/backus-lecture.html
- Bell, C. Gordon、Newell, Allen (1971)、『Computer Structures: Readings and Examples』、McGraw-Hill Book Company、ニューヨーク。大判(668 ページ)
- コープランド、ジャック (2006)、「コロッサスと現代コンピュータの台頭」、コープランド、B. ジャック (編)、コロッサス: ブレッチリー パークの暗号解読コンピュータの秘密、オックスフォード:オックスフォード大学出版局、ISBN 978-0-19-284055-4
- Ganesan, Deepak (2009)、The von Neumann Model (PDF) 、 2012年4月25日時点のオリジナル(PDF)からアーカイブ、 2011年10月22日取得
- マッカートニー、スコット (1999)。ENIAC: 世界初のコンピュータの勝利と悲劇。ウォーカー & カンパニーISBN 0-8027-1348-3。
- ゴールドスタイン、ハーマン H. (1972)。 『コンピュータ パスカルからフォン・ノイマンまで』プリンストン大学出版局。ISBN 0-691-08104-2。
- シュルキン、ジョエル (1984)。『心のエンジン:コンピュータの歴史』。ニューヨーク、ロンドン:WW ノートン アンド カンパニー。ISBN 0-393-01804-0。
外部リンク
- ハーバード対フォン・ノイマン
- フォン・ノイマン・マシンの動作をエミュレートするツール
- JOHNNY: 教育目的のフォン・ノイマン・マシンのシンプルなオープンソース・シミュレーター
