版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章计算机中的算术运算
第1讲:算术逻辑单元ALU(>1)
定点加减运算
第2讲:定点乘除运算
运算器组织、浮点运算、本章复习
1
-1-
3.1算术逻辑单元ALU
ALU是运算器的核心组成部分,以逻辑运算为基础.
ALU的核心部件是加法器.
3.1.1加法器及其进位结构
2
-2-
门电路的几种表示方法
与或与非或非异或异或非非
(AND)(OR)(NAND)(NOR)(EXOR)(EXNOR)(NOR)
输
ABXY=AdBY=A+BY=ABY=A+BY=A®BY=AeBY=A
000011011
010110101
100110100
111100010
A___DA1\Y
-NlY
廿■好打
B-
以A.A__A_kY2AY
部一上〜+X一,■->-►
标呼
BB
国
外AAAAA
A
流心
」B
注:表中的国标符号引用ANSIIEEEStd.91—1984:国外流行符号引用补充ANSIIEEEStd.91a—1991
3
-3-
一、半加器
图3・1半加器框图及真值表
4
-4-
G+i=AiBi
㊉
E=45.+AiBi=44
Si
AiBj
图3・2半加器逻辑电路
5
-5-
二、全加器
si
ci+1
AiBi
3-3全加器框图及真
值表
6
-6-
Sj=Aj®BjeCj
Cj+1=AjBj+AjCj+BjCj
=AiBi+(Aj+Bi)Ci
=AjBj+(AjeBj)Cj
.5ty
3-4全加器逻辑电路
7
-7-
Fulladderconstructedfrom2HalfAdders!
8
-8-
三、串行加法器
图3・5串行加法器框图
-9-
四、并行加法器
①进位公式分析
Ci+l=AjBi+(Ai®Bi)Ci
=AjBi+(Ai+Bi)Ci
定义两个辅助函数
Gj=AjBj
Pi=Aj©Bi
Gi(CarryGenerateFunction)
Pj(CarryPropagateFunction)
10
-10-
Ci+1=Gi+PjCj
②串行进位加法器(RippleCarryAdder)
S3S2S1SO
A3B3A2B2A1B1A0BO
图3・6见位串行进位加法器框图
11
-11
C1=G0+P0C0
C2=G1+P1C1
C3=G2+P2C2
I
I
I
Cn=Gn-1+Pn-1Cn-1
最长进位延迟时间为[4+2.5(n-1)]ty,
形成最后和的时间是[4+2.5(n-2)+1.5]ty,
与n成正比.
12
-12-
③先行进位加法器
提高加法器运算速度的关键是消除行波进位中进位逐
位串行传播,让各位进位独立同时形成.
13
_13_
C1=G0+P0C0
C2=G1+P1C1=G1+P1(G0+P0C0)
C3=G2+P2c2
=G2+P2(G1+P1(GO+POCO))
C4=G3+P3C3
=G3+P3(G2+P2
(G1+P1(G0+P0C0)))
14
-14-
展开并整理得到
C1=G0+P0C0
C2=G1+P1G0+P1P0C0
C3=G2+P2G1+P2P1G0+P2P1POCO
C4=G3+P3G2+P3P2G1+P3P2PlGO
+P3P2P1P0C0(图3・8)
先行进位CLA(CarryLookAhead)力口法器(图3・9).
15
-15-
Pi
=1
AiBj
图I位并行进位线路
-16-
④组间行波进位加法器
图3・11组间行波进位形成过程
-18-
S14S12S10SsS6s4S2So
Si15S13SuS907S5S3S1
iffiit"j[
wiMrwLiranra行ti
CLACLACLA
1l
/nU\Jium\*
AI5A14Al3A12Al1AloA9AsA7A6A5A4A3A2A1A0
B15B14B13B12B11B10B9B8B7B6B5B4B3B2B1B0
16位组间行波进位加法器
19
-19-
⑤两嘤行进位加法器
Gi为第i组先行进位加法器的进位
产生函抑,
Pi为第i组先行进位加法器的进位传
递函*数
Gi=G4i+3+P4i+3G4i+2+P4i+3P4i+2G4i+1
*+P4i+3P4i+2P4i+lG4i
Pj=P4i+3P4i+2P4i+1P4i,i=0,1,2,3
20
-20-
小组间产住四个进位
C4=G0+P0*CO***
C8=G1+P1GO+P1POCO*
C12=G2*+P?GJ+P2P1GO+
P2rP11*POwCOw***
C16=G3+P3G2+P3P2G1+
P3P2P1GO+P3P2P1POCO
21
-21-
图雷组间先行进位BCLA(Block
CarryLookAhead)部碎
22
-22-
一ZJ一
Cl6组间先行进位部件BCLA
C4
C8
Si
So
四位四位gl位Co
CLAJAA
加盘器
加法器c8
Al5A14Al3A12A11A10AQASA7AeAsA4A3A2AiAo
BI5B14B13B12B11BioB9BeB7BeB5B4B3B2BiBo
两级先行进位加法器
24
24
25
-25-
⑥其它的并行加法器
3-1632位进位选择加法器
26
-26-
五、一位8421码十进制加法器
3十进制数的8421码加法运算规则
⑴和01001时,不必修正
27
-27-
例x=3,y=4,求x+y=?
解:十进制数运算
3
8421码
+40011
7十)0100
0111(+7)
止确结果
28
-28-
(2)和21010时,需要修正
例x=8,y=5,求x+y=?
解:十进制数运算
8421码
8
1000
+5
+)0101
131101
错误结果
29
-29-
例x=9,y=8,求x+y=?
解:十进制数运算
98421码
1001
+8
+)1000
17
10001
错误结果
30
-30-
1101
10001
+)0110
+)0110
10011(13)
——10111(17)
止碉
正确
2、8421码十进制加法器的组成
31
-31-
表348421码加法器修正关系
32
-32-
需要修正的项为:C4,+S3,S2,+S3,S1=1;
33
一33-
A34津2AiBjHoBoC。
IIf11(3—UI
图3778421码十进制加法器
34
-34-
3.1.2多功能算术逻辑单元ALU
一、多功能算术逻辑单元74181
Fi=Ai©BieCi=Pi㊉Ci
35
-35-
74181的逻辑结构框图
36
-36-
Xi=S3AiBi
表3・2XiYi与AiBi的关系
XiS1SOYi
00100
01Ai+Bi01AiBi
10Ai+Bi10A旧i
11Ai110
-37-
对于任一Xi、Yi都满足
Xi+Yi=Xi
XiYi=Yi
■/Gi=XiYi
Pj=Xi©Yi=Xi+Yi
则Yi=Gi
Xi=Pi
Ci+1=Gi+PiCi=Yi+XiCi
38
-38-
则C1=YO+XOCO
C2=Y1+X1C1=Y1+X1Y0+X1X0C0
C3=Y2+X2C2=Y2+X2Y1+X2X1YO
+X2X1X0C0
39
-39-
-40-
二、先行进位发生器74182
图中G0~G3即〜3
*女
■P3
41
-41
Cn+x=G0(PO+Cn)
****
Cn+y=Gl(P1+G0(PO+Cn))
******
Un+Z=G2(P2+G1(P1+GO(PO+Cn)))
********
G(G)=G3(P3+G2)(P3+P2+G1)
****
(P3+P2+P1+GO)
******
P(P)=P3+P2+P1+PO
42
-42-
P3G3P2G2P1G1PoGoCn
o74182逻辑图
43
-43-
图,116位先行进位加法器框图
44
-44-
多功能算逻单元总结
•SN74181是4位先行进位ALU芯片,中规模集成电路.
•SN74182是4位BCLA(组间先行进位)芯片.
•多芯片级联构成先行进位ALU
-4个SN74181芯片串行构成一个16位单级先行进位ALU
-4个SN74181芯片与1个SN74182芯片可构成16位两级先行进位ALU
-16个SN74181芯片与5个SN74182芯片可构成64位先行进位ALU
•现代主流计算机中ALU并非通过芯片级联而成
-一个CPU芯片中有多个处理器核
-一个核中有多个32位/64位ALU!
45
-45-
3.2定点运算
3.2.1定点加减运算
一、补码加减法所依据的关系式
1、加法[x]补+囚]补=僮+丫]补
⑴x>0,y>0,贝!|x+y>0
[x]#+[y]#=x+y=[x+y]#
46
-46-
(2)x>0,y<0
[x]#=x,[y]#=2+y
则[x]补+[y]补=2+(x+y)
(i)|x|>|y|
O0x+y<1(正数)
[x]补+[y]补=2+(x+y)
=x+y=[x+y]1bO.xx...x
47
-47-
(ii)N<|y|
-1Sx+y<0(负数)
冈补+[y]补=2+(x+y-[x+y]补
(3)x<0,y>0与(2)类似
(4)x<0,y<0x+y<0
区补=2+x,[y]补=2+y,
贝lj[x]|b+[y]1b=2+x+2+y=2+(2+x+y)
48
-48-
・・・x+y<0,而且其绝对值又小于1.
则1S2+x+y<2
[XX
2+(2+x+y)=2+(x+y)
---[x]#+[y]#=2+(x+y)=[x+y]1b
2、减法[xy]补=[x+(・y)]补
=[x]补+[・y]补
49
-49-
(1)0Sy<1(正数)
[y]补=[y]原=0.yiy2・・・yn
[■y]原=i・yiy2…yn
[■y]补=1・yiy2...yn+2
50
-50-
因[y]#=2+y
1.11...1
贝。=»]补2—1.y1y2...yn
=(21.y1y2...yjn)
=(1.11...1+21.yly2...yn)
=(0.y1y2…yn+2)
n
y=0.yly2…yn+2
・・,(y)为正数
/.[y]补=0・yly2…yn+2
51
-51-
例1y=0.0110
[y]|b=1.1010
[y]补=0.0110
例2y=0.0111
[y]补=0.0111
[y]1b=1.1001
52
-52-
二、运算规则
①参加运算的操作数用补码表示.
②符号位参加运算.
③对于两数相加减的各种情况,计算
机都执行求和操作.当操作码为加运算时
,两数直接相加;当操作码为减运算时,
将减数连同符号位一起求反加1与被减数相加.
④运算结果以补码表示.
53
-53-
例1已知:x=0.1001,y=0.0110,
求:x+y=?
解:[x]补=0.1001[y]补=1.1010
[x]补0.1001
+M补1.1010
[x+y]补10.0011
x+y=O.OO11
54
-54-
例2已知:x=0.1001
y=0.0101,求:x+y=?
解:3]补=1.0111[y]|b=1.1011
冈补1.0111
+M补1.1011
[x+y]补11.0010
x+y=0.1110
55
-55-
例3已知:x=0.1001,y=0.0110,
求:xy=?
解:[x]补=0.1001[y]|b=0.0110
[y]补=1.1010
[x]补0.1001
+[y]补1.1010
[x・y]补10.0011
xy=0.0011
56
-56-
例4已知:x=0.1001
y=0.0110,求次y=?
解:凶补=1.0111[y]|b=1.1010
[y]补=0.0110
[x]补1.0111
+[y]补0.0110
[x・y]补1.1101
xy=0.0011
57
-57-
三、实现补码加减运算的逻辑电路
实现补码加减运算的逻辑电路图
58
-58-
S3s2S1s。
图3・22四位串行进位补码加减法器
59
-59-
四、溢出检测
1、溢出的概念
加法器和寄存器由多少个二进制
位组成通常称为定点运算器的字长.
计算机执行算术运算所产生的结
果超出机器数所能表示的数据范兑
,称为溢出.
60
-60-
例如x=0,110,y=0,011,
则冈补0,110
+[y]补0,011
[x+y]补1,001(溢出)
x*y=
正溢
负溢
61
-61-
(a)0,110(+6)(b)1,110(2)
+)1,011(5)+)1,101(3)
AC113
IVrVZ■\■II
无溢出
(c)0,110(+6)(d)1,100(4)
+)0,011(+3)+)1,011(5)
1,001、10,111
溢出溢出
62
-62-
2、溢出检测方法
(1)采用一个符号位
A=an-1an-2......aO
B=bn-1bn-2......bO
S=sn-1sn-2……so
OVR=an-1bn-1sn-1+an-1bn-1sn-1
63
-63-
an-1
Sn-1
R
bn-1
图3・24溢出检测电路
64
-64-
(2)用cn-1和cn判断
0VR=cn-1ecn
(3)采用双符号位(模4补码或变形补码)
模4补码的定义为
冈补=
x0^x<2
冈补+[y]补=□+y]补一
4+x2<x<0
65
-65-
两数相加后结果符号为:
00或11没有溢出;
01正溢;
10负溢.
OVR=sf1esf2
66
-66-
例1已知x=0・010,y=0,011,求x+y=?
解[x]补=00.010[y]补=00.011
凶补00.010
+)[y]补00.011
00.101
无溢出x+y=0.101
67
-67-
例2已知x=0.010,y=0.011,求x+y=?
解冈补=11.110[y]补=11.101
[x]补11.110
+)[y]补11.101
11.011
无溢出x+y=0.101
68
-68-
例3已知x=0.110,y=0,011,求x+y=?
解M|b=00.110[y]补=00.011
[x]补00.110
+)[y]补00.011
01,001
正溢出
69
-69-
例4已知x=0.100,y=0.101,求x+y=?
解冈补=11.100[y]补=11.011
冈补11.100
+)[y]补11.011
10.111
负溢出
70
-70-
关于溢出标志位
•除Zero(ZF)、Overflow(OF)外,许多机器还生成进/借
位标志(CF)、符号标志(NF/SF)等.
•标志(Flag)在运算电路中产生,被记录到专门的寄存
器中,以便在分支指令中被用来作为条件.
•存放标志的寄存器通常称为程序/状态字寄存器或标
志寄存器.每个标志对应标志寄存器中的一个标志位.
无符号教:CF表示进住、
溢出(不考虑OF)
有符号教:OF表示溢出
(不考虑CF)
71
-71-
3.3.2定点乘法运算
通过多次相加和移位来实现乘除运算.
一、移位操作
1、移位操作的种类
逻辑移位
循环移位
算术移位
72
-72-
2、逻辑移位(图3・25)
左移低位补0,右移高位补0
如10110101
01101010
01011010
3、循环移位(图3・25)
10011001
00110011
11001100
73
-73-
4、算术移位
算术移位则数的符号不变而数量
发生变化.左移一位将使数值扩大一
倍(乘以2)(在不产生溢出的情况下),
右移一位则使数值缩小一倍(乘以1/2)
(如果不考虑舍入的情况).
(1)正数
移位后的空位均补0(符号不变)
74
-74-
例0.0110
0.1100
0.G011
例:某变重初值:01111111(=127)
左移1位后为:
11111110(=・126/254,溢出,错误)
75
-75-
(2)负数
①负数的原码移位后的空位补0
②负数的补码左移后的空位补0,右移
后的空位补1.
③负数的反码移位后的空位补1
76
-76-
二、原码一位乘法
设冈原=xs,x1x2・・・xn
[y]B=ys.yiy2...yn
贝U[x]原・[y]原
=[xs®ys].(0.x!x2--.xn)(O.y1y2-..yn)
78
-78-
1、运算方法
例x=0.1101y=0.1011
0.1101
x)0.1011
1101
1101
uuuu
1101
0.10001111
乘数寄存器
79
-79-
x-y=x-(0,1011)
=0,1-x+O.OO-x+0.001-x+0.0001・x
=0.1{x+0.1[Ox+0.1(x+0.1x)]}
■1-1
=2{x+2-[Ox+2"(x+2"(x+0))]}
P1
P2
P3
P480
-80-
对于一般情况
设x=0.xi平・・・xn,y=y.y1y2・・・,n
贝l]xy=2/y1x+2(y2x+2(...
+2(yn-1x+2(ynx+O))...)))
81
-81-
其递推公式为:
P0=01
P1=21(ynx+PO)
P2=2(yn-1x+Pl)
p^■=21
1(yn-i+1x+Pi-1)
I
;1
Pn=2(ylx+Pn-1)
[xy]=(xs®ys)Pn
82
-82-
举例:x=0.1101y=0.1011,
[x・y]原=(xseys)Pn=0.10001111
x-y=0.10001111
83
-83-
部分积(A)乘数(C)
000001011
+)01101
―011011011
—>00110ihoi
+)01101
ikoi
10011
—01001iiho
+)00000
0100111H0
—00100nih
+)01101
10001111H
1111]
f0100084
-84-
2、原理框图
86
-86-
三、补码一位乘法
1、补码与真值之间的关系
设[x]|b=xs-x1x2...xn
贝ljx="xs+0.x1x2...xn
(证明略)
87
-87-
2、补码乘法算法的推导
设被乘数[X]补=xs.x1X2.・.xn,
乘数M补=ys・yiy2…yn
则[X・y]补=[x]补・y
(证明略)
88
-88-
3、补码乘法比较法一布斯(Booth)乘法
(1)运算规则
12n
区叨补=冈补[ys+y12+y22+...+yn2]
=冈补[ys+(y1y12)+(y22
2(n-1)
y22)+...+(yn2
=冈补[(y14*y2yi)2
(n1)
+(ynyn-1)2—+(0yn)2
89
-89-
+
+
2
2
0一
(
o【
x
+
】"
【*
x
x
】M
】
*
y
*
M
3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2030年孕妇专用药搬迁改造项目可行性研究报告
- 宿舍楼房屋课课程设计
- 2024-2030年全球及中国门塞警报器行业营销策略及竞争对手分析报告
- 2024-2030年全球及中国花园绿篱机行业现状动态及发展前景预测报告
- 2024-2030年全球及中国素肉行业营销策略及销售前景预测报告
- 2024-2030年全球及中国电缆润滑剂行业销售策略及盈利前景预测报告
- 2024-2030年全球及中国烘焙人造黄油行业销售模式及营销策略分析报告
- 2024-2030年全球及中国氮化镓型功率元件行业供需前景与竞争格局预测报告
- 2024-2030年全球及中国普鲁卡因青霉素行业竞争态势及投资前景预测报告
- 2024-2030年全球及中国废料装载机行业发展动态及需求前景预测报告
- 建筑工程管理与实务二级建造师考试试卷及解答参考
- 中国非遗文化鱼灯介绍2
- 电路(2)知到智慧树章节测试课后答案2024年秋山东大学
- 四川省成都市2023-2024学年六年级上学期语文期末试卷(含答案)2
- 行政事业单位内部控制规范专题讲座
- 唐山房地产市场月报2024年08月
- 2024年变压器安装合同
- 端午节粽子购销合同
- 污水站托管运营合同范本
- 校园文明值周总结
- 2024年“农业经理人”职业技能大赛考试题库500题(含答案)
评论
0/150
提交评论