11

パーソナル コンピュータを設計する際に、なぜフォン ノイマン アーキテクチャに基づくコンピュータ アーキテクチャがハーバード アーキテクチャよりも好まれるのか。ハーバード アーキテクチャは、マイクロコンピュータ ベースのコンピュータ システムと DSP ベースのコンピュータ システムの設計に使用されますか?

4

2 に答える 2

13

PC 用の最新の CPU 設計には、ハーバード要素とフォン ノイマン要素の両方があります (ただし、フォン ノイマン要素はもっとあります)。

L1 キャッシュを見ると、AMD、ARM、および Intel システムには、独立して並行してアクセスできる命令 L1 キャッシュとデータ L1 キャッシュがあることがわかります。それがハーバードの部分です。ただし、L2、L3、または DRAM では、データとコードが混在しています。それがフォン・ノイマンの部分です。

では、純粋なハーバード アーキテクチャが PC に採用されないのはなぜでしょうか? 意味がないというのが私の意見です。大多数のアプリケーションをプロファイリングすると、 L1 命令キャッシュのミス率が非常に小さいことがわかります。これは、通常、コード サイズは問題にならないことを意味します。したがって、コード用に完全に別のパスを設計することは意味がありません。データは非常に大きくなる可能性がありますが、コードは実際にはできません。

DSP では、別個のコードとデータ パスを使用することが理にかなっています。これは、DSP が主に「データのストリーミング」で動作するためです。つまり、キャッシュの必要性はかなり小さいということです。また、DSP コードには、コード サイズを大きくする事前計算された係数を含めることができます。したがって、データ サイズとコード サイズのバランスが取れているため、ハーバード アーキテクチャを使用することは理にかなっています。

于 2014-11-09T08:49:48.377 に答える
7

フォン ノイマン アーキテクチャとハーバード アーキテクチャの基本的な違いは、ハーバード アーキテクチャでは命令メモリがデータ メモリと異なるのに対し、フォン ノイマンでは同じであるということです。これは、PC (プログラムが格納され、データと同じ媒体 (通常はディスクや RAM) から読み取られる) とマイクロコントローラ (プログラムが不揮発性メモリに格納され、データが揮発性メモリに格納される) の実際の現実を反映しています。 )。

于 2014-11-09T08:11:58.997 に答える