- 浏览: 75496 次
- 性别:
- 来自: 北京
原文地址:http://hi.baidu.com/showmewhat/blog/item/546e66f238e1ce58352accba.html
老师我已经知道对采用这两种结构的处理器而言,二者的区别是冯诺伊曼结构的程序空间(地址空间)和数据空间不分开,而哈佛结构的程序空间分开。
但是我不清楚的是:采用冯诺伊曼结构的处理器可以承担起个人电脑CPU的责任,那么采用哈佛结构的处理器呢??它是否可以作为个人电脑的CPU呢?
哈佛结构强调了总体的系统速度以及通讯和处理器配置方面的灵活性,重在对效率的要求,似乎从这点就可以看到冯诺伊曼的局限性及不足,但为什么当前的计算机采用冯诺伊曼结构?是从成本上的考虑吗?或是在于哈佛结构应用于个人计算机的复杂性?
老师:
冯.诺伊曼结构
1945年,冯.诺伊曼首先提出了“存储程序”的概念和二进制原理,后来,人们把利用这种概念和原理设计的电子计算机系统统称为“冯.诺伊曼型结构”计算机。冯.诺伊曼结构的处理器使用同一个存储器,经由同一个总线传输,如下图所示:
图 冯.诺伊曼结构
冯.诺伊曼结构处理器具有以下几个特点:
必须有一个存储器;
必须有一个控制器;
必须有一个运算器,用于完成算术运算和逻辑运算;
必须有输入和输出设备,用于进行人机通信。
冯.诺伊曼的主要贡献就是提出并实现了“存储程序”的概念。由于指令和数据都是二进制码,指令和操作数的地址又密切相关,因此,当初选择这种结构是自然的。但是,这种指令和数据共享同一总线的结构,使得信息流的传输成为限制计算机性能的瓶颈,影响了数据处理速度的提高。
在典型情况下,完成一条指令需要3个步骤,即:取指令、指令译码和执行指令。从指令流的定时关系也可看出冯.诺伊曼结构与哈佛结构处理方式的差别。举一个最简单的对存储器进行读写操作的指令,如下图所示,指令1至指令3均为存、取数指令,对冯.诺伊曼结构处理器,由于取指令和存取数据要从同一个存储空间存取,经由同一总线传输,因而它们无法重叠执行,只有一个完成后再进行下一个。
图 冯.诺曼结构处理器指令流的定时关系示意图
哈佛结构
数字信号处理一般需要较大的运算量和较高的运算速度,为了提高数据吞吐量,在数字信号处理器中大多采用哈佛结构,如下图所示
图 哈佛结构
与冯.诺伊曼结构处理器比较,哈佛结构处理器有两个明显的特点:
使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存;
使用独立的两条总线,分别作为CPU与每个存储器之间的专用通信路径,而这两条总线之间毫无关联。
后来,又提出了改进的哈佛结构,如下图所示
图 改进型哈佛结构
其结构特点为:
使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存,以便实现并行处理;
具有一条独立的地址总线和一条独立的数据总线,利用公用地址总线访问两个存储模块(程序存储模块和数据存储模块),公用数据总线则被用来完成程序存储模块或数据存储模块与CPU之间的数据传输;
两条总线由程序存储器和数据存储器分时共用。
在典型情况下,完成一条指令需要3个步骤,即:取指令、指令译码和执行指令。从指令流的定时关系也可看出冯.诺伊曼结构与哈佛结构处理方式的差别。举一个最简单的对存储器进行读写操作的指令,如下图所示,指令1至指令3均为存、取数指令,对冯.诺伊曼结构处理器,由于取指令和存取数据要从同一个存储空间存取,经由同一总线传输,因而它们无法重叠执行,只有一个完成后再进行下一个。
图 冯.诺曼结构处理器指令流的定时关系示意图
如果采用哈佛结构处理以上同样的3条存取数指令,如下图所示,由于取指令和存取数据分别经由不同的存储空间和不同的总线,使得各条指令可以重叠执行,这样,也就克服了数据流传输的瓶颈,提高了运算速度。
哈佛结构强调了总的系统速度以及通讯和处理器配置方面的灵活性。
图 哈佛结构处理器指令流的定时关系示意图
------------------------------------------------------------------------------
总得来说,哈佛机构的高性能体现在在单片机、DSP芯片平台上运行的程序种类和花样较少,因为各个电子娱乐产品中的软件升级比较少,应用程序可以用汇编作为内核,最高效率的利用流水线技术,获得最高的效率。
冯诺依曼结构主要是基于电脑购买者对电脑的使用途径不同----各种娱乐型用户、各种专业开发用户等,且安装的软件的种类繁多,升级频繁,多种软件同时运行时处理的优先级比较模糊,因特尔芯片不具备彻底智能分配各程序优先级和流水线的机制,机械的分配优先和流水线反而容易使用户不便。
比如,你使用电脑过程中对暴风影音播放器的使用中,有时希望它最快打开,有时希望它的打开实在打开浏览器之后,因此人对个人电脑的软件使用习惯是很不同的。从而,致力于提高主频和缓存的冯诺依曼结构才是PC的最佳选择。
总结
体系结构与采用的独立与否的总线无关,与指令空间和数据空间的分开独立与否有关。51单片机虽然数据指令存储区是分开的,但总线是分时复用得,所以属于改进型的哈佛结构。ARM9虽然是哈佛结构,但是之前的版本(例如ARM7)也还是冯.诺依曼结构。早期的X86能迅速占有市场,一条很重要的原因,正是靠了冯.诺依曼这种实现简单,成本低的总线结构。现在的处理器虽然外部总线上看是诺依曼结构的,但是由于内部CACHE的存在,因此实际上内部来看已经 类似 改进型哈佛结构的了。至于优缺点,哈佛结构就是复杂,对外围设备的连接与处理要求高,十分不适合外围存储器的扩展。所以早期通用CPU难以采用这种结构。而单片机,由于内部集成了所需的存储器,所以采用哈佛结构也未尝不可。现在的处理器,依托CACHE的存在,已经很好的将二者统一起来了。
发表评论
-
排序算法---计数排序
2011-11-27 14:57 611#include <stdio.h> vo ... -
排序算法---归并排序
2011-11-26 19:33 748#include <stdio.h> vo ... -
排序算法---交换排序(冒泡排序、快速排序)
2011-11-26 19:32 702#include <stdio.h> vo ... -
排序算法---选择排序(简单插入排序、堆排序)
2011-11-26 19:31 649#include <stdio.h> vo ... -
排序算法---插入排序(简单排序、shell排序)
2011-11-26 19:29 650#include <stdio.h> vo ... -
删除字符串中的特定字符和重复字符
2011-11-26 13:45 666#include <stdio.h> vo ... -
Linux编程-多线程、同步和互斥(转载)
2011-11-14 15:27 1209http://www.cnblogs.com/skynet/a ... -
寻找字符串中的最大数字子串
2011-09-22 17:17 1523#include <stdio.h> int f ... -
删除子字符串
2011-09-21 15:27 604#include <stdio.h> #incl ... -
c语言随机数
2011-09-18 17:15 687#include <stdio.h> #i ... -
带头结点有序单链表的合并
2011-09-08 14:21 1186typedef int Item; typedef s ... -
链表逆序的递归/非递归算法
2011-09-01 23:37 1412/** *链表逆序的递归/非递归算法 */ # ... -
递归算法---字符串---全/部分组合和全排列
2011-08-30 23:01 1222#include <stdio.h> #i ... -
递归算法---0-1背包问题(面试宝典)
2011-08-28 21:11 1901/** *正整数n,m,从数列1、2、3、...、n中随 ... -
递归算法---字符串全组合(面试宝典)
2011-08-28 17:24 1257/** *求一字符串所有字串的组合 */ #i ... -
递归算法---求解多元一次方程
2011-08-28 10:38 1898/** * 求解x1+x2+x3+...+x10 = ... -
(zz)关于类的sizeof
2011-08-27 18:16 589http://blog.sina.com.cn/s/blog_ ... -
(zz)结构体字节对齐原则
2011-08-27 17:53 1579结构体默认的字节对齐一般满足三个准则: 结构体变量的首 ... -
list.h from linux-2.4
2011-08-25 09:59 607#ifndef _LIST_H_ #define _L ... -
The C Programming Lang (K&R) hash table
2011-08-25 09:52 936hash.h #include <stdio.h ...
相关推荐
哈佛结构和冯诺依曼结构对比分析 在计算机架构中,哈佛结构和冯诺依曼结构是两种最基本的存储器结构。它们的设计理念和实现方式不同,影响着计算机的性能和功能。本文将对哈佛结构和冯诺依曼结构进行对比分析,探讨...
冯诺依曼型计算机以存储程序原理为基础,指令与数据混合存储,程序执行时,CPU在程序计数器的指引下,线性顺序地读取下一条指令和数据,以运算器为中心,这就注定了其本质特点是线性或是串行性。所以我认为冯诺依曼...
计算机基础原理是理解信息技术核心的基石,而冯·诺依曼结构则是现代计算机设计的核心理念。这篇文章详细介绍了从计算机的基本单位——字节和进制,到计算机硬件的组成,再到冯·诺依曼体系结构的基本思想,为初学者...
本文对冯•诺依曼结构与哈佛结构进行了详细的介绍,对比了二者的区别,适合那些对此二者概念分不太清楚的同学
冯·诺依曼结构和哈佛结构是计算机体系结构的两种典型设计,它们决定了计算机如何存储和处理数据和指令。 冯·诺依曼结构,又称为普林斯顿结构,是由科学家约翰·冯·诺依曼提出的。在这个结构中,数据和指令共同...
冯诺依曼结构和哈佛结构作为两种主要的计算机架构,各自在现代计算机系统中扮演着不同的角色。在比较这两种结构之前,我们首先了解它们各自的基本原理和特点。 冯诺依曼结构是计算机科学的奠基人之一,约翰·冯·...
冯·诺依曼结构和哈佛结构是计算机体系结构的两种主要类型,它们决定了计算机如何存储和处理数据和指令。 冯·诺依曼结构,又称为普林斯顿结构,是由美籍匈牙利科学家约翰·冯·诺依曼提出的。在这个结构中,数据和...
4. **统一的数据路径**:冯·诺依曼结构下的计算机使用单一的总线来传输指令和数据,这与后来的哈佛结构有所不同。 #### 功能概述 基于冯·诺依曼结构的计算机具有以下主要功能: - **数据处理**:执行基本的算术...
哈佛结构和冯诺依曼结构的区别 哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步...
**冯诺依曼结构与哈佛结构的区别**: 1. **存储器分离**:哈佛结构将指令和数据分开存储,而冯诺依曼结构将它们合并在一个存储器中。 2. **总线结构**:哈佛结构有独立的指令总线和数据总线,冯诺依曼结构只有一个...
关于51单片机的内部架构究竟是冯·诺伊曼结构还是哈佛结构这一问题,一直存在一定的争议。本文将结合提供的材料以及专业知识,对51单片机的结构进行深入分析。 #### 二、冯·诺伊曼结构与哈佛结构的基本概念 **1. ...
冯_诺依曼计算机.pdf
冯·诺依曼体系结构.png
总体而言,冯诺依曼结构与哈佛结构各有优势与不足,它们在不同领域的应用根据实际需求有所取舍。冯诺依曼结构由于其简化的设计和较低成本,广泛应用于通用计算机系统,而哈佛结构则因其优越的性能,在对速度和效率...
尽管有一些观点认为51单片机因为地址线复用而被误认为是冯·诺依曼结构,但实际上,这两种结构的核心区别在于存储器的组织方式。 冯·诺依曼结构,也称为普林斯顿结构,是计算机科学中最基础的架构之一。在这种结构...
### 哈佛结构与冯·诺依曼结构的比较与区别 在计算机科学领域,中央处理器(CPU)的设计架构主要分为两种:哈佛结构和冯·诺依曼结构。这两种结构各自代表了不同的设计理念和应用场合,对于理解现代计算机系统的...
冯·诺依曼体系结构是计算机科学中的一个基础概念,由数学家和物理学家约翰·冯·诺依曼提出,这种架构定义了现代计算机的基本设计原则。冯·诺依曼体系结构模拟通常用于理解和教学计算机的工作原理。在这个文档中,...
※ 冯·诺依曼体系结构模拟