计算机组成原理第二版蒋本珊编课后习题答案.docx
- 文档编号:8028968
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:69
- 大小:57.99KB
计算机组成原理第二版蒋本珊编课后习题答案.docx
《计算机组成原理第二版蒋本珊编课后习题答案.docx》由会员分享,可在线阅读,更多相关《计算机组成原理第二版蒋本珊编课后习题答案.docx(69页珍藏版)》请在冰豆网上搜索。
计算机组成原理第二版蒋本珊编课后习题答案
1.电子数字计算机和电子模拟计算机的区别在哪里?
解:
电子数字计算机中处理的信息是在时间上离散的数字量,运算的过程是不连续
的;电子模拟计算机中处理的信息是连续变化的物理量,运算的过程是连续的。
2.冯?
诺依曼计算机的特点是什么?
其中最主要的一点是什么?
解:
冯?
诺依曼计算机的特点如下:
①计算机(指硬件应由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成;
②计算机内部采用二进制来表示指令和数据;
③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作。
第③点是最主要的一点。
3.计算机的硬件是由哪些部件组成的?
它们各有哪些功能?
解:
计算机的硬件应由运算器、存储器、控制器、输入设备和输出设备五大基本部件
组成。
它们各自的功能是:
①输入设备:
把人们编好的程序和原始数据送到计算机中去,并且将它们转换成计
算机内部所能识别和接受的信息方式。
②输出设备:
将计算机的处理结果以人或其他设备所能接受的形式送出计算机。
③存储器:
用来存放程序和数据。
④运算器:
对信息进行处理和运算。
⑤控制器:
按照人们预先确定的操作步骤,控制整个计算机的各部件有条不紊地自
动工作。
4.什么叫总线?
简述单总线结构的特点。
解:
总线是一组能为多个部件服务的公共信息传送线路,它能分时地发送与接收各
部件的信息。
单总线结构即各大部件都连接在单一的一组总线上,这个总线被称为系统总线。
CPU与主存、CPU与外设之间可以直接进行信息交换,主存与外设、外设与外设之间也可以直接进行信息交换,而无须经过CPU的干预。
5.简单描述计算机的层次结构,说明各层次的主要特点。
解:
现代计算机系统是一个硬件与软件组成的综合体,可以把它看成是按功能划分
的多级层次结构。
第0级为硬件组成的实体。
第1级是微程序级。
这级的机器语言是微指令集,程序员用微指令编写的微程序一
般是直接由硬件执行的。
第2级是传统机器级。
这级的机器语言是该机的指令集,程序员用机器指令编写的
程序可以由微程序进行解释。
第3级是操作系统级。
从操作系统的基本功能来看,一方面它要直接管理传统机器
中的软硬件资源,另一方面它又是传统机器的延伸。
第4级是汇编语言级。
这级的机器语言是汇编语言,完成汇编语言翻译的程序叫做
汇编程序。
第5级是高级语言级。
这级的机器语言就是各种高级语言,通常用编译程序来完成
高级语言翻译的工作。
第6级是应用语言级。
这一级是为了使计算机满足某种用途而专门设计的,因此这
一级语言就是各种面向问题的应用语言。
6.计算机系统的主要技术指标有哪些?
解:
计算机系统的主要技术指标有:
机器字长、数据通路宽度、主存容量和运算速
机器字长是指参与运算的数的基本位数,它是由加法器、寄存器的位数决定的。
数据通路宽度是指数据总线一次所能并行传送信息的位数。
主存容量是指主存储器所能存储的全部信息量。
运算速度与机器的主频、执行什么样的操作、主存本身的速度等许多因素有关。
__
第二章
1.设机器数的字长8位(含1位符号位,分别写出下列各二进制数的原码、补码和反码:
0,-0,0.1000,-0.1000,0.1111,-0.1111,1101,-1101。
解:
真值原码补码反码
-0
0.1000
-0.1000
0.1111
-0.1111
1101
-1101
00000000
10000000
0.10000001.1000000
0.1111000
1.1111000
00001101
10001101
00000000
00000000
0.10000001.1000000
0.1111000
1.0001000
00001101
11110011
00000000
11111111
0.10000001.0111111
0.1111000
1.0000111
00001101
11110010
2.写出下列各数的原码、补码和反码:
7
16,4
16,1
16,±0,-1
16,-4
16,-7
16。
解:
7
16=7×2-4=0.0111
4
16=4×2-4=0.0100
1
16=1×2-4=0.0001
数据的机器层次表示
真值原码补码反码
7160.01110.01110.01114160.01000.01000.01001160.00010.00010.000100.00000.00000.0000-01.00000.00001.1111-1161.00011.11111.1110-4161.01001.11001.1011-7161.01111.10011.10003.已知下列数的原码表示,分别写出它们的补码表示:
[X1]原=0.10100,[X2]原=1.10111。
解:
[X1]补=0.10100,[X2]补=1.01001。
4.已知下列数的补码表示,分别写出它们的真值:
[X1]补=0.10100,[X2]补=
1.10111。
解:
X1=0.10100,X2=-0.01001。
5.设一个二进制小数X≥0,表示成X=0.a1a2a3a4a5a6,其中a1~a6取“1”或“0”:
(1若要X>12
a1~a6要满足什么条件?
(2若要X≥18
a1~a6要满足什么条件?
(3若要
14
≥X>1
16,a1~a6要满足什么条件?
解:
(1X>12
的代码为:
0.100001~0.111111。
a1=1,a2+a3+a4+a5+a6=1。
(2X≥18
的代码为:
0.00100018
…
0.11111163
64
a1+a2=0,a3=1或a1=0,a2=1或a1=1。
计算机组成原理教师用书
34(314
≥X>1
16的代码为:
0.0001015
64
…
0.01000014
a1+a2+a3=0,a4=1,a5+a6=1或a1+a2=0,a3=1或a2=1,a1+a3+a4+a5+
a6=0。
6.设[X]原=1.a1a2a3a4a5a6,
(1若要X>-12
a1~a6要满足什么条件?
(2若要-18
≥X≥-14
a1~a6要满足什么条件?
解:
(1X>-12
的代码为:
1.000001-1
64
…
1.011111-31
64
a1=0,a2+a3+a4+a5+a6=1。
(2-18
≥X≥-14
的代码为:
1.001000-18
1.001001-9
64
…
1.001111-15
64
1.010000-14
a1+a2=0,a3=1或a2=1,a1+a3+a4+a5+a6=0。
7.若上题中[X]原改为[X]补,结果如何?
解:
设[X]补=1.a1a2a3a4a5a6,
(1X>-12
的代码为:
351.100001-31
64
…
1.111111-1
64
a1=1,a2+a3+a4+a5+a6=1。
(2-18
≥X≥-14
的代码为:
1.110000-14
1.110001-15
64
…
1.110111-9
64
1.111000-18
a1?
a2=1,a3=0或a1?
a2?
a3=1,a4+a5+a6=0。
8.一个n位字长的二进制定点整数,其中1位为符号位,分别写出在补码和反码两
种情况下:
(1模数;(2最大的正数;
(3最负的数;(4符号位的权;
(5-1的表示形式;(60的表示形式。
解:
项目补码反码
模数Mod2nMod(2n-1
最大的正数2n-1-12n-1-1最负的数-2n-1-(2n-1-1
符号位的权2n-12n-1
-1的表示形式111111*********00的表示形式0000000000000000
111111119.某机字长16位,问在下列几种情况下所能表示数值的范围:
计算机组成原理教师用书
36(1无符号整数;
(2用原码表示定点小数;
(3用补码表示定点小数;
(4用原码表示定点整数;
(5用补码表示定点整数。
解:
(10≤X≤(216-1
(2-(1-2-15≤X≤(1-2-15
(3-1≤X≤(1-2-15
(4-(215-1≤X≤(215-1
(5-215≤X≤(215-1
10.某机字长32位,试分别写出无符号整数和带符号整数(补码的表示范围(用十进制数表示。
解:
无符号整数:
0≤X≤(232-1。
补码:
-231≤X≤(231-1。
11.某浮点数字长12位,其中阶符1位,阶码数值3位,数符1位,尾数数值7位,
码以2为底,阶码和尾数均用补码表示。
它所能表示的最大正数是多少?
最小规格化正数是多少?
绝对值最大的负数是多少?
解:
最大正数=(1-2-7×223-1=(1-2-7×27=127。
最小规格化正数=2-1×2-23=2-1×2-8=2-9=1
512。
绝对值最大的负数=-1×223-1=-1×27=-128。
12.某浮点数字长16位,其中阶码部分6位(含1位阶符,移码表示,以2为底;尾
数部分10位(含1位数符,位于尾数最高位,补码表示,规格化。
分别写出下列各题的二
进制代码与十进制真值。
(1非零最小正数;
(2最大正数;
(3绝对值最小负数;
(4绝对值最大负数。
解:
(1非零最小正数:
000000,0,100000000;2-1×2-25=2-33。
(2最大正数:
111111,0,111111111;(1-2-9×225-1=(1-2-9×231。
(3绝对值最小负数:
000000,1,011111111;-(2-1+2-9×2-25。
(4绝对值最大负数:
111111,1,000000000;-1×225-1=-231。
13.一浮点数,其阶码部分为p位,尾数部分为q位,各包含1位符号位,均用补码表
示;尾数基数r=2,该浮点数格式所能表示数的上限、下限及非零的最小正数是多少?
写
数据的机器层次表示
第2
章
37出表达式。
解:
上限(最大正数=(1-2-(q-1×22(p-1-1。
下限(绝对值最大负数=-1×22(p-1-1。
最小正数=2-(q-1×2-2(p-1。
最小规格化正数=2-1×2-2(p-1。
14.若上题尾数基数r=16,按上述要求写出表达式。
解:
上限(最大正数=(1-2-(q-1×162(p-1-1。
下限(绝对值最大负数=-1×162(p-1-1。
最小正数=2-(q-1×16-2(p-1。
最小规格化正数=16-1×16-2(p-1。
15.某浮点数字长32位,格式如下。
其中阶码部分8位,以2为底,移码表示;尾
部分一共24位(含1位数符,补码表示。
现有一浮点代码为(8C5A3E00__________16,试写出它所
表示的十进制真值。
07893
阶码数符尾数
解:
(8C5A3E0016=10001100010110100011111000000000B,
0.10110100011111×212=(101101000111.112=(2887.7510。
16.试将(-0.11012用IEEE短浮点数格式表示出来。
解:
0.1101=1.101×2-1。
符号位=1。
阶码=127-1=126。
1,01111110,10100000000000000000000。
结果=BF500000H。
17.将下列十进制数转换为IEEE短浮点数:
(128.75;
(2624;
(3-0.625;
(4+0.0;
(5-1000.5。
解:
(128.75=11100.11=1.110011×24。
符号位=0。
阶码=127+4=131。
0,10000011,11001100000000000000000。
计算机组成原理教师用书
38结果=41E60000H。
(2624=1001110000=1.001110000×29。
符号位=0。
阶码=127+9=136。
0,10001000,00111000000000000000000。
结果=441C0000H。
(3-0.625=-0.101=-1.01×2-1。
符号位=1。
阶码=127-1=126。
010*********。
结果=BF200000H。
(4+0.0。
结果=00000000H。
(5-1000.5=1111101000.1=1.1111010001×29。
符号位=1。
阶码=127+9=136。
1,10001000,11110100010000000000000。
结果=C47A2000H。
18.将下列IEEE短浮点数转换为十进制数:
(111000000111100000000000000000000;
(200111111000100000000000000000000;
(301000011100110010000000000000000;
(401000000000000000000000000000000;
(501000001001000000000000000000000;
(600000000000000000000000000000000。
解:
(11,10000001,11100000000000000000000符号位=1。
阶码=129-127=2。
1.111×22=111.1B=7.5。
所以结果=-7.5。
(20,01111110,00100000000000000000000符号位=0。
阶码=126-127=-1。
1.001×2-1=0.1001B=0.5625。
数据的机器层次表示
第2
章
39所以,结果=0.5625。
(30,10000111,00110010000000000000000符号位=0。
阶码=135-127=8。
1.0011001×28=100110010B=306。
所以,结果=306。
(40,10000000,00000000000000000000000符号位=0。
阶码=128-127=1。
1.0×21=10B=2。
所以,结果=2。
010*********符号位=0。
阶码=130-127=3。
1.01×23=1010B=10。
所以,结果=10。
(60,00000000,00000000000000000000000阶码和尾数都等于全0,结果=0。
19.对下列ASCII码进行译码:
1001001,0100001,1100001,1110111
1000101,1010000,1010111,0100100
解:
以上ASCII码分别为I,!
a,w,E,P,W,$。
20.以下列形式表示(538210。
(18421码;(2余3码;
(32421码;(4二进制数。
解:
(10101001110000010。
(210000*********01。
(310110*********10。
(41010100000110。
21.填写下列代码的奇偶校验位,现设为奇校验:
10100001
00011001
01001110
解:
3个代码的校验位分别是0,0,1。
计算机组成原理教师用书
4022.已知下面数据块约定:
横向校验、纵向校验均为奇校验,请指出至少有多少位出错。
a7a6a5a4a3a2a1a0校验位
10011011→0
00110101→1
11010000→0
11100000→0
01001111→0
↓↓↓↓↓↓↓↓
校验位10101111
解:
经检测a7和a0列出错,所以至少有两位出错。
23.求有效信息位为01101110的海明校验码。
解:
P5D8D7D6D5P4D4D3D2P3D1P2P1P1=D1⊕D2⊕D4⊕D5⊕D7=0⊕1⊕1⊕0⊕1=1
P2=D1⊕D3⊕D4⊕D6⊕D7=0⊕1⊕1⊕1⊕1=0
P3=D2⊕D3⊕D4⊕D8=1⊕1⊕1⊕0=1
P4=D5⊕D6⊕D7⊕D8=0⊕1⊕1⊕0=0
P5=D1⊕D2⊕D3⊕D5⊕D6⊕D8=0⊕1⊕1⊕0⊕1⊕0=1
所以,海明校验码=1011001111001。
24.设计算机准备传送的信息是:
1010110010001111,生成多项式是X5+X2+1,计
算校验位,写出CRC码。
解:
生成多项式X5+X2+1=100101。
首先将准备传送的信息左移5位:
101011001000111100000。
然后101011001000111100000÷100101,余数=10011。
所以,CRC码=101011001000111110011。
__、
3.
4教材习题解答
1.指令长度和机器字长有什么关系?
半字长指令、单字长指令、双字长指令分别表
示什么意思?
解:
指令长度与机器字长没有固定的关系,指令长度可以等于机器字长,也可以大于
或小于机器字长。
通常,把指令长度等于机器字长的指令称为单字长指令;指令长度等于半个机器字长的指令称为半字长指令;指令长度等于两个机器字长的指令称为双字长
指令。
2.零地址指令的操作数来自哪里?
一地址指令中,另一个操作数的地址通常可采用
什么寻址方式获得?
各举一例说明。
解:
双操作数的零地址指令的操作数来自堆栈的栈顶和次栈顶。
双操作数的一地址
指令的另一个操作数通常可采用隐含寻址方式获得,即将另一操作数预先存放在累加器中。
例如,前述零地址和一地址的加法指令。
3.某机为定长指令字结构,指令长度16位;每个操作数的地址码长6位,指令分为无操作数、单操作数和双操作数三类。
若双操作数指令已有K种,无操作数指令已有L种,问单操作数指令最多可能有多少种?
上述三类指令各自允许的最大指令条数是多少?
指令系统
第3
章
65解:
X=(24-K×26-jL
26k
双操作数指令的最大指令数:
24-1。
单操作数指令的最大指令数:
15×26-1(假设双操作数指令仅1条,为无操作数指
令留出1个扩展窗口。
无操作数指令的最大指令数:
216-212-26。
其中212为表示某条二地址指令占用的
编码数,26为表示某条单地址指令占用的编码数。
此时双操作数和单操作数指令各仅有1条。
4.设某机为定长指令字结构,指令长度12位,每个地址码占3位,试提出一种分配方案,使该指令系统包含:
4条三地址指令,8条二地址指令,180条单地址指令。
解:
4条三地址指令
000XXXYYYZZZ
…
011XXXYYYZZZ
8条二地址指令
100000XXXYYY
…
100111XXXYYY
180条单地址指令
101000000XXX
…
111110011XXX
5.指令格式同上题,能否构成:
三地址指令4条,单地址指令255条,零地址指令64条?
为什么?
解:
三地址指令4条
000XXXYYYZZZ
…
011XXXYYYZZZ
单地址指令255条
100000000XXX
…
111111110YYY
只能再扩展出零地址指令8条,所以不能构成这样的指令系统。
6.指令中地址码的位数与直接访问的主存容量和最小寻址单位有什么关系?
计算机组成原理教师用书
66解:
主存容量越大,所需的地址码位数就越长。
对于相同容量来说,最小寻址单位越小,地址码的位数就越长。
7.试比较间接寻址和寄存器间址。
解:
间接寻址方式的有效地址在主存中,操作数也在主存中;寄存器间址方式的有效
地址在寄存器中,操作数在主存中。
所以间接寻址比较慢。
8.试比较基址寻址和变址寻址。
解:
基址寻址和变址寻址在形成有效地址时所用的算法是相同的,但是它们两者实
际上是有区别的。
一般来说,变址寻址中变址寄存器提供修改量(可变的,而指令中提供
基准值(固定的;基址寻址中基址寄存器提供基准值(固定的,而指令中提供位移量(可
变的。
这两种寻址方式应用的场合也不同,变址寻址是面向用户的,用于访问字符串、向
量和数组等成批数据;而基址寻址面向系统,主要用于逻辑地址和物理地址的变换,用以解决程序在主存中的再定位和扩大寻址空间等问题。
在某些大型机中,基址寄存器只能
由特权指令来管理,用户指令无权操作和修改。
9.某机字长为16位,主存容量为64K字,采用单字长单地址指令,共有50条指令。
若有直接寻址、间接寻址、变址寻址、相对寻址四种寻址方式,试设计其指令格式。
解:
操作码6位,寻址方式2位,地址码8位。
10.某机字长为16位,主存容量为64K字,指令格式为单字长单地址,共有64条指
令。
试说明:
(1若只采用直接寻址方式,指令能访问多少主存单元?
(2为扩充指令的寻址范围,可采用直接/间接寻址方式,若只增加一位直接/间接标志,指令可寻址范围为多少?
指令直接寻址的范围为多少?
(3采用页面寻址方式,若只增加一位Z/C(零页/现行页标志,__________指令寻址范围为多
少?
指令直接寻址范围为多少?
(4采用(2、(3两种方式结合,指令的寻址范围为多少?
指令直接寻址范围为
多少?
解:
因为计算机中共有64条指令,所以操作码占6位,其余部分为地址码或标志位。
(1若只采用直接寻址方式,地址码部分为10位,指令能访问的主存单元数为210=
1K字。
(2若采用直接/间接寻址方式,将增加了一位直接/间接标志,地址码部分为9位,指令直接寻址的范围为29=0.5K字,指令可寻址范围为整个主存空间216=64K字。
(3若采用页面寻址方式,将增加一位Z/C(零页/现行页标志,所以指令直接寻址范围仍为29=0.5K字,指令寻址范围仍为216=64K字。
(4此时将需要@和Z/C两个标志位,所以指令直接寻址范围为28=0.25K字,指
令的可寻址范围仍为216=64K字。
指令系统
第3
章
6711.设某机字长32位,CPU有32个32位的通用寄存器,设计一个能容纳64种操作
的单字长指令系统。
(1如果是存储器间接寻址方式的寄存器-存储器型指令,能直接寻址的最大主存
空间是多少?
(2如果采用通用寄存器作为基址寄存器,能直接寻址的最大主存空间又是多少?
解:
因为计算机中共有64条指令,所以操作码占6位;32个通用寄存器,寄存器编号
占5位;其余部分为地址码或标志位。
(1如果是存储器间接寻址方式的寄存器-存储器型指令,操作码6位,寄存器编号5位,间址标志1位,地址码20位,直接寻址的最大主存空间是220字。
(2如果采用通用寄存器作为基址寄存器,EA=(Rb+A,能直接寻址的最大主存
空间是232字。
12.已知某小型机字长为16位,其双操作数指令的格式如下:
0567815
OPRA
其中:
OP为操作码,R为通用寄存器地址。
试说明下列各种情况下能访问的最大主存区域有多少机器字?
(1A为立即数。
(2A为直接主存单元地址。
(3A为间接地址(非多重间址。
(4A为变址寻址的形式地址,假定变址寄存器为R1(字长为16位。
解:
(11个机器字。
(2256个机器字。
(365536个机器字。
(465536个机器字。
13.计算下列4条指令的有效地址(指令长度为16位。
(10000
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 原理 第二 课后 习题 答案