当前位置:文档之家› 第3章数值的机器运算

第3章数值的机器运算

第3章数值的机器运算
第3章数值的机器运算

第 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 ∨B

二、定点数的加、减法运算和加、减法电路的实现

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 +P1C 0

C2 = G 2+P2G1+P2P1C 0

┊┊

C n = G n+P n G n-1+P n P n-1G n-2++ P n P n-1P2G1 + P n P n-1P2P1C 0

◆先行进位电路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⊕Y)+(O.X X ﹍﹍ X X)× (O.Y Y ﹍﹍ Y Y )SS 1 2n-1 n 1 2n-1 n

◆ 原码一位乘法的计算机实现

步骤:

①取被乘数X 和乘数 Y 的绝对值

| X | = 0. X 1X 2·X n-1X n ,|Y|= 0. Y1Y2·Y n-1Y n

N 位部分积的初值为全“0”;

②以乘数 Y 的最低位 Y n作为判断位,若Y n = 1 ,原部分积之和+被乘数得新部分积之和;

Yn = 0 ,原部分积就是新部分积之和;

③新部分积之和同乘数|Y |一起右移一位;

④依次检查Yn-1 、 Yn-2··Y1 ,重复上二步操作,最终得乘积Z = X×Y的绝对值;

符号位Zs = Xs + Ys 和乘积 Z 结合得 ZsZ1Z2··Z2n-1Z2n 为 [X ×Y] 原

◆ 原码一位乘法运算器结构

2、补码一位乘法

◆ 补码一位乘法的表达式为:

[Z] 补 = [X × Y] 补= [X] 补× [0.Y 1Y 2·Y n]+ [- X] 补× Y s

◆补码一位乘法的Booth 算法

运算步骤:

①参加运算被乘数采用变形补码、乘数釆用单符号位补码表示,符号位参加运算;

②乘数最低位 Yn 后加一位附加位Yn+1 ,初值为 0;

③求得每次部分积后必须与乘数一起右移一位,由乘数的最低二位Yn+1Yn 的值决定下一

次执行的操作——累加与右移

Yn Yn+1 = 01原部分积+[X] 补,并右移一位;

Yn Yn+1 = 10原部分积+ [-X] 补,并右移一位;

Yn Yn+1 = 00和 Yn Yn+1 = 11原部分积+0,并右移一位;

④ 操作次数,累加n+ 1 次,移位 n 次(最后一次不移位);

◆ 补码一位乘法运算器结构

3、原码一位除法

方法是先将符号位与数值位分开,对数值位部分进行除法运算得到的结果为商的数值部分,

除数和被除数的符号位异或得到的是商的符号位,再加上商的数值部分运形成商的原码,余数应

和被除数同符号

◆ 恢复余数的除法:先作被除数和除数的减法,判别余数:

如果余数为正,商上为1;

如果余数为负,商上为 0,由于已作了相减运算,需加上除数恢与那部分余数;

◆ 加减交替法的除法:先作被除数和除数的减法,判别余数:

余数为正,商上1,余数左移一位减除数;

余数为负,商上0,余数左移一位加除数。若最后一次余数为负,商上0 并加︱Y︱。

◆ 原码加减交替法的除法运算器

4、补码一位除法

补码加减交替法的规则表为:

[X] 补与[Y] 补第一次操作[r i ] 补与 [Y] 补上商求新余数 [r i+1] 补的操作

①同号

1[r i+1] 补=2[r i ]补 -[Y] 补

(够减)

同号[X] 补 -[Y] 补

②异号0[r i+1] 补=2[r i ]补 +[Y] 补

(不够减)

①同号1[r i+1] 补=2[r i ]补 -[Y] 补

(不够减)

异号[X] 补 +[Y] 补

②异号0[r i+1] 补=2[r i ]补 +[Y] 补

(够减)

四、定点运算器的基本结构与工作原理

1、移位电路的工作原理

2、定点运算器的主要组成及其原理

五、浮点数运算和浮点数运算器的实现

1.浮点数的加减法运算:

浮点数加减法运算的步骤:

(1)对阶:将原阶码小的数的尾数右移,使其阶码等于大数的阶码;

(2)尾数运算:两个尾数进行加减运算,可任意采用一种方法;

(3)结果规格化:对不符合规格化要求的结果进行规格化处理:左规或右规;

( 4)舍入处理:对运算时多保留的数据位进行舍入处理,可采用截去法、0舍 1入法、恒置 1

法;

( 5)溢出处理:检查阶码是否溢出,阶码下溢则置运算结果为浮点数形式的“机器零”;阶码上

溢,置溢出标志,由 CPU 的异常处理机制进行处理。

2. 浮点数的乘除法运算

浮点数加减法运算的步骤:

( 1)阶码运算:乘法时,阶码做加法;除法时阶码做减法,

若阶码以补码表示,阶码 [E xy]补 =[E x +E y ]补 =[E x]补 +[E y]补

阶码 [E x/y]补 =[E x -E y]补 = [E x]补 -[E y]补

若阶码以移码表示,阶码 [E xy]移 = [Ex + Ey] 移 = [Ex] 移 + [Ey] 补

阶码 [E x/y]移=[E x -E y] 移 = [Ex] 移 + [- Ey] 补

( 2)尾数乘除法运算:

乘法时,先检测相乘两尾数中是否有“0”,若有一个为“0”,乘积必为“0”,若均不为“0”,可进行乘法运算;

除法时,检测被除数是否为“0”若为,“0”则商必为,“0”再检测除数是否为;“0,”若为

“ 0,”则商必为“无穷大”,另作处理;除数和被除数都不为“ 0,”可进行除法运算;

可以采用定点小数的任一种乘、除法运算来完成;

(3)规格化:将尾数运算结果规格化处理;

(4)舍入

(5)溢出处理

3、浮点运算器的基本结构

(1)浮点数加减法运算操作流程

(2)浮点数加减运算器的结构

六、主要的术语及概念:

求补、行波进位、先行进位、半加、全加、对阶、左规、右规、舍入、变形补码;

相关主题
文本预览
相关文档 最新文档