第三章 计算机中的算术运算
第1讲:算术逻辑单元ALU
第2讲:定点加减运算
第3讲:定点乘除运算
第4讲:运算器组织、浮点运算、本章复习
3.1 算术逻辑单元ALU
ALU是运算器的核心组成部分,以逻辑运算为基础。
ALU的核心部件是加法器。
3.1.1 加法器及其进位结构
门电路的几种表示方法
一、半加器
图3-1 半加器框图及真值表
图3-2 半加器逻辑电路图
Ci+1
Si
图3-3 全加器框图及真值表
二、全加器
Si=Ai⊕Bi⊕Ci
Ci+1=AiBi+AiCi+BiCi
=AiBi+(Ai+Bi)Ci
=AiBi+(Ai⊕Bi)Ci
图3-4 全加器逻辑电路图
3ty
4ty
1ty
1.5ty
1.5ty
Full adder constructed from 2 Half Adders !
三、串行加法器
图3-5 串行加法器框图
四、并行加法器
① 进位公式分析
Ci+1=AiBi+(Ai⊕Bi)Ci
=AiBi+(Ai+Bi)Ci
定义两个辅助函数
Gi=AiBi
Pi=Ai⊕Bi
Gi (Carry Generate Function)
Pi(Carry Propagate Function)
Ci+1=Gi+PiCi
② 串行进位加法器(Ripple Carry Adder)
图3-6 四位串行进位加法器框图
C1=G0+P0C0
C2=G1+P1C1
C3=G2+P2C2
┇
Cn=Gn-1+Pn-1Cn-1
最长进位延迟时间为[4+2.5(n-1)]ty,
形成最后和的时间是[4+2.5(n-2)+1.5]ty,
与n成正比。
③ 先行进位加法器
提高加法器运算速度的关键是消除行波进位中进位逐位串行传播,让各位进位独立同时形成。
C1=G0+P0C0
C2=G1+P1C1= G1+P1(G0+P0C0)
C3=G2+P2C2
= G2+P2(G1+P1(G0+P0C0))
C4=G3+P3C3
=G3+P3(G2+P2
(G1+P1(G0+P0C0)))
展开并整理得到
C1=G0+P0C0
C2=G1+P1G0+P1P0C0
C3=G2+P2G1+P2P1G0+P2P1P0C0
C4=G3+P3G2+P3P2G1+P3P2P1G0
+P3P2P1P0C0 (图3-8)
先行进位CLA(Carry Look Ahead)加法器(图3-9)。
3-8
3-9
④ 组间行波进位加法器
图3-11 组间行波进位形成过程
3-10
⑤ 两级先行进位加法器
Gi*为第i组先行进位加法器的进位产
生函数,
Pi*为第i组先行进位加法器的进位传
递函数
Gi*=G4i+3+P4i+3G4i+2+ P4i+3P4i+2G4i+1
+P4i+3P4i+2P4i+1G4i
Pi*=P4i+3P4i+2P4i+1P4i ,i=0,1,2,3
小组间产生四个进位
C4=G0*+P0*C0
C8=G1*+P1*G0*+P1*P0*C0
C12=G2*+P2*G1*+P2*P1*G0*+
P2*P1*P0*C0
C16=G3*+P3*G2*+P3*P2*G1* +
P3*P2*P1*G0*+P3*P2*P1*P0*C0
3-12
3-13
⑥其它的并行加法器
图3-16 32位进位选择加法器
1
0
五、一位8421码十进制加法器
1、十进制数的8421码加法运算规则
(1) 和≤1001时,不必修正
(2) 和≥1010时,需要修正
2、8421码十进制加法器的组成
十进制数
未修正的和
C4’ S3’S2’S1’S0’
8421码
C4 S3S2S1S0
修正法
0
1
2
3
4
5
6
7
8
9
0 0 0 0
0 0 0 1
0