B14第2章运算方法与运算器_第1页
B14第2章运算方法与运算器_第2页
B14第2章运算方法与运算器_第3页
B14第2章运算方法与运算器_第4页
B14第2章运算方法与运算器_第5页
已阅读5页,还剩110页未读 继续免费阅读

下载本文档

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

文档简介

1、第2章 运算方法和运算器第2章 运算方法和运算器 2.1 数据信息的表示2.2 定点加减法运算 2.3 定点乘除运算 2.4 浮点数的运算方法 2.5 运算器的基本组成与实例 2.6 数据校验码1第2章 运算方法和运算器2.1 数据信息的表示2.1.1 数值型数据的表示2.1.2 数的编码表示2.1.3 数的定点和浮点表示2.1.4 十进制数的二进制编码表示 2第2章 运算方法和运算器2.1.1 数值型数据的表示1)进位计数制 2)不同数制间的数据转换3第2章 运算方法和运算器n采用位权表示法表示,有权的基R数制的数为: D=Di*Ri (i=n-1、1、0、-1、-2、 、 -k)R:基Ri

2、 :位i的权Di:位i的基本符号n:整数部分的位数k:小数部分的位数1)进位计数制4第2章 运算方法和运算器2)不同数制间的数据转换例: (AD.4)16 = (10101101.0100)2 = (255.2)8 = (173.25)10例:(135.8125)10= (10000111.1101)2 = (207.64)8 = (87.D)165第2章 运算方法和运算器2.1.2 数的编码表示1)无符号数和带符号数2)机器数的三种表示方式3)移码6第2章 运算方法和运算器1)无符号数和带符号数n无符号数 N1=01101 表示十进制数13N2=10011 表示十进制数19n带符号数N1=0

3、1101 表示十进制数+13N2=10011 表示十进制数-3/-13/-12带符号的二进制数在计算机中的表示形式称为机器数。正号用“0”表示,负号用“1”表示。机器数对应的数值(用“+”、“-”符号表示的原值)称为机器数的真值。机器数的三种表示方式:原码、补码及反码7第2章 运算方法和运算器n纯小数X的机器数为X0.X1X2 Xn,字长为n+1位,X0为符号位。n整数为X的机器数为XnXn-1Xn-2 X1X0,字长为n+1位,Xn为符号位。2)机器数的三种表示方式8第2章 运算方法和运算器定义 X 0X 1X原= 1-X =1+|X| -1 X 0 X 0X 2n X原= 2n-X = 2

4、n+|X| - 2n X 0 (1)原码9第2章 运算方法和运算器说明:X原=符号位+|X|0有两种表示形式实现加减运算较复杂10第2章 运算方法和运算器模数学上把一个计量系统的测量范围称为“模”。设X和Y两个数,以M为模,若满足X=YKM(K 为整数),则称Y是X对模M的补数。 记作:X=Y (mod M) 例如:时钟系统,其模为12。-2=10+(-1)1210是-2 对模12的补数,记作: -2=10 (mod 12)(2)补码11第2章 运算方法和运算器利用对模M的补数,减法运算可转换为加法运算。例如:针对时钟系统,有下式成立: 11-2=11+109129 (mod 12)在计算机中

5、,机器数具有一定的范围,属于有模运算 。例如:当机器数位数为8时,只能表示256个不同的定点数 ,其模为256。有下式成立:32-23=32+233 (mod 256)计算机中将X对模M的补数称为X的补码。12第2章 运算方法和运算器补码的定义 X 0X1X补= 2+X =2-|X| -1X0 (mod 2) X 0X 2n X补= 2n+1+X = 2n+1-|X| - 2n X0 (mod 2n+1) 13第2章 运算方法和运算器说明X补=模*符号位+X负数补码的实质是把负数映射到正数域0有唯一编码 +0补=0.0000补码的移位规则是:左移:高位移出,低位补0,若移出的数值最高位与符号位

6、不同,发生溢出。右移:低位移出,高位补符,移出时进行舍入操作。 14第2章 运算方法和运算器补码的填充规则是:定点小数:符号位不变,在数值位的末位后面补足0。定点整数:符号位不变,在符号位后用数符补足所需的位数。补码加减运算规则:X+Y补=X补+ Y补X-Y补=X补+ -Y补-Y补被称为Y补的机器负数。15第2章 运算方法和运算器变形补码采用双符号位的补码表示方法,称为变形补码。正数的双符号位为00,负数的双符号位为11,即模4补码或模2n+2补码。例如,已知:X=0.1011,Y=0.1011,求X、Y的变形补码。解:X补=0.1011 X变补=00.1011 Y补=1.0101 Y变补=1

7、1.010116第2章 运算方法和运算器反码的定义 X 0X1 X反= (2-2-n)+X -1X0 (mod 2-2-n) X 0X2n X反= (2n+1-1)+X -2nX0 (mod 2n+1-1)(3)反码17第2章 运算方法和运算器说明:0有两种表示形式实现加法运算时,若最高位有进位,需要把该值加到最低位上,才能得到正确结果18第2章 运算方法和运算器定义X移=2n+X - 2nX 2n说明移码可视为无符号数,它实质是把真值映射到0-2n+1-1正数域。便于比较数的大小。0有唯一编码。移码为00000作为机器0 (真值最小为- 2n)。 3)移码19第2章 运算方法和运算器 X 0

8、X 2n X补= 2n+1+X - 2n X0 (mod 2n+1)当 0X2n, X移=2n+X= 2n+ X补当-2n X0 , X移=2n+X= 2n+ X补- 2n+1 =-2n + X补将一个机器数的补码,符号位取反,数值位保持不变,即得X移。 补码与移码的关系 20第2章 运算方法和运算器移码的运算规则X+Y移= X移+Y补X-Y 移= X移+ -Y补21第2章 运算方法和运算器2.1.3 数的定点和浮点表示n定点数:指计算机在运算过程中,数据中小数点的位置固定不变。n浮点数:指计算机在运算过程中,数据中小数点的位置是浮动变化的。1)定点数2)浮点数 (1)浮点数的表示范围 (2)

9、规格化浮点数 (3)机器0、上溢、下溢 (4)实用浮点数-IEEE754标准22第2章 运算方法和运算器1)定点数数符数符小数点位置(隐含)小数点位置(隐含)原码表示范围-(2n - 1) ( 2n - 1)补码表示范围:- 2n (2n - 1)原码表示范围-(1-2-n) ( 1-2-n)补码表示范围:-1 (1- 2-n)23第2章 运算方法和运算器2)浮点数 定点小数(原码或补码)决定有效数字的精度定点整数(移码或补码)决定数的表示范围N=MRE24第2章 运算方法和运算器最大正数: (1-2-m) 2 2n-1 0 011 1111最小正数:2-m 2- 2n 0 100 0001绝

10、对值最大的负数:- 1 2 2n-1 1 011 0000绝对值最小的负数: -2-m 2 -2n 1 100 1111(1)浮点数的表示范围(设两部分皆用补码表示)25第2章 运算方法和运算器(2)规格化浮点数尾数最高数位必须是一个有效值 1/R|M|1原码 0.1XXXX. 1.1XXXX.当M=-1/2时 是规格化浮点数补码 0.1XXXX. 1.0XXXX当M=-1/2时 不是规格化浮点数26第2章 运算方法和运算器规格化浮点数与非规格化浮点数补码 (非规格化)最小正数: 2-m 2- 2n 0 10.0 00 01绝对值最小的负数: -2-m 2 -2n 1 10.0 11.1补码(

11、规格化)最小正数: 2-1 2- 2n 0 10.0 100绝对值最小的负数: (-2-1-2-m) 2- 2n 1 10.0 01.127第2章 运算方法和运算器浮点数表示0的问题-机器0尾数为0或阶码值小于所能表示的最小值上溢 (出错)阶码值大于所能表示的最大值下溢阶码值小于所能表示的最小值(3)机器0、上溢、下溢28第2章 运算方法和运算器例1: 已知,浮点数格式如下,阶符1位,阶码3位,数符1位,尾数7位,阶码、尾数均以补码形式表示,写出X=0.0000111B的规格化形式。解:M补=0.0000111规格化后:尾数 X补=0.1110000,阶码 E补=4补=1100。规格化浮点数形

12、式为: 数符 阶符 阶码 尾数29第2章 运算方法和运算器n例2:将十进制173507转换为下面典型的32位浮点数格式。(尾数的基数R=2,尾数隐藏最高位)解: (173507)10=(2A5C3)16 =(00101010010111000011)2 =(0. 101010010111000011)2218所以数符Ms=0,阶码E=(27+18)10=(10010010)2故173507的32位浮点数格式为:0 10010010 01010010111000011000000B即:492970C0H。30第2章 运算方法和运算器(4)实用浮点数-IEEE754标准浮点数由三部分组成:符号位M

13、s、指数部分E、尾数部分M。单精度格式(32位)符号位1位,E占8位,M占23位。双精度格式(64位)符号位1位,E占11位,M占52位。31第2章 运算方法和运算器单精度格式的表示法:约定小数点左边隐含有一位,通常这位数就是1,这样实际上使尾数的有效位数为24位,即尾数为1.M。(-1)Ms2E-127(1.M) 为规格化数 ,1表示隐含位32第2章 运算方法和运算器1)有权码8421码、2421码、5211码、4311码常用: 8421码-BCD码,注意运算结果的修正(35)10的8421码是() ?1+8=9、4+9=13、9+7=162)无权码-余3码余3码是在8421码的基础上把每个

14、代码都加0011而形成 (35)10的余3码是() ?2.1.4 十进制数的二进制编码表示33第2章 运算方法和运算器2.2 定点加减法运算2.2.1 补码加法运算 2.2.2 补码减法运算2.2.3 补码运算结果的溢出判断2.2.4 补码加减运算的实现电路34第2章 运算方法和运算器2.2.1 补码加法运算n补码加法运算公式:X+Y补=X补+ Y补n补码加法运算特点:符号位作为数的一部分参加运算符号位向上的进位丢失35第2章 运算方法和运算器例如:X=0.1010、Y=0.0011,求X+Y解:X补=0.1010,Y补=0.0011 X补 0.1010 + Y补 0.0011X+Y补 0.1

15、101 X+Y=+0.110136第2章 运算方法和运算器例如:X=+0.1011、Y=-0.0101,求X+Y解:X补=0.1011,Y补=1.1011 X补 0.1011 +Y补 1.1011 X+Y补 0.0110 X+Y=+0.011037第2章 运算方法和运算器2.2.2 补码减法运算n补码减法运算公式: X-Y补=X补+ -Y补例如:X=+0.0110,Y=+0.1101,求X-Y解:X补=0.0110,-Y补=1.0011 X补 0.0110 +-Y补 1.0011 X-Y补 1.1001 X-Y=-0.011138第2章 运算方法和运算器2.2.3 补码运算结果的溢出判断 两个

16、正数相加的结果成为负数 两个负数相加的结果成为正数1) 溢出概念39第2章 运算方法和运算器n在确定了运算字长和数据的表示方法后,机器所能表示数值的范围也就相应确定了,一旦运算结果超出了这个范围,就会产生溢出。n两个正数相加,结果大于机器所能表示的最大正数,称为上溢或正溢。而两个负数相加,结果小于机器所能表示的最小负数,称为下溢或负溢。 40第2章 运算方法和运算器2)溢出判别方法设: 被操作数 A补=fA,X1X2Xn 操作数 B补=fB,Y1Y2Yn操作(和或差)结果 S补=fS,S1S2Sn方法1: 单符号位判别法正溢负溢41第2章 运算方法和运算器方法2:双进位判别法负溢正溢Cf:符号

17、位产生的进位C:最高数值位产生的进位42第2章 运算方法和运算器方法3:双符号位判别法(变形补码)运算结果的两符号位相异时,表示溢出;相同时,表示未溢出。fS1fS2=01,正溢; fS1fS2=10,负溢。变形补码相加的结果,不论溢出与否,最高符号位始终指示正确的符号。43第2章 运算方法和运算器例如:X=+0.1100, Y=+0.1000求:X+Y解:X补=00.1100 Y补=00.1000 X补 00.1100 + Y补 00.1000 X+Y补 01.0100fS1fS2=01,表示结果正溢,即结果大于1。44第2章 运算方法和运算器例如:X=-0.1100, Y=-0.1000求

18、:X+Y解:X补=11.0100 Y补=11.1000 X补 11.0100 + Y补 11.1000 X+Y补 10.1100fS1fS2=10,表示结果负溢,即结果小于-1。45第2章 运算方法和运算器2.2.4 补码加减运算的实现电路X补Y补M方式控制M=0加法M=1减法=1FA一位线路46第2章 运算方法和运算器47第2章 运算方法和运算器2.3 定点乘除运算2.3.1 原码一位乘法2.3.2 补码一位乘法2.3.3 原码一位除法48第2章 运算方法和运算器2.3.1 原码一位乘法设 X原=X0.X1X2 Xn Y原=Y0.Y1Y2 Yn 则乘积 : Z原=( )|(0.X1X2Xn)

19、(0.Y1Y2Yn)1)手工计算乘积的过程00YX 0.1101 ) 0.1011 1101 1101 0000 )1101 0.10001111两个n位数相乘,乘积为2n位,需要2n位长的加法器。 49第2章 运算方法和运算器2)原码一位乘法的思想n采用部分积右移设:X、Y是两个正小数,X=0.X1X2Xn, Y=0.Y1Y2YnXY= X (0.Y1Y2Yn)=XY12-1+XY22-2+XYn2-n=2-1(XY1+2-1(XY2+2-1(+2-1(XYn-1+2-1(0+XYn)50第2章 运算方法和运算器设第i次部分积用Pi表示P0=0 P1=2-1(P0+YnX)P2=2-1(P1

20、+Yn-1X)Pi=2-1(Pi-1+Yn-i+1X) (i=0,1,2,n-1)Pn=2-1(Pn-1+Y1X)n经n次的判断、加法、右移,求出Pn,即获得运算结果51第2章 运算方法和运算器3)原码一位乘法流程图 52第2章 运算方法和运算器 4)实现原码一位乘法逻辑框图53第2章 运算方法和运算器5)例题 X=0.1101,Y=0.1011,求XY符号位 则:XY=+0.10001111000=54第2章 运算方法和运算器2.3.2 补码一位乘法1)补码与真值的转换关系若X补 = X0.X1X2 Xn 当真值大于或等于0时,X为正数,X0=0,X补=0.X1X2 Xn= =X当真值小于0

21、时,X为负数,X0=1,X补=1.X1X2Xn=2+X则:X=1.X1X2Xn2=1+所以,真值X与补码的关系:=niiiX12=niiiXXX102=niiiX1255第2章 运算方法和运算器2)补码的右移 设X补 = X0.X1X2Xn,由补码与真值的转换关系:所以 X/2 = -X0/2 +1/2 = -X0 + X0/2 +1/2 = -X0 + 根据补码与真值的关系:X/2补 = X0.X0X1X2Xn =niiiXXX102=niiiX12=niiiX12=niiiX0)1(256第2章 运算方法和运算器3)布斯(Booth)算法设X补=X0.X1X2Xn,Y补=Y0.Y1Y2Yn

22、XY补=X补 在乘数最末位Yn后面要增加一位补充位Yn+1 ,且Yn+1=0XY补=X补(Y1-Y0)+(Y2-Y1)2-1+(Yn-Yn-1)2 -(n-1)+(Yn+1-Yn)2-n=niiiiYY012)(57第2章 运算方法和运算器P0补=0P1补= P0补+(Yn+1-Yn) X补2-1P2补= P1补+(Yn-Yn-1) X补2-1Pn补= Pn-1补+(Y2-Y1) X补2-1Pn+1补= Pn补+(Y1-Y0) X补58第2章 运算方法和运算器补码一位乘法规则:开始时,部分积为。然后每一步都是在前次部分积的基础上,由判断位决定对X补的操作,再右移一位,得到新的部分积。如此重复n

23、+1步,最后一步不移位,便得到XY补。判断位规则: (1)如果Yn=Yn+1, 部分积加0; (2)如果YnYn+1=01,部分积加X补; (3)如果YnYn+1=10,部分积加-X补。59第2章 运算方法和运算器例:x= 0.1101,Y= -0.1011,用补码一位乘求XY 补n x补=00.1101(双符号 - x补=11.0011 Y补=1.0101(单符号)n部分积 乘数Yn Yn+1 说明 00.0000 1.010 1 0+ 11.0011 加- x补 11.001111.1001 1 1.01 0 1 右移1位+ 00.1101 加x补 00.0110 100.0011 01

24、1.0 1 0 右移1位+ 11.0011 加- x补 11.0110 0111.1011 001 1. 0 1 右移1位+ 00.1101 加x补 00.1000 00100.0100 0001 1. 0 右移1位+ 11.0011 加- x补 11.0111 0001 xy补= 1.01110001 xy=-0.1000111160第2章 运算方法和运算器2.3.3 原码一位除法加减交替法(不恢复余数法)X原=X0.X1X2 Xn Y原=Y0.Y1Y2 Yn商的符号:X0Y0 商的数值:|X| / |Y|符号位不参加运算,并要求|X|Y|。运算规则:用被除数减去除数。当余数为正时,商上1,

25、余数左移1位,减去除数;当余数为负时,商上0,余数左移1位,加上除数。上一步重复执行n次(设数值部分有n位)。当余数为正时,商上1;当余数为负时,商上0,加上除数(做恢复余数的操作)。 最后的余数为r2-n。61第2章 运算方法和运算器例题:已知 x=0.100,y=-0.101,用原码一位不恢复余数除法求(x/y)原|x|=00.100 |y|=00.101 (-|y|)补=11.011被除数(余数) 商 说明 00.100 +11.011 减除数加(-|y|)补 11.111 0 余数为负,商上0 11.110 0. 左移1位 +00.101 加除数加(|y|)补 00.011 0.1 余

26、数为正,商上1 00.110 0.1 左移1位 +11.011 减除数加(-|y|)补 00.001 0.1 1 余数为正,商上1 00.010 0.1 1 左移1位 +11.011 减除数加(-|y|)补 11.101 0.1 1 0 余数为负,商上0 , +00.101 加除数加(|y|)补 00.010(x/y)原=1.110( r )原=0. 0102-362第2章 运算方法和运算器2.4 浮点数的运算方法1)浮点数加减运算 n设有两个规格化浮点数:n运算结果(规格化浮点数):(1)对阶(2)尾数加/减采用双符号位。(3)规格化(4)舍入(5)检查阶码是否溢出运算流程 YXEYEXMY

27、MX22=,ZYXEZEYEXMMMYXZ222=63第2章 运算方法和运算器(1)对阶求阶差E=Ex-Ey保留大阶Ez=Max(Ex,Ey)小阶尾数右移|E|位。注意:对补码表示的尾数,符号位参加右移,并保持原符号位不变。为减少误差,可用附加线路,保留右移过程中丢掉的位。返回64第2章 运算方法和运算器(3)规格化操作全0,则置机器零。溢出,则右规(尾数结果右移一位,阶码Ez+1)不溢出,若有K个头0(如:补码,形如00.00或11.111),则左规(尾数结果左移K位,阶码Ez-K)。返回65第2章 运算方法和运算器(4)舍入方法截断法恒置1法0舍1入法返回66第2章 运算方法和运算器(5)

28、检查阶码是否溢出若阶码正常,加(减)运算正常结束 。若阶码下溢,置机器零(Ez=-MAX,z=0)。若阶码上溢,则置溢出标志 。返回67第2章 运算方法和运算器68第2章 运算方法和运算器例题:已知 X=20100.11011011, Y= 2100(-0.10101100),求X+Y。解:X和Y浮点补码表示形式为: 阶符 阶码 数符 尾数 X:00 010 00 11011011 Y:00 100 11 01010100对阶阶差E补=Ex补- Ey补=00,010+11,100=11,110即E =-2,表示Ex比Ey小,所以Mx右移 2位,得到Mx=00.0011011011保留阶码Ez补

29、=00.10069第2章 运算方法和运算器尾数求和: 00.0011011011 + 11.01010100 11.1000101011规格化操作:左规,尾数求和结果左移1位,阶码-1,得Mx+My补=11.0001010110 Ez补=00,100+11,111=00,011舍入: 附加位最高位为1在所得结果最低位+1,得Mx+My补=11.00010110,Mx+My=-0.11101010判溢出: 阶码符号位为00,不溢出。故X+Y=2011 (-0.11101010)70第2章 运算方法和运算器2)浮点数乘除运算XEXMX2=YEYMY2=n设有两个规格化的浮点数:YXYXEEYXEY

30、EXMMMMYX=2)()2()2((3)尾数结果规格化(若未规格化,需左规一次)(4)舍入(5)判溢出(阶码运算结果是否溢出)乘法运算步骤(1)阶码相加(2)尾数相乘71第2章 运算方法和运算器除法运算步骤(1)尾数调整若|Mx|My|,则Mx右移一位,Ex+1。这保证了尾数的商是一个定点小数。(2)阶码相减(3)尾数相除XEXMX2=(4) 舍入(5)判溢出(阶码运算结果是否溢出)由于尾数调整,尾数相除结果已是一个规格化定点小数。YXYXEEYXEYEXMMMMYX=2)/()2/()2(/n设有两个规格化的浮点数:YEYMY2=72第2章 运算方法和运算器2.5 运算器的基本组成与实例2

31、.5.1 运算器的基本组成2.5.2 算术逻辑运算单元2.5.3 定点运算器举例73第2章 运算方法和运算器2.5.1 运算器的基本组成nALUn专用寄存器- - -如:累加器、状态寄存器、移位寄存器及计数器等n通用寄存器组-保存参加运算的数据和运算结果n输出控制电路-具有移位功能,并能对输出结果的去向进行控制n输入选择电路-选择ALU的两个来源,选择数据形式并送至ALU的数据输入端74第2章 运算方法和运算器75第2章 运算方法和运算器2.5.2 算术逻辑运算单元n实现加减运算的关键部件是加法器,全加器是加法器的基本的加法单元。1)全加器FASiCiBiAiCi-1逻辑表达式为:Si=AiB

32、iCi-1Ci=AiBi+(Ai+Bi)Ci-176第2章 运算方法和运算器2)并行加法器nN位并行加法器由n个全加器组成。n所谓并行是指数据的各位同时送入加法器进行操作。(1)串行进位的并行加法器 FA Cn-1 Cn Bn An Sn FA FA A1 A2 B2 B1 贩 贩 贩 C2 C1 C0 S2 S1 77第2章 运算方法和运算器(2)并行进位加法器n因为Ci=AiBi+(Ai+Bi)Ci-1 令Pi=Ai+Bi 进位传递函数 Gi=Ai*Bi 进位产生函数 则Ci=Gi+PiCi-1n以4位加法器为例: C1=G1+P1C0C2=G2+P2C1=G2+P2G1+P2P1C0C3

33、=G3+P3C2=G3+P3G2+P3P2G1+P3P2P1C0C4=G4+P4G3=G4+P4G3+P4P3G2+P4P3P2G1+ P4P3P2P1C078第2章 运算方法和运算器n进位关系称为进位链,可以设计一组合逻辑电路实现。带有进位链的并行加法器称为并行进位加法器。79第2章 运算方法和运算器(3)分组并行进位加法器n分组是指将n位字长分成若干小组,组内实现先行进位,组间可串行进位,也可先行进位。n单级先行进位加法器组内实现先行进位,组间串行进位/ B4B1 4 位并行进位加法器 C0 C4 C8 C12 A16A13 S16S13 A4A1 4 位并行进位加法器 4 位并行进位加法

34、器 4 位并行进位加法器 S4S1 80第2章 运算方法和运算器 例题:如图,某加法器采用组内并行、组间串行的进位链,4位一组,写出进位信号C6的产生表达式。C6G6+P6 C5G6+P6(G5+P5C4)81第2章 运算方法和运算器n 多级先行进位加法器组内实现先行进位,组间先行进位。C4=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0 =G1*+P1*C0其中:G1*= G4+P4G3+P4P3G2+P4P3P2G1 P1*=P4P3P2P1 G1*:组进位产生函数 P1*:组进位传递函数 C8 =G2*+P2*C4=G2*+P2*G1*+P2*P1*C0C12=G3

35、*+P3*G2*+P3*P2*G1*+P3*P2*P1*C0C16=G4*+P4*G3*+P4*P3*G2*+P4*P3*P2*G1* +P4*P3*P2*P1*C082第2章 运算方法和运算器例题:如图,某加法器采用组内并行、组间并行的进位链,4位一组,写出进位信号C6的产生表达式。C6G6+P6 C5G6+P6(G5+P5C4) G6+P6(G5+P5(G1*+P1*C0)83第2章 运算方法和运算器4)基本逻辑运算的实现n函数发生器两变量可以构成16种组合函数例如:当s=0001,则F=A+B;当s=0100,则F=AB = 1 1 1 & & & & &

36、amp; 1 S 3 S 2 S 0 S 1 A B F n 使用门实现,一般选用一种/二种类型的门。 例如:与非门、或非门84第2章 运算方法和运算器n 利用加法器实现,但要封锁进位链以加法器第i位电路为例: Xi Yi M Ci-1 Fi & & 1 = 1 = 1 当M=0时,进行算术运算当M=1时,进行逻辑运算85第2章 运算方法和运算器2.5.3 定点运算器举例 Am2901n四位位片式结构的运算器。1)Am2901的内部结构(1)4位的ALU(2)通用寄存器组(3)Q寄存器(4)输入输出数据端D3D0 及Y3Y0 (5)I8I6的控制功能2)Am2901的引脚信号及

37、使用举例3) 4片Am2901组成16位的定点运算器86第2章 运算方法和运算器I6I7I82311235445返回87第2章 运算方法和运算器(1)4位的ALUALU实现8种运算功能,外部引入的I5I3三位编码完成功能选择。R、S表示ALU两个输入端数据,F为运算结果输出端数据。F=F3F2F1F0,F3为本片最高位取值。88第2章 运算方法和运算器ALU的二个输入端R、S可以接收数据的来源R来自:A端口逻辑0数据 D输入S来自:寄存器 B端口 A端口逻辑0数据Am2901选用了它们可能的全部12种组合中的8种。由I2I0编码选择。返回89第2章 运算方法和运算器(2)通用寄存器组16个4位

38、通用寄存器R0R15双端口输出:A口、B口A地址:A3A2A1A0选择Ri并将其内容送A端口B地址:B3B2B1B0选择Ri并将其内容送B端口单端口写入:B口采用B地址实现。ALU的输出F经移位寄存器送到寄存器组的输入端。(左移、直通、右移)RAM0、RAM3为移出、移入信号,即接收与发送移位数值的引线。返回90第2章 运算方法和运算器(3)Q寄存器能接收ALU的运算结果F;本身具有左、右移位功能(可以接收自己左移一位或右移一位的值)。 Q3、Q0为移出、移入信号(接收与发送移位数值的引线)返回91第2章 运算方法和运算器(4)输入输出数据端 D3D0 及Y3Y0D3D0:外部送入的4位数据Y

39、3Y0:4位输出数据,来源:寄存器A端口上的输出。ALU的运算结果Y3Y0受输出允许控制信号OE的控制。返回92第2章 运算方法和运算器(5)I8I6的控制功能选择向外部送出的数据是来自A还是来自ALU选择通用寄存器组和Q寄存器如何接收数据(直送、左移、右移)93第2章 运算方法和运算器返回94第2章 运算方法和运算器2)Am2901的引脚信号及使用举例(1) D R0A口地址:不用B口地址:0000I8 I6:011I5I3: 000I2I0:111Cn:0 D0D3 Y0Y3 I2I0 F=0 I5I3 P I8I6 G A0A3 Cn+4 B0B3 F3 Cn OVR OE Q0 CP

40、Q3 Vcc RAM0 GND RAM3 95第2章 运算方法和运算器(2)R3+1 R3A口地址:不用B口地址:0011I8 I6:011I5I3: 000I2I0:011Cn:1(3) R1+R2R2A口地址:0001B口地址:0010I8 I6:011I5I3: 000I2I0: 001Cn:096第2章 运算方法和运算器(4)(R0+R10)Q右移 R0QA口地址:1010B口地址:0000I8 I6:100I5I3: 000I2I0:001Cn:097第2章 运算方法和运算器3) 4片Am2901组成16位的定点运算器(1)4片的I8 I6、I5I3、I2I0使用相同的控制信号。(2

41、)4片的D3D0组成D15D0(3)4片的Y3Y0组成Y15Y0(4)时钟信号CLK接每片的CP(5)4片的A、B端口地址由外部送来的两组信号提供98第2章 运算方法和运算器(6)最高片的输出Cn+4、F3、OVR可用于设置进位、结果为负、溢出状态,4片的F=0000接在一起得到结果为0的信号。(C、 S 、V、 Z )(7)运算器最低位的进位Cn可能是0、1、C标志。可以用二位微码区分。 00-0、01-1、10-C。(8)RAM3-RAM0、Q3-Q0左移 RAM3-RAM0或RAM3-RAM0、Q3-Q0 右移 RAM3-RAM0或RAM3-RAM0、Q3-Q099第2章 运算方法和运算

42、器/ Vcc Y3Y0 D3D0 D7D4 Y7Y4 D11D8 Y11Y8 C4 C12 Y15Y12 C0 C8 B0B3 C S V /OE I0I8 A0A3 CLK Z Y3 Y0 D3 D0 /P /G Cn+4 Cn Q3 Q0 RAM3 RAM0 Am2901 F3 B0 B3 OVR A0 A3 I0 I8 F=0 CP /OE D15D12 Y3 Y0 D3 D0 /P /G Cn+4 Cn Q3 Q0 RAM3 RAM0 Am2901 F3 B0 B3 OVR A0 A3 I0 I8 F=0 CP /OE Y3 Y0 D3 D0 /P /G Cn+4 Cn Q3 Q0 R

43、AM3 RAM0 Am2901 F3 B0 B3 OVR A0 A3 I0 I8 F=0 CP /OE Y3 Y0 D3 D0 /P /G Cn+4 Cn Q3 Q0 RAM3 RAM0 Am2901 F3 B0 B3 OVR A0 A3 I0 I8 F=0 CP /OE 组间串行进位100第2章 运算方法和运算器组间并行进位/ Vcc Y3Y0 D3D0 D7D4 Y7Y4 D11D8 Y11Y8 C4 C12 Y15Y12 Am2902 C0 C8 /P3 /G0 /P0 /G3 Cn+z /G2 Cn+y /G1 Cn+x /P2 /P1 /P /G Cn B0B3 C S V /OE

44、I0I8 A0A3 CLK Z Y3 Y0 D3 D0 /P /G Cn+4 Cn Q3 Q0 RAM3 RAM0 Am2901 F3 B0 B3 OVR A0 A3 I0 I8 F=0 CP /OE D15D12 Y3 Y0 D3 D0 /P /G Cn+4 Cn Q3 Q0 RAM3 RAM0 Am2901 F3 B0 B3 OVR A0 A3 I0 I8 F=0 CP /OE Y3 Y0 D3 D0 /P /G Cn+4 Cn Q3 Q0 RAM3 RAM0 Am2901 F3 B0 B3 OVR A0 A3 I0 I8 F=0 CP /OE Y3 Y0 D3 D0 /P /G Cn+4

45、 Cn Q3 Q0 RAM3 RAM0 Am2901 F3 B0 B3 OVR A0 A3 I0 I8 F=0 CP /OE 101第2章 运算方法和运算器2.6 数据校验码n常用的数据校验码:奇偶校验码海明校验码循环冗余校验码102第2章 运算方法和运算器2.6.1 奇偶校验码n能发现数据代码中一位或奇数位出错情况的编码。n实现方法:为一个字节补充一个二进制位,称为校验位,设置校验位为0或1,使字节8位和该校验位含有1值的个数为奇数(奇校验)或偶数(偶校验)。例如:待编码有效信息为:01010100 偶校验的编码为: 101010100 奇校验的编码为: 001010100校验位可在首位或末位103第2章 运算方法和运算器1)编码n偶形成P=D8D7 D6 D5 D4 D3 D2 D1若D8D1中有偶数个1,则P=0若D8D1中有奇数个1,则P=1n奇形成P=D8D7 D6 D5 D4 D3 D2 D1若D8D1

温馨提示

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

评论

0/150

提交评论