logo资料库

计算机组成原理 白中英课后习题答案(第五版).pdf

第1页 / 共39页
第2页 / 共39页
第3页 / 共39页
第4页 / 共39页
第5页 / 共39页
第6页 / 共39页
第7页 / 共39页
第8页 / 共39页
资料共39页,剩余部分请下载后查看
计算机组成原理 第五版 习题答案
第一章 1
第二章 3
第三章 14
第四章 19
第五章 21
第六章 27
第七章 31
第八章 34
第九章 36
第一章
1. 模拟计算机的特点是数值由连续量来表示,运算过程也是连续的。数字计算机的主要特点是按位运算,并且不连续地跳动计算。模拟计算机用电压表示数据,采用电压组合和测量值的计算方式,盘上连线的控制方式,而数字计算机用数字0和1表示数据,采用数字计数的计算方式,程序控制的控制方式。数字计算机与模拟计算机相比,精度高,数据存储量大,逻辑判断能力强。
2. 数字计算机可分为专用计算机和通用计算机,是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。
3. 科学计算、自动控制、测量和测试、信息处理、教育和卫生、家用电器、人工智能。
4. 主要设计思想是:采用存储程序的方式,编制好的程序和数据存放在同一存储器中,计算机可以在无人干预的情况下自动完成逐条取出指令和执行指令的任务;在机器内部,指令和数据均以二进制码表示,指令在存储器中按执行顺序存放。主要组成部分有::运算器、逻辑器、存储器、输入设备和输出设备。
5. 存储器所有存储单元的总数称为存储器的存储容量。每个存储单元都有编号,称为单元地址。如果某字代表要处理的数据,称为数据字。如果某字为一条指令,称为指令字。
6. 计算机硬件可直接执行的每一个基本的算术运算或逻辑运算操作称为一条指令,而解算某一问题的一串指令序列,称为程序。
7. 取指周期中从内存读出的信息流是指令流,而在执行器周期中从内存读出的信息流是数据流。
8. 半导体存储器称为内存,存储容量更大的磁盘存储器和光盘存储器称为外存,内存和外存共同用来保存二进制数据。运算器和控制器合在一起称为中央处理器,简称CPU,它用来控制计算机及进行算术逻辑运算。适配器是外围设备与主机联系的桥梁,它的作用相当于一个转换器,使主机和外围设备并行协调地工作。
9. 计算机的系统软件包括系统程序和应用程序。系统程序用来简化程序设计,简化使用方法,提高计算机的使用效率,发挥和扩大计算机的功能用用途;应用程序是用户利用计算机来解决某些问题而编制的程序。
10. 在早期的计算机中,人们是直接用机器语言来编写程序的,这种程序称为手编程序或目的程序;后来,为了编写程序方便和提高使用效率,人们使用汇编语言来编写程序,称为汇编程序;为了进一步实现程序自动化和便于程序交流,使不熟悉具体计算机的人也能很方便地使用计算机,人们又创造了算法语言,用算法语言编写的程序称为源程序,源程序通过编译系统产生编译程序,也可通过解释系统进行解释执行;随着计算机技术的日益发展,人们又创造出操作系统;随着计算机在信息处理、情报检索及各种管理系统中应用的发展,要求大量处理某些数据,建立和检索大量的表格,于是产生了数据库管理系统。
11. 第一级是微程序设计级,这是一个实在的硬件级,它由机器硬件直接执行微指令;第二级是一般机器级,也称为机器语言级,它由程序解释机器指令系统;第三级是操作系统级,它由操作系统实现;第四级是汇编语言级,它给程序人员提供一种符号形式语言,以减少程序编写的复杂性;第五级是高级语言级,它是面向用户的,为方便用户编写应用程序而设置的。用一系列的级来组成计算机的接口对于掌握计算机是如何组成的提供了一种好的结构和体制,而且用这种分级的观点来设计计算机对保证产生一个良好的系统结构也是很有帮助的。
12. 因为任何操作可以由软件来实现,也可以由硬件来实现;任何指令的执行可以由硬件完成,也可以由软件来完成。实现这种转化的媒介是软件与硬件的逻辑等价性。
13. 计算机应用和应用计算机在概念上是不等价的。
计算机应用是计算机学科与其他学科相结合的交叉学科,是计算机学科的组成部分,分为数值计算和非数值应用两大领域。
应用计算机是借助计算机为实现特定的信息系统功能的手段。在计算机系统的层次结构中,应用计算机是多级计算机系统层次结构的最终目标,是高级语言级之上的服务层次。
第二章
1.(1)
(2)
[127]原=01111111
[127]反=01111111
[127]补=01111111
(3)
(4)
2.[x]补 = a0. a1a2…a6
解法一、
(1) 若a0 = 0, 则x > 0, 也满足x > -0.5
此时a1→a6可任意
(2) 若a0 = 1, 则x <= 0, 要满足x > -0.5, 需a1 = 1
即a0 = 1, a1 = 1, a2→a6有一个不为0
解法二、
-0.5 = -0.1(2) = -0.100000 = 1, 100000
(1) 若x >= 0, 则a0 = 0, a1→a6任意即可
[x]补 = x = a0. a1a2…a6
(2) 若x < 0, 则x > -0.5
只需-x < 0.5, -x > 0
[x]补 = -x, [0.5]补 = 01000000
即[-x]补 < 01000000
即a0a1 = 11, a2→a6不全为0或至少有一个为1(但不是“其余取0”)
3.字长32位浮点数,阶码8位,用移码表示,尾数23位,用补码表示,基为2
(1) 最大的数的二进制表示
E = 11111111
Ms = 0, M = 11…1(全1)
1 11111111 01111111111111111111111
(2) 最小的二进制数
E = 11111111
Ms = 1, M = 00…0(全0)
1 11111111 1000000000000000000000
(3) 规格化范围
正最大 E = 11…1, M = 11…1, Ms = 0
8个 22个
即:
正最小 E = 00…0, M = 100…0, Ms = 0
8个 21个
即:
负最大 E = 00…0, M = 011…1, Ms = 1
8个 21个
(最接近0的负数)即:
负最小 E = 11…1, M = 00…0, Ms =1
8个 22个
即:
规格化所表示的范围用集合表示为:
[ , ][,]
4.在IEEE754标准中,一个规格化的32位浮点数x的真值表示为:
X = ×(1.M)×
(1)27/64=0.011011=1.1011×
E= -2+127 = 125= 0111 1101 S= 0 M= 1011 0000 0000 0000 0000 000
最后表示为:0 01111101 10110000000000000000000(2)-27/64=-0.011011=1.1011×
E= -2+127 = 125= 0111 1101 S= 1 M= 1011 0000 0000 0000 0000 000
最后表示为:1 01111101 10110000000000000000000
5.(1)用变形补码进行计算:
[x]补=00 11011 [y]补=00 00011
结果没有溢出,x+y=11110
(2) [x]补=00 11011 [y]补=11 01011
结果没有溢出,x+y=00110
(3)[x]补=11 01010 [y]补=11 111111
结果没有溢出,x+y=-10111
6.[x-y]补=[x]补+[-y]补
(1)[x]补=00 11011 [-y]补=00 11111
结果有正溢出,x-y=11010
(2)[x]补=00 10111 [-y]补=11 00101
结果没有溢出,x-y=-00100
(3)[x]补=00 11011 [-y]补=00 10011
结果有正溢出,x-y=10010
7.(1) 用原码阵列乘法器:
[x]原=0 11011 [y]原=1 11111
因符号位单独考虑,|x|=11011 |y|=11111            1  1  0  1  1           ×)  1  1  1  1  1      ——————————————————————————
1 1 0 1 1
1 1 0 1 1
1 1 0 1 1
1 1 0 1 1
1 1 0 1 1
1 1 0 1 0 0 0 1 0 1
   [x×y]原=1 1101000101
用补码阵列乘法器:
[x]补=0 11011 [y]补=1 00001
乘积符号位为:1
|x|=11011 |y|=11111
  1  1  0  1  1           ×)  1  1  1  1  1      ——————————————————————————
1 1 0 1 1
1 1 0 1 1
1 1 0 1 1
1 1 0 1 1
1 1 0 1 1
1 1 0 1 0 0 0 1 0 1
[x×y]补=1 0010111011
(2) 用原码阵列乘法器:
[x]原=1 11111 [y]原=1 11011
因符号位单独考虑,|x|=11111 |y|=11011            1  1  1  1  1           ×)  1  1  0  1  1      ——————————————————————————
1 1 1 1 1
1 1 1 1 1
0 0 0 0 0
1 1 1 1 1
1 1 1 1 1
1 1 0 1 0 0 0 1 0 1
   [x×y]原=0 1101000101
用补码阵列乘法器:
[x]补=1 00001 [y]补=1 00101
乘积符号位为:1
|x|=11111 |y|=11011
  1  1  1  1  1           ×)  1  1  0  1  1      ——————————————————————————
1 1 1 1 1
1 1 1 1 1
0 0 0 0 0
1 1 1 1 1
1 1 1 1 1
1 1 0 1 0 0 0 1 0 1
[x×y]补=0 1101000101
8.(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.11000    余数为 0 11000
(2) [∣x∣]补=0 01011   [-∣y∣]补=1 00111              被除数 X 0 01011          +[-|y|]补 1 00111       ----------------------------------------------------          余数为负 1 10010 →q0=0            左移 1 00100          +[|y|]补  0 11001       ----------------------------------------------------          余数为负 1 11101 →q1=0            左移 1 11010          +[|y|]补  0 11001       ----------------------------------------------------          余数为正 0 10011 →q2=1              左移 1 00110           +[-|y|]补 1 00111       ----------------------------------------------------          余数为正 0 01101 →q3=1            左移 0 11010          +[-|y|]补 1 00111       ----------------------------------------------------          余数为正 0 00001 →q4=1            左移 0 00010          +[-|y|]补 1 00111       ----------------------------------------------------          余数为负 1 01001 →q5=0          +[|y|]补  0 11001       ----------------------------------------------------            余数 0 00010
    x÷y= -0.01110    余数为 0 00010
9.(1) x = 2-011*0.100101, y = 2-010*(-0.011110)
[x]浮 = 11101,0.100101
[y]浮 = 11110,-0.011110
Ex-Ey = 11101+00010=11111
[x]浮 = 11110,0.010010(1)
规格化处理: 1.010010 阶码 11100
x+y= 1.010010*2-4 = 2-4*-0.101110
规格化处理: 0.110000 阶码 11110
x-y=2-2*0.110001
(2) x = 2-101*(-0.010110), y = 2-100*0.010110
[x]浮= 11011,-0.010110
[y]浮= 11100,0.010110
Ex-Ey = 11011+00100 = 11111
[x]浮= 11100,1.110101(0)
规格化处理: 0.101100 阶码 11010
x+y= 0.101100*2-6
规格化处理: 1.011111 阶码 11100
x-y=-0.100001*2-4
10.(1) Ex = 0011, Mx = 0.110100
Ey = 0100, My = 0.100100
Ez = Ex+Ey = 0111
规格化: 26*0.111011
(2) Ex = 1110, Mx = 0.011010
Ey = 0011, My = 0.111100
Ez = Ex-Ey = 1110+1101 = 1011
[Mx]补 = 00.011010
[My]补 = 00.111100, [-My]补 = 11.000100
商 = 0.110110*2-6, 余数=0.101100*2-6
11.
4位加法器如上图,
(1)串行进位方式
C1 = G1+P1C0 其中:G1 = A1B1 P1 = A1⊕B1(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
12.(1)组成最低四位的74181进位输出为:
C4 = Cn+4 = G+PCn = G+PC0, C0为向第0位进位
其中,G = y3+y2x3+y1x2x3+y0x1x2x3,P = x0x1x2x3,所以
C5 = y4+x4C4
C6 = y5+x5C5 = y5+x5y4+x5x4C4
(2)设标准门延迟时间为T,“与或非”门延迟时间为1.5T,则进位信号C0,由最低位传送至C6需经一个反相器、两级“与或非”门,故产生C0的最长延迟时间为
T+2*1.5T = 4T
(3)最长求和时间应从施加操作数到ALU算起:第一片74181有3级“与或非”门(产生控制参数x0, y0, Cn+4),第二、三片74181共2级反相器和2级“与或非”门(进位链),第四片74181求和逻辑(1级与或非门和1级半加器,设其延迟时间为3T),故总的加法时间为:
t0 = 3*1.5T+2T+2*1.5T+1.5T+3T = 14T
13.设余三码编码的两个运算数为Xi和Yi,第一次用二进制加法求和运算的和数为Si’,进位为Ci+1’,校正后所得的余三码和数为Si,进位为Ci+1,则有:
Xi = Xi3Xi2Xi1Xi0
Yi = Yi3Yi2Yi1Yi0
Si’ = Si3’Si2’Si1’Si0’
根据以上分析,可画出余三码编码的十进制加法器单元电路如图所示。
14.
图如下:
15.设计思想:电路由三部分构成:ALU完成定点加减法运算和逻辑运算,专用的阵列乘法器完成乘法运算,专用的阵列除法器完成除法操作。逻辑图可参考主教材图2.7和图2.9。
16.设计思想:因为有八种运算,所以控制信号采用三位,S0,S1,S2。加法和减法操作利用4位补码加减法器完成;加1操作可以单独设计电路实现,也可以将被加数强制为+1利用加减法器实现;传送操作可以利用加减法器实现,第二加数强制为0;逻辑乘和取反操作可设计单独的逻辑运算电路,用与门和反相器实现;取补电路单独设计,参见主教材图2.6;乘法操作可单独设计高速乘法器,电路参见主教材图2.7。
17. 设计思想:将74181的S3~S0及M等五个控制信号缩减为S2~S0三根信号,主教材表2.5(功能表中的算术运算和逻辑运算相应进行简化,去除冗余操作和可替代操作:
000: 逻辑0
001: AB
010: A+B
011: A⊕B
100: A加B
101: A减B减1
110: A加A
111: A
其中,000~011为四种逻辑运算,100~111为四种算术运算。根据功能表可以很容易地设计出简化的函数发生器。
第三章
1. (1)
(2)
(3)1位地址作芯片选择
2. (1) /=4(块)
(2) (/)×(64位/8位)=32(片)
(3)主存共需DRAM芯片为:4×32=128 (片)
每个内存条有32片DRAM芯片,容量为16M×64位,需24根地址线(A23~A0)完成内 存条内存储单元寻址。一共有4块内存条,采用2根高位地址线(A25~A24),通过2:4译码器译码产生片选信号对各模块板进行选择。
3. (1)根据题意,存储总容量为64KB,故地址总线需16位。现使用16K*8位DRAM芯片,共需16片。芯片本身地址线占14位,所以采用位并联与地址串联相结合的方法来组成整个存储器,其组成逻辑图如图所示,其中使用一片2:4译码器。
(2)根据已知条件,CPU在1us内至少访存一次,而整个存储器的平均读/写周期为0.5us,如果采用集中刷新,有64us的死时间,肯定不行
如果采用分散刷新,则每1us只能访存一次,也不行所以采用异步式刷新方式。
假定16K*1位的DRAM芯片用128*128矩阵存储元构成,刷新时只对128行进行异步方式刷新,则刷新间隔为2ms/128 = 15.6us,可取刷新信号周期15us。
刷新一遍所用时间=15us×128=1.92ms
4. (1)
(2)
(3)如果选择一个行地址进行刷新,刷新地址为A0-A8,因此这一行上的2048个存储元同时进行刷新,即在8ms内进行512个周期。刷新方式可采用:在8ms中进行512次刷新操作的集中刷新方式,或按8ms/512 = 15.5us刷新一次的异步刷新方式。
5. 所设计的存储器单元数为1M,字长为32,故地址长度为20位(A19~A0),所用芯片存储单元数为256K,字长为16位,故占用的地址长度为18位(A17~A0)。由此可用位并联方式与地址串联方式相结合的方法组成组成整个存储器,共8片RAM芯片,并使用一片2:4译码器。其存储器结构如图所示。
6.(1)系统16位数据,所以数据寄存器16位
(2)系统地址128K=217,所以地址寄存器17位
(3) 共需要8片
(4) 组成框图如下
7.(1)组内地址用A12~A0
(2)小组译码器使用3:8译码器
(3)RAM1~RAM5各用两片8K*8的芯片位并联连接
8.顺序存储器和交叉存储器连续读出m = 8个字的信息总量都是:
q = 64位*8 = 512位
顺序存储器和交叉存储器连续读出8个字所需的时间分别是:
t1 = mT = 8*100ns = 8*10-7s
顺序存储器和交叉存储器的带宽分别是:
9.cache的命中率
cache/主存系统效率e为
平均访问时间Ta为
10. h*tc+(1-h)*tm = ta
11.设取指周期为T,总线传送周期为τ,指令执行时间为t0
(1)t = (T+5τ+6t0)*80 = 80T+400τ+480 t0
(2) t = (T+7τ+8t0)*60 = 60T+420τ+480 t0
故不相等。
12.D
第四章
1.不合理。指令最好半字长或单字长,设16位比较合适。
2.70条指令,所以操作码至少为7位。
双操作数指令格式可以为:
单操作数指令格式可以为:
无操作数指令格式可以为:
3.(1)RR型指令
(2)寄存器寻址
(3)单字长二地址指令
(4)操作码字段OP可以指定26=64种操作
4.(1)双字长二地址指令,用于访问存储器。操作码字段可指定64种操作。
(2)RS型指令,一个操作数在通用寄存器(共16个),另一个操作数在主存中。
(3)有效地址可通过变址寻址求得,即有效地址等于变址寄存器(共16个)内容加上位移量。
5.(1)双操作数指令
(2)23=8种寻址方式
(3)24=16种操作
6.(1)直接寻址方式
(2)相对寻址方式
(3)变址寻址方式
(4)基址寻址方式
(5)间接寻址方式
(6)基址间接寻址方式
7.40条指令至少需要操作码字段6位,所以剩下的长度为26位。主存的容量为64M字,则设寻址模式(X)2位,格式如下:
31 26 25 24 23 0
X= 0 0 直接寻址 有效地址 E=D
X= 0 1 立即寻址 D字段为立即数
X= 1 0 变址寻址 有效地址 E= (RX)+D (可寻址64M个存储单元)
X= 1 1 相对寻址 有效地址 E=(PC)+D (可寻址64M个存储单元)  其中RX为变址寄存器(32位),PC为程序计数器(32位)。在相对寻址时,位移量D可正可负。
8.(1)50种操作码占6位,4种寻址方式占2位。以单地址指令为例:
X = 00 寄存器寻址方式。D字段实际使用4比特选择16个通用寄存器。
X = 01 寄存器间接寻址方式。D字段实际使用4比特选择16个通用寄存器。E= (RX)。
X = 10 立即寻址方式。D字段给出24位立即数。
X = 11 直接寻址方式。D字段给出24位内存地址。E = D。
(2) 寻址模式字段变成3位,可以支持更多的寻址方式。可增加相对寻址方式,其有效地址E = PC+D;还可使用内存间接寻址,此时有效地址E = (D)。
9. 16个通用寄存器占4位,64种操作占6位,剩下22位用于存储器地址,
采用R为基址寄存器寻址,地址=(R)+D
当基址最大,D也是最大的时候,寻址能力最大
而寄存器是32位的,
故最大存储空间是232+222 = 4GB+4MB。
10. 表4.9的指令数为29,则指令的操作码至少为5位。设这些指令支持立即寻址、寄存器寻址、直接寻址、堆栈寻址、相对寻址、内存间接寻址、寄存器间接寻址、变址寻址、基址寻址等9种寻址方式。并设计算机字长为32位:
11.C
12.(1)寄存器
(2)寄存器间接
(3)立即
(4)直接
(5)相对、基址、变址
第五章
1. (1)IR、(2)AR、(3)DR、通用寄存器
2. STO R1,(R2)
3. LAD (R3), R0
4.
5.节拍脉冲T1,T2,T3的宽度实际上等于时钟脉冲的周期或是它的倍数。此处T1 = T2 = 200ns,
T3 = 400ns,所以主脉冲源的频率应为。
为了消除节拍脉冲上的毛刺,环形脉冲发生器采用移位寄存器形式。图中画出了题目要求的逻辑电路图与时序信号关系图。根据时序信号关系,T1,T2,T3三个节拍脉冲的逻辑表达式如下:
T1用与门实现,T2和T3则用C2的端和C1的Q端加非门实现,其目的在于保持信号输出时延时间的一致性并与环形脉冲发生器隔离。
6.
7. M = G
S3 = H+D+F
S2 = A+B+H+D+E+F+G
S1 = A+B+F+G
C = H+D+Ey+Fy+Gφ
8. 经分析,(d, i, j)和(e, f, h)可分别组成两个小组或两个字段,然后进行译码,可得六个微命令信号,剩下的a, b, c, g四个微命令信号可进行直接控制,其整个控制字段组成如下:
9. P1 = 1,按IR6、IR5转移
P2 = 1,按进位C转移
微地址转移逻辑图:
10. (1)将C,D两个暂存器直接接到ALU的A,B两个输入端上。与此同时,除C,D外,其余7个寄存器都双向接到单总线上。
(2)
11. (1)假设判别测试字段中每一位作为一个判别标志,那么由于有4个转移条件,故该字段为4位。下地址字段为9位,因为控存容量为512单元。微命令字段则是(48-4-9)=35位。
(2)对应上述微指令格式的微程序控制器逻辑框图如图所示。其中微地址寄存器对应下地址字,P字段即为判别测试字段,控制字段即为微命令字段,后两部分组成微指令寄存器。地址转移逻辑的输入是指令寄存器的OP码、各种状态条件以及判别测试字段所给的判别标志(某一位为1),其输出修改微地址寄存器的适当位数,从而实现微程序的分支转移。就是说,此处微指令的后继地址采用断定方式。
12. (1)流水线的操作周期应按各步操作的最大时间来考虑,即流水线时钟周期性
(2)遇到数据相关时,就停顿第2条指令的执行,直到前面指令的结果已经产生,因此至少需要延迟2个时钟周期。
(3)如果在硬件设计上加以改进,如采用专用通路技术,就可使流水线不发生停顿。
13. (1)
(2)
(3)
14.
如上两图所示,执行相同的指令,在8个单位时间内,流水计算机完成5条指令,而非流水计算机只完成2条,显然,流水计算机比非流水计算机有更高的吞吐量。
15. 证:设n条指令,K级流水,每次流水时间τ
则用流水实现 Tp = Kτ+(n-1) τ
非流水实现 Ts = Kτn
n->∞时,
n=1时, , 则可见n>1时Ts>Tp,故流水线有更高吞吐量
16.(1)写后读 RAW
(2)读后写 WAR
(3)写后写 WAW
17.(1)
(2)
第六章
1. 单总线结构:它是一组总线连接整个计算机系统的各大功能部件,各大部件之间的所有的信息传送都通过这组总线。其结构如图所示。单总线的优点是允许I/O设备之间或I/O设备与内存之间直接交换信息,只需CPU分配总线使用权,不需要CPU干预信息的交换。所以总线资源是由各大功能部件分时共享的。单总线的缺点是由于全部系统部件都连接在一组总线上,所以总线的负载很重,可能使其吞量达到饱和甚至不能胜任的程度。故多为小型机和微型机采用。
多总线结构: 多总线系统结构是通过桥,CPU总线,系统总线和高速总线彼此相连,各大部件的信息传送不是只通过系统总线;体现了高速,中速,低速设备连接到不同的总线上同时进行工作,以提高总线的效率和吞吐量,而且处理器结构的变化不影响高速总线。
2. (1)简化了硬件的设计。从硬件的角度看,面向总线是由总线接口代替了专门的I/O接口,由总线规范给出了传输线和信号的规定,并对存储器、I/O设备和CPU如何挂在总线上都作了具体的规定,所以,面向总线的微型计算机设计只要按照这些规定制作CPU插件、存储器插件以及I/O插件等,将它们连入总线即可工作,而不必考虑总线的详细操作。
(2)简化了系统结构。整个系统结构清晰,连线少,底板连线可以印刷化。
(3)系统扩充性好。一是规模扩充,二是功能扩充。规模扩充仅仅需要多插一些同类型的插件;功能扩充仅仅需要按总线标准设计一些新插件。插件插入机器的位置往往没有严格的限制。这就使系统扩充既简单又快速可靠,而且也便于查错。
(4)系统更新性能好。因为CPU、存储器、I/O接口等都是按总线规约挂到总线上的,因而只要总线设计恰当,可以随时随着处理器芯片以及其他有关芯片的进展设计新的插件,新的插件插到底板上对系统进行更新,而这种更新只需更新需要更新的插件,其他插件和底板连线一般不需更改。
3. “A”的ASCII码为41H = 01000001B,1的个数为偶数,故校验位为0;“8”的ASCII码为38H = 00111000B,1的个数为奇数,故校验位为1。
4. 逻辑图如下:
说明:两个设备共用总线,每个设备的总线接口部分如右图所示。通过锁存器保存接收数据,并通过三态门向总线发送数据。每个设备的Rin控制端有效时,锁存器保存接收数据;每个设备的Rout信号有效时,锁存器保存的数据被送上总线。当Rout信号无效时,设备与总线在电气上断开。
5.
6.
7.
8.C
9.B、A、C
10.A
11.D
12.A
13. 存储总线周期用于对内存读写,I/O总线周期对接口中的端口进行读写。
14.D、C、A、B
15.B、A、E、D、C
16.A、B、C、D
17. PCI总线上有HOST桥、PCI/LAGACY总线桥、PCI/PCI桥。桥在PCI总线体系结构中起着重要作用,它连接两条总线,使彼此间相互通信。桥是一个总线转换部件,可以把一条总线的地址空间映射到另一条总线的地址空间上,从而使系统中任意一个总线主设备都能看到同样的一份地址表。桥可以实现总线间的猝发式传送,可使所有的存取都按CPU的需要出现在总线上。由上可见,以桥连接实现的PCI总线结构具有很好的扩充性和兼容性,允许多条总线并行工作。
18. 分布式仲裁不需要中央仲裁器,每个潜在的主方功能模块都有自己的仲裁号和仲裁器。当它们有总线请求时,把它们唯一的仲裁号发送到共享的仲裁总线上,每个仲裁器将仲裁总线上得到的号与自己的号进行比较。如果仲裁总线上的号大,则它的总线请求不予响应,并撤消它的仲裁号。最后,获胜者的仲裁号保留在仲裁总线上,分布式仲裁是以优先级仲裁策略为基础。
19.总线的一次信息传送过程,大致可分为:请求总线,总线仲裁,寻址,信息传送,状态返回。
20. 设总线带宽用Dr表示,总线时钟周期用T = 1/f表示,一个总线周期传送的数据量用D表示,  根据定义可得:       Dr = T / D = D ×1/f=8B×70 = 560MHz/s
21. PCI总线:是一种不依附于某个具体处理器的局部总线,支持10种外设,并能在高时钟频率下保持高性能。总线时钟频率为33.3MHz/66MHz,最大数据传输速率133MB/s,采用时钟同步方式,与CPU及时钟频率无关,总线宽度32位(5V)/64位(3.3V),能自动识别外设。总线具有与处理器和存储器子系统完全并行操作的能力,具有隐含的中央仲裁系统,采用多路复用方式(地址线和数据线)减少了引脚数,支持64位寻址,具有完全的多总线主控能力。
InfiniBand标准:针对处理器和智能I/O设备之间数据流而提出的一种新体系结构,用于在服务器中取代PCI总线,采用InfiniBand结构将允许服务器提供更高的带宽和可扩展能力,并增强了存储设备扩充的灵活性。InfiniBand允许服务器,远程存储器,其他网络设备接入到一个由开关和链路组成的中央开关网带,可连接多达64000个服务器,存储系统和网络设备。
第七章
1.D
2.C、D、C、A
3.
4.格式化容量=扇区容量*每道扇区数*磁道总数
=512*9*100*2=921600B
5.设读写一块信息所需总时间为tB,平均找道时间为ts,平均等待时间为tl,读写一块信息的传输时间为tm,则
tB = ts+tl+tm
假设磁盘以每秒r转速率旋转,每条磁道容量为N个字,则数据传输率 = rN个字/秒。
又假设每块的字数为n,因而一旦读写头定位在该块始端,就能在秒的时间中传输完毕。
tl是磁盘旋转半周的时间,tl = (1/2r)秒。由此可得:
6.
2*220*2775 = 1.16MB
7.(1)275*12288*4 = 12.89MB
(2) 最高位密度D1按最小磁道半径R1计算(R1 = 115mm):     D1 = 12288字节 / 2πR1 = 17字节 / mm   最低位密度D2按最大磁道半径R2计算:     R2 = R1 + (275 ÷ 5) = 115 + 55 = 170mm     D2 = 12288字节 / 2πR2 = 11.5 字节 / mm
(3)
(4)
(5)
此地址格式表示有4台磁盘,每台有4个记录面,每个记录面最多可容纳512个磁道,每道有16个扇区。
8.
9.(1)
(2)传送一个数据块所需时间为
一个数据块占用长度为
每块间隙L = 0.014m,数据块总数为
故磁带存储器有效存储容量为
19867块*1K字节 = 19867K字节
10.(1)磁盘内径为:9英寸-5英寸 = 4英寸
内层磁道周长为
每道信息量 = 1000位/英寸*31.4英寸 = 3.14*104位
磁盘有100道/英寸*5英寸 = 500道
盘片组总容量:20*500*3.14*104 = 3.14*108位 = 314兆位
(2)每转即每道含有信息量3.14*104位,即3.925*103B
11.(1)[(30*10-3+10*10-3+3000/500*10-3)*2+4*10-3]*1000 = 96s
(2) [(30*10-3+5*10-3+3000/1000*10-3)*2+4*10-3]*1000 =80s
12.
(1)存储容量从大到小依次为:活动头磁盘存储器, MO磁盘,CD-ROM存储器,主存,高速缓存,寄存器组
存储周期从大到小依次为:CD-ROM存储器,MO磁盘,活动头磁盘存储器,主存,高速缓存,寄存器组
(2)可构成如下的多级存储体系:
(3)CPU和高速缓存以及CPU和主存之间有直接的数据通路,而CPU与外存之间不存在直接的数据通路,CPU访问硬盘和光盘时都需要先将信息调入主存。
13.刷新存储器是用来存储一图像信息以不断提供刷新图像的信号。其存储容量由图像分辨率和灰度级决定。
1024*1024*24bit = 3MB
14.(1)1024*768*3 = 2.25MB
(2)1024*768*3B*72/s = 162MB/s
第八章
1.A、B、C
2.B
3.A
4.C
5.组织外围设备和内存进行数据传输;控制外围设备;选择;数组多路;字节多路
6.能响应,因为设备A的优先级比设备B高。若要设备B总能立即得到服务,可将设备B从第二级取出来,单独放在第三级上,使第三级的优先级最高,即令IM3 = 0。
7.依次处理设备A,设备D,设备G的时间为:
T1 = t1+t2+t3+t4+tA
T2 = t1+t2+t3+t4+tD
T3 = t1+t2+t3+t4+tG
总时间为T = T1+T2+T3 = 3*( t1+t2+t3+t4)+ tA + tD + tG
8.(1)
(2)
9.要将通用寄存器内容保存到主存中去。只需保存中断处理程序用到的那2个寄存器内容。
10. 设计思想:二维中断判优结构如主教材图8.9(b)所示。其中,主优先级独立请求方式的判优电路在主教材图8.10的基础上进行改进:将PSW中的5~7三位经译码器输出IR4~IR7共四个请求信号,参与排队器排队。
11.(1)IM2IM1IM0 = 011
(2) IM2IM1IM0 = 001
(3) 若要设备B总能立即得到服务,可将设备B从第二级取出来,单独放在第三级上,使第三级的优先级最高,即令IM3 = 0。
12.D
13.中断、蔽中断、中断、异常、异常、执行软件中断指令
14.B、A、C、D、E
15.B、A、
16.(1)通道方式:可以实现对外设的统一管理和外设与内存之间的数据传送,大大提高了CPU
的工作效率。
(2)DMA方式:数据传送速度很高,传送速率仅受到内存访问时间的限制。需要更多硬件,,适用于内存和高速外设之间大批数据交换的场合。
(3)中断方式:一般适用于随机出现的服务,且一旦提出要求应立即进行,节省了CPU的时间开销,但硬件结构稍复杂一些。
17.
18.主端口是1394树形配置结构的根节点。一个主端口最多可连接63台设备每个设备称为一个节点,它们构成亲子关系。其中右侧按菊花链式配置,左侧按亲子关系连接。
第九章
1. 略
2. 【解】
① 设三个子过程为取指令(IF)、指令译码(ID)、指令执行(EX),则指令顺序执行和流水执行方式时空图如图9.1(a)和(b)所示。
图9.1 指令执行方式时空图
② 顺序执行方式:n = 1000条,T = 100ns
总时间:
流水执行方式:
③ 加速比:
3. 【解】
④ 设k=4个,流水段为取指(s1)、译码(s2)、执行(s3)、存结果(s4)。
图9.2 n=8条指令流水时空图
⑤ 从图9.2看出,用k=4个时钟周期()完成第1条指令,其余n-1个时钟周期完成n-1条指令。因此流水线完成n条指令所需的总时间为
根据定义,吞吐率P为
⑥ 顺序执行n条指令所用的总时间T0为
根据定义,加速比的公式为
4. D
5. C
6.C
7. 【解】
设总指令数为m,并行指令数为m(P),顺序指令数为m(S),则总执行时间T为:
有效MIPS表达式为:
8.【解】
在上式中代入已知条件:
求得F=0.90=90%。
9.【解】
设加速比为k,可加速部分比例为,理论加速比为,根据Amdahl定律:
为了简单化,假设程序只在两种模式下运作:(1)使用所有处理机的运行模式;(2)只用一个处理机的串行模式。假设并行模式下的理论加速比即为多处理机的台数,加速部分的比例即并行部分所占的比例,代入上式有:
求得并行比例 = 0.9975 = 99.75%,串行比例1- = 0.25%
计算机组成原理 第五版 习题答案 计算机组成原理 第五版 习题答案 第一章 .............................................................................................................................................. 1 第二章 .............................................................................................................................................. 3 第三章 ............................................................................................................................................ 14 第四章 ............................................................................................................................................ 19 第五章 ............................................................................................................................................ 21 第六章 ............................................................................................................................................ 27 第七章 ............................................................................................................................................ 31 第八章 ............................................................................................................................................ 34 第九章 ............................................................................................................................................ 36 1
计算机组成原理 第五版 习题答案 第一章 1. 模拟计算机的特点是数值由连续量来表示,运算过程也是连续的。数字计算机的主要特 点是按位运算,并且不连续地跳动计算。模拟计算机用电压表示数据,采用电压组合和 测量值的计算方式,盘上连线的控制方式,而数字计算机用数字 0 和 1 表示数据,采用 数字计数的计算方式,程序控制的控制方式。数字计算机与模拟计算机相比,精度高, 数据存储量大,逻辑判断能力强。 2. 数字计算机可分为专用计算机和通用计算机,是根据计算机的效率、速度、价格、运行 的经济性和适应性来划分的。 3. 科学计算、自动控制、测量和测试、信息处理、教育和卫生、家用电器、人工智能。 4. 主要设计思想是:采用存储程序的方式,编制好的程序和数据存放在同一存储器中,计 算机可以在无人干预的情况下自动完成逐条取出指令和执行指令的任务;在机器内部, 指令和数据均以二进制码表示,指令在存储器中按执行顺序存放。主要组成部分有::运 算器、逻辑器、存储器、输入设备和输出设备。 5. 存储器所有存储单元的总数称为存储器的存储容量。每个存储单元都有编号,称为单元 地址。如果某字代表要处理的数据,称为数据字。如果某字为一条指令,称为指令字。 6. 计算机硬件可直接执行的每一个基本的算术运算或逻辑运算操作称为一条指令,而解算 某一问题的一串指令序列,称为程序。 7. 取指周期中从内存读出的信息流是指令流,而在执行器周期中从内存读出的信息流是数 据流。 8. 半导体存储器称为内存,存储容量更大的磁盘存储器和光盘存储器称为外存,内存和外 存共同用来保存二进制数据。运算器和控制器合在一起称为中央处理器,简称 CPU,它 用来控制计算机及进行算术逻辑运算。适配器是外围设备与主机联系的桥梁,它的作用 相当于一个转换器,使主机和外围设备并行协调地工作。 9. 计算机的系统软件包括系统程序和应用程序。系统程序用来简化程序设计,简化使用方 法,提高计算机的使用效率,发挥和扩大计算机的功能用用途;应用程序是用户利用计 算机来解决某些问题而编制的程序。 10. 在早期的计算机中,人们是直接用机器语言来编写程序的,这种程序称为手编程序 或目的程序;后来,为了编写程序方便和提高使用效率,人们使用汇编语言来编写程序, 称为汇编程序;为了进一步实现程序自动化和便于程序交流,使不熟悉具体计算机的人 也能很方便地使用计算机,人们又创造了算法语言,用算法语言编写的程序称为源程序, 源程序通过编译系统产生编译程序,也可通过解释系统进行解释执行;随着计算机技术 的日益发展,人们又创造出操作系统;随着计算机在信息处理、情报检索及各种管理系 统中应用的发展,要求大量处理某些数据,建立和检索大量的表格,于是产生了数据库 管理系统。 11. 第一级是微程序设计级,这是一个实在的硬件级,它由机器硬件直接执行微指令; 第二级是一般机器级,也称为机器语言级,它由程序解释机器指令系统;第三级是操作 系统级,它由操作系统实现;第四级是汇编语言级,它给程序人员提供一种符号形式语 言,以减少程序编写的复杂性;第五级是高级语言级,它是面向用户的,为方便用户编 写应用程序而设置的。用一系列的级来组成计算机的接口对于掌握计算机是如何组成的 提供了一种好的结构和体制,而且用这种分级的观点来设计计算机对保证产生一个良好 的系统结构也是很有帮助的。 1
计算机组成原理 第五版 习题答案 12. 因为任何操作可以由软件来实现,也可以由硬件来实现;任何指令的执行可以由硬 件完成,也可以由软件来完成。实现这种转化的媒介是软件与硬件的逻辑等价性。 13. 计算机应用和应用计算机在概念上是不等价的。 计算机应用是计算机学科与其他学科相结合的交叉学科,是计算机学科的组成部分,分 为数值计算和非数值应用两大领域。 应用计算机是借助计算机为实现特定的信息系统功能的手段。在计算机系统的层次结构 中,应用计算机是多级计算机系统层次结构的最终目标,是高级语言级之上的服务层次。 2
计算机组成原理 第五版 习题答案 第二章 1.(1) 35− = (−100011) 2 [ 35] − =原 10100011 [ 35] − =补 11011100 [ 35] − =反 11011101 (2) [127]原=01111111 [127]反=01111111 [127]补=01111111 (3) 127− = (−1111111) 2 [ 127] − =原 11111111 [ 127] − =补 10000001 [ 127] − =反 10000000 (4) 1 − = (− 0000000 1) 2 [ 1] − =原 [ 1] − =补 [ 1] − =反 10000001 11111111 11111110 2.[x]补 = a0. a1a2…a6 解法一、 (1) 若 a0 = 0, 则 x > 0, 也满足 x > -0.5 此时 a1→a6 可任意 (2) 若 a0 = 1, 则 x <= 0, 要满足 x > -0.5, 需 a1 = 1 即 a0 = 1, a1 = 1, a2→a6 有一个不为 0 解法二、 -0.5 = -0.1(2) = -0.100000 = 1, 100000 (1) 若 x >= 0, 则 a0 = 0, a1→a6 任意即可 3
计算机组成原理 第五版 习题答案 [x]补 = x = a0. a1a2…a6 (2) 若 x < 0, 则 x > -0.5 只需-x < 0.5, -x > 0 [x]补 = -x, [0.5]补 = 01000000 即[-x]补 < 01000000 a 0 * a 1 * a 2 <+…a 1 6 01000000 a 0 * a 1 * a 2 <…a 6 00111111 aaa 210 >…a 6 11000000 即 a0a1 = 11, a2→a6 不全为 0 或至少有一个为 1(但不是“其余取 0”) 3.字长 32 位浮点数,阶码 8 位,用移码表示,尾数 23 位,用补码表示,基为 2 M21 M0 E1→E8 Ms Es (1) 最大的数的二进制表示 E = 11111111 Ms = 0, M = 11…1(全 1) 1 11111111 01111111111111111111111 (2) 最小的二进制数 E = 11111111 Ms = 1, M = 00…0(全 0) 1 11111111 1000000000000000000000 (3) 规格化范围 正最大 E = 11…1, M = 11…1, Ms = 0 8 个 22 个 即: 2 7 12 − × − (1 2 22 − ) 正最小 E = 00…0, M = 100…0, Ms = 0 8 个 21 个 即: 7 − × 2 2 2 1 − 负最大 E = 00…0, M = 011…1, Ms = 1 8 个 21 个 (最接近 0 的负数)即: 7 − × 2 2 − 1 − (2 + 2 22 − ) 负最小 E = 11…1, M = 00…0, Ms =1 8 个 22 个 即: 7 1 2 − × − 2 ( 1) 规格化所表示的范围用集合表示为: 7 − × 2 1 − 2 , [ 2 2 7 12 − × − (1 2 22 − ) ]  [ 7 1 ( 1) 2 − × − , 2 2 − 7 − × 2 1 − (2 + 2 22 − ) ] 4
4.在 IEEE754 标准中,一个规格化的 32 位浮点数 x 的真值表示为: 计算机组成原理 第五版 习题答案 X = ( 1)s− (1)27/64=0.011011=1.1011× 127 2E− ×(1.M)× 22− E= -2+127 = 125= 0111 1101 S= 0 最后表示为:0 01111101 10110000000000000000000 M= 1011 0000 0000 0000 0000 000 (2)-27/64=-0.011011=1.1011× 22− E= -2+127 = 125= 0111 1101 S= 1 最后表示为:1 01111101 10110000000000000000000 M= 1011 0000 0000 0000 0000 000 5.(1)用变形补码进行计算: [x]补=00 11011 [y]补=00 00011 [x]补 = 00 11011 [y]补 = + 00 00011 [x+y]补= 00 11110 结果没有溢出,x+y=11110 (2) [x]补=00 11011 [y]补=11 01011 [x]补 = 00 11011 [y]补 = + 11 01011 [x+y]补= 00 00110 结果没有溢出,x+y=00110 (3)[x]补=11 01010 [y]补=11 111111 [x]补 = 00 01010 [y]补 = + 00 11111 [x+y]补= 11 01001 结果没有溢出,x+y=−10111 6.[x-y]补=[x]补+[-y]补 (1)[x]补=00 11011 [-y]补=00 11111 [x]补 = 00 11011 [-y]补 = + 00 11111 [x-y]补= 01 11010 结果有正溢出,x−y=11010 (2)[x]补=00 10111 [-y]补=11 00101 [x]补 = 00 10111 [-y]补 = + 11 00101 [x-y]补= 11 11100 结果没有溢出,x−y=−00100 5
计算机组成原理 第五版 习题答案 (3)[x]补=00 11011 [-y]补=00 10011 [x]补 = 00 11011 [-y]补 = + 00 10011 [x-y]补= 01 01110 结果有正溢出,x−y=10010 7.(1) 用原码阵列乘法器: [x]原=0 11011 [y]原=1 11111 因符号位单独考虑,|x|=11011 |y|=11111 —————————————————————————— ×) 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 0 0 0 1 0 1 [x×y]原=1 1101000101 用补码阵列乘法器: [x]补=0 11011 [y]补=1 00001 乘积符号位为:1 |x|=11011 |y|=11111 —————————————————————————— 1 1 0 1 1 ×) 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 6
计算机组成原理 第五版 习题答案 1 1 0 1 1 1 1 0 1 0 0 0 1 0 1 [x×y]补=1 0010111011 (2) 用原码阵列乘法器: [x]原=1 11111 [y]原=1 11011 因符号位单独考虑,|x|=11111 |y|=11011 —————————————————————————— ×) 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 0 1 [x×y]原=0 1101000101 用补码阵列乘法器: [x]补=1 00001 [y]补=1 00101 乘积符号位为:1 |x|=11111 |y|=11011 —————————————————————————— ×) 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 7
分享到:
收藏