计算机组成原理-作业三

参考教材:《计算机组成原理(第六版)》白中英主编 科学出版社

主要知识点:乘法器、除法器

一. 单选题(共10题,50分)

1. (单选题, 5分)用海明码对长度为8位的数据进行检纠错时, 若能纠正一位错,则检验位数至少为( )。

A. 4

B. 5

C. 2

D. 3

答案解析:

一般来说,若汉明码长为n,信息位数为k,则监督位数r=n-k。若希望用r个监督位构造出r个监督关系式来指示一位错码的n种可能位置,则要求:
2^r-1>=r+k 即2^r>=r+k+1
本题信息位k为8位,r最小为4。

2. (单选题, 5分)补码加/减法是指________。

A. 操作数用补码表示, 连同符号位直接相加,减某数用加某数的机器负数代替,结果的符号在运算中形成;

B. 操作数用补码表示, 两尾数相加/减, 符号位单独处理;

C. 操作数用补码表示, 符号位和尾数一起参加运算, 结果的符号与加/减数相同;

D. 操作数用补码表示, 由数符决定两尾数的操作, 符号位单独处理。

3. (单选题, 5分)8位补码10010011等值扩展为16位后,其机器数为________。

A. 0000000010010011

B. 1111111101101101

C. 1000000010010011

D. 1111111110010011

答案解析:

补码扩展时,符号位保持不变,在符号位后的数值位重复符号位。
故10010011扩展时首位符号位1,其后补充11111111,然后数值位0010011,
即1 11111111 0010011。

4. (单选题, 5分)在定点二进制运算器中,减法运算一般通过________来实现。

A. 原码运算的二进制减法器

B. 补码运算的二进制加法器

C. 补码运算的二进制减法器

D. 补码运算的十进制加法器

5. (单选题, 5分)在双符号位判别溢出的方案中,出现正溢出时,双符号位应当为________。

A. 11

B. 01

C. 10

D. 00

答案解析:

双符号位首位的符号即使在溢出时也不会受到影响,所以保留正负属性。
两个符号位不一致,表示溢出。10负溢,01正溢。

6. (单选题, 5分)当定点运算发生溢出时,应进行________。

A. 向右规格化

B. 舍入处理

C. 发出出错信息

D. 向左规格化

7. (单选题, 5分)在串行进位的并行加法器中,影响加法器运算速度的关键因素是________。

A. 各位加法器速度的不同

B. 元器件速度

C. 进位传递延迟

D. 门电路的级延迟

8. (单选题, 5分)原码加减交替除法又称为不恢复余数法,因此________。

A. 不存在恢复余数的操作

B. 当某一步运算不够减时,做恢复余数的操作

C. 当某一步余数为负时,做恢复余数的操作

D. 仅当最后一步余数为负时,做恢复余数的操作

9. (单选题, 5分)下列叙述中, 错误的是________。

A. 补码乘法器中, 被乘数和乘数的符号都不参加运算

B. 并行加法器中高位的进位依赖于低位

C. 在小数除法中, 为了避免溢出,要求被除数的绝对值小于除数的绝对值

D. 运算器中通常都有一个状态标志寄存器,为计算机提供判断条件,以实现程序转移

10. (单选题, 5分)一个C语言程序在一台32位机器上运行。程序中定义了3个变量x、y和z, 其中x和y为int型, y为short型。(32位机int为4个字节,short为两个字节)。
当x=127,y=-9时,执行赋值语句z=x+y后,x、y和z的值分别是________。

A. x=0000007FH, y=FFF9H, z=FFFF0076H

B. x=0000007FH, y=FFF7H, z=FFFF0076H

C. x=0000007FH, y=FFF7H, z=00000076H

D. x=0000007FH, y=FFF9H, z=00000076H

答案解析:

x=127,y=-9,z=118,x、z32位,y16位,
x=00000000 00000000 00000000 01111111B
y=11111111 11111111 11111111 11110111B
z=00000000 00000000 00000000 0111 0110B
为方便阅读将其转换为16进制(4位2进制对应一个16进制数)
x=0000007FH y=FFFFFFF7H z=00000076H

二. 填空题(共5题,50分)

11. (填空题, 8分)

原码阵列乘法器的输入为原码,输出也为原码。

用原码阵列乘法器计算x×y,x=-15,y=-10。

运算过程如下:(设原码长度为5,符号位1位,数值位4位)

机器内部原码数据:[x]原=______,[y]原=______;

符号位单独运算: 1⊕1=______;

其他位直接运算:|x|=_____,|y|=______;

乘法阵列:|x| ×|y| =______(本步骤请在草稿纸上列出竖式);

算后加符号位输出:[x×y]原=______;

所以 x×y =______。(此处为十进制,为方便比对,请明确标出+、 -)

(1)11111                                   (2)11010

(3)0                                          (4)1111

(5)1010                                    (6)10010110

(7)010010110                           (8)+150

答案解析:

15=1111B   10=1010B

12. (填空题, 8分)

原码阵列乘法器的输入为原码,输出也为原码。

用原码阵列乘法器计算x×y,设x、y为二进制数,x=11011,y=-11111。

运算过程如下:(设原码长度为6,符号位1位,数值位5位)

机器内部原码数据:[x]原=______,[y]原=______;

符号位单独运算: 0⊕1=______;

其他位直接运算:|x|=_____,|y|=______;

乘法阵列:|x| ×|y| =______(本步骤请在草稿纸上列出竖式);

算后加符号位输出:[x×y]原=______;

所以 x×y =______。

(1) 011011                                       (2)111111

(3)1                                                 (4)11011

(5)11111                                          (6)1101000101

(7)11101000101                              (8)-1101000101

答案解析:

计算机组成原理-作业三_第1张图片

13. (填空题, 8分)

补码阵列乘法器的输入为补码,输出也为补码。

用补码阵列乘法器计算x×y,x=-13,y=9。

运算过程如下:(设补码长度为5,符号位1位,数值位4位)

机器内部补码数据:[x]补=______,[y]补=______;

符号位单独运算: 1⊕0=______;

其他位算前求补器输出为:|x|=_____,|y|=______;

乘法阵列:|x| ×|y| =______(为方便比对,数字写8位,本步骤请在草稿纸上列出竖式);

算后求补器加符号位输出为:[x×y]补=______;

所以 x×y =______。(本题开始给出的xy为十进制,此处为十进制,为方便比对请为数字加上+、-符号)

(1) 10011                                         (2) 01001

(3) 1                                                 (4) 1101

(5)1001                                            (6)01110101

(7)110001011                                   (8) -117

答案解析:

[X]补=10011  [Y]补=01001     

符号位单独计算 1⊕0=1                                    

算前求补器输出为  |X|=1101   |Y|=1001 

|x| ×|y| =01110101(4位乘4位输出8位,不足前方补0)                          

算后求补器输出为[ X×Y]补=110001011

X×Y=-117       

验算 X=-13 Y=9  X×Y=-117   (可不验算)

计算机组成原理-作业三_第2张图片

14. (填空题, 8分)

补码阵列乘法器的输入为补码,输出也为补码。

用补码阵列乘法器计算x×y,设x、y为二进制数,x=-10011,y=11001。

运算过程如下:(设补码长度为6,符号位1位,数值位5位)

机器内部补码数据:[x]补=______,[y]补=______;

符号位单独运算: 1⊕0=______;

其他位算前求补器输出为:|x|=_____,|y|=______;

乘法阵列:|x| ×|y| =______(为方便比对,数值位长度写10位,本步骤请在草稿纸上列出竖式);

算后求补器加符号位输出为:[x×y]补=______;

所以 x×y =______(为方便比对,数值位长度写10位)。

(1)101101                                                 (2)011001

(3)1                                                           (4)10011

(5)11001                                                   (6)0111011011

(7)11000100101                                       (8) -0111011011

15. (填空题, 18分)

用原码阵列除法器计算X÷Y,设X、Y为二进制数,X=110000 Y=-11111。

运算过程:

先将X、Y乘一个比例系数化成小数,转换时需使被除数比除数小,使商也为一个小数。

X=11000=0.11000×26= x×26,Y=-11111=-0.11111 ×25 = y×25

[x]原=011000,[y]原=111111。符号位单独运算: 0⊕1=1。

用加减交替法计算|x|÷|y|,[|x|]补=011000, [|y|]补=011111,[-|y|]补=100001。

 0.11000   被除数    第1步做减法

+ 1.00001   减除数    

----------------------------------------------------

  1.110010  余数为负,商0,下步做加法

+ 0.011111  除数右移1位,加

----------------------------------------------------

  0.0100010 余数为正,商1,下步做减法

+ _________ 
----------------------------------------------------

  0.00000110 余数为正 商1,下步做减法

+ _________ 
----------------------------------------------------

  1.111001110  余数为负 商0 下步做加法

+ __________    除数右移1位,加

----------------------------------------------------

  1.1111011010 余数为负 商0 下步做加法
+ 0.0000011111 除数右移1位,加

----------------------------------------------------

  1.1111111001 余数为负 商0 ,下步停止,
+ 0.0000011111 余数依然为负,不移位加

----------------------------------------------------

  0.0000011000

故|x|÷|y|=______,余数为______。故 [x÷y]原=______。即 x÷y=______。

最后商和余数需要乘比例因子,余数修正时随被除数。X÷Y=______,余数为______。

(1) 1.1100001                                      (2)1.11100001

(3)0.000011111                                    (4)011000

(5)0.0000011000                                 (6)111000

(7)-0.11000                                          (8)-1.1000

(9)1.1000

你可能感兴趣的:(计算机组成原理,计算机组成原理)