当前位置: 首页> 生活服务> 驾考> 正文

计算机的基本工作原理有哪些(计算机工作原理)

  • 扑通扑通混混扑通扑通混混
  • 驾考
  • 2022-12-19 11:38:16
  • -
1、计算机最主要的工作原理是存储程序与程序控制;

2、计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下来,再取出第二条指令,在控制器的指挥下完成规定操作。依此进行下去。直至遇到停止指令;

3、程序与数据一样存贮,按程序编排的顺序,一步一步地取出指令,自动地完成指令规定的操作是计算机最基本的工作原理。这一原理最初是由美籍匈牙利数学家冯.诺依曼于1945年提出来的,故称为冯.诺依曼原理;

  以上就是关于计算机最主要的工作原理的介绍,希望能帮助到大家。 冯.诺依曼描述的计算机基本工作原理的主要思想是程序存储。
存储程序原理又称“冯·诺依曼原理”(1946年提出)。将程序像数据一样存储到计算机内部存储器中的一种设计原理。程序存入存储器后,计算机便可自动地从一条指令转到执行另一条指令。现代电子计算机均按此原理设计。
冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的8086中央处理器的程序指令和数据都是16位宽。

计算机的工作原理

1、冯诺依曼原理

“存储程序控制”原理是1946年由美籍匈牙利数学家冯诺依曼提出的,所以又称为“冯诺依曼原理”。该原理确立了现代计算机的基本组成的工作方式,直到现在,计算机的设计与制造依然沿着“冯诺依曼”体系结构。

2、“存储程序控制”原理的基本内容

①采用二进制形式表示数据和指令。

②将程序(数据和指令序列)预先存放在主存储器中(程序存储),使计算机在工作时能够自动高速地从存储器中取出指令,并加以执行(程序控制)。

③由运算器、控制器、存储器、输入设备、输出设备五大基本部件组成计算机硬件体系结构。

扩展资料

计算机工作过程

第一步:将程序和数据通过输入设备送入存储器。

第二步:启动运行后,计算机从存储器中取出程序指令送到控制器去识别,分析该指令要做什么事。

第三步:控制器根据指令的含义发出相应的命令(如加法、减法),将存储单元中存放的操作数据取出送往运算器进行运算,再把运算结果送回存储器指定的单元中。

第四步:当运算任务完成后,就可以根据指令将结果通过输出设备输出。

参考资料来源:百度百科-计算机计算机工作原理

计算机系统概述

计算机系统包括硬件系统和软件系统两大部分。计算机通过执行程序而 运行,计算 机工作时软硬件协同工作,二者缺一不可。
硬件(Hardware)是构成计算机的物理装置,是看得见、摸得着的一些实实在在的 有形实体。一个计算机硬件系统,从功能级角度而言包五大功能部件:运算 器、控制器、存储器、输入设备和输出设备。
硬件是计算机能够运行的物质基础,计算机的性能,如运算速度、存储容量、计算 精度、可靠性等,很大程度上取决于硬件的配置。只有硬件而没有任何软件支持的计算机称为裸机。在裸机上只能运行机器语言程 序,使用很不方便,效率也低。
软件(Software)是指使计算机运行需要的程序、数据和有关的技术文档资料。软 件是计算机的灵魂,是发挥计算机功能的关键。有了软件,人们可以不必过多地去了解 机器本身的结构与原理,可以方便灵活地使用计算机。软件屏蔽了下层的具体计算机硬件,形成一台抽象的逻辑计算机(也称虚拟机),它在用户和计算机(硬件)之间架起了桥梁。
软件通常分为系统软件和应用软件两大类。系统软件是计算机制造者提供的使用和 管理计算机的软件,它包括操作系统、语言处理系统、常用服务程序等。应用软件是计 算机用户用计算机及其提供的各种系统软件开发的解决各种实际问题的软件。
必须指出,在计算机系统中,硬件和软件之间并没有一条明确的分界线。一般 来说,任何一个由软件完成的操作也可以直接由硬件来实现,而任何一个由硬件所执行 的指令也能够用软件来完成。软件和硬件之间的界线是经常变化的。今天的软件可能就是明天的硬件,反之亦然。
计算机硬件系统组成
从功能上来看,计算机的硬件系统由运算器、 控制器、存储器、输入设备和输出设备组成,五大部分由总线连接。 控制器和运算器合在一起被 称为中央处理器CPU(Central Processing Unit)。

计算机基本工作原理
冯·诺依曼原理
世界上第一台计算机基于冯·诺依曼原理,其基本思想是:存储程序与程序控制。存储程序是指人们必须事先把计算机的执行步骤序列(即程序)及运行中所需的数据,通过一定方式输入并存储在计算机的存储器中。程序控制是指计算机运行时能自动地逐一取出程序中一条条指令,加以分析并执行规定的操作。 到目前为止,尽管计算机发展了4代,但其基本工作原理仍然没有改变。 根据存储程序和程序控制的概念,在计算机运行过程中,实际上有两种信息在流动。一种是数据流,这包括原始数据和指令,它们在程序运行前已经预先送至主存中,而且都是以二进制形式编码的。在运行程序时数据被送往运算器参与运算,指令被送往控制器。另一种是控制信号,它是由控制器根据指令的内容发出的,指挥计算机各部件执行指令规定的各种操作或运算,并对执行流程进行控制。这里的指令必须为该计算机能直接理解和执行。
计算机指令与指令系统
指令是指计算机完成某个基本操作的命令。指令能被计算机硬件理解并执行。一条指令就是 计算机机器语言的一个语句,是程序设计的最小语言单位。
一台计算机所能执行的全部指令 的集合,称为这台计算机的指令系统。指令系统比较充分地说明了计算机对数据进行处理的 能力。不同种类的计算机,其指令系统的指令数目与格式也不同。指令系统越丰富完备,编 制程序就越方便灵活。指令系统是根据计算机使用要求设计的。
一条计算机指令是用一串二进制代码表示的,它通常应包括两方面的信息:操作码和地址码 。操作码用来表征该指令的操作特性和功能,即指出进行什么操作;地址码指出参与操作的 数据在存储器中的地址。一般情况下,参与操作的源数据或操作后的结果数据都在存储器中 ,通过地址可访问该地址中的内容,即得到操作数。
CPU访问存储器需要一定的时间,为了提高运算速度,有时也将参与运算的数据或中间结果 存放在CPU寄存器中或者直接存放在指令中 计算机的工作原理

指令

指令是用来规定计算机执行的操作和操作对象所在存储位置的一个二进制位串。

指令的格式
一条指令由操作码和地址码两部分组成。 例如二地址指令格式如下: 操作码 地址码1 地址码2 操作码:用来指出计算机应执行何种操作的一个二进制代码。 具体说明指令的性质或功能,每条指令只有一个操作码 。 例如,加法、减法、乘法、除法、取数、存数等各种基本操作均有各自相应的操作码。 地址码: 指出该指令所操作(处理)的对象(称为操作数)所在存储单元的地址。 包括着操作数的来源,结果的去向或下一条指令的地址等信息,不同指令中地址码的个数可以不一样。

指令系统
定义 一台计算机所能识别并执行的全部指令的集合,称为该台计算机的指令系统。指令系统中有数以百计的不同指令。
指令的分类:
1,数据传送指令:用于把存储器或寄存器中的某个操作数复制到指定的存储单元或寄存器中去。

例如: MOV CL,05H
解释:将05H保存到寄存器CL中

2,算术运算指令:用于完成两个操作数的加、减、乘、除等各种算术运算。

例如: CX=0029H,SI=04EDH,执行指令ADD SI,CX之后
将寄存器SI中存储的数04EDH和寄存器CX中存储的数0029H相加,
并把结果存在寄存器SI中
验算过程如下:
0029H
+ 04EDH
0516H
结果SI=0516H

3,逻辑运算指令:用于完成两个操作数的逻辑加、逻辑乘、按位加等各种逻辑运算。

例如:按位求反指令
BL=FBH,执行指令NOT BL后,
BL=(11111011)2
取反后BL=(00000100)2=04H

4,移位运算指令:用于完成指定操作数的各种类型的移位操作。

5,位与位串操作:计算机中越来越重视非数值数据的操作,包括位与位串的装入、存储、传送比较、重复执行等,也可包括位串的插入、型存取。

6,控制与转移指令:通常程序中的指令多数是依次序一条条的顺序执行,但根据指令执行的结果,也可以跳到其他指令或其他程序段去执行。具有这种功能的就是各种类型的转移指令。

7,输入/输出指令:在微机中,往往把输入/输出设备中与主机可交换数据的寄存器称为I/O端口。同时,把各个I/O端口统一编址。使用输入/输出指令,就可以去存取各种外部设备的I/O端口,实现数据的输入/输出。

8,其它指令:包括各种处理器控制指令,它们往往由操作系统专用。

兼容性问题
每种CPU都有自己独特的指令系统,用某一类计算机的机器语言编制的程序难以在其他各类计算机上运行,这个问题称之为指令不兼容。 向下兼容: 如586机器语言向下兼容486机器语言程序。
指令精简问题 精简指令系统计算机RISC。

--------------------------------------------------------------------------------

程序

为解决某一问题而设计的一系列指令称为程序。 程序和相关数据存放在存储器中,计算的工作就是执行存放在存储器中的程序。 计算机运行程序的过程就是一条一条地执行指令的过程。
程序的执行又自动地控制着整个计算机的全部操作。 这就是50年前美国数学家冯·诺依曼提出的程序存储和程序控制的思想。这也是目前计算机的基本工作方式。

指令的执行
一条指令的执行过程大体如下:
(1)指令预取部件向指令快存提取一条指令,若快存中没有,则向总线接口部件发出请求,要求访问存储器,取得一条指令;
(2)总线接口部件在总线空闲时,通过总线从存储器中取出一条指令,放入快存和指令预取部件;
(3)指令译码部件从指令预取部件中取得该指令,并把它翻译成起控制作用的微码;
(4)地址转换与管理部件负责计算出该指令所使用的操作数的有效物理地址,需要时,请求总线接口部件,通过总线从存储器中取得该操作数;
(5)执行单元按照指令操作码的要求,对操作数完成规定的运算处理,并根据运算结果修改或设置处理器的一些状态标志;
(6)修改地址转换与管理部件中的指令地址,提供指令预取部件预取指令时使用。

Pentium 处理器中的流水线过程

由于Pentium中有两个整数ALU,所以它能同时执行两条流水线, 这种结构称为“超标量结构”(Superscalar)。

计算机系统组成原理概述:计算机系统组成原理概述

计算机执行过程详解:计算机执行过程详解

计算机启动过程详解:计算机启动过程详解

计算机工作原理

计算机工作过程主要分4步

1、将程序和数据通过输入设备送入存储器;

2、启动属运行后,计算机从存储器中取出程序指令送到控制器去识别,分析该指令要求做什么;

3、控制器根据指令的含义发出相应的命令(如加法、减发),将存储单元中存放的操作数据取出送往运算器进行运算,再把运算结果送回存储器制定的单元中;

4、当运算任务完成后,就可根据指令将结果通过输出设备输出。

扩展资料:

计算机的基本原理主要分为存储程序与程序控制,首先要将控制计算机如何进行操作版的指令序列(称为程序权)和原始数据通过输入设备输送到计算机内存中,每一条指令中明确规定了计算机从哪个地址取数,进行什么操作,然后送到什么地址去等步骤。

计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下来,再取出第二条指令,在控制器的指挥下完成规定操作。

直至遇到停止指令。

计算机分为几个工作过程,每个过程具体的作用什么计算机的工作过程是分好几步的,每个过程都有每个过程的方法,对过程的方法不能捡漏,也不能简便去操作,如果简便去找做,会扰乱计算机的步骤呢 计算机工作过程主要分4步第一步:将程序和数据通过输入设备送入存储器; 第二步:启动运行后,计算机从存储器中取出程序指令送到控制器去识别,分析该指令要求做什么; 第三步:控制器根据指令的含义发出相应的命令(如加法、减发),将存储单元中存放的操作数据取出送往运算器进行运算,再把运算结果送回存储器制定的单元中; 第四部:当运算任务完成后,就可根据指令将结果通过输出设备输出。 记得记得分几个工程的话,每个工程的具体作用的话是不一样的,他们是可以根据实际来进行的 计算机可以打印,可以复印。可以在上面存续。

计算机的工作原理:

计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下来,再取出第二条指令,在控制器的指挥下完成规定操作。依此进行下去。直至遇到停止指令。

程序与数据一样存贮,按程序编排的顺序,一步一步地取出指令,自动地完成指令规定的操作是计算机最基本的工作原理。

扩展资料:

计算机的特点

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年来,虽然现在的计算机系统从性能指标、运算速度、工作方式、应用领域和价格等方面与当时的计算机有很大的差别,但基本体系结构没有变,都属于冯·诺依曼计算机。