计算机组成原理 第二章 数据的运算2_第1页
计算机组成原理 第二章 数据的运算2_第2页
计算机组成原理 第二章 数据的运算2_第3页
计算机组成原理 第二章 数据的运算2_第4页
计算机组成原理 第二章 数据的运算2_第5页
已阅读5页,还剩95页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

tl

(二)定点数的表示和运算

考纲要求的内容如下:

lo定点数的表示

无符号数的表示;有符号数的表示。

2o定点数的运算

定点数的位移运算;

原码、补码定点数的加/减运算;

定点数的乘/除运算;

溢出概念和判别方法。

定点数的移位运算

移位运算包括算术移位和逻辑移位。

算术移位时,最高符号位不变;

逻辑移位时,最高符号位可变。

lo机器数为正时,不论左移右移,用0添补。

2O负数的原码,不论左移右移,空位用0添补。

3o负数的反码,不论左移右移,空位用1添补。

4。负数的补码,左移时,空位用0添补;

负数的补码,右移时,空位用1添补。

逻辑移位时:

左移位时,低位补0,高位移丢;

右移位时,高位补0,低位移丢;

游圉规阻屈原囹

定点运算器定点加减法

补码的加法运算

任意两个数的补码之和,等于该两数

和的补码。

X补+[丫]补=[X+Y]补

两个数不管正负,均用补码表示,符

号位应当作为数值位参加运算,符号位相

加所产生的进位要丢掉,结果为补码。

加法公式的证明

现分四种情况来证明。假设采用定点小数

表示,因此证明的先决条件是

Ix|<1,IyI<1,Ix+yI<lo

(1)x>0,y>0,贝I」y>0o

(2)x>0,y<0,贝I」x+y>0或x+y<0o

⑶xvO,y>0,贝llx+y>0或x+y<0o

(4)x<0,y<0,贝Ux+y<0o

定点运算器-----溢出及判别

溢出及其判别方法:

在计算机中数的表示范围是有限的,若两

数进行加减运算的结果超出了给定的取值范围,

就称为溢出。一旦出现溢出,必须及时处理,

否则会出现错误。

可以采用两种方法来判别是否产生溢出:

①单符号位法

②双符号位法

定点运算器------溢出及判别

采用单符号位的判断方法

两异号数相加或两同号数相减决不

会产生溢出,仅当两同号数相加或两异

号数相减时才有可能产生溢出。

两同号数相加时,如果结果的符号

与参与运算的操作数符号相反,则表明

有溢出;两异号数相减舟,如果结巢的

符号与被减数的符号相反,则表明有溢

出。

^^湖S3感圆国

定点运算器-----溢出及判别

利用进位值的判断方法

两补码数进行加减运算时,若最高数值

位产生向符号的进位而符号位不产生进位

时,发生正溢出,若最高数值位无进位而

符号位有进位时,发生负溢出

溢出判别的逻辑表达式为:

V=Cf㊉c0

在电路上用一个异或门实现。

定点运算器------溢出及判别

例:X=-0,100Y=-0,101,求X+Y=?

解:

[X]补=1.100

+[Y]补=1.0)1__________

111

「丢到「

两负数相加,结果应为负数,但运

算结果为正数,表明有溢出发生

定点运算器-----溢出及判别

例:X=100,Y=-110,求X-Y=?

解:

[X]补=0100

+[-Y]补=0)10___________

1010

一个正数减去一个负数,结果为正数,但计算

结果为负数,表明有溢出发生,出错

定点运算器-----溢出及判别

采用双符号位的判断方法

每个操作数的补码符号用两个二进制数表示,

称为变形补码,用“00”表示正数,“11”表示负

数,左边第一位叫第一符号位,右边第一位称为

第二符号位,两个符号位同时参加运算,如果运

算结果两符号位相同,则没有溢出发生。如果运

算结果两符号位不同,则表明产生了溢出。“10”

表示负溢出,说明运算结果为负数,"01”表示

正溢出,说明运算结果为正数。

溢出判别的逻辑表达式为:

f㊉SR

溢出及判别举例

[例]x=+0.1100,y+0.1000,求x+y。

[解:]

[X]补=00.1100,[月补=00.1000

[X]补00.1100

+[月补00.1000

01.0100

两个符号位出现“01\表示已溢出,即结果

大于,1。

溢出及判别举例

[例]x=—0.1100,y=-0,1000,求x+y。

[解:]

补=

[*]11.0100,[y]#=11.1000

[*]补11.0100

+|>]补11.1000

10.1100

两个符号位出现“10、表示已溢出,即结果小

于一1。

(四)算术逻辑单元ALU

考纲要求:

lo串行加法器和并行加法器

2o算术逻辑单元ALU的功能和机构

根据真值表,可以写一位全加器的真值表

出一位全加器的逻辑

方程:输入输Hi

AiB.C.s.Cj+]

Sj=Aj©Bj©Cj00000

00110

q+1=AjBj+BjCj+CjAj

01010

按此表达式组成的一位01101

10010

全加器如下图所示:10101

11001

11111

基本的二进制加法/减法器

一位全加器的逻辑实现

Sj=AjaBj㊉Ci的推导显而易见。

下面推导Ci+i=AiBi+BiCi+CjAi

将用到如下定律:

1。摩根定律:ABC=A+B+C

A+B+C=ABC

2o吸收律:_

A+A-C=A+C

^^就S3房房混

串行进位的补码加法/减法器

P35图2.2的串行进位的补码加法/减法器,

讲清楚..\・.\第2章图形\2.2.swf

①为什么叫串行进位

a3a2a1a。

+b3b2b]b0

-S3S2SlS0

②如何完成减法运算

A-B运算转化成[A]补+[-B]补运算,

求补过程由B变反+1来实现。

游园侬811就属超

串行进位的补码加法/减法器

③如何进行溢出检测处理?请思考!

④延迟时间的计算

考虑溢出:ta=n-2T+9T

不考虑溢出时ta=(n-1)-2T+9T

2T即每一位的进位延迟

9T包括:溢出的异或门为3T,最下的一

排异或门为3T;FA内部Aj和房输入的异或

门为3T,故共9T。

十进制加法器

主要讲清楚P36图2.3的两个问题:

①为什么要进行加6调整。

在十进制运算时,当相加两数之和大于9时,

便产生进位。可是四位二进制数能表示的范

围是0—15。两者相差为6。

因此,当和数大于9时,必须对和数进行加6

修正。

②如何实现加6调整。

I

另三L若

二对

宁R

s

三s

i

一g

S在、

a

(

E

雕二

米U

口二三

0占

+

定点运算器——定点原码一位乘法

定点原码一位乘法

设被乘数[X]原=XfXn_]Xn_2........XjX。

乘数[丫]原=丫£丫「丫广2…丫1丫0

乘积[X]原=ZfZzn-Z2n.2.........

运算原则:同号相乘为正,异号相乘为负,

符号可按:异或运算得到,数值部分的运算方法

与普通的十进制乘数相类似。不论真值的正负,

尾数都用正数参加运算。

N尸=

KTf企Yf

瘠僧如国就愿超

定点运算器--定J一位乘法

手工算法

•两个n位数相乘,其积

为2n位,则需要2n位长

0.1101

的加法器,这不适用于

X0.1011

1101定点机的形式。

1101

0000

1101•机器一次只能进行两

个数的相加,不能进行

0.10001111

多个数据的加法。

定点运算器——定点原码一位乘法

定点原码一位乘法

运算法则:

计算机中执行乘法时,积的符号位由被乘

数和乘数的符号位通过一个异或门实现;

数值部分的运算规则是:从最低位丫0开始,

当乘数Yi为1时,将上次部分积加上被乘数的绝对

值,然后右移一位,得到新的部分积;当Yj为。时,

将部分直接右移一位,得到新的部分积。重复

“加一右移”操作N次,可得到最后的乘积。

定点运算器——定点原码一位乘法

例:X=0.1101,Y=0.1011,求X*Y=?

解:部分积乘数说明

00.0000Yfl011Zo=O

+00.1101Y0=l,+X

00.1101

一00.01101Yfl01右移,得4

+00.1101丫1=1,+x

01.0011

右移,得马

f00.100111Yf10丫

+00.00002=0,+tf

00.1001

右移,得Z3

f00.0100111Yf1

+00.1101丫3=1,+X

01.0001

f00.10001111Yf右移,得Z4=X*Y

定点运算器—定点原码一位乘法

结果:

X*Y=0.10001111

定点运算器——定点原码一位乘法

原码一位乘法的逻辑电路图

图2.5原码一位乘法逻辑结构原理图

定点运算器——定点原码一位乘法

R0存放部分积,R2存放被乘数,R1存放乘数。

一、Ro清零,R2存放被乘数,R1存放乘数。乘法开始时,

“启动”信号时控制Cx置1,于是开启时序脉冲T,

当乘数寄存其Ri最末位为“1”时,部分积Z和

被乘数X在加法器中相加,其结果输出至R0的输入端o

一旦打入控制脉冲T至4来,控制信号LDR°使部分积

右移1位,与此同时,乘数寄存其R1也在控制信号L

DR1作用下右移一位,且计数器I记数一次,

二、上述步骤重复执行N次

三、当计数器I=n时,计数器I的溢出信号使控制触法

器Cx置0,关闭时序脉冲T,乘法宣告结束。

瘠飘辍国就愿超

定点运算器——一定点原码一位乘法

原码算法存在的缺点:

一是符号位需要单独运算,最后给

出运算结果的正确符号;

二是对于采用补码存储的数,从存储

器中取出的是操作数的补码,需先将其

转换成原码,这样很不方便,而且影响

速度。

定点运算器——定点补码一位乘法

定点一位补码乘法:

补码乘法的特点是乘数、被乘数用补码表

示,符号位参加运算,希望得到的结果就

是乘积的补码,符号位在运算中形成。但是

与补码加减法不同,两数的补码如果直接相

乘,结果不是乘积的补码。

设被乘数[X]补=x°.X1X2X3……XR和

乘数[丫]补=丫0.Y]丫2Yn均为住意

符号,则有8码乘法登式,这就是有名的布

斯公式。

定点运算器——定点补码一位乘法

[X*Y]补

二凶补*丫

n

=凶补[地+丫12-1+丫2*2-2+...+Yn2-]

=[X]补[-Ys+(Yi-Y[2T)+(丫22工丫22-2)+…+(丫>小1)-丫“2・%

=[X]补[(丫1-丫。+(丫2-丫1)2-1+...+(丫广丫『1)2"1)+(0-丫/2力

=[X]补(Yi-Ys)+2」([X]补(丫2-丫1)+2-1([刈补(丫3-丫2)...+2-1([刈补

(Yn-YQ+2T(凶补(Yn+1-Yn)))...))(Yn+1=0)

n_.

z

=[x]•x(r.+1-r)2-

i=0

定点运算器一一定点补码一位乘法

递推公式为:

[P。]补=。

[Pl]#="(IP。]补+(Y用-丫口)凶补)

(间补凶补)

[P2]#=2T+(Yn-Yn-1)

•••

旧]补="([PH补+(丫n-i+2-^n-i+l)[X]补)

•••

补丫凶补)

[Pn]#=2T([P=]+(Y2-1)

补凶补补

[Pn+1]#=[Pn]+(Y1-YS)=[X*Y]

游园就SU屈原囹

定点运算器—定点补码一位乘法

补码一位乘法的运算规则如下(开始时ya=0);

(1)如果丫口=yn+1,部分积[zj加0,再右移1位

(2)如果丫0日二01,部分积加[x]补,再右移1位

(3)如果yjn+1=1°,部分积加[—x]补,再右移1位

这样重复n+1步,最后一步不移位。

定点运算器——定点补码一位乘法

例:[X]补=0.1101,[Y]补=0.1011,求X*Y二?

解:部分积乘数说明

00.00000.10110Y„+1=O「

+11.00CCYnYn+l=10,加[-X]补

11.0011

一11,10011.01011右移一位

匕丫用=11,加0

+010.000o0

±■

fX1o

+■1o110101右移一位

■±YnYn+i=01,加[X]补

00.1001

-00.0100111010右移一位

YnYn+i=10,力M-X]补

+111.0o01111

X■

fx1iO1

+■l1O1111。1右移一位

■YnYn+l=0l,加凶补

00.1000111101最后一次不移位

定点运算器----定点补码一位乘法

结果:

[X*Y]补=0.10001111

游困的山就匾滔

定点运算器定点补码一位乘法

被乘数”

图2.7补码一位乘法逻辑原理图

定点运算器定点补码一位乘法

0被乘数的符号X0和乘数的符号Y0都参加运算。

0乘数寄存器R1有附加位Yn+1,其初始状态为

“0”。当乘数和部分积每次右移时,部分积最低为移至R

1的首位位置,故R1必须是具有右移功能的寄存器。

0被乘数寄存器R2的每一位用原码或反码经多路开关传

送到加法器对应位的一个输入端,而开关的控制信号由Y口

丫一1的输出译码器产生。当丫「丫11+1=01时,送[X]

补;当YnYn+1=10时,送[-X]补,即送R2的反

码且在加法器最末位加上“1”。

0R0保存部分积,它也是具有右移功能的移位寄存器,

其符号位与加法器符号位始终一致。

当计数器i=n+1时,封锁LDR1和LDR0控制信号,

涝僧豳步不移位。

定点运算器原码并行乘法

前面讲到的硬件

乘法器是常采用

“串行移位”和

“并行加法”相

结合的方法,虽

然所需器件不多,

但速度太慢,随

着大规律集成电

路的高速发展,

高速的单元阵列

乘法器应运而生。

L不带符号位的

阵列乘法器

瘠飘辍国就愿超

定点运算器——一原码并行乘法

[例]已知两个不带符号的二进制整数A

=11011,5=10101,用原码并行乘法求

4即值。(参见P39图2.5)

第2章图形\22swf

[110I1=A&7io)

X1011O01l1=B(21io)

4

ooOo

111I

Oo0uAo

十X11o1X1

1000110111=P

定点运算器原码并行乘法

①阵列乘法器之所以快速,因为阵列当中的行加

法器不是串行进位,进位位移到了下一行运算,

因而提高了运算速度,但最后一行是行波进位。

②实现n位xn时,要n・(n-1)个全加器和ri"与"

门。

③延迟时间:

tm=Ta+[(n-l)+(n-l)]XTf=(4n-2)T

其中丁己对应图2.8的上半部“与”门延迟时间

2TO

(n-1)对应斜线的FA进行延迟,单个为2T。

(n-1)对应虚线框内的行波进位延迟。

定点运算器——一原码并行乘法

2,带符号位的阵列乘法器

①对2求补器的电路图(教材P40图2.6)

..\・.\第2章图形\23swf

E=l,对输入的数求补;

E=0,不求补,输出等于输入。

求补的方法是按位扫描技术。

②带求补电路的阵列乘法器

(教材P41图2.7)

・.\..\第2章图形\24swf

定点运算器——一原码并行乘法

[例]设X=+15,y=—13,用带求补器的原码阵

列乘法器求出乘积木・y=?

[解:]

设最高位为符号位,则输入数据为

[*]原-01111[力原=11101

符号位单独考虑,算前求补级后

|x|=1111,|y|=1101

1111

乂1101符号位运算:0+1=1

1111

1111

+1111__________

11l:ll:l1:1011

定点运算器——一原码并行乘法

算后经求补级输出并加上乘积符号位1,则

原码乘积值为111000011。

换算成二进制数真值是

x・y=(—11000011)2=(-195)io

十进制数验证:xXy=15义(-13)

=—195相等。

定点运算器补码并行乘法

补码乘法因符号位参与运算,可以完成补码

数的“直接”乘法,而不需要求补级。这种直接

的方法排除了较慢的对2求补操作,因而大大加

速了乘法过程。

常规的一位全加器可假定它的3个输入和

2个输出都是正权。这种加法器通过把正权或

负权加到输入/输出端,可以归纳出四类加法

定点运算器补码并行乘法

[例20]设⑷补=(01101)〃网补=(11011)〃求[/X司补=?

[解:]

(0)1101=+13

⑴1011O11=-5

(0)1o1

(0)11O

(0)000

(0)1101

Q__aiwIQ1W

11

0(1)0111

1165

(1)10111=

验证:

-1X27+OX26+1X25+1X24+1X23+

1X22+1X21+1X2°

=—128+(32+16+8+4+2+1)

=—65

定点运算器——一补码并行乘法

补码阵列乘法器参见P44图2.8

1:\第2章图形形5swf

在/X立乘/X立的一般情况下,该乘法器需要(〃

—2尸个0类全加器,(〃一2)个1类全加

器,(2/7—3)个2类全加器,1个3类全加器,

总共是"/7—1)个全加器。故所需的总乘

法时间是:

Tp=Ta+2(n-l)Tf=2T+(2n-2)2T=(4n-2)T

定点运算器一定点原码一位除法

定点原码一位除法

在定点计算机中,完成两个原码表示的数相除时,

商的符号由两数的符号位按位异或得到,而商的数值

部分则是两个正数相除得到。

被除数[X].=XfX1X2...Xn

除数[丫]原=丫「丫1丫2..工

商9]原=(X—f).(X1X2...Xn/Y1Y2...Yn)

定点除法一一定点原码一位除法

计算机中执行除法时,商的符号位由

被除数和除数的符号位通过一个半加器实

现,对于数值部分,由于定点数的绝对值

小于1,如果被除数大于或等于除数,则商

就大于或等于1,因而会产生溢出,这是不

允许的。因此在执行除法以前,先要判别

是否溢出,不溢出时才执行除法运算。判

别溢出的方法是被除数减去除数,若差为

正,就表示溢出。

原码一位除法一加减交替法

加减交替法的规则:

首先作X-Y,余数为正,表明产生溢出,应

终止除法运算;余数为负,上商为0(作为商的

符号位),然后重复下述操作n次,可得商的Mi

数值

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

余数为负时,商为0,余数左移一位,加除数。

由于运算中余数共左移了n次,相当于乘2%

故最后得余数应乘上25才是真正的正确余数。

原码一位除法一加减交替法

解:凶原=凶补=X=0.1001,[Y]补=0・1011,[-丫]补=1.0101

被除数X/余数r商数q说明

00.1001

+[-丫]补11.0101X减Y

11.1110余数s为负

+[丫]补”11.11000商0,r粕q左移一位

00.1011加Y

00.0111余数口为正

呼l,r和q左移一位

+『丫]补-00.11100.1

11.0101

00.0011余数上为正

国和左移一位

+[-丫]补-00.01100.11yq

11.0101

11.1011余数口为负

+[丫]补*11,01100.110冏0,屈lq左移一位

00.1011加Y

00.0001余数Q为正

瘠飘辍国就向超0.1101商1,仅q左移一位

原码一位除法_加减交替法

•结果:

Q=0.1101

R=2-4*0,0001

原码一位除法_加减交替法

被除效力余效r寄存器

,«n

际/寄N湍

Ro----Riq「--《—一

LDR0

LDR1

计数加

R2

除数y寄存器

错题

原码一位除法一加减交替法

Ri寄存器为n位,是双向移位寄存器,琮为双向移位寄

存器。

除法开始前R1可存放被除数的低n位,R。保存被除数

或者余数。

在进商左移的过程中,被除数(余数)的低位部分

由Ri串行移至R。。经n+1步后,求得n+1位商。

每次进商置于用的最末位,由加法器符号位Ef来

设置,

运算结束后凡存放n位的商,琮中存放余数。

补码一位除法_加减交替法

补码加减交替除法的算法规则如下:

(1)被除数与除数同号,被除数减去除数;被除数

与除数异号,被除数加除数;

(2)余数和除数同号,商上1,余数左移一位,下

次减除数;当余数和除数异号,商上0,余数左移

一位,下次加除数。

(3)重复步骤(2),包括符号位在内,共做n+1步。

为了统一并简化控制线路,一开始上一次假商,

如果果]补和[y]补同号,假商上1,正好控制下一次

做减法;如果[x]补和[y]补异号,假商上0,正好控

制下一次做加法。

补码一位除法_加减交替法

商的校正

在没有特殊精度要求的情况下,一般就采用商的未

位“恒置「的方式进行舍入,这样简单,便于实现。

如果要提高精度要求,可采用如下校正方法对商进

行处理:

(1)刚好解除尽时,如果除数为正,商不必校正;

如果除数为负,则商加2-((最低位加1)

(2)不能除尽时,如果商为正,则不必校正;如

果商为负,则商加25。

补码一位除法_加减交替法

•补码一位除法的流程图

图2.13补码加减交替除法算法流程图

补码一位除法一加减交管法

例:X=0.1001,Y=0.1011,求[X/Y]补

解:

凶补=0.1001

[Y]#=0.1011

[-Y]补=1.0101

补码一位除法_加减交替法

解:[X]补=0・1001,[丫]补=0.1011,[-丫]补=1.0101

被除数/余数商数说明

00.10011融胪涧号,5

+[一丫]补11.0101

X1O余数和除数异号

+rY7左移1位,商0

、k

LJ不

—加除数

00.0111余数和除数同号

00.1110101左移1位,商1

+[-丫]补11.0101减除数

00.0011余数和除数同号

00.01101011左移1位,商1

+[一丫]补11.0101减除数

余数和除数异号

rYU10110左移1位,商0

、k

L不

—加除数

00.0001余数和除数同号

00.00010.1101左移1位,商0

补码〜位除法

加减交替法

•结果:

涝阑如国就匾逋

定点运算器并行设法

L可控加法/减法(CAS)单元

见教材P42图2.9(a)

它有四个输出端和四个输入端。

当输入线P=0时,CAS作加法运算;

当蛹入线P=1时,CAS作减法运算。

CAS单元的输入与输出的关系可用如下一组逻辑方程来

表示:

Si=A㊉(Bj㊉P)㊉q

G+]=(A+G)•但㊉P)+A£

当P=0时,即得我们熟悉的一位全加器(FA)的公式

当P=1时,即得求差公式

瘠翼的国就属超

定点运算器—外行除法

不恢复余数的阵列除法器0x2y5匕

在不恢复余数的除法阵列中,每

一行所执行的操作究竟是加法

还是减法,取决于前一行输出的

符号与被除数的符号是否一致。

①当出现不够减时,部分余数

相对于被除数来说要改变符

号。这时应该产生一个商位

“0”,除数首先沿对角线右移,

然后加到下一行的部分余数

CASnCASHCASnCAS□

上。

②当部分余数不改变它的符

号时,即产生商位“1”,下一行的余数r=3q日%

操作应该是减法。(b)4位除4位阵列除法器遗较结构图

一个(n+1)位除(n+1)位的加减交替除法阵列由(n+l)2个CAS单元组成。

船僧如国就愿超除法执行时间为Td=3(n+1)2T

定点运算器—外行除法

[例]*=0.101001,y=0.111,求xfy。

[解:]Ly]补=1.001

被除数X0.101001

减-11.010l1o__o______O

■X-

余数为负11oOO1

■xX

余数左移o1l1

加尸■X

Oo1lo1>o1

■±X-X

余数为正O11o1

■X

余数左移Iol

减尸■

余数为负L1111<0%=0

余数左移LI11

加y0.111____________

余数为正0,110>0%=1

故得商q=%,%/%=0.101

涝园湖血居康徽r=(0.000^^)=0.000110

补充两种加快除法运算的算法

-O跳0跳1除法

这是一种对规格化小数绝对值相除的除法加速算法。

基本思想:当余数的绝对值很小时,可根据余数前几

位代码值再次求得几位同为1或0的商。

基本规则:

lo如果余数R大于等于0,且R的高K个数位均为0,

则本次的商为1后跟K-1个0,R左移K位后,减去除数D,

得新余数。

2o如果余数R小于0,且R的高K个数位均为1,则

本次商为0后跟K-1个1,R左移K位后,加上除数D,得

新余数。

例题:M=0.1010000D=0.1100011

[-D]补=10011101

0.1010000

1.0011101M-D

1.1101101R<0,符号后有2位1,商为01

1.0110100左移两位

0.1100011+D

0.0010111R>0,符号后有2位0,商为10

0.1011100左移两位

1.0011101-D

1.1111001R<0,符号后有4位1,商为0111

最后得商Q=0.1100111(接下去可左移4位,+D继续求

商)

二.用快速乘法器实现快速除法

按下式完成M/D:

M="X尸。X尸1X户2X…XFr

DQX产0X尸।X产2X…xFr

由上式可知:递乘几次之后,可以使

-X-。X/X尸2X…XFrf1

则商应为:MXFXFXFX•••XF

ot?

若M和D为规格化正的二进制小数代码时,可写成:

D=\-61ovsw—>|

那么可取Fj的值如下:

-1+6

Z)o=Qx尸0=(1—b)(l+b)=l—/

々=1+b2

—尸)(1+尸)=1—尸

可见,当i增大时,Dj将很快趋近于1,其误差为日?…

松园觎饵屈原囹

定点运算器的组成

运算器主要由算术逻辑部件,通用寄存器和状态

寄存器组成。

前面讲到的行波进位加法器存在两个大问题:

①由于串行进位,所以它的运算时间较长。

②只能完成算术运算,不能进行逻辑运算。

多功能算术/逻辑运算单元

1.基本思想

一位全加器(FA)的逻辑表达式为:

Fj=Aj④B*G

Ci”二AiBi+BjCj+QAi

为了将全加器的功能进行扩展以完成多种算术逻辑

运算,我们先不将输入%和以和下一位的进位。直接进

行全加,而是将Aj和瓦先组合成由控制参数S。,SPS2,

S3控制的组合函数4和Yj然后再将4,Yj和下一位进

位数通过全加器进行全加,这样,不同的控制参数可以

得到不同的组合函数,因而能够实现多种算术运算和逻

辑运算。

多功能算术/逻辑运算单元

介Fi

Cn+i+lr------------------------.「

1n+i

——全加器--------

A/\

s、「Xi、Yi与控制参数和输入量的关系

1---------►SOSIYiS2S3Xi

2A函数发生器

AA00001

A1.

01A.B.01

1I.+B.

AiBiii

1010

A.1BI.4.i+Bi.

11011

A.1

多功能算术/逻海运算单元

ALU的某一位逻辑表达式如下:

X^SOA.B.+SOA.K

J.O_L_L乙_LJL

Yi=Aj+SoBi+sH

Fi=Y@X@Cn+i

多功能算术/逻辑运算单元

■每一位的进位公式可递推如下:

Cn+l=Yo+X()Cn

cm二-1=Y1+YoXi+XoX©

Cn+3=Y2+X2Cn+2=Y2+X2Y1+Y0X1X2+X0X1X2Cn

Ce=丫3+*3。(+3

=Y3+X3Y2+X2X3Y1+Y0X1X2X3+X0XxX2X3Cn

多功能算术/逻辑运舁单兀

■设:

G=Y3+X3丫2+X2X3Y1+XiX2X3Y0

P=X0X]X2X3

则:

=

Cn+4G+PCn

其中:G称为进位发生输出

--------------------------------------------------------------------------

该式表明,第0位的进位输入可以直接传送到最局进

位位上主向而可以实现高萼昼—.

--------------------------

多功能算术/逻辑运算单元

3.算术逻辑运算的实现(74181ALU)

见教材P48图2.11

M=1时,进行逻辑操作,因为封锁了各

位的进位输出,即Cn+产。

M=0时,M对进位信号无影响,进行算

术运算。

多功能算术/逻辑运算单元

74181ALU方框图如下:

74181ALU的功能表见P49表2,5

A1IO

2kLJ

/

o

d

7

/

S

v

多功能算术/逻辑运算单元

4,两级先行进位的ALU

前面说过,74181ALU设置了P和G两个本组先行

进位输出端。如果将四片74181的P,G输出端送

入到74182先行进位部件(CLA),又可实现第

二级的先行进位,即组与组之间的先行进位。

假设4片(组)74181的先行进位输出依次

为为,603卬1尸2«2/3«3,那么参考式(2.37)

的进位逻辑表达式,先行进位部件74182CLA所

提供的进位逻辑关系如下:

多功能算术/逻辑运算单元

Cn+x=Go+PoCn

Cn+y=Gi+P]Cn+*=Gi+GoPi+PoPiCn

Cn+Z-+P2Cn.|_y—G2+GXP2+G0P1P2+PoPiP2^n

Cn+4—G3+P3Cn+z=Gs+G2P3+GFF2+G°PiP2P3+

P°PF2P3。1

=G*+P*C;

其中P*=P0PiP2P3

G*=G3+G2P3+GFF2+G0P1P2P3

根据以上表达式,用TTL器件实现的成组先行进位部件

74182的逻辑电路图如教材P50图2.12所示

其中G*称为成组进位发生输出,P*称为成组进位传送输出。

多功能算术/逻辑运

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论