哈佛结构和冯诺依曼结构

哈佛结构和冯诺依曼结构

冯·诺依曼结构

冯·诺依曼结构(von Neumann architecture)又称作普林斯顿体系结构(Princetion architecture)。冯·诺依曼结构的处理器使用同一个存储器,经由同一个总线传输。冯·诺依曼结构处理器具有以下几个特点:

  • 必须有一个存储器;
  • 必须有一个控制器;
  • 必须有一个运算器,用于完成算术运算和逻辑运算;
  • 必须有输入和输出设备,用于进行人机通信。

哈佛结构

哈佛结构是一种将程序指令存储数据存储分开的存储器结构,如下图所示。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度,如Microchip公司的PIC16芯片的程序指令是14位宽度,而数据是8位宽度。

哈佛体系结构框图

哈佛结构的微处理器通常具有较高的执行效率。其程序指令和数据指令分开组织和存储的,执行时可以预先读取下一条指令。

哈佛结构是指程序和数据空间独立的体系结构, 目的是为了减轻程序运行时的访存瓶颈。

哈佛结构能基本上解决取指和取数的冲突问题。

冯·诺依曼体系和哈佛总线体系的区别

二者的区别就是程序空间和数据空间是否是一体的。冯·诺依曼结构数据空间和地址空间不分开,哈佛结构数据空间和地址空间是分开的。

哈佛总线技术应用是以DSP和ARM为代表的。采用哈佛总线体系结构的芯片内部程序空间和数据空间是分开的,这就允许同时取指和取操作数,从而大大提高了运算能力。

DSP芯片硬件结构有冯·诺依曼结构和哈佛结构,两者区别是地址空间和数据空间分开与否。一般DSP都是采用改进型哈佛结构,就是分开的数据空间和地址空间都不只是一条,而是有多条,这根据不同的生产厂商的DSP芯片有所不同。在对外寻址方面从逻辑上来说也是一样,因为外部引脚的原因,一般来说都是通过相应的空间选取来实现的。本质上是同样的道理。

改进型的哈佛结构与哈佛体系结构差别

与冯.诺曼结构处理器比较,哈佛结构处理器有两个明显的特点:

(1).使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存;

(2).使用独立的两条总线,分别作为CPU与每个存储器之间的专用通信路径,而这两条总线之间毫无关联。

后来,又提出了改进的哈佛结构,其结构特点为:

(1).使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存;

(2).具有一条独立的地址总线和一条独立的数据总线,利用公用地址总线访问两个存储模块(程序存储模块和数据存储模块),公用数据总线则被用来完成程序存储模块或数据存储模块与CPU之间的数据传输;

(3).两条总线由程序存储器和数据存储器分时共用。


相关链接:

发布于 2019-10-10 12:25