数据表示和运算_第1页
数据表示和运算_第2页
数据表示和运算_第3页
数据表示和运算_第4页
数据表示和运算_第5页
已阅读5页,还剩113页未读 继续免费阅读

下载本文档

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

文档简介

数据表示和运算第一页,共一百一十八页,编辑于2023年,星期六目录2.1数据表示方法2.2定点加减法2.3定点乘法2.4定点除法绪论2.5定点运算器2.6浮点运算第二页,共一百一十八页,编辑于2023年,星期六第二章运算方法和运算器掌握数据的两种表示方法:定点数和浮点数掌握两种数据表示所能表示数值的范围掌握定点加/减法,并会判断溢出理解定点乘法原理,掌握阵列乘法器的工作原理理解定点除法及其实现原理掌握ALU的构成,扩展掌握浮点加减法了解浮点乘除法本章要点第三页,共一百一十八页,编辑于2023年,星期六问题1:为什么要研究数据表示问题(重要性)?2.1数据的表示方法

数据表示是计算机硬件和软件的接口。了解计算机中数据表示是了解计算机各主要部件工作原理的必要基础。第四页,共一百一十八页,编辑于2023年,星期六问题2:什么叫数据表示?计算机中有哪些类型的表示方法?2.1数据的表示方法

数据表示指能由计算机硬件直接识别的数据类型,即可以用计算机硬件直接表示出来,并能由计算机指令直接调用该数据类型。计算机中常用的数值数据的表示方法有:定点数、浮点数.第五页,共一百一十八页,编辑于2023年,星期六定点数的含义:小数点位置固定的数据表示方法。常见的两种定点数:定点小数——小数点固定于符号位之后。格式为:Dn-1●Dn-2………D1D0定点整数——小数点固定于最低位之后。

格式为:Dn-1Dn-2………D1D0●2.1.1数值数据的定点表示方法【注意】:小数点均为隐含表示。一、什么是定点数第六页,共一百一十八页,编辑于2023年,星期六1.定点小数原码表示

X0≦X﹤1【表示形式】:[X]原=1-X-1﹤X≦02.1.1数值数据的定点表示方法二、定点小数表示方法假定共有n+1位二进制表示数据(1位符号位,n位数值位)第七页,共一百一十八页,编辑于2023年,星期六【例2.1.1】

:求X=-0.1001的原码定点格式?定点小数原码表示方法举例【表示范围】:n+1位原码表示的定点小数的范围为:0≦∣X∣≦

1-2-n

解:X的原码定点格式为:11001第八页,共一百一十八页,编辑于2023年,星期六2.定点小数反码表示

X0≦X﹤1【表示形式】:[X]反=2+X-2-n-1﹤X≦0

定点小数表示方法第九页,共一百一十八页,编辑于2023年,星期六【例2.1.2

】:求X=-0.1001反码定点格式?定点小数反码表示方法举例解:X的反码定点格式为:10110【表示范围】

:n+1位反码表示的定点小数的范围为:0≦∣X∣≦

1-2-n

第十页,共一百一十八页,编辑于2023年,星期六3.定点小数补码表示

X0≦X﹤1【表示形式】:[X]补=2+X-1≦X≦0

定点小数表示方法第十一页,共一百一十八页,编辑于2023年,星期六【例2.1.2

】:求X=-0.1001补码定点格式?定点小数补码表示方法举例解:X的补码定点格式为:10111【表示范围】

:n+1位补码表示的定点小数的范围为:正数:0≦X≦1-2-n,负数:

-1≦X﹤0第十二页,共一百一十八页,编辑于2023年,星期六1.定点整数原码表示

X0≦X﹤2n【表示形式】:[X]原=2n-X-2n﹤X≦02.1.1数值数据的定点表示方法三、定点整数表示方法假定共有n+1位二进制表示数据(1位符号位,n位数值位)第十三页,共一百一十八页,编辑于2023年,星期六【例2.1.4】:求X=-10101的定点原码表示形式定点整数原码表示方法举例解:X的定点原码表示为:110101【

表示范围】:n+1位原码表示的定点整数范围为:0≦∣X∣≦2n-1第十四页,共一百一十八页,编辑于2023年,星期六2.定点整数反码表示X0≦X﹤2n【表示形式】[X]反=2n+1-1+X

-2n﹤X≦0定点整数表示方法第十五页,共一百一十八页,编辑于2023年,星期六【例2.1.5】:求X=-10101的定点反码表示形式解:X的定点反码表示为:101010【

表示范围

】:n+1位反码表示的定点整数范围为:0≦∣X∣≦2n-1定点整数反码表示举例第十六页,共一百一十八页,编辑于2023年,星期六3.定点整数补码表示X0≦X﹤2n【表示形式】[X]补=2n+1+X-2n≦X﹤0定点整数表示第十七页,共一百一十八页,编辑于2023年,星期六【例2.1.6】:求X=-10101的定点补码表示形式解:X的定点补码表示为:101011【表示范围】:n+1位补码表示的定点整数范围为:正数:0≦X≦2n-1,负数:-2n≦X﹤0定点整数补码表示举例第十八页,共一百一十八页,编辑于2023年,星期六4.定点整数的移码表示方法移码:是定点整数的又一种编码形式,主要用来表示浮点数的阶码。

【表示形式】:[X]移=2ⁿ+X(2ⁿ>X≥-2ⁿ)定点整数表示第十九页,共一百一十八页,编辑于2023年,星期六【表示范围】:n+1位移码表示的定点整数范围为:正数:0≦X≦2n-1,负数:-2n≦X﹤0【例2.1.7】:求X=-10101的定点移码表示形式解:[X]移=25+(-10101)=100000-10101=001011定点整数移码表示举例第二十页,共一百一十八页,编辑于2023年,星期六【例2.1.8】已知X=-0.101101,Y=+101101,则:[X]原=1.101101,[Y]原=0101101[X]反=1.010010,[Y]反=0101101[X]补=1.010011,[Y]补=0101101[Y]移=1101101定点数表示举例第二十一页,共一百一十八页,编辑于2023年,星期六【例2.1.9】某计算机字长32位,符号位占一位,数值位31位,问:(1)定点补码整数表示时,最大正数是多少,最小负数是多少?(2)定点补码小数表示时,最大正数是多少,最小负数是多少?2.1.1定点数表示举例解:定点补码整数表示时:

最大正数=01111…11=231-1最小负数=1000…000=-231定点补码小数表示时:

最大正数=01111…11=1-2-31,最小负数=1000…000=-1。第二十二页,共一百一十八页,编辑于2023年,星期六1.任何一个数据N都能写成一般形式N=REM其中:N:要表示的浮点数;

R(Radix):基数,常取2;

E(Exponent):阶码,一般为定点整数;

M(Mantissa):尾数,一般为定点小数;

2.1.2数据的浮点表示方法一、什么是浮点表示因计算机中采用二进制来表示数据,因此在数据表示时R可以隐含表示,这样只将阶码和尾数合起来就可以表示一个数据,这种表示形式就是浮点表示形式。第二十三页,共一百一十八页,编辑于2023年,星期六2.1.2数据的浮点表示方法二、浮点数的表示形式数符(S)阶值(E)尾数值(M)S:表示数据的符号E:表示阶码,常用补码,移码表示M:尾数的数值部分,常用原码或补码表示举例第二十四页,共一百一十八页,编辑于2023年,星期六2.1.2数据的浮点表示方法二、浮点数的表示形式数符(S)阶值(E)尾数值(M)举例:请用浮点数表示数N=-5.25,阶码和尾数都用补码表示。解:N=(101.01)2=-0.10101×23则其浮点形式为:1

011

01011?有其它表示形式吗?第二十五页,共一百一十八页,编辑于2023年,星期六若上述浮点数中尾数M在如下范围内

1/R≤|M|<1(1/2

≤|M|<1),则N叫做规格化的浮点数.(M=-0.5除外)2.1.1三、浮点数的规格化2.1.2数据的浮点表示方法第二十六页,共一百一十八页,编辑于2023年,星期六原码规格化后的形式为:

正数:0.1*********

负数:1.1**********补码规格化后的形式为:

正数:0.1**********

负数:1.0**********尾数M规格化形式总结第二十七页,共一百一十八页,编辑于2023年,星期六若浮点数的阶码6位(含符号位),尾数为10位(含符号位),均用补码表示,请分析其表示范围。1.阶码范围(6位补码的表示的整数范围)Emax+=011111=31;Emin+=000001=1Emax-=111111=-1;Emin-=100000=-322.规格化尾数范围(10位补码表示的小数范围)Mmax+=0111111111=1-2-9;Mmin+=0100000000=2-1Mmax-=1011111111=-2-1+2-9;Mmin-=1000000000=-13.规格化范围:Nmax+=Emax+|Mmax+=231×1-2-9

;Nmin+=Emin-|Mmax-=2-32×2-1

Nmax-=Emax+|Mmax+=2-32×-(2-1+2-9);Nmin+=Emin-|Mmax-=231×-1

2.1.1四、浮点数的表示范围2.1.2数据的浮点表示方法第二十八页,共一百一十八页,编辑于2023年,星期六

1:32位浮点的形式规格化的真值X=-1(S)×(1.M)×2E-1272:64位浮点的形式规格化的真值X=-1(S)×(1.M)×2E-1023尾符s(1)阶码E(8)尾数值M(23)尾符s(1)阶码E(11)尾数值M(52)2.1.2数据的浮点表示方法五、IEEE754标准第二十九页,共一百一十八页,编辑于2023年,星期六解:将16进制数展开后,可得二制数格式为: 01000001001101100000000000000000 e=阶码-127=10000010-01111111=00000011=(3)10 包括隐藏位1的尾数1.M=1.01101100000000000000000=1.011011于是有:x=(-1)S×1.M×2e=+(1.011011)×23

=+1011.011=(11.375)10浮点数举例

【例2.1.10】:若浮点数x的二进制存储格式为(41360000)16,求此IEEE754格式32位浮点数的十进制值第三十页,共一百一十八页,编辑于2023年,星期六解:首先分别将整数和分数部分转换成二进制数:20.59375=(10100.10011)2然后移动小数点,使其在第1,2位之间(10100.10011)2=1.010010011×24 e=4于是得到:S=0,E=4+127=131,M=010010011最后得到32位浮点数的二进制存储格式为:01000001101001001100000000000000=(41A4C000)162.1.1数值数据的表示方法【例2.1.11】:将十进制数20.59375转换成32位IEEE754格式浮点数的二进制格式来存储。第三十一页,共一百一十八页,编辑于2023年,星期六2.1.2非数值数据的表示字符指字母、符号、控制字符等。按什么样的规则把字符表示成0、1形式是人为确定的。具体方案有多种,其中流行的是ASCII码,即AmericanStandardCodeforInformationInterchange,含四类128种字符。一、字符数据第三十二页,共一百一十八页,编辑于2023年,星期六不带符号的一位二进制数。只有0,1两个值,代表两种成对的逻辑概念。不同于数学中0和1的数值概念。二、逻辑数据2.1.2非数值数据的表示第三十三页,共一百一十八页,编辑于2023年,星期六三种不同用途的表示:输入码、内码,输出码三、汉字表示法2.1.2非数值数据的表示第三十四页,共一百一十八页,编辑于2023年,星期六

校验码是指对数据信息进行扩充,在其中加入新代码,使之与原数据共同按某种规律编码后具有发现错误的能力,有些甚至具有指出具体的错误位置并使机器校正的能力。我们称之为“校验码”(checkcode)。

三、校验码2.1.2非数值数据的表示第三十五页,共一百一十八页,编辑于2023年,星期六1.奇偶校验码在有用数据位加上校验位后使其共有奇数个1(奇校验)或偶数个1(偶校验)2.交叉校验大量字节传送时(如主机与外设之间)为每个字节设一个校验位,叫横向校验;全部字节的同一位也设一个校验位,叫纵向校验。如此双向同时校验即交叉校验。3.CRC码(CyclicRedundancyCode):循环冗余校验码4.海明校验码(HammingCode):大中型机用。纠错码2.1.2非数值数据的表示第三十六页,共一百一十八页,编辑于2023年,星期六2.2定点加、减法运算本节主要问题:1.定点加,减法的运算方法2.如何实现?3.溢出及其判断方法第三十七页,共一百一十八页,编辑于2023年,星期六[X+Y]补=[X]补+[Y]补2.2.1补码加法一、补码加法公式第三十八页,共一百一十八页,编辑于2023年,星期六【例2.2.1】已知X=0.1011,Y=-0.0101,求[X+Y]补补码加法举例解:[x]补=0.1011,[Y]补=1.1011[X+Y]补=[x]补+[Y]补=0.1011+1.1011=(0.0110)补第三十九页,共一百一十八页,编辑于2023年,星期六[X–Y]补=[X]补–[Y]补

=[X]补+[-Y]补,即化减为加。二、补码减法公式2.2.2补码减法第四十页,共一百一十八页,编辑于2023年,星期六【例2.2.2】已知X=0.1011,Y=+0.0101,求[X-Y]补解:[x]补=0.1011,[-Y]补=1.1011[X-Y]补=[x]补+[-Y]补=0.1011+1.1011=10.0110=(0.0110)补补码减法举例第四十一页,共一百一十八页,编辑于2023年,星期六【小结】:补码加减法M±N的基本运算规则:1、将±号和N归为一个整体作为一个操作数(±N)2、求出M和±N的补码,并相加3、运算结果仍是补码表示。定点加、减运算小结第四十二页,共一百一十八页,编辑于2023年,星期六

算术运算所产生的结果超出机器所能表示范围。

2.2.3溢出及检测方法二、溢出检测方法具体方法有多种,但依据是共同的:即:两数补码相加,只有两数同号才可能产生溢出;若此时产生的结果与两数异号,则一定发生了溢出。一、什么是溢出(Overflow)第四十三页,共一百一十八页,编辑于2023年,星期六只要出现0.XXXX1.XXXX+)0.XXXX或+)1.XXXX1.XXXX0.XXXX则为溢出。1、单符号位操作检测方法硬件实现:V=Cf⊕C

其中V=1表示有溢出;Cf是和的符号位进位。C:数值最高位进位溢出检测方法第四十四页,共一百一十八页,编辑于2023年,星期六变形补码:双符号位。00—正,11—负。两个符号位均参与运算,只要出现00.XXXX11.XXXX+)00.XXXX或+)11.XXXX01.XXXX10.XXXX则为溢出。2、变形补码操作检测方法(双符号位法)硬件实现V=Sf1⊕Sf2

其V=1表示有溢出;Sf1是和的第一符号位。Sf2是和的第二符号位溢出检测方法第四十五页,共一百一十八页,编辑于2023年,星期六ASBCHA一、一位加法单元2.2.4基本的二进制加/减法器1、半加器HA(逻辑符号、真值表、逻辑式)ABSC0000011010101101第四十六页,共一百一十八页,编辑于2023年,星期六2、全加器:考虑进位的一位加法器(1)逻辑符号、真值表、逻辑表达式

一、一位加法单元FAAiSi

BiCiCi-1第四十七页,共一百一十八页,编辑于2023年,星期六(2)全加器的硬件实现一、一位加法单元第四十八页,共一百一十八页,编辑于2023年,星期六1.加法器类型串行进位方式并行进位方式2.2.4基本的二进制加/减法器二、n位加法器加法器第四十九页,共一百一十八页,编辑于2023年,星期六2.串行(行波)进位的补码加/减法器电路构成二、n位加法器第五十页,共一百一十八页,编辑于2023年,星期六输出:

Sn-1Sn-2……S1S0=S为运算结果即和或差的补码。V为溢出标志,V=1代表有溢出发生。输入:An-1An-2……A1A0=ABn-1Bn-2……B1B0=B

C0:最低位进位输入

M:加、减控制端。电路特点

串行进位的补码加/减法器第五十一页,共一百一十八页,编辑于2023年,星期六(3)全加器电路的时间延迟的计算:

从电路的输入产生起直到输出出现所经过的时间,

用T的个数表示。T叫延迟单位。一、一位加法单元假定一个逻辑与门的延迟时间为T,则n位加法器的延迟时间为:Tα=2nT+9T第五十二页,共一百一十八页,编辑于2023年,星期六小结串联本节的问题:1.计算机中的加减法是基于什么原理?2.计算机中的数据表示范围是有限的,那么计算机如何知道计算结果是否超出了范围呢?3.加减法是怎样用硬件实现的?第五十三页,共一百一十八页,编辑于2023年,星期六2.3定点乘法运算本节主要问题:1.定点乘法运算方法2.定点原码和定点补码的实现方法?第五十四页,共一百一十八页,编辑于2023年,星期六

两个原码表示的数相乘,其运算规则为:

乘积的符号位由两数的符号位异或得到;

乘积的数值部分则是两个正数相乘之积。

2.3.1原码并行乘法一.人工算法第五十五页,共一百一十八页,编辑于2023年,星期六设n位被乘数和乘数用定点小数表示为(定点整数也同样适用)

被乘数[X]原=Xf·Xn-1…X1X0

乘数[Y]原=Yf·Yn-1…Y1Y0

乘积[Z]原=(Xf⊕Yf)·(0.Xn-1…X1X0)(0.Yn-1…Y1Y0)一.人工算法第五十六页,共一百一十八页,编辑于2023年,星期六1.原理二.不带符号的阵列乘法器2.3.1原码并行乘法第五十七页,共一百一十八页,编辑于2023年,星期六2.m×n位不带符号的阵列乘法器逻辑图

二.不带符号的阵列乘法器第五十八页,共一百一十八页,编辑于2023年,星期六3.5×5位不带符号的阵列乘法器逻辑图

二.不带符号的阵列乘法器第五十九页,共一百一十八页,编辑于2023年,星期六【例2.3.1】:参见教材例19举例第六十页,共一百一十八页,编辑于2023年,星期六

三.带符号的原码阵列乘法器2.3.1原码并行乘法第六十一页,共一百一十八页,编辑于2023年,星期六1.对2求补器电路其逻辑表达式如下:C-1=0,Ci=ai+Ci-1ai*=ai⊕ECi-1,0≤i≤n一.带符号的补码阵列乘法器2.3.2补码并行乘法第六十二页,共一百一十八页,编辑于2023年,星期六2.带符号的阵列乘法器2.3.2补码并行乘法第六十三页,共一百一十八页,编辑于2023年,星期六补码阵列乘法器逻辑图第六十四页,共一百一十八页,编辑于2023年,星期六解:设最高位为符号位,则输入数据用补码表示为[x]补=10001[y]补=10011符号位单独运算,x0⊕y0=1+1=0

算前求补器输出为:|x|=1111,|y|=1101

不带符号位相乘:|x|×|y|

=1111×1101=11000011算后求补器输出为11000011加符号位1,得[x·y]补=011000011

【举例】

【例2.3.2】设x=-15,y=-13,用带求补器的补码阵列乘法器求出乘积x·y=?第六十五页,共一百一十八页,编辑于2023年,星期六假定[N]补=anan-1…a1a0,an=0

则:N=an=1

若把符号位an的权值看作-2n,则上式可等价为:二.直接补码乘法2.3.2补码并行乘法1.补码和真值的关系第六十六页,共一百一十八页,编辑于2023年,星期六【例2.3.3】已知[N1]补=01101[N2]补=10011,求[N1]补和[N2]补对应的数值.举例第六十七页,共一百一十八页,编辑于2023年,星期六0类:三个输入都为正权1类:有1个输入的权值为负2类:有2个输入的权值为负3类:3个输入的权值为都为负二.直接补码乘法2.四类加法器形式第六十八页,共一百一十八页,编辑于2023年,星期六四类全加器的真值表

全加器带权输入

带权输出

0类

3类

X

Y

Z

-X

-Y

-Z

C

S

-C

-S

0

0

0

0

0

1

0

1

0

0

1

1

1

0

0

1

0

1

1

1

0

1

1

1

0

0

0

1

0

1

1

0

0

1

1

0

1

0

1

1

1类

2类X

Y

-Z

-X-Y

Z

C

-S-C

S真值表

0

0

0

0

0

1

0

1

0

0

1

1

1

0

0

1

0

1

1

1

0

1

1

1

0

0

0

1

1

1

0

0

1

1

0

0

1

0

1

1

第六十九页,共一百一十八页,编辑于2023年,星期六0,3类的逻辑方程为:1,2类的逻辑方程为:由真值表可得:四类全加器的逻辑表达式第七十页,共一百一十八页,编辑于2023年,星期六假设A,B用5位补码表示,即n=4A=a4a3a2a1a0,B=b4b3b2b1b0,则AB的运算过程见下页图.2.3.2补码并行乘法3.直接补码阵列乘法器第七十一页,共一百一十八页,编辑于2023年,星期六直接补码阵列乘法过程第七十二页,共一百一十八页,编辑于2023年,星期六直接补码乘法阵列图1第七十三页,共一百一十八页,编辑于2023年,星期六直接补码乘法阵列图2第七十四页,共一百一十八页,编辑于2023年,星期六

(0)11

0

1=+13

×)

(1)1

0

1

1=-5

(0)11

0

1

(0)1

10

1

(0)00

00

(0)1

10

1

0(1)(1)(0)(1)

0(1)0

1

1

1

1

1

1

(1)1

0

1

1

1

1

1

1=-65

验证:-1×28+1×27+0×26+1×25+1×24+1×23+

1×22+1×21+1×20

=-256+128+(32+16+8+4+2+1)

=-6=(13)×(-5)举例

【例2.3.5】:设[A]补=(01101)2,[B]补=(11011)2,求[A×B]补=?

第七十五页,共一百一十八页,编辑于2023年,星期六2.4定点除法运算原码定点乘法1并行除法器2第七十六页,共一百一十八页,编辑于2023年,星期六2.4定点除法运算本节主要问题:1.定点除法运算方法2.定点原码和定点补码的实现方法?第七十七页,共一百一十八页,编辑于2023年,星期六2.4.1原码定点除法X=Xf•Xn-1…….X1X0Y=Yf•Yn-1…….Y1Y0X/Y=Xf⊕Yf.•

Xn-1…….X1X0/Yn-1…….Y1Y0一、人工算法第七十八页,共一百一十八页,编辑于2023年,星期六

1、恢复余数法用被除数(部分余数)减去除数。若余数符号位和被除数相同,则商1,余数左移一位减去除数。反之,则商0,加上除数恢复余数,再减去除数,依次循环.二、两类除法原理2.4.1原码定点除法第七十九页,共一百一十八页,编辑于2023年,星期六

2、加减交替法假设Ri-1是第i-1步的余数,Ri是第i步的余数.

若Ri-1>0(和被除数的符号相同),则:Ri=2Ri-1-Y

若Ri-1<0(和被除数的符号相反),则:Ri=2(Ri-1+Y)-Y=2Ri-1+Y二、两类除法原理第八十页,共一百一十八页,编辑于2023年,星期六输入变量:Ai,Bi

,Ci,P输出变量:Si,Ci+1

,Bi,P输入输出关系:

Si=Ai⊕(Bi⊕P)⊕Ci

Ci+1=AiBi+BiCi+CiAi

=(Ai+Ci)(Bi⊕P)+CiAi

2.4.2并行除法器一、可控加/减法单元第八十一页,共一百一十八页,编辑于2023年,星期六可控加/减法单元第八十二页,共一百一十八页,编辑于2023年,星期六前提:1、商的位数和除数的位数保持一致2、如果最后一次的余数和被除数符号不同,则加上除数修正.二、不恢复余数的阵列除法器2.4.2并行除法器第八十三页,共一百一十八页,编辑于2023年,星期六不恢复余数的阵列除法器第八十四页,共一百一十八页,编辑于2023年,星期六移位1.01010

减y1.000010.01011商1

移位0.10110

减y1.000011.10111商0恢复余数0.111110.10110

举例例2.4.2:已知x=0.10110,y=0.11111,求x÷y被除数x0.10110减y1.000011.10111商0移位1.01110加y0.111110.01101商1移位0.11010减y1.000011.11011商0移位1.10110加y0.111110.10101商1第八十五页,共一百一十八页,编辑于2023年,星期六2.5.1逻辑运算逻辑非、加(或)、乘(与)、异或一.逻辑运算第八十六页,共一百一十八页,编辑于2023年,星期六2.5.2多功能算术/逻辑运算单元仍然以FA为主体,为增加功能而加进函数发生器,为提高速度而使用先行(并行)进位逻辑。按下页图示,原FA逻辑表达式变为ALU的逻辑表达式:

Fi=Xi⊕Yi⊕Cn+iCn+i+1=XiYi+YiCn+i+Cn+iXi一、基本思想第八十七页,共一百一十八页,编辑于2023年,星期六FiCn+i+1Cn+i

XiYiMS0S1S2S3AiBiFA函数发生器ALU逻辑图第八十八页,共一百一十八页,编辑于2023年,星期六若将Yi和Xi看作是P47页表2.4中所列的Ai,Bi和S0,S1,S2,S3的函数,则对串行进位和并行进位有如下的结论成立:

串行进位表达式并行进位表达式2.5.2多功能算术/逻辑运算单元二、ALU逻辑表达式第八十九页,共一百一十八页,编辑于2023年,星期六1、串行进位表达式

Cn+i+1=Yi+XiCn+iCn+1=Y0+X0CnCn+2=Y1+X1Cn+1

Cn+3=Y2+X2Cn+2Cn+4=Y3+X3Cn+3二、ALU逻辑表达式第九十页,共一百一十八页,编辑于2023年,星期六2、并行进位:将i=0,1,2,3分别代入Cn+i+1=Yi+XiCn+i中即得:

Cn+1=Y0+X0Cn

Cn+2=Y1+X1Cn+1=Y1+Y0X1+X0X1CnCn+3=Y2+X2Cn+2=Y2+Y1X2+Y0X1X2+X0X1X2CnCn+4=Y3+X3Cn+3=Y3+Y2X3+Y1X2X3+Y0X1X2X3+X0X1X2X3Cn以上式子表明进位是并行的二、ALU逻辑表达式第九十一页,共一百一十八页,编辑于2023年,星期六若令:Fi=Xi⊕Yi⊕Cn+i

,利用并行进位可同时得到F0、F1、F2、F3。依据此结论,我们可以设计任何一个4位的并行进位的ALU。

74LS181便是一个4位的并行进位的ALU.电路图见P54。

结论第九十二页,共一百一十八页,编辑于2023年,星期六2.5.2多功能算术/逻辑运算单元三、74181算术逻辑运算器的实现电路第九十三页,共一百一十八页,编辑于2023年,星期六为了对多片4位ALU进一步扩展,对进位最后一项Cn+4分两部分处理引出两个信号:G(进位发生输出),P(进位传送输出)令G=Y3+Y2X3+Y1X2X3+Y0X1X2X3

P=X0X1X2X3

则Cn+4

=Y3+Y2X3+Y1X2X3+Y0X1X2X3+X0X1X2X3Cn=G+PCn注意第九十四页,共一百一十八页,编辑于2023年,星期六74181芯片引脚图第九十五页,共一百一十八页,编辑于2023年,星期六1、单级先行进位的ALU

例:用四片74181ALU组成16位的并行ALU,四片ALU即四组之间采用串行进位的方法。四片74181构成的单级先行进位的16位ALU的进位结构图结构图2.5.2多功能算术/逻辑运算单元四、两级先行进位的ALU第九十六页,共一百一十八页,编辑于2023年,星期六片内并行,片间串行第九十七页,共一百一十八页,编辑于2023年,星期六上图中各个进位的生成顺序图:第九十八页,共一百一十八页,编辑于2023年,星期六

2、两级先行进位的ALU:组内并行,组间并行【方法】前面曾推得任一片74181的最高进位的表达式:

Cn+4=Y3+Y2X3+Y1X2X3+Y0X1X2X3+X0X1X2X3Cn

=G+PCn

对于(第一片:1#)ALU的最高进位Cn+4=G+PCn

为了区别各片的G和P,将第一片ALU的G和P记为G0和P0,第二片为G1和P1,第三片为G2和P2,第四片为G3和P3。则各个芯片的进位信号为:四、两级先行进位的ALU2.5.2多功能算术/逻辑运算单元第九十九页,共一百一十八页,编辑于2023年,星期六

1#:C(n+x)=

C(n+4)=G0+P0C02#:C(n+y)=

C(n+8)=G1+P1C4=G1+G0P1+P0P1C0

3#:C(n+z)=

C(n+12)=G2+G1P2+G0P1P2+P0P1P2C0

4#:

C(n+16)=G3+G2P3+G1P1P2+G0P1P2P3+P0P1P2P3C0

由以上四个进位式可知:由G,P信号组合即可同时生成Cn+x、Cn+y、Cn+z、C(n+16).

也把生成Cn+x、Cn+y、Cn+z、Cn+16的逻辑电路叫做先行二级进位链(即74182芯片)

第一百页,共一百一十八页,编辑于2023年,星期六74LS182芯片第一百零一页,共一百一十八页,编辑于2023年,星期六G*,P*说明同G,P类似:为了便于进位扩展,可以把C(n+16)=G3+G2P3+G1P1P2+G0P1P2P3+P0P1P2P3C0定义为

C(n+16)=G*+P*Cn则:G*=G3+G2P3+G1P1P2+G0P1P2P3P*=P0P1P2P3

第一百零二页,共一百一十八页,编辑于2023年,星期六4片74181芯片和1片74182芯片构成16位ALU第一百零三页,共一百一十八页,编辑于2023年,星期六两级先行进位中各个进位的生成顺序图:第一百零四页,共一百一十八页,编辑于2023年,星期六2.5.3--2.5.4自学要求:

1、了解内部总线、外部总线的概念。

2、看懂P.57图2.14。

3、认识单总线、双总线、三总线这三种不同运算器结构的主要特点。

注意:该内部总线仅指运算器内部总线,不要与整机系统的单总线结构等混淆。第一百零五页,共一百一十八页,编辑于2023年,星期六2.6.1浮点加法、减法运算设X=RExMx

,Y=REy

My为参加加/减运算的操作数(R=2),则两数参加加减运算的步骤为:1、零操作数检查2、对阶3、求和4、规格化5、舍入处理6.判断溢出一、步骤说明第一百零六页,共一百一十八页,编辑于2023年,星期六假设:X=2010×0.11011011,Y=2100×(-0.10101100)

求X+Y.1.求补:将以上两操作数表示成补码,即:

X=010,0.11011011

Y=100,1.01010100[Ex]补=010,[Ey]补=100,[-Ey]补=1002.6.1浮点加法、减法运算二、实例第一百零七页,共一百一十八页,编辑于2023年,星期六对阶:先求阶差,用减法完成。

ΔE=[Ex]补-[Ey]补=[Ex]补+[-Ey]补=00010+11100=11110<0∴Ex<Ey,采用小阶向大阶看齐的对阶法,让小阶加上阶差的绝对值以变成大阶,同时使小阶所对应的浮点数的尾数右移阶差的绝对值位.

温馨提示

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

最新文档

评论

0/150

提交评论