冯▪▪▪▪诺依曼结构和哈佛结构一、冯▪▪▪▪诺依曼结构:1冯▪诺依曼结构,也称普林斯顿结构,是一种将程序指令存储器和数据指令存储器合并在一起并经由同一个总线传输的存储器结构。其结构如下图所示:2.冯▪诺依曼结构处理器具有以下几个特点:①必须有一个存储器;②必须有一个控制器;③必须有一个运算器,用于完成算术运算和逻辑运算;④必须有输入和输出设备,用于进行人机通信。3.在典型情况下,完成一条指令需要3个步骤,即:取指令、译码和执行。冯▪诺依曼结构的处理器对存储器进行读写操作的指令,如下图所示:由于冯▪诺依曼结构中取指令和存取数据要从同一个存储空间存取,而且由同一总线传输,所以它们无法重叠执行,只有一个完成后再进行下一个。这种指令和数据共享同一总线的结构,使得信息流的传输成为限制计算机性能的瓶颈,影响了数据处理速度的提高。为克服数据流传输的瓶颈,提高运算速度,人们开发出了较快运算速率,更高数据吞吐量的哈佛结构。二、哈佛结构1.哈佛结构是一种将程序指令存储和数据指令存储分开的存储器结构。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。其结构如下图所示:2..哈佛结构处理器与冯▪诺依曼结构处理器相比较有两个明显的特点:①使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存;②使用独立的两条总线,分别作为CPU与每个存储器之间的专用通信路径,而这两条总线之间毫无关联。3.哈佛结构的处理器对存储器进行读写操作的指令,如下图所示:通过上图可以看出如果采用哈佛结构,在处理相同的3条存取数指令的时候,各条指令可以重叠地执行,这样就克服了数据流传输过程中的瓶颈,提高了处理器的运算速度。三、哈佛结构和常见的冯▪▪▪▪诺依曼结构区别哈佛结构与冯▪诺依曼结构的最大区别在于冯▪诺依曼结构的计算机采用代码与数据的统一编址,而哈佛结构是独立编址的,代码空间与数据空间完全分开。由于编址的方式不同,所以冯▪诺依曼结构中的数据和代码位数必须相同,而哈佛结构中数据位数和编码位数就可以不同。冯▪诺依曼结构主要应用于通用计算机领域,由于通用计算机应用软件的多样性使得计算机要不断地变化所执行的代码的内容,并且频繁地对数据与代码占有的存储器进行重新分配,所以冯▪诺依曼结构的统一编址可以最大限度地利用资源。而且通用计算机运行的时候都是有人操作的,所以即使有时候数据指令和代码指令的存储位置出现差错也会及时的得到修正。哈佛结构主要应用于嵌入式计算机中,在嵌入式应用中,系统要执行的任务相对单一,程序一般是固化在硬件里。而且嵌入式计算机一般都是无人操作的,所以对于指令和代码的存储位置要求比较严格,不允许出现代码和指令的混乱,哈佛结构指令和代码的分开存储正好符合了其可靠性的要求。还有就是哈佛结构具有较高的总的系统速度以及通讯和处理器配置方面的灵活性。