2つのアーキテクチャの違いは、ハーバードアーキテクチャの命令とデータの分離であることを理解しています。しかし、どのタイプのシステムを使用しているかをどのようにして知ることができますか?システムがフォン・ノイマンかハーバードかを決定するようなプログラムを書くことは可能ですか?別のアーキテクチャがありますか、またはこれらのアーキテクチャのみが知られていますか?
2つのアーキテクチャの違いは、ハーバードアーキテクチャの命令とデータの分離であることを理解しています。しかし、どのタイプのシステムを使用しているかをどのようにして知ることができますか?システムがフォン・ノイマンかハーバードかを決定するようなプログラムを書くことは可能ですか?別のアーキテクチャがありますか、またはこれらのアーキテクチャのみが知られていますか?
回答:
お使いのコンピューターはフォンノイマンマシンです。 すべての汎用コンピューターがあります。唯一の例外は、GPUなどの特殊なコプロセッサーです。ハーバードマシン(またはその他のアーキテクチャ)を使用できないわけではありません。誰もそれらを構築しない、特に非売品だ(モジュロコプロセッサ、もちろん)。
現在のほとんどの汎用CPUは、Modified Harvard Architectureを使用しています。CPUコアは、個別のL1キャッシュでプログラムとデータに個別にアクセスできます。外部には、個別のプログラムメモリとデータメモリはありません(他のキャッシュレベルも分離されていません)。
別のアーキテクチャがありますか、またはこれらのアーキテクチャのみが知られていますか?
他のすべてのアーキテクチャは、使用がかなり制限されています。プロセッサの開発に伴う極端な複雑さとコストのために、誰も再び真剣に試すとは思わない。
ただし、最新のCPUは基本的にフォンノイマンですが、内部にはDataflow Architectureなどの多くのアイデアが組み込まれています。