冯诺依曼体系结构

冯诺依曼体系结构
内容概述
冯·诺依曼体系结构冯·诺依曼理论的要点是:数字计算机的数制采用二进制;计算机应该按照程序顺序执行。 人们把冯·诺依曼的这个理论称为冯·诺依曼体系结构。从ENIAC到当前最先进的计算机都采用的是冯·诺依曼体系结构。所以冯·诺依曼是当之无愧的数字计算机之父。
根据冯·诺依曼体系结构构成的计算机,必须具有如下功能:把需要的程序和数据送至计算机中。必须具有长期记忆程序、数据、中间结果及最终运算结果的能力。能够完成各种算术、逻辑运算和数据传送等数据加工处理的能力。能够根据需要控制程序走向,并能根据指令控制机器的各部件协调操作。能够按照要求将处理结果输出给用户。
为了完成上述的功能,计算机必须具备五大基本组成部件,包括:输入数据和程序的输入设备、记忆程序和数据的存储器、完成数据加工处理的运算器、控制程序执行的控制器、输出处理结果的输出设备。
.诺依曼体系结构对计算机发展的限制
从计算机诞生那天起,冯.诺依曼体系结构占据着主导地位,几十年来计算机体系结构理论并没有新理论出现。随着计算机应用范围的迅速扩大,使用计算机解决的问题规模也越来越大,因此对计算机运算速度的要求也越来越高。而改进计算机的体系结构是提高计算机速度的重要途径,从而促进了计算机体系结构的发展,出现了诸如数据流结构、并行逻辑结构、归约结构等新的非冯诺依曼体系结构。
冯·诺依曼体系结构
.诺依曼体系结构是现代计算机的基础,现在大多计算机仍是冯.诺依曼计算机的组织结构,只是作了一些改进而已,并没有从根本上突破冯体系结构的束缚。冯.诺依曼也因此被人们称为“计算机之父”。然而由于传统冯.诺依曼计算机体系结构天然所具有的局限性,从根本上限制了计算机的发展。
马英林
(1)采用存储程序方式,指令和数据不加区别混合存储在同一个存储器中,(数据和程序在内存中是没有区别的,它们都是内存中的数据,EIP指针指向哪 CPU就加载那段内存中的数
,如果是不正确的指令格式,CPU就会发生错误中断. 在现在CPU的保护模式中,每个内存段都其描述符,这个描述符记录着这个内存段的访问权限(可读,可写,可执行).这最就变相的指定了哪个些内存中存储的是指令哪些是数据)
指令和数据都可以送到运算器进行运算,即由指令组成的程序是可以修改的。
(2)存储器是按地址访问的线性编址的一维结构,每个单元的位数是固定的。
(3)指令由操作码和地址组成。操作码指明本指令的操作类型,地址码指明操作数和地址。操作数本身无数据类型的标志,它的数据类型由操作码确定。
(4)通过执行指令直接发出控制信号控制计算机的操作。指令在存储器中按其执行顺序存放,由指令计数器指明要执行的指令所在的单元地址。指令计数器只有一个,一般按顺序递增,但执行顺序可按运算结果或当时的外界条件而改变。
杭州市城市总体规划
(5)以运算器为中心,I/O设备与存储器间的数据传送都要经过运算器。
(6)数据以二进制表示。
从本质上讲,冯.诺依曼体系结构的本征属性就是二个一维性,即一维的计算模型和一维的存储模型,简单地说“存储程序”是不确切的。而正是这二个一维性,成就了现代计算机的辉煌,也限制了计算机的进一步的发展,真可谓“成也冯,败也冯”。车轮上的中国
重奖
冯·诺依曼计算机的软件和硬件完全分离,适用于作数值计算。这种计算机的机器语言同高级语言在语义上存在很大的间隔,称之为冯.依曼语义间隔。造成这个差距的其中一个重要原因就是存储器组织方式不同,冯·诺依曼机存储器是一维的线性排列的单元,按顺序排列的地址访问。而高级语言表示的存储器则是一组有名字的变量,按名字调用变量,不考虑访问方法,而且数据结构经常是多维的(如数组,表格)。另外,在大多数高级语言中,数据和指令截然不同,并无指令可以像数据一样进行运算操作的概念。同时,高级语言中的每种操作对于任何数据类型都是通用的,数据类型属于数据本身,而冯.诺依曼机的数据本身没有属性标志,同一种操作要用不同的操作码来对数据加以区分。这些因素导致了语义的差距。如何消除如此大的语义间隔,这成了计算机面临的一大难题和发展障碍。
.诺依曼体系结构的局限严重束缚了现代计算机的进一步发展,而非数值处理应用领域对计算机性能的要求越来越高,这就亟待需要突破传统计算机体系结构的框架,寻求新的体
系结构来解决实际应用问题。目前在体系结构方面已经有了重大的变化和改进,如文章开头提到的并行计算机、数据流计算机以及量子计算机、 DNA计算机等非冯计算机,它们部分或完全不同于传统的冯.诺依曼型计算机,很大程度上提高了计算机的计算性能。
非诺依曼化
必须看到,传统的冯·诺依曼型计算机从本质上讲是采取串行顺序处理的工作机制,即使有关数据巳经准备好,也必须逐条执行指令序列。而提高计算机性能的根本方向之一是并行处理。因此,近年来人们谋求突破传统冯·诺依曼体制的束缚,这种努力被称为非诺依曼化。对所谓非诺依曼化的探讨仍在争议中,一般认为它表现在以下三个方面的努力。
1)在冯·诺依曼体制范畴内,对传统冯·诺依曼机进行改造,如采用多个处理部件形成流水处理,依靠时间上的重叠提高处理效率;又如组成阵列机结构,形成单指令流多数据流,提高处理速度。这些方向已比较成熟,成为标准结构;
2)用多个冯·诺依曼机组成多机系统,支持并行算法结构。这方面的研究目前比较活跃;
3)从根本上改变冯·诺依曼机的控制流驱动方式。例如,采用数据流驱动工作方式的数据流计算机,只要数据已经准备好,有关的指令就可并行地执行。这是真正非诺依曼化的计算机,它为并行处理开辟了新的前景,但由于控制的复杂性,仍处于实验探索之中。
我们看一下这个结构图:
冯诺依曼体系结构图
在看一下他的意思
冯·诺依曼设计思想可以简要地概括为以下三点:
1)计算机应包括运算器、存储器、控制器、输入和输出设备五大基本部件。
2)计算机内部应采用二进制来表示指令和数据。每条指令一般具有一个操作码和一个地址码。其中操作码表示运算性质,地址码指出操作数在存储器中的地址。
3)采用存储程序方式。将编好的程序送人内存储器中,然后启动计算机工作,计算机勿需操作人员干预,能自动逐条取出指令和执行指令。
从以上三条可以看出,以前所有的讨论都是针对冯.诺依曼设计思想论述的,不过没有明确指出其人罢了。冯.诺依曼设计思想最重要之处在于明确地提出了“程序存储”的概念,他的全部设计思想实际上是对“程序存储”概念的具体化。
2、计算机的工作过程
了解了“程序存储”,再去理解计算机工作过程变得十分容易。如果想叫计算机工作,就得先把程序编出来,然后通过输人设备送到存储器中保存起杂,即程序存储。接来就是执行程序的问题了。根据冯.诺依曼的设计,计算机应能自动执行程序,而执行程序又归结为逐条执行指令:
1)取出指令:从存储器某个地址中取出要执行的指令送到 CPU 内部的指令寄存器暂存;
2)分析指令:把保存在指令寄存器中的指令送到指令寄存器,译出该指令对应的微操作;
3)执行指令:根据招令译码器向各个部件发出相应控制信号,完成指令规定的操作;为执行下一条指令做好准备,即形成下一条指令地址;
4)为执行下一条指令做好准备,即形成下一条指令地址。
二、计算机的工作原理
计算机的基本工作原理是存储程序和程序控制,按照程序编排的顺序,一步一步地取出命令,自动地完成指令规定的操作。
1、预先把指挥计算机如何进行操作的指令序列(称为程序)和原始数据输入到计算机内存中,每一条指令中明确规定了计算机从哪个地址取数,进行什么操作,然后送到什么地方去等步骤。
2、计算机在运行时,先从内存中取出第1条指令,通过控制器的译码器接受指令的要求,再从存储器中取出数据进行指定的运算和逻辑操作等,然后再按地址把结果送到内存中去。接下来,取出第2条指令,在控制器的指挥下完成规定操作,依此进行下去,直到遇到停止指令。
3、计算机中基本上有两股信息在流动。一种是数据,即各种原始数据、中间结果和程序等。原始数据和程序要由输入设备输入并经运算器存于存储器中,最后结果由运算器通过输出设备输出。在运行过程中,数据从存储器读入运算器进行运算,中间结果也要存入存储器中。人们用机器自身所具有的指令编排的指令序列,即程序,也是以数据的形式由存储器送入控制器,再由控制器向机器的各个部分发出相应的控制信号。另一种信息是控制信息,它控制机器的各部件执行指令规定的各种操作。
哈佛结构简介
DSP算法中,最大量的工作之一是与存储器交换信息,这其中包括作为输入信号的采样数据、滤波器系数和程序指令。例如,如果将保存在存储器中的2个数相乘,就需要从存储器中取3个二进制数,即2个要乘的数和1个描述如何去做的程序指令。图〔a)显示了一个传
统的微处理器是如何做这项工作的。这被称为冯诺依曼结构,是以一位数学家的名字命名的。
诺依曼结构中,只有一个存储器,通过一条总线来传送数据。乘两个数至少需要3个指令周期,即通过总线将这3个数从存储器中送到CPU。所以这种结构在面对高速、实时处理时,不可避免地造成总线拥挤。为此,哈佛大学提出了与冯诺依曼结构完全不同的另一种计算机结构,人们习惯称之为哈佛结构,如图(b)所示。它根据数据和数据指令将存储器和总线分开。因此,总线操作是独立的,能同时取指令和数据,提高了速度。
目前DSP内部一般采用的是哈佛结构,它在片内至少有4套总线:程序的数据总线,程序的地址总线,数据的数据总线和数据的地址总线。这种分离的程序总线和数据总线,可允许同时获取指令字(来自程序存储器)和操作数(来自数据存储器),而互不干扰。这意味着在一个机器周期内可以同时准备好指令和操作数。有的DSP芯片内部还包含有其他总线,如DMA菲奥娜>气缸耗气量计算总线等,可实现单周期内完成更多的工作。这种多总线结构就好像在DSP内部架起了四通八达的高速公路,保障运算单元及时地取到需要的数据,提高运算速度。因此,对DSP来说,内部总线是个资源,总线越多,可以完成的功能就越复杂。
超级哈佛结构(super Harvard architecture,缩写为SHARC)如图(c)所示,它在哈佛结构上增加了指令cache(缓存)和专用的I/O控制器。
哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。哈佛结构是
哈佛结构

本文发布于:2024-09-23 06:36:10,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/75812.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议