计算机组成原理课后习题1-10章答案(第二版)(编辑修改稿)内容摘要:

8 倍,可采取 八 体交叉存取技术, 8 体交叉访问时序 如下图 : 单 体 访 存 周 期启 动 存 储 体 0启 动 存 储 体 1启 动 存 储 体 2启 动 存 储 体 3启 动 存 储 体 4启 动 存 储 体 5启 动 存 储 体 6启 动 存 储 体 7 18. 什么是 “ 程序访问的局部性 ”。 存储系统中哪一级采用了程序访问的局部性原理。 解:程序运行的局部性原理指:在一小段时间内,最近被访 问过的程序和数据很可能再次被访问;在空间上,这些被访问的程序和数据往往集中在一小片存储区;在访问顺序上,指令顺序执行比转移执行的可能性大 (大约 5:1 )。 存储系统中 Cache— 主存层次采用了程序访问的局部性原理。 25. Cache 做在 CPU 芯片内有什么好处。 将指令 Cache 和数据 Cache 分开又有什么好处。 答: Cache 做在 CPU 芯片内主要有下面几个好处: 1)可提高外部总线的利用率。 因为 Cache 在 CPU 芯片内, CPU 访问 Cache 时不必占用外部总线。 2) Cache 不占用外部总线就意味着外部总 线可更多地支持 I/O 设备与主存的信息传输,增强了系统的整体效率。 3)可提高存取速度。 因为 Cache 与 CPU 之间的数据通路大大缩短 ,故存取速度得以提高。 将指令 Cache 和数据 Cache 分开有如下好处: 1)可支持超前控制和流水线控制,有利于这类控制方式下指令预取操作的完成。 2)指令 Cache 可用 ROM 实现,以提高指令存取的可靠性。 3)数据 Cache 对不同数据类型的支持更为灵活,既可支持整数(例 32 位),也可支持浮点数据(如 64 位)。 补充 : Cache 结构改进的第三个措施是分级实现,如二级缓存结构,即 在片内 Cache( L1)和主存之间再设一个片外 Cache( L2),片外缓存既可以弥补片内缓存容量不够大的缺点,又可在主存与片内缓存间起到平滑速度差的作用,加速片内缓存的调入调出速度。 30. 一个组相连映射的 CACHE 由 64 块组成,每组内包含 4 块。 主存包含 4096 块,每块由128 字组成,访存地址为字地址。 试问主存和高速存储器的地址各为几位。 画出主存地址格式。 解: cache 组数: 64/4=16 , Cache 容量为: 64*128=213字, cache 地址 13 位 主存共分 4096/16=256 区,每区 16 块 主存容量为: 4096*128=219字,主存地址 19 位,地址格式如下: 主存字块标记( 8 位) 组地址( 4 位) 字块内地址( 7 位) 第 六 章 12. 设浮点数格式为:阶码 5 位 (含 1 位阶符 ), 尾数 11 位 (含 1 位数符 )。 写出 51/1227/1024 所对应的机器数。 要求 如下: ( 1)阶码和尾数均为原码。 ( 2)阶码和尾数均为补码。 ( 3)阶码为移码,尾数为补码。 解:据题意画出该浮点数的格式: 阶符 1 位 阶码 4 位 数符 1 位 尾数 10 位 将十进制数转换为二进制: x1= 51/128= = 21 * 011B x2= 27/1024= = 25*() 则以上各数的浮点规格化数为: ( 1) [x1]浮 =1, 0001; 011 000 0 [x2]浮 =1, 0101; 110 000 0 ( 2) [x1]浮 =1, 1111; 011 000 0 [x2]浮 =1, 1011; 010 000 0 ( 3) [x1]浮 =0, 1111; 011 000 0 [x2]浮 =0, 1011; 010 000 0 16. 设机器数字长为 16 位,写出下列各种情况下它能表示的数的范围。 设机器数采用一位符号位,答案均用十进制表示。 ( 1)无符号数; ( 2)原码表示的定点小数。 ( 3)补码表示的定点小数。 ( 4)补码表示的定点整数。 ( 5)原码表示的定点整数。 ( 6)浮点数的格式为:阶码 6 位 (含 1 位 阶符 ), 尾数 10 位( 含 1位 数符)。 分别写出其正数和负数的表示范围。 ( 7)浮点 数格式同( 6),机器数采用补码规格化形式,分别写出其对应的正数和负数的真值范围。 解:( 1) 无符号整数: 0 —— 216 1,即: 0—— 65535; 无符号小数: 0 —— 1 216 ,即: 0 —— ; ( 2)原码定点小数: 1 + 215—— 1 215 ,即: —— ( 3)补码定点小数: 1—— 1 215 ,即: 1—— ( 4)补码定点整数: 215—— 215 1 ,即: 32768—— 32767 ( 5)原码定点整数: 215 + 1—— 215 1,即: 32767—— 32767 ( 6)据题意画出该浮点数格式 , 当阶 码和 尾 数均 采用 原 码, 非规格化数 表示时: 最大负数 = 1, 11 111; 000 001 ,即 29231 最小负数 = 0, 11 111; 111 111,即 ( 129) 231 则负数表示范围为: ( 129) 231 —— 29231 最大正数 = 0, 11 111; 111 111,即 ( 129) 231 最小正数 = 1, 11 111; 000 001,即 29231 则 正数表示范围为: 29231 —— ( 129) 231 ( 7)当机器数采用补码规格化形式时,若不考虑隐藏位,则 最大负数 =1, 00 000; 111 111,即 21232 最小负数 =0, 11 111; 000 000,即 1231 则负数表示范围为: 1231 —— 21232 最大正数 =0, 11 111; 111 111,即 ( 129) 231 最小正数 =1, 00 000; 000 000,即 21232 则 正数表示范围为: 21232 —— ( 129) 231 17. 设机器数字长为 8 位(包括一位符号位),对下列各机器数进行算术左移一位、两位,算术右移一位、两位,讨论结果是否正确。 [x1]原 = 1010; [y1]补 = 0100; [z1]反 = 1111; [x2]原 = 1000; [y2]补 = 1000; [z2]反 = 1000; [x3]原 = 1001; [y3]补 = 1001; [z3]反 = 1001。 解: 算术左移一位: [x1]原 = 0100;正确 [x2]原 = 0000;溢出(丢 1)出错 [x3]原 = 0010;正确 [y1]补 = 1000;溢出(丢 1)出错 [y2]补 = 0000;正确 [y3]补 = 0010;溢出(丢 0)出错 [z1]反 = 1111;溢出(丢 0)出错 [z2]反 = 0001;正确 [z3]反 = 0011;溢出(丢 0)出错 算术左 移两位: [x1]原 = 1000;正确 [x2]原 = 0000;溢出(丢 11)出错 [x3]原 = 0100;正确 [y1]补 = 0000;溢出(丢 10)出错 [y2]补 = 0000;正确 [y3]补 = 0100;溢出(丢 00)出错 [z1]反 = 1111;溢出(丢 01)出错 [z2]反 = 0011;正确 [z3]反 = 0111;溢出(丢 00)出错 算术右移一位: [x1]原 = 1101;正确 [x2]原 = 0100;正确 [x3]原 = 1100(1);丢 1,产生误差 [y1]补 = 1010;正确 [y2]补 = 0100;正确 [y3]补 = 1100(1);丢 1,产生误差 [z1]反 = 0111;正确 [z2]反 = 0100(0);丢 0,产生误差 [z3]反 = 1100;正确 算术右移两位: [x1]原 = 0110( 10);产生误差 [x2]原 = 1010;正确 [x3]原 = 0110( 01);产生误差 [y1]补 = 0101;正确 [y2]补 = 1010;正确 [y3]补 = 0110( 01);产生误差 [z1]反 = 1011;正确 [z2]反 = 1010( 00);产生误差 [z3]反 = 0110( 01);产生误差 19. 设机器数字长为 8 位(含 1 位符号位),用补码运算规则计算下列各题。 ( 1) A=9/64, B=13/32,求 A+B。 ( 2) A=19/32, B=17/128,求 AB。 ( 3) A=3/16, B=9/32,求 A+B。 ( 4) A=87, B=53,求 AB。 ( 5) A=115, B=24,求 A+B。 解:( 1) A=9/64= 0010B, B= 13/32= 0100B [A]补 = 0010, [B]补 = 1100 [A+B]补 = + = —— 无溢出 A+B= 0010B = 17/64 ( 2) A=19/32= 1100B, B= 17/128= 0001B [A]补 = 1100, [B]补 = 1111 , [B]补 = 0001 [AB]补 = + = —— 无溢出 AB= 1101B = 93/128B ( 3) A= 3/16= 1000B, B=9/32= 0100B [A]补 = 1000, [B]补 = 0100 [A+B]补 = + = —— 无溢出 A+B= 1100B = 3/32 ( 4) A= 87= 101 0111B, B=53=110 101B [A]补 =1 010 1001, [B]补 =0 011 0101, [B]补 =1 100 1011 [AB]补 = 1 0101001 + 1 1001011 = 0 1110100 —— 溢出 ( 5) A=115= 111 0011B, B= 24= 11 000B [A]补 =0 1110011, [B]补 =1, 110 1000 [A+B]补 = 0 1110011 + 1 1101000 = 0 1011011—— 无溢出 A+B= 101 1011B = 91 ,计算 [x177。 y] 补 . ( 1) x=2011 100 , y=2010 ( 100); ( 2) x=2011 ( 010), y=2010 ( 111); ( 3) x=2101 ( 101), y=2100 ( 111)。 解:先将 x、 y 转换成机器数形式: ( 1) x=2011 100 , y=2010 ( 100) [x]补 =1, 101; 100, [y]补 =1, 110; 100 [Ex]补 =1,101, [y]补 =1,110, [Mx]补 = 100, [My]补 = 100 1)对阶: [E]补 =[Ex]补 +[Ey]补 = 11,101+ 00,010=11,111 0, 应 Ex 向 Ey 对齐,则: [Ex]补 +1=11, 101+00, 001=11, 110 = [Ey]补 [x]补 =1, 110; 110 2)尾数运算: [Mx]补 +[My]补 = 110 + 100= [Mx]补 +[My]补 = 110 + = 010 3)结果规格化: [x+y]补 =11, 110; 010 = 11, 011; 000 ( 尾数 左规 3 次,阶码减 3) [xy]补 =11, 110; 010, 已是规格化数。 4)舍入:无 5)溢出:无 则: x+y=2101 ( 000) xy =2010 010 ( 2) x=2011 ( ) ,y=2010 ( ) [x]补 =1, 101; 110, [y]补 =1, 110; 001 1) 对阶:过程同 (1)的 1),则 [x]补 =1, 110; 111 2)尾数运算: [Mx]补 +[My]补 = + 11. 100001 = [Mx]补 +[My]补 = + = 3)结果规格化: [x+y]补 =11, 110; 000,已是规格化数 [xy]补 =11, 110;。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。