数值的机器运算
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章数值的机器运算
3.1 基本内容摘要
1、定点数的加、减法运算和加、减法电路的实现
◆定点数的加减运算
补码的加法公式、补码的减法公式;
◆补码的溢出判断和检测方法
溢出的产生、符号比较法、双进位法、双符号位法;
◆从半加器到算术逻辑部件ALU
半加器、全加器、并行加法器、加减法部件ASU、BCD码(十进制)加法器、算术逻辑部件ALU;
2、定点数的乘、除法运算和乘、除法电路的实现
◆定点数的乘法运算和乘法电路的实现
原码一位乘法、原码一位乘法运算器、补码原码一位乘法、补码原码一位乘法运算器;
◆定点数的除法运算和除法电路的实现
原码除法、原码加减交替法除法运算器、补码除法;
3、逻辑运算
◆“与”、“或”和“非”运算
逻辑与、逻辑或、逻辑非
◆“异或”运算
4、定点运算器的基本结构与工作原理
◆移位电路
◆定点运算器的主要组成
5、浮点数运算和浮点数运算器的实现
◆二进制数的浮点表示法
◆二进制数的浮点运算
浮点数的加减法运算、浮点数的乘除法运算
◆浮点运算器的基本结构
浮点加减运算器硬件结构及其工作原理
3. 2 知识点
一、逻辑运算
逻辑与:又称为“逻辑乘”,其逻辑表达式为:
F=A×B=A·B=A∧B
逻辑或:又称“逻辑加”,其逻辑表达式为:
F=A+B=A∨B
逻辑非:又称为“逻辑反”,其逻辑表达式为:
B = A
异或:又称为“按位加”,其逻辑表达式:
F=A⊕B=A∨
二、定点数的加、减法运算和加、减法电路的实现
1、补码加减法
补码加法公式:[X+Y]补=[X]补+[Y]补
补码减法公式:[X-Y]补=[X]补-[Y]补=[X]补+[-Y]补
当X、Y、X+Y均在一定字长补码所表示的数值范围内,公式成立;
补码运算加减运算中,符号位可一起参加运算,不考虑符号位和数值位的区别;
在补码减法运算中,有:[-y]补=-[y]补,[-y]补=[ [y]补]求补
求补运算指对[y]补包括符号位“求反且最末位加1”
2、溢出及其检测方法
定点数的运算中出现溢出,其运算结果不能表示正确结果,但可以通过一定方法修正。
加减运算中溢出的判别方法有:
(1)符号比较法
溢出判断逻辑表达式:
V = X s Y s (X+Y)s+X s Y s (X+Y)s+X s Y s(X-Y)s+X s Y s(X-Y)s
(2)双进位法
溢出判断逻辑表达式:
V = C in⊕C out
当C out C in=0 1,结果正溢;当C out C in=1 0 结果负溢
(3)双符号位法
溢出判断逻辑表达式:
V = S S1⊕S S2
当S s1S s2=01 结果正溢(或上溢);当S s1S s2=10 结果负溢(或下溢);
在补码运算中,最高位(符号位)产生进位并不表示溢出,该进位虽然丢弃,但运算
结果仍然正确。
3、定点加减运算器的结构
(1)半加器:只是对两个输入数据位进行加法的电路,输出一个结果位和一个向高位的进位,不考虑低位的进位。半加器采用一个异或门和一个与门实现。
(2)全加器:两个输入数据位和低位进位输入进行加法运算,输出一个结果位和一个向高位的进位。全加器采用2个异或门、2个与门和1个或门实现。
(3)串行进位的并行加法器(行波进位加法器)
n个全加器串接构成一个n位并行加法器,即将各位向高位的进位串联起来,低位的进位输出作为高一位加法器的进位输入,最低位的进位输入端置0。
(4)先行进位的并行加法器
◆先行进位的并行加法器的进位信号
将全加器的进位表达式C i = X i Y i+(X i⊕Y i)C i-1中
X i Y i定义为“进位生成函数”G i,(Xi⊕Yi)定义为“进位传送函数”Pi ,
n级并行加法器中各级的进位信号表达式为:
C1=G1+P1C0
C2= G2+P2G1+P2P1C0
┊┊
C n = G n+P n G n-1+P n P n-1G n-2+……+ P n P n-1……P2G1 + P n P n-1……P2P1C0
◆先行进位电路CLA 和先行进位CLA加法器
(5)加减法部件ASU(行波进位的补码加/减法器)
(6)算术逻辑部件ALU
1位ALU电路原理
4位ALU逻辑部件74181功能及其应用
(7)BCD码(十进制)加法器
BCD码加法原理:被加数的4位二进制数和加数的4位二进制数相加时 >1001则对应4位数要加0110进行修正;
BCD码减法原理:减数的4位二进制数减去被减数的4位二进制数时有借位,则对应4位数要减110进行修正;
BCD码加法器:加法器和修正电路组成
三、定点数的乘、除法运算和乘、除法电路的实现
1、原码一位乘法
◆原码乘法的算法:
乘积[Z]
原=[X]
原
×[Y]
原
=(X
S
⊕Y
S
)+(O.X
1
X
2
﹍﹍ X
n-1
X
n
)×(O.Y
1
Y
2
﹍﹍ Y
n-1
Y
n
)
◆原码一位乘法的计算机实现
步骤:
①取被乘数X和乘数Y的绝对值
|X|= 0. X1X2···X n-1X n , |Y|= 0. Y1Y2···Y n-1Y n
N位部分积的初值为全“0”;
②以乘数Y的最低位Y n作为判断位,若Y n = 1,原部分积之和+被乘数得新部分积之和;
Yn = 0,原部分积就是新部分积之和;