先生は、ハーバード アーキテクチャは、現在および将来に向けて最も進化し、最も生産されているアーキテクチャであると教えてくれました。しかし、x86 およびフォン ノイマン ベースの ARM システムのオーバーヘッドが大きいため、実際にはフォン ノイマンが現在最も使用されているアーキテクチャであると私は考えています。
はい、ハーバード搭載の MCU はさらに多く生産されていますが、それらはすべて (x86 および ARM ベースと比較して) あまり用途がないため、実際にはフォン ノイマンが重要です。それとも、本当にハーバードなのでしょうか?
2 番目に、これは奇妙な質問だとは思いますが、両方を組み合わせたアーキテクチャは存在するのでしょうか。データとプログラムに別々のメモリを用意し、命令処理を高速化しながらも、これらをフォン ノイマンとして動作できるようにするのでしょうか。プログラムをプログラム メモリにオンザフライでロードおよびアンロードできるようにするのでしょうか。これは x86 が進むべき道ではないでしょうか。それとも、純粋なフォン ノイマンで解決できるボトルネックがあるのでしょうか。ありがとうございます。
答え1
x86 は、その両方を組み合わせたものです。最新のプロセッサの L1 キャッシュを見ると、データ用と命令用に別々のキャッシュがあることに気付くでしょう。また、x86 について Wikipedia で調べてみてください。最新の x86 プロセッサは実際には x86 ではありません。代わりに、x86 命令を独自の内部マイクロコードに変換することで、x86 プロセッサをエミュレートします。実際、Intel のプロセッサの一部では、システムの実行中にマイクロコードを変更することができます。
どちらがより多く生産されているかといえば、PIC や類似のマイクロコントローラのおかげで、ハーバード型だと思います。私が知る限り、フォン ノイマン型の方がプログラミングが簡単なので、内部的にはハーバード型プロセッサ (x86 や一部の PIC など) がフォン ノイマン型として世間に知られることは珍しくありません。