社会热点

为什么电脑还沿用冯·诺伊曼结构而不使用哈佛结构?

电脑版   2020-11-29 20:14  

为什么电脑还沿用冯·诺伊曼结构而不使用哈佛结构?:现在的电脑,宏观上看起来还是冯洛伊曼架构,微观上看已经是哈佛架构,或者是两者的混合体。冯洛伊曼架构将

1

现在的电脑,宏观上看起来还是冯洛伊曼架构,微观上看已经是哈佛架构,或者是两者的混合体。

冯洛伊曼架构将代码和数据放在同一个存储器中。而哈佛架构的代码和数据是分别放在不同的存储器里。

目前个人计算机的处理器和内存还是分开的,程序和数据都放在统一编址的内存里,因此可以认为属于冯洛伊曼架构。

但是在cpu内部,从内存取得的数据和指令会被分开放入各自的缓冲队列(高速存储器),拥有各自的缓存和控制单元,因此更符合哈佛架构的描述。

还有两者之间的混搭,比如数据和指令使用统一编址的地址总线,却拥有各自的数据总线等等。因此现代处理器已经不能简单地用冯洛伊曼或者哈佛架构描述了。

2

现代编码,很多时候哈哈弗结构是无法完成优化工作的,比如java,js,c#,lua等等的语言都带有部分jit的功能,就是内存中直接生成可执行的代码,如果按照哈弗结构的话,这些通过数据生成的可执行代码依旧会保存在数据的内存bank里,是不具有可执行权限的。传统的哈弗结构定义里,通常可执行代码段的bank会是一个只读的内存区域,确保代码的稳定性和安全性。这个在军工领域很有意义。但是到民用阶段和资本领域考量的话,反而就不值得这么做了,如果可执行代码段是可写的话,那么哈弗结构和冯诺依曼结构就没什么区别了。所以在民用领域,哈弗结构不流行的原因就是不够灵活,资源利用率不够,无法发挥出硬件和数据100%的能力。

3

其实已经没什么区别,哈佛结构有程序和数据两个存储访问接口,现在这两都是连在内存接口上

4

始终没有逃脱存储式计算

本文版权归原作者所有,如需商业用途或转载请与原作者联系。

分享

相关信息