计算机的工作原理:
计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下来,再取出第二条指令,在控制器的指挥下完成规定操作。依此进行下去。直至遇到停止指令。
程序与数据一样存贮,按程序编排的顺序,一步一步地取出指令,自动地完成指令规定的操作是计算机最基本的工作原理。
扩展资料:
计算机的特点
1、运算速度快:计算机内部电路组成,可以高速准确地完成各种算术运算。当今计算机系统的运算速度已达到每秒万亿次,微机也可达每秒亿次以上,使大量复杂的科学计算问题得以解决。
2、计算精确度高:科学技术的发展特别是尖端科学技术的发展,需要高度精确的计算。计算机控制的导弹之所以能准确地击中预定的目标,是与计算机的精确计算分不开的。
3、逻辑运算能力强:计算机不仅能进行精确计算,还具有逻辑运算功能,能对信息进行比较和判断。计算机能把参加运算的数据、程序以及中间结果和最后结果保存起来,并能根据判断的结果自动执行下一条指令以供用户随时调用。
4、存储容量大:计算机内部的存储器具有记忆特性,可以存储大量的信息,这些信息,不仅包括各类数据信息,还包括加工这些数据的程序。
5、自动化程度高:由于计算机具有存储记忆能力和逻辑判断能力,所以人们可以将预先编好的程序组纳入计算机内存,在程序控制下,计算机可以连续、自动地工作,不需要人的干预。
6、性价比高:几乎每家每户都会有电脑,越来越普遍化、大众化,21世纪电脑必将成为每家每户不可缺少的电器之一。
参考资料来源:百度百科-计算机原理
计算机基本工作原理
计算机系统概述
计算机系统包括硬件系统和软件系统两大部分。计算机通过执行程序而 运行,计算 机工作时软硬件协同工作,二者缺一不可。
硬件(Hardware)是构成计算机的物理装置,是看得见、摸得着的一些实实在在的 有形实体。一个计算机硬件系统,从功能级角度而言包五大功能部件:运算 器、控制器、存储器、输入设备和输出设备。
硬件是计算机能够运行的物质基础,计算机的性能,如运算速度、存储容量、计算 精度、可靠性等,很大程度上取决于硬件的配置。只有硬件而没有任何软件支持的计算机称为裸机。在裸机上只能运行机器语言程 序,使用很不方便,效率也低。
软件(Software)是指使计算机运行需要的程序、数据和有关的技术文档资料。软 件是计算机的灵魂,是发挥计算机功能的关键。有了软件,人们可以不必过多地去了解 机器本身的结构与原理,可以方便灵活地使用计算机。软件屏蔽了下层的具体计算机硬件,形成一台抽象的逻辑计算机(也称虚拟机),它在用户和计算机(硬件)之间架起了桥梁。
软件通常分为系统软件和应用软件两大类。系统软件是计算机制造者提供的使用和 管理计算机的软件,它包括操作系统、语言处理系统、常用服务程序等。应用软件是计 算机用户用计算机及其提供的各种系统软件开发的解决各种实际问题的软件。
一、要求掌握的知识要点
(1) 掌握十进制数、二进制数、十六进制数、八进制数以及它们之间的相互转换方法。
(2) 掌握二进制数的算术运算及逻辑运算的法则,数据在计算机中的表示方法。
(3) 掌握BCD码、ASCII码及汉字编码的概念。
(4) 熟悉中央处理单元CPU的组成及内部主要部件的功能。
二、知识点概述
(一) 计算机中数据的表示
计算机最主要的功能是处理信息,如处理数值、文字、声音、图形和图像等。在计算机内部,各种信息都必须经过数字化编码后才能被传送、存储和处理,因此,掌握信息编码的概念与处理技术是至关重要的。所谓编码,就是采用少量的基本符号,选用一定的组合原则,以表示大量复杂、多样的信息。基本符号的种类和这些符号的组合规则是一切信息编码的两大要素。例如,用10个阿拉伯数码表示数字,用26个英文字母表示英文词汇等,都是编码的典型例子。
1.进位计数制
在采用进位计数的数字系统中,如果只用r个基本符号(例如,O,1,2,…,r一1)表示数值,则称其为基r数制(Radix-r Number System),r称为该数制的基(Radix)。对于不同的数制,它们的共同特点是:
·每一种数制都有固定的符号集。例如,对于十进制数制,其符号有10个:0,1,2,…,9;对于二进制数制,其符号有两个:O和1。
·都使用位置表示法。即处于不同位置的数符所代表的值不同,且与它所在位置的权值有关。例如,十进制数1234.55可表示为
1234.55 = 1×103 + 2×102 + 3×101 + 4×100 + 5×10-1 + 5×10-2
可以看出,各种进位计数制中的权的值恰好是基数的某次幂。因此,对任何一种进位计数制表示的数都可以写成按权展开的多项式之和,即任意一个r进制数N可表示为
式中:Di是该数制采用的基本数符;ri是权;r是基数,不同的基数表示不同的进制数。表1-1所示的是计算机中常用的几种进制数。
表1-1 计算机中常用的几种进制数的表示
进位制 二进制 八进制 十进制 十六进制
规则 逢二进一 逢八进一 逢十进一 逢十六进一
基数 r = 2 r = 8 r = 10 r = 16
数符 O,1 O,1,2,…,7 O,1,2,…,9 O,l,2,…,9,A,B,…,F
权 2i 8i 10i 16i
形式表示 B O D H
2.算术逻辑运算
(1) 二进制加法。二进制加法与十进制加法相类似,所不同的是,二进制加法的规则是“逢二进一”,即
O + 0 = 0 1 + 0 = 1 0 + 1 = 1 1 + 1 = 0 (有进位)
(2) 二进制减法。在二进制减法中,当不够减时需要借位,高位的1等于下一位的2,即“借一当二”,其运算法则如下:
0 - 0 = 0 1 - 0 = 1 1 - 1 = 0 0 - 1 = 1 (有借位)
(3) 二进制乘法。二进制乘法与十进制乘法是一样的,但因为二进制数只由0和1构成,因此,二进制乘法更简单,其运算法则如下:
O×O = O 1×O = 0 O × 1 = 0 1 × 1 = 1
(4) 二进制除法。二进制除法是二进制乘法的逆运算,其运算方法与十进制除法是一样的。
(5) 二进制与运算又称逻辑乘,其运算法则如下:
O∧0 = O O∧1 = 0 1∧ O = 0 1∧1 = 1
(6) 二进制或又称逻辑加,其运算法则如下:
0∨O = 0 0∨1 = 1 1∨0 = 1 1∨1 = 1
(7) 二进制异或的运算法则如下:
O O = 0 0 1 = 1 1 0 = 1 1 1 = 0
3.机器数和码制
各种数据在计算机中表示的形式称为机器数,其特点是数的符号用O、1表示,如“0”表示正号,“1”表示负号,小数点则隐含表示而不占位置。机器数对应的实际数值称为该数的真值。
机器数有无符号数和带符号数两种。无符号数表示正数,在机器数中没有符号位。对于无符号数,若约定小数点的位置在机器数的最低位之后,则是纯整数;若约定小数点的位置在机器数的最高位之前,则是纯小数。对于带符号数,机器数的最高位是表示正、负的符号位,其余二进制位表示数值。若约定小数点的位置在机器数的最低数值位之后,则是纯整数;若约定小数点的位置在机器数的最高数值位之前(符号位之后),则是纯小数。
为了便于运算,带符号的机器数可采用原码、反码和补码等不同的编码方法,机器数的这些编码方法称为码制。
4.汉字编码
汉字处理包括汉字的编码输入、汉字的存储和汉字的输出等环节。也就是说计算机处理汉字,首先必须先将汉字代码化,即对汉字进行编码。
1) 输入码
(1) 数字编码。数字编码就是用数字串代表一个汉字的输入,常用的是国标区位码。国际区位码将国家标准局公布的6763个两级汉字分成94个区,每个区94位,实际上是把汉字表示成二维数组,区位和位码各两位十进制数字,因此,输入一个汉字需要按键四次。例如,“中”字位于第54区48位,区位码为5448:
(2) 拼音码。拼音码是以汉语读音为基础的输入方法。由于汉字同音字太多,输入重码率很高,因此,按拼音输入后还必须进行同音字选择,影响了输入速度。
(3) 字形编码。字形编码是以汉字的形状确定的编码。汉字总数虽多,但都是由一笔一划组成,全部汉字的部件和笔划是有限的,因此,把汉字的笔划部件用字母或数字进行编码,按笔划书写的顺序依次输入,就能表示一个汉字。五笔字形、表形码等便是这种编码法。五笔字形编码是最有影响的编码方法。
2) 内部码
汉字内部码(简称汉字内码)是汉字在设备或信息处理系统内部最基本的表达形式,是在设备和信息处理系统内部存储、处理、传输汉字用的代码。在西文计算机中,没有交换码和内码之分。汉字数量多。用一个字节无法区分,采用国家标准局GB2312-80中规定的汉字国标码,两个字节存放一个汉字的内码,每个字节的最高位置“1”,作为汉字机内码。由于两个字节各用7位,因此可表示16 384个可区别的机内码。以汉字“大”为例,国标码为3473H,两个字节的高位置“1”,得到的机内码为B4F3H。
为了统一地表示世界各国的文字,1993年国际标准化组织公布了“通用多八位编码字符集”的国际标准ISO/IEC 10646,简称UCS(Universal Code Set)。UCS包含了中、日、韩等国的文字,这一标准为包括汉字在内的各种正在使用的文字规定了统一的编码方案。
3) 字形码
汉字字形码是表示汉字字形的字模数据,通常用点阵、矢量函数等方式表示。用点阵表示字形时,汉字字形码指的就是这个汉字字形点阵的代码。字形码也称字模码,是用点阵表示的汉字字形码,它是汉字的输出方式。根据输出汉字的要求不同,点阵的多少也不同。简易型汉字为16×16点阵,高精度型汉字为24×24点阵、32×32点阵、48×48点阵等等。
(二) 中央处理机(CPU)
1.CPU的组成
前面已经提到,CPU主要由运算器、控制器组成。构成CPU的框图如图1-2所示。
1) 运算器
运算器是对数据进行加工处理的部件,它主要完成算术运算和逻辑运算,完成对数据的加工与处理。不同的计算机,运算器的结构也不同,但最基本的结构都是由算术/逻辑运算单元(ALU)、累加器(ACC)、寄存器组、多路转换器和数据总线等逻辑部件组成的。
2) 控制器
计算机能执行的基本操作叫做指令,一台计算机的所有指令组成指令系统。指令由操作码和地址码两部分组成,操作码指明操作的类型,地址码则指明操作数及运算结果存放的地址。
图1-2 CPU主要组成部件框图
控制器的主要功能是从内存中取出指令,并指出下一条指令在内存中的位置,将取出指令经指令寄存器送往指令译码器,经过对指令的分析发出相应的控制和定时信息,控制和协调计算机的各个部件有条不紊的工作,以完成指令所规定的操作。
控制器是由程序计数器(简称PC)、指令寄存器、指令译码器、状态条件寄存器、时序产生器、微操作信号发生器组成,如图1-3所示。
图1-3 控制器组成框图
(1) 程序计数器。当程序顺序执行时,每取出一条指令,PC内容自动增加一个值,指向下一条要取的指令。当程序出现转移时,则将转移地址送入PC,然后由PC指向新的程序地址。
(2) 指令寄存器(IR)。用于存放当前要执行的指令。
(3) 指令译码器(ID)。用于对现行指令进行分析,确定指令类型、指令所要完成的操作以及寻址方式。
(4) 时序产生器。用于产生时序脉冲和节拍电位去控制计算机有序的工作。
(5) 状态/条件寄存器。用于保存指令执行完成后产生的条件码。例如,运算是否有溢出,结果为正还是为负,是否有进位等。此外,状态/条件寄存器还保存中断和系统工作状态等信息。
(6) 微操作信号发生器。把指令提供的操作信号、时序产生器提供的时序信号以及由控制功能部件反馈的状态信号等综合成特定的操作序列,从而完成取指令的执行控制。
控制器一般由指令寄存器(IR)、程序计数器(PC)、时序部件、微操作形成部件和程序状态字寄存器(PSW)构成。控制器的作用是控制整个计算机的各个部件有条不紊地工作,它的基本功能就是从内存取指令和执行指令。
执行指令有取指令、指令译码、按指令操作码执行、形成下一条指令地址四个步骤。
2.CPU的功能
CPU的基本功能如下。
(1) 程序控制。CPU通过执行指令来控制程序的执行顺序,这是CPU的重要职能。
(2) 操作控制。一条指令功能的实现需要若干操作信号来完成,CPU产生每条指令的操作信号并将操作信号送往不同的部件,控制相应的部件按指令的功能要求进行操作。
(3) 时间控制。CPU对各种操作进行时间上的控制,这就是时间控制。CPU对每条指令整个的执行时间要进行严格控制。同时。指令执行过程中的操作信号的出现时间、持续时间及出现的时间顺序都需进行严格控制。
(4) 数据处理。CPU对数据以算术运算及逻辑运算等方式进行加工处理,数据加工处理的结果为人们所利用。所以,对数据的加工处理是CPU最根本的任务。
必须指出,在计算机系统中,硬件和软件之间并没有一条明确的分界线。一般 来说,任何一个由软件完成的操作也可以直接由硬件来实现,而任何一个由硬件所执行 的指令也能够用软件来完成。软件和硬件之间的界线是经常变化的。今天的软件可能就是明天的硬件,反之亦然。
计算机硬件系统组成
从功能上来看,计算机的硬件系统由运算器、 控制器、存储器、输入设备和输出设备组成,五大部分由总线连接。 控制器和运算器合在一起被 称为中央处理器CPU(Central Processing Unit)。
计算机基本工作原理
冯·诺依曼原理
世界上第一台计算机基于冯·诺依曼原理,其基本思想是:存储程序与程序控制。存储程序是指人们必须事先把计算机的执行步骤序列(即程序)及运行中所需的数据,通过一定方式输入并存储在计算机的存储器中。程序控制是指计算机运行时能自动地逐一取出程序中一条条指令,加以分析并执行规定的操作。 到目前为止,尽管计算机发展了4代,但其基本工作原理仍然没有改变。 根据存储程序和程序控制的概念,在计算机运行过程中,实际上有两种信息在流动。一种是数据流,这包括原始数据和指令,它们在程序运行前已经预先送至主存中,而且都是以二进制形式编码的。在运行程序时数据被送往运算器参与运算,指令被送往控制器。另一种是控制信号,它是由控制器根据指令的内容发出的,指挥计算机各部件执行指令规定的各种操作或运算,并对执行流程进行控制。这里的指令必须为该计算机能直接理解和执行。
计算机指令与指令系统
指令是指计算机完成某个基本操作的命令。指令能被计算机硬件理解并执行。一条指令就是 计算机机器语言的一个语句,是程序设计的最小语言单位。
一台计算机所能执行的全部指令 的集合,称为这台计算机的指令系统。指令系统比较充分地说明了计算机对数据进行处理的 能力。不同种类的计算机,其指令系统的指令数目与格式也不同。指令系统越丰富完备,编 制程序就越方便灵活。指令系统是根据计算机使用要求设计的。
一条计算机指令是用一串二进制代码表示的,它通常应包括两方面的信息:操作码和地址码 。操作码用来表征该指令的操作特性和功能,即指出进行什么操作;地址码指出参与操作的 数据在存储器中的地址。一般情况下,参与操作的源数据或操作后的结果数据都在存储器中 ,通过地址可访问该地址中的内容,即得到操作数。
CPU访问存储器需要一定的时间,为了提高运算速度,有时也将参与运算的数据或中间结果 存放在CPU寄存器中或者直接存放在指令中。
计算机的全名应该叫“通用电子数字计算机”(General-Purpose Electronic Digital Computer)。这个名称说明了计算机的许多性质。
“通用”说明计算机不是一种专用设备,我们可以把它与电话做一个比较。电话只能作为一种通讯工具,别无他用。而计算机不仅可以作为计算根据,只要有合适的软件,它也可以作为通讯工具使用,还能有无穷无尽的其他用途。
“电子”是计算机硬件实现的物理基础,计算机是非常复杂的电子设备,计算机的运行最终都是通过电子电路中的电流、电位等实现的。
“数字”化是计算机一切处理工作的信息表示基础。在计算机里,一切信息都是采用数字化的形式表示的,无论它原本是什么。无论是数值、文字,还是图形、声音等等,在计算机里都统一到二进制的数字化表示上。数字化是计算机的一种基本特征,也是计算机通用性的一个重要基础。
“计算机”意味着这是一种能够做计算的机器。计算机能够完成的基本动作不过就是数的加减乘除一类非常简单的计算动作。但是,当它在程序的指挥下,以电子的速度,在一瞬间完成了数以万亿计的基本动作时,就可能完成了某种很重大的事情。我们在计算机的外部看到的是这些动作的综合效果。从这个意义上看,计算机本身并没有多少了不起的东西,唯一了不起的就是它能按照指挥行事,做得快。实际上,更了不起的东西是程序、是软件,每个程序或软件都是特殊的,针对面临的问题专门设计实现的东西。
目前对计算机的另一种流行称呼是“电脑”,这是从香港台湾转播开来的一个译名,目前使用很广泛。实际上这个名称并不合适,很容易把人的理解引到错误的方向(或许这正是一些人有意或无意的目标)。我们从来不把原始人用于打树上果子的木棍称为“木手”,也不把火车称为“铁脚”。因为无论是木棍还是火车,虽然各有其专门用途方面的力量,各有其“长处”,但它们都只能在人手脚功能中很窄的一个方面有用,与手脚功能的普适性是根本无法相提并论的。同样,计算机能帮助人完成的也仅仅是那些能够转化为计算问题的事项,与人脑的作用范围和能力相比,计算机的应用范围也是小巫见大巫了。
计算机的核心处理部件是CPU(Central Processing Unit,中央处理器)。目前各类计算机的CPU都是采用半导体集成电路技术制造的,它虽然不大,但其内部结构却极端复杂。CPU的基础材料是一块不到指甲盖大小的硅片,通过复杂的工艺,人们在这样的硅片上制造了数以百万、千万计的微小半导体元件。从功能看,CPU能够执行一组操作,例如取得一个数据,由一个或几个数据计算出另一个结果(如做加减乘除等),送出一个数据等。与每个动作相对应的是一条指令,CPU接收到一条指令就去做对应的动作。一系列的指令就形成了一个程序,可能使CPU完成一系列动作,从而完成一件复杂的工作。
在计算机诞生之时,指挥CPU完成工作的程序还放在计算机之外,通常表现为一叠打了孔的卡片。计算机在工作中自动地一张张读卡片,读一张就去完成一个动作。实际读卡片的事由一台读卡机完成(有趣的是,IBM就是制造读卡机起家的)。采用这种方式,计算机的工作速度必然要受到机械式读卡机的限制,不可能很快。
美国数学家冯·诺依曼最早看到问题的症结,据此提出了著名的“存储程序控制原理”,从而导致现代意义下的计算机诞生了。
计算机的中心部件,除了CPU之外,最主要是一个内部存储器。在计算机诞生之时,这个存储器只是为了保存正在被处理的数据,CPU在执行指令时到存储器里把有关的数据提取出来,再把计算得到的结果存回到存储器去。冯·诺依曼提出的新方案是:应该把程序也存储在存储器里,让CPU自己负责从存储器里提取指令,执行指令,循环式地执行这两个动作。这样,计算机在执行程序的过程中,就可以完全摆脱外界的拖累,以自己可能的速度(电子的速度)自动地运行。这种基本思想就是“存储程序控制原理”,按照这种原理构造出来的计算机就是“存储程序控制计算机”,也被称做“冯·诺依曼计算机”。
到目前为止,所有主流计算机都是这种计算机,这里讨论的都是这种计算机。(随着对计算过程和计算机研究的深化,人们也认识到冯·诺依曼计算机的一些缺点,开展了许多目的在于探索其他计算机模式的研究工作。但是到目前为止,这些工作的成果还远未达到制造出在性能、价格、通用性、自然易用等方面能够与冯·诺依曼计算机匹敌的信息处理设备的程度。这里我们就不打算进一步介绍这些方面的情况了。)
从CPU抽象动作的层次看,计算机的执行过程非常简单,是一个两步动作的简单循环(图1.5),称为CPU基本执行循环。CPU每次从存储器取出要求它执行的下一条指令,然后就按照这条指令,完成对应动作,循环往复,直到程序执行完毕(遇到一条要求CPU停止工作的指令),或者永无休止地工作下去。
CPU是一个绝对听话、服从指挥的服务生,它每时每刻都绝对按照命令行事,程序叫它做什么,它就做什么。CPU能完成的基本动作并不多,通常一个CPU能够执行的指令大约有几十种到一二百种。另一方面,实际社会各个领域里,社会生活的各个方面需要应用计算机情况则是千差万别、错综复杂。这样简单的计算机如何能应付如此缤纷繁杂的社会需求呢?答案实际上很简单:程序。通过不同指令的各种适当排列,人可以写出的程序数目是没有穷尽的。这就像英文字母只有26个,而用英文写的书信、文章、诗歌、剧作、小说却可以无穷地多一样。计算机从原理上看并不复杂,正是五彩缤纷的程序使计算机能够满足社会的无穷无尽的需求。
计算机的这种工作原理带来两方面的效果。一方面,计算机具有通用性,一种(或者不多的几种)计算机就能够满足整个社会的需求,这使得人们可以采用大工业生产的方式进行生产,提高生产效率,增强计算机性能,降低成本。这使得计算机变得越来越便宜,与此同时性能却越来越强。另一方面,通过运行不同的程序,不同的计算机,或者同一台计算机在不同的时刻可以表现为不同的专用信息处理机器,例如计算器、文字处理器、记事本、资料信息浏览检索机器、帐本处理机器、设计图版、游戏机等等。甚至同一台计算机在一个时刻同时表现为多种不同的信息处理机器(只要在这台计算机中同时运行着多个不同的程序)。正是这种通用性和专用性的完美统一,使得计算机成为人类走向信息时代过程中最锐利的一件武器。
我们说CPU并不复杂,这是从原理上讲的。而今天最先进的CPU又是极端复杂的东西,甚至可能是人类有史以来制造出的最复杂产品。产生这种情况的原因很多,这里列举其中最重要的两个:
第一,人们对CPU性能的要求越来越高,因为需要由计算机完成的工作越来越复杂(现实社会总是不断提出新问题,要求用计算机解决。一个复杂问题解决了,人们就看到了另一个更复杂的问题解决的希望,因而会去努力),完成一项工作需要执行的指令数越来越多。一个永远也不能克服的困难是,计算机执行指令需要时间(请读者记住计算机的这个本质性的缺点,这对于理解计算机是极端重要的)。虽然目前计算机执行指令的速度已经快得惊人(每秒钟可以执行数以亿计的指令),对于人希望用计算机解决的最复杂任务而言,CPU的速度将永远是太慢了。为提高CPU在实际计算中的速度,人们开发了许多巧妙技术,而实现这些技术就大大地增加CPU本身的复杂性。
第二,需要用计算机处理的数据的情况越来越多。早期的计算机主要是处理数值性数据,例如整数、实数(在计算机里用一种称为“浮点数”的方式表示),CPU也就只需要围绕与这些数据类型有关的计算过程,提供一批指令。随着计算机的发展,新的应用需求层出不穷。例如,当计算机被广泛用于图形图像声音信号的处理时,虽然从理论上说CPU可以不改变(原有指令足以完成工作,只要写出相应的程序),但人们也发现,增加一些新的特殊指令,对这些特殊数据形式的处理就能更有效。新指令的增加能大大提高CPU处理特殊数据形式的效率(有时是必须的,例如为了实时地处理高清晰度的三维动画),由此带来的一个副作用是使CPU变得更加复杂了。
过去人们常说计算机的发展经历了电子管、晶体管、集成电路和大规模集成电路四个阶段,也把以这些方式构造起来的计算机分别称为第一、二、三、四代计算机。今天回头再看,这种说法已经没有太大的意义了。制造计算机的器件变化并不是根本性的(虽然其意义不可低估,例如在降低成本、减小体积方面),这个变化过程不过是人们寻求合适方式制造计算机的一个短暂的摸索阶段,在大约二十年的时间里就已经完成了。从那以后,计算机的基本制造工艺再没有大的变化。而在另一方面,计算机发展史中其他的事件则更重要得多。例如:计算机的小型化和个人计算机的出现,计算机网络的出现和发展,计算机使用形式和出现形式的变化等等(这些都是在大规模集成电路的范围中完成的)。
今天,人们还一直在研究真正新型的计算机,作为与普通计算机具有根本性差异的另类信息处理工具,它们能够发明出来吗?将在什么时候出现?能够具有今天计算机这样的性能价格比、这样的通用性与专用性的完美统一吗?能够取代目前流行的这类电子数字计算机吗?我们正拭目以待。
(一)冯·诺依曼设计思想
计算机问世50年来,虽然现在的计算机系统从性能指标、运算速度、工作方式、应用领域和价格等方面与当时的计算机有很大的差别,但基本体系结构没有变,都属于冯·诺依曼计算机。
冯·诺依曼设计思想可以简要地概括为以下三点:
① 计算机应包括运算器、存储器、控制器、输入和输出设备五大基本部件。
② 计算机内部应采用二进制来表示指令和数据。每条指令一般具有一个操作码和一个地址码。其中,操作码表示运算性质,地址码指出操作数在存储器的位置。
③ 将编好的程序和原始数据送入内存储器中,然后启动计算机工作,计算机应在不需操作人员干预的情况下,自动逐条取出指令和执行任务。
冯·诺依曼设计思想最重要之处在于他明确地提出了“程序存储”的概念。他的全部设计思想,实际上是对“程序存储”要领的具体化。
(二)计算机基本结构图
(图中实线为数据流,虚线为控制流),我们可以更好地理解“存储程序”和“程序控制”。
输入设备在控制器控制下输入解题程序和原始数据,控制器从存储器中依次读出程序的一条条指令,经过译码分析,发出一系列操作信号以指挥运算器、存储器等到部件完成所规定的操作功能,最后由控制器命令输出设备以适当方式输出最后结果。这一切工作都是由控制器控制、而控制器赖以控制的主要依据则是存放于存储器中的程序。人们常说,现代计算机采用的是存储程序控制方式,就是这个意思。
(三)计算机的工作过程
计算机的工作过程,就是执行程序的过程。怎样组织存储程序,涉及到计算机体系结构问题。现在的计算机都是基于“程序存储”概念设计制造出来的。
了解了“程序存储”,再去理解计算机工作过程变得十分容易。如果想叫计算机工作,就得先把程序编出来,然后通过输入设备送到存储器保存起来,即程序存储。下面就是执行程序的问题。根据冯·诺依曼的设计,计算机应能自动执行程序,而执行程序又归结为逐条执行指令。执行一条指令又可分为以下4个基本操作:
① 取出指令:从存储器某个地址中取出要执行的指令送到CPU内部的指令寄存器暂存。
② 分析指令:把保存在指令寄存器中的指令送到指令译码器,译出该指令对应的微操作。
③ 执行指令:根据指令译码,向各个部件发出相应控制信号,完成指令规定的各种操作。
④ 为执行下一条指令作好准备,即取出下一条指令地址。
计算机问世50年来,虽然现在的计算机系统从性能指标、运算速度、工作方式、应用领域和价格等方面与当时的计算机有很大的差别,但基本体系结构没有变,都属于冯·诺依曼计算机。