首页 > 代码库 > 重新认识哈佛结构和冯诺依曼结构

重新认识哈佛结构和冯诺依曼结构

http://www.cnblogs.com/amanlikethis/p/3344558.html

    哈佛结构和冯诺依曼结构都是针对于处理器来说的,比如说ARM9、Cortex A8是哈佛结构的,和集成在芯片内部的其他外设是没有关系的。
    哈佛结构和冯诺依曼结构的主要区别就是处理器能不能实现取指和取数据的并发进行
 
经典的哈佛结构:
    程序存储器和数据存储器是各自独立的存储器。处理器应该有两套总线,一套是程序存储器的数据和地址总线,一套是数据存储器的数据和地址总线。取指和取数据能并发进行。
冯诺依曼结构:
    没有程序存储空间和数据存储空间之分。处理器只有一套总线,取指和取数据是不能同时进行的。
改进型哈佛结构:
    程序存储器和数据存储器是各自独立的存储器。处理器只有一套总线,分时访问程序存储器和数据存储器,但是在处理器中有icache和dcache将程序和数据分开(冯诺依曼结构中没有dcache和icache),所以处理器仍然可以并步执行取指和取数据。从这点看处理器仍然属于哈佛结构。从ARM9开始以后所有的ARM处理器内核都是改进型的哈佛结构。
 
    在ARM中,程序是放在程序存储器Flash中的,数据存放在RAM中的。程序的运行地方有两种选择,一种是直接在Nor flash中运行,另外一种是在RAM中运行以提高运行速度。即使程序在RAM中运行,和数据存在同一介质中,但是在处理器中仍然可以通过icache和dcache来分开程序和数据。

重新认识哈佛结构和冯诺依曼结构