《计算机组成原理第六章答案.docx》由会员分享,可在线阅读,更多相关《计算机组成原理第六章答案.docx(13页珍藏版)》请在金锄头文库上搜索。
1、1. 写出下列各数的原码、反码、补码、移码(用8位二进制表示),其中MSB是最高位(符号位),LSB是最低位。如果是小数,则小数点在MSB之后;如果是整数,则小数点在LSB之后。 (1)-59/64 (2)27/128 (3)-127/128 (4)用小数表示-1 (5)用整数表示-1 (6)-127 (7)35 (8)-128 2. 设x补=x0.x1x2x3x4,其中xi取0或1,若要使x0.5,则x0、x1、x2、x3、x4的取值应满足什么条件? 3. 若32位定点小数的最高位为符号位,用补码表示,则所能表示的最大正数为 ,最小正数为 ,最大负数为 ,最小负数为 ;若32位定点整数的最高
2、位为符号位,用原码表示,则所能表示的最大正数为 ,最小正数为 ,最大负数为 ,最小负数为 。 4. 若机器字长为32位,在浮点数据表示时阶符占1位,阶码值占7位,数符占1位,尾数值占23位,阶码用移码表示,尾数用原码表示,则该浮点数格式所能表示的最大正数为 ,最小正数为 ,最大负数为 ,最小负数为 。 5. 某机浮点数字长为18位,格式如图2.35所示,已知阶码(含阶符)用补码表示,尾数(含数符)用原码表示。 (1)将(-1027)10表示成规格化浮点数; (2)浮点数(0EF43)16是否是规格化浮点数?它所表示的真值是多少?图2.35 浮点数的表示格式 6. 有一个字长为32位的浮点数,格
3、式如图2.36所示,已知数符占1位;阶码占8位,用移码表示;尾数值占23位,尾数用补码表示。图2.36 浮点数的表示格式 请写出: (1)所能表示的最大正数; (2)所能表示的最小负数; (3)规格化数所能表示的数的范围。 7. 若浮点数x的IEEE754标准的32位存储格式为(8FEFC000)16,求其浮点数的十进制数值。 8. 将数(-7.28125)10转换成IEEE754标准的32位浮点数的二进制存储格式。 9. 已知x=-0.x1x2xn,求证:x补=+0.0001。 10. 已知x补=1.x1x2x3x4x5x6,求证:x原=+0.000001。 11. 已知x和y,用变形补码计
4、算x+y,同时指出运算结果是否发生溢出。 (1)x=0.11011 y=-0.10101 (2)x=-10110 y=-00011 12. 已知x和y,用变形补码计算x-y,同时指出运算结果是否发生溢出。 (1)x=0.10111 y=0.11011 (2)x=11011 y=-10011 13. 已知x补=1.1011000,y补=1.0100110,用变形补码计算2x补+1/2y补=?,同时指出结果是否发生溢出。 14. 已知x和y,用原码运算规则计算x+y,同时指出运算结果是否发生溢出。 (1)x=0.1011,y=-0.1110 (2)x=-1101,y=-1010 15. 已知x和y
5、,用原码运算规则计算x-y,同时指出运算结果是否发生溢出。 (1)x=0.1101,y=0.0001 (2)x=0011,y=1110 16. 已知x和y,用移码运算方法计算x+y,同时指出运算结果是否发生溢出。 (1)x=-1001,y=1101 (2)x=1101,y=1011 17. 已知x和y,用移码运算方法计算x-y,同时指出运算结果是否发生溢出。 (1)x=1011,y=-0010 (2)x=-1101,y=-1010 18. 余3码编码的十进制加法规则如下:两个一位十进制数的余3码相加,如结果无进位,则从和数中减去3(加上1101);如结果有进位,则和数中加上3(加上0011),
6、即得和数的余3码。试设计余3码编码的十进制加法器单元电路。 19. 已知x和y,分别用原码一位乘法和补码一位乘法计算xy。 (1)x=0.10111 y=-0.10011 (2)x=-11011 y=-11111 20. 已知x和y,分别用带求补器的原码阵列乘法器、带求补器的补码阵列乘法器和直接补码阵列乘法器计算xy。 (1)x=0.10111 y=-0.10011 (2)x=-11011 y=-11111 21. 已知x和y,分别用原码加减交替法和补码加减交替法计算xy。 (1)x=0.10011 y=-0.11011 (2)x=-1000100101 y=-11101 22. 已知x和y,
7、用原码阵列除法器计算xy。 (1)x=0.10011 y=-0.11011 (2)x=-1000100000 y=-11101 23. 设机器字长为8位(含一位符号位),若x=46,y=-46,分别写出x、y的原码、补码和反码表示的机器数在左移一位、左移两位、右移一位和右移两位后的机器数及对应的真值。 24. 某加法器进位链小组信号为C4C3C2C1,最低位来的进位信号为C0,请分别按下述两种方法写出C4C3C2C1的逻辑表达式: (1)串行进位方式; (2)并行进位方式。 25. 用74181和74182设计如下三种方案的64位ALU。 (1)组间串行进位方式; (2)两级组间并行进位方式;
8、 (3)三级组间并行进位方式。 26. 设浮点数的表示格式中阶码占3位,尾数占6位(都不包括符号位)。阶码和尾数均采用含双符号位的补码表示,运算结果的尾数取单字长(含符号位共7位),舍入规则用“0舍1入”法,用浮点运算方法计算x+y、x-y。 (1)x=2-011(0.100101) y=2-010(-0.011110) (2)x=2-101(-0.010110) y=2-100(0.010110) 27. 设浮点数的表示格式中阶码占3位,尾数占6位(都不包括符号位),阶码采用双符号位的补码表示,尾数用单符号位的补码表示。要求用直接补码阵列乘法完成尾数乘法运算,运算结果的尾数取单字长(含符号位
9、共7位),舍入规则用“0舍1入”法,用浮点运算方法计算xy。 (1)x=2011(0.110100) y=2-100(-0.100100) (2)x=2-011(-0.100111) y=2101(-0.101011) 28. 设浮点数的表示格式中阶码占3位,尾数占6位(都不包括符号位),阶码采用双符号位的补码表示,尾数用单符号位的原码表示。要求用原码阵列除法完成尾数除法运算,运算结果的尾数取单字长(含符号位共7位),舍入规则用“0舍1入”法,用浮点运算方法计算xy。 (1)x=2-010(0.011010) y=2-111(-0.111001) (2)x=2011(-0.101110) y=
10、2101(-0.111011) 29. 定点补码加减法运算中,产生溢出的条件是什么?溢出判断的方法有哪几种?如果是浮点加减运算,产生溢出的条件又是什么? 30. 设有4个数:00001111、11110000、00000000、11111111,请问答: (1)其码距为多少?最多能纠正或发现多少位错?如果出现数据00011111,应纠正成什么数?当已经知道出错位时如何纠正? (2)如果再加上2个数00110000,11001111(共6个数),其码距是多少?能纠正或发现多少位错? 31. 如果采用偶校验,下述两个数据的校验位的值是什么? (1)0101010 (2)0011011 32. 设有
11、16个信息位,如果采用海明校验,至少需要设置多少个校验位?应放在哪些位置上? 33. 写出下列4位信息码的CRC编码,生成多项式为G(x)=x3+x2+1。 (1)1000 (2)1111 (3)0001 (4)0000 34. 当从磁盘中读取数据时,已知生成多项式G(x)=x3+x2+1,数据的CRC码为1110110,试通过计算判断读出的数据是否正确? 35. 有一个7位代码的全部码字为: a:0000000 b:0001011 c:0010110 d:0011101 e:0100111 f:0101100 g:0110001 h:0111010 i:1000101 j:1001110 k
12、:1010011 l:1011000 m:1100010 n:1101001 o:1110100 p:1111111 (1)求这个代码的码距; (2)这个代码是不是CRC码。参考答案 1. 数的各种机器码表示见附表2.1。 附表2.1 数的各种机器码表示 2. 应满足的条件是:x0=0;当x0=1时,x1=1且x2、x3、x4不全为0。 3. 1-2-31;2-31;-2-31;-1;231-1;1;-1;-(231-1) 4. (1-2-23)2127;2-151;-2-151;-(1-2-23)2127 5. (1)(25C03)16 (2)是规格化浮点数;它所表示的真值是1859218
13、6. (1)(1-2-23) 2127 (2)-2127 (3)规格化数所能表示的正数的范围:2-129(1-2-23)2127;所能表示的负数的范围:-2127-(2-1+2-23)2-128 7. (-9592-105)10 8. (C0E90000)16 9. 证明:因为x0,按照定义,有 x补=2+x =2-0.x1x2xn =1+(1-0.x1x2xn) =1+(0.1111-0.x1x2xn+0.0001) =1+0.0001 =+0.0001 10. 证明:因为x补=1.x1x2x3x4x5x6,即x0,按照定义,有 x补=2+x=1.x1x2x3x4x5x6 x=1.x1x2x3x4x5x6-2 =-1+0.x1x2x3x4x5x6 =-(1-0.x1x2x3x4x5x6) =-(+0.000001) 因为x0,按照定义,有 x原=1-x =1+(+0.000001) =+0.000001 11. (1)x+y补=00.00110,x+y=0.00110,运算结