欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

完整版计算机组成原理第四版课后习题解答

最编程 2024-08-10 09:03:47
...

计算机组成原理_第四版课后习题答案(完整版)

 第一章

1. 比较数字计算机和模拟计算机的特点。

解:模拟计算机的特点:数值由连续量来表示,运算过程是连续的;
数字计算机的特点:数值由数字量(离散量)来表示,运算按位进行。
两者主要区别见P1 表1.1。

2. 数字计算机如何分类?分类的依据是什么?

解:分类:数字计算机分为专用计算机和通用计算机。通用计算机又分为巨型机、大型机、
 中型机、小型机、微型机和单片机六类。

分类依据:专用和通用是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。
 通用机的分类依据主要是体积、简易性、功率损耗、性能指标、数据存储容量、
 指令系统规模和机器价格等因素。

3. 数字计算机有那些主要应用?

(略)

4. 冯. 诺依曼型计算机的主要设计思想是什么?它包括哪些主要组成部分?

解:冯. 诺依曼型计算机的主要设计思想是:存储程序和程序控制。
存储程序:将解题的程序(指令序列)存放到存储器中;
程序控制:控制器顺序执行存储的程序,按指令功能控制全机协调地完成运算任务。

主要组成部分有:控制器、运算器、存储器、输入设备、输出设备。

5. 什么是存储容量?什么是单元地址?什么是数据字?什么是指令字?

解:存储容量:指存储器可以容纳的二进制信息的数量,通常用单位KB、MB、GB来度量,存储容
 量越大,表示计算机所能存储的信息量越多,反映了计算机存储空间的大小。
单元地址:单元地址简称地址,在存储器中每个存储单元都有唯一的地址编号,称为单元地
 址。
数据字: 若某计算机字是运算操作的对象即代表要处理的数据,则称数据字。
指令字: 若某计算机字代表一条指令或指令的一部分,则称指令字。 

6. 什么是指令?什么是程序?

解:指令:计算机所执行的每一个基本的操作。
程序:解算某一问题的一串指令序列称为该问题的计算程序,简称程序。 

7. 指令和数据均存放在内存中,计算机如何区分它们是指令还是数据?

解:一般来讲,在取指周期中从存储器读出的信息即指令信息;而在执行周期中从存储器中读出的
信息即为数据信息。

8. 什么是内存?什么是外存?什么是CPU?什么是适配器?简述其功能。

解:内存:一般由半导体存储器构成,装在底版上,可直接和CPU交换信息的存储器称为内存储
 器,简称内存。用来存放经常使用的程序和数据。
外存:为了扩大存储容量,又不使成本有很大的提高,在计算机中还配备了存储容量更大的
 磁盘存储器和光盘存储器,称为外存储器,简称外存。外存可存储大量的信息,计算
 机需要使用时,再调入内存。 
CPU:包括运算器和控制器。基本功能为:指令控制、操作控制、时间控制、数据加工。
适配器:连接主机和外设的部件,起一个转换器的作用,以使主机和外设协调工作。 

9. 计算机的系统软件包括哪几类?说明它们的用途。

解:系统软件包括:(1)服务程序:诊断、排错等
 (2)语言程序:汇编、编译、解释等
 (3)操作系统
 (4)数据库管理系统
用途:用来简化程序设计,简化使用方法,提高计算机的使用效率,发挥和扩大计算机的功能
 及用途。 

10. 说明软件发展的演变过程。

(略)

11. 现代计算机系统如何进行多级划分?这种分级观点对计算机设计会产生什么影响?

解:多级划分图见P16图1.6。可分为:微程序设计级、一般机器级、操作系统级、汇编语言级和
高级语言级。
用这种分级的观点来设计计算机,对保证产生一个良好的系统结构是有很大帮助的。

12. 为什么软件能够转化为硬件?硬件能够转化为软件?实现这种转化的媒介是什么?

(略)

13. "计算机应用"与"应用计算机"在概念上等价吗?用学科角度和计算机系统的层次结构来寿命你的观点。 

(略)

第二章

1. 写出下列各数的原码、反码、补码、移码表示(用8位二进制数)。其中MSB是最高位(又是符号位)LSB是最低位。如果是小数,小数点在MSB之后;如果是整数,小数点在LSB之后。
(1) -35/64 (2) 23/128 (3) -127 (4) 用小数表示-1 (5) 用整数表示-1

解:(1)先把十进制数-35/64写成二进制小数:
(-35/64)10=(-100011/1000000)2=(-100011×2-110)2=(-0.100011)2
令x=-0.100011B
∴ [x]=1.1000110 (注意位数为8位) [x]=1.0111001
  [x]=1.0111010 [x]=0.0111010

(2) 先把十进制数23/128写成二进制小数:
(23/128)10=(10111/10000000)2=(10111×2-111)2=(0.0001011)2
令x=0.0001011B
∴ [x]=0.0001011 [x]=0.0001011
  [x]=0.0001011 [x]=1.0001011

(3) 先把十进制数-127写成二进制小数:
(-127)10=(-1111111)2
令x= -1111111B
∴ [x]=1.1111111 [x]=1.0000000
  [x]=1.0000001 [x]=1.0000001

(4) 令x=-1.000000B
∴ 原码、反码无法表示
[x]=1.0000000   [x]=0.0000000

(5) 令Y=-1=-0000001B
∴ [Y]=10000001  [Y]=11111110
  [Y]=11111111  [Y]=01111111

2. 设[X]补= a0,a1,a2…a6 , 其中ai取0或1,若要x>-0.5,求a0,a1,a2,…,a6 的取值。

解:a0= 1,a1= 0, a2,…,a6=1…1。

3. 有一个字长为32位的浮点数,阶码10位(包括1位阶符),用移码表示;尾数22位(包括1位尾符)用补码表示,基数R=2。请写出:
(1) 最大数的二进制表示;
(2) 最小数的二进制表示;
(3) 规格化数所能表示的数的范围;
(4) 最接近于零的正规格化数与负规格化数。

解:(1)1111111111 0111111111111111111111
(2)1111111111 1000000000000000000000
(3)1111111111 0111111111111111111111~0111111111 1000000000000000000000
(4)0000000000 0000000000000000000001~0000000000 1111111111111111111111

4. 将下列十进制数表示成浮点规格化数,阶码3位,用补码表示;尾数9位,用补码表示。
(1) 27/64
(2) -27/64

解:(1)27/64=11011B×=0.011011B=0.11011B×
浮点规格化数 : 1111 0110110000

(2) -27/64= -11011B×= -0.011011B= -0.11011B×
浮点规格化数 : 1111 1001010000

5. 已知X和Y, 用变形补码计算X+Y, 同时指出运算结果是否溢出。
(1)X=0.11011 Y=0.00011
(2)X= 0.11011 Y= -0.10101
(3)X=-0.10110 Y=-0.00001

解:(1)先写出x和y的变形补码再计算它们的和
[x]=00.11011 [y]=00.00011
[x+y]=[x]+[y]=00.11011+00.00011=0.11110
∴ x+y=0.1111B 无溢出。

(2)先写出x和y的变形补码再计算它们的和
[x]=00.11011 [y]=11.01011
[x+y]=[x]+[y]=00.11011+11.01011=00.00110
∴ x+y=0.0011B 无溢出。

(3)先写出x和y的变形补码再计算它们的和 
[x]=11.01010 [y]=11.11111
[x+y]=[x]+[y]=11.01010+11.11111=11.01001
∴ x+y= -0.10111B 无溢出

6. 已知X和Y, 用变形补码计算X-Y, 同时指出运算结果是否溢出。
(1) X=0.11011 Y= -0.11111
(2) X=0.10111 Y=0.11011
(3) X=0.11011 Y=-0.10011

解:(1)先写出x和y的变形补码,再计算它们的差
[x]=00.11011 [y]=11.00001 [-y]=00.11111
[x-y]=[x]+[-y]=00.11011+00.11111=01.11010
∵运算结果双符号不相等 ∴ 为正溢出
 X-Y=+1.1101B

(2)先写出x和y的变形补码,再计算它们的差
[x]=00.10111 [y]=00.11011 [-y]=11.00101
[x-y]=00.10111+11.00101=11.11100
∴ x-y= -0.001B 无溢出

(3)先写出x和y的变形补码,再计算它们的差
[x]=00.11011 [y]=11.01101 [-y]=00.10011
[x-y]=[x]+[-y]=00.11011+00.10011=01.01110
∵运算结果双符号不相等 ∴ 为正溢出
X-Y=+1.0111B

7. 用原码阵列乘法器、补码阵列乘法器分别计算X×Y。
(1)X=0.11011 Y= -0.11111
(2)X=-0.11111 Y=-0.11011 

解:(1)用原码阵列乘法器计算:

 [x]=0.11011 [y]=1.00001

(0) 1  1  0  1  1  
×) (1) 0  0  0  0  1 
 ----------------------------------
(0) 1  1  0  1  1
(0) 0  0  0  0  0 
  (0) 0  0  0  0  0 
(0) 0  0  0  0  0
(0) 0  0  0  0  0
(0) (1) (1) (0) (1) (1)
-----------------------------------------
(1) 0  0  1  0  1  1  1  0  1  1 
 
 [x×y]=1.0010111011
∴ x×y= -0.1101000101

8. 用原码阵列除法器计算 X÷Y。
(1)X=0.11000 Y= -0.11111
(2)X=-0.01011 Y=0.11001

解:(1)[x]=[x]=0.11000 [-∣y∣]=1.00001

  被除数 X 0.11000
 +[-∣y∣] 1.00001
 ----------------------
余数为负 1.11001 →q0=0
左移 1.10010
  +[|y|] 0.11111
 ----------------------
余数为正 0.10001 →q1=1
左移 1.00010 
  +[-|y|] 1.00001
 ----------------------
余数为正 0.00011 →q2=1 
   左移 0.00110 
  +[-|y|] 1.00001
 ----------------------
余数为负 1.00111 →q3=0
左移 0.01110
  +[|y|] 0.11111
 ----------------------
余数为负 1.01101 →q4=0
左移 0.11010
  +[|y|] 0.11111
 ----------------------
余数为负 1.11001 →q5=0
  +[|y|] 0.11111
 ----------------------
余数 0.11000

故 [x÷y]=1.11000 即 x÷y= -0.11000B
余数为 0.11000B×

9. 设阶为5位(包括2位阶符), 尾数为8位(包括2位数符), 阶码、尾数均用补码表示, 完成下列取值的[X+Y],[X-Y]运算:
(1)X=×0.100101 Y=×(-0.011110)
(2)X=×(-0.010110) Y=×(0.010110)

解:(1)将y规格化得:y=×(-0.111100)
 [x]=1101,00.100101 [y]=1101,11.000100 [-y]=1101,00.111100

 ① 对阶
[ΔE]=[Ex]+[-Ey]=1101+0011=0000
∴ Ex=Ey
 ② 尾数相加 
相加 相减
 00.100101   00.100101
+ 11.000100    + 00.111100
------------  --------------
 11.101001   01.100001
 [x+y]=1101,11.101001  左规 [x+y]=1100,11.010010 
∴ x+y=×(-0.101110) 
 [x-y]=1101,01.100001  右规 [x-y]=1110,00.1100001
 舍入处理得 [x-y]=1110,00.110001 
∴ x-y=×0.110001

(2) [x]=1011,11.101010 [y]=1100,00.010110 [-y]=1100,11.101010

 ① 对阶
[ΔE]=[Ex]+[-Ey]=1011+0100=1111
∴ △E= -1 [x]=1100,11.110101(0) 
 ② 尾数相加
相加 相减
 11.110101(0)  11.110101(0)
+ 00.010110   + 11.101010
-------------- ------------------
 00.001011(0)  11.011111(0)
 [x+y]=1100,00.001011(0) 左规 [x+y]=1010,00.1011000 
 ∴ x+y=×0.1011B
 [x-y]=1100,11.011111(0) 
 ∴ x-y=×(-0.100001B)

13. 某加法器进位链小组信号为C4C3C2C1 ,低位来的信号为C0 ,请分别按下述两种方式写出C4C3C2C1的逻辑表达式。
(1) 串行进位方式 (2) 并行进位方式

解 :(1)串行进位方式:
C1 = G1 + P1 C0 其中: G1 = A1 B1 , P1 = A1⊕B1
C2 = G2 + P2 C1   G2 = A2 B2 , P2 = A2⊕B2
C3 = G3 + P3 C2   G3 = A3 B3 , P3 = A3⊕B3
C4 = G4 + P4 C3   G4 = A4 B4 , P4 = A4⊕B4
 (2) 并行进位方式:
C1 = G1 + P1 C0 
C2 = G2 + P2 G1 + P2 P1 C0