我们的老师告诉我们,哈佛架构是当今和未来发展最快的架构。但我认为,由于 x86 和基于冯·诺依曼的 ARM 系统的大量开销,冯·诺依曼实际上是当今使用最多的架构。
是的,哈佛 MCU 产量更大,但由于它们的用途都比较小(与 x86 和 ARM 相比),所以冯·诺依曼才是真正的 MCU。或者真的是哈佛?
其次,我知道这个问题很奇怪,但是否存在将两者结合起来的架构?将数据和程序分开存放,从而加快指令处理速度,但仍然能够像冯·诺依曼那样处理这些?能够动态地将程序加载和卸载到程序内存中?这难道不是 x86 应该走的路吗?或者会存在一些纯冯·诺依曼可以解决的瓶颈?谢谢。
答案1
x86 是两者的结合。如果你看一下现代处理器的 L1 缓存,你会注意到数据和指令有单独的缓存。另外,在 Wikipedia 上搜索一下 x86。你会发现,现代 x86 处理器实际上并不是 x86。它们通过将 x86 指令转换为自己的内部微代码来模拟 x86 处理器。事实上,在英特尔的一些处理器上,可以在系统运行时更改微代码。
至于哪个产量更大,我认为是哈佛,主要是因为 PIC 和类似的微控制器。据我所知,冯·诺依曼更容易编程,因此经常看到哈佛处理器(如 x86 和一些 PIC)在内部以冯·诺依曼的形式出现在世人面前。