冯博琴《微型计算机原理与接口技术》(第3版)配套题库【名校考研真题+课后习题+章节题库+模拟试题】
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第1章 微型计算机基础概论

一、选择题

1一个完整的计算机系统通常应包括(  )。[华中科技大学研]

A.系统软件和应用软件

B.计算机及其外部设备

C.硬件系统和软件系统

D.系统硬件和系统软件

【答案】C

【解析】一个完整的计算机系统应该既包含硬件系统,又包含了软件系统。A项,只是涉及了软件系统;B项,只涉及了硬件系统;D项,只是片面地提到了系统硬件和系统软件,还应包括其他硬件和软件。

2用BCD码进行相加,结果为BCD码,为得到正确的结果对高4位和低4位都进行加6修正的是(  )。[西北工业大学研]

A.38+49

B.33+34

C.91+66

D.87+15

【答案】D

【解析】

低位结果大于9小于16加6修正。

高位结果大于9小于16加6修正低位结果大于9小于16加6修正。

低4位和高4位均大于9小于16,同时对低位和高位加6修正。

3用二进制表示一个4位十进制数,至少要(  )位。[中国科学院研]

A.12

B.13

C.14

D.15

【答案】C

【解析】4位十进制数最大为9999,因为213=8192,214=16384,所以至少要14位。

二、填空题

1在冯·诺依曼计算机中,指令和数据以______的形式表示,计算机按照______、程序控制执行的方式进行工作。[北京大学研]

【答案】二进制;存储程序

【解析】现使用的计算机都是冯·诺依曼结构计算机,数据和程序都是使用二进制存放在存储器中的。计算机有两种执行方式。

2若[X]=[Y]=[Z]=90H,试用十进制数分别写出其大小,X=______;Y=______;Z=______。[北京邮电大学研]

【答案】-16;-111;-112

【解析】[X]=90H=10010000H,最高位符号位1表示负数,其余各数值为取原值不变。它和真值是相对应的。

[X]真值=-0010000H=-1×24=-0010000H=-16D。

[Y]=90H=10010000H,最高位符合位不变,其余数值位依次取反。

[Y]=11101111B。

[Y]真值=-1101111B=-(1×20+1×21+1×22+1×23+1×25+1×26)=-111D。

[Z]=90H=10010000H,最高位为1表明是负数,90H是一个负数的补码。要求它表示的十进制数,就要求出它的真值及原码,就要对该数求补。

对90H=100100008求反为111011118,再求补即原码为11110000B,得到它的真值为

[Z]真值=-1110000B=-(1×24+1×25+1×26)=-112D

3已知[X]=0A8H,则X=______D。[西华大学研]

【答案】-88

【解析】对于有符号数,其正负号也要数字化的数,就是机器数,是计算机所能识别的数;而把这个数本身,即用“+”“-”号表示的数称为真值。如+74H,它的真值就是+74H,它的机器数是011101008=74H;而-74H的真值就是-74H,它的机器数为0F4H。常用的机器数有三种编码方式即原码、补码和反码。对于正数,它的原码、补码和反码是一致的;负数的原码、补码和反码不相同,它的求法如下:

原码 最高位符号位1表示负数,其余各数值为取原值不变。它和真值是相对应的。

反码 使用机器数的最高位代表符号,数值位是对负数值各位取反。

补码 对于负数的补码,就是反码+1得到的数值。

题中0A8H=10101000B,它的最高位是符号位为1,则表示一个负数。负数的补码和原码不同,由[[X]]=[X],得到它的原码就可知道该数的真值,再由十六进制数的真值转换为十进制数。

解题步骤如下:

4计算(11010.1)2+(100100.1000)BCD+(26.8)16=______10[上海交通大学研]

【答案】89.8

【解析】二进制、十六进制及BCD码之间的运算,运算结果为十进制数。

(11010.1)2=(00011010.1000)2=(1A.8)16=1×161+A×160+8×161=(26.5)10

(100100.1000)BCD=(00100100.1000)BCD=(24.8)10

(26.8)16=2×161+6×160+8×161=(38.5)10

(11010.1)2+(100100.1000)BCD+(26.8)16=(26.5)10+(24.8)10+(38.5)10=(89.8)10

三、判断题

用字长为16位的寄存器存放带符号数,机器数的最大值和最小值分别为7FFFH和8000H。(  )[重庆大学研]

【答案】正确

【解析】如果字长为n,可以表示2n个数,有符号数的表示范围为-2n1~2n_1-1。如果字长为16,有符号数的表示范围为-215~215-1,-215是范围内的最小负数,其补码的最高位符号位为1,其余15位都为0,即1000000000000000B=8000H;215-1是范围内的最大正数,最高位符号位为0,其余数值位都应为1,即01111111111111118=7FFFH;所以最大值为7FFFH,最小值8000H是正确的。

四、解答题

1微处理器、微机和微机系统之间有什么不同?[电子科技大学研]

答:微处理器是构成微机的一个核心部件,通常是包含有运算器和控制器的一块集成电路。它具有解释指令、执行指令和与外界交换数据的能力。微处理器也称为中央处理单元CPU。

微机是通过总线把CPU、I/O接口电路和半导体存储器(ROM和RAM)组合在一起构成的一台计算机的物理装置。

微机配上外部设备、系统电源和系统软件就构成了一个微机系统,简称系统机。其中,所有的物理装置的集合称为硬件系统,也称为裸机或硬核,它是计算机存储和执行程序、实现各种功能的物质基础。硬件系统必须与软件系统(系统软件和应用软件)相配合构成一个微机系统,才能完成各种工作。

三者的关系如图1-1所示。人们通常所说的微机都是指系统机。

图1-1 微机系统的构成

2微处理器内部一般由哪些基本部件组成?试简述它们的主要功能。[华东理工大学研]

答:微处理器内部基本部件及其作用如下:

(1)算术逻辑单元ALU(运算器)。对二进制进行算术和逻辑运算。

(2)控制与定时单元(控制器)。发布操作命令的机构,执行程序时负责取出指令、分析指令、执行指令。

(3)内部总线。负责在微处理器内部各部件之间传送信息,总线缓冲器用来隔离微处理器内部和外部总线,避免总线冲突。

(4)寄存器阵列。用于临时存放数据和地址。

3a,b均为用十六进制形式表示的8位带符号数补码,按下列给定的a,b之值进行a+6和a-b的运算,并用双高位法判断是否产生溢出:[天津大学研]

(1)a=0B7H,b=0D7H;

(2)a=5AH,b=63H;

(3)a=0E5H,b=6EH。

解:(1)a=0B7H,b=0D7H

a=0B7H=10110111B

b=0D7H=11010111B

b=10101000B

b=10101001B

b真值=-0101001B

[-b]真值=+0101001B=00101001B

(2)a=5AH,b=63H

a=5AH=01011010B

b=63H=01100011B

b真值=+1100011B

[-b]真值=-1100011B

[-b]=11100011B

[-b]=10011100B

[-b]=10011101B

(3)a=0E5H,b=6EH

a=0E5H=11100101B

b=6EH=01101110B

b真值=+1101110B

[-b]真值=-1101110B

[-b]=11101110B

[-b]=10010001B

[-b]=10010010B

4当两个正数相加时,补码溢出意味着什么?两个负数相加能溢出吗?试举例说明。[西安电子科技大学研]

答:两个正数相加时,补码溢出意味着其和正方向超出数域范围而产生错误结果。例如,当n=8时,用补码求109和84之和,所得结果(也为补码)为11000001,其真值为-63,显然错了。原因是193>127。两个负数相加也可能产生溢出,当和小于-128时产生负向溢出。例如用补码求-109加-84之和,得结果100111111(补码),其真值为+63。出错原因是-193<-128。

5设浮点数的表示格式为:阶码4位(包括阶符1位),尾数8位(包括尾符1位),阶码和尾数都为补码表示。写出二进制数-0.0110101的规格化浮点数表示。[上海交通大学研]

解:任意一个二进制数总可以表示为纯小数和一个2的整数次幂的乘积。二进制数N可写成:N=S×2p

式中,S称为数N的尾数;P称为数N的阶数,此处P、S都是用二进制表示的数。尾数S表示了数N的全部有效数字,显然S采用的数位越多,则数N表示的数值精确度越高。阶数P指明了数N的小数点的位置,显然P采用的数位越多,则数N表示的数值范围就越大。

在浮点数表示法中,小数点的位置是浮动的,为了使小数点可以自由浮动,浮点数由两部分组成,即尾数部分和阶码部分。浮点数在机器中的表示方法如图1-2:

图1-2

其中,尾数部分表示该浮点数的全部有效数字,它是一个有符号位的纯小数;阶数部分指明了浮点数实际小数点的位置与尾数约定的小数点位置之间的位移量P。该位移量P(阶数)是一个有符号位的纯整数。当阶数为+P时,则表示小数点向右移动P位;当阶数为-P时,则表示小数点向左移动P位。因此,浮点数的小数点随着P的符号和大小而自由浮动。

为了使计算机运算过程中不丢失有效数字,提高运算的精度,一般都采用二进制浮点规格化数。所谓浮点规格化,是指尾数S绝对值小于1而大于或等于1/2,即小数点后面的一位必须是“1”。

求-0.0110101的规格化浮点数,则-0.0110101=-0.110101×21

其中,尾数为-110101,阶数为-1;题中要求尾数8位,尾数部分的原码为11101010;阶数4位,阶数部分的原码为1001。

-0.0110101的规格化浮点数如下。

原码:1001;11101010。

反码:1110;10010101。

补码:1111;10010110。