《《计算机组成原理》白中英(第四版)课后答案.doc》由会员分享,可在线阅读,更多相关《《计算机组成原理》白中英(第四版)课后答案.doc(31页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、课后答案网 课后答案网第一章1 模拟计算机的特点是数值由连续量来表示,运算过程也是连续的。数字计算机的主要特点是按位运算,并且不连续地跳动计算。模拟计算机用电压表示数据,采用电压组合和测量值的计算方式,盘上连线的控制方式,而数字计算机用数字 0 和 1 表示数据,采用数字计数的计算方式,程序控制的控制方式。数字计算机与模拟计算机相比,精度高,数据存储量大,逻辑判断能力强。2 数字计算机可分为专用计算机和通用计算机,是根据计算机的效率、速度、价格、运行的经济性和适应性来划分的。3 科学计算、自动控制、测量和测试、信息处理、教育和卫生、家用电器、人工智能。4 主要设计思想是:存储程序通用电子计算机
2、方案,主要组成部分有:运算器、逻辑控制装置、存储器、输入和输出设备5 存储器所有存储单元的总数称为存储器的存储容量。每个存储单元都有编号,称为单元地址。如果某字代表要处理的数据,称为数据字。如果某字为一条指令,称为指令字。6 每一个基本操作称为一条指令,而解算某一问题的一串指令序列,称为程序。7 取指周期中从内存读出的信息流是指令流,而在执行器周期中从内存读出的信息流是指令流。8 半导体存储器称为内存,存储容量更大的磁盘存储器和光盘存储器称为外存,内存和外存共同用来保存二进制数据。运算器和控制器合在一起称为中央处理器,简称 CPU,它用来控制计算机及进行算术逻辑运算。适配器是外围设备与主机联系
3、的桥梁,它的作用相当于一个转换器,使主机和外围设备并行协调地工作。9 计算机的系统软件包括系统程序和应用程序。系统程序用来简化程序设计,简化使用方法,提高计算机的使用效率,发挥和扩大计算机的功能用用途;应用程序是用户利用计算机来解决某些问题而编制的程序。10在早期的计算机中,人们是直接用机器语言来编写程序的,这种程序称为手编程序或目的程序;后来,为了编写程序方便和提高使用效率,人们使用汇编语言来编写程序,称为汇编程序;为了进一步实现程序自动化和便于程序交流,使不熟悉具体计算机的人也能很方便地使用计算机,人们又创造了算法语言,用算法语言编写的程序称为源程序,源程序通过编译系统产生编译程序,也可通
4、过解释系统进行解释执行;随着计算机技术的日益发展,人们又创造出操作系统;随着计算机在信息处理、情报检索及各种管理系统中应用的发展,要求大量处理某些数据,建立和检索大量的表格,于是产生了数据库管理系统。11从第一至五级分别为微程序设计级、一般机器级、操作系统级、汇编语言级、高级语言级。采用这种用一系列的级来组成计算机的概念和技术,对了解计算机如何组成提供了一种好的结构和体制。而且用这种分级的观点来设计计算机,对保证产生一个良好的系统结构也是很有帮助的。12因为任何操作可以由软件来实现,也可以由硬件来实现;任何指令的执行可以由硬件完成,也可以由软件来完成。实现这种转化的媒介是软件与硬件的逻辑等价性
5、。13( 略 )1课后答案网 课后答案网第二章1(1) 356435643564356435643564原 = 补 = 反 = 移 = (2)23128= 0.134 (8) = 0.23128原 = 23128补 = 23128反 = 23128移 = (3)-127-127 = -7F = -127原 = -127补 = -127反 = -127移 = (4)-1原 = 1000 0000-1补 = 1000 0000-1反 = 1111 1111-1移 = 0000 0000(5)-1 = -1原 = 1000 0001-1补 = 1111 1111-1反 = 1111 1110-1移
6、= 0111 11112 = 0.43(8) = 0.课后答案网 课后答案网2x补 = a0. a1a2a6解法一、(1) 若a0 = 0, 则x 0, 也满足x -0.5此时a1a6可任意(2) 若a0 = 1, 则x -0.5, 需a1 = 1即a0 = 1, a1 = 1, a2a6有一个不为 0解法二、-0.5 = -0.1(2) = -0. = 1, (1) 若x = 0, 则a0 = 0, a1a6任意即可x补 = x = a0. a1a2a6(2) 若 x -0.5只需-x 0x补 = -x, 0.5补 = 即-x补 a0 * a1 * a2 a6 + 1 a0 * a1 * a
7、2 a6 即a0a1 = 11, a2a6不全为 0 或至少有一个为 1(但不是“其余取 0”)3字长 32 位浮点数,阶码 10 位,用移码表示,尾数 22 位,用补码表示,基为 2EsE1E9MsM20M0(1) 最大的数的二进制表示E = Ms = 0, M = 111(全 1)表示为: 111 011110 个21 个即: 229 121(2) 最小的二进制数E = Ms = 1, M = 000(全 0)(注意:用 10.0 来表示尾数1)表示为: 111 100010 个21 个即: 22 9 1 (1)3 (1 2 )课后答案网 课后答案网(3) 规格化范围正最大E = 111,
8、 M = 111, Ms = 010 个21 个921)正最小E = 000, M = 1000, Ms = 010 个9120 个负最大E = 000, M = 0111, Ms = 110 个20 个9 21负最小E = 111, M = 000, Ms =110 个21 个即: 2291 (1) = 2 511规格化所表示的范围用集合表示为:919219 9 21(4) 最接近于 0 的正规格化数、负规格化数(由上题可得出)正规格化数E = 000, M = 1000, Ms = 010 个20 个91负规格化数E = 000, M = 0111, Ms = 14假设浮点数格式如下:10
9、 个9 1 2120 个EsE1E3MsM8M0(1)2764= 0. = 0.11011 2 1阶补码:1 11尾数补码:0 1101 1000机器数:1110 1101 1000(2)2764= 0. = 0. 2 1阶补码:尾数补码:机器数:1 111 0010 10001110 0010 10004即: 22 1 (1 2即: 2 2 2(最接近 0 的负数)即: 2 2 (21 + 2 ) 2 2 2, 22 1 (1 2) U 22 1 (1) = 2 511 , 2 2 (21 + 2 ) 2 2 2 2 2 (2 + 2 )课后答案网 课后答案网5(1)x = 0.11011,
10、 y = 0.00011+ x+y = 0.11110无溢出(2) x = 0.11011, y = -0.10101x补 = 0 0 1 1 0 1 1y补 = +1 1 0 1 0 1 1x+y = 0.00110无溢出(3)x = -0.10110y = -0.00001x补 = 1 1 0 1 0 1 0y补 = +1 1 1 1 1 1 1x+y = -0.10111无溢出6(1)x = 0.11011y = -0.11111x补 = 0 0. 1 1 0 1 1y补 = +0 0. 1 1 1 1 10 1. 1 1 0 1 0溢出(2)x = 0.10111y = 0.11011
11、x补 = 0 0. 1 0 1 1 1y补 = +1 1. 0 0 1 0 11 1. 1 1 1 0 0x-y = -0.00100无溢出(3)x = 0.11011y = -0.10011x补 = 0 0. 1 1 0 1 1y补 = +0 0. 1 0 0 1 10 1. 0 1 1 1 0溢出7(1)原码阵列x = 0.11011, y = -0.11111符号位: x0y0 = 01 = 1x原 = 11011, y原 = 111111 1 0 1 1* 1 1 1 1 11 1 0 1 11 1 0 1 11 1 0 1 11 1 0 1 11 1 0 1 11 1 0 1 0 0
12、 0 1 0 15课后答案网 课后答案网x*y原 = 1, 11 0100 0101直接补码阵列x补 = (0)11011, y补 = (1)00001(0) 1 1 0 1(1) 0 0 0 0(0) 1 1 0 1(0) 0 0 0 0 0(0) 0 0 0 0 0(0) 0 0 0 0 0(0) 0 0 0 0 00 (1) (1) (0) (1) (1)0 (1) (1) (0) (1) (1) 1 1 0 11, 0 0 1 0 1, 1 1 0 111111x*y补 = 1,00101,11011(直接补码阵列不要求)带求补器的补码阵列x补 = 0 11011, y补 = 1 00
13、001乘积符号位单独运算 011尾数部分算前求补输出X11011,y111111101 1*11111101011 11 1111 11 1 01010111111 1 0100 0 1 0 1XY-0.(2) 原码阵列x = -0.11111, y = -0.11011符号位: x0y0 = 11 = 0x补 = 11111, y补 = 110111 1 1 1 11 1 0 1 11 1 1 1 11 1 1 1 10 0 0 0 01 1 1 1 11 1 1 1 11 1 0 1 0 0 0 1 0 1x*y补 = 0,11010,00101直接补码阵列x补 = (1)00001, y
14、补 = (1)001016课后答案网 课后答案网(1) 0 0 0 0 1(1) 0 0 1 0 1(1) 0 0 0 0 1(0) 0 0 0 0 0(1) 0 0 0 0 1(0)0 0 0 0 0(0) 0 0 0 0 01 (0) (0) (0) (0) (1)1 0 0 (1) (1) 0 0 0 1 0 10 1 10 1 0 0 0 1 0 1x*y补 = 0,11010,00101(直接补码阵列不要求)带求补器的补码阵列x补 = 1 00001, y补 = 1 00101乘积符号位单独运算 110尾数部分算前求补输出X11111,y110111111111011 11 11 1
15、1111101 11 1 10110110101 1 0 1000 1 0 1XY0.7课后答案网 课后答案网8(1)符号位Sf = 01 = 1去掉符号位后:y补 = 00.11111-y补 = 11.00001x补 = 00.110000 0 1 1 0 0 0+-y补 1 1 0 0 0 0 11 1 1 1 0 0 1 1 1 1 0 0 1 0+y补 0 0 1 1 1 1 10 0 1 0 0 0 1 0 1 0 0 0 1 0+-y补 1 1 0 0 0 0 10 0 0 0 0 1 1 0 0 0 0 1 1 0+-y补 1 1 0 0 0 0 11 1 0 0 1 1 1 1
16、 0 0 1 1 1 0+y补 0 0 1 1 1 1 11 1 0 1 1 0 1 1 0 1 1 0 1 0+y补 0 0 1 1 1 1 11 1 1 1 0 0 100.10.110.1100.11000.11000xy= 0.11000,余数 = 0.00111* 2 5(2)符号位 Sf = 10 = 1去掉符号位后:y补 = 00.11001-y补 = 11.00111x补 = 00.010110 0 0 1 0 1 1+-y补 1 1 0 0 1 1 11 1 1 0 0 1 0 1 1 0 0 1 0 0+y补 0 0 1 1 0 0 11 1 1 1 1 0 1 1 1 1
17、 1 0 1 0+y补 0 0 1 1 0 0 10 0 1 0 0 1 1 0 1 0 0 1 1 0+-y补 1 1 0 0 1 1 10 0 0 1 1 0 1 0 0 1 1 0 1 0+-y补 1 1 0 0 1 1 10 0 0 0 0 0 1 0 0 0 0 0 1 0+-y补 1 1 0 0 1 1 11 1 0 1 0 0 100.00.010.0110.01110.011108课后答案网 课后答案网xy= 0.01110,余数 = 0.10111* 2 59(1)x = 2-011*0., y = 2-010*(-0.)x浮 = 11101,0.y浮 = 11110,-0.
18、Ex-Ey = 11101+00010=11111x浮 = 11110,0.(1)x+y 0 0. 0 1 0 0 1 0 (1)+ 1 1. 1 0 0 0 1 01 1. 1 1 0 1 0 0 (1)规格化处理: 1.阶码11100-4 -4x-y 0 0. 0 1 0 0 1 0 (1)+ 0 0. 0 1 1 1 1 00 0 1 1 0 0 0 0 (1)规格化处理: 0.阶码11110x-y=2-2*0.(2) x = 2-101*(-0.), y = 2-100*0.x浮= 11011,-0.y浮= 11100,0.Ex-Ey = 11011+00100 = 11111x浮=
19、11100,1.(0)x+y 1 1. 1 1 0 1 0 1+ 0 0. 0 1 0 1 1 00 0. 0 0 1 0 1 1规格化处理: 0.阶码11010x+y= 0.*2-6x-y 1 1.1 1 0 1 0 1+ 1 1.1 0 1 0 1 01 1.0 1 1 1 1 1规格化处理: 1.阶码11100-410(1) Ex = 0011, Mx = 0.Ey = 0100, My = 0.Ez = Ex+Ey = 0111Mx*My 0. 1 1 0 1* 0.1 0 0 101101000000000001101000009x+y= 1.*2 = 2 *-0.x-y=-0.*2
20、课后答案网 课后答案网规格化:26*0.(2)Ex = 1110, Mx = 0.Ey = 0011, My = 0.Ez = Ex-Ey = 1110+1101 = 1011Mx补 = 00.My补 = 00., -My补 = 11.+-My 1 1 0 0 0 1 0 0 0+My 0 0 1 1 1 1 0 01 1 1 1 1 0 0 0 0.0+My 0 0 1 1 1 1 0 00 0 1 0 1 1 0 0 0.01+-My0 0 0 1 1 1 0 0 0.011+-My 1 1 0 0 0 1 0 01 1 1 1 1 1 0 0 0.0110+My 0 0 1 1 1 1
21、0 00 0 1 1 0 1 0 0 0.01101+-My 1 1 0 00 1 0 00 0 1 0 1 10 0 0.01101商 = 0.*2-6,114 位加法器如上图,Ci = Ai Bi + Ai Ci 1 + Bi Ci 1= Ai Bi + ( Ai + Bi )Ci 1= Ai Bi + ( Ai Bi )Ci 1(1)串行进位方式余数=0.*2-6C1 = G1+P1C0C2 = G2+P2C1C3 = G3+P3C2其中:G1 = A1B1G2 = A2B2G3 = A3B3P1 = A1B1(A1B1也对)P2 = A2B2P3 = A3B310课后答案网 课后答案网
22、C4 = G4+P4C3G4 = A4B4P4 = A4B4(2)并行进位方式C1 = G1+P1C0C2 = G2+P2G1+P2P1C0C3 = G3+P3G2+P3P2G1+P3P2P1C0C4 = G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C012(1)组成最低四位的 74181 进位输出为:C4 = Cn+4 = G+PCn = G+PC0, C0为向第 0 位进位其中,G = y3+y2x3+y1x2x3+y0x1x2x3,P = x0x1x2x3,所以C5 = y4+x4C4C6 = y5+x5C5 = y5+x5y4+x5x4C4(2)设标准门延迟时间为T
23、,“与或非”门延迟时间为 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 = 14T13串行状态下:C1 = G1+P1COC2 = G2+P2C1C
24、3 = G3+P3C2C4 = G4+P4C3并行状态下:C1 = G1+P1C0C2 = G2+P2C1 = G2+P2G1+P2P1C0C3 = G3+P3C2 = G3+P3G2+P3P2G1+P3P2P1C0C4 = G4+P4C3 = G4+P4P3C2+P4P3P2C1+P4P3P2P1C014设余三码编码的两个运算数为Xi和Yi,第一次用二进制加法求和运算的和数为Si,进位为Ci+1,校正后所得的余三码和数为Si,进位为Ci+1,则有:Xi = Xi3Xi2Xi1Xi0Yi = Yi3Yi2Yi1Yi0Si = Si3Si2Si1Si011课后答案网 课后答案网si3si2si1
25、si0Ci+1FAFAFAFA十进校正+3VFAsi3FAsi2FAsi1FAsi0二进加法Xi3 Yi3Xi2 Yi2Xi1 Yi1Xi0 Yi0当Ci+1 = 1 时,Si = Si+0011并产生Ci+1根据以上分析,可画 i+1101码编码的十进制加法器单元电路如图所示。15第三章20328= 4M字节(2)1024 K * 32512K * 8= 2 * 4 = 8片(3)1 位地址作芯片选择262. (1) 202 * 64= 2 6 = 64个模块(2)2010 8= 16每个模块要 16 个 DRAM 芯片(3)64*16 = 1024 块由高位地址选模块3. (1)根据题意,
26、存储总容量为 64KB,故地址总线需 16 位。现使用 16K*8 位 DRAM 芯片,共需 16 片。芯片本身地址线占 14 位,所以采用位并联与地址串联相结合的方法来组成整个存储器,其组成逻辑图如图所示,其中使用一片 2:4 译码器。(2)根据已知条件,CPU 在 1us 内至少访存一次,而整个存储器的平均读/写周期为 0.5us,如果采用集中刷新,有 64us 的死时间,肯定不行如果采用分散刷新,则每 1us 只能访存一次,也不行所以采用异步式刷新方式。假定 16K*1 位的 DRAM 芯片用 128*128 矩阵存储元构成,刷新时只对 128 行进行异步方式刷新,则刷新间隔为 2ms/
27、128 = 15.6us,可取刷新信号周期 15us。刷新一遍所用时间15us1281.92ms12当Ci+1 = 0 时,Si = S出余三1. (1) 2 *2 * 642 * 642 * 2 *16课后答案网 课后答案网CS3CS2CS1CS0A13A0D0D72:4 译码器A14A154. (1)1024 K * 32128K * 8= 32片(2)A0-A16CPUD0-D31Y1Y2Y3Y4Y5Y6Y7Y8A17-A193:8译码器(3)如果选择一个行地址进行刷新,刷新地址为A0-A8,因此这一行上的 2048 个存储元同时进行刷新,即在 8ms内进行 512 个周期。刷新方式可采
28、用:在 8ms中进行 512 次刷新操作的集中刷新方式,或按 8ms/512 = 15.5us刷新一次的异步刷新方式。5. 所设计的存储器单元数为 1M,字长为 32,故地址长度为 20 位(A19A0),所用芯片存储单元数为 256K,字长为 16 位,故占用的地址长度为 18 位(A17A0)。由此可用位并联方式与地址串联方式相结合的方法组成组成整个存储器,共 8 片 RAM 芯片,并使用一片 2:4 译码器。其存储器结构如图所示。13课后答案网 课后答案网A19A18Y0Y1Y2Y3CS 0 CS 3D31-D16(高16位)CS 0CS 1CS 2CS 3CPU256k*16256k*
29、16W / RW / RA17-A16CS 0CS 1CS 2CS 3D15-D0(低16位)W / R6.(1)系统 16 位数据,所以数据寄存器 16 位(2)系统地址 128K217,所以地址寄存器 17 位(3) 共需要 8 片(4) 组成框图如下CPU32K*832K*832K*832K*8地址寄存器32K*832K*832K*832K*8数据CS3CS2CS1CS0寄存器A162:4译码器A157.(1)组内地址用A12A0(2)小组译码器使用 3:8 译码器(3)RAM1RAM5各用两片 8K*8 的芯片位并联连接CS0CS30000H4000H6000H8000HA000HRO
30、MRAM1RAM2RAM3C000HE000HRAM4RAM514课后答案网 课后答案网A0-A12ROMRAM8K*8RAM8K*8RAM8K*8RAM8K*8RAM8K*8D0-D15CPURAM8K*8RAM8K*8RAM8K*8RAM8K*8RAM8K*83:8译码器A13-A158.顺序存储器和交叉存储器连续读出 m = 8 个字的信息总量都是:q = 64 位*8 = 512 位顺序存储器和交叉存储器连续读出 8 个字所需的时间分别是:t1 = mT = 8*100ns = 8*10-7st 2 = T + (m 1) = 100ns + 7 * 50ns = 450ns = 4.
31、5 *10 7 ns顺序存储器和交叉存储器的带宽分别是:7 77 79.cache 的命中率H =N cN c + N m=24202420 + 80= 0.968r =TmTc24040cache/主存系统效率 e 为e =1r + (1 r )H*100% =16 + (1 6) * 0.968*100% = 86.2%平均访问时间Ta为15W1 = q / t1 = 512 (8 *10 ) = 64 10 位 / sW2 = q / t 2 = 512 (4.5 *10 ) = 113.8 10 位 / s= = 6课后答案网 课后答案网Ta =Tce40ns0.862ns10. h*
32、tc+(1-h)*tm = tah =t a t mt c t m=50 20040 200= 93.75%11.虚拟地址为 30 位,物理地址为 22 位。页表长度:1GB4KB= 256K12.虚拟存储器借助于磁盘等辅助存储器来扩大主存容量,使之为更大或更多的程序所使用。在此例中,若用户不具有虚存,则无法正常运行程序,而具有了虚存,则很好地解决了这个问题。13.设取指周期为T,总线传送周期为,指令执行时间为t0(1)t = (T+5+6t0)*80 = 80T+400+480 t0(2) t = (T+7+8t0)*60 = 60T+420+480 t0故不相等。14.15.D16.C第四章1.不合理。指令最好半字长或单字长,设 16 位比较合适。2.866单操作数指令为:28-m-n条3.(1)RR 型指令(2)寄存器寻址(3)单字长二地址指令(4)操作码字段OP可以指定 26