计算机组成与体系结构第2版习题答案补完计划赵姝陈洁主编-第3章运算方法与运算器 - 安徽大学出版社

过那么久终于更新了,距离上一次更新第二章的答案都过去三个半月了,这段时间是又忙又懒,懒得写着答案,毕竟从第三章开始,后面的答案都很多都搜不到,几乎就是看了跟没看似的

下面的很多那些计算定点原码补码一位乘、两位乘的题目的计算过程,都是自己手写出来的,累死了,隔了一个学期的知识又重新回顾一遍
 

1。

2。以下各数均为有符号数的补码,请比较它们的大小:

(1)321FH与A521H

(2)80H与32H

(3)8000H与AF3BH

(4)72H与31H

解:

(1)>(2)<(3)<(4)>

321FH>A521H   80H<32H   8000H<AF3BH   72H>31H

3。写出对应±0的各种机器数(机器数字长自定)。

设机器数字长为8位,则

4。将十进制数据34和28转化成二进制数,进行8位补码编码,并用补码求 其和与差,并将结果表示为十进制。

解:D代表十进制,B代表二进制

34的二进制数为00100010

28的二进制数为00011100

和:62D,00111110B

差:6D,00000110B

5。串行加法器和并行加法器有何不同?影响加法运算速度的关键因素是什么?试述先行进位解决的问题及基本思想。

解;

   加法器有串行和并行之分。在串行加法器中,只有一个全加器,数据逐位串行送入加法器进行运算;并行加法器由多个全加器组成,其位数的多少取决于机器的字长,数据的各位同时运算。  

   并行加法器可同时对数据的各位相加,但存在着一个加法的最长运算时间问题。并行加法器的最长运算时间主要是由进位信号的传递时间决定的,而每个全加器本身的求和延迟只是次要因素。很明显,提高并行加法器速度的关键是尽量加快进位产生和传递的速度。   

   进位信号的传递方法有多种。其中,串行进位方式的高一级进位是低一级进位的函数,而并行进位方式的每一级进位都是最低级进位C0的函数。  

先行进位解决的问题是进位的传递速度问题。其基本思想是:让每一位的进位与其低一位的进位无关,仅与两个参加操作的数以及最低位的进位有关。由于每位的操作数是同时给出的,各进位信号几乎可以同时产生,和数也随之产生,所以先行进位可以提高进位的传递速度,从而提高加法器的运算速度。

6。搜不到

7。简述几种判别加减法运算溢出的方法。

定点补码加减运算中, 产生溢出的条件是: 定点补码加减运算结果超出了定点数的 表示范围。溢出判断的方法有三种:①采用单符号位法;②采用进位判断法;③采用双符号位法,这种方法又称为“变形补码”或“模4补码”。

浮点加减运算中,产生溢出的条件是:浮点加减运算结果中阶码超出了它的表示范围。

8。

解: [X]补=0.1011     [Y]补=1.1011    

 [0.5X]补=0.01011   [0.25X]补=0.001011 [-X]补=1.0101  2[-X]补=?溢出→[-1.011]原

  [0.5Y]补=1.11011     [0.25Y]补=1.111011     [-Y]补=0.0101  2[-Y]补=0.1010

9。

搜不到,结果:0.00111111

10。

搜不到,结果:0.00111111

11。

搜不到,结果:[0.10001111]原,[0.10001111]补

12。

搜不到,结果:[0.10001111]原,[0.10001111]补

13。

搜不到,结果:[-0.10001111]原,[1.01110001]补

14。请说明在不同的乘法运算方法中,部分积的符号位分别应当取多少位? 原因是什么?

解;

原码一位乘取两位符号位,

补码一位乘取两位符号位。

原码两位乘取三位符号位。

补码两位乘取三位符号位。

(只有原码两位乘)

原码两位乘是由重复加和移位操作实现的,移位时按补码右移规则进行。以小数乘法为例,由于乘法过程中相加结果可能超过2,占去小数点前面两个位置,将原符号位破坏,移位时会出错。若采用三位符号位,并以最高位代表真正的符号,就可根据该位的状态进行移位,结果即不会出错。

15。

搜不到,结果:[−0.110111011]原

16。

搜不到,结果:[−0.110111011]原

17。(2024年4月13日21:04:22,这题错了,先别看,有空再修改,)

解:设机器数采用阶补尾补形式:

  1. 数的浮点表示    

   x= 2⁵×(9/16)= 2¹⁰¹×0.100100

  y= 2⁴×(-11/16)=2¹⁰⁰×(-0.101100)

则: [x]阶补  尾补=00,101   ;00.101100     

   [y]阶补 尾补=00,100;11.011100    

   ····························(2分)

(2)对阶:

      [△E]补=[Ex]补+[-Ey]补=00,101+11,100=00,001     

  [△E]补>0,应Ey向Ex对齐,则:  

     [Ey]补+1=00,100+00,001=00,101    

  ····························(1分)    

   [△E]补+[-1]补=00,001+11,111=0

       至此, Ey=Ex,对阶完毕。   

    [y]补=00,101;11.1011100             

 ····························(2分)

 (3)尾数运算:  

     [Mx]补+[My]补=00.101100+11.1011100=(1)00.0110100    

                                                                  ···························(2分)

(4)结果规格化:左规1位     

 [x+y]补=

  00,101;00.011 010

→00,100;00.110 100        

     ····························(2分)  

(5)舍入:不需舍入。                 

(6)判溢出:无     

  则:x+y=2¹⁰⁰×(0.110 100)=16×(13/16)=13     

18。

19。

20。

【解答】

符号位为0,表示这是一个正数。阶码字段=00011111B=31D,阶码真值:31-127=-96,尾数字段=1.110 1111 1100 0000 0000 1111B。所以十进制数值为:(1.110 1111 1100 0000 0000 1111)2×2-96=2.364118e−29。

21。什么是机器零?浮点数采用什么机器数形式时,可用全0表示机器零?

答:当一个浮点数的尾数为0时,不论其阶码为何值,或者当一个浮点数的阶码等于或小于它所能表示的最小数时,不论其尾数为何值,机器都把该浮点数当机器零处理。可见,如果浮点数的阶码用移码表示,则最小的阶码(移码)即为全“0”,而浮点数的尾数用补码表示,则当其全0时即表示尾数的真值为0。此时机器零可以用全0表示。

22。设有4个数:00001111、11110000、00000000、11111111,问:

(1)其码距为多少?最多能纠正或发现多少位错?如果出现数据00011111 应纠正成什么数?当已经知道出错位时如何纠正?

(2)如果再加上两个数00110000、11001111(共6个数),其码距为多少?能纠正或发现多少位错?

解;

(1)码距为4;最多能纠正1位错或发现2位错;出现数据00011111,应纠正成00001111;当已经知道出错位时,将该位数值取反即可纠正错误。

(2)码距为2;能发现1位错,不能纠错。

23。

搜不到

24。求信息码01101110的海明校验码,要求能指出和纠正一位出错位。

解;

(1)确定海明码的校验位的位数。 设 r 为校验位的位数, 则整个码字的位数应满足不等式: k+r≤2r-1;设 r=4, 则 23=8, n=8+3=11, 不等式不满足; 设 r=5, 则 24=16, n=8+5=13, 不等式满足, 所以r 最小取 5。

(2) 确定校验位的位置。 位号(1~12) 为 2 的权值的那些位, 即 1、 2、 4、 8 的位置作为校验位, 记做 P1 、P2 、 P3 、 P4 , 余下的为有效信息位。 即:

 (3) 分组: 有四个校验位, 将12 位分 4 组, 第 i 位由校验位号之和等于 i 的那些校验位所校验, 如: 第 11位 D6 由 P1 (位号为 1)、 P2 (位号为 2)、 P4 (位号为 8) 所校验, 因为 1+2+8=11。

第一组(P1 ): P1 、 D0 、 D1 、 D3 、 D4 、 D6

第二组(P2 ): P2 、 D0 、 D0 、 D0 、 D5 、 D0

第三组(P3 ): P3、 D1 、 D2 、 D3 、 D7

第四组(P3 ): P4 、 D4 、 D5 、 D6 、 D0

(4)校验位的形成。为了能检测两个错误, 增加一位校验 P5 , 放在最高位(此时称为扩展的海明码)。

信息码 01101110 的海明校验码为: 1011001111001

(5) 校验原理。 在接收端分别求: G1 、 G2 、 G3 、 G4 、 G5 。

当 G5 =1 时有一位错, 由 G4 G3 G2 G1 的二进制编码指出出错的位号。 例如 G4 G3 G2 G1 =1001 说明第 9 位出错,将其取反, 即可纠错。 当 G5 =0 时无错或者有偶数个错(两个错的可能性比较大); 当 G4 G3 G2 G1 =0000 时, 接收的数无错, 否则有偶数个错。

25。设计算机准备传送的数据为二进制数1001,采用CRC校验,生成多项式 选用X ³+X+1。 (1)要求计算校验位。

(2)接收方如何判断数据是否出错?

解;

(1)校验位为:110

M(x)·x³/G(x)=1001000/1011=1010+110/1011

CRC码为1001110

(2)判断数据是否出错:

将CRC多项式除以G(X)(模2除),如能除尽,表示无错误;如余数不为0,说明有错。而且错误位不同,余数也不相同,所以不是任意一个多项式都能用做生成多项式。 

其他私货例题,主要是浮点数加减法计算:

1。

2。

  关注微信公众号,回复“计算机组成”获取答案的word文档下载

  • 29
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值