计算机组成原理课后习题

发布时间 : 星期二 文章计算机组成原理课后习题更新完毕开始阅读

四、综合题

1.简述采用双符号位检测溢出的方法。

答:双符号位检测溢出是采用两位二进制位表示符号,即正数的符号位为00,负数的符号位为11.在进行运算时,符号位均参与运算,计算结果中如果两个符号位不同,则表示有溢出产生。

若结果的符号位为01,则表示运算结果大于允许取值范围内的最大正数,一般称为正溢出;若结果的符号位为10,则表示运算结果是负数,其值小于允许取值范围内的最小负数,一般称为负溢出。两个符号位中的高位仍为正确的符号。

2.简述采用单符号位检测溢出的方法。 采用但符号位检测溢出的方法有两种;

①利用参加运算的两个数据和结果的符号位进行判断:两个符号位相同的数相加,若结果的符号位与加数的符号位相反,则表明有溢出产生:两个符号位相反的数相减,若结果的符号位与被减数的符号位相反,则表明有溢出产生。其他情况不会有溢出产生。

4.简述运算器的功能。

答:运算器的主要功能是完成算术及逻辑运算,他有ALU和若干寄存器组成。ALU负责执行各种数据运算操作:寄存器用于暂时存放残余运算的数据以及保存运算状态。

5.试述先行进位解决的问题及基本思想

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

四,计算题

4.x=—3,y=—3,用原码两位乘法求[x*y]原

5.x=—3,y=—3.用补码两位乘法求[x*y]补

6.x=+0.1011,y=—1,用补码两位乘法求[x*y]补

7、已知X=0.1101,Y=-0.1011,用原码一位乘法求[X*Y]原。 【解】|X|=00.1101,|Y|=0.1011

部分积 乘数 Yn 说明 00.0000 1011 1 Yn=1,+|X| + 00.1101 00.1101

→ 00.0110 1101 1 部分积右移一位,

+ 00.1101 Yn=1,+|X| 01.0011

→ 00.1001 1110 0 部分积右移一位, + 00.0000 Yn=0,+0 00.1001

→ 00.0100 1111 1 部分积右移一位, + 00.1101 Yn=1,+|X| 01.0001

→ 00.1000 1111 部分积右移一位。 由于Ps=Xs⊕Ys =0⊕1=1,所以,[X*Y]=1.10001111。

8、已知X=-0.1101,Y=0.0110,用原码两位乘法求[X*Y]原。 【解】|X|=000.1101,2|X|=001.1010,|Y|=00.0110

部分积 乘数 C 说明 000.0000 00.01 100

+ 001.1010 C=100,+2|X| 001.1010

→ 000.0110 00. 010 右移两位, + 000.1101 C=010,+|X| 001.0011

→ 000.0100 00.0 右移两位, 所以结果为:[X*Y]原=1.01001110。

9、已知X=-0.1101,Y=0.0110,用补码两位乘法求[X*Y]补。

【解】[X]补=111.0011,2[-X]补=001.1010,2[X]补=110.0110,[Y]补=00.0110

部分积 乘数 Yn+1 说明 000.0000 00.01 100

+ 001.1010 Yn+1=100,+2[-X]补

001.1010

→ 000.0110 00. 011 右移两位,

+ 110.0110 Yn+1=011,+2[X]补

110.1100

→ 111.1011 00.0 右移两位, 所以结果为:[X*Y]补=1.10110010。

10、已知X=-0.1101,Y=0.1011,用补码一位乘法求[X*Y]补。

联系合同范文客服:xxxxx#qq.com(#替换为@)