哈佛结构



哈佛架构cpu 哈弗架构_数据

哈佛

 

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

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


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

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

改进的哈佛结构,其结构特点为:
1、使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存,以便实现并行处理;
2、具有一条独立的地址总线和一条独立的数据总线,利用公用地址总线访问两个存储模块(程序存储模块和数据存储模块),公用数据总线则被用来完成程序存储模块或数据存储模块与CPU之间的数据传输;

哈佛结构的微处理器通常具有较高的执行效率。其程序指令和数据指令分开组织和储存的,执行时可以预先读取下一条指令。目前使用哈佛结构的中央处理器和微控制器有很多,除了上面提到的Microchip公司的PIC系列芯片,还有摩托罗拉公司的MC68系列、Zilog公司的Z8系列、ATMEL公司的AVR系列和安谋公司的ARM9、ARM10和ARM11。

冯·诺伊曼结构

哈佛架构cpu 哈弗架构_哈佛结构_02

 

von Neumann architecture),也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的电脑设计概念结构。本词描述的是一种实作通用图灵机的计算装置,以及一种相对于平行计算的序列式结构参考模型(referential model)。

本结构隐约指导了将储存装置与中央处理器分开的概念,因此依本结构设计出的计算机又称储存程式型电脑。

冯.诺曼结构处理器具有以下几个特点:

必须有一个存储器;

必须有一个控制器;

必须有一个运算器,用于完成算术运算和逻辑运算;

必须有输入和输出设备,用于进行人机通信。

发展

随着半导体工业的发展,很多东西可以集成到芯片内部。在芯片内部走线比在PCB外部走线成本要低出很多。

也就是说,哈佛结构很适合被设计到芯片内部。而冯诺依曼结构仍然存在于芯片外部。

于是乎,便出现了现在的冯诺依曼和哈佛结构并存的混合式结构:

哈佛架构cpu 哈弗架构_哈佛结构_03

 

这种结构就是目前ARM的结构,将两种结构扬其长,避其短。其中,芯片内部的cache,表示高速缓存(cache一词据说来自法语,难道cache是法国人发明的?哈哈。)Dcache用来缓存部分代码,icache用来缓存部分数据。只有需要改变时,cache才会到RAM中加载新的数据。所以大部分时间CPU都是通过哈佛结构和cache(高速缓存)通讯,这个速度是非常快的~~

这样在芯片外部,利用冯诺依曼结构,节省了外部的PCB走线资源。

在芯片内部,利用哈佛结构提高了CPU访问数据的速度。可谓是两全其美~~