计算机体系结构:冯诺依曼架构和哈佛架构

计算机体系结构有冯 · 诺依曼(普林斯顿)架构、哈佛架构两种

两者的区别:

指令和数据的保存方式不同

冯诺依曼架构:

指令和数据存放在一起,共用一个存储器,自然也共用一条总线

这种架构的运行效率相对较低,但结构简单,在工程上容易实现

哈佛架构:

指令和数据有各自的存储器,不同的存储器独立编址,有独立的数据总线,在同一时间可以同时访问

这种架构运行效率高,但实现起来也更加复杂

混合架构:

现在的芯片设计同时具备冯诺依曼架构和哈佛架构的优点,是很难定义具体属于哪一种架构的混合架构

(在了解这一点之前首先要知道CPU、Cache、和RAM的关系)

  1. 芯片内部通常使用哈佛架构,既指令和数据有各自的存储器,不同的Cache(缓存),CPU通过不同的总线访问指令Cache和数据Cache

  2. 而芯片外部使用冯诺依曼结构,既指令和数据在芯片外部共用一个存储器,都放在同一个RAM里

注意:

两种架构的区别在于指令和数据的保存方式不同,共用储存or独立储存

而不是通信总线的多少,在混合架构中,RAM和Cache之间也是双总线的,而RAM和外部存储设备,如Flash则是单总线通信。