计算机组成原理 第三章

复习内容

a) 掌握补码的加、减法运算方法及溢出检测方法;

b) 掌握原码与补码的乘法;(详细的计算过程)

c) 知道浮点加减法运算的一般性步骤(5 个步骤:对阶/尾数运算/规格化/舍入/溢出

判断)

3.1基本算数运算的实现

  • 逻辑移位(无符号数的移位)
    • 逻辑移位——数值增大一倍——数乘以2
    • 右移一位——数值缩小一倍——数除以2
  • 移动规则

  • 算数移位(带符号数的移位)
    • 符号不变
    • 左移一位——数值增大一倍——数乘以2
    • 右移一位——数值缩小一倍——数除以2
  • 移位规则
    • 负数左移
      • X=-0.X1X2…XK100…000
      • [X]原=1.X1X2…XK100…000
      • [X]补 =1.X1X2…XK100…000
    • 负数右移
      • X=-0. 00…000X1X2…XK1
      • [X]原=1. 00…000X1X2…XK1
      • [X]补 =1.11…111X1X2…XK1
  • 补码算术右移:低位移出,高位补符号位

3.2定点加减法运算

3.2.1补码加减法运算方法

补码加法

  • 补码加法
    • [X+Y]补=[X]补+[Y]补

补码加法运算规则:

  • (1)参加运算的两个操作数均用补码表示
  • (2)符号位作为数的一部分参加运算
  • (3)两数直接相加,符号位产色的进位自然丢掉
  • (4)运算结果用补码表示

例题:

补码减法

  • 补码减法
    • [X-Y]补=[X+(-Y)]补=[X]补+[-Y]补
    • 已知[Y]补求[-Y]补的方法是: [-Y]补=[[Y]补]变补
    • 变补:将[Y]补连同符号位一起取反,末位加“1”
  • 补码减法运算规则
    • (1)参加运算的两个操作数均用补码表示
    • (2)符号位作为数的一部分参加运算
    • (3)将被减数与减数的机器负数相加,符号位产生的进位自然丢掉
    • (4)运算结果用补码表示

例题:

3.2.2溢出及检测

  • B是二进制,D是十进制

  • 正溢出:两个正数相加的结果 > 机器所能表示的最大正数((2n-1)/(1-2-n))
  • 负溢出:两个负数相加的结果 < 机器所能表示的最小负数(-2n/-1)
  • 出现溢出后,机器将无法正确表示,因此必须正确判别溢出并及时加以处理

  • 溢出检测方法
    • 设:被操作数为:[X]补=Xs,X1X2…Xn
    • 操作数为:[Y]补=Ys,Y1Y2…Yn
    • 其和(差)为:[S]补=Ss,S1S2…Sn

  • 采用进位位
    • 两数运算时,产生的进位为Cs,C1,C2...Cn
      • Cs:符号位产生的进位
      • C1:为最高数值位产生的进位

  • 采用变形补码(双符号位补码)
    • 被操作数为:[X]补=Xs1Xs2,X1X2…Xn
    • 操作数为:[Y]补 Ys1Ys,Y1Y2…Yn
    • 其和(差)为:[S]补= Ss1 Ss2,S1S2…Sn

例题:

3.2.3加减法的逻辑实现

3.3定点乘法运算

3.3.1原码一位乘法

  • 原码一位乘法的规则为:
    • (1)参加运算的操作数取其绝对值
    • (2)令乘数的最低位为判断位,若为“1”,加被乘数,若为“0”,加0
    • (3)累加后的部分积右移一位
    • (4)重复n次②和③
    • (5)符号位单独处理,同号为正,异号为负

练习:

-0.1001×0.1101

3.2.2补码一位乘法

  • Booth乘法
  • 被乘数[X]补=Xs.X1X2…Xn
  • 乘数[Y]补=Ys.Y1Y2…Yn Yn+1(=0)
  • 每次运算取决于乘数相邻两位Yi、Yi+1的值
  • 乘数相邻两位的比较结果(Yi+1-Yi)来确定运算操作

  • 运算规则
    • 参加运算的数用补码表示
    • 符号位参加运算(被乘数与部分积取双符号位)
    • 乘数最低位后面增加一位附加位Yn+1,其初值为0
    • 由于每求一次部分积要右移一位,所以乘数的最低两位Yn、Yn+1的值决定了每次应执行的操作
    • 移位按补码右移规则进行(右移空出的有效最高位补符号位,双符号位时补第1符号位)
    • 共需做n+1次累加,n次移位,第n+1次不移位

习题

[2009]一个C语言程序在一台32位机器上运行,程序中定义了3个变量x、y、z,其中x和z是int型,y为short型。当x=127,y=-9时,执行赋值语句z=x+y后,x、y、z的值分别是__C__

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

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

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

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

[2010]假定有4个整数用8位补码分别表示r1=FEH,r2=F2H,r3=90H,r4=F8H,若将运算结果存放在一个8位的寄存器中,则下列运算会发生溢出的是__B__

A.r1×r2 B.r2×r3 C.r1×r4 D.r2×r4

[2013]某字长为8位的计算机中,已知整型变量x、y的机器数分别为[x]补=11110100,[y]补=10110000。若整型变量z=2*x+y/2,则z的机器数为___A___

A.11000000 B.00100100 C.10101010 D.溢出

[2018]假定带符号整数采用补码表示,若int型变量x和y的机器数分别是FFFF FFDFH和0000 0041H,则x、y的值以及x-y的机器数分别是___C___

A.x=-65,y=41,x-y的机器数溢出 

B.x=-33,y=65,x-y的机器数为FFFF FF9DH

C.x=-33,y=65,x-y的机器数为FFFF FF9EH

D.x=-65,y=41,x-y的机器数为FFFF FF96H

[2018]整数x的机器数为1101 1000,分别对x进行逻辑右移1位和算术右移1位操作,得到的机器数各是__A__    

A. 1110 1100、1110 1100   B. 0110 1100、1110 1100

C. 1110 1100、0110 1100   D. 0110 1100、0110 1100

[2019]浮点数加减运算过程一般包括对阶、尾数运算、规格化、舍入和判断溢出等步骤。设浮点数的阶码和尾数均采用补码表示,且位数分别为5位和7位(均含2位符号位)。若有两个数X=27×29/32,Y=25×5/8,则用浮点加法计算X+Y的最终结果是___A___

A.001111100010 B.001110100010

C.010000010001 D.发生溢出

[2015]下列有关浮点数加减运算的叙述中,正确的是__B__

I.对阶操作不会引起阶码上溢或下溢

II.右规和尾数舍入都可能引起阶码上溢

III.左规时可能引起阶码下溢

IV.尾数溢出时结果不一定溢出

A.仅II、III B.仅I、II、IV

C.仅I、III、IV D.I、II、III、IV

本章作业

1. 对于二进制数,若小数点左移一位,则数值 (),若小数点右移一位,则数值(C)

A. 扩大一倍,扩大一倍

B. 扩大一倍,缩小一半

C. 缩小一半,扩大一倍

D. 缩小一半,缩小一半

2. X 、 Y 为定点二进制数,其格式为 1 位符号位, n 位数值位。若采用 Booth 补码一位乘法实现乘法运算,则最多需要做(C)次加法运算

A. n-1

B. n

C. n+1

D. n+2

3. 下列说法中 是错误的(A)

A. 符号相同的两个数相减会产生溢出

B. 符号不同的两个数相加是不会产生溢出的

C. 逻辑运算是没有进位或借位的运算

D. 浮点加减运算需进行对阶操作

4. 负溢指的是(B)

A. 运算结果的绝对值小于机器所能表示的最小绝对值

B. 运算的结果小于机器所能表示的最小负数

C. 运算的结果小于机器所能表示的最小正数

D. 运算结果的最低有效位产生错误

5. 在串行进位的并行加法器中,影响加法器运算速度的关键因素是(C)

A. 门电路的级延迟

B. 元器件速度

C. 进位传递延迟

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

6. 并行加法器中每一位的进位产生函数Gi为(A)

A. Ai•Bi

B. Ai⊕Bi

C. Ai⊕Bi⊕Ci

D. Ai+Bi+Ci

7. 补码加减法是指(C)

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

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

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

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

8. 两个补码数相加,采用1位符号位,当(D)时,表示结果溢出

A. 符号位有进位

B. 符号位进位和最高数位进位异或结果为0

C. 符号位为1

D. 符号位进位和最高数位进位异或结果为1

9. 在双符号位判断溢出的方案中,出现正溢时,双符号位应当为(B)

A. 00

B. 01

C. 10

D. 11

10. 当定点运算发生溢出时,应进行(C)

A. 向左规格化

B. 向右规格化

C. 发出出错信息

D. 舍入处理

11. 8位补码10010011等值扩展为16位后,其机器数为(A)

A. 1111 1111 1001 0011

B. 0000 0000 1001 0011

C. 1000 0000 1001 0011

D. 1111 1111 0110 1101

12. 设机器数字长8位(含2位符号位), 若机器数DAH为补码, 则算术左移一位后是_______,算术右移一位后是_______(A)

A. B4H,EDH

B. F4H,6DH

C. B5H,EDH

D. B4H,6DH

13. 如果X为负数,则已知[X]补求[-X]补(D)

A. [X]补各值保持不变

B. [X]补符号位变反,其他各位不变

C. [X]补除符号位外,各位变反,末位加1

D. [X]补连同符号位一起各位变反,末位加1

14. 原码乘法时,符号位单独处理,乘积的符号是(C)

A. 两个操作数符号相“与”

B. 两个操作数符号相“或”

C. 两个操作数符号相“异或”

D. 两个操作数中绝对值较大数的符号

15. 在补码表示的机器数中,若寄存器A中原存的数为9EH,现存的数为CFH,则表明执行的一条指令是(C)

A. 算术左移

B. 逻辑左移

C. 算术右移

D. 逻辑右移

16. 两个浮点数相加,一个数的阶码值为7,另一个数的阶码值为9,则需要将阶码值较小的浮点数的小数点(C)

A. 左移1位

B. 右移1位

C. 左移2位

D. 右移2位

17. 在浮点加减中对阶是(A)

A. 将较小的一个阶码调整到与较大的一个阶码相同

B. 将较大的一个阶码调整到与较小的一个阶码相同

C. 将被加数的阶码调整到与加数阶码相同

D. 将加数的阶码调整到与被加数阶码相同

18. 在定点二进制运算中,减法运算一般通过(D)来实现的

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

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

C. 原码运算的二进制加法器

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

19. 运算器由许多部件组成,核心部件是(A)

A. 算术逻辑运算单元

B. 多路开关

C. 数据总线

D. 累加寄存器

20. 判断加减法溢出时,可采用三种判断方式,如果符号位进位为C0,最高数值位的进位是C1,产生溢出的条件是(D)

Ⅰ. C0产生进位

Ⅱ. C1产生进位

Ⅲ. C0、C1都产生进位

Ⅳ. C0、C1都不产生进位

Ⅴ. C0产生进位, C1不产生进位

Ⅵ. C0不产生进位, C1产生进位

A.Ⅰ和Ⅱ

B.Ⅲ

C.Ⅳ

D.Ⅴ和 Ⅵ

21. 已知x=-0.01111,y=+0.11001,求[x]补=_1.10001_,[-x]补=_0.01111_,[y]补=_0.11001_,[-y]补=_1.00111_,x+y=_+0.01010_,x-y=_溢出_.

22. 向左规格化的规则为尾数_左移1位_,阶码_减1_

23. (计算题, 8.6分)

已知 x 和 y,用变形补码计算 x-y,同时指出结果是否溢出。

(1)x=11011, y=-11111

(2)x=10111, y=11011

(3)x=11011, y=-10011

解:[x-y]补=[x]补+[-y]补

(1) x=11011,y=-11111

[-y]补=0011111

[x-y]补=0011011+0011111=01,11010;

正溢出

(2) x=10111,y=11011

[-y]补=1100101

[x-y]补=00,10111+11,00101=11,11100;

没有溢出,x-y=-00100

(3) x=11011,y=-10011

[-y]补=0010011

[x-y]补=00,11011+00,10011=01,01110;

正溢出

24. (计算题, 8.6分)

已知 x 和 y,用变形补码计算 x+y,同时指出结果是否溢出。

(1)x=11011,y=00011

(2)x=11011,y=-10101

(3)x=-10110,y=-00001

解:[x+y]补=[x]补+[y]补

(1)x=11011,y=00011

[x+y]补=0011011+0000011=0011110;没有溢出,x+y=11110

(2)x=11011,y=-10101

[x+y]补=0011011+1101011=0000110; 没有溢出,x+y=00110

(3)x=-10110,y=-00001

[x+y]补=1101010+1111111=1101001;没有溢出,x+y=-10111

25. 用原码一位乘法完成X×Y;其中X=0.1101,Y= -0.1011

[X]=1.1101,[Y]=1.1011,

|X|=0.1101,|Y|=0.1011

|X×Y|=0.01100011,Xs⊕Ys=0

[X×Y]=0.10001111

X×Y=0.10001111

26. 设X=+11/16,Y=+3/16,用变形补码计算X+Y,X-Y

X=0.1011,Y=0.0011,[X]补=0.1011,[Y]补=0.0011

[X+Y]补=[X]补+[Y]补=00.1011+00.0011=00.1110

X+Y=0.1110

[-Y]补=1.1101

[X-Y]补=[X]补+[-Y]补=00.1011+11.1101=00.1000

X-Y=0.1000

27. 设X=0.10010,Y=-0.10101,用补码一位乘法求X*Y

[X]补=0.10010,[Y]补=1.01011,[-X]补=1.01110

部分积 乘数

00.00000 1.010110 Yn+1=0

+ 11.01110 YnYn+1=10,+[-X]补

11.01110


→11.10111 0.101011 右移一位

+ 00.00000 YnYn+1=11,+0


11.10111

→11.11011 1 010101 右移一位

+ 00.10010 YnYn+1=01,+[X]补


00.01101

→00.00110 1 101010 右移一位

+ 11.01110 YnYn+1=10,+[-X]补


00.01100

→00.00110 0 011010 右移一位

+ 11.01110 YnYn+1=10,+[-X]补


11.10100

[X*Y]补=11.10100 00110

X*Y=-0.01011 11010

28. 按照浮点数四则运算的方法,将以下x和y写成浮点数,并求x-y,其中

x=(-5/8)*2-5,y=(7/8)*2-4。(除阶符、数符外,阶码取3位,尾数取6位)

解:首先将十进制数转换成二进制数:x=(-0.101000)*2-101, y=(0.111000)*2-100

浮点数格式表示:[X]补=11,011;11.01100 [Y]补=11,100;00.111000(注意不是IEEE754格式,是一般格式)

①对阶:[Δj]补=11,011+00,100=11,111

阶差为-1,因此X的阶码+1,尾数右移一位

[X]补’=11,100;11.10110

②尾数求差

[Mx]补-[My]补=[Mx]补+[-My]补=11.101100+11.001000=110.110100

③规格化处理

因为两个符号为10,所以需右规1位:[x-y]补=11,101;11.011010(此时是整体右移,包括符号位,注意不要与补码右移的规则弄混了)

④舍入处理。右规低位丢 0,不需要处理。

⑤溢出判断。最后阶符为 11,没有溢出

∴[x-y]=-0.100110*2-011=(-19/32)*2-3

  • 13
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
东南亚位于我国倡导推进的“一带一路”海陆交汇地带,作为当今全球发展最为迅速的地区之一,近年来区域内生产总值实现了显著且稳定的增长。根据东盟主要经济体公布的最新数据,印度尼西亚2023年国内生产总值(GDP)增长5.05%;越南2023年经济增长5.05%;马来西亚2023年经济增速为3.7%;泰国2023年经济增长1.9%;新加坡2023年经济增长1.1%;柬埔寨2023年经济增速预计为5.6%。 东盟国家在“一带一路”沿线国家中的总体GDP经济规模、贸易总额与国外直接投资均为最大,因此有着举足轻重的地位和作用。当前,东盟与中国已互相成为双方最大的交易伙伴。中国-东盟贸易总额已从2013年的443亿元增长至 2023年合计超逾6.4万亿元,占中国外贸总值的15.4%。在过去20余年中,东盟国家不断在全球多变的格局里面临挑战并寻求机遇。2023东盟国家主要经济体受到国内消费、国外投资、货币政策、旅游业复苏、和大宗商品出口价企稳等方面的提振,经济显现出稳步增长态势和强韧性的潜能。 本调研报告旨在深度挖掘东南亚市场的增长潜力与发展机会,分析东南亚市场竞争态势、销售模式、客户偏好、整体市场营商环境,为国内企业出海开展业务提供客观参考意见。 本文核心内容: 市场空间:全球行业市场空间、东南亚市场发展空间。 竞争态势:全球份额,东南亚市场企业份额。 销售模式:东南亚市场销售模式、本地代理商 客户情况:东南亚本地客户及偏好分析 营商环境:东南亚营商环境分析 本文纳入的企业包括国外及印尼本土企业,以及相关上下游企业等,部分名单 QYResearch是全球知名的大型咨询公司,行业涵盖各高科技行业产业链细分市场,横跨如半导体产业链(半导体设备及零部件、半导体材料、集成电路、制造、封测、分立器件、传感器、光电器件)、光伏产业链(设备、硅料/硅片、电池片、组件、辅料支架、逆变器、电站终端)、新能源汽车产业链(动力电池及材料、电驱电控、汽车半导体/电子、整车、充电桩)、通信产业链(通信系统设备、终端设备、电子元器件、射频前端、光模块、4G/5G/6G、宽带、IoT、数字经济、AI)、先进材料产业链(金属材料、高分子材料、陶瓷材料、纳米材料等)、机械制造产业链(数控机床、工程机械、电气机械、3C自动化、工业机器人、激光、工控、无人机)、食品药品、医疗器械、农业等。邮箱:market@qyresearch.com

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值