区别是地址空间和数据空间分开与否
冯诺依曼结构数据空间和地址空间不分开
哈佛结构数据空间和地址空间是分开的
1.哈佛结构处理器有两个明显的特点:
使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存;
使用独立的两条总线,分别作为CPU与每个存储器之间的专用通信路径,而这两条总线之间毫无关联。
改进的哈佛结构,其结构特点为:
使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存,以便实现并行处理;
具有一条独立的地址总线和一条独立的数据总线,利用公用地址总线访问两个存储模块(程序存储模块和数据存储模块),公用数据总线则被用来完成程序存储模块或数据存储模块与CPU之间的数据传输;
2.普林斯顿结构,也称冯·诺伊曼结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的8086中央处理器的程序指令和数据都是16位宽。
目前使用冯·诺伊曼结构的中央处理器和微控制器有很多。除了上面提到的英特尔公司的8086,英特尔公司的其他中央处理器、安谋公司的ARM7、MIPS公司的MIPS处理器也采用了冯·诺伊曼结构。
一般DSP都是采用改进型哈佛结构,就是分开的数据空间和地址空间都不只是一条,而是有 多条,这根据不同的生产厂商的DSP芯片有所不同。 在对外寻址方面从逻辑上来说也是一样,因为外部引脚的原因,一般来说都是通过相应的 空间选取来实现的。本质上是同样的道理。 DSP肯定是改进型哈佛结构了,我们用起来也感觉很爽。但是光用分开的数据空间和程序空 间来区分这两种结构,我感觉不是很严格。单片机也是分开的数据空间和程序空间,它算 不算哈佛结构?ARM7同样是分开的数据空间和程序空间,它又算不算哈佛结构?ARM核到了 ARM9才采用了真正的哈佛结构。
评论