Upload
selima
View
65
Download
0
Embed Size (px)
DESCRIPTION
运算器与运算方法. My Email: [email protected] or [email protected]. 本讲内容. 加减法运算及其实现 乘法运算及其实现(重点) 除法运算 浮点数运算 十进制数运算. 加减法运算及其实现 乘法运算及其实现(重点) 除法运算 浮点数运算 十进制数运算. 若. 则. 1.1 加减法运算机器实现. 原则(以定点整数为例说明). [ X] 补 与[- X] 补. S i. C i+1. . C i. A i. B i. 1.1 加减法运算机器实现. 加法单元(全加器). 1.1 加减法运算机器实现. - PowerPoint PPT Presentation
Citation preview
运算器与运算方法
My Email : [email protected] or [email protected]
本讲内容
加减法运算及其实现乘法运算及其实现(重点)除法运算浮点数运算十进制数运算
加减法运算及其实现乘法运算及其实现(重点)除法运算浮点数运算十进制数运算
1.1 加减法运算机器实现
原则(以定点整数为例说明)
[ ] [ ] [ ]A B A B 补 补 补
[ ] [ ] [ ]A B A B 补 补 补
[ X ]补与[- X ]补
[ ] , ...X x x x xo n补 1 2 1若
1...,][ 1210 nxxxxX 补则
1.1 加减法运算机器实现
加法单元(全加器)
Ai Bi
CiCi+1
Si
)(1 iiiiii
iiiiiiiiiiiii
BACBAC
CBACBACBACBAS
1.1 加减法运算机器实现并行加法器--串行进位
)(
)(
)(
)(
333334
222223
111112
000001
BACBAC
BACBAC
BACBAC
BACBAC
FA
A 0 B0
C 1FA
A 1 B1
C 2FA
A 2 B2
C 3FA
A 3 B3
C 4 C 0
S3 S2 S1 S0
串行进位的特点:
1. 进位串行传递
2. 进位延时较长
1.1 加减法运算机器实现并行加法器--并行进位(或先行进位)
0321032103213233334
02102102122223
0101011112
0001
i ,G
CPPPPPPPGPPGPGGPCGC
CPPPPPGPGGPCGC
CPPPGGPCGC
CPGC
BAPBA iiiii
令
并行进位的特点同时产生进位
加法延时缩短
实现相对复杂
1.1 加减法运算机器实现并行进位链
+ + + +
G 3 P 3 G 2 P 2 G 1 P 1 G 0 P 0
C 0
C4 C3 C2 C1
1.1 加减法运算机器实现并行进位加法器
+ + + +
G 3 P 3 G 2 P 2 G 1 P 1 G 0 P 0
C 0
C4
C3 C2 C1
+ +++
S3 S2 S1 S 0
A 3 B3
+
A 2 B2
+
A 1 B1
+
A 0 B0
+
1.1 加减法运算机器实现分组并行进位加法器(组内并行,组间传递)
4位并行加法器
A 0
B0
A 3
B3
C 4 C 0
S3 S2 S1 S0
4位并行加法器
A 4
B4
A 7
B7
C 8
S7 S6 S5 S4
4位并行加法器
A 8
B8
A 11
B11
C 12
S11 S8
4位并行加法器
A 12
B12
A 15
B15
C 16
S15 S12
1.1 加减法运算机器实现分组并行进位加法器(组内并行,组间并行)
4位并行加法器
A 0
B0
A 3
B3
C 4
C 0
S3 S2 S1 S0
4位并行加法器
A 4
B4
A 7
B7
C 8
S7 S6 S5 S4
4位并行加法器
A 8
B8
A 11
B11
C 12
S11 S8
4位并行加法器
A 12
B12
A 15
B15
C 16
S15 S12
组间并行进位链
加减法运算及其实现乘法运算及其实现(重点)除法运算浮点数运算十进制数运算
2.1 无符号数乘法及其实现
笔算分析1101 × 1011
机器算法改进通过多次加法实现乘法每次加法均在上一次加法的结果 ( 部分积 ) 的基础上进行每完成一次加法,结果右移一位
举例
2.1 无符号数乘法及其实现算法推导(以定点整数为例)
M M M M
Q Q Q Q
Q Q Q
n n
n n
nn
nn
1 2 0
1 2 0
11
22
002 2 2
......
......
M Q M Q Q Q
Q M Q M Q M Q M
Q M Q M Q M Q M Q M
nn
nn
nn
nn
nn
nn
nn
nn
nn n n
*( )
......
...... ( )).
11
22
00
1 2 3 0
1 2 3 1 0
2 2 2
1
22
1
42
1
82
1
22
1
22
1
22
1
22
1
22
1
22
.. )
2.1 无符号数乘法及其实现
变成分步算式:
M Q M Q Q Q
Q M Q M Q M Q M
Q M Q M Q M Q M Q M
nn
nn
nn
nn
nn
nn
nn
nn
nn n n
*( )
......
...... ( )).
11
22
00
1 2 3 0
1 2 3 1 0
2 2 2
1
22
1
42
1
82
1
22
1
22
1
22
1
22
1
22
1
22
.. )
P
P P Q M
P P Q M
P P Q M
P P Q M
n
n
i i in
n n nn
0
1 0 0
2 1 1
1 1
1 1
0
1
22
1
22
1
22
1
22
2.1 无符号数乘法及其实现逻辑实现逻辑部件加法器 Adder被乘数寄存器 M乘数寄存器 Q (乘积低位部分)累加器 A (部分积,乘积高位部分)控制逻辑
数据通路Adder MAdder AA Adder
A Shr A, Q Shr Q, Qn-1 A0
2.1 无符号数乘法及其实现逻辑实现结构图
n-Bit Adder
Mn-1 M0
An-1 A0 Qn-1 Q0c
shift & add
Control logic
Multiplicand
Multiplier
Add
Shift right
2.2 补码乘法及其实现补码乘法规则乘积的补码=被乘数的补码 × 乘数的真值
[ ] [ ] [ ]P M Q M Q补 补 补
问题与约束参加运算的操作数本身是补码形式机器中不能直接表示真值必须寻求一种直接利用操作数补码进行运算来实现补码
乘法的算法结果要求直接是补码形式
2.2 补码乘法及其实现(一位比较法,又称一位 Booth法)补码表示与真值的关系
[ ] , ...X x x x xo n补 1 2 1
X x xni
i
nn i
0
1
1
112 2
02312
0321
00
32
221
1
021
02
1
4
1
2
12
2
1
8
1
4
1
2
12
2222
][
QQQQQ
QQQQ
QQQQQ
QQQQ
nnnnnn
nnnnn
nn
nnn
n
nn
补
比较法算法推导(以定点整数为例)
2.2 补码乘法及其实现(一位比较法,又称一位 Booth法)
则令 0 1 Q
[ ] [ ]
[ ]
[ ] [ ] [ ]
P M Q
M Q
Q Q M Q Q M Q Mn nn
n nn n
补 补
补
补 补 补
1
22
1
22
1
2
1
20 22 1 3 2 0
P
P P Q Q M
P P Q Q M
P P Q Q M
P P Q Q M
n
n
i i i in
n n n nn
0
1 0 1 0
2 1 0 1
1 2 1
1 2 1
0
1
22
1
22
1
22
1
22
[ ]
[ ]
[ ]
[ ]
补
补
补
补
变成分步算式:
2.2 补码乘法及其实现(一位比较法,又称一位 Booth法)算法规则比较乘数相邻的两位: Qi 和 Qi-1
Qi Qi-1=00 或 11 ,上一次部分积直接右移一位形成新的部分积Qi Qi-1=01 ,上一次部分积加上被乘数补码后右移
一位形成新的部分积Qi Qi-1=10 ,上一次部分积减去被乘数补码后右移
一位形成新的部分积重复 n 次。对于 n 位数的一位比较法,需要执行 n 次加法运
算和 n 次移位运算。举例
2.2 补码乘法及其实现(一位比较法,又称一位 Booth法)流程图 START
A←0,Q-1←0M← MultiplicandQ← MultiplierCount ← n
A←A - M A←A + M
Arithmetic ShiftRight:A,Q,Q-1
Count←Count-1
Q0,Q-1
Count=0 ENDNo Yes
=10 =01
=11=00
2.2 补码乘法及其实现(一位比较法,又称一位 Booth法)
逻辑实现采用两位符号位(为什么?)加法器 ADDER ( n+1 位)累加器 A ( n+1 位),保存部分积,最后保
存乘积高位部分被乘数寄存器 M乘数寄存器 Q ,最后保存结果低位部分计数器 Counter ,对运算次数计算触发器,控制逻辑等
2.2 补码乘法及其实现(一位比较法,又称一位 Booth法)
数据通路及微操作控制信号P0 : Shr A, Shr Q, Qn-1 A0
P1 : ADD A
P2 : ADD M
P3 : ADD NOT M
P4 : Counter Counter - 1
P5 : A ADD
2.2 补码乘法及其实现(一位比较法,又称一位 Booth法)实现结构图
n+1Bit Add
Mn-1 M0
An-1 A0 Qn-1 Q0An
Multiplicand
Multiplier
Shift right
Q-1
CinControlSignalGen.
DEC
Counter
Tx
P1
P2
P3
P4
P0
P2
P4
P3
P1
P5
P5
2.2 补码乘法及其实现(二位比较法)二位比较法 在一位比较法的基础上,对算法进行改进,每次比较乘数相邻的 3
位,根据不同的组合,对部分积进行不同的加减运算,然后对结果右移 2 位,形成新的部分积。
算法推导如下:
n
n
MQQPP
MQQPP
P
2][2
1
2][2
1
0
1012
0101
0
补
补
1位比较法
n
n
MQQQP
MQQPP
P
2][24
1
2][2
1
0
1010
1011
0
补
补
2位比较法
2.2 补码乘法及其实现(二位比较法)算法规则比较乘数相邻的 3 位: Qi+1 、 Qi 和 Qi-1
Qi+1 Qi Qi-1=000 或 111 , A 1/4 A
Qi+1 Qi Qi-1=010 或 100 , A 1/4 (A + M)
Qi+1 Qi Qi-1=011 或 101 , A 1/4 (A - M)
Qi+1 Qi Qi-1=110 , A 1/4 (A + 2M)
Qi+1 Qi Qi-1=001 , A 1/4 (A - 2M)重复 n/2 次 (n 为偶数)或( n+1)/2 次( n 为奇数 ) 。n 为奇数时 , 最后一次采用 1 位比较法算法 .采用 3 位符号位 (Why?)
2.3 阵列乘法器基本思路利用若干全加器,完全由硬件直接计算乘法结果 以 4 位无符号数为例
01234567
03132333
02122232
01112131
00102030
0123
0123
PPPPPPPP
CCCC
CCCC
CCCC
CCCC
BBBB
AAAA
jiij BAC 其中
2.3 阵列乘法器实现电路
FA
FA FA
FA FA
FA FA FA
FA FA FA
FA
C00C10C20C30
C01C11C21C31
C02C12C22C32
C03C13C23C33
P0P1P2P3P4P5P6P7
FA
x
y
s
Cin
Cout
2.3 阵列乘法器
总结:对于 n位的阵列乘法,需全加器 n(n-1)个最长路径 2(n-1)个全加器延时最后的串性进位可采用先行进位加法器
加减法运算及其实现乘法运算及其实现(重点)除法运算浮点数运算十进制数运算
数的机器编码及其表示字符的表示指令系统指令系统举例指令系统的设计