计算机体系结构:冯诺依曼架构和哈佛架构
计算机体系结构有冯 · 诺依曼(普林斯顿)架构、哈佛架构两种
两者的区别:
指令和数据的保存方式不同
冯诺依曼架构:
指令和数据存放在一起,共用一个存储器,自然也共用一条总线
这种架构的运行效率相对较低,但结构简单,在工程上容易实现
哈佛架构:
指令和数据有各自的存储器,不同的存储器独立编址,有独立的数据总线,在同一时间可以同时访问
这种架构运行效率高,但实现起来也更加复杂
混合架构:
现在的芯片设计同时具备冯诺依曼架构和哈佛架构的优点,是很难定义具体属于哪一种架构的混合架构
(在了解这一点之前首先要知道CPU、Cache、和RAM的关系)
芯片内部通常使用哈佛架构,既指令和数据有各自的存储器,不同的Cache(缓存),CPU通过不同的总线访问指令Cache和数据Cache
而芯片外部使用冯诺依曼结构,既指令和数据在芯片外部共用一个存储器,都放在同一个RAM里
注意:
两种架构的区别在于指令和数据的保存方式不同,共用储存or独立储存
而不是通信总线的多少,在混合架构中,RAM和Cache之间也是双总线的,而RAM和外部存储设备,如Flash则是单总线通信。