计算机组成原理(薛胜军)课后习题答案第三版(1)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1. 1
计算机是一种能自动地、高速地对各种数字化信息进行运算处理的电子设备。

1. 2
冯诺依曼计算机体系结构的基本思想是存储程序,也就是将用指令序列描述的解题程序与原始数据一起存储到计算机中。

计算机只要一启动,就能自动地取出一条条指令并执行之,直至程序执行完毕,得到计算结果为止。

按此思想设计的计算机硬件系统包含:运算器、控制器、存储器、输入设备和输出设备。

各部分的作用见教材:P10—P12
1. 3
计算机的发展经历了四代。

第一代:见教材P1
第二代:见教材P2
第三代:见教材P2
第四代:见教材P2
1.4系统软件定义见教材:P12—13,应用软件定义见教材:P12
1.5见教材:P14—15
1.6见教材:P11
1.7见教材:P6—8
1.8硬件定义见教材:P9
软件定义见教材:P12
固件定义见教材:P13
1.9
1)听觉、文字、图像、音频、视频
2)图像、声音、压缩、解压、DSP
1.10处理程度按从易到难是:
文本→图形→图像→音频→视频
第二章
2.1各数的原码、反码、补码和移码见下表:
2.2
27/64=00011011/01000000=0.0110110=0.11011×2-1
规格化浮点表示为:[27/64]原=101,011011000
[27/64]反=110,011011000
[27/64]补=111,011011000
同理:--27/64=--0.11011×2-1
规格化浮点表示为:[27/64]原=101,111011000
[27/64]反=110,100100111
[27/64]补=111,100101000
2.3 模为:29=1000000000
2.4 不对,8421码是十进制的编码
2.5浮点数的正负看尾数的符号位是1还是0
浮点数能表示的数值范围取决于阶码的大小。

浮点数数值的精确度取决于尾数的长度。

2.6
1)不一定有N1>N2 2)正确
2.7 最大的正数:0111 01111111 十进制数:(1-2-7)×27
最小的正数:1001 00000001 十进制数:2-7×2-7
最大的负数:1001 11111111 十进制数:--2-7×2-7
最小的负数:0111 10000001 十进制数:--(1-2-7)×27
2.8
1)[x]补=00.1101 [y]补=11.0010
[x+y]补=[x]补+[y]补=11.1111无溢出
x+y= -0.0001
[x]补=00.1101 [--y]补=00.1110
[x-y]补=[x]补+[--y]补=01.1011 正向溢出
2)[x]补=11.0101 [y]补=00.1111
[x+y]补=[x]补+[y]补=00.0100 无溢出
x+y= 0.0100
[x]补=11.0101 [--y]补=11.0001
[x-y]补=[x]补+[--y]补=10.0110 负向溢出
3) [x]补=11.0001 [y]补=11.0100
[x+y]补=[x]补+[y]补=10.0101 负向溢出
[x]补=11.0001 [--y]补=00.1100
[x-y]补=[x]补+[--y]补=11.1101 无溢出
X-y=-0.0011
2.9
1)原码一位乘法 |x|=00.1111 |y|=0.1110
部分积乘数 y n
00.0000 0.1110
+00.0000
00.0000
→00.00000 0.111
+00.1111
00.11110
→00.011110 0.11
+00.1111
01.011010
→00.1011010 0.1
+00.1111
01.1010010
→00.11010010
P f=x f⊕y f=1 |p|=|x|×|y|=0.11010010
所以[x×y]原=1.11010010
补码一位乘法 [x]补=11.0001 [y]补=0.1110 [--x]补=11.0001 部分积 y n y n+1
00.0000 0.11100
→00.00000 0.1110
+00.1111
00.11110
→00.011110 0.111
→00.0011110 0.11
→00.00011110 0.1
+11.0001
11.00101110
[x×y]补=11.00101110
2)原码一位乘法 |x|=00.110 |y|=0.010
部分积乘数 y n
00.000 0.010
+00.000
00.000
→00.0000 0.01
+00.110
00.1100
→00.01100 0.0
+00.000
00.01100 0
→00.001100
P f=x f⊕y f=0 |p|=|x|×|y|=0.001100
所以[x×y]原=0.001100
补码一位乘法 [x]补=11.010 [y]补=1.110 [--x]补=00.110
部分积 y n y n+1
00.000 1.1100
→00.0000 1.110
+00.110
00.1100
→00.01100 1.11
→00.001100 1.1
所以[x×y]补=0.001100
2.10
1)原码两位乘法 |x|=000.1011 |y|=00.0001 2|x|=001.0110
部分积乘数 c
000.0000 00.00010
+000.1011
000.1011
→000.001011 0.000
→000.00001011 00.0
P f=x f⊕y f=1 |p|=|x|×|y|=0.00001011
所以[x×y]原=1.00001011
补码两位乘法 [x]补=000.1011 [y]补=11.1111 [--x]补=111.0101
部分积乘数 y n+1
000.0000 11.11110
+111.0101
111.0101
→111.110101 11.111
→111.11110101 11.1
所以[x×y]补=111.11110101 x×y=--0.00001011
2)原码两位乘法 |x|=000.101 |y|=0.111 2|x|=001.010 [--|x| ]补=111.011 部分积乘数 c
000.000 0.1110
+111.011
111.011
→111.11011 0.11
+001.010
001.00011
→000.100011
P f=x⊕y f=0 |p|=|x|×|y|=0.100011
所以[x×y]原=0.100011
补码两位乘法 [x]补=111.011 [y]补=1.001 [--x]补=000.101 2[--x]补=001.010 部分积乘数 y n+1
000.000 1.0010
+111.011
111.011
→111.111011 1.00
+001.010
001.00011
→000.100011
所以[x×y]补=0.100011
2.11
1) 原码不恢复余数法 |x|=00.1010 |y|=00.1101 [--|y| ]补=11.0011
部分积商数
00.1010
+11.0011
1101101 0
←11.1010
+00.1101
00.0111 0.1
←00.1110
+11.0011
00.0001 0.11
←00.0010
+11.0011
11.0101 0.110
←01.1010
+00.1101
11.0111 0.1100
+00.1101
00.0100
所以[x/y]原=0.1100 余数[r]原=0.0100×2—4
补码不恢复余数法 [x]补=00.1010 [y]补=00.1101 [--y]补=11.0011 部分积商数
00.1010
+11.0011
11.1101 0
←11.1010
+00.1101
00.0111 0.1
←00.1110
+11.0011
00.0001 0.11
←00.0010
+11.0011
11.0101 0.110
←10.1010
+00.1101
11.0111 0.1100
+00.1101
00.0100
所以[x/y]补=0.1100 余数[r]补=0.0100×2—4
2)原码不恢复余数法 |x|=00.101 |y|=00.110 [--|y| ]补=11.010 部分积商数
00.101
+11.010
11.111 0
←11.110
+00.110
00.100 0.1
←01.000
+11.010
00.010 0.11
←00.100
+11.010
11.110 0.110
+00.110
00. 100
所以[x/y]原=1.110 余数[r]原=1.100×2—3
补码不恢复余数法 [x]补=11.011 [y]补=00.110 [--y]补=11.010 部分积商数
11.011
+00.110
00.001 1
←00.010
+11.010
11.100 1.0
←11.000
+00.110
11.110 1.00
←11.100
+00.110
00.010 1.001
+11.010
11.100
所以[x/y]补=1.001+2—3=1.010 余数[r]补=1.100×2—3
2.12
1)[x]补=21101×00.100100 [y]补=21110×11.100110
小阶向大阶看齐: [x]补=21110×00.010010
求和:[x+y]补=21110×(00.010010+11.100110)=21110×11.111000 [x-y]补=21110×(00.010010+00.011010)=21110×00.101100 规格化:[x+y]补=21011×11.000000 浮点表示:1011,11.000000
规格化:[x-y]补=21110×00.101100 浮点表示:1110,0.101100 2)[x]补=20101×11.011110 [y]补=20100×00.010110
小阶向大阶看齐:[y]补=20101×00.001011
求和:[x+y]补=20101×(11.011110+00.001011)=20101×11.101001 [x-y]补=20101×(11.011110+11.110101)=20101×00.010011 规格化:[x+y]补=21010×11.010010 浮点表示:1010,11. 010010
规格化:[x-y]补=21010×00.100110 浮点表示:1010,00.100110
2.13
见教材:P70
2.14
1)1.0001011×26
2)0.110111*×2-6
2.15
1)串行进位方式
C1=G1+P1C0 G1=A1B1, P1=A1⊕B1
C2=G2+P2C1 G2=A2B2, P2=A2⊕B2
C3=G3+P3C2 G3=A3B3, P3=A3⊕B3
C4=G4+P4C3 G4=A4B4, P4=A4⊕B4
2)并行进位方式
C1=G1+P1C0
C2=G2+P2G1+P2P1C0
C3=G3+P3G2+P3P2G1+P3P2P1C0
C4= G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0
2.16
参考教材P62 32位两重进位方式的ALU和32位三重进位方式的ALU 2.17
第三章
3.1见教材:P79
3.2 见教材:P83
3.3与SRAM相比,DRAM在电路组成上有以下不同之处:
1)地址线的引脚一般只有一半,因此,增加了两根控制线RAS、CAS,分别控制接受行地址和列地址。

2)没有CS引脚,在存储器扩展时用RAS来代替
由于引脚的限制,要分开接收行地址和列地址。

3.4见教材:P88
3.5
1)(220×16)/(217×16)=23=8
2)(128k×16)/(16k×8)=8×2=16
3)16×8=128 ,CPU通过译码与片选方式选择模块板。

D0……D15
3.6 (1)芯片1K×4位,片内地址线10位(A9--A0 ),数据线4位。

芯片总数为:(16K×16)/(1K×4)=16×4=64片
(2)存储器容量为16K,故地址线总数为14位(A13─A0),其中A13A12A11A10通过 4:16译码器产生片选信号CS0─CS15。

(3)刷新信号周期为:2ms/64=31.3us。

(4)若用集中式刷新,则刷新一遍用64个读/写周期。

死时间率为:64×0.1/2×1000=0.32%。

(1) 0000H
3FFFH
4000H
5FFFH
6000H
FFFFH
(2)CPU与芯片连接如图所示:
3.8
1)可采用多体交叉存储器或高速缓冲存储器来实现。

2)可参考P109图3-20
3.9
1)虚拟地址格式:
29 12 11 0
虚拟地址30位
2)物理地址格式:
21 12 11 0
物理地址22位
3)页表的长度为:1GB/4KB=256K
3.10
1)程序运行的时间不相等,第一种情况的运行时间要大于第二种情况的运行时间。

2)假设运行一条指令的时间为4T
在四体交叉存储器中第一次取6条指令的时间=4T+5T=9T,以后均为8T。

重复执行80次的时间=79×8+9T=641T 在四体交叉存储器中第一次取8条指令的时间=4T+7T=11T,以后均为8T。

重复执行60次的时间=59×8+11T=483T 3.11
M(x)=x1+x0=0011
M(x)x3=x4+x3=0011000
G(x)= x3+x +1=1011
M(x)x3/ G(x)=0011000/1011=0011+101/1011
M(x)x3+ R(x)=0011000+101=0011101
海明码是:0100011。

相关文档
最新文档