计算机系统第2章习题解答.docVIP

  • 65
  • 0
  • 约3.13千字
  • 约 6页
  • 2017-10-13 发布于重庆
  • 举报
计算机系统第2章习题解答

第二章习题解答 [习题2.2] [解答] 在尾数采用补码、小数表示且p=6,阶码采用移码、整数表示且q=6,尾数基rm为16,阶码基re为2的情况下: 最大尾数为: 最小正尾数为: 最小尾数为: 最大负尾数为: 这个数的符号位是1,数据位是1110(这是数据位的第一个数因为是补码,规格化数不能和符号位相同,所以不能是全1111,但是又必须保证在补码中最大,所以是1110),1111,1111,1111,1111,1111(由于是补码,所以数越大,其真值越小,才能保证是最大负尾数),所以总的数据是1110,1111,1111,1111,1111,1111,然后取反加1,得到它的真值为0001,0000,0000,0000,0000,0001.所以最终结果是-0.100001HEX 最大阶码为: 最小阶码为: 最大正数为: 最小正数为: 最大负数为: 最小负数为: 浮点零为: 通过上面的计算,我们可以知道浮点零的范围如下: 表数精度为: 表数效率为: 能表示的规格化浮点数个数为: [习题2.3] [解答] 对于IEEE754的32位单精度浮点数: 如果不把正的无穷数计算在内,那么最大正数为: 最小正数为: 最大负数为: 如果不把负的无穷数计算在内,那么最小负数为: 由于有隐藏位,所以表数精度为: 但当e=0时,由于隐藏位不在起作用,所以表数精度可能不同。 尾数的基数是2,但由于采用了隐藏位,所以表数效率为100%。 对于IEEE754的64位单精度浮点数: 如果不把正的无穷数计算在内,那么最大正数为: 最小正数为: 最大负数为: 如果不把负的无穷数计算在内,那么最小负数为: 由于有隐藏位,所以表数精度为: 但当e=0时,由于隐藏位不在起作用,所以表数精度可能不同。 尾数的基数是2,但由于采用了隐藏位,所以表数效率为100%。 [习题2.5] 一台计算机系统要求浮点数的精度不低于10-7.2,表数范围正数不小于1038,且正、负数对称。尾数用原码、纯小数表示,阶码用移码、整数表示。 设计这种浮点数的格式 计算(1)所设计浮点数格式实际上能够表示的最大正数、最大负数、表数精度和表数效率。 [解答] 为了方便和提高精度,我们取尾数和阶码的基都为2,即: 且 根据表示数精度的要求: 于是可以取p=24; 根据表示数范围的要求: 即 因此可以取q=7 数据格式可以表示如下(尾数采用隐藏位): 1位 1位 7位 23位 符号 阶符 阶码 尾数 (2)能够表示的最大正数:(1-2-24)2127, 能够表示的最大负数:-2-129, 表示数的精度:2-24, 表数效率:100%。 [习题2.6] [解答] 在两种标准下面,0.2分别表示为: IBM标准: 编码为: IEEE754标准: 编码为: (3)略,注意两种标准表数的范围和表数的精度是不相同的。 [习题2.10] [解答] 我们可以计算出数据的大致数量: 1000条指令访问的数据总数为1000*2=2000个; 每个数据平均访问8次,所以,不同的数据个数为: 对于A处理机,所用的存储空间的大小为: 对于B处理机,指令字长由32位变为了30位(条数由256减少到64),这样,所用的存储空间的大小为: 由此我们可以看出,由于数据的平均访问次数要大于指令,所以,通过改进数据的格式来减少指令的长度,可以减少总的存储空间大小。 [习题2.14] 一台模型机共有7条指令,各指令的使用频率分别为35%,25%,20%,10%,5%,3%和2%,有8个通用数据寄存器,2个变址寄存器。 要求操作码的平均长度最短,请设计操作码的编码,并计算所设计操作码的平均长度。 设计8字长的寄存器-寄存器型指令3条,16位字长的寄存器-存储器型变址寻址方式指令4条,变址范围不小于±127。请设计指令格式,并给出各字段的长度和操作码的编码。 [解答] 要使得到的操作码长度最短,应采用Huffman编码,构造Huffman树如下: 0 1 0 1 0 1 0 1 0 1 0 1 由此可以得到7条指令的编码分别如下: 指令号 出现的频率 编码 1 35% 00 2 25% 01 3 20% 10 4 10% 110 5 5% 1110

文档评论(0)

1亿VIP精品文档

相关文档