第2章-计算机工作原理_第1页
第2章-计算机工作原理_第2页
第2章-计算机工作原理_第3页
第2章-计算机工作原理_第4页
第2章-计算机工作原理_第5页
已阅读5页,还剩117页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章计算机工作原理

立妻内参

2」计算机中的数据的表示

2.2计算机的硬件组成

2.3计片机的基本工作过程

本章知识结构:

一一_•・a楮+n小珈坦主二____________卅生||白枝蜘

计算机,作原埋」效制与转怏・)

粉赤;:/皆知中白夕丰记

然/IJLTT舁机1刖衣不

北粉宿粉提的寺不

非数1且锹循刖衣小"

达;云舁笆规的则mi。l.

______________;云笆哭

I在T省舁太外H刖的叫桶叶住坦组感___________起■舁命,

在修哭

中巾尿抨哭

「人优班奇A

「司J收黄'

U片帖拄*T止旺知______________指■枚#.

H畀'1儿U'J仝+,1卜A2JI土力日今后工、”

耳卅片J

J4d£/J工W-

7土HMVA珏J/彳lil〒T;X才J不-W里-

学习目标:

•理解数制与转换、数在计算机中的表示;

•了解计算机的工作原理;

•掌握指令执行过程。

•程序存储是冯•诺依曼机的最基本特征。为了实现计算机的自动计

必须先根据问题的要求,选择算法和程序语言,设计出解决该

问题的程序,并通过输入设备将该程序存入计算机的存储器中,然

后计算机运行这个程序,就可获得计算结果。在计算机中,程序及

数据是用二进制代码表示的,计算机只能存储并识别二进制代码表

示的程序和数据,这是冯・诺依曼机的另一个主要特征。

2.1计算机中的数据的表示

2.1.1数制与转换

2.1.2数在计算机中的表示

2.1.3非数值数据的表示

2.1.4运算规则

2.1计算机中数据的表示

•计算机的内部的信息分为两大类型,即控制信息和数据信息。控制信

息是控制计算机进行一系列的操作的信息,数据信息是计算机加工处

理的对象。指令是主要控制信息,数据信息包括数值数据和非数值数

据。数值数据能表示大小,可以在数轴上找到确定的点。非数值数据

没有确定的数值,例如字符、汉字、图形、图像、声音等,又称符号

数据。

•数值数据包括整数和小数。通常有两种方法来确定小数点的位置:一

种是规定小数点位置固定不变,称为定点数;另一种是小数点的位置

不固定,可以浮动,称为浮点数。一般来说,定点格式容许的数值范

围有限,要求的硬件结构比较简单;浮点格式容许的数值范围很大,

但要求的处理硬件比较复杂。在计算机中,通常是用定点数来表示整

数和纯小数,分别称为定点整数和定点小数。对于既有整数部分、又

有小数部分的数,一般用浮点数表示。

2.1计算机中数据的表示

•在计算机内部,无论哪一种数据,都以二进制形式表示。

它们的从属关系如下所示。

L定点数〃

「数值数据"Y

〔浮点数,

数据

「逻辑数据~

〔非数值数据

〔字符数据.,

2.1计算机中数据的表示

•在计算机中,数据信息是由不同位数的二进制数组成,为

了表示位数的多少,引入了“位”、“字节”和“字”的

概念。

•位(bit):位是指一位二进制的代码,它只具有“0”、

“1”两个状态。

,字节(byte):把8位二进制代码称为一个字节,它是表

套二进制代码长度的一种单位。

•字(word):字由字节构成,一般为字节的整数倍。

2.1.1数制与转换

•在十进制系统中,进位原则是逢十进一;在二进制系统中,

进位原则是逢二进一;在八进制系统中,进位原则是逢八进

在十六进制系统中,进位原则是逢十六进一。在十进制

数中,每一项的数字都可以用。〜9十个数字中的一个来表示;

二进制数中每一项的数字都可以用0,1表示;八进制中可以

使用0〜7;十六进制中可使用0〜9,A,B,C,D,E,F。为了比较

二进制、八进制、十进制和十六进制系统,表2・1给出了四

种进位制的对应关系。

2.1.1数制与转换

表2-1啾进位制数

二进制数。人进制数,十进制数十六进制擞

0000/卜030~

0001^171”

0010,2P2。

0011“3,3-3d

0100-14d

0101/5"5,53

0110*'6"6“63

0111^737/7。

1000+'10。8d8“

1001・」11-19〃9/

1010。12“102A“

1011N13小11"Ba

1100*'14」12〃O

1101315313”加

11316414~E“

17“15〃F/

10000^20216&10Q

2.1.1数制与转换

•1、十进制数转换为二进制数

•(1)十进制整数转换为二进制整数

•将已知的十进制整数反复除2,余数为1,相应位为1;余

数为0,相应位为0。从低位向高位逐次进行,一直到用2

去除后,商为。时为止。

•例1:将十进制数22转换成二进制数

2)22

2)11.......................................xi=0^

2)5......................................X?=1,

2)2.....................................x3=4

2)1.....................................x4=0"

0.................................................X5=

即(22)10=(XsX4x3X2x1)2

=(10110)?

舒H

卿A

基U

C

淋K

+勰

<热

=格

^

鱼0

+•,

.

又例:2751

2[311

结果为:1001011

2L180

291

240

220

211

0

2.1.1数制与转换

•(2)十进制纯小数转换成二进制小数

•首先将十进制纯小数反复乘以2,每次乘2之后所得的数的

整数部分若为1,则二进制小数的相应位也为1;如果整数

部分为0,则相应位为0。从高位向低位逐次进行,直到满

足精度要求为止。

进位法:用十进制小数乘基数,当积为0或达到

所要求的精度时,将整数部分由上而下排列o

示例:

0.625结果为:101

X2

------h-250-整数二1

X2

------07^0整数二0

X2

------h-0——整数二1小数值二0

2.1.1数制与转换

•2、二进制数转换为十进制数

•二进制数转换为十进制数的方法极为简单,只要将二进制

数按位展开,并计算出结果,便可以得到相应的十进制数。

例2:计算(1011):=1X2*+0X2:+1X2:+1X2:,

=8+0+2+1=1-

【例1・1】分别将(1010.11)2、(1010.11)8和(AC.1)16转

换成十进制数表示。

解:

32X

(1011.11)2=1X2+0X2+1X2+0X2°+1X2-

41X2-2

=8+0+2+0+0.5+0.25

=(10.75)]。

32X

(1011.11)81X8+0X8+1X8+0X8°+1X8-

耳1X8々

=512+0+8+0+0.125+0.015625

=(520.140625)1。

1

(AC.1)16=10X16与12X16°+1X16

=160+12+0.0625

=(172.0625)10

2.1.1数制与转换

•3、非十进制数之间的相互转换

•1位八进制数对应3位二进制数,而1位十六进制数对应4位

二进制数。因此,二进制数与八进制数之间、二进制数与

十六进制数之间的相互转换十分容易。

•(X)八进制数与二进制数的互换

•将每一位八进制数直接写成相应的3位二进制数即可。反

之,二进制数转换成八进制数的方法是:以小数点为界,

向左或向右将每3位二进制数分成一组,若不足3位,则用

0补足3位。然后,将每一组二进制数直接写成相应的1位

八进制数。

•二进制与八进制间的转换

从小数点开始,将二进制数的整数和小数部分每

三位分为一组,不足三位的分别在整数的最高位

前和小数的最低位后加“0”补足,然后每组用等

值的八进制码替代,即得目的数。_________

例8:11010111.0100111I=327.234Q

011010111.010011100

3

2.1.1数制与转换

•(2)十六进制数与二进制数的互换

•将每一位十六进制数直接写成相应的4位二进制数。而二进制数

转换成十六进制数的方法则是:以小数点为界,向左或向右将每

4位二进制数分成一组,若不足4位,则用0补足4位。然后,将每

一组二进制数直接写成相应的1位十六进制数。

•在计算机中采用二进制比用十进制优越,主要表现:数的状态简

单,容易表示,在二进制中只有两个状态,很容易实现;运算规

则简单;逻辑判断方便:二进制的“1〃和”0〃两个数码正好与逻

辑命题中的两个值“是”和“否”,或者“真”和“假”相对应,

这不仅为计算机实现逻辑运算和程序中的逻辑判断提供了便利条

件,而且也可以将逻辑代数这一数学工具应用于逻辑线路的设计

中.

•二进制与十六进制间的转换

从小数点开始,将二进制数的整数和小数部分每

四位分为一组,不足四位的分别在整数的最高位

前和小数的最低位后加“0”补足,然后每组用等

值的十六进制码替代,即得目的数。

例9:111011.10101B=3B.A8H

00111011.10101000

,小数点为界,

3BA8

【例1・4】将二进制数1011010.10转换成八进制和十

六进制数:

解:001011010.10001011010.1000

132.45A.8

(1011010.10)2=(132.4)8

(1011010.10)2=(5A.8)16

【例1・5】将十六进制数F7.28转换为二进制数:

解:F7.28

11110111.00101000

(F7.28)16=(11110111.00101000)2=

(11110111.00101)2

【例1・6】将八进制数25.63转化为二进制数:

解:25.63

010101.110011

(25.63)8=(010101.110011)2=(10101.110011)2

2.1.2数在计算机中的表示

•要把一个数值在计算机中表示出来,必须明确指明:符号如

何表示,小数点的位置如何表示。在计算机中,表示一个数

值的符号的方法是:占用一位二进制数位,用1表示负号,

用0表示正号。也就是说,对数值的符号编码化。

■定点整数用n位二进制表示一个数,一般选择最左边一位为

符号位,其值为L表示该数为负数;其值为0,表示该数为

正数。小数点固定在最低位之后,因而它所表示的数都为整

数。

■定点小数所表示的都为小数,小数点的位置在数值位的最左

端,即在符号位之后。那么各位的位权值分别为:第1位为

2-1,第2位为2-2……所以定点小数表示的只能是小数。

(1)定点数的表示方法

所谓定点格式,即约定机器中所有数据的小数点位置是固定

不变的。由于约定在固定的位置,小数点就不使用记号”

来表示。

假设用一个n+1位字来表示一个定点数x,其中第一位xO用

来表示数的符号,其余位数代表它的量值。为了将整个n+1位统

一处理起见,符号位xO放在最左位置,并用数值0和1分别代表

正号和负号,这样,对于任意定点数乂=x0xxx2...xn,在定

点机中可表示为如下形式:

X0X1X2……Xn.1Xn

定点数的一般形式

小数的定点表示:

符号位

%瓦2b.3

隐含小数点

整数的定点表示:

符号位b

bm"阳.2l

隐含小数点

假定整数占8位,则数值・65存放形式如下:

11000001

如果数X表示的是纯小数,那么小数点位于X。和1之间。

当X1X2..........X-Xn各位均为0时,数X的绝对值最小,

即IX|min=。;

当各位均为1时,X的绝对值最大,即|x|ma\=L2-n

故数的表示范围为

0<|XI<l-2-n

如果数X表示的是纯整数,那么小数点位于最低位X的右

边,此时数X的表示范围为n

o<|xI<2n4

目前计算机中多采用定点纯整数表示,因此用定点数表示

的运算简称为整数运算。

(2)浮点表示法与浮点数

定点数表示的数值范围在许多应用中是不够的,为了能表示

特大或特小的数,采用“浮点数”或“科学表示法”表示。”

浮点数”由两部分组成,即尾数和阶码,底数是事先约定的,

在机器中不出现。一

如1234.56可以表示为IO4X0.123456,

0.123456是尾数,4是阶码。

0.0004567可以表示为IO-*0.4567,

0.4567是尾数,・3是阶码.

一个十进制数N可以写成N=10e.m

一个任意进制数N1也可以写成Nl=Re.M

其中

八m称为浮点数的尾数,是一个纯小数。

e是比例因子的指数,是一个整数。

R是比例因子的基数,一般规定R为2,8或16。

规格化数

在浮点数表示法中,小数点的位置是浮动的,阶码可以取不同的数值,

为了便于计算机中小数点的表示,规定将浮点数写成规格化的形式,即尾数

部分必须是如下范围的小数:

O.1<M<1(十进制表示)

或0.5<M<l(二进制表示)

例如,十进制实数-1234.5678以规格化形式表现为

-0.12345678X104

同样,任意二进制规格化浮点数的表现形式为:

N=±d*2±P

式中d是尾数,前面的”上”表示数符;p是阶码,前面的"上”表示阶符.

一个机器浮点数应当由

阶码和尾数及其符号位组成:

EsEH……EmMsM.M2……Mm

阶符_阶码------数符---------尾数一

阶码只能是一个带符号的整数,阶码本身的小数点约定在阶码的

最右面;尾数表示数的有效部分,是纯小数,其本身的小数点约定在

数符和尾数之间。由此可见,浮点数是定点整数和定点小数的混合,

在浮点数表示中,数符和阶符各占1位,阶码的位数表示数的大小范围

,尾数的位数表示数的精度。

例如,设尾数为8位,阶码为6位,则二进制数

N=(-1101.010)B=(-0.110101)Bx2(I°°)B

浮点数的存放形式为:0000100111010100

浮点数表示的范围

假设机器中的数由8位二进制数表示

在定点表示中若只考虑正数值,定点数表示的数的范围是

0.0000000到O.llllin,相当于十进制数的O〜127/128o

在浮点表示中若阶符阶码占3位,数符尾数占5位。浮点数

所能表示的数的范围是2-Uxo.oooi到2口x0.1111o相当于

十进制数的1/128到7.5。

显然如果都用8位,用浮点数表示的数的范围比定点数表

示的数的范围大得多。

2.1.2数在计算机中的表示

•在科学计算和数据处理中,经常需要处理和计算非常大或者非常小的

数值。定点表示法不能够精确地完成这种数值的表示。为了表示更大

取值范围的数,可以采用下式所示的表示方法:

f=m.re

•其中f表示数,m和e为带符号的定点数,e称之为阶、m为尾数、r为

基。尾数m可以是整数,也可以是小数。目前大多数计算机都把m规

定为纯小数,阶码e为整数。从上式可以看出,m中的小数点可以随e

值的变化而左右浮动。所以把这种表示法叫做数的浮点表示法。

2.1.2数在计算机中的表示

•在计算机中对数据进行运算操作时,符号位如何表示呢?是

否也同数值位一起参加运算操作呢?为了妥善的处理好这些

问题,就产生了把符号位和数值位一起编码来表示相应的数

的各种表示方法,如原码、补码、反码、移码等。

•机器数就是数在计算机中的表示形式,为了表示通常的数与

机器数的对应关系,可将通常的数称为机器数的真值。因此,

在计算机中只有机器数,不存在数的真值。

2.1.2数在计算机中的表示

•1.原码

•原码是一种简单的机器数表示法,用最高位表示数的正、负,。表示

正,1表示负,数值部分按二进制书写。

例3:二进制数+1000110的原码表示为:01000110

二进制数“000110的原码表示为:11000110

0在原码中有两种表示形式,可以认为是(+0),也可以认为是(-

0),即

[+0]==000…0”

n位.

[-0]京=100…0"

2.1.2数在计算机中的表示

■原码表示简单易懂,而且与真值的转换也方便,在做乘除

法运算时,可将符号位和数值位分开处理。结果数的符号

可用参加操作的两个操作数符号进行异或运算求得,结果

数的数值可由操作数原码的数值部分按乘除规则运算得到。

因此,原码适合乘除法运算。但是原码做减法运算极为不

便。其过程如下:当两个数相加时,如果是同号,则数值

相加;如果是异号,则数值部分相减,这就需要比较两个

数的绝对值大小,用绝对值大的数减去绝对值小的数,所

得的差的符号与绝对值大的数同号。为了解决用原码做减

法运算的不便,提出了补码表示法。

2.1.2数在计算机中的表示

•2.反码

•正数的反码与其本身相同,负数的反码是将它的原码除符

号位外逐位取反,也就是1变0,0变1。

•例5:二进制数+1000110的反码表示为:01000110

二进制数・1000110的反码表示为:11111001

0在反码中也有两种表示方法:

[+0]&=ooo・・a

n位~

[-0]反=111…L

2.1.2数在计算机中的表示

•3.补码

•可以用钟表对时为例说明补码的概念。假设现在的标准时

间为4点整;而有一只表已经7点了,为了校准时间,可以

采用两种方法:一是将时针退7・4=3格;一是将时针向前

拨12・3=9格。这两种方法都能对准到4点,由此可以看出,

减3和加9是等价的,就是说9是(・3)对12的补码。在补码中,

真值0有唯一的表达形式。

•正数的补码与原码相同;负数的补码是它的原码除符号位

外逐位取反(即0变1,1变0),在末位加1。

•例4:二进制数+1000110的补码表示为:01000110

二进制数-1000110的补码表示为:11111010

2.1.2数在计算机中的表示

•补码是一种很好的机器数表示法,补码可以把负数转化为

正数,使减法转化为加法,从而使正负数的加减运算转化

为单纯的正数相加的运算,进而提高了计算机的运算速度

并节省了设备。所以补码是应用最广泛的一种机器数表示

方法。

•采用补码表示法进行减法运算就比原码方便得多了。因为

不论数是正还是负,机器总是做加法,减法运算可变为加法

运算。但根据补码定义,求负数的补码要用2减去|x|。为了

用加法代替减法,结果还得在求补码时作一次减法,这显然

是不方便的。下面介绍的反码表示法可以解决负数的求补

问题。

归纳

1)正数的原码、补码和反码都有相同的形式,即

凶原=凶反=凶补=O.X1…Xn

2)负数的原码,通过将符号位置1,数值部分不变得

到;

3)负数的补码和反码符号位均为1,反码的数值部分

可通过将原码的数值各位取反获得,补码的数值部分

只需在反码的末位加一便可得到。

原码反码补码举例(以8位字长为例)

十进制数原码反码补码

+0000000000000000000000000

-0100000001111111100000000

+1000000010000000100000001

-1100000011111111011111111

+73010010010100100101001001

-73110010011011011010110111

+127011111110111111101111111

-127111111111000000010000001

例1:73-73=(01001001)补+(10110111)补=(00000000)补

[[X]补]补=[用原(证明从略)

例2:73-127=(01001001)补+(10000001)补=(11001010)补

反=原=・

=(11001001)(10110110)(25+24+22+21)10=-54

2.1.3非数值数据的表示

•在计算机中存储和处理的数据,除了数值数据之外,还有逻辑数据和字符数

据。逻辑数据和字符数据是不含有“值”的数据,这两类数据又统称为非数

值数据。

•逻辑数据是由若干位无符号的二进制数码组成,每位之间独立不相关,每位

没有数值概念,仅有逻辑值。仅用I表示“真”和用0表示“假”。

•在计算机的应用中,大量的工作是对字符和专用符号进行操作。例如在办公

室系统中的姓名、年龄和性别,企业管理系统中的制表、图书管理系统中的

图书编号及其分类等等,都需要利用字符或者符号来表示。这些符号包括:

•英文字符:A,B,C,……,X,Y,Z,a,b,c,・・・,x,y,z

・专用符号:$,@,#,“,+,—,/,=

•上述的这些符号不能直接装入计算机,必须将其编码、数字化处理之后,以

字符数据的形式装入计算机中。

•目前国际上普遍采用的字符系统是ASCII码(美国国家信息交换标准字符码),它

包括10个十进制数码,26个英文字母和一定数量的专用符号,如$,%,+产等,

共128个元素。

1.字符与字符串的表示方法

评料品能处聚一对于符号应用到计算机

中时,都必须编写成二进制格式的代码,也就是字符信

息用数据表示,称为符号数据。

目前国际上普遍采用的一种字符系统是七单位的

ASCII码(美国国家信息交换标准字符码American

StandardCodeforInformationInterchange),它包括10个

十进制数码,26个英文字母和一定数量的专用符号,如

$,%,+,=等,总共128个元第,因此二进制编码需

要7位,加上一个偶校验位,共8位,刚好为一个字节。

下表歹U出了七单位的ASCII码字符编码表。

高三位

低四位

000001010011100101110111

0000SP0@pp

美国信0001J1AQaq

息父换0010662BRbr

cs

标准码0011#3CS

0100$4DTdt

ASCII码0101%5EUeu

0110&6FVfV

ASCH码的011167GWgw

十进制表示:1000(8HXhX

*

1001)9IY1y

SP:32*•*

1010*JZJz

+*

0-9:48-5710119K[k{

\

11009<L11

AZ65-901101-=M]m)

1110*>NAn

a-z:97-122

/9O0DEL

1111—

字符串存储形式

字符串是指连续的一串字符,通常方式下,它们占用主

存中连续的多个字节,每个字节存一个字符。当主存字由2

个或4个字节组成时,在同一个主存字中,既可按从低位字

节向高位字节的顺序存放字符串内容,也可按从高位字节向

低位字节的次序顺序存放字符串内容。这两种存放方式都是

常用方式,不同的计算机可以选用其中任何一种。

字符串存储形式FUA

>BUT

例如下述字符串:HENU

IFUA>BUTHENUREAD(C)READ

C)

就可以按图所示从高位字节到低位字节依次存放在主存

中。其中主存单元长度由4个字节组成。每个字节中存放相应

字符的ASCII值,文字表达式中的空格在主存中也占一

个字节的位置。因而每个字节分别存放十进制的73,70,32

,65,62,66,32,84,72,69,78,32,82,69,65,68

,40,67,41,32o(符号数字化)

2.汉字的表示方法

汉字输入汉字输出

汉字信息处理系统的模型

(1)汉字的输入编码

数字编码常用的是国标区位码,用数字串代表一个汉字输入。区位

码是将国家标准局公布的6763个两级汉字分为94个区,每个区分94位

,实际上把汉字表示成二维数组,每个汉字在数组中的下标就是区位

码。区码和位码各两位十进制数字,因此输入一个汉字需按键四次。

例如“中”字位于第54区48位,区位码为5448。

数字编码输入的优点是无重码,且输入码与内部编码的转换比较方便

,缺点是代码难以记忆。

拼音码拼音码是以汉语拼音为基础的输入方法。凡是

掌握汉语拼音的人,不需训练和记忆,即可使用。但汉字

同音字太多,输入重码率很高,因此按拼音输入后还必须

进行同音字选择,影响了输入速度。

字形编码字形编码是用汉字的形状来进行的编码。把

汉字的笔划部件用字母或数字进行编码,按笔划的顺序

依次输入,就能表示一个汉字。

例如形象码、五笔字型编码都是比较有影响的字形编码

方法(形象码字梁分类总表参看附录)O

(2)汉字内码

汉字内码是用于汉字信息的存储、交换、检索等操作的

机内代码,一般采用两个字节表示。为了与英文字符能

相互区别,汉字机内代码中两个字节的最高位均规定为1

(3)汉字字模码

字模码是用点阵表示的汉字字形代码,它是汉字的输出

形式。

根据汉字输出的要求不同,点阵的多少也不同

简易型汉字为16x16点阵,提高型汉字为“24x24点阵

,、“32x32”点阵,甚至更高。因此字模点阵的信息量

是很大的,所占存储空间也很大。

以16x16点阵为例,每个汉字要占用32个字节

(16-8x16),国标两级汉字要占用256K字节。因此字

模点阵只能用来构成汉字库,而不能用于机内存储。字库

中存储了每个汉字的点阵代码。当显示输出或打印输出时

才检索字库,输出字模点阵,得到字形。

00行

汉字显示码

举例

■■■

64*64点阵,共占

512字节

000700E0

0700OC00

其中的第32行用字节保

存后如上所示

处理汉字的过程

只有在中文操作系统环境下才能处理汉字,操作系统

中有实现各种汉字代码间转换的模块,在不同场合下调用

不同的转换模块工作。

汉字以某种输入方案输入时,就由与该方案对应的输

入转换模块将其变换为机内码存储起来。汉字运算是一种

字符串运算,用机内码进行,从主存到外存的传送也使用

机内码。在不同汉字系统间传输时,先要把机内码转换为

传输码,然后通过接回送出,对方收到后再转换为它自己

的机内码。

输出时先把机内码转换为地址码,再根据地址在字库

中找到字形存储码,然后根据输出设备的型号、区特性及

输出字形特性使用相应转换模块把字形存储转换为字型输

出码,把这个码送至输出区设备输出。

2.1.4运算规则

・计算机的运算包括算术运算、逻辑运算、数据比较和数据传送。其中

算术运算就是指二进制数的加减乘除运算;逻辑运算包括逻辑与、逻

辑或、逻辑非运算;数据比较是指常见的大于、小于、等于、不等于、

大于等于、小于等于;数据传送是指输入、输出和赋值,下面给出算

术运算和逻辑运算的运算规则:

•加法0+0=00+1=11+0=11+1=0(进位)

•减法0・0=01-0=11-1=00・1=1(借位)

,乘法0x0=01x0=00x1=01x1=1

•除法与十进制类似

•逻辑“与”运算0x1=01x0=00x0=01x1=1

•逻辑“或”运算0+0=00+1=11+0=11+1=1

•逻辑“非”运算Not0=1Not1=0

2.2计算机的硬件组成

2.2.1运算器

2.2.2存储器

2.2.3中央处理器

2.2.4外部设备

2.2计算机的硬件组成

・计算机的硬件是由电子器件等构成的,它包括运算器、存储器、控制器、

输入和输出设备。通常将运算器和控制器称为CPU(CentralProcessing

Unit),而将CPU和存储器称为主机。存储程序并按地址顺序执行,这

是冯•诺依曼型计算机的工作原理,也是计算机自动化工作的关键。举个

例子来讲:

•当我们用一个算盘,一张纸,一支笔来计算一道算术题时用到了:

•纸:用于存储解题的原始信息;

・算盘:用于对数据进行加、减、乘、除等算术运算;

•笔:用于把原始数据和解题步骤记录到纸上,以及写出运算结果;

•人脑和手:用于控制解题步骤。

2.2计算机的硬件组成

•同样的,计算机也需要相应部件:

•存储器:在计算机中相当于纸那样具有“记忆”功能的部件;

•运算器:在计算机中相当于算盘功能的部件;

•输入设备和输出设备:相当于笔,把原始解题信息送到计算机或把运

算结果显示出来的设备;

­控制器:相当于大脑,能够自动控制整个计算过程。

2.2计算机的硬件组成

•数字计算机主要组成部分如图2-1所示。

»控制.

>数据.

图2-1数字计算机的硬件组成.

2.2.1运算器

•运算器就好比一个由电子线路构成的算盘,能进行加、减、乘、除等算

术运算,还可进行与、或、非等逻辑运算。考虑到电子器件的特性,计

算机中通常采用二进制数。二进制数就是以2为基数来计数,即逢二进一

就像十进制中只有0〜9共十个独立的数符一样,在二进制中只有0和1两

个独立的数符,而这恰好能够与电子器件中电压的高低、脉冲的有无对

应起来,容易实现。二进制数的运算规律非常简单,在电子线路中比较

容易实现,而且设备也最省。在运算中,二进制数和十进制数一样,当

数的位数越多时,计算的精度就越高,但是位数越多,所需的电子器件

也越多。

2.2.1运算器

•运算器由核心部件,即算术逻辑部件ALU(ArithmeticLogicUnit)和寄

存器、总线等组成。运算器的设计,主要是围绕逻辑运算部件ALU和寄

存器同数据总线之间如何传送操作数和运算结果进行的。总线是一组由

多个部件分时共享的传送线路,共享是指总线上可以挂接多个部件,它

们之间可以通过这一组公共总线传送信息;分时是指一组总线在同一时

刻只能提供给挂接在上面的两个部件之间传送信息,否则会发生冲突。

运算器的设计,需要考虑数据传送的方便性和操作速度,在微型机和单

片机中还要考虑在硅片上制作总线的工艺。计算机的运算器大体有如下

三种结构形式。

2.2.1运算器

•L单总线结构的运算器

•单总线结构的运算器把所有部件都接到同一总线上,所以数据可以在任

何两个寄存器之间,或者在任一个寄存器和ALU之间传送。对这种结构

的运算器来说,在同一时间内,只能有一个操作数放在单总线上。如果

要把两个操作数输入到ALU,需要分两次来做,而且还需要两个缓冲寄

存器A和B,如图2-2所示。例如,执行一次加法操作:首先把第一个操

作数经总线送入A缓冲寄存器;接着把第二个操作数经总线送入B缓冲寄

存器;最后ALU执行加法,把结果通过总线送入目的寄存器。

2.2.1运算器

•这种结构的主要缺点是操作速度较慢。但由于它只控制一条总线,故控

制电路比较简单。

2.2.1运算器

•2.双总线结构的运算器

•双总线结构中,两个操作数同时加到ALU进行运算,只需一次操作控制,

而且马上就可以得到运算结果。两条总线各自把其数据送至ALU的输入

端,如图2-3。特殊寄存器分为两组,它们分别与一条总线交换数据。这

样,通用寄存器中的数据就可进入到任一组特殊寄存器中去,从而使数

据传送更为灵活。ALU的输出不能直接加到总线上去,这是因为,当形

成操作结果输出时,两条总线都被输入数占据,因而必须在ALU输出端

设置缓冲寄存器。例如,执行一次加法操作操作的控制要分两步完成:

第一,在ALU的两个输入端输入操作数,形成结果并送入缓冲寄存器;

第二,把结果送入目的寄存器。

2.2.1运算器

总线b

图2-3双总蜘构运算器

2.2.1运算器

•3.三总线结构的运算器

•在三总线结构的运算器中,ALU的两个输入端分别由两条总线供给,而

ALU的输出则与第三条总线相连,如图2-4。这样,算术逻辑操作就可以

在一步控制之内完成。另外,设置了一个总线旁路器。设置总线旁路器

的目的是:如果一个操作数不需要修改,而直接从总线2传送到总线3,

那么可以通过控制总线旁路器把数据传出;如果一个操作数传送时需要

修改,那么就借助于ALU。很显然,三总线结构的运算器的特点是操作

时间快,但需要总线多。

2.2.1运算器

总线1.

图2-4三总段构运算器

2.2.2存储器

•存储器是计算机的重要组成部分。当利用计算机完成某项任务时,事先把解决问

题的程序和所需数据存于存储器中,在执行程序时再由存储器快速地提供给处理

机。显然,存储器的功能是存储信息,保存或“记忆”解题的原始数据和解题步

骤。不论是数据,还是解题步骤,存储器存储的全是0或1表示的二进制代码。用

一个具有两种稳定状态的物理器件表示二进制。和1,这种器件称为记忆元或记忆

单元,它所表示的是二进制数的一位。位是二进制数的最基本单位,也是存储器

存储信息的最小单位。一个二进制数由若干位组成,当一个数作为一个整体存入

或读出时,这个数称为存储字。程序和数据以二进制的形式存放在存储体中,它

是存储器的核心部分。为了区分存储体中的所有单元,必须讲它们逐一编号。

2.2.2存储器

目前采用半导体器件来作为存储器,一个半导体触发器可以记忆一个二进制代码,

一个数假定用16位二进制代码表示,那么就需要有16个触发器来保存这些代码。

在存储器中保存一个数的16个触发器,称为一个存储单元。存储器是由许多存储

单元组成,每个存储单元的编号称为地址。存储器所有存储单元的总数称为存储

容量。通常用单位“KB、MB”表示,如64KB,128MB。存储容量越大,表示计

算机能够储存的信息就越多。

2.2.2存储器

•存储体和它周围的逻辑控制线路组成存储器,从信息流通的角度看,存

储器的基本结构如图2-5所示,它由四部分构成:存储体、存储器地址寄

存器、存储器数据寄存器和读/写控制线路。

数据.

存储器数据寄存器.

j

<=1读写命令3

线

-.

1

地址代码,

图2-5存储器基本结构图

2.2.2存储器

•存储器有两种基本的操作:一种是读操作;一种是写操作。读操作是

由中央处理器将地址加载到地址寄存器中,将读命令加载到读写控制

线路上,在读命令的作用下,存储器将按照地址寄存器中的地址从相

应的单元中读出内容送到数据寄存器中。写操作是由中央处理器将地

址加载到地址寄存器中,将要写的数据加载到数据寄存器中,然后将

写命令加载到读写控制线路上,在写命令的作用下,存储器将数据写

入地址寄存器所指定的对应单元中去。

•根据存储材料及使用方法不同,存储器有各种不同的分类方法。

2.2.2存储器

•1.按存储介质分类

•凡是明显具有两种状态的物质和元器件,都可以用来记忆二进制代码“0”和

“1”。通常把这些物质和元器件称为存储介质。

・(1)半导体存储器:用半导体器件组成的存储器。一种是双极型存储单元,这

种存储器存取速度快,但是功耗较大,集成度较低;另一种是MOS存储单元,

其特点是集成度高,功耗小,工艺简单。双极型存储单元多用作快速、小容量

的存储器。MOS存储单元多用作大容量的主存。

•(2)磁表面存储器:用磁性材料做成的存储器。在磁表面存储器中,信息记录

在一薄层磁性材料表面上,随着载体

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论