James Bryant

【转】探究哈佛架构与冯·诺依曼架构

0
阅读(1503)

哈佛架构与冯·诺依曼架构都是一种存储器结构,主要区别在于指令与数据是否共享总线。独立总线效率高,共享总线结构简单,成本低。现代处理器的设计一般都使用两种架构结合的方法。在CPU内部,使用哈佛架构,通过独立的指令cache和数据cache,可以有效地提高指令的执行效率。而在外部,采用Neumann,可以减少总线资源的分配,将内存的配置减半,简化结构的同时降低成本。最典型的设计方案就是改进的哈佛结构(Modified Harvard architecture)。


哈佛架构(Harvard architecture)

原理
        将程序指令储存和数据储存分开,中央处理器首先到程序指令储存器中读取程序指令内容,解码后得到数据地址,再到相应的数据储存器中读取数据,并进行下一步的操作(通常是执行)。
特点
        1. 其程序指令和数据指令分开组织和储存的,数据和指令的储存可以同时进行,执行时又可以预先读取下一条指令,具有较高的效率。
        2. 指令和数据可以采用不同的总线宽度,指令可放在只读存储器中,数据放在读写存储器中。

冯·诺伊曼架构(von Neumann architecture)

原理
        程序只是一种(特殊)数据,可以像数据一样被处理,因此可以被放在同一个存储器中。
特点
        数据总线和地址总线分时复用。    

动态对比图


1. 哈佛架构