计算机组成原理第四章要求作业参考答案.docx

上传人:b****6 文档编号:6331637 上传时间:2023-01-05 格式:DOCX 页数:17 大小:127.88KB
下载 相关 举报
计算机组成原理第四章要求作业参考答案.docx_第1页
第1页 / 共17页
计算机组成原理第四章要求作业参考答案.docx_第2页
第2页 / 共17页
计算机组成原理第四章要求作业参考答案.docx_第3页
第3页 / 共17页
计算机组成原理第四章要求作业参考答案.docx_第4页
第4页 / 共17页
计算机组成原理第四章要求作业参考答案.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

计算机组成原理第四章要求作业参考答案.docx

《计算机组成原理第四章要求作业参考答案.docx》由会员分享,可在线阅读,更多相关《计算机组成原理第四章要求作业参考答案.docx(17页珍藏版)》请在冰豆网上搜索。

计算机组成原理第四章要求作业参考答案.docx

计算机组成原理第四章要求作业参考答案

习题4

4.1设X二0.1101,Y=-0.0110,求:

(1)[Xh卜

(2)[—X]补(3)[2Xh卜(4)[-2X]补

(5)[X/2]补(6)[-X/2]?

卜(7)[Y]补(8)[一丫]补

(9)[2Y]补(10)[-2Y]?

卜(11)[Y/2]补(12)[-Y/2]?

(13)[-Y/4]补

1.

(1)[X]沪0.1101

(2)[-X]补二1.0011

(3)[2X]补=0.1010溢出

(4)[-2X]沪1.0110溢出

(5)[X/2h尸0.0110

注意:

参见P109中的补码算术移位规则,以及P110的例4.4

(6)[-X/2]补二1.1001

(7)[Y]补二1.1010

(8)[-丫]讦0.0110

(9)[2Y]«.=1.0100

(10)[-2Y]补二0.1100

(11)[Y/2]»b=l.1101

(12)[-丫/2]戸0.0010

(13)[-Y/4]?

卜二0.0001

4.2已知X和Y,用变形补码计算X+Y和X-Y,并指出运算结果是否溢出:

(1)X二0.11011,Y二0.11111

(2)X二-0.1101,Y二0.0110

答:

.

(1)

[X]补=00」1011[丫]补=00.11111卜Y]补=11.00001

[X]补00.11011

Sfi与Sf2不同,溢出

+[Y]补00.11111

[X+Y]补01.11010

[X]补00.11011

+卜Y]补11.00001Sf]与Sf2相同,无溢出

[X-Y]补11.11100

所以:

[X+Yh:

发生溢出

[X-Y]«.=1.11100

注意:

参见P107中的双符号位判溢方法原理。

(2)[X+Y]补二1.1001

[X—Y]卜溢出

4.4使用原码一位乘法计算X*Y:

(1)X二0.11101,Y二0.01111

(2)X=-0.10011,Y二0.11010答:

(1)

以]原=0.11101[Y]原=0.01111

P=Xv㊉乙二030=0

 

0.11101

0.11101

0.01110

0.11101

1.01011

0.10101

0.11101

+

1.1()010

0.11001

0.11101

+

1.10110

0.11011

0.00000

部分积

0.00000

0.11011

0.01101

乘数IYI

01111

10111

11011

01101

00110

ioon|

・・・[P](=0.0110110011

AXxK=+0.0110110011

4.5使用补码Booth乘法讣算X*Y:

(1)X=0.01111,Y二-0.11101

(2)X二-0.10011,Y=-0.11010答:

(1)

[X]补=00.01111[Y]补=11.00011

操作说明

Ys=l,+|X|

右移一位

Y4=l,+x|

右移一位

Y3=l,+X|

右移一位

Y2=l,+|X|

右移i位

Yi=0,+0

右移一位

[—X]补=11.10001

 

部分积

00.00000

+11.10001

11.10001

11」1000

+00.00000

11」1000

11.11100

+00.01111

00.01011

00.00101

+00.00000

00.00101

00.00010

+00.00000

00.00010

00.00001

+11.10001

11.10010

乘数Y(YnYn+1)

1.000110

11.00011

011.0001

1011.000

11011.00

011011.0

01101

操作说明

Y5Y6=10,+[-X]补

右移一位

y4y5=il+o

右移一位

Y3Y4=01,+[X]补

右移一位

丫2丫尸00,+0

右移一位

Y1Y2=00,+0

右移一位

YOY1=1O,+[-X]补

 

 

所以:

[X*Y]补=1.1001001101

X*Y=-0.0110110011

4.6分别使用原码恢复余数除法和原码加减交替除法讣算X/Y:

(1)X二0.0111,Y=0.1101

(2)X二0.1011,Y二-0.1110

答:

(1)

原码恢复余数除法

注意:

参见P124中例4.9。

[X]原=0.0111[丫]原=0.11011X1=0.0111IYI=0.1101

卜IYI]补=11.00112=㊉匕=0Rs=O

被除数/余数

商Q

操作说明

+

OOeOlll

11.0011

0

0

0

0

0

+[TY|]补

11.1010

0

0

0

0

0

R0<0,上商0

+

00.1101

+|Y|恢复余数

00.0111

00.1110

0

0

0

ro

0

左移一位

+

11.0011

+[-1丫|]补

00.0001

0

0

0

0

1

Ri>0,上商1

00.0010

0

0

fo

1

0

左移一位

+

11.0011

+[-1丫|]补

11.0101

0

0

0

1

0

R2<0,上商0

+

00.1101

+|Y恢复余数

00.0010

00.0100

0

0

1

0

0

左移一位

+

11.0011

+[-1丫|]补

11.0111

0

0

1

0

0

R3<0,上商0

+

00.1101

+|Y|恢复余数

+

00.0100

00.1000

0

1

0

0

0

左移一位

1L0011

+[-1丫|]补

11.1011

0

1

0

0

0

R4<0,上商0

+Y|恢复余数

00.10000

所以[Q]ffi=0.1000[R]0=0.00001000

原码加减交替法:

注意:

参见P125中例4.10o

[X]原=0.0111[丫]原=0.11011X1=0.0111IYI=0.1101

[-IYI]^=11.0011Rs=0

被除数/余数

00.0111

操作说明

+1L0011

+

11.1010

11.0100

00.1101

+

00.0001

00.0010

1L0011

+

11.0101

10.1010

00.1101

+

11.0111

10.1110

00.1101

+

11-1011

00.1101

00.1000

00000

00000

00oro0

00001

0olo10

00010

00100

00100

01000

01000

+[-|丫|]补

R0<0,上商0

左移一位

+|¥|

Ri>0,上商1

左移一位

+[-1丫|]补

R2<0,上商0

左移一位

+|¥|

R3

左移一位

+|Y|

R4<0,上商0

+|Y|恢复余数

 

所以[Q]w=0.1000

[R]w=0.00001000

 

(2)原码恢复余数除法:

[Qs]沪1.1100;

[R]沪0・00001000

原码加减交替除法:

[Qs]沪1.1100;

[R](5=0.00001000

4.7使用补码不恢复余数除法计算X/Y:

(1)X二0.0111,Y二0.1101

(2)X二0.1011,Y二-0.1110

答:

(1)

被除数/余数

商Q

操作说明

00.0111

0

0

0

0

0

[X]补与[Y]补同号

+11.0011

+[-丫]补

11.1010

0

0

0

0

0

[Ro]补与[Y]补异号,上商0

11.0100

0

0

0

0

0

左移一位

00.1101

+[丫]补

00.0001

0

0

0

0

1

[RJ补与[Y]补同号,上商1

00.0010

0

0

0

1

0

左移一位

+11.0011

+[-Y]补

11.0101

0

0

0

1

0

[R?

]补与[Y]补异号,上商0

10.1010

0

0

1

0

0

左移一位

+00.1101

+[丫]补

11.0111

0

C

1

0

0

[R3]补与[Y]补异号,上商0

10.1110

1

0

0

1

左移一位,末位置1

所以[Q]补=0.1001

[RJ

补=0.00001110

(2)[Qs]补二1.0011;[R]补=0.00001100

4.8设浮点数的格式为:

阶码5位,尾数6位,均用补码表示,请计算X+Y和X-Yo(阶码和尾数均用补码计算)。

(1)X=-1.625,Y二5.25

(2)X=15/64,Y=-29/256

答:

(1)

\13

X=(-1.625)10=(-1-)10=(--)10=(-0」1O1X201)2

OO

121

Y=(5.25)10=(5—)10=(―)10=(0.10101x2U)2

假设Z=X+Y,X+Y的计算过程如下:

注意:

参见P139的原理和P141中例4・13。

1、对阶

AE=Ex一£丫=[Ex]/tJ+[-EY]^=00,0001+11,1101=11,1110

AE<0,所以ExvEy,需要把Mx右2位,即乞+2

[X]f]=00,001111」1001(10)

2、尾数相加

[M\‘h11」1001

+[Myb,00.10101

[Ma,+My]布00.01110

[Mzh=00.01110(10)

3、结果规格化

左归一位,阶码减1;结果无溢出

此时的阶码和尾数为:

[Ez]fi=00,0011+11,1111=00,0010

=00.11101(0)

4、舍入

按照0舍1入法对尾数进行舍入,结果为:

冋=0,00100.11101

假设Z=x—Y,其计算过程如下:

1、对阶

AE=Ex-EY=[Ey]/|;.+[-£,1怖=00,0001+11,1101=11,1110

AE<0,所以Ex

[X]fu=00,001111」1001(10)

2、尾数相减

布11.H001

+[-M、,h11.01011[M\‘一My】,,11.00100

[My]布=11.00100(10)

3、结果规格化

结果的尾数已经是规格化形式,并且无溢出,因此无需规格化

4、舍入

按照0舍1入发对尾数进行舍入,结果为:

=0,00111.00101

(2)[X+Y]补=1,11010.11111;X+Y二0.11111X25

[X-Y]补=1,11110.10110;X-Y二0.101102

4.9设浮点数的格式为:

阶码5位,用移码表示,尾数6位,用补码表示,请计算X*Y和X/Y(阶码用移码计算,尾数用任何一种机器数的串行乘除算法计算)。

(1)X二5.25,Y=-1.625

(2)X=-29/256,Y二13/64

答:

(1)[XXY]浮二1,01001.01111;

[X/Y]浮二1,00101.00111;

X*Y=-0.10001X20100

X/Y二一0・11OO1X20010

(2)X和Y的补码表示为:

[Y]补二0,11100.11110

[X]tt=0,11011.00011

Y=(―)10=(0」111x2")□4

假设Z=X*Y,则Z的计算过程为:

注意:

参见P143的原理和P143中例4・14。

(1)阶码相加

[EJ仔=[比+£丫・=[比几+[£丫1伯=00」101+11,1110=00,1011阶码无溢出

(1)尾数相乘

使用Booth算法计算尾数的乘积:

[M:

J补二11.00011[M、・]补二0・11110[—M]补二00.11101

部分积

乘数丫(丫認血)

操作说明

00.00000

0.111100

Y5Y6=00,+0

+00.00000

00.00000

00.00000

ol0.11110

右移一位

+00.11101

Y4Y5=1O,+[-m』补

00.11101

00.01110

1olo.1111

右移一位

+00.00000

丫3丫尸11,+0

00.01110

00.00111

01olo.1LA

右移一位

+00.00000

丫2丫3=11,+0

00.00111

00.00011

10100.11

右移一位

+00.00000

YiY2=lh+0

00.00011

00.00001

110100.1

右移一位

+11.00011

11.00100

11010

YoY^Ol,+[MJ补

[M、:

]补二1.0010011010

(2)结果的规格化

结果的尾数已经是规格化的,因此无需再规格化。

(3)舍入对尾数进行0舍1入,得:

[Z]补=0,10111.00101

假设Z=VY,则Z的计算过程为:

注意:

参见P145的原理和P146中例4.15。

(1)阶码相减

[EjfS=[EX-£y]f?

=[Ex+l-£Y]4i=00,1101+00,0010=00,1111

阶码无溢出

(2)尾数相除

采用原码加减交替法计算尾数的商:

[M』补二00.11101[My]#=00.11110[-My;]?

卜二11.00010

操作说明

+[-IMyl]补

Ro

+|my|

Ri>0,上商1

左移一位

+卜IMyI]补

R2>o,.h商1左移一位

+[-IMyl]^

R3>o,上商1左移一位+【-IMyI]补&>0,上商1

左移一位

+[-IMyI]#

Rs<0,上商0+|MY|恢复余数

[M:

]补二0.11110

(1)

(3)结果的规格化

结果的尾数已经是规格化的,因此无需再进行规格化。

(4)舍入

对尾数进行0舍1入,得:

!

M:

=0.1111111111[M:

]补二1.00001

Z补二o,mii.00001

4.10假设浮点数加减运算时,尾数采用变形补码(模4补码)进行运算,运算

 

答:

A,B

4.13口设加器字长8位,若机器数DAH为补码,则算术左移一位后为,

算术右移一位后为。

A・B4HB・B5HC.F4HD.6DHE.EDH

答:

A,E

4.14在计算机内,减法一般用来实现。

A.二进制减法器B.十进制减法器C.二进制加法器

D.十进制加法器

答:

C

4.16如果将例4.12中的两条指令修改如下,试写出运算结果及其标志位,并分析各标志的意义。

MOVAL,7FH

ADDAL,80H

答:

(AL)=FFH:

ZF二0:

因为运算结果非零;

CF二0:

因为加法运算的最高位没产生进位,

0F二0:

因为C1㊉Cf二0,表明有符号数运算发生没溢出,

SF二1:

因为运算结果的最高位为1,

PF=1:

结果中T的个数为偶数个,所以PF二1。

4・17如果将例4.12中的两条指令修改如下,试写出运算结果及其标志位,并分析各标志的意义。

MOVAL,7FH

SUBAL,1

答:

(AL)=7EH;

ZF二0:

因为运算结果非零;

CF二0:

因为加法运算的最高位没产生借位,

0F二0:

因为C1㊉Cf二0,表明有符号数运算发生没溢出,

SF二0:

因为运算结果的最高位为0,

PF二0:

结果中的个数为奇数个,所以PF=Oo

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1