(单选题, 2分)同一个加法器既可以进行无符号数的加法运算,也可以进行补码的有符号数加法运算。下列说法正确的是( )。
A. 无符号数和有符号数的加法运算均通过进位标志判断是否溢出
B. 无符号数和有符号数的加法运算均通过溢出标志判断是否溢出
C. 无符号数的加法运算通过进位标志判断是否溢出,有符号数的加法运算通过溢出标志判断是否溢出
D. 无符号数的加法运算通过溢出标志判断是否溢出,有符号数的加法运算通过进位标志判断是否溢出
答案: C
- (单选题, 2分)设[X]补= 11101000,其算术右移后的结果为( )。
A. 01110100
B. 11110100
C. 10110100
D. 11010001
答案: B - (单选题, 2分)在补码一位乘(Booth算法)规则中,每次右移采用的是( )。
A. 逻辑右移
B. 不带进位的循环右移
C. 带进位的循环右移
D. 算术右移
答案: D - (单选题, 2分)原码加减交替除法中,商“1”的条件是()。
A. 余数和除数同号
B. 余数和除数异号
C. 余数为负数
D. 余数为非负数
答案: D - (单选题, 2分)【2009统考题】浮点数加减运算过程一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤。设浮点数的阶码和尾数均采用补码表示,且位数分别为5位和7位(均含2位符号位),阶码在高位部分、尾数在低位部分。若有两个数X=2[7]×29/32,Y=2[5]×5/8,(注:方括号[ ]中的数字是上标)。那么用浮点加法计算X+Y的最终结果是( )。
A. 001111100010
B. 001110100010
C. 010000010001
D. 发生溢出
答案: D - (单选题, 2分)下列有关浮点数加减运算的叙述中,正确的是( )。
Ⅰ. 对阶操作不会引起阶码上溢或下溢
Ⅱ. 右规时可能引起阶码上溢
Ⅲ. 左规时可能引起阶码下溢
Ⅳ. 尾数溢出时结果不一定溢出
A. 仅Ⅱ、Ⅲ
B. 仅Ⅰ、Ⅱ、Ⅳ
C. 仅Ⅱ、Ⅲ、Ⅳ
D. Ⅰ、Ⅱ、Ⅲ、Ⅳ
答案:D
7. (单选题, 2分)
假定变量i,f,d数据类型分别为int,float和double (int用补码表示,float和double分别用IEEE754单精度和双精度浮点数据格式表示),已知i=785, f=1.5678e3, d=1.5e100。若在32位机器中执行下列关系表达式,则结果为真的是( )。
(I) i==(int)(float)i
(II) f==(float)(int)f
(III) f==(float)(double)f
(IV) (d+f)-d==f
A. 仅I和II
B. 仅I和III
C. 仅II和III
D. 仅III和IV
答案: B
8. (单选题, 2分)运算器由许多部件组成,决定运算器性能的核心部件是( )。
A. 算术逻辑单元ALU
B. 寄存器组
C. 数据总线
D. 移位寄存器
答案: A
9. (单选题, 2分)单总线结构的CPU中( )。
A. ALU的两个输入端都可以与总线相连
B. 如果ALU的一个输入端与总线相连,其输出端也可以与总线相连
C. 如果ALU只有一个输入端与总线相连,其输出端需要通过暂存器与总线相连
D. 以上都不对
答案: C
- PSW中包含4个标志位:SF、ZF、OF和CF,其中S代表的英文单词是____(全部小写,下同),Z代表的英文单词是____,O代表的英文单词是____,C代表的英文单词是____。当运算结果非负,SF=___;当运算结果为零,ZF= ___;当补码加法运算溢出,OF= ____ ;当无符号数加法运算产生进位,CF=____;当无符号数减法运算产生借位,CF=____。
答案:
(1) sign
(2) zero
(3) overflow
(4) carry
(5) 0
(6) 1
(7) 1
(8) 1
(9) 0 - 无符号整数和带符号整数加、减运算可以用同一个加法器及辅助电路实现,如图,图中∑是二进制加法器,实现的加法运算为F=A+B+C0。
当M=0时,F=__(dst+src/dst-src),进行__(加法/减法)运算;当M=1时,F=__(dst+src/dst-src),进行__(加法/减法)运算。
答案:
(1) dst+src
(2) 加法
(3) dst-src
(4) 减法
- 下图是一种多功能运算电路。
若要进行数据传送(即F=dst),应使M3M2M1M0=__;完成加法运算,应使M3M2M1M0=__;减法运算应使M3M2M1M0=__;减1运算应使M3M2M1M0=__。(均填写4位二进制数,不带后缀)
答案:
(1) 0000
(2) 0001
(3) 0110
(4) 0011
- 假定在一个8位字长的计算机中运行如下类C程序段:
unsigned int x=134;
unsigned int y=246;
int m=x;
int n=y;
unsigned int z1=x-y;
unsigned int z2=x+y;
int k1=m-n;
int k2=m+n;
若编译器编译时将8个8位寄存器R1~R8分别分配给变量x、y、m、n、z1、z2、k1和k2,请回答下列问题(带符号整数用补码表示):
(1)执行上述程序段后,寄存器R1、R5和R6的内容分别是___H、__H和__H。(用十六进制表示)
(2)执行上述程序段后,变量m和k1的值分别是__和__。(用十进制表示)
(3)以上程序段中,无符号整数加法运算语句z2=x+y的执行结果__(发生/未发生)溢出。
(4)以上程序段中,带符号整数运算语句的执行结果发生溢出的变量是__。
答案:
(1) 86
(2) 90
(3) 7C
(4) -122
(5) -112
(6) 发生
(7) k2 - 如图是利用加法器和移位操作进行原码乘法运算的硬件原理图,假设字长为4位,进行4位运算需要做4次加法和4次移位。
设被乘数X=0.1110,乘数Y= -0.1101,请回答下列问题。
(1)运算开始时A、B、C三个寄存器的值分别是:A=__,B=__,C=__。(均以二进制形式,不带后缀)
(2)部件D是逻辑__门;当b0=0时,部件D的输出是__。
(3)运算过程中进位位CF__(要/不要)参与移位。
(4)运算结束时A、B寄存器的值分别是:A=__,B=__。(均以二进制形式,不带后缀)
答案:
(1) 0000
(2) 1101
(3) 1110
(4) 与
(5) 0
(6) 要
(7) 1011
(8) 0110
- (填空题, 16分)一个8 位字长的运算器电路如图。该运算器通用寄存器组GRS有8个寄存器R0~R7,图中ALU的功能有ADD、ADDC、SUB、SUBB、AND、OR、XOR七种,SHIFTER为输出多路器,可选择直送(SVce),左移一位(SLce),右移一位(SRce),其他部件的微操作控制信号已在图上标注。
现要求将寄存器R0的值减去寄存器R1的值,结果送给寄存器R4,即(R0)-(R1)–>R4。试将下表每一步骤的控制信号电平补充完整,电平信号以二进制数表示,且所有控制信号均为“1”有效。
答案:
(1) 1
(2) 0
(3) 0010000
(4) 001
(5) 001
(6) 1
(7) 1
(8) 1
- (填空题, 2分)已知IEEE-754单精度浮点数格式的两个数,X=3F000000H,Y=BEE00000H。按照浮点数的运算规则求和的结果为__H。(填写十六进制数,其中字母大写)
答案:3D800000