多功能算术/逻辑运算单元(ALU)

Download Report

Transcript 多功能算术/逻辑运算单元(ALU)

第二章 运算方法与运算器
 数据与文字的表示方法
 定点加法、减法运算
 定点乘法运算
 定点除法运算
 定点运算器的组成
 浮点运算方法和浮点运算器
2.2 定点加法减法运算
2.2.1 补码加法
补码加法的公式是:
[x]补+ [y]补= [x+y]补
[例9]
x=+0.1011,y=-0.0101,求x+y
2.2.2 补码减法
数用补码表示时,减法运算的公式为:
[x-y]补=[x]补-[y]补=[x]补+[-y]补
[例11]
x=+0.1101,y=+0.0110,求x-y。
2.2.3 溢出概念与检测方法
[例12]
x=+0.1011,y=+0.1001,求x+y。
[例13]
x=-0.1101,y=-0.1011,求x+y。
在定点小数机器中,数的表示范围为|x| <1。
溢出:|运算结果| > 1
上溢:正数+正数>最大正数
下溢:负数+负数<最小负数
为了判断“溢出”是否发生,可采用两种检测的
方法:
双符号位法
单符号位法
1. 双符号位法
“变形补码”或“模4补码”,从而可使模2
补码所能表示的数的范围扩大一倍。
变形补码定义为:
[ x] 补=
x
4+x
[x]补=4+x
2>x≥0
0>x≥-2
(mod 4)
[x]补+[y]补=[x+y]补
(mod 4)
[例14]
x=+0.1100,y=+0.1000,求x+y。
[例15]
x=-0.1100,y=-0.1000,求x+y。
由此可以得出如下结论:
 溢出逻辑表达式为
V=Sf1⊕Sf2
Sf1为最高符号位;Sf2为第二符号位
V=1(Sf1=Sf2),溢出;
V=0(Sf1=Sf2),无溢出
此逻辑表达式可用异或门实现。
 模4补码相加的结果,不论溢出与否,最
高符号位始终指示正确的符号。
2. 单符号位法
溢出逻辑表达式为
V=Cf⊕Co
Cf为符号位产生的进位;Co为最高有效位产生的进位
V=1(Cf ≠ Co ),溢出;
V=0(Cf = Co ),无溢出
Cf =1,Co =0,上溢
Cf =0,Co =1,下溢
此逻辑表达式也可用异或门实现。
2.2.4 基本的二进制加法/减法器
三个输入端和两个输入端可
按如下逻辑方程进行联系:
Si=Ai⊕Bi⊕Ci
Ci+1=AiBi+BiCi+CiAi
2.2.5 十进制加法器
BCD码(二—十进制码)
二进制加法器
“校正”逻辑
C’i+1
当Xi+Yi≤9时,结果正确;
当Xi+Yi>9时,结果不正确,有进位;
当Xi+Yi+Ci <10时, Si=S'i;
当Xi+Yi+Ci≥10时,Si=S'i+6
又因C'i+1=1或S'i ≥10时,Ci+1=1,所以
当Ci+1=1时,Si=S'i+6;
当Ci+1=0时,Si=S'i
2.3 定点乘法运算
2.3.1 原码乘法
1. 人工算法与机器算法的同异性
设n位被乘数和乘数用定点小数表示(定点整数也同样适用)
被乘数
[x]原=xf .xn-1…x1x0
乘数
[y]原=yf .yn-1…y1y0
乘积
[z]原=(xf⊕yf)+(0.xn-1…x1x0)(0.yn-1…y1y0)
2. 不带符号的阵列乘法器
设有两个不带符号的二进制整数:
A=am-1…a1a0 B=bn-1…b1b0
它们的数值分别为a和b,即
n 1
m 1
a   ai 2
i 0
i
b  bj 2
j
j 0
在二进制乘法中,被乘数A与乘数B相乘,产生m
+n位乘积P: P=pm+n-1…p1p0
乘积P 的数值为

 m 1 i  n 1
j
P  ab    ai 2   b j 2 
 i 0
 j 0

m 1 n 1
  ai b j 2
i j

i 0 j 0
m  n 1
k
p
2
 k
k 0
在m×n位不带符号的阵列乘法器中,m×n个
被加数{aibj|0≤i≤m-1和0≤j≤n-1}可以
用m×n个“与”门并行地产生。
3. 带符号的阵列乘法器
对2求补器电路图
对2求补器电路图
带求补级的阵列乘法器
2.3.2 补码乘法
1. 补码与真值得转换公式
补码数[N]补(=anan-1…a1a0)和真值N的
关系可以表示成:
n 1
N  an 2   ai 2
n
i
(2.29)
i 0
n 1

n
i
 N  (1  an )2   (1  ai )2   1 (2.30)
 i 0

[例19]
2. 一般化的全加器形式
P.43 表2.3 四类一般化全加器的名称和逻辑符号
对0类、3类全加器而言有:
S=XYZ+XYZ+XYZ+XYZ
C=XY+YZ+ZX
对1类、2类全加器,则有
S=XYZ+XYZ+XYZ+XYZ
C=XY+XZ+YZ
3. 直接补码阵列乘法器
1
利用混
合型的全加
1
器就可以构
1
成直接补码
数阵列乘法
器。
2
1
1
1
在n位×n位的一般情况下,该乘法器需要
n(n-1)个全加器:
 0类全加器, (n-2)2个
 1类全加器, (n-2)个
 2类全加器, (2n-3)个
 3类全加器, 1个