资源描述:
《计算机组成原理第2章答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第2章综合应用题参考答案1.在CRC校验中。已知生成多项式是G(x)=x4+x3+1。要求写出信息1011001的CRC校验码。解:生成多项式G(x)=11001,为5位,校验余数取4位,按模2除法计算过程如下:1101010110011011001000011001111101100101111011001011100110011010余数R(x)=1010CRC校验码=101100110102.双方采用CRC循环校验码进行通信,已知生成多项式为x4+x3+x+1,接收到码字为10111010011。判断该信息有无错误。解:依题
2、意,生成多项式G(x)=11011,如果信息正确,则模2除法余数应为01100101110111011101001111011110001101111100110111111111011100结果余数R(x)=100不为零所以结果有错。3.简述算术移位与逻辑移位的区别算术移位,符号位保持不变,右移用符号位填充,左移用0填充逻辑移位,不考虑符号位,左右移位,空出位都用0填充4.已知机器字长n=8位,X=-44,Y=-53,按补码计算X-Y=?解:[X]补=11010100,[Y]补=11001011,[-Y]补=00110101[X
3、]补11010100[-Y]补+)0011010100001001[X-Y]补=[X]补+[-Y]补=00001001,真值X-Y=00001001=+0001001=+95.设机器字长为8位(含1位符号位)设A=9/64,B=-13/32,计算[A±B]补,并还原成真值。解:A=9/16=1001/26=0.0010010B=-13/32=1101/25=-0.0110100[A]补=0.0010010[B]补=1.1001100[-B]补=0.0110100[A]补0.0010010[B]补+)1.10011001.10111
4、10[A+B]补=1.1011110真值A+B=-0.0100010=-17/64[A]补0.0010010[-B]补+)0.01101000.1000110[A-B]补=0.1000110真值A-B=0.1000110=35/646.X=-0.1110,Y=-0.1101,采用原码一位乘法运算求[Z]原=[X×Y]原=?解:[X]原=1.1110[Y]原=1.1101符号单独处理:积Z的符号位Zs=11=0被乘数、乘数都取绝对值:即[
5、X
6、]=00.1110[
7、Y
8、]]原=0.1101部分积单元清000.00001101+X00
9、.111000.1110右移1位00.011101101+000.000000.0111右移1位00.001110110+X00.111001.0001右移1位00.100011011+X00.111001.0110右移1位00.101101101积的绝对值
10、Z
11、=0.10110110[Z]原=Zs.10110110=0.101101107.若X=-0.1101,Y=-0.1011,用布斯算法求[X.Y]补=?解:对于Both补码乘法,符号参与运算,被乘数采用双符号位,乘数采用单符号,在乘数最末增加一个0,每次看最低两位(式中画底
12、线的数字):相同(00,或11)则加0,若为10,则加[-X]补,若为01,则加[X]补[X]补=1.0011[-X]补=0.1101[Y]补=1.010100.0000101010+[-X]补00.110100.1101右移1位00.0110110101+[X]补11.001111.1001右移1位11.1100111010+[-X]补00.110100.1001右移1位00.0100111101+[X]补11.001111.0111右移1位11.1011111110+[-X]补00.110100.10001111最后一步不移位
13、积的补码[Z]补=0.10001111真值Z=0.100011118.设X=-15,Y=-13,用原码阵列乘法器求乘积Z=X×Y=?并用十进制乘法验证。解:[X]原=11111;[Y]原=11101积符号单独处理Zs=11=0数值部分的阵列乘法(和手工乘法相似)11111101111100001111111111000011[Z]原=Zs11000011=011000011真值Z=X×Y=11000011=1959.若X=-0.10110,Y=0.11111,利用原码不恢复余数法(加减交替法)求Q=X/Y的商及余数.解:原码除法,
14、被除数、除数都取绝对值,符号单独处理。注意 :这里由于要做减除数Y运算,即加[-除数]补,所以采用补码,并不是补码除法,仍然是原码除法!商的位数取和除数相同(这里为6位:小数点后数值5位+小数点前的0)首先求出:[X]原=1.10110,[Y]原=