2

Wikipedia のVon Neumann Architectureに関する記事を読むと、次のように書かれています。

この用語の意味は進化して、命令フェッチとデータ操作が共通のバスを共有しているため、同時に実行できないストアド プログラム コンピュータを意味するようになりました。これは、フォン ノイマン ボトルネックと呼ばれ、多くの場合、システムのパフォーマンスを制限します。

ここでは、フォン ノイマン アーキテクチャの用語が、命令フェッチとデータ操作が同じバスを必要とするという事実のために同時に発生できないという考えを指すようになったと述べています。

私の質問は、これは現代のコンピューターシステムでもまだ当てはまるのでしょうか? 命令をフェッチしてデータ操作を行うためのバスはまだ 1 つしかないのでしょうか (これは主にデータの読み取り/書き込みであると推測されます)。

4

1 に答える 1

4

最新のほとんどすべてのマシンは、命令とデータを同時にフェッチできます。通常、命令キャッシュとデータ キャッシュは別々です。

ただし、ほとんどの場合、ある時点で、命令とデータの両方がキャッシュを超えた同じ外部メモリに配置されます。通常は DRAM。

現代のマシンは、ハーバード (命令とデータが分離されており、フォン ノイマンの大きなライバル) キャッシュ アーキテクチャを備えていますが、フォン ノイマン (命令とデータが同じメモリ内にある) メモリ アーキテクチャを備えていると言う人もいるかもしれません。

共有バスに関するウィキペディアの記事の言及は偽物だと思います。コンピュータ アーキテクチャ/プロセッサ設計の分野で、フォン ノイマンは現在、プログラム カウンタ (PC) のアイデア、または Intel の用語である命令ポインタ (IP)、つまりプログラムを介したシーケンサに言及する傾向があります。一度に 1 つの命令を実行します。たとえば、プログラムカウンターの実際の概念がないデータフローマシンのようなものとは対照的です。ところで、私が取り組んできたような最新のアウトオブオーダー マイクロプロセッサは、内部的にはマイクロデータフロー マシンですが、プログラマーには単一のプログラム カウンターを備えたフォン ノイマン マシンのように見えます。

于 2012-04-26T06:03:29.767 に答える