计算机组成原理试题2

更新时间:2023-12-09 00:59:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、填空题

1. 按IEEE754规范,一个浮点数由 、 、 三个域组成,其中 的值等于指数的 加上一个固定 。 2. 在进行浮点加法运算时,需要完成为 、 、 、 、 和 等步骤。

3. 对阶时,使 阶向 阶看齐,使 阶的尾数向 移位, 每 移一位,其阶码加一,直到两数的阶码相等为止。

4. 提高加法器运算速度的关键是 。先行进位的含义是 。 5. 现代计算机的运算器一般通过总线结构来组织。按其总线数不同,大体有 、 和 三种形式。

6. 浮点运算器由 和 组成,它们都是 运算器。 只要求能

执行 运算,而 要求能进行 运算。

7. 两个BCD码相加,当结果大于9时,修正的方法是将结果 ,并产生进位输出。 8. 设有七位二进制信息码 0110101,则低位增设偶校验码后的代码为 。

二、单项选择题

1. 某数在计算机中用8421BCD码表示为0111 1000 1001,其真值是

A.789D B.789H C.1887D D.11110001001B 2. 若某数x的真值为-0.1010,在计算机中该数表示为1.0110,则该数所用的编码方法

是 码

A.原 B.补 C.反 D.移

3. 一个8位二进制整数,采用补码表示,且由3个“1”和5个“0”组成,则其最小

值是

A.-127 B.-32 C.-125 D.-3 4. 下列数中最小的数为

A.101001B B.52Q C.29D D.233H

三、简答题

1. 说明定点运算器的主要组成 2. 说明双符号位法检测溢出的方法 四、计算与分析题

1. 将十进制数(24/512)表示成浮点规格化数,要求阶码4位(含符号),移码表示;

尾数6位(含符号),用补码表示 2. 写出十进制数 -5的IEEE754编码

3. 教材P69-5.1:已知x和y,用变形补码计算x+y,同时指出结果是否溢出

1) X=0.11011,y=0.00011

4. 教材P70-7.1:试用原码阵列乘法器、补码阵列乘法器、直接补码并行乘法计算x

×y

1) X=0.11011,y=-0.11111

5. 教材P70-8.1:用原码阵列除法器计算x÷y

1) X=0.11000,y=-0.11111

6. 教材P70-9.1:设阶码3位,尾数6位,按浮点运算方法,完成以下取值的[x+y]、

[x-y]运算

1) X=2-011× 0.100101,y=2-010 ×(-0.011110)

一、填空题

1. 符号位S,阶码E,尾数M,阶码E,真值e,偏移值

2. 零操作数检查,对阶,尾数求和,结果规格化,舍入处理,溢出处理 3. 小,大,小,右,右

4. 降低进位信号的传播时间,低有效位的进位信号可以直接向最高位传递 5. 单总线结构,双总线结构,三总线结构

6. 阶码运算器,尾数运算器,定点,阶码运算器,加法和减法,尾数运算器,加、减、

乘、除 7. 加6

8. 01101010 二、选择题

1. A 2. B 3. C 4. C

三、简答题

1. ALU,寄存器,多路选择器,移位器,数据通路等

2. 在数据运算前将符号位照样再写一次,构成双符号位。运算后,如果双符号位状态

=00,表示结果为正,无溢出;=11,表示结果为负,无溢出;=01,表示结果为负,有溢出;=10,表示结果为正,有溢出。

四、计算与分析题

1. (24/512)D=(16+8)×2-9 = 11000B ×2-9 =0.11000 ×2-4

阶码用补码表示为 1100,用移码即0100;整个数据表示即: 0 0100 11000 2. -5D = -101B

在IEEE754规范中规格化表示应该为1.01×22,e=127+2=129

则IEEE754规范编码为:1 1000 0001 0100 0000 0000 0000 0000 000 3. 由题:

1) [x]补=0.11011,[y]补=0.00011,[x+y]补=[x]补+[y]补 =00.11110 00. 11011 + 00. 00011 00. 11110

用双符号位法检查,结果没有溢出,所以x+y=0.11110 4. 由题:[x]补 = 0.11011, [y]补 = 1.00001

1)

(0). 1 1 0 1 1 ×) (1). 0 0 0 0 1

(0) 1 1 0 1 1 (0) 0 0 0 0 0 (0) 0 0 0 0 0 (0) 0 0 0 0 0 (0) 0 0 0 0 0

+ 0 (1)(1)(0)(1)(1) 1. 0 0 1 0 1 1 1 0 1 1 所以, [x×y]补=1.0010111011 2) 原码阵列乘法运算

由题意,输入数据:[x]原 = 0.11011 [y]原 = 1.11111 所以,|x|=0.11011,|y|=0.11111

0. 1 1 0 1 1 ×) 0. 1 1 1 1 1

1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1

+ 1 1 0 1 1 0. 1 1 0 1 0 0 0 1 0 1 又因为:符号位Xs?Ys = 0?1 = 1

所以, [x×y]原=1.1101000101 注意:求补器不作用

3) 带求补器的补码阵列乘法运算

由题意,输入数据:[x]补 = 0.11011 [y]补 = 1.00001 算前求补器输出:|x|=0.11011,|y|=0.11111 0. 1 1 0 1 1 ×) 0. 1 1 1 1 1

1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1

+ 1 1 0 1 1 0. 1 1 0 1 0 0 0 1 0 1 又因为:符号位Xs?Ys = 0?1 = 1 所以, [x×y]原=1.1101000101

算后求补器输出: [x×y]补=1.0010111011 5. x=0.11000, y=-0.11111, 按题目要求,有: [x]原=0.11000,[y]原=1.11111,实际运算的是|x|/|y|, 再加符号位。所以: [|x|]原=0.1100000000, [|y|]原=0.11111,[-|y|]补=1.00001 被除数x 0.1 1 0 0 0 0 0 0 0 0

减y 1.0 0 0 0 1 余数为负 1.1 1 0 0 1 <0 q0=0 余数左移 1.1 0 0 1 0 0 0 0 0

加y 0.1 1 1 1 1

余数为正 0.1 0 0 0 1 >0 q1=1 余数左移 1.0 0 0 1 0 0 0 0

减y 1.0 0 0 0 1 余数为正 0.0 0 0 1 1 >0 q2=1 余数左移 0.0 0 1 1 0 0 0

减y 1.0 0 0 0 1

余数为负 1.0 0 1 1 1 <0 q3=0 余数左移 0.0 1 1 1 0 0

加y 0.1 1 1 1 1 余数为负 1.0 1 1 0 1 <0 q4=0 余数左移 0.1 1 0 1 0

加y 0.1 1 1 1 1 余数为负 1.1 1 0 0 1 <0 q5=0 加y 0.1 1 1 1 1 0.1 1 0 0 0 >0 故得

商 q=q0.q1q2q3q4q5=0.11000

余数 r=(0.0000r5r6r7r8r9r10)=0.0000011000 加入符号位Xs?Ys = 0?1 = 1

所以: [q]原=1.q1q2q3q4q5=1.11000 q=-0.11000

余数 r=(0.0000r5r6r7r8r9r10)=0.0000011000

6. 由题:

上述表述中,都省略了相关符号位,也没有明确阶与尾数采用的码制。为简单起见,现假设:

阶用补码表示,二位符号位,阶码3位; 尾数用补码表示,一位符号位,数值占6

位。 根据上述假设,则有:

[x]浮 = 11101, 0.100101 [y]浮 = 11110, 1.100010

按照浮点加减运算步骤,运算过程如下: 零操作数检查: x 和 y 都不是零操作数 求阶差并对阶:

ΔE = Ex –Ey =[Ex]补 + [-Ey]补 = 11101 + 00010 = 11111

即ΔE = -1,x的阶码小,应使 Mx 右移1位,Ex加1,则: [x]浮 = 11110, 0.010010(1) 尾数加减:

x+y 的尾数和 [Mx+y]补 = [Mx]补 + [My]补 0 0. 0 1 0 0 1 0 (1) + 1 1. 1 0 0 0 1 0 1 1. 1 1 0 1 0 0 (1)

运算中为简单起见,采用双符号位判断溢出法来进行,结果

[Mx+y]补 = 1.110100(1)

x-y 的尾数差[Mx-y]补 = [Mx]补 + [-My]补 0 0. 0 1 0 0 1 0 (1) + 0 0. 0 1 1 1 1 0 0 0. 1 1 0 0 0 0 (1) 运算中为简单起见,采用双符号位判断溢出法来进行,结果

[Mx-y]补 = 0.110000(1)

规格化处理:

x+y: [Mx+y]补 = 1.110100(1),出现尾数运算结果的符号位与最高数值位为同值,则应执行左规处理,即数据数值位部分左移,直到符号位与最高数值位为不同值,结果为

[Mx+y]补 = 1.010010(0)

向左移动2次,所以阶码要减2,则 [Ex+y]补 = 11100

x-y: [Mx-y]补 = 0.110000(1),出现尾数运算结果的符号位与最高数值位为不同值,该尾数为规格化尾数。所以阶码不变,则 [Ex-y]补 = 11110

舍入处理:

采取0舍1入方法处理

对于x+y有:因为[Mx+y]补 = 1.010010(0),所以直接舍弃小数点第7位的0,则 [Mx+y]补 = 1.010010,

对于x-y有:因为[Mx-y]补 = 0.110000(1), 0. 1 1 0 0 0 0 + 1 0. 1 1 0 0 0 1

即[Mx-y]补 = 0.110001

溢出判断:

对于x+y,阶码符号位为 11,不溢出 对于x-y,阶码符号位为 11,不溢出

根据前述过程,可得最终结果为:

[x+y]浮 = 11100, 1.010010 即x+y =2-100 ? (-0.101110) [x-y]浮 = 11110, 0.110001 即x-y =2-010 ? 0.110001

本文来源:https://www.bwwdw.com/article/t6ut.html

Top