计算机组成原理精讲阶段讲义_第1页
计算机组成原理精讲阶段讲义_第2页
计算机组成原理精讲阶段讲义_第3页
计算机组成原理精讲阶段讲义_第4页
计算机组成原理精讲阶段讲义_第5页
已阅读5页,还剩133页未读 继续免费阅读

下载本文档

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

文档简介

目录

。。第五部分计算机组成原理.........................1

第一章计算机系统概述....................................................2

复习要点..................................................................2

1.1计算机系统层次结构..................................................2

1.2计算机性能指标.......................................................6

第二章数据的表示和运算..................................................9

复习要点.................................................................10

2.1数制与编码..........................................................10

2.2定点数的表示和运算..................................................25

2.3浮点数的表示和运算..................................................33

2.4算术逻辑单元ALU.........................................................................................................41

第■=>章存储器层次结构45

复习要点.................................................................46

3.1存储器的分类........................................................46

3.2存储器的层次化结构..................................................47

3.3半导体随机存取存储器................................................49

3.4只读存储器...........................................................51

3.5主存储器与CPI的连接.................................................52

3.6双口RAM和多模块存储器...............................................59

3.7高速缓冲存储器......................................................60

3.8虚拟存储器..........................................................64

第四章指令系统.........................................................67

4.1指令格式............................................................67

4.2指令的寻址方式.....................................................70

4.3CISC和RISC的基本概念...............................................77

第五章中央处理器.......................................................80

复习要点.................................................................80

5.1CPU的功能和基本结构................................................80

5.2指令执行过程........................................................83

5.3数据通路的功能和基本结构............................................85

5.4控制器的功能和工作原理..............................................86

5.5指令流水线...........................................................95

第六章总线.............................................................99

复习要点.................................................................99

6.1总线概述.............................................................99

6.2总线仲裁............................................................103

6.3总线操作和定时.....................................................105

6.4总线标准............................................................107

第七章输入输出系统....................................................109

复习要点................................................................109

7.1I/O系统基本概念....................................................109

7.2外部设备............................................................110

7.3I/O接口(I/O控制器).............................................115

7.4I/O方式............................................................118

♦计算机学科专业综合基础精讲讲义匕俄路教旨

第五部分计算机组成原理

【考查目标】

理解单处理器计算机系统中各部件的内部工作原理、组成结构以及相互连接方式。

掌握指令集体系结构的基本知识和基本实现方法,对计算机硬件相关问题进行分析,

并能够对相关部件进行设计。

理解计算机系统的整机概念,能够综合运用计算机组成的基本原理和基本方法,对高

级编程语言(C语言)程序中的相关问题进行分析,具备软硬件协同分析和设计的能力。

考试形式和试卷结构

一、试卷满分及考试时间

本试卷满分为150分,考试时间为180分钟

二、答题方式

答题方式为闭卷、笔试

三、试卷内容结构

数据结构45分

计算机组成原理45分

操作系统35分

计算机网络25分

四、试卷题型结构

单项选择题8()分(40小题,每小题2分)

综合应用题70分

S优路救昌♦计算机学科专业综合基础精讲讲义

第一章计算机系统概述

本章将从存储程序的概念入手,讨论计算机的基本组成与工作原理,使读者对于计算

机系统先有一个简单的整体概念,为今后深入讨论各个部件打下基础。

本章要求

(一)计算机系统层次结构

1.计算机系统的基本组成

2.计算机硬件的基本组成

3.计算机软件和硬件的关系

4.计算机系统的工作过程

(二)计算机性能指标

吞吐量、响应时间;

CPU时钟周期、主频、CPI>CPU执行时间;

MIPS、MFLOPS、GFLOPS、TFLOPS、PFLOPS.

复习要点

1.1计算机系统层次结构

1.1.1计算机系统的基本组成

硬件系统和软件系统共同构成了一个完整的计算机系统。对于某一个功能来说,其既

可以用软件实现,也可以用硬件实现,则称为软硬件在逻辑上是等效的C

早期的冯诺依曼机的特点:

计算机硬件系统由运算器、存储器、控制器、输入设备、输出设备5大部件组成

指令和数据以同等地位存于存储器内,并可按地址寻访

指令和数据均用二进制代码表示

指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在

存储器中的位置

指令在存储器内按顺序存放

早期的冯诺依曼机以运算器为中心,输入/输出设备通过运算器与存储器传送数据

现代计算机己经发展为以存储器为中心,使I/O操作尽可能地绕过CPU,直接在I/O

设备和存储器之间完成,以提高系统的整体运行效率。

2

♦计算机学科专业综合基础精讲讲义廿伏游救昌

图1.1.1-1典型的冯・诺依曼计算机结构框图

1.1.2计算机硬件的基本组成

一个完整的计算机系统包含软件系统和软件系统两大部分。硬件通常是指一切看得

见,摸得到的设备实体。图1.L2-1为计算机硬件系统的组成框图。

图1.L2-1计算机硬件系统的组成框图

通常将运算器和控制器合称为中央处理器(CPU)o在由超大规模集成电路构成的微

型计算机中,往往将CPU制成一块芯片,称为微处理器。

中央处理器和主存储器(内存储器)一起组成主机部分。除去主机以外的硬件装置(如

输入设备、输出设备、辅助存储器等)称为外围设备或外部设备。

计算机硬件硬件系统由5大基本部件组成。

(1)输入设备

输入设备的任务是把人们编好的程序和原始数据送到计算机中去,并且将它们转换成

计算机内部所能识别和接受的信息方式。常见的输入设备有:键盘、鼠标、扫描仪等,辅

助存储器(磁盘、磁带)也可以看作输入设备。

(2)输出设备

输出设备的任务是将计算机的处理结果以人或其他设备所能接受的形式送出计算机。

最常用的输出设备是打印机和显示器,辅助存储器也可以看作输出设备。

(3)存储器

存储器是用来存放程序和数据的部件,它是一个记忆装置,也是计算机能够实现“存

3

♦计算机学科专业综合基础精讲讲义

储程序控制”的基础。

在计算机系统中,规模较大的存储器往往分成若二级,称为存储系统。如图1.2-2所

示的是常见的三级存储系统。主存储器可由CPU直接访问,存取速度快,但容量较小,

一般用来存放当前正在执行的程序和数据。辅助存储器的存储容量大,价格较低,但存取

速度较慢,一般用来存放暂时不参与运行的程序和数据,CPU不可以直接访问辅存,辅存

中的程序和数据在需要时才传送到主存,因此它是主有的补充和后援。当CPU速度很高

时,为了使访问存储器的速度能与CPU的速度相匹配,又在主存和CPU间增设了一级

Cache(高速缓冲存储器)。Cache的存取速度比主存更快,但容量更小,用来存放当前最

急需处理的程序和数据,以便快速地向CPU提供指令和数据。

图1.1.2-2三级存储系统

1.1.3计算机软件和硬件的关系

一个完整的计算机系统包含硬件系统和软件系统两大部分。软件系统是在硬件系统的

基础上,为有效地使用计算机而配置的。

计算机软件按其功能分,有应用软件和系统软件两大类。应用软件是用户为解决某种

应用问题而编制的一些程序,系统软件用于实现计算机系统的管理、调度、监视和服务等

功能。

通常将系统软件分为:

①操作系统。操作系统的主要任务是管理和控制计算机各种资源(包括硬件、软件及

其他信息)、自动调度用户作业程序、处理各种中断。它是用户和计算机之间的接口,提

供了软件的开发环境和运行环境。常见的操作系统有批处理系统、分时操作系统、实时操

作系统等。

②语言处理程序。语言处理程序的主要任务是将计算机可识别的语言(如汇编语言和

各种高级语言)编写的源程序翻译成计算机能直接执行的机器语言,语言处理程序包括编

译程序、汇编程序、解释程序等。编译程序和解释程序都可以把高级语言变成为机器语言,

但前者是先将源程序转换为目标程序,再开始执行;而后者对源程序的处理采用边解释边

执行的方法。

③服务性程序。服务性程序为用户使用的系统提供许多功能,包括链接程序、编辑程

序、调试程序、诊断程序等。

④数据库管理系统。包括数据库和数据库管理软件。数据库管理软件是为数据库的建

立、使用和维护而配置的软件。

⑤计算机网络软件。为计算机网络配置的系统软件。

4

♦计算机学科专业综合基础精讲讲义廿伏游救昌

应用软件是用户或第三方软件公司为各自业务开发和使用的各种软件,种类繁多。

需要指出的是,硬件是计算机系统的物质基础,软件是计算机系统的灵魂,硬件和软

件是相辅相成、不可分割的整体。当前,计算机的硬件和软件正朝着互相渗透,互相融合

的方向发展,在计算机系统中没有一条明确的硬件与软件的分界线。对于程序设计人员来

说,硬件和软件在逻辑上是等价的。

1.1.4计算机系统的工作过程

(1)计算机的工作过程就是执行指令的过程

指令由操作码和操作数组成:

操作码地址码

操作码指明本指令完成的操作,地址码指明本指令的操作对象。

(2)指令的存储

指令按照存储器的地址顺序连续的存放在存储器中。

(3)指令的读取

为了纪录程序的执行过程,需要一个记录读取指令地址的寄存器,称为指令地址寄存

器,或者程序计数器。指令的读取就可以根据程序计数器所指出的指令地址来决定读取的

指令,由于指令通常按照地址增加的顺序存放,故此,每次读取一条指令之后,程序计数

器加一就为读取下一条指令做好准备。

(4)执行指令的过程

在控制器的控制下,完成以下三个阶段任务:

1)取指令阶段

按照程序计数器取出指令,程序计数器加一。

2)指令译码阶段

分析操作码,决定操作内容,并准备操作数。

3)指令执行阶段

执行操作码所指定内容。

编制好的程序放在主存中,由控制器控制逐条取出指令执行。例如:计算a+b-c=?(设

a、b、c为已知的3个数,分别存放在主存的5~7号单元中,结果将存放在主存的8号单

元),如果采用单累加寄存器结构的运算器,完成上述计算至少需要5条指令,这5条指

令依次存放在主存的0~4号单元中,参加运算的数也必须存放在主存指定的单元中,主

存中有关单元的内容如图®所示。运算器的简单框图如图(b)所示,参加运算的两个操作数

一个来自累加寄存器,一个来自主存,运算结果则放在累加寄存器中。图(b)中的存储器数

据寄存器是用来暂存从主存中读出的数据或写入主存的数据的。

5

♦计算机学科专业综合基训精讲讲义

00000

00001

00002

00003E

.

00004储

等累加寄存器

00005

00006存

00007

00008

(b)

计算机的控制器将控制指令逐条的执行,最终得到正确的结果。步骤如卜.:

①执行取数指令,从主存5号单元取出数a,送入累加寄存器中。

②执行加法指令,将累加寄存器中的内容a与从主存6号单元取出数b一起送到ALU

中相加,结果a+b保留在累加寄存器中。

③执行减法指令,将累加寄存器中的内容a+b与从主存7号单元取出的数c一起送

到ALU中相减,结果a+b-c保留在累加寄存器中。

④执行存数指令,把累加寄存器的内容a+b-c存至主存8号单元。

⑤执行停机指令,计算机停止工作。

1.2计算机性能指标

1.2.1机器字长

机器字长是指参与运算的数的基本位数,它是由加法器、寄存器的位数决定的,所以

机器字长一般等于内部寄存器的大小。字长标志着精度,字长越长,计算的精度就越高。

在计算机中为了更灵活地表达和处理信息,又以字节(Byte)为基本单位,用大写字

母B表示。一个字节等于8位二进制位(bit)o

不同的计算机,字(Word)的长度可以不相同,但对于系列机来说,字的长度应该是

固定的,如:Intel80x86系列中,一个字等于16位:IBM303X系列中,一个字等于32位。

1.2.2存储容量

存储容量应该包括主存容量和辅存容量。

主存容量是指主存中存放二进制代码的总位数。即

存储容量=存储单元个数x存储字长

存储器的性能指标:

(1)MAR位数反应存储单元的个数(最多支持多少个,实际上可能比这个小)

6

♦计算机学科专业综合基础精讲讲义后优蹈教育

(2)MDR位数=存储字长=每个存储单元的大小

总容量=存储单元个数*存储字长(bit)=2^MAR位数*MDR位数(bit)

一个主存储器所能存储的全部信息量称为主存容量。通常,以字节数来表示存储容量,

也可以用字数乘以字长来表示存储容量。在表示容量大小时,经常用到K,M,G,T,P

之类的字符,它们与通常意义下的K,M,G,T,P有些差异,如表1.2.2-1所示。

表1.2.2-IK,M,G,T,P的定义

单位通常意义实际表示

K(Kilo)

1032,0=I024

M(Mega)GIO622。二|()48576

(Giga)IO9230=I073741824

T(Tera)IO12240=1099511627776

5O

P(Peta)10I52=1125899906842624

1.2.3运算速度

计算机的运算速度与许多因素有关,如机器的主频、执行什么样的操作以及主存本身

的速度等。

(1)吞吐量和响应时间

吞吐量是指系统在单位时间内处理请求的数量。响应时间是指系统对请求作出响应的

时间,响应时间包括CPU时间(运行一个程序所花费的时间)与等待时间(用于磁盘访

问、存储器访问、I/O操作、操作系统开销等时间)的总和。

(2)主频和CPU时钟周期

CPU的主频又称为时钟频率,表示在CPU内数字脉冲信号振荡的速度。主频的倒数

就是CPU时钟周期,这是CPU中最小的时间元素。每个动作至少需要一个时钟周期。

(3)CPI

CPI是指每条指令执行所用的时钟周期数。在现代高性能计算机中,由于采用各种并

行技术,使指令执行高度并行化,常常是一个系统时钟周期内可以处理若干条指令,所以

CPI参数经常用IPC表示,即每个时钟周期执行的指令数。

IPC--

CPI

(4)CPU执行时间

CPU执行时间=35寸钟周期数'CPI

~时钟频聿~时钟―

上式表明,CPU的性能取决于三个要素:①时钟频率;②每条指令执行所用的时钟周

期数;③指令条数IC。

7

♦计算机学科专业综合基训精讲讲义

(5)MIPSMFLOPS

MIPS表示每秒执行多少百万条指令。对于一个给定的程序,MIPS定义为

指令条数主频…

MIPS==__=k^xipc

执行时间X106erf

MFLOPS表示每秒执行多少百万次浮点运算。对于一个给定的程序,MFLOPS定义为

指令条数主频

MIPS==:主频XIPC

执行时间*1。6-cpr

FLOPS(Floating-pointOperationsPerSecond)表示每秒执行多少次浮点操作,KFLOPS

(每秒执行多少千次浮点操作)、MFLOPS(每秒执行多少百万次浮点操作)、GFLOPS

(每秒执行多少十亿次浮点操作)、TFLOPS(每秒执行多少万亿次浮点操作)这里的K、

M、G、T与存储容量的K、M、G、T不一样,存储容量的基数是2N0,而这里的K、M、

G、T的基数是10八3

MFLOPS测量单位比较适合于衡量向量机的性能。一般而言,同一程序运行在不同的

计算机上时往往会执行不同数量的指令数,但所执行的浮点数个数常常是相同的。

8

♦计算机学科专业综合基础精讲讲义后优蹈教育

第二章数据的表示和运算

数据是计算机加工和处理的对象,数据的表示将直接影响到计算机的结构和性能。本

章首先介绍了数制和编码,接下来讨论定点数和浮点数表示及计算方法,最后介绍算术逻

辑运算部件ALUo

本章要求

(一)数制与编码

1.进位计数制及其相互转换

计算机中常用的进位计数制;各种数制间的互相转换。

2.真值和机器数

无符号数和带符号数;真值及原码、补码、反码3种不同的机器数。

3.BCD码

8421码、2421码和余3码。

4.字符与字符串

ASCII码、汉字编码。

5.校验码

奇偶校验码、海明校验码和循环冗余校验码。

(-)定点数的表示和运算

1.定点数的表示

定点小数与定点整数的表示。

2.定点数的运算

定点数的移位运算,原内定点数的加/减运算;补科定点数的加/减运算;定点数的乘/除

运算;溢出概念和判别方法。

(三)浮点数的表示和运算

1.浮点数的表示

浮点数的表示范围;IEEE754标准。

2.浮点数的运算

浮点数的加/减运算

(四)算术逻辑单元ALU

1.串行加法器和并行加法器

并行加法器的进位产生和传递;并行加法器的快速进位。

2.算术逻辑单元ALU的功能和结构

9

♦计算机学科专业综合基础精讲讲义

复习要点

2.1数制与编码

在计算机中往往会用到不同的进位计数制,对于数值数据和非数值数据(字符和汉字)

也有特定的编码方法,同时,数据校验码也是必不可少的编码方法。

2.1.1进位计数制及其相互转换

人们在日常生活中最常使用的是十进制数,然而,在计算机中数据通常用二进制、八

进制和十六进制来表示。

L进位计数制的基本概念

在进位计数制中,每个数位所用到的不同数码的个数叫做基数。十进制的基数为10,

每个数位计满10就向高位进位,即逢十进一。

在一个数中,数码在不同的数位上所表示的数值是不同的。每个数码所表示的数值就

等于该数码本身乘以一个与它所在数位有关的常数,这个常数叫做位权,简称权。例如:

十进制数4952,数码“4”表示4000,该位的权为1000,这一位所代表的数值等于数码4乘

以常数I000,即4x103,“9”表示900,该位的权为100,这一位所代表的数值等于数码9乘以

常数100,即9x102.......。

所以,一个数的数值大小就是它的各位数码按权相加,如:

4952=4x103+9x102+5xl0>+2x10°

由此可见,任何一个十进制数都可以用一个多项式来表示,推而广之,一个基数为r

的I•进制数可表示为:

m

n1

(N)^=Ku<r+K04>TM+・・・+Ko"°+KiX「l+・・・+KmTm=ZKiXT

i«n

式中:N为第i位的权,给的取值可以是0,1,…,r-1共r个数码中的任意一个。

r进制数的进位原则是:逢r进一。

【例2.1]若算式131-45=53成立,表明此运算的进位计数制是()

A.六进制B.七进制C.八进制D.九进制

【答案】B.

【分析】将原算式变成53+45=131,个位数逢七进一,所以是七进制。

2.计算机中常用的进位计数制

在计算机中最常用的是二进制、八进制和十六进制。

(1)二进制表示

二进制是一种最简单的进位计数制,它只有两个不同的数码:“0”和“1”,即基数为2,

逢二进一。任意数位的权是”

表2-2-1列举了常用的二进制数的权值,请读者自行熟记。

10

♦计算机学科专业综合基础精讲讲义后优蹈教育

表2-2-1常用的二进制数的权值

权权值权权值

2-40.06252664

2-30.12527128

2-20.2528256

2-10.529512

2012101024

2122112048

2242124096

2382138192

241621416384

253221532768

计算机采用二进制的主要原因有以下几点:

①容易实现二进制在技术上最容易实现,可以用任何一个具有两种不同稳定状态的

物理器件来表示两个数码:“0”或“1”。

②运算简单二进制运算规则简单,操作实现简便。

③工作可.靠由于采用两种稳定状态来表示数码,使数据的存储、传送和处理都变得

可靠得多。

④逻辑判断方便采用二进制后,能够方便地使用逻辑代数这一有力工具来分析、综

合与设计计算机的逻辑线路。

但是,用二进制来表示一个数所使用的位数要比用十进制数表示时所使用的位数长得

多,书写起来不方便,也不好读,不好懂。为了书写和口读的方便,人们通常使用八进制

利十六进制来弥补二进制的不足。

(2)八进制与十六进制表示

八进制数的基数为8,逢八进一,每个数位可取8个不同的数码(0、7)中的任意

一个。因为厂8=23,所以只要把二进制中的3位数码编为一组就是一位八进制数码,两

者之间的转换是很方便的。

十六进制数的基数为16,逢十六进一,每个数位可取16个不同的数码和符号(0,

1,…,9,A,F)中的任意一个,其中A、F表示十进制数值10~15。因为r=16=24,

故4位二进制数码与一位十六进制数码相对应,同样,这两种进位计数制之间的转换也

是很容易的。

为了避免出现误会,在给出一个数的同时就必须指明这个数的数制,除了用下标来表

示不同的数制以外,在计算机中还常用后缀字母来表示不同的数制。后缀B表示这个数是

二进制数,后缀Q表示这个数是八进制数,后缀H表示这个数是十六进制数,而后缀D表

11

「供路救昌♦计算机学科专业综合基础精讲讲义

示这个数是十进制数(在书写时可以省略)。

二进制数转换成八进制和十六进制数是很容易的,但需要注意的是,对于一个二进制

混合数,在转换时应以小数点为界。其整数部分,从小数点开始往左数,将一串二进制数

分为3位一组或4位一组,在数的最左边可根据需要随意加“0”;对于小数部分,从小

数点开始往右数,也将一串二进制数分为3位一组或4位一组,在数的最右边也可根据

需要随意加"0”。

最终使总的位数成为3或4的倍数,然后分别用相应的八进制或十六进制数取代之。

例如:

11011.1010011011B=OI1()11.101001101I00B=33.5154Q

=00011011.101001101100B=IB.A6CH

由八进制或十六进制转换成二进制,或者八进制和十六进制之间的转换也是根容易的,

例如:

3.145Q=011.001100101B=3.328H

大多数计算机都是用八进制或十六进制来描述计算机中的指令和数据的。表2-2-2列

出了几种常用进位计数制对照表。

表2-2-2几种常用进位计数制对照表

十进制二进制八进制十六进制

0000000

1000111

2()01022

3001133

4010044

5010155

6011066

7011117

81(X)0108

91001119

10101012A

11101113B

12110014C

13110115D

14111016E

3.各种数制间的相互转换

前面已经提到二进制同八进制、十六进制之间的转换,这里着重讨论的是任意进制数

与十进制数之间的转换。

(1)任意进制数转换为十进制数

一个任意进制的数转换成十进制数,只要把各位数码与它们的权相乘,再把乘积相加,

12

♦计算机学科专业综合基础精讲讲义后优蹈教育

就得到了一个十进制数,这种方法称为按权展开相加法。例如:

100011.1011B=1x25+1X2'+1X20+1x2」+1x23+1x2-4=35.6875D

37.2Q=3x847x8°+2x8-=31.25D

4E6.CH=4X162+14X161+6X160+12x16,=1254.75D

(2)十进制数转换为任意进制数

一个十进制数转换成任意进制数,常采用基数乘除法。这种转换方法对十进制数的整

数部分和小数部分将分别进行处理,对于整数部分用除基取余法:对于小数部分用乘基取

整法,最后把它们拼接起来。

十进制整数转换为任意进制整数的规则是:除(以)基取余;先余为低,后余为高。

2.1.2真值和机器数

在计算机中,采用数字化方式来表示数据,数据有无符号数和带符号数之分。

1.无符号数

所谓无符号数,就是整个机器字长的全部二进制位均表示数值位(没有符号位),相

当于数的绝对值。例如:

NI=0I001,表示无符号数9。N2=11(X)1,表示无符号数25。

机器字长为n+1位的无符号数的表示范围是0~(2"-1),此时二进制的最高位也是数值位,

其权值等于2L若字长为8位,则数的表示范围为1255。

2,带符号数

在日常生活中大量用到的数据还是带符号数,即正、负数。通常用“+”、“-”号加绝

对值来表示数值的大小,用这种形式表示的数值在计算机技术中称为“真值”。

对于数的符号“+”或计算机是无法识别的,因此需要把符号数码化。通常,约

定二进制数的最高位为符号位,“0”表示正号,“1”表示负号。这种在计算机中使用的表

示数的形式称为机器数,常见的机器数有原码、反码、补码等不同的表示形式。

带符号数的最高位被用来表示符号位,而不再表示数值位。前例中的Ni、N2在这里的

含义变为:

Nj=01001,表示+9。

N2=11001,根据机器数的不同形式表示不同的值,如是原码则表示-9,补码则表示-7,

反码则表示-6。

为了能正确地区别出真值和各种机器数,本书用X表示真值,[X]小表示原码,[X])卜表

示补码,[X]反表示反码。

3.原码表示法

原码表示法是一种最简单的机器数表示法,其最庇位为符号位,数值部分与真值相同。

若真值为纯整数,它的原码形式为X、X|X2…尤,其中Xs表示符号位。原码的定义为:

【例2.4】写出X】二1101和X2=-1101的原码表示形式,假设字长为5位。

【解答】X|=1101(X.l^X=OllOl

n4

X2=-1101[X2].K=2-X=2-(-1101)=10000+1101=11101

13

屿优路救昌♦计算机学科专业综合基福精讲讲义

在原码表示中,真值0有两种不同的表示形式:

[+0]^.=00000[-0]s=10000

原码表示法的优点是直观易懂,机器数和真值间的相互转换很容易,用原码实现乘、

除运算的规则很简单;缺点是实现加、减运算的规则较复杂。

【例2.5】8位原码能表示的不同数据的个数是(。)

A.15B.16C.255D.256

【答案】Co

【分析】8位原码能表示的不同数据的个数共2$-1个,具中127个正数,127个负数,

还有0。这是因为在原码表示中,零有两种表示形式,[+01=00000000,[-01=10000000,

占用了两个二进制代码。

4.补码表示法

补码表示法的符号位表示与原码相同,其数值部分的表示与数的正负有关:对于正数,

数值部分与真值形式相同;对于负数,将真值的数值部分按位取反,且在最低位上加“I”。

若真值为纯整数,它的补码形式为XsX|X2…Xn,其中Xs表示符号位。补码的定义为:

【例2.6]写出X|二1101和Xz=-1101的补码表示形式,假设字长为5位。

【解答】X1=1101[Xi]?h=X=01101

n+,5

X2=-1101|X2]H=2+X=2+(-1101)=100000-1101=10011

在补码表示中,真值0的表示形式是唯一的:

[+0]-=[一0]补=00000

采用补码系统的计算机需要将真值或原码形式表示的数据转换为补码形式,以便于运

算器对其进行运算。通常,从原码形式入手来求补码。

当X为正数时,[X]产[X]产X。

当X为负数时,其[XJ补等于把[XJ除除去符号位外的各位求反后再加“1”。

反之,当X为负数时,已知[X]祚,也可通过对除符号位外的各位求反加“1”来求得[X]

也。当X为负数时,由[X]原转换为[X]补的另一种更有效的方法是:自低位向高位,遇到的第

一个“1”及其右部的“0”保持不变,左部的各位取反,符号位保持不变。

【例2.7]已知[X]#11110011000,求肉卜

【解答】[X]原=11110011000

\XU=10001101000

不变取反不变

这种方法避免了加1运算,是实际求补线路逻辑实现的依据。

5.反码表示法

反码表示法与补码表示法有许多类似之处,对于正数,数值部分与真值形式相同;对于

负数,将真值的数值部分按位取反。它与补码的区别是末位少加一个“1”,因此很容易从补码

的定义推出反码的定义。

【例2.8]写出X|二1101和X2=-1101的反码表示形式,假设字长为5位。

【解答】X1=1101[X|],x=X=01101

5

X2=1101[X2]反=(2计|1)+X=(21)+(1101)=111111101=10010

14

♦计算机学科专业综合基础精讲讲义后优蹈教育

在反码表示中,真值0也有两种不同的表示形式:

[+0]反=00000[-0]反=11111

6.3种机器数的比较

原码、补码和反码这3种机器数既有共同点,又有各自不同的性质,主要区别有以下

几点:

①对于正数它们都等于真值本身,而对于负数各有不同的表示。

②最高位都表示符号位,补码和反码的符号位可作为数值位的一部分看待,和数值位一

远参加运算;但原码的符号位不允许和数值位同等看待,必须分开进行处理。

③对于真值0,原码和反码各有两种不同的表示形式,而补码只有唯一的一种表示形式。

④原码、反码表示的正、负数范围相对零来说是充称的;但补码负数表示范围较正数表

示范围宽,能多表示一个最负的数(绝对值最大的负数),其值等于-2n(纯整数)或-1(纯

小数)。

表2-2-3列出了真值与3种机器数间的对照。表中设字长等于4位(含一位符号位)°

表2-2-3真值与3种机器数间的对照

真值X真值X

[X]原、凶反、[X][X]1[X]R[X]

十进制二进制十进制二进制

+0+0000000-0-000100011110000

+1+0010001-1-001100111101111

+2+0100010-2-010101011011110

+3+0110011-3-011101111001101

+4+1000100-4-100110010111100

+5+1010101-5-101110110101011

+6+1100110-6-110111010011010

+7+1110111-7-111111110001001

+8-8-1000--1000

在表2-2-3中,请特别注意1000这个代码,当其为原码时,对应的真值是-0,当其为

补码时,对应的真值是-8,当其为反码时,对应的真值是

2.1.3BCD码

BCD码是指二进制编码的十进制数,BCD码用4位二进制数来表示,它既具有二进制数的

形式,又保持了十进制数的特点。4位二进制数可以组合廿16种代码,能表示16种不同的状态,

只需要使用其中的10种状态,就可以表示十进制数的0与十个数码,而其他的6种状态为冗余

状态。由于可以取任意的10种代码来表示10个数码,所以就可能产生很多种BCD码。表2-2-4

列出了几种常见的BCD码。

15

♦计算机学科专业综合基础精讲讲义

表2-2-4常见的BCD码

十进制数8421码2421码余3码

0000000000011

1000100010100

2001000100101

3001100110110

4010001000111

5010110111000

6011011001001

7011111011010

8100011101011

9100111111100

1.8421码

8421码又称为自然BCD码,简称NBCD码,4位二进制代码的位权从高到低分别为8,4,

2,1,这种编码的主要特点是:

①它是一种有权码,设其各位的值为b3b2b由0,则它所表示的十进制数为

D=8b3+4b2+2bi+1b()o

②简单直观。每个代码与它所代表的十进制数之间符合二进制数和十进制数相互转

换的规则。

③不允许出现10101111.这6个代码在8421码中是非法码。

需要注意的是,尽管在8421码中0~9等10个数码的表示形式与用二进制表示的形式一

样,但这是两个完全不同的概念,不能混淆。例如:一个两位的十进制数39,它可以表示

为(00111001)8421与100111B,这两者是完全不同的。

2.2421码

这种编码各位的位权从高到低分别为2,4,2,1,其主要特点是:

①它也是一种有权码,所表示的十进制数为D=2b3+4b2+2bi+Ibo。

②它又是一种对9的自补码,即某数的2421码,只要自身按位取反,就能得到该数对

9补数的2421码。例如:3的2421码是0011,3对9的补数是6,而6的2421码是1100,即将3

的2421码自身按位取反可得到6的2421码。在十进制运算中,采用自补码,可以使运算器

线路简化。

③不允许出现01011010。这6个代码在2421码中是非法码。

3・余3码

余3码是一种无权码,从表2-2-4中可以看出,余3码是在8421码的基础上加0011形成的,

因每个数都多余“3”,故称余3码。其主要特点是:

16

♦计算机学科专业综合基础精讲讲义后优蹈教育

①它是一种无权码,在这种编码中各位的“1”不表示一个固定的十进制数值,因而

不直观,且容易搞错。

②它也是一种对9的自补码。

③不允许出现0000~0010、11011111。这6个代码在余3码中是非法码。

【例2.9】某数在计算机中用余3码表示为011110001001,其真值为()o

A.456B.456HC.789D.789H

【答案】A。

【分析】余3码是在8421码的基础上+3。注意,对应的真值是十进制数。

2.1.4字符与字符串

由于计算机内部只能识别和处理二进制代码,所以字符和汉字都必须按照一定的规则

用一组二进制编码来表示。

1.字符编码

字符编码方式有很多种,现在用的最广泛的是美国国家信息交换标准字符码(ASCII)o

标准的ASCII码用7位一进制表示一个字符,它包括10个十进制数字(0~9)、52个英文大

写和小写字

温馨提示

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

最新文档

评论

0/150

提交评论