中山大学《微型计算机系统原理及应用》考研重点笔记_第1页
中山大学《微型计算机系统原理及应用》考研重点笔记_第2页
中山大学《微型计算机系统原理及应用》考研重点笔记_第3页
中山大学《微型计算机系统原理及应用》考研重点笔记_第4页
中山大学《微型计算机系统原理及应用》考研重点笔记_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

考试复习重点资料(最新版)

资料见第二页

第1页

绪论

§1-1计算机的发展概况及分类

§1-1-1计算机的发展概况

1946年,第一台计算机在美国诞生,至今已有近60年的历史。60年来,计算机经历了

迅猛的发展,得到了广泛的普及,对整个社会的进步和科学的发展产生了极其深远的影响。

在此期间,计算机经历了电子管计算机时代、晶体管计算机时代、集成电路计算机时代、大

规模及超大规模集成电路计算机时代。计算机的功能己经从早期的数值计算、数据处理发展

到可以进行知识处理的人工智能阶段,不仅可以处理文字、字符、图形图象信息,而且可以

处理音频、视频信息,形成了智能化的多媒体计算机。

在推动计算机技术发展的诸多因素中,除了计算机的系统结构和计算机的软件技术发展

起到了重要的作用之外,电子技术特别是微电子技术的发展也起到了决定性的作用。70年

代初,随着大规模集成电路的出现,原来体积很大的中央处理器(CPU)电路集成为一个只

有十几平方毫米的半导体芯片,称为微处理器(MPU)。

微处理器的出现,开创了微型计算机的新时代。以微处理器为核心,再配上半导体存储

器(RAM、ROM)、输入/输出接口电路(I/O接口电路)、系统总线以及其他支持逻辑,这

样组成的计算机,称为微型计算机。微型计算机的出现,是计算机技术发展史上的一个新的

里程碑,为计算机技术的发展和普及开辟了崭新的途径。

由于微型计算机具有体积小、重量轻、价格便宜、耗电少、可靠性高、通用性和灵活性

好等特点,加上超大规模集成电路工艺技术的迅速发展和成熟,使微型计算机技术得到了极

其迅速的发展和广泛的应用。从1971年美国INTEL公司首先研制成功世界上第一块微处理

器芯片4004以来,在头十年中,差不多每隔2〜3年就推出一代新的微处理器芯片,如今已

经推出了多代微处理器产品。

微处理器是计算机的核心部件。它的性能在很大程度上决定了微型计算机的性能,因此,

微型计算机的发展是以微处理器的发展来更新换代的。

第一代(1971〜1973)微处理器和微型计算机是4位微处理器和低档8位微处理器时代。

在这一时期,典型的产品有INTEL4004、INTEL8008,其中INTEL8008是第一个8

位通用微处理器,以4004、8008为CPU构成的微型计算机分别是MCC4和MCS-8。主要

应用于各种袖珍计算器、家电、交通灯控制等简单控制领域。

第二代(1973〜1978)微处理器和微型计算机是成熟的8位微处理器时代。

1973年INTEL公司推出了性能更好的8位微处理器8080。它的出现,加速了微处理器

和微型计算机的发展。MOTOROLA公司的MS6800,ZILOG公司的Z80,INTEL公司的

8085等。广泛用于数据处理、工业控制智能仪器仪表及家电等各个领域。

第三代(1978〜1983)是16位微处理器时代。

70年代后期,超大规模集成电路的成熟,进一步推动了微处理器和微型计算机生产技

术向更高层次发展。1978年,INTEL公司率先推出了新一代16位微处理器8086,随后,INTEL

公司的8086/8088,MOTOROLA公司的MC68000和ZILOG公司的Z8000,这些高性能的

16位微处理器成为当时国内外市场上流行的典型产品,集成度高达29000管/片。INTEL

8086/8088内部采用流水线结构,设置了指令预取队列,使处理速度大大提高。INTEL公司

推出了十六位微处理器中的高档芯片80286,它具有多任务系统所必须的任务切换功能、存

储器管理功能和多种保护功能,支持虚拟存储体系结构,地址总线从20位增加到24位,存

储器直接寻址空间达到16MB,时钟频率提高到5MHz〜25MHZ。从80年代中、后期到90

年代初,80286一直是个人计算机IBMPC/AT机的主流型CPU。同期的产品还有

MOTOROLA的MC68010。

第四代(从1983年起)是32位微处理器时代。这一时期的典型产品有ZILOG公司推

出的Z80000、MOTOROLA公司推出的MC68020、INTEL公司推出的80386、80486、

MOTOROLA公司推出的68040等。

第五代(1993)是INTEL推出的Pentium微处理器(简称P5或586)。Pentium微处理

器的推出,使微处理器的技术发展到了一个崭新的阶段,标志着微处理器完成从CISC向

RISC时代的过度,也标志着微处理器向工作站和超级小型机冲击的开始。同期的产品还有

AMD公司的K5,IBM、APPLE、MOTOROLA三家联合推出的POWORPC。

继PentiumPRO之后,Intel公司又推出了PentiumIIPentiumIII、PentiumW等微

处理器的极品,成为PC机的主流CPU。

随着LSI和VLSI技术的进一步发展,微处理器的集成度越来越高,芯片功能越来越强。

从微型机总的发展情况看,为了使微处理器获得高性能,一方面提高集成度,另一方面在系

统设计上追求综合性能的提高,更加全面的采用中大型计算机体系结构中的先进技术,如流

水线技术、高速缓存技术、虚拟存储管理技术、RISC技术、并行处理技术,更好地支持多

处理器运行环境、多媒体技术和计算机网络应用等。

§1-1-2计算机的分类

微处理器的字长也就是微型机的字长,字长是最能反映机器性能的技术指标之一。按照

微处理器的字长分类,一般可分为4位、8位、16位、32位和64位机等几种。

如果将微型计算机按照其组装形式来分,可将其分为单片机、单板机和多板微型计算机。

§1-2微型计算机的特点及应用

§1-2-1微型计算机的特点

电子计算机通常按照体积、性能和价格分为巨型机、大型机、中型机、小型机和微型机

五类。从系统结构和基本工作原理上说,微型机和其它几类计算机并没有本质上的区别,所

不同的是微型机广泛采用了集成度相当高的器件和部件,因此带来以下一系列特点:

•体积小、重量轻、功耗低

由于微型计算机中广泛采用了大规模和超大规模集成电路,从而使构成微型机所需要的

器件和部件数量大为减少,使之体积大大缩小。

•可靠性高、使用环境要求低

微机计算机采用大规模和超大规模集成电路以后,使得系统内使用的器件数量大大减

少,器件、部件间的连线大大减少,接插件数目减少,加上MOS电路本身工作所需的的功

耗就很低,这些都使微型机的可靠性大大提高,因而,也就降低了对使用环境的要求。

•结构简单、系统设计灵活、适应性强、使用方便

由于微型计算机多采用规模化的硬件结构,特别是采用总线结构后,使微机系统真正成

为一个开放的体系结构,构成系统的各功能部件和各种适配卡通过标准的总线插槽相连。相

互间的关系变为面向总线的单一关系,大大增加了系统扩充的灵活性和方便性。

•软件配置丰富

计算机的优良硬件性能是通过丰富多彩的软件体现在人们面前的。因此,软件是计算机

的灵魂。如今,微型计算机之所以得到如此空前的普及和广泛应用,是与它能配置丰富的软

件密切相关,从系统软件到应用软件应有尽有,而且功能强、使用方便,这就加速了微型机

在人类社会的普及。

•性能价格比高

性能价格比是指机器性能与售价之比。它是衡量计算产品成本性能优劣的一个综合指

标,性能包括字长、主频、速度、配置、可靠性、可操作性等;价格指售价。

微处理器最突出的优点之一就是价格低廉、性能优良。

§1-2-2微型计算机的应用

1.工业控制

2.事物处理

3.计算机辅助设计和辅助制造CAD/CAM

CAD是指用计算机帮助设计画图,可使得设计过程走向半自动化和自动化。CAM的中

心设备是数控机床,围绕数控机床有一组自动化设备,用以完成加工件的运输、组装、加工、

测量、检查等功能。

CAD/CAM能大量节省人力,提高效率。更重要的是提高质量,并使以往人工难以完成

的任务成为可能。

4.教学培训

5.家庭娱乐和家政事物管理

6.科学和工程计算

§1-3计算机的基础知识

§1-3-1计算机中的数据表示及编码

进位计数制及数制转换

人类在长期的生产劳动实践中创造了我们最熟悉的十进制,而生活中还有十二和十六进

制等多种数系,其共同之处是采用进位计数制。

1.进位计数制

进位计数制是采用位置表示法,即处于不同位置的同一数字符号,所表示的数字不同。

一般说来,如果数制只采用R个基本符号,则称为基R数制,R称为数制的“基数”或筒

称“基”;而数制中每一固定位置对应的单位值称为“权”。

进位计数制的编码符合“逢R进位”的规则,各位的权是以R为底的‘幕,一个数可以

按权展开成多项式,例如“逢十进一”的十进制数1992.5可写为

1992.5=1X103+9X102+9X1O'+2X10O+5X10-'

对R进制数N,若用n+m个代码Di(-mWiWn-l)表示,从D『i到D_„,自左至右排列,

其按权展开多项式为:

nn20

N=Dn.lR"+Dir2R-+--•+D0R+D,R'+•••+D.R"

其中Di为第i位代码,它可取0〜(R-1)之间的任何数字符号;m和n均为正整数,

n表示整数部分的位数,m表示小数部分的位数;Wi表示Di位的权,它是以R为底的基。

下面是计算机常用的进位计数制:

二进制R=2基本符号0,1

八进制R=8基本符号0,1,2,3,4,5,6,7

十进制R=10基本符号0,1,2,3,4,5,6,7,8,9

十六进制R=16基本符号0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

其中,十六进制中的数符A〜F字母,分别对应十进制的10〜15,例如一个十六进制数

8AE6可以写为:

8AE6H=8X163+10X162+14X16'+6X16°

在数8AE6后面加H是为了识别十六进制数而加的标识字母。由于二进制数书写长,难

读难懂,为书写方便,计算机中经常使用8进制或16进制。人们又习惯于十进制,而计算

机内必须采用二进制,故上面四种进制是经常要用的。为了识别起见,二进制数尾加B作标

识,十进制数尾加D或省略,八进制数尾加Q,十六进制数尾则加H。使用四种进制必然产

生各种数制间的相互转换问题.

2.进位计数制间的相互转换

不同进位计数制数据转换,其实质是进行基数的转换,转换原则是根据:两个有理数相

等,其整数部分和小数部分分别相等。故要分别进行转换。

(1)二进制与十进制转换

a.二进制转换为十进制

其转换规则为“按权相加”,即只要把二进制数中位数是1的那些位的权值相加,其和

就是等效的十进制数。二进制数整数与小数部分各位权值对应的十进制数值为:

…2'°29282726252"2322212°2'

2"…

―102451225612864321684210.5

0.25-

例1.1将10101101.101B转换为十进制数

10101101.101B=27+25+2:i+22+20+2'+23

=128+32+8+4+1+0.5+0.125

=173.625D

该转换规则同样适用于将八进制数和十六进制数转换为十进制数,只是相加各项是八进

制或十六进制数符与数位权值之和。

例1.2将312Q和2A.68H转换为十进制数

312Q=3X82+1X8'+2X8°=3X64+8+2=202D

2A.68H=2X16'+10X160+6X16'+8X162

=32+10+0.375+0.03125

=42.40625D

b.十进制转换为二进制

整数部分转换一一将十进制数连续用基数2去除,直到商数到0为止,每次除得的余数

依次为二进制数由低到高的各位值,简称“除2取余”法。

例1.3将47D转换为二进制数

1L=23余]

2

空_=11余]

2

11

~=5余]

5

2-=2余]

2

~=1余0

1

=0余]________________,

101111

高位

低位

所以,47D=101111Bo

同理,将十进制数转换为R进制数,按照“除R取余”规则即可。

例1.4十进制数725D转换为十六进制数。

按“除16取余”方法进行。

16725余数5

1645余数13(D)

16|_2_余数2

0

转换结果:725D=2D5H

小数转换一一将十进制小数部分连续乘以2,每次所得乘积的整数部分,依次为二进制

数从高到低的各位值。转换规则简称“乘2取整法”。

例1.5将0.6875D转换为二进制数。

0.68750.37500.75000.5000

x2x2x2x2

1.37500.75001.50001.0000

T——r

1011

高位-------------------------►低位

所以,0.6875D=0.1011B

需要注意的是,十进制小数常常不能准确地换算为等值的二进制数,有换算误差存在,

转换后的二进制数位数,根据字长限制取有限位的近似值。

同理,十进制小数转换为二进制,可以按照“乘R取整”方法进行。对于具有整数和

小数的复合十进制数,只要将整数和小数部分分别按照上述转换方法进行,最后将其二进制

整数和小数部分用小数点连接即可。例如从例3和例5可得:

47.6875D=101111.1011B

(2)二进制与八进制和十六进制之间转换

由于八进制、十六进制既可简化书写,又便于记忆,而且与二进制之间转换方便、直观,

因此在汇编语言程序及机器语言中指令、数据书写多采用八进制和十六进制。由于八、十六

进制基数与二进制有内在联系,即:23=8,24=16。因此,每一位八进制数可以转换为三位

二进制数,每一位十六进制数可以转换为四位二进制数,转换直接而且方便。

a.二一八进制转换

将二进制数以小数点为界,左右分别按照三位一组划分,不足三位者用零补齐,即可换

算出对应的八进制数。

例1.6把110111101.011100B转换为八进制数。

110111101.011100

675.34

即110111101.011100B=675.34Q

反之,由八进制转换为二进制只需要把各自对应的三位二进制写出即可。

例1.763.52Q转换为二进制数。

63.52Q=(110)(0ll).(101)(010)B

=110011.10101B

b.~-h六进制转换

将二进制数转换为十六进制数和二一八进制转换方法一样,只是将二进制数按照四位一

组进行划分转换。

例1.8把10H1001.01101B转换为十六进制数。

10111001.01101B=(1011)(1001).(0110)(1000)B

=B9.68

所以,10111001.01101B=B9.68H

反之,将十六进制数各位数码用相应四位二进制数表示,即可转换为等效的二进制数。

例1.9把5F.7A5H转换为二进制数。

5F.7A5H=(0101)(1111).(0111)(1010)(0101)B

=01011111.011110100101B

二.数值数据表示

本节我们着重讨论两个问题:数值数据在机内的定点和浮点表示方法;数据的编码方式。

1.机器数的定点和浮点表示

把数值数据送入计算机处理,仅转换为二进制还不行,必须解决数的符号表示,小数点

位置以及用有限设备表示的有效数值范围等问题。数在机器内部的表示形式称为机器数,而

计算机对应的数值称为机器数的真值。机器数被存放在有记忆功能的存储器件中。机器数的

符号是数字化处理的,用一位编码表示,通常用0表示正数,1表示负数。机器数的小数点

位置是事先约定的,它在机器数表示格式中并不出现,但根据设计格式,计算机在运算处理

中却清楚地知道其位置。按照规定格式,机器数有定点和浮点两种表示形式。

(1)定点表示

由于采用进位计数制,任何一个二进制数N都可以表示为:

N=2±exS

其中:e是一个二进制整数,称为数N的阶数;2为底数,S是二进制尾数,它表示该

数的全部有效数字,而阶码e则指明了小数点位置,表明数值范围。

对任一数N=2±exS,若阶码e固定不变,则小数点位置是固定的,这种表示则称为数的

定点表示,该数称为定点数。计算机中定点数通常有两种约定:一是取e=0,把小数点固定

在尾数最高位之前,一是取e=n(n为尾数的位数),则把小数点约定在尾数最末位之后,这

两种情况阶码无须表示,前者即为定点小数,后者即为定点整数,其格式如图1-1中(a)、

(b)所示。

10110010

ns

数符II----------数值---------1

I-------->假想小数点的位置

N=-0.0110010

(a)定点小数

01001001

ns

数符।।-------数值---------1

।-----A假想小数点的位置

N=+1001001

(b)定点整数

图1-1定点数表示

以上两种定点数的表示,计算机均可采用,目前微型机中,多采用定点整数形式。这里

需要强调的是:小数点位置是假想位置,当机器设计时将表示形式约定好,则各种部件及运

算线路均按约定形式进行设计.

机器数字长确定后,其数值表示范围即可确定。例如对定点小数,机器数定长N位,

其中一位符号位,n位有效数值,则N位定点小数表示范围为:

1.11…11(最小值)至IJ0.11…11(最大值)

n位n位

对应真值表示范围为:

-(l-2-n)<X<l-2-n

例如,N=16位,则对应表示的真值范围为

-(1-2|5)<X<l-215

用n位设备存放定点整数,则所能表示的真值为负n位全1到正n位全1,即

-(21)<X<2n-l

若N=16位则为:

-(215-1)<X<2,5-1

若用n位表示无符号整数,则其整数值表示范围:

0〜2n—1

计算机中参加运算的数,若超过计算机所能表示的数值范围,则称之为溢出。这时,

计算机要对溢出进行相应处理操作。

(2)浮点表示

当阶码值不固定时,数的小数点实际位置将根据阶码值相对浮动,这就构成数的浮点表

示。浮点表示要把机器数分为两部分,一部分表示阶码,另一部分表示尾数,阶码和尾数均

有各自的符号位。阶符表示数的实际小数点相对约定小数点位置的浮动方向:若阶符为负,

实际小数点在约定小数点左边,反之在右边,其位置则由阶码值确定,而尾数符号代表了浮

点数的符号。图1-2所示为浮点数的一种表示形式。

esE(r位)msM(n位)

阶符阶码尾符尾数

图1-2一种浮点数表示形式

若尾数用n位小数表示,浮点数的表示范围根据阶码位置r和尾数位数n决定,其浮点

数表示范围为:

a=(2r—1)

-2ax(1-2n)<X<+2aX(1-2n)

例如对十六位机器字长,阶码4位(包括一位符号),尾数12位(一位符号),则数值表示

范围:

a=(23_1)=7

-27x(1-2")<X<+27X(1-2")

或一128'(1—2-u)4X<+128X(1-2"")

可以看出,要扩大数的表示范围,应增加阶码的位数;而要增加精度,就需要增加尾数

的位数。对同样字长,浮点数比定点数表示的数值范围要大许多,但浮点数运算操作复杂。

浮点数产生溢出,实质上是阶码溢出。

2.机器数的编码表示

数值数据在计算机内采用符号数值化处理后,机器可以表示并识别带符号的数据。为了

改进运算方法、简化控制电路,人们研究出多种符号数的编码方式,如原码、反码、补码等。

这里我们介绍最常用的原码和补码形式。

(1)原码

前面已经讨论过最简单直观的机器数表示,即仅将符号位数字化表示为0或1,数的绝

对值与符号一起编码,或者说是“符号-绝对值表示”的编码,称为原码。

例:X=+0110111(X)s,;=00110111

X=-0110111(X)城=10110111

其中(X)域称为机器数,X称为机器数的真值。因此,原码直接可从真值求得,只要将符

号位用0和1表示真值的正号和负号,真值的绝对值就是原码的数值部分。

当采用原码表示法时,编码简单直观,与真值转换方便,但也带来一些麻烦。一是引起

机器中。的表示不唯一,因为[+0]城=000…0,[-0bsi=100…0,0有二义性,给机器判0带

来麻烦,必须在设计时约定好机器采用正零或负零。二是用原码进行四则运算时,符号位需

要单独处理,而且原码加减运算规则复杂。例如对有符号数的加法规则为:若两个数同号,

两数相加,结果冠以共同的符号;若两个数异号,则由大数中减去小数,结果冠以大数的符

号。而减法又有一套规则。

(2)补码

为使数字化后的符号位能作为数参加运算,并解决减法转换为加法的问题,以简化计算

机的运算线路,就产生了补码表示。

如果我们想把十进制减法变成加法做,用什么办法呢?减一个十进制数可采用加该数的

十进制补数,然后丢弃进位得到相减结果,一个数的卜进制补数是用10减去该数得到的。

例如,十进制减法:

9-2=7,2的补数是10-2=8

因此9-2=9+8=17-7(丢掉进位)

这里,实际是把10看成一个模数,记作M。模数在物理上,是某种计量器的度量。在

模数系统中:

9-2=9+8=17—7(Mod10)

上式之所以成立,是因为2与8对模数10是互为补数的,即8=10—2。

生活中使用的模数系统很多,例如时钟为12,有下式成立:

8—3=8+9-5(Mod12)

因为9=12—3。该式表明将时钟从8点倒拨3格和正拨9格效果一样,时钟均指向5点,我

们称+9为-3在模12下的补码,即[―3]=9(Mod12),这样就可以把减法转换为加法。

计算机中的机器数及其存储、运算设备,如寄存器、加法器等都有固定的长度,因此,

都只能进行有模的计算。N位设备存放n位二进制代码,则2n就是其模数,因为两数相加

求和时,如果n位的最高位产生了进位,就会丢掉,这正是模数系统中相加的概念。所以,

对任何一个二进制负数都可以找到对应于模数为2n的正补数,从而将减法运算变为加法运

算。同时,由于n位字长中包括一位符号位,故补码运算中的符号和数一起运算。对补码的

产生、定义和有关性质的证明,不准备进行过多的讨论,我们只需要了解补码的形式及其运

算特点。

a.补码的求法。由以上讨论可知,对一个二进制负数可用其模数与真值作加法(实

际作减法,因真值为负)求得其补码,即按定义式求

rX0<X<2n-'

[X]th="(mod2)

^2n+X-2"-'<X<0

但在机器中实现不方便,因机器中不存在数的真值表示,由于原码表示简单直观,因此在计

算机中数是以原码存储的。我们可从数学推导得出一个简便方法,直接从原码求得负数补码。

对正数,其补码和原码相同。负数的补码则是将原码符号位保留,其余各位取其反码,即0

变1,1变0,再在最低位加1°而正数的补码与原码相同。即

除符号位外

[X],e-----------------------------►=[X]n

每位取反,末位加1

例1.10求X=+1010101的补码。

X是正数,[X]产[X%=01010101

例1.11求乂=-0101110的补码。

X是负数,=10101110

[X]fl=l1010001+1=11010010

b.补码特点

机器数采用补码表示后,具有如下几个特点:

①正零、负零表示均为全零,机器零表示统一

(+o)产oo-0(一0)产11-i+i=rr]oo-o

位:~。位—I

自动丢失

所以,(+0)产(―0)H=00,•,o

②运算时符号位无须单独处理。符号位可作为数值一起参加运算,而且在不溢出

的情况下,仍能得到正确的结果符号。这是由补码性质决定的。

③采用补码进行加减法运算时,减法可用加法实现。其运算规则为

[X]n+[Y])h=[X+Y]n(mod2n)

[X]ih+[-Y]n=[X-Y]4(mod2n)

该规则的严密证明略,我们只应用其结论。由于这种转化使得加减法运算只要一套加法

设备即可,从而简化了硬件电路,这是补码表示法的一大优点。

在使用补码表示的计算机中,传送和运算处理过程中机器数均以补码形式出现,因此做

减法时必须从[Y,求出[―丫[,求[一Y]»方法也很简单,只要对[Y。的每一位(包括符号位)

都求反,末位加1就得[一丫]补,即

连符号位

[Y]产---------------------►[-Y]4

按位取反。末位加1

[丫[与[一丫]»是对模2n互补,故也称[一丫],卜为[丫1的机器负数。

例1.12用补码求33+(-15)=?

[+33]s=0010000IB[+33]产00100001B

[-15]城=1000111IB[-15])h=l1110001B

33+(-15)=[+33]H+[-15]n=100010010B=18进位丢失

例1.13用补码求67—10=?

[+67]原=01000011B[+67]产01000011B

[10]s=00001010B[-10]().=11110110B

67-10=[+67]lh+[-10]n

=01000011B+11110110B

=00111001B=57

以上两例表明,当带符号的两个数采用补码形式表示时,进行加减运算可把符号位和数

值位一起进行运算。若符号位有进(借)位,则丢掉。结果即为两数之和或差的补码形式,

这是补码表示的又一优点。

特别要指出的是,采用补码进行加减运算,所有参加运算的数及运算结果都是用补码表

示的,若要得到原码还需转换,其转换方法很简单,正数补码与原码相同,对负数将其补码

除符号位外,逐位取反,末位加1,就可得到原码。

除符号位外

[X]n----------------------------►=[X],;

每位取反,末位加1

@对机器数所表示的数值范围,用补码时要大一点,它可扩充到负数模值。例如:

8位定点整数,用原码表示,其数值范围为一127〜+127,而用补码,一128〜

+127,目前采用补码表示的机器较多。

3.十进制数的二进制编码表示

由于人们习惯十进制,而计算机采用二进制,为便于人机交往,常常用一组四位二进制

编码表示一个十进制数字符号,称为二进制编码的十进制数,二进制编码的十进制数有

许多编码方法,它们可以分为有权编和无权编码两类。下表中列出几种形式的编码表示。

表1-2几种形式的编码表示

十进制有权码无权码

符号8421(BCD)24215221余3码格雷码

000000000000000110000

100010001000101000001

200100010001101010011

300110011010101100010

401000100011101110110

501011011100010001110

601101100101010011010

701111101110010101000

810001110111010111100

910011111111111000100

(1)有权码

最常用的有权码是8421码,也称BCD码,这是最自然且简单的编码方法。它用四位

二进制编码表示一位十进制数,每一位恰好是二进制低四位的权。由于这种自然联系,故

8421有权码有时也称NBCD码,意为自然(Natural)BCD码。8421码实现二-十转换很容

易,此外还很容易判别十进制数的奇偶性,即奇数的最低位都为1,偶数的最低位都为0。

除8421码外,还有其它几种有权码,表中列出了2421,5221有权码,这两种编码的特

点是任何两个十进制数相加等于9时,它们相对应的编码相加结果为1111,这一特点对于

减法非常有用,因为按9互补的关系恰好对应二进制模的互补关系。

(2)四位无权码

四位无权码主要有余3码和格雷码两种。余3码是由8421码加0011得来的,各位没有

权的关系,余3码具有上面2421,5221有权码的特点,实现减法运算方便,只要对加法产

生的值进行修正就可以了。由于每个数余3,两个数余6,恰好跳过四位编码冗余码。

格雷码的编码规则是相邻两代码之间只有一位不同,这样数据传送的可靠性高,适合做

控制编码。

有BCD码,机器便可以进行十进制运算,设置十进制运算指令。但要注意,由于用四

位二进制数表示十进制数,尚有6种编码冗余,除余3码外,均不能由四位二进制最高位进

位直接获得十进制数的进位。为此,硬件电路中要设置BCD码校正电路,指令中有十进制

运算调整指令,以保证二-十进制编码运算得到正确的结果。

三.非数值数据的表示

非数值数据不表示数值的大小。它通常分两类:逻辑数和字符数,均以二进制数码表示。

1•逻辑数

逻辑数由无符号二进制代码组成,每位不表示数值,只表示逻辑真值和逻辑假值。逻辑

数只能参加逻辑运算,其运算特点是:运算按位进行,各位之间没有进位、借位等情况,即

各位相互独立。

由于逻辑数表示和数值数一样,计算机必须根据程序中的指令名来识别运算数据类型。

2♦字符数据及其编码

目前,在计算机应用的许多场合中,需要对字符或专用符号进行操作,用高级程序设计

语言进行人机交往也是使用字符或符号。由于这些符号不能直接送入计算机,必须先进行数

字化处理,用二进制数码表示,我们称之为字符数据。

这些字符如同十进制数字一样,都必须按照一定的规则用一组二进制编码来表示,才能

为计算机所识别、处理和传送。当输入信息时,要通过输入设备把输入的字符编成一定格式

的代码接收进来,而输出时则要把相应的字符编码送到外部输出设备显示或打印。

字符编码方式有各种规定,或称标准。我国使用的部颁标准字符编码与国际上较普遍使

用的ASCII码基本相同。ASCII码是美国信息交换标准代码,编码表见附录。

§1-4微型计算机的基本结构及工作原理

§1-4-1计算机基本组成及工作原理

一,计算机基本组成

1946年,在美籍匈牙利数学家冯•诺依曼领导的研制小组提出的计算机设计方案中,

明确了计算机的五大基本组成,即运算器、逻辑控制装置(控制器)、存储器、输入和输出

设备,并描述了五部分职能关系及基于存储程序的基本工作原理。图1-17为计算机基本组

成。

程序结果

输入设备(I)=^>存储器输出设备(0)

数据地址指令数据

控运

算数据线

制反馈

器地址线

控制信号线

图1-17计算机基本组成

1.存储器

存储器是用来存放数据和程序的部件,其基本功能是按要求向指定的位置写入或取出代

码信息。

存储器采用按地址存取的工作方式,它由许多存储单元组成,每一个存储单元可以存放

一个数据代码,为了区分不同的存储单元,把全部存储单元按照一定的顺序编号,这个编号

就称为存储单元的地址。当计算机要把一个数据代码存入某存储单元,或从某存储单元中取

出时,首先要提供该存储单元的地址,然后查找相应的存储单元,查到后,才能进行数的存

取。因此,能存储大量信息的存储体是存储器的核心。

存储器的工作就是,在运算之前,接收外界送来的程序和数据;在运算过程中,向计算

机提供指令和数据信息,保存中间结果;运算结束后,保存运算结果。

2.运算器

运算器是对信息进行加工、运算的部件,具体就是执行二进制代码的基本逻辑运算和算

术运算。运算器的运算能力并不高,但计算机运算速度快得惊人,它是用高速度赢得了出色

的工作能力。

运算器的核心部件是加法器。运算过程中,它在控制器控制下,从存储器中取数,进行

运算后,将结果暂存或送到存储器保存。

温馨提示

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

评论

0/150

提交评论