フォン・ノイマン・ボトルネック
フォン・ノイマン・ボトルネック (英: Von Neumann bottleneck) またはノイマンズ・ボトルネックは、コンピュータ・アーキテクチャの1つの型であるノイマン型に存在する性能上のボトルネック。
概要
[編集]ノイマン型では、記憶装置に命令を格納するので、プロセッサが命令を実行するには必ずバスを通して記憶装置(メモリなど)にアクセスしなければならず、プロセッサと記憶装置のアクセス速度が遅ければコンピュータ全体のボトルネックになる。
なお、本来この事はノイマン型だけでなくプログラム内蔵方式に共通の事項であるが、プログラム内蔵方式の代表例がノイマン型であるためこのように呼ばれる。
現代のコンピュータはほとんどがプログラム内蔵方式であるため、CPUの性能向上だけでなく、記憶装置のアクセス速度向上も図られており、キャッシュメモリを導入するなど、記憶の階層化は、コンピュータ全体のパフォーマンスの改善のために重要である。また、実行するプログラムを設計する際にも、使われやすい処理のサブルーチン化など局所化が工夫される。
歴史
[編集]フォン・ノイマン・ボトルネックは、今日では、コンピュータ設計上の留意点として扱われているが、もともとはプログラミングにおける問題意識から指摘されたものである。ジョン・バッカスがそのチューリング賞受賞講演「プログラムはフォン・ノイマン・スタイルから解放されうるか? 関数型プログラミング・スタイルとそのプログラム代数」において、従来型のプログラミング・スタイルの問題点について、それを実行するコンピュータの「CPUと記憶装置と、その2つをつなぐバス」という構成の影響を受けすぎており、この隘路(ボトルネック)の交通整理をすることがプログラミングになってしまっている、と主張した際に命名された。