为什么电脑还沿用冯·诺伊曼结构而不使用哈佛结构?
电脑版 2020-11-29 20:14
为什么电脑还沿用冯·诺伊曼结构而不使用哈佛结构?:现在的电脑,宏观上看起来还是冯洛伊曼架构,微观上看已经是哈佛架构,或者是两者的混合体。冯洛伊曼架构将
现在的电脑,宏观上看起来还是冯洛伊曼架构,微观上看已经是哈佛架构,或者是两者的混合体。
冯洛伊曼架构将代码和数据放在同一个存储器中。而哈佛架构的代码和数据是分别放在不同的存储器里。
目前个人计算机的处理器和内存还是分开的,程序和数据都放在统一编址的内存里,因此可以认为属于冯洛伊曼架构。
但是在cpu内部,从内存取得的数据和指令会被分开放入各自的缓冲队列(高速存储器),拥有各自的缓存和控制单元,因此更符合哈佛架构的描述。
还有两者之间的混搭,比如数据和指令使用统一编址的地址总线,却拥有各自的数据总线等等。因此现代处理器已经不能简单地用冯洛伊曼或者哈佛架构描述了。
2现代编码,很多时候哈哈弗结构是无法完成优化工作的,比如java,js,c#,lua等等的语言都带有部分jit的功能,就是内存中直接生成可执行的代码,如果按照哈弗结构的话,这些通过数据生成的可执行代码依旧会保存在数据的内存bank里,是不具有可执行权限的。传统的哈弗结构定义里,通常可执行代码段的bank会是一个只读的内存区域,确保代码的稳定性和安全性。这个在军工领域很有意义。但是到民用阶段和资本领域考量的话,反而就不值得这么做了,如果可执行代码段是可写的话,那么哈弗结构和冯诺依曼结构就没什么区别了。所以在民用领域,哈弗结构不流行的原因就是不够灵活,资源利用率不够,无法发挥出硬件和数据100%的能力。
3其实已经没什么区别,哈佛结构有程序和数据两个存储访问接口,现在这两都是连在内存接口上
4始终没有逃脱存储式计算
分享
2021-12-31 10:10:13
2021-12-30 14:05:11
2021-12-29 14:42:56
2021-02-19 09:25:20
2021-02-08 13:56:28