第二章 2.5定点运算器

上传人:pu****.1 文档编号:569928912 上传时间:2024-07-31 格式:PPT 页数:71 大小:1.60MB
返回 下载 相关 举报
第二章 2.5定点运算器_第1页
第1页 / 共71页
第二章 2.5定点运算器_第2页
第2页 / 共71页
第二章 2.5定点运算器_第3页
第3页 / 共71页
第二章 2.5定点运算器_第4页
第4页 / 共71页
第二章 2.5定点运算器_第5页
第5页 / 共71页
点击查看更多>>
资源描述

《第二章 2.5定点运算器》由会员分享,可在线阅读,更多相关《第二章 2.5定点运算器(71页珍藏版)》请在金锄头文库上搜索。

1、2.5 2.5 定点运算器的组成与结构定点运算器的组成与结构 2计算机的基本逻辑运算计算机的基本逻辑运算按位求反,即求反运算使按位求反,即求反运算使1变变0,0变变1。若数若数x= x0x1x2xn,则,则 。 2. 5. 1 逻辑运算逻辑运算1逻辑数逻辑数通常用通常用“1”表示逻辑真,用表示逻辑真,用“0”表示逻辑假的非数值数据。表示逻辑假的非数值数据。(1)逻辑非()逻辑非( )运算)运算对两个数进行逻辑加,就是按位求它们的对两个数进行逻辑加,就是按位求它们的“或或”,若若x= x0x1x2xn,y= y0y1y2yn,xy=Z= Z0Z1Z2Zn,则,则 Zi=xiyi (i=0,1,2

2、,n)。 (2 2)逻辑加()逻辑加(或或+ +)运算)运算2.5.1 逻辑运算逻辑运算(3 3)逻辑乘()逻辑乘(或或)运算)运算对两数进行逻辑乘,就是按位求它们的对两数进行逻辑乘,就是按位求它们的“与与”。若若x= x0x1x2xn,y= y0y1y2yn,若若xy=Z=Z0Z1Z2Zn,则则Zi=xiyi (i=0,1,2,n)。(4) (4) 逻辑异(逻辑异()运算)运算 若若x= x0x1x2xn,y= y0y1y2yn,xy=Z= Z0Z1Z2Zn,则则 Zi=xiyi (i=0,1,2,n)。 对两数进行逻辑异,就是按位求它们的模对两数进行逻辑异,就是按位求它们的模2 2加。加。

3、解:解: 0100 xy1111 xy0001 xy1110 【例例2.292.29】 设两数设两数x=1011,y=0101,求,求 ,xyxy,xyxy,xyxy。2计算机的基本逻辑运算计算机的基本逻辑运算2.5.1 逻辑运算逻辑运算3 3逻辑运算的特点逻辑运算的特点 按位进行,各位的结果互不牵连;所以无借位,按位进行,各位的结果互不牵连;所以无借位, 进位,溢出等问题;进位,溢出等问题; 每一位都可看成一个逻辑变量。每一位都可看成一个逻辑变量。 所以无符号位,所以无符号位, 数值位,阶码和尾数的区分。数值位,阶码和尾数的区分。 运算简单;运算简单;2. 5. 2 多功能算术多功能算术/

4、/逻辑运算单元逻辑运算单元(74181) 由控制参数由控制参数S3S2S1S0 将操作数将操作数Ai、Bi组成函数组成函数Xi、Yi,再送全加器相,再送全加器相加,由于加,由于S3S2S1S0 有不同的组合,另加算逻运算控制端有不同的组合,另加算逻运算控制端M,便可实现多,便可实现多种算逻运算。种算逻运算。 1 1设计多功能算术逻辑部件的基本思想设计多功能算术逻辑部件的基本思想FiBiXi全加器全加器函数发生器函数发生器Cn+i+1Cn+iYiAiS0S1S2S3图图2.18 ALU的逻辑结构框图的逻辑结构框图式中:式中: i=0i=0,1 1,2 2,3 3 是同一片是同一片ALUALU的二

5、进制位数;的二进制位数; n为多片组成为多片组成ALU的每片进位输入,如的每片进位输入,如n=0,4, 8 。 算逻运算单元的逻辑式:算逻运算单元的逻辑式:Fi=Xi Yi Cn+i Cn+i+1=XiYi+YiCn+i+XiCn+i2. .5. 2 多功能算术逻辑部件多功能算术逻辑部件(74181)(1) 与控制参数和输入量的关系与控制参数和输入量的关系 2 2逻辑表达式逻辑表达式得得:Xi=S2S3+S2S3(Ai+Bi)+S2S3(Ai+Bi)+S2S3Ai Yi=S0S1Ai+S0S1AiBi+S0S1AiBi化简得:化简得:Xi=S3AiBi+S2AiBi Yi=Ai+S0Bi+S1

6、Bi可以证明:可以证明: Xi+Yi=Xi Xi Yi=Yi2. 5. 2 多功能算术逻辑部件多功能算术逻辑部件(74181) 2 2逻辑表达式逻辑表达式(2)全加器)全加器 全加和全加和 Fi=Xi Yi Cn+i 全加进位全加进位 Cn+i+1=XiYi+(Xi+Yi )Cn+i (2.45)由于由于 XiYi = Yi Xi+Yi = Xi所以所以 Cn+i+1=Yi+XiCn+i 可见,可见,Xi既是一个操作数,又是进位传递函数;既是一个操作数,又是进位传递函数; Yi既是一个操作数,又是进位产生函数。既是一个操作数,又是进位产生函数。2. 5. 2 多功能算术逻辑部件多功能算术逻辑部

7、件(74181) 2 2逻辑表达式逻辑表达式(3)74181 ALU74181 ALU片内进位递推公式片内进位递推公式令令G= Y3+X3Y2 +X3X2Y1 +X3X2X1Y0 称称G为为4位片位片74181的进位产生函数。的进位产生函数。令令P= X3X2X1X0称称P为为4位片位片74181的进位传递函数。的进位传递函数。C1=Y0+X0C0 (C0=Cn)C2=Y1+X1C1 =Y1+X1Y0 +X1X0C0C3=Y2+X2C2=Y2+X2Y1 +X2X1Y0 +X2X1X0C0C4=Y3+X3C3=Y3+X3Y2 +X3X2Y1 +X3X2X1Y0 +X3X2X1X0C0(2.49)

8、Cn+4=G+PCn 2 2逻辑表达式逻辑表达式(5)74181 ALU74181 ALU的工作方式的工作方式2. 5. 2 多功能算术逻辑部件多功能算术逻辑部件(74181)正逻辑正逻辑A=负逻辑负逻辑A负逻辑负逻辑A=正逻辑正逻辑A关键:关键:X Y=X Y Fi=Xi Yi Ci=Xi Yi Ci小结:同一个小结:同一个ALU电路,既可以用于负逻辑电路,既可以用于负逻辑 数,也可用于正逻辑数数,也可用于正逻辑数方便。使方便。使 用哪一种逻辑数,取决于数据通路的用哪一种逻辑数,取决于数据通路的 电平配合电平配合省器件,速度。省器件,速度。 3 374181 ALU74181 ALU实现的算

9、术实现的算术/ /逻辑运算逻辑运算(2)M,S3-S0控制的操作类型2. 5. 2 多功能算术逻辑部件多功能算术逻辑部件(74181)由由1616片片7418174181组成组成6464位位ALUALU1674181A63A60F63F60B63B601574181A59A56F59F56B59B56C64C60274181A7A4F7F4B7B4C8C4C56174181A3A0F3F0B3B0C0图图2.20 2.20 组内并行进位、组间串行进位的组内并行进位、组间串行进位的ALUALU组成框图组成框图特点:组(片)内并行进位,组(片)间串行进位。特点:组(片)内并行进位,组(片)间串行进

10、位。进一步提高速度的做法:进一步提高速度的做法:使组间并行进位。使组间并行进位。C C4 4=G=G0 0+P+P0 0C C0 0C C8 8=G=G1 1+P+P1 1C C4 4=G=G1 1+P+P1 1G G0 0+P+P1 1P P0 0C C0 0C C1616=G=G3 3+P+P3 3C C1212=G=G3 3+P+P3 3G G2 2+P+P3 3P P2 2G G1 1+P+P3 3P P2 2P P1 1G G0 0+P+P3 3P P2 2P P1 1P P0 0C C0 0C C1212=G=G2 2+P+P2 2C C8 8=G=G2 2+P+P2 2G G1

11、1+P+P2 2P P1 1G G0 0+P+P2 2P P1 1P P0 0C C0 0 4 4先行进位部件先行进位部件74182 CLA74182 CLA 4 4先行进位部件先行进位部件74182 CLA74182 CLA(1)74182 CLA74182 CLA进位逻辑式进位逻辑式P*=P3 P2P1P0Cn+x=G0+P0Cn=G0P0+G0CnCn+y=G1+P1G0+P1P0CnCn+z=G2+P2G1+P2P1G0 +P2 P1P0Cn G*=G3+P3G2+P3P2G1 +P3 P2P1G0 (2.50)C C4 4=G=G0 0+P+P0 0C C0 0C C8 8=G=G1

12、 1+P+P1 1C C4 4=G=G1 1+P+P1 1G G0 0+P+P1 1P P0 0C C0 0C C1212=G=G2 2+P+P2 2C C8 8=G=G2 2+P+P2 2G G1 1+P+P2 2P P1 1G G0 0+P+P2 2P P1 1P P0 0C C0 0n=0,x=4,y=8,z=12n=0,x=4,y=8,z=12C=GC=G* *+P+P* *C CnC C1616=G=G3 3+P+P3 3C C1212=G=G3 3+P+P3 3G G2 2+P+P3 3P P2 2G G1 1+P+P3 3P P2 2P P1 1G G0 0+P+P3 3P P2

13、 2P P1 1P P0 0C C0 02. 5. 2 多功能算术逻辑部件多功能算术逻辑部件(74181) 4 4先行进位部件先行进位部件74182 CLA74182 CLAP3G3P2G2P1G1P0G0CnP*G*Cn+zCn+yCn+x 图图2.21 成组先行进位部件成组先行进位部件CLA的逻辑电路图的逻辑电路图2. 5. 2 多功能算术逻辑部件多功能算术逻辑部件(74181) 4 4先行进位部件先行进位部件74182 CLA74182 CLA(2)74182 CLA74182 CLA与与74181 ALU74181 ALU的配套使用的配套使用例子:由例子:由2片片74182和和8片片7

14、4181组成的组成的32位位ALUP*GPC0GPC0GPC0GPC0CLA(74182)Cn+zCn+yCn+xG*P3 G3P2 G2P1 G1P0 G0P*GPC0GPC0GPC0GPC0CLA(74182)Cn+zCn+yCn+xG*CoutCin图图2.22 用两个用两个16位全先行进位逻辑级联组成的位全先行进位逻辑级联组成的32位位ALU(2)74182 CLA74182 CLA与与74181 ALU74181 ALU的配套使用的配套使用例子:由例子:由2片片74182和和8片片74181组成的组成的32位位ALUP*GPC0GPC0GPC0GPC0CLA(74182)Cn+zCn

15、+yCn+xG*P3 G3P2 G2P1 G1P0 G0P*GPC0GPC0GPC0GPC0CLA(74182)Cn+zCn+yCn+xG*CoutCin图图2.22 用两个用两个16位全先行进位逻辑级联组成的位全先行进位逻辑级联组成的32位位ALUC7=y6+x6y5+x6x5y4+x6x5x4C4C18=y17+x17y16+x17x16C16C25=y24+x24C24C4=G0+P0C0C16=G3+P3C12C24=G5+P5G4+P5P4C16C16C4C8C12C20C24C28C322. 5. 2 多功能算术逻辑部件多功能算术逻辑部件(74181) 4 4先行进位部件先行进位部

16、件74182 CLA74182 CLA(2)74182 CLA74182 CLA与与74181 ALU74181 ALU的配套使用的配套使用Cn+x,Cn+y,Cn+z和和P*,G*由由74182产生。产生。当当n=0时,时, Cn+x=C4,Cn+y=C8,Cn+z=C12,C4,C8,C12同时形成。同时形成。P*是三级先行进位的中组进位传递函数,是三级先行进位的中组进位传递函数,G*是三级先行进位的中组进位产生函数。是三级先行进位的中组进位产生函数。Pi(i=07),Gi (i=07) 由由74181产生。产生。2.5.3 2.5.3 运算器数据通路运算器数据通路 数据通路数据通路计算机

17、中信息(数据,指令,地址等)计算机中信息(数据,指令,地址等)传输所经过的路径,连同路径上的设备(如寄存器,控传输所经过的路径,连同路径上的设备(如寄存器,控制逻辑门,加工部件等)统称为数据通路。制逻辑门,加工部件等)统称为数据通路。 算逻部件算逻部件ALU是数据通路的核心部件之一。是数据通路的核心部件之一。 1通用寄存器通用寄存器、累加器累加器和和锁存器锁存器 (1 1)通用寄存器)通用寄存器多通用寄存器(多通用寄存器(GRSGRS)是现代计算机系统结构的特点之一。)是现代计算机系统结构的特点之一。 特点:特点:程序可访问。程序可访问。 组成:组成:由由n n个触发器组成个触发器组成n n位

18、字长的寄存器位字长的寄存器 应用:应用:存放操作数(包括常数),支持多种寄存器寻址方式等。存放操作数(包括常数),支持多种寄存器寻址方式等。返回返回例如算逻指令,例如算逻指令,I/O指令等。指令等。 累加器是指令系统中,很多指令都与其有关的寄存器。累加器是指令系统中,很多指令都与其有关的寄存器。 (2 2)累加器)累加器返回返回(3 3)锁存器)锁存器 用于存储数据,程序不可访问。 返回 图2.23 一位锁存器QQDAQ接收锁存2.5.3 2.5.3 运算器数据通路运算器数据通路总线总线能为多个功能部件传送信息的一组传输线。 4 4总线部件总线部件2.5.3 2.5.3 运算器数据通路运算器数

19、据通路 4 4总线部件总线部件(1) (1) 总线的分类总线的分类双向总线双向总线-可以双方向传送信息的总线可以双方向传送信息的总线, 如如DB。 按所处的位置不同分:按所处的位置不同分:内部总线内部总线-CPU内各部件之间互相连接的总线;内各部件之间互相连接的总线; 按逻辑结构的不同分:按逻辑结构的不同分:单向总线单向总线-只能单方向传送信息的总线只能单方向传送信息的总线, 如如AB、CB; 外部总线外部总线(系统总线系统总线)-系统内各大部件系统内各大部件(CPU,MEM,I/O) 之之间的连接总线。间的连接总线。2.5.3 2.5.3 运算器数据通路运算器数据通路 4 4总线部件总线部件

20、(2).实现总线连接的三态缓冲器实现总线连接的三态缓冲器 三态:输出电平可具有三态:输出电平可具有“逻辑逻辑1”、“逻辑逻辑0”或高阻(浮空)状态。或高阻(浮空)状态。 图图2.29 2.29 三状态驱动器三状态驱动器总线总线AABUSBBBUSCCBUS2.5.3 2.5.3 运算器数据通路运算器数据通路 4 4总线部件总线部件(3).带有缓冲器的双向数据总线 2.5.4 2.5.4 定点运算器的基本结构及组成实例定点运算器的基本结构及组成实例 1定点运算器的基本结构定点运算器的基本结构 特点特点:控制电路简单,操作速度比较慢。(1) 单总线结构的ALU双操作数分时经总线进入锁存器A和B,结

21、果也通过单总线送回。ALU A B 通通 用用 寄存器寄存器 特特 殊殊 寄存器寄存器单总线单总线(a) 单总线结构的运算器单总线结构的运算器锁存器锁存器特点特点:操作速度较快。操作速度较快。 例如:加法操作例如:加法操作 (2). 双总线结构的双总线结构的ALU 两操作数通过各自的总线送到加法器运算,结果通过其中两操作数通过各自的总线送到加法器运算,结果通过其中一总线送回。一总线送回。2.5.4 2.5.4 定点运算器的基本结构及组成实例定点运算器的基本结构及组成实例 1定点运算器的基本结构定点运算器的基本结构 ALU 通通 用用 寄存器寄存器 特特 殊殊 寄存器寄存器 特特 殊殊 寄存器寄

22、存器 缓冲器缓冲器总线总线1总线总线2(b) 双总线结构的运算器双总线结构的运算器2.5.4 2.5.4 定点运算器的基本结构及组成实例定点运算器的基本结构及组成实例 1定点运算器的基本结构定点运算器的基本结构 特点特点:操作速度快操作速度快,但所需总线多。但所需总线多。 (3) (3) 三总线结构的运算器三总线结构的运算器两操作数和操作结果通过各自的总线传送。两操作数和操作结果通过各自的总线传送。例如:加法操作例如:加法操作* 总线旁路器:使传送操作经它直接输出总线旁路器:使传送操作经它直接输出, ,速度快速度快ALU 通通 用用 寄存器寄存器 特特 殊殊 寄存器寄存器(c) 三总线结构的运

23、算器三总线结构的运算器 总总 线线 旁路器旁路器总线总线1总线总线2总线总线32.5.4 2.5.4 定点运算器的基本结构及组成实例定点运算器的基本结构及组成实例 2运算器组成实例运算器组成实例 传送传送(1 1)实现的操作)实现的操作 实现定点算术运算有五种:加法、减法、加反、加实现定点算术运算有五种:加法、减法、加反、加1 1和求补和求补 逻辑运算仅有二种:逻辑非(取反)和逻辑乘(与)逻辑运算仅有二种:逻辑非(取反)和逻辑乘(与)(2 2)运算器的组成)运算器的组成 四个通用寄存器四个通用寄存器R0R3;ALU的左、右输入门各由二级多路开关组成的左、右输入门各由二级多路开关组成 ; 进位寄

24、存器进位寄存器Cy。 16 16位字长的全加器;位字长的全加器; 移位输出门可实现直送、左移一位、右移一位和半字交换的操作;移位输出门可实现直送、左移一位、右移一位和半字交换的操作; 判判0 0线路线路PLPL;R0R1R2R3R0R1R2R3LDR3BUS 00 01 10 11 直直 左左 右右 交交 01 10 11判零逻辑判零逻辑PLA1S0A1S1A2S0A2S1A1ARDRA2 00 01 10 11 01 10 11B1S0B1S1B2S0B2S1B1PCIRB2R0LDR0R1LDR1R2LDR2R3+1Cy去内存去内存移位器移位器YS0YS1图图2.32 2.32 某计算机的

25、运算器逻辑框图某计算机的运算器逻辑框图2运算器组成实例运算器组成实例 A L U2.6 2.6 浮点运算方法和浮点运算器浮点运算方法和浮点运算器 浮点加减法浮点加减法(2.51)(ExEy ) 浮点数的运算包括了阶和尾数两部分的运算,浮点数的运算包括了阶和尾数两部分的运算,它们的运算可以使用任一种相应的定点运算进行。它们的运算可以使用任一种相应的定点运算进行。(ExEy) 或或 (2.52)(2.55) 浮点乘法:浮点乘法: 浮点除法:浮点除法: ( 0)2. 6. 1 浮点加减法运算浮点加减法运算1.1.对阶对阶-使两个浮点数阶码取得一致的过程。使两个浮点数阶码取得一致的过程。(1 1)作用

26、:对齐小数点。)作用:对齐小数点。(2 2)原则:小阶向大阶看齐。)原则:小阶向大阶看齐。若若E0,将,将My右移,每右移一位,右移,每右移一位,E-1E,直到,直到E =0为止;为止;3.3.结果规格化结果规格化 ( (以双符号位补码为例以双符号位补码为例) )2.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.

27、1001补补=0.1001 0.1111补补=0.1111 0.1000补补=1.1000 0.1001补补=1.0111 0.1111补补=1.0001 1.0000补补=1.00003.3.结果规格化结果规格化 ( (以双符号位补码为例以双符号位补码为例) )可以证明:浮点加减运算右规的次数最多是一次。可以证明:浮点加减运算右规的次数最多是一次。 (1 1)右规:)右规: 条件:运算结果两尾符不相同时,条件:运算结果两尾符不相同时, 即即N =S0 S0 =1 方法:尾数右移,阶码加方法:尾数右移,阶码加, ,即即Max(Ex,Ey)+1。如如 01. x x x x 00. 1x x x

28、,且且 阶码阶码+1 10. x x x x 11.0 x x x ,且阶码且阶码+1即两位符号位相异时作右规处理。即两位符号位相异时作右规处理。 3.3.结果规格化结果规格化 ( (以双符号位补码为例以双符号位补码为例) ) 方法:尾数左移,阶码减。方法:尾数左移,阶码减。(2 2)左规)左规 条件:结果非零且为正,尾数最高位条件:结果非零且为正,尾数最高位M M1 1=0=0, 或结果为负,尾数最高位或结果为负,尾数最高位 M M1 1=1=1时,时, 即即 NL = = 0 0 (R0) +S0S0M1*尾数为全尾数为全0,不进行规格化。,不进行规格化。如如 00. 0 x x x x0

29、0. 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,且且 阶码阶码111. 1 x x x x 11.0 x x x ,且阶码且阶码1c. c.

30、 判断补码表示的尾数规格化的逻辑表达式为:判断补码表示的尾数规格化的逻辑表达式为: N = N = N = N = (2.102.10)其中,其中, M Ms s为数符,为数符,M M1 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 x00. 1x x x x ,且且阶码

31、阶码1 尾数是尾数是 11. 1 x x x x 11.0 x x x x,且阶码且阶码 1即符号位与最高数值位相同时作即符号位与最高数值位相同时作左规左规处理。处理。2. 6. 1 浮点加减法运算浮点加减法运算4. 4. 舍入舍入 根据一定规则,将数的最低位或低位若干位舍去,而对保留位根据一定规则,将数的最低位或低位若干位舍去,而对保留位的数进行修正,称为舍入。的数进行修正,称为舍入。 多次舍入不造成误差积累。多次舍入不造成误差积累。 : : : :尾数右移时,为减少误差,需进行舍入处理。尾数右移时,为减少误差,需进行舍入处理。(1) 1) 什么叫舍入?什么叫舍入?(2 2)对舍入方法的要求

32、)对舍入方法的要求: : 单次舍入引起的误差不超过保留数最低位的位权;单次舍入引起的误差不超过保留数最低位的位权; 4. 4. 舍入舍入缺点:缺点:“1入时入时”需多做一次加法运算需多做一次加法运算-费时,并可能费时,并可能引起右规的操作。引起右规的操作。 (3 3)常用的舍入法:)常用的舍入法: 00舍舍1 1入入 法:法:凡舍去部分的最高位为凡舍去部分的最高位为1 1,则在保留数的最低位加,则在保留数的最低位加1 1。凡舍去部分的最高位为凡舍去部分的最高位为0 0,则不必修正。,则不必修正。例:例:用用“0 0舍舍1 1入入”法舍入,保留法舍入,保留5 5位(包括一位符号位)位(包括一位符

33、号位)X原原=1.10100111.1010Y补补=1.10101001.1010 优点:优点:舍入引起的误差小。舍入引起的误差小。Y补补=1.1010100 Y=0.0101100 (1 1入入) ) Y=0.0110Y补补=1.1010Y补补=1.10101011.1011 Y补补=1.1010101 Y=0.0101011 (0 0舍舍) ) Y=0.0101Y补补=1.1011就近舍入,朝就近舍入,朝0舍入,朝舍入,朝+舍入,朝舍入,朝-舍入。舍入。 “恒置恒置1 1”舍入法:舍入法:只要有低位数字丢失,则在保留数的最低位置只要有低位数字丢失,则在保留数的最低位置1 1。例:用例:用“

34、恒置恒置1 1”法舍入,保留法舍入,保留5 5位(包括一位符号位)位(包括一位符号位)X原原=1.10100111.1011Y补补=1.10101001.1011优点:舍入处理不用作加法运算,速度快。优点:舍入处理不用作加法运算,速度快。缺点:单次或很少有限次舍入所产生的误差大。缺点:单次或很少有限次舍入所产生的误差大。 IEEE754标准中,提供四种可选的舍入处理法:标准中,提供四种可选的舍入处理法:2. 6. 1 浮点加减法运算浮点加减法运算 5. 5. 溢出及其处理溢出及其处理 若结果的阶正上溢,则将溢出标志置,通知控制部件,若结果的阶正上溢,则将溢出标志置,通知控制部件, 转中断处理或

35、停机。转中断处理或停机。当阶码用补码表示时当阶码用补码表示时阶码的符号位为阶码的符号位为00、11时没有溢出。时没有溢出。阶码的符号位为阶码的符号位为01、10时溢出时溢出2. 6. 1 浮点加减法运算浮点加减法运算 6浮点加减法运算操作流程浮点加减法运算操作流程 小阶加小阶加1尾数右移尾数右移1位位y变符号变符号x = 0?zx加加 法法是是是是否否图图2.33 2.33 浮点加减运算操作流程浮点加减运算操作流程减减 法法y = 0?zy阶码相同阶码相同?z另一数另一数尾数尾数= 0?否否尾数加法尾数加法(带符号)(带符号)z0尾数尾数= 0?尾数右移尾数右移1位位阶码加阶码加1尾数上溢尾数

36、上溢报告上溢报告上溢阶码上溢阶码上溢否否尾数左移尾数左移1位位阶码减阶码减1报告下溢报告下溢阶码下溢阶码下溢已是规格已是规格化化取取指指定定位位数数,舍入处理舍入处理否否是是是是是是是是否否否否是是否否否否是是是是否否结结 束束0操作数检查操作数检查对阶操作对阶操作尾数加减尾数加减结结 果果 规规 格格化化上式中上式中(1)表示表示My右移一位后移出的最低位尾数。右移一位后移出的最低位尾数。 【例例2.342.34】 设二进制数设二进制数x=2 0100.10010010,y=2 011( 0.11110111),阶,阶6位位(包括(包括2位阶符),尾数位阶符),尾数10位位(包括包括2位尾符

37、),用补码浮点运算求位尾符),用补码浮点运算求x+y的值。的值。解:解:从给定条件得到从给定条件得到2 2个操作数浮点表示的机器数为:个操作数浮点表示的机器数为:x浮浮=111110,00.10010010y浮浮=111101,11.00001001(1) (1) 求阶差并对阶求阶差并对阶E补补=Ex补补+ Ey补补=111110+000011=000001即即E=1,y的阶码小,应将的阶码小,应将My右移一位,右移一位,Ey加加1。y浮浮=111110,11.10000100 (1)由于两位阶符为由于两位阶符为11,不是,不是01,因此无溢出。,因此无溢出。最终的结果为最终的结果为 x+y=

38、2 1010. 10110100 00. 10010010 + 11. 10000100 (1) 00. 00010110 (1)(2 2)将对阶后的尾数相加)将对阶后的尾数相加(3 3)规格化处理并舍入)规格化处理并舍入 运算结果尾数不是规格化,此处应执行左规处理,尾数左移运算结果尾数不是规格化,此处应执行左规处理,尾数左移3位,位,阶码减阶码减3,用加二进制数,用加二进制数 11补补(111101),即),即 x+y浮浮=111011,00. 10110100(4 4)溢出检查)溢出检查2. 6. 2 浮点乘除法运算浮点乘除法运算则则(2.52)1 1浮点乘法运算浮点乘法运算浮点乘法运算包

39、括以下四个步骤:浮点乘法运算包括以下四个步骤:(2.53) ( 2.54 )S0S000 结果为负结果为负01 结果为正结果为正10 结果上溢结果上溢11 结果下溢结果下溢Ex+ Ey移移=Ex移移+Ey补补=2n+1+Ex+ Ey移移 (mod 2n+1) (2) (2) 阶码相加(阶码用移码)阶码相加(阶码用移码) 移码双符号位的最高符号位恒用移码双符号位的最高符号位恒用0 0参加加参加加/ /减运算,减运算,若运算结果双符号位若运算结果双符号位S S0 0S S0 0 则则Ex Ey移移=Ex移移+ Ey补补 (mod 2n+1)(1)(1) 对被乘数和乘数判零,若有操作数为零,则对被乘

40、数和乘数判零,若有操作数为零,则 乘积为零,无需运算。乘积为零,无需运算。 运算结果大于所能表示的正数运算结果大于所能表示的正数111,发生溢出,发生溢出 【例例2.352.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

41、移移= x移移+ y补补=01 101+00 111=10 100浮点乘法运算包括以下四个步骤:浮点乘法运算包括以下四个步骤: (3(3)尾数相乘)尾数相乘 (4) 结果规格化结果规格化用相应机器数的定点乘法算法进行用相应机器数的定点乘法算法进行【例例2.36】 设有两个二进制浮点数设有两个二进制浮点数x=2-1010.0110011,y= 2011( 0.1110010),阶码用阶码用4位移码表示,尾数(包含位移码表示,尾数(包含1 1位符号位符号位)用位)用8位补码表示,用浮点乘法运算求位补码表示,用浮点乘法运算求xy的值。要求写出运的值。要求写出运算过程,运算结果尾数保留高算过程,运算结

42、果尾数保留高8位(含符号位),采用位(含符号位),采用“0舍舍1入入”法处理舍入操作。法处理舍入操作。 (2(2)阶码相加)阶码相加 (1(1)对被乘数和乘数判零,若有操作数为零,则)对被乘数和乘数判零,若有操作数为零,则 乘积乘积 为零,无需运算。为零,无需运算。 Ex+ Ey移移=Ex移移+ Ey补补=00 010+00 011=00 101,真值为真值为 3。 解:解: 移码采用双符号位,尾数补码采用单符号位。由于移码采用双符号位,尾数补码采用单符号位。由于x x不是不是规格化数,应变为规格化数,即规格化数,应变为规格化数,即x=2x=2-110-1100.11001100.110011

43、0,则有,则有Ex移移=00 010 Mx补补=0.1100110Ey移移=01 011 My补补=1.0001110x浮浮=00 010,0.1100110,y浮浮=01 011,1.0001110(1) (1) 求阶码之和求阶码之和 xy = 2 11( 0.1011011) (2) 尾数相乘采用补码阵列乘法器实现,为尾数相乘采用补码阵列乘法器实现,为My为负数,求补为负数,求补得得|My|0.1110010,|Mx|My| = 0.11001100.1110010 = 0.1011010,1101100由于结果已是规格化尾数,不必再规格化。由于结果已是规格化尾数,不必再规格化。 另外对低

44、另外对低7 7位乘积进行舍入处理,此例采用位乘积进行舍入处理,此例采用“0 0舍舍1 1入入”或或“恒置恒置1 1”法,结果相同。法,结果相同。故有故有xy浮浮= 00 101,1.01001012. 6. 2 浮点乘除法运算浮点乘除法运算浮点除法运算包括以下四个步骤:浮点除法运算包括以下四个步骤:(1(1)检测除数,若为零,则做出错处理。若除数非零,则检检测除数,若为零,则做出错处理。若除数非零,则检 测被除数,若为零,则商为零,无需运算。测被除数,若为零,则商为零,无需运算。(2(2)阶码相减)阶码相减(4)结果规格化)结果规格化 2 2浮点除法运算浮点除法运算(3(3)尾数相除)尾数相除

45、2.6.3 2.6.3 浮点运算器的组成浮点运算器的组成 1浮点运算器的一般结构浮点运算器的一般结构 E1图图2.34 2.34 浮点运算器的一般结构浮点运算器的一般结构阶码部件阶码部件E2EAC尾数部件尾数部件MQDR加法器加法器加法器加法器2.6.3 2.6.3 浮点运算器的组成浮点运算器的组成 1浮点运算器的一般结构浮点运算器的一般结构 E1,E2:阶码寄存器:阶码寄存器 加法器:求阶的和或差加法器:求阶的和或差 E1+E2E:阶差计数器,有加:阶差计数器,有加1减减1功能功能 阶差为正,小阶尾数右移,每右移一位,阶差减阶差为正,小阶尾数右移,每右移一位,阶差减1,直到,直到E=0 阶差

46、为负,小阶尾数右移,每右移一位,阶差加阶差为负,小阶尾数右移,每右移一位,阶差加1,直到,直到E=0 寄存结果的阶码值寄存结果的阶码值加减法:加减法:(AC)(DR)AC 乘法:乘法:(DR)(MQ)AC-MQ 除法:除法: (AC)(DR)AC-MQ(1).阶码部件阶码部件(2).尾数部件尾数部件2.6.3 2.6.3 浮点运算器的组成浮点运算器的组成 1浮点运算器的一般结构浮点运算器的一般结构 (3)定浮点组合运算器)定浮点组合运算器 A.定定-浮点机的数据格浮点机的数据格式式 数符数符 阶阶 尾数尾数 数符数符 尾数尾数浮点:浮点:定点:定点:B.定定-浮点运算浮点运算2.6.3 2.6

47、.3 浮点运算器的组成浮点运算器的组成包括四步:求阶差、对阶、尾数(加包括四步:求阶差、对阶、尾数(加/减)运算和结果规格化处理。减)运算和结果规格化处理。 (1) (1) 浮点加减法运算步骤浮点加减法运算步骤2浮点流水运算部件浮点流水运算部件 图图2.35 2.35 浮点加减运算执行次序浮点加减运算执行次序1求阶求阶差差(S1)对阶对阶(S2)尾数尾数运算运算(S3)规格规格化处化处理理(S4)234图图2.36 2.36 四级流水浮点加四级流水浮点加/ /减运算的基本结构减运算的基本结构S4LS3LS2LS1L输入输入输出输出L时钟时钟C流水线需在各个过程段之间设置高速缓冲寄存器流水线需在

48、各个过程段之间设置高速缓冲寄存器L 2.6.3 2.6.3 浮点运算器的组成浮点运算器的组成 2浮点流水运算部件浮点流水运算部件 (2 2)线性流水线时钟周期)线性流水线时钟周期=maxi+l l =m+l l (2.56)式中式中maxi表示取所有过程段中所需的最长操作时间。表示取所有过程段中所需的最长操作时间。 从理论上说,一个具有从理论上说,一个具有 k k级过程段的流水线处理级过程段的流水线处理n n个任个任务所需的时钟周期数为:务所需的时钟周期数为:非流水线的硬件来处理非流水线的硬件来处理n n个任务所需的时钟周期数为:个任务所需的时钟周期数为:TL=nk (2.58) Tk=k+(

49、n 1) (2.57)图图2.37 2.37 流水线加工方式的时空图流水线加工方式的时空图Wn-1WnWnWn-1WnWnWn-1W1W2W3W1W2W3W1W2W1W2W3Sk-1SkS1S20123k-1kk+1 k+2n-2 n-1n n+1n+k-3n+k-1起始段起始段饱和段饱和段结束段结束段Wn-1WnW1W2W3T()2.6.3 2.6.3 浮点运算器的组成浮点运算器的组成 2浮点流水运算部件浮点流水运算部件 (3 3)K级线性流水线的加速比级线性流水线的加速比CKCk=TL / Tk=(nk) / k+(n 1) (2.59)当当nk时,时,Ckk可见,理论上可见,理论上k级级

50、线性流水线处理速度几乎是非流水线处理速度的线性流水线处理速度几乎是非流水线处理速度的k倍。倍。【例例2.37】 设由四级过程段组成浮点流水加设由四级过程段组成浮点流水加/减法的运算过程,并设每个过程减法的运算过程,并设每个过程段所需的时间为:求阶差段所需的时间为:求阶差170ns,对阶,对阶2=60ns,相加,相加3=90ns,规格化,规格化480ns,缓冲寄存器,缓冲寄存器L的延时的延时L=10ns,求:,求:(1) 4级流水线加法器的加速级流水线加法器的加速比是多少?比是多少?(2) 如果每个过程段的时间都相同,设都为如果每个过程段的时间都相同,设都为75ns(包括缓冲寄存器(包括缓冲寄存

51、器的延时)时,加速比又是多少?的延时)时,加速比又是多少? (2) (2) 当每个过程段的时间都是当每个过程段的时间都是75ns时,时, 则加速比为:则加速比为:Ck = 300/75 = 4 解:解:(1) 加法器的流水线时钟周期至少为:加法器的流水线时钟周期至少为:90ns + 10ns如果采用通用的逻辑电路,但不是流水线方式,则浮点加法所需如果采用通用的逻辑电路,但不是流水线方式,则浮点加法所需的时间为的时间为1 +2 + 3 +4 = 300ns因此,因此,4级流水线加法器的加速比为级流水线加法器的加速比为 Ck = 300/100 = 3本章小结:本章小结: 浮点数包括阶和尾数两部分

52、。阶包括阶符和阶码,用以指明浮点数包括阶和尾数两部分。阶包括阶符和阶码,用以指明小数点的实际位置,其位数决定了所能表示的浮点数的范围;尾小数点的实际位置,其位数决定了所能表示的浮点数的范围;尾数包括数符和尾数,数符表示数的正负,尾数的位数决定了浮点数包括数符和尾数,数符表示数的正负,尾数的位数决定了浮点数表示数的精度。数表示数的精度。 表示数值数据通常包括进位计数制,小数点及数的正负三个表示数值数据通常包括进位计数制,小数点及数的正负三个要素。计算机广泛采用二进制,用定点表示和浮点表示解决小数要素。计算机广泛采用二进制,用定点表示和浮点表示解决小数点的问题,用机器数表示数的正负。点的问题,用机

53、器数表示数的正负。 一个定点数由符号位和数值域两部分组成。定点数通常有纯一个定点数由符号位和数值域两部分组成。定点数通常有纯小数和纯整数两种表示方法,但只要位数相同,它们所能表示的小数和纯整数两种表示方法,但只要位数相同,它们所能表示的不同数的个数是相同的。不同数的个数是相同的。本章小结:本章小结: 国际上采用的字符系统是七单位的国际上采用的字符系统是七单位的ASCII码,它是用七位码,它是用七位二进制代码表示字符信息,用于非数值数据的处理。汉字的表示二进制代码表示字符信息,用于非数值数据的处理。汉字的表示方法包括汉字的输入编码、汉字内码和汉字字模码。方法包括汉字的输入编码、汉字内码和汉字字模

54、码。 计算机中的机器数包括原码、反码、补码和移码四种形式,计算机中的机器数包括原码、反码、补码和移码四种形式,采用不同的机器数,就有不同的运算方法。原码表示便于乘除运采用不同的机器数,就有不同的运算方法。原码表示便于乘除运算,补码表示便于加减运算,补码乘除运算也有较好算法,而移算,补码表示便于加减运算,补码乘除运算也有较好算法,而移码主要用于表示浮点数的阶码主要用于表示浮点数的阶E E,有利于比较两个阶(指数)的大,有利于比较两个阶(指数)的大小和对阶操作。小和对阶操作。本章小结:本章小结: 几乎所有的运算都可归结为加法运算,常用的二进制加法器是全加型几乎所有的运算都可归结为加法运算,常用的二

55、进制加法器是全加型加法器,其逻辑表达式为加法器,其逻辑表达式为Si=Ai Bi Ci,Ci+1 = Ai Bi + (Ai Bi) Ci 。由。由n位全位全加器组成的行波进位加法器,必须解决进位信号的快速传送,才能实现真加器组成的行波进位加法器,必须解决进位信号的快速传送,才能实现真正意义上的并行运算。进位的递推公式是并行进位的逻辑依据,计算从操正意义上的并行运算。进位的递推公式是并行进位的逻辑依据,计算从操作数的建立(稳定)到运算结果的稳定时间,以此为例建立整机概念中的作数的建立(稳定)到运算结果的稳定时间,以此为例建立整机概念中的时间概念是很重要的。定点运算中,常采用补码加减法,原码乘除法和补时间概念是很重要的。定点运算中,常采用补码加减法,原码乘除法和补码乘除法。先行进位和阵列乘除法是提高运算速度的有效方法。码乘除法。先行进位和阵列乘除法是提高运算速度的有效方法。 浮点运算由阶和尾数两部分的运算构成,浮点加减运算采用了流水浮点运算由阶和尾数两部分的运算构成,浮点加减运算采用了流水线的并行处理技术,大大提高浮点运算速度。线的并行处理技术,大大提高浮点运算速度。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号