资源描述
,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,2.5,定点运算器的组成与结构,2,计算机的基本逻辑运算,按位求反,即求反运算使,1,变,0,,,0,变,1,。,若数,x=x,0,x,1,x,2,x,n,,则 。,2.5.1,逻辑运算,1,逻辑数,通常用“,1”,表示逻辑真,用“,0”,表示逻辑假的非数值数据。,(,1,)逻辑非()运算,对两个数进行逻辑加,就是按位求它们的,“,或,”,,,若,x=x,0,x,1,x,2,x,n,,,y=y,0,y,1,y,2,y,n,,,x,y,=Z=Z,0,Z,1,Z,2,Z,n,,则,Z,i,=,x,i,y,i,(i=0,,,1,,,2,,,,,n),。,(,2,)逻辑加(,或,+,)运算,2.5.1,逻辑运算,(,3,)逻辑乘(,或,)运算,对两数进行逻辑乘,就是按位求它们的,“,与,”,。,若,x=x,0,x,1,x,2,x,n,,,y=y,0,y,1,y,2,y,n,,,若,xy,=Z=Z,0,Z,1,Z,2,Z,n,,,则,Z,i,=,x,i,y,i,(i=0,,,1,,,2,,,n),。,(4),逻辑异(,)运算,若,x=x,0,x,1,x,2,x,n,,,y=y,0,y,1,y,2,y,n,,,x,y,=Z=Z,0,Z,1,Z,2,Z,n,,,则,Z,i,=,x,i,y,i,(i=0,,,1,,,2,,,n),。,对两数进行逻辑异,就是按位求它们的模,2,加。,解:,0100,x,y,1111,x,y,0001,x,y,1110,【,例,2.29】,设两数,x=1011,,,y=0101,,求 ,,xy,,,xy,,,xy,。,2,计算机的基本逻辑运算,2.5.1,逻辑运算,3,逻辑运算的特点,按位进行,各位的结果互不牵连;所以无借位,,进位,溢出等问题;,每一位都可看成一个逻辑变量。,所以无符号位,,数值位,阶码和尾数的区分。,运算简单;,2.5.2,多功能算术,/,逻辑运算单元,(,74181,),由控制参数,S,3,S,2,S,1,S,0,将操作数,A,i,、,B,i,组成函数,X,i,、,Y,i,,再送全加器相加,由于,S,3,S,2,S,1,S,0,有不同的组合,另加算逻运算控制端,M,,便可实现多种算逻运算。,1,设计多功能算术逻辑部件的基本思想,F,i,B,i,X,i,全加器,函数发生器,C,n+i+1,C,n+i,Y,i,A,i,S,0,S,1,S,2,S,3,图,2.18 ALU,的逻辑结构框图,式中:,i=0,,,1,,,2,,,3,是同一片,ALU,的二进制位数;,n,为多片组成,ALU,的每片进位输入,如,n=0,,,4,,,8,。,算逻运算单元的逻辑式:,F,i,=,X,i,Y,i,C,n+i,C,n+i+1,=,X,i,Y,i,+Y,i,C,n+i,+X,i,C,n+i,2,.,5.2,多功能算术逻辑部件,(,74181,),(,1,)与控制参数和输入量的关系,2,逻辑表达式,得,:X,i,=S,2,S,3,+S,2,S,3,(A,i,+B,i,)+S,2,S,3,(A,i,+B,i,)+S,2,S,3,A,i,Y,i,=S,0,S,1,A,i,+S,0,S,1,A,i,B,i,+S,0,S,1,A,i,B,i,化简得:,X,i,=S,3,A,i,B,i,+S,2,A,i,B,i,Y,i,=A,i,+S,0,B,i,+S,1,B,i,可以证明:,X,i,+Y,i,=X,i,X,i,Y,i,=Y,i,2.5.2,多功能算术逻辑部件,(,74181,),2,逻辑表达式,(,2,)全加器,全加和,F,i,=X,i,Y,i,C,n+i,全加进位,C,n+i+1,=,X,i,Y,i,+(X,i,+Y,i,),C,n+i,(,2.45,),由于,X,i,Y,i,=,Y,i,X,i,+Y,i,=,X,i,所以,C,n+i+1,=,Y,i,+X,i,C,n+i,可见,,X,i,既是一个操作数,又是进位传递函数;,Y,i,既是一个操作数,又是进位产生函数。,2.5.2,多功能算术逻辑部件,(,74181,),2,逻辑表达式,(,3,),74181 ALU,片内进位递推公式,令,G=Y,3,+X,3,Y,2,+X,3,X,2,Y,1,+X,3,X,2,X,1,Y,0,称,G,为,4,位片,74181,的进位产生函数。,令,P=X,3,X,2,X,1,X,0,称,P,为,4,位片,74181,的进位传递函数。,C,1,=Y,0,+X,0,C,0,(,C,0,=,C,n,),C,2,=Y,1,+X,1,C,1,=,Y,1,+X,1,Y,0,+X,1,X,0,C,0,C,3,=Y,2,+X,2,C,2,=,Y,2,+X,2,Y,1,+X,2,X,1,Y,0,+X,2,X,1,X,0,C,0,C,4,=Y,3,+X,3,C,3,=,Y,3,+X,3,Y,2,+X,3,X,2,Y,1,+X,3,X,2,X,1,Y,0,+X,3,X,2,X,1,X,0,C,0,(,2.49,),Cn+4=,G+PCn,2,逻辑表达式,(,5,),74181 ALU,的工作方式,2.5.2,多功能算术逻辑部件,(,74181,),正逻辑,A=,负逻辑,A,负逻辑,A=,正逻辑,A,关键:,X,Y=X,Y,F,i,=X,i,Y,i,C,i,=X,i,Y,i,C,i,小结:同一个,ALU,电路,既可以用于负逻辑,数,也可用于正逻辑数,方便。使,用哪一种逻辑数,取决于数据通路的,电平配合,省器件,速度。,3,74181 ALU,实现的算术,/,逻辑运算,(,2,),M,S,3,-S,0,控制的操作类型,2.5.2,多功能算术逻辑部件,(,74181,),由,16,片,74181,组成,64,位,ALU,16,74181,A,63,A,60,F,63,F,60,B,63,B,60,15,74181,A,59,A,56,F,59,F,56,B,59,B,56,C,64,C,60,2,74181,A,7,A,4,F,7,F,4,B,7,B,4,C,8,C,4,C,56,1,74181,A,3,A,0,F,3,F,0,B,3,B,0,C,0,图,2.20,组内并行进位、组间串行进位的,ALU,组成框图,特点:组(片)内并行进位,组(片)间串行进位。,进一步提高速度的做法:,使组间并行进位。,C,4,=G,0,+P,0,C,0,C,8,=G,1,+P,1,C,4,=G,1,+P,1,G,0,+P,1,P,0,C,0,C,16,=G,3,+P,3,C,12,=G,3,+P,3,G,2,+P,3,P,2,G,1,+P,3,P,2,P,1,G,0,+P,3,P,2,P,1,P,0,C,0,C,12,=G,2,+P,2,C,8,=G,2,+P,2,G,1,+P,2,P,1,G,0,+P,2,P,1,P,0,C,0,4,先行进位部件,74182 CLA,4,先行进位部件,74182 CLA,(,1,),74182 CLA,进位逻辑式,P*=P,3,P,2,P,1,P,0,C,n+x,=,G,0,+P,0,C,n,=G,0,P,0,+G,0,C,n,C,n+y,=,G,1,+P,1,G,0,+P,1,P,0,C,n,C,n+z,=,G,2,+P,2,G,1,+P,2,P,1,G,0,+P,2,P,1,P,0,C,n,G*=G,3,+P,3,G,2,+P,3,P,2,G,1,+P,3,P,2,P,1,G,0,(2.50,),C,4,=G,0,+P,0,C,0,C,8,=G,1,+P,1,C,4,=G,1,+P,1,G,0,+P,1,P,0,C,0,C,12,=G,2,+P,2,C,8,=G,2,+P,2,G,1,+P,2,P,1,G,0,+P,2,P,1,P,0,C,0,n=0,x=4,y=8,z=12,C=G,*,+P,*,C,n,C,16,=G,3,+P,3,C,12,=G,3,+P,3,G,2,+P,3,P,2,G,1,+P,3,P,2,P,1,G,0,+P,3,P,2,P,1,P,0,C,0,2.5.2,多功能算术逻辑部件,(,74181,),4,先行进位部件,74182 CLA,P,3,G,3,P,2,G,2,P,1,G,1,P,0,G,0,C,n,P*,G*,C,n+z,C,n+y,C,n+x,图,2.21,成组先行进位部件,CLA,的逻辑电路图,2.5.2,多功能算术逻辑部件,(,74181,),4,先行进位部件,74182 CLA,(,2,),74182 CLA,与,74181 ALU,的配套使用,例子:由,2,片,74182,和,8,片,74181,组成的,32,位,ALU,P*,G,P,C0,G,P,C0,G,P,C0,G,P,C0,CLA(74182),C,n+z,C,n+y,C,n+x,G*,P,3,G,3,P,2,G,2,P,1,G,1,P,0,G,0,P*,G,P,C0,G,P,C0,G,P,C0,G,P,C0,CLA(74182),C,n+z,C,n+y,C,n+x,G*,C,out,C,in,图,2.22,用两个,16,位全先行进位逻辑级联组成的,32,位,ALU,(,2,),74182 CLA,与,74181 ALU,的配套使用,例子:由,2,片,74182,和,8,片,74181,组成的,32,位,ALU,P*,G,P,C0,G,P,C0,G,P,C0,G,P,C0,CLA(74182),C,n+z,C,n+y,C,n+x,G*,P,3,G,3,P,2,G,2,P,1,G,1,P,0,G,0,P*,G,P,C0,G,P,C0,G,P,C0,G,P,C0,CLA(74182),C,n+z,C,n+y,C,n+x,G*,C,out,C,in,图,2.22,用两个,16,位全先行进位逻辑级联组成的,32,位,ALU,C,7,=y,6,+x,6,y,5,+x,6,x,5,y,4,+x,6,x,5,x,4,C,4,C,18,=y,17,+x,17,y,16,+x,17,x,16,C,16,C,25,=y,24,+x,24,C,24,C,4,=G,0,+P,0,C,0,C,16,=G,3,+P,3,C,12,C,24,=G,5,+P,5,G,4,+P,5,P,4,C,16,C,16,C,4,C,8,C,12,C,20,C,24,C,28,C,32,2.5.2,多功能算术逻辑部件,(,74181,),4,先行进位部件,74182 CLA,(,2,),74182 CLA,与,74181 ALU,的配套使用,C,n+x,,,C,n+y,,,C,n+z,和,P*,,,G*,由,74182,产生。,当,n=0,时,,C,n+x,=C,4,,,C,n+y,=C,8,,,C,n+z,=C,12,,,C,4,,,C,8,,,C,12,同时形成。,P*,是三级先行进位的中组进位传递函数,,G*,是三级先行进位的中组进位产生函数。,P,i,(i,=,0,7,),,,G,i,(i=,0,7,),由,74181,产生。,2.5.3,运算器数据通路,数据通路,计算机中信息(数据,指令,地址等)传输所经过的路径,连同路径上的设备(如寄存器,控制逻辑门,加工部件等)统称为数据通路。,算逻部件,ALU,是数据通路的核心部件之一。,1,通用寄存器,、,累加器,和,锁存器,(,1,)通用寄存器,多通用寄存器(,GRS,)是现代计算机系统结构的特点之一。,特点:,程序可访问。,组成:,由,n,个触发器组成,n,位字长的寄存器,应用:,存放操作数(包括常数),支持多种寄存器寻址方式等。,返回,例如算逻指令,,I/O,指令等。,累加器是指令系统中,很多指令都与其有关的寄存器。,(,2,)累加器,返回,(,3,)锁存器,用于存储数据,程序不可访问。,返回,图,2.23,一位锁存器,Q,Q,D,A,Q,接收,锁存,2.5.3,运算器数据通路,总线,能为多个功能部件传送信息的一组传输线。,4,总线部件,2.5.3,运算器数据通路,4,总线部件,(1),总线的分类,双向总线,-,可以双方向传送信息的总线,如,DB,。,按所处的位置不同分:,内部总线,-CPU,内各部件之间互相连接的总线;,按逻辑结构的不同分:,单向总线,-,只能单方向传送信息的总线,,,如,AB,、,CB,;,外部总线,(,系统总线,)-,系统内各大部件,(CPU,,,MEM,,,I/O),之间的连接总线。,2.5.3,运算器数据通路,4,总线部件,(2).,实现总线连接的三态缓冲器,三态:输出电平可具有,“,逻辑,1,”,、,“,逻辑,0,”,或高阻(浮空)状态。,图,2.29,三状态驱动器,总线,A,ABUS,B,BBUS,C,CBUS,2.5.3,运算器数据通路,4,总线部件,(3).,带有缓冲器的双向数据总线,2.5.4,定点运算器的基本结构及组成实例,1,定点运算器的基本结构,特点,:,控制电路简单,操作速度比较慢。,(1),单总线结构的,ALU,双操作数分时经总线进入锁存器,A,和,B,,结果也通过单总线送回。,ALU,A,B,通 用,寄存器,特 殊,寄存器,单总线,(a),单总线结构的运算器,锁存器,特点,:,操作速度较快。例如:加法操作,(2).,双总线结构的,ALU,两操作数通过各自的总线送到加法器运算,结果通过其中一总线送回。,2.5.4,定点运算器的基本结构及组成实例,1,定点运算器的基本结构,ALU,通 用,寄存器,特 殊,寄存器,特 殊,寄存器,缓冲器,总线,1,总线,2,(b),双总线结构的运算器,2.5.4,定点运算器的基本结构及组成实例,1,定点运算器的基本结构,特点,:,操作速度快,,,但所需总线多。,(3),三总线结构的运算器,两操作数和操作结果通过各自的总线传送。,例如:加法操作,*,总线旁路器:使传送操作经它直接输出,速度快,ALU,通 用,寄存器,特 殊,寄存器,(c),三总线结构的运算器,总 线,旁路器,总线,1,总线,2,总线,3,2.5.4,定点运算器的基本结构及组成实例,2,运算器组成实例,传送,(,1,)实现的操作,实现定点算术运算有五种:加法、减法、加反、加,1,和求补,逻辑运算仅有二种:逻辑非(取反)和逻辑乘(与),(,2,)运算器的组成,四个通用寄存器,R,0,R,3,;,ALU,的左、右输入门各由二级多路开关组成,;,进位寄存器,C,y,。,16,位字长的全加器;,移位输出门可实现直送、左移一位、右移一位和半字交换的操作;,判,0,线路,PL,;,R,0,R,1,R,2,R,3,R,0,R,1,R,2,R,3,LDR,3,BUS,00 01 10 11,直 左 右 交,01 10 11,判零逻辑,PL,A,1,S,0,A,1,S,1,A,2,S,0,A,2,S,1,A,1,AR,DR,A,2,00 01 10 11,01 10 11,B,1,S,0,B,1,S,1,B,2,S,0,B,2,S,1,B,1,PC,IR,B,2,R,0,LDR,0,R,1,LDR,1,R,2,LDR,2,R,3,+1,C,y,去内存,移位器,YS,0,YS,1,图,2.32,某计算机的运算器逻辑框图,2,运算器组成实例,A L U,2.6,浮点运算方法和浮点运算器,浮点加减法,(,2.51,),(,E,x,E,y,),浮点数的运算包括了阶和尾数两部分的运算,,它们的运算可以使用任一种相应的定点运算进行。,(,E,x,E,y,),或,(,2.52,),(,2.55,),浮点乘法:,浮点除法:,(,0,),2.6.1,浮点加减法运算,1.,对阶,-,使两个浮点数阶码取得一致的过程。,(,1,)作用:对齐小数点。,(,2,)原则:小阶向大阶看齐。,若,E0,,将,My,右移,每右移一位,,E-1E,,直到,E=0,为止;,3.,结果规格化,(,以双符号位补码为例,),2.,取大阶,Max(Ex,,,Ey,),,,尾数相加减。,用补码表示的规格化尾数为:,00.1 x x x x,11.0 x x x x,即符号位与最高数值位相异。,否则,须进行规格化。,0.0111,补,=0.0111,0.1000,补,=0.1000,0.1001,补,=0.1001,0.1111,补,=0.1111,0.1000,补,=1.1000,0.1001,补,=1.0111,0.1111,补,=1.0001,1.0000,补,=1.0000,3.,结果规格化,(,以双符号位补码为例,),可以证明:浮点加减运算右规的次数最多是一次。,(,1,)右规:,条件:运算结果两尾符不相同时,,即,N=S,0,S,0,=1,方法:尾数右移,阶码加,即,Max(Ex,Ey)+1,。,如,01.x x x x ,00.1x x x,且 阶码,+1,10.x x x x ,11.0 x x x,且阶码,+1,即两位符号位相异时作右规处理。,3.,结果规格化,(,以双符号位补码为例,),方法:尾数左移,阶码减。,(,2,)左规,条件:结果非零且为正,尾数最高位,M,1,=0,,,或结果为负,尾数最高位,M,1,=1,时,,即,N,L,=,0,(R0)+S,0,S,0,M,1,*,尾数为全,0,,不进行规格化。,如,00.0 x x x x,00.1x x x x,且阶码,1,11.1 x x x x,11.0 x x x x,且阶码,1,即符号位与最高数值位相同时作左规处理。,规格化处理包括两个方面,两位符号位相异,(,右规,),01.x x x x 00.1x x x,且 阶码,+1,10.x x x x 11.0 x x x,且阶码,+1,符号位与最高数值位相同,(,左规,),00.0 x x x x 00.1x x x,且 阶码,1,11.1 x x x x 11.0 x x x,且阶码,1,c.,判断补码表示的尾数规格化的逻辑表达式为:,N=,(,2.10,),其中,,M,s,为数符,,M,1,为补码尾数的最高位。,可见,当,N=1,时,尾数为规格化尾数。,如尾数是,01,.x x x x 00.1x x x,且 阶码,+1,尾数是,10,.x x x x 11.0 x x x,且,阶码,+1,即两位符号位相异时作,右规,处理。,如尾数是,00.0,x x x x,00.,1,x x x x,且,阶码,1,尾数是,11.1,x x x x,11.0,x x x x,且阶码,1,即符号位与最高数值位相同时作,左规,处理。,2.6.1,浮点加减法运算,4.,舍入,根据一定规则,将数的最低位或低位若干位舍去,而对保留位的数进行修正,称为舍入。,多次舍入不造成误差积累。,:,尾数右移时,为减少误差,需进行舍入处理。,(,1),什么叫舍入?,(,2,)对舍入方法的要求,:,单次舍入引起的误差不超过保留数最低位的位权;,4.,舍入,缺点:,“,1,入时”需多做一次加法运算,-,费时,并可能引起右规的操作。,(,3,)常用的舍入法:,0,舍,1,入,法:,凡舍去部分的最高位为,1,,则在保留数的最低位加,1,。,凡舍去部分的最高位为,0,,则不必修正。,例:,用“,0,舍,1,入”法舍入,保留,5,位(包括一位符号位),X,原,=1.1010,011,1.1010,Y,补,=1.1010,100,1.1010,优点:,舍入引起的误差小。,Y,补,=1.1010,100,Y=,0.0101,100,(,1,入,),Y=,0.0110,Y,补,=1.1010,Y,补,=1.1010,101,1.1011,Y,补,=1.1010,101,Y=,0.0101,011,(,0,舍,),Y=,0.0101,Y,补,=1.1011,就近舍入,朝,0,舍入,朝,+,舍入,朝,-,舍入。,“,恒置,1,”,舍入法:,只要有低位数字丢失,则在保留数的最低位置,1,。,例:用,“,恒置,1,”,法舍入,保留,5,位(包括一位符号位),X,原,=1.1010,011,1.1011,Y,补,=1.1010,100,1.1011,优点:舍入处理不用作加法运算,速度快。,缺点:单次或很少有限次舍入所产生的误差大。,IEEE754,标准中,提供四种可选的舍入处理法:,2.6.1,浮点加减法运算,5.,溢出及其处理,若结果的阶正上溢,则将溢出标志置,通知控制部件,,转中断处理或停机。,当阶码用补码表示时,阶码的符号位为,00,、,11,时没有溢出。,阶码的符号位为,01,、,10,时溢出,2.6.1,浮点加减法运算,6,浮点加减法运算操作流程,小阶加,1,尾数右移,1,位,y,变符号,x=0?,zx,加 法,是,是,否,图,2.33,浮点加减运算操作流程,减 法,y=0?,zy,阶码相同,?,z,另一数,尾数,=0?,否,尾数加法,(带符号),z0,尾数,=0?,尾数右移,1,位,阶码加,1,尾数上溢,报告上溢,阶码上溢,否,尾数左移,1,位,阶码减,1,报告下溢,阶码下溢,已是规格化,取指定位数,舍入处理,否,是,是,是,是,否,否,是,否,否,是,是,否,结 束,0,操作数检查,对阶操作,尾数加减,结果规格化,上式中,(,1,),表示,M,y,右移一位后移出的最低位尾数。,【,例,2.34】,设二进制数,x=2,010,0.10010010,,,y=2,011,(,0.11110111),,阶,6,位(包括,2,位阶符),尾数,10,位,(,包括,2,位尾符),用补码浮点运算求,x+y,的值。,解:,从给定条件得到,2,个操作数浮点表示的机器数为:,x,浮,=111110,,,00.10010010,y,浮,=111101,,,11.00001001,(1),求阶差并对阶,E,补,=E,x,补,+,E,y,补,=111110+000011=000001,即,E=1,,,y,的阶码小,应将,M,y,右移一位,,E,y,加,1,。,y,浮,=111110,,,11.10000100,(1),由于两位阶符为,11,,不是,01,,因此无溢出。,最终的结果为,x+y,=2,101,0.10110100,00.10010010,+11.10000100(1),00.00010110(1),(,2,)将对阶后的尾数相加,(,3,)规格化处理并舍入,运算结果尾数不是规格化,此处应执行左规处理,尾数左移,3,位,阶码减,3,,用加二进制数,11,补,(,111101,),即,x+y,浮,=111011,,,00.10110100,(,4,)溢出检查,2.6.2,浮点乘除法运算,则,(,2.52,),1,浮点乘法运算,浮点乘法运算包括以下四个步骤:,(,2.53,),(2.54),S,0,S,0,00,结果为负,01,结果为正,10,结果上溢,11,结果下溢,E,x,+,E,y,移,=E,x,移,+,E,y,补,=2,n+1,+E,x,+,E,y,移,(mod 2,n+1,),(2),阶码相加(阶码用移码),移码双符号位的最高符号位恒用,0,参加加,/,减运算,,若运算结果双符号位,S,0,S,0,则,E,x,E,y,移,=E,x,移,+,E,y,补,(mod 2,n+1,),对被乘数和乘数判零,若有操作数为零,则 乘积为零,无需运算。,运算结果大于所能表示的正数,111,,发生溢出,【,例,2.35】,已知二进制数,x=101,,,y=,111,,试用,5,位移码(包括,2,位符号位)求,x+y,移,和,x,y,移,,并判断,是否发生溢出。,解:,依定义:,x,移,=01 101,,,y,移,=00 001,,,y,补,=11 001,,,y,补,=00 111,x+y,移,=x,移,+y,补,=01 101+11 001,=00 110,运算结果正确,,x+y,=,010,。,x-y,移,=x,移,+,y,补,=01 101+00 111,=10 100,浮点乘法运算包括以下四个步骤:,(3,)尾数相乘,(4),结果规格化,用相应机器数的定点乘法算法进行,【,例,2.36,】,设有两个二进制浮点数,x=2,-101,0.0110011,,,y=,2,011,(,0.1110010),,,阶码用,4,位移码表示,尾数(包含,1,位符号位)用,8,位补码表示,用浮点乘法运算求,x,y,的值。要求写出运算过程,运算结果尾数保留高,8,位(含符号位),采用,“,0,舍,1,入,”,法处理舍入操作。,(2,)阶码相加,(1,)对被乘数和乘数判零,若有操作数为零,则 乘积 为零,无需运算。,E,x,+,E,y,移,=E,x,移,+,E,y,补,=00 010+00 011=00 101,,,真值为,3,。,解:,移码采用双符号位,尾数补码采用单符号位。由于,x,不是规格化数,应变为规格化数,即,x=2,-110,0.1100110,,则有,E,x,移,=00 010 ,M,x,补,=0.1100110,E,y,移,=01 011 M,y,补,=1.0001110,x,浮,=00 010,,,0.1100110,,,y,浮,=01 011,,,1.0001110,(1),求阶码之和,x,y,=2,11,(0.1011011),(2),尾数相乘采用补码阵列乘法器实现,为,M,y,为负数,求补得,|M,y,|,0.1110010,,,|,M,x,|M,y,|=0.11001100.1110010,=0.1011010,1101100,由于结果已是规格化尾数,不必再规格化。,另外对低,7,位乘积进行舍入处理,此例采用,“,0,舍,1,入,”,或,“,恒置,1,”,法,结果相同。,故有,xy,浮,=00 101,1.0100101,2.6.2,浮点乘除法运算,浮点除法运算包括以下四个步骤:,(1,),检测除数,若为零,则做出错处理。若除数非零,则检 测被除数,若为零,则商为零,无需运算。,(2,)阶码相减,(4,)结果规格化,2,浮点除法运算,(3,)尾数相除,2.6.3,浮点运算器的组成,1,浮点运算器的一般结构,E,1,图,2.34,浮点运算器的一般结构,阶码部件,E,2,E,AC,尾数部件,MQ,DR,加法器,加法器,阶码部件,E,1,,,E,2,:阶码寄存器,加法器:求阶的和或差,E,1,E,2,E,:阶差计数器,有加,1,减,1,功能,阶差为正,小阶尾数右移,每右移一位,阶差减,1,,直到,E=0,阶差为负,小阶尾数右移,每右移一位,阶差加,1,,直到,E=0,寄存结果的阶码值,返回,尾数部件,加减法:,(AC),(DR)AC,乘法:,(DR)(MQ)AC-MQ,除法:,(AC)(DR)AC-MQ,返回,2.6.3,浮点运算器的组成,1,浮点运算器的一般结构,E,1,,,E,2,:阶码寄存器,加法器:求阶的和或差,E,1,+E,2,E,:阶差计数器,有加,1,减,1,功能,阶差为正,小阶尾数右移,每右移一位,阶差减,1,,直到,E=0,阶差为负,小阶尾数右移,每右移一位,阶差加,1,,直到,E=0,寄存结果的阶码值,加减法:,(AC),(DR)AC,乘法:,(DR)(MQ)AC-MQ,除法:,(AC)(DR)AC-MQ,(1).,阶码部件,(2).,尾数部件,2.6.3,浮点运算器的组成,1,浮点运算器的一般结构,(3,)定浮点组合运算器,A.,定,-,浮点机的数据格式,数符 阶 尾数,数符 尾数,浮点:,定点:,B.,定,-,浮点运算,2.6.3,浮点运算器的组成,包括四步:求阶差、对阶、尾数(加,/,减)运算和结果规格化处理。,(1),浮点加减法运算步骤,2,浮点流水运算部件,图,2.35,浮点加减运算执行次序,1,求阶,差,(S,1,),对阶,(S,2,),尾数,运算,(S,3,),规格,化处,理,(S,4,),2,3,4,图,2.36,四级流水浮点加,/,减运算的基本结构,S,4,L,S,3,L,S,2,L,S,1,L,输入,输出,L,时钟,C,流水线需在各个过程段之间设置高速缓冲寄存器,L,2.6.3,浮点运算器的组成,2,浮点流水运算部件,(,2,)线性流水线时钟周期,=,max,i,+,l,=,m,+,l,(2.56),式中,max,i,表示取所有过程段中所需的最长操作时间。,从理论上说,一个具有,k,级过程段的流水线处理,n,个任务所需的时钟周期数为:,非流水线的硬件来处理,n,个任务所需的时钟周期数为:,T,L,=,n,k,(2.58),T,k,=,k+(n,1),(2.57),图,2.37,流水线加工方式的时空图,W,n-1,W,n,W,n,W,n-1,W,n,W,n,W,n-1,W,1,W,2,W,3,W,1,W,2,W,3,W,1,W,2,W,1,W,2,W,3,S,k-1,S,k,S,1,S,2,0,1,2,3,k-1,k,k+1,k+2,n-2,n-1,n,n+1,n+k-3,n+k-1,起始段,饱和段,结束段,W,n-1,W,n,W,1,W,2,W,3,T,(,),2.6.3,浮点运算器的组成,2,浮点流水运算部件,(,3,),K,级线性流水线的加速比,C,K,C,k,=T,L,/,T,k,=(,nk,)/,k+(n,1),(2.59),当,nk,时,,C,k,k,可见,理论上,k,级,线性流水线处理速度几乎是非流水线处理速度的,k,倍。,【,例,2.37,】,设由四级过程段组成浮点流水加,/,减法的运算过程,并设每个过程段所需的时间为:求阶差,1,70ns,,对阶,2,=60ns,,相加,3,=90ns,,规格化,4,80ns,,缓冲寄存器,L,的延时,L,=10ns,,求:,(1)4,级流水线加法器的加速比是多少?,(2),如果每个过程段的时间都相同,设都为,75ns,(包括缓冲寄存器的延时)时,加速比又是多少?,(2),当每个过程段的时间都是,75ns,时,,则加速比为:,C,k,=300/75=,4,解:,(1),加法器的流水线时钟周期至少为:,90ns+10ns,如果采用通用的逻辑电路,但不是流水线方式,则浮点加法所需的时间为,1,+,2,+,3,+,4,=300ns,因此,,4,级流水线加法器的加速比为,C,k,=300/100=3,本章小结:,浮点数包括阶和尾数两部分。阶包括阶符和阶码,用以指明小数点的实际位置,其位数决定了所能表示的浮点数的范围;尾数包括数符和尾数,数符表示数的正负,尾数的位数决定了浮点数表示数的精度。,表示数值数据通常包括进位计数制,小数点及数的正负三个要素。计算机广泛采用二进制,用定点表示和浮点表示解决小数点的问题,用机器数表示数的正负。,一个定点数由符号位和数值域两部分组成。定点数通常有纯小数和纯整数两种表示方法,但只要位数相同,它们所能表示的不同数的个数是相同的。,本章小结:,国际上采用的字符系统是七单位的,ASCII,码,它是用七位二进制代码表示字符信息,用于非数值数据的处理。汉字的表示方法包括汉字的输入编码、汉字内码和汉字字模码。,计算机中的机器数包括原码、反码、补码和移码四种形式,采用不同的机器数,就有不同的运算方法。原码表示便于乘除运算,补码表示便于加减运算,补码乘除运算也有较好算法,而移码主要用于表示浮点数的阶,E,,有利于比较两个阶(指数)的大小和对阶操作。,本章小结:,几乎所有的运算都可归结为加法运算,常用的二进制加法器是全加型加法器,其逻辑表达式为,S,i,=,A,i,B,i,C,i,,,C,i+1,=A,i,B,i,+(,A,i,B,i,),C,i,。由,n,位全加器组成的行波进位加法器,必须解决进位信号的快速传送,才能实现真正意义上的并行运算。进位的递推公式是并行进位的逻辑依据,计算从操作数的建立(稳定)到运算结果的稳定时间,以此为例建立整机概念中的时间概念是很重要的。定点运算中,常采用补码加减法,原码乘除法和补码乘除法。先行进位和阵列乘除法是提高运算速度的有效方法。,浮点运算由阶和尾数两部分的运算构成,浮点加减运算采用了流水线的并行处理技术,大大提高浮点运算速度。,
展开阅读全文