




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、20141页页行行错误错误纠正纠正P41倒数倒数 第第5 5行行=10.1000 = =10.1000 = 0 0.1000.1000=10.1000 = =10.1000 = 1 1.1000.1000倒数倒数 第第1 1行行=01.0001 = =01.0001 = 1 1.0001.0001=01.0001 = =01.0001 = 0 0.0001.0001P42第第8 8行行= =0000.0110 = .0110 = 0 0.0110.0110= =1111.0110 = .0110 = 1 1.0110.0110P45第第1 1行行P P2 2G G1 1+ P+ Pn nP P
2、n-1n-1 P P2 2P P1 1C C0 0P P2 2P P1 1G G1 1+ P+ Pn nP Pn-1n-1 P P2 2P P1 1C C0 0P70倒数倒数 第第9 9行行及及EEX X-E-EY Y ,且判断溢出,且判断溢出及及EEX X-E-EY Y 移移,且判断溢出,且判断溢出20142P44 图3-3:20143P45 图3-4:X XP3 XP2 XP1 XP0 X20144P47 图3-9:加1根线第第3 3章章 数值的机器运算数值的机器运算2014520146第第3 3章章 数值的机器运算数值的机器运算3.1 3.1 定点数的加、减法运算和加、减法定点数的加、减
3、法运算和加、减法 电路的实现电路的实现3.2 3.2 定点运算器的基本结构与工作原理定点运算器的基本结构与工作原理3.3 3.3 浮点数运算和浮点数运算器的实现浮点数运算和浮点数运算器的实现20147第第3 3章章 数值的机器运算数值的机器运算3.1 3.1 定点数的加、减法运算和加、减法定点数的加、减法运算和加、减法 电路的实现电路的实现201483.1 3.1 定点数的加、减法运算和加、定点数的加、减法运算和加、减减法法 电路的实现电路的实现一、定点数的加减运算一、定点数的加减运算 1. 1.补码加法补码加法 采用补码表示法,可以用相同的方法处采用补码表示法,可以用相同的方法处理正数和负数
4、的加法理正数和负数的加法补码加法的公式(在模补码加法的公式(在模2 2的意义下,任意两数的的意义下,任意两数的补码之和等于该两数之和的补码)补码之和等于该两数之和的补码)xx补补 yy补补=x=xyy补补(mod 2)(mod 2) 20149一、定点数的加减运算一、定点数的加减运算2. 2. 补码减法补码减法 采用补码表示法,可以用加法来完成减法采用补码表示法,可以用加法来完成减法操作。操作。补码减法的公式:补码减法的公式: x-y补补 x补补+-y补补 (mod 2)201410一、定点数的加减运算3.3.溢出概念及检测方法溢出概念及检测方法 在计算机中,无论是定点小数还是定点整数,都有在
5、计算机中,无论是定点小数还是定点整数,都有表示范围,运算过程中出现超出表示范围的现象称为表示范围,运算过程中出现超出表示范围的现象称为溢溢出。出。 分析分析例例1 1:1011B, 1011B, 1001B, 1001B, 求求 解:解: 补补0 1011, 补补0 1 001 补补0 1011 补补0 1001 补补 1 0100 现象:两个正数相加的结果成为负数现象:两个正数相加的结果成为负数两个正数相加,结果大于机器所能表示的最大正两个正数相加,结果大于机器所能表示的最大正数数上溢上溢2014113.溢出概念及检测方法 分析分析例例2 2:1101B, 1011B, 求求解:解: 补补1
6、 0011, 补补 1 0101 补补1 0011 补补1 0101 补补 10 1000现象:两个负数相加的结果成为正数现象:两个负数相加的结果成为正数两个负数相加,结果小于机器所能表示的两个负数相加,结果小于机器所能表示的最小负数最小负数下溢下溢自动丢失2014123.溢出概念及检测方法 溢出检测方法溢出检测方法 溢出产生的条件:溢出产生的条件: 仅当两加数符号相同时,可能产生溢出仅当两加数符号相同时,可能产生溢出 判断方法:判断方法: 符号比较法符号比较法 双进位法双进位法 双符号位法双符号位法变形补码变形补码 整数运算不允许发生溢出,在运算过程中通整数运算不允许发生溢出,在运算过程中通
7、过逻辑电路自动检测出溢出情况,即转中断处理过逻辑电路自动检测出溢出情况,即转中断处理201413 溢出检测方法 符号比较法符号比较法设:设:S SX X为加数为加数X X的符号;的符号;S SY Y为加数为加数Y Y的符号;的符号; S SF F为运算结果为运算结果F F的符号的符号 判断溢出的逻辑函数表达式:判断溢出的逻辑函数表达式: 溢出标志溢出标志V = V = S SX XS SY YS SF F + S + SX XS SY YS SF F P41 例例3-1、例、例3-2SXSYSFV00000011010001101000101011011110两个正数相加,和为负数;两个负数相
8、加,和为两个正数相加,和为负数;两个负数相加,和为正数。溢出。正数。溢出。符号相异两数相加无溢出符号相异两数相加无溢出201414 溢出检测方法 双进位法双进位法设:设:C Coutout为符号位产生的进位,为符号位产生的进位,C Cinin为最高有效数据位为最高有效数据位产生的进位产生的进位 运算后若这两个进位相异,则表示溢出运算后若这两个进位相异,则表示溢出 溢出标志溢出标志 V = CV = Cinin C Coutout 分析分析例例1 1: 补补0 1011 补补0 1001 补补 1 0100 结论:结论: C Cinin有进位,而有进位,而C Coutout无进位,此时溢出无进位
9、,此时溢出分析分析例例2 2: 补补1 0011 补补1 0101 补补 10 1000结论:结论: C Coutout有进位,而有进位,而C Cinin无进位,此时溢出无进位,此时溢出201415 溢出检测方法 双符号位法双符号位法变形补码变形补码 方法:方法: 改一位符号位为二位符号位:改一位符号位为二位符号位:S Sf1f1、S Sf2f2 正数:取正数:取00 00 负数:取负数:取1111 运算结果:运算结果: 若两符号若两符号相同:相同:无溢出无溢出 若两符号相异:溢出若两符号相异:溢出 S Sf1f1S Sf2f2=01=01 结果正溢(上溢),表示运算的结果大于结果正溢(上溢)
10、,表示运算的结果大于 计算机所能表示的最大的正数。计算机所能表示的最大的正数。 S Sf1f1S Sf2f2=10 =10 结果负溢(下溢),表示运算的结果小于结果负溢(下溢),表示运算的结果小于 计算机所能表示的最小负数。计算机所能表示的最小负数。 判断判断溢出的逻辑表达式为:溢出的逻辑表达式为: V = S V = Sf1f1 S Sf2f2 其其左边符号位左边符号位为为真符真符,表示,表示该数的符号该数的符号201416 双符号位法变形补码例例3:3:1100B, 1100B, 1000B, 1000B, 求求解解: : 补补00 1100, 00 1100, 补补00 100000 1
11、000 补补00 110000 1100 补补00 100000 1000 补补 01 010001 0100 运算结果两符号位为运算结果两符号位为“01”01”,表示运算结果上溢。,表示运算结果上溢。左边符号位为左边符号位为0 0,表示运算结果的符号为正,表示运算结果的符号为正 x+y = + x+y = + 1 10100B0100B该位该位1表示溢出位,原表示溢出位,原4位数值位位数值位已不够表示,由计算机溢出中断已不够表示,由计算机溢出中断处理,产生正确的运算结果。处理,产生正确的运算结果。201417 双符号位法变形补码例例4:4:0.1100B, 0.1100B, 0.1000B,
12、 0.1000B, 解解: : 补补11.0100, 11.0100, 补补11.100011.1000 补补 11.010011.0100 补补 11.100011.1000 补补 1 110.110010.1100 运算结果两符号位为运算结果两符号位为“10”10”,表示运算结,表示运算结果下溢。果下溢。左边符号位为左边符号位为1 1,表示运算结果为负,表示运算结果为负 x+y = - x+y = - 1 1.01B.01BP41P41例例3-33-3、例、例3-43-4、例、例3-53-5、例、例3-63-6该位1表示溢出位,原小数位已不够表示,由计算机溢出中断处理,产生正确的运算结果。
13、2014183.1 定点数的加、减法运算和加、减法电路的实现二、运算电路的实现 运算器的核心运算器的核心ALUALU ALU ALU(Arithmetic Logic UnitArithmetic Logic Unit,算术逻辑部件),算术逻辑部件) 功能:功能: 数据处理,完成算术运算和逻辑运算数据处理,完成算术运算和逻辑运算 基本部件:基本部件:加法器加法器1. 1. 加法器加法器 功能:功能: 进行逻辑变量的相加进行逻辑变量的相加 组成元件:组成元件: 半加器半加器对一位二进制数进行加法运算,对一位二进制数进行加法运算, 求求“和和”及及“进位进位” ” 全加器全加器对一位二进制数及来自
14、低位的对一位二进制数及来自低位的 “ “进位进位”进行相加,并产生进行相加,并产生“和和” 与与“进位进位” ” 2014191. 加法器(1 1) 半加器半加器S Si i = X = Xi iY Yi i+X+Xi iY Yi i=X=Xi iYYi iC Ci i= X= Xi iY Yi ib)逻辑符号P43P43图图3-13-1:2014201. 加法器(2 2) 全加器全加器逻辑符号:从C Ci-1 i-1 C Ci i经过经过2 2级门电路的延级门电路的延迟,设迟,设1 1级延迟级延迟时间为时间为t,t,则一位则一位加法电路的进位加法电路的进位延迟为延迟为2t2t。2014211
15、. 加法器(1 1)并行加法器)并行加法器 串行进位的并行加法器(串行进位的并行加法器(行波进位加法器)行波进位加法器)图图3-3 3-3 串行进位的串行进位的n n位并行加法器位并行加法器 缺点:进位串行传送,运算速度慢缺点:进位串行传送,运算速度慢 关键:进位形成时间关键:进位形成时间 每级全加器的进位延迟时间为每级全加器的进位延迟时间为2t,n位并行加法器从位并行加法器从 C-1Cn-1的总延迟时间为的总延迟时间为2nt(与字长成正比与字长成正比)。)。 解决方案:改串行进位为并行进位(先行进位)解决方案:改串行进位为并行进位(先行进位)201422(3)并行加法器 先行进位的并行加法器
16、先行进位的并行加法器先行进位先行进位:n n级加法器各级进位信号同时形成,又称级加法器各级进位信号同时形成,又称 “并行进位并行进位”或或“同时进位同时进位”。分析全加器逻辑函数表达式:分析全加器逻辑函数表达式: S Si i = X = Xi iYYi iCCi-1i-1 C Ci i= X= Xi iY Yi i +(X +(Xi iYYi i)C)Ci-1i-1进位传递函数进位传递函数P Pi i进位生成函数进位生成函数G Gi i201423 先行进位的并行加法器n n级并行加法器中各级的进位信号表达式为:级并行加法器中各级的进位信号表达式为:为为逐级代入得:逐级代入得:为为C Cn
17、n = G = Gn n + P + Pn nG Gn-1n-1 + P + Pn nP Pn-1n-1G Gn-2n-2 + P + Pn nP Pn-1n-1P Pn-2n-2G Gn-3n-3 + + + P + Pn nP Pn-1n-1 P P2 2G G1 1+ P+ Pn nP Pn-1n-1 P P2 2P P1 1C C0 0 第第i位的进位位的进位Ci仅由仅由G1、G2、Gi,P1、P2、Pi以及以及最低进位最低进位C0决定,而与决定,而与C1Ci-1无关,因此各级进位输出无关,因此各级进位输出可以同时产生。可以同时产生。201424 先行进位的并行加法器 4 4位先行进位
18、电路位先行进位电路CLACLA(Carry Look Ahead) : P45 P45图图3-43-4 4 4位先行进位加法器:位先行进位加法器: 图图3-53-5 例:例: 芯片型号芯片型号 74LS283 74LS283 201426 先行进位的并行加法器 用四片用四片74LS8374LS83组成组成1616位加法器位加法器 图图3-63-6 组间采用串行进位(成本较低)组间采用串行进位(成本较低) 组内采用组内采用先行进位(高速运算)先行进位(高速运算)201427二、运算电路的实现2. 2. 行波进位的可逆加法器(加减法部件行波进位的可逆加法器(加减法部件ASU)ASU) 功能:实现功
19、能:实现X + Y补补 = X补补+Y补补 X Y补补=X补补+Y补补 = X补补+(Y补补+1) 分析:分析: SnS0 X + Y补补X补补+Y补补+1 操作操作X+ Y补补XY补补控制端控制端 A/S=0 A/S=1 An-1A0 X补补 X补补 Bn-1B0 Y补补 Y补补 问题的解决方法:问题的解决方法: 加数与减数相反:加数与减数相反: + + 原码原码 “异或异或”门受控完成门受控完成 - - 反码反码 控制端控制端A/SA/S接加法器接加法器C C-1-1端,加法操作时,等于端,加法操作时,等于+0+0; 减法时减法时+1+1。01n-22014282. 行波进位的可逆加法器(
20、加减法部件ASU)ASU实现逻辑图:实现逻辑图: P46 图图3-7异或门:异或门:当当M=0输出输出Yi;当;当M=1输出输出Yi。双进位法判溢出:双进位法判溢出:O为溢出标志为溢出标志M控制端:控制端:当当M=0:末尾:末尾+0;当当M=1:末尾:末尾+1.201429二、运算电路的实现3.3. BCDBCD码(二码(二- -十进制)加法器十进制)加法器 用用4 4位二进制加法器实现位二进制加法器实现1 1位位BCDBCD码加法运算码加法运算 分析:分析: “ “和和”大于大于9 9,需加,需加6 6修正;修正; 有进位,需加有进位,需加6 6修正。修正。 例例5 5:198+295= 0
21、001 1001 1000 + 0010 1001 0101 0100 0010 1101 + 0110 0110 0100 1001 00114939有进位有进位2014303.3. BCDBCD码(二码(二- -十进制)加法器十进制)加法器 分析真值表:分析真值表:S3 S2 S1 S0 S3 S2 S1 S0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1修正控制函数:修正控制函数:
22、CC=C3+S3S2+S3S1有进位有进位“和和”大于大于92014313.3. BCDBCD码(二码(二- -十进制)加法器十进制)加法器 BCD BCD码加法器逻辑图:码加法器逻辑图: P46P46图图3-83-8CC 二个加法器:二个加法器: 1 1个个4 4位加法器完成加法运算位加法器完成加法运算(下部)(下部) 1 1个个3 3位加法器完成加位加法器完成加6 6修正修正(上部)(上部) 一个修正电路一个修正电路(中部)(中部) 当修正控制输出当修正控制输出CCCC为为“1”1”时,修正加法器加时,修正加法器加6 6,否则加,否则加0 0 201432二、运算电路的实现4.4.算术逻辑
23、部件算术逻辑部件ALU ALU (1 1)一位)一位ALU P48ALU P48 具有具有2 2种算术运算和种算术运算和1313种逻辑运算功能:种逻辑运算功能: 2014334.算术逻辑部件ALU (例:一位ALU ) 一位一位ALUALU实现电路:实现电路: 8to1 MUX由由S2S1S0选择功能选择功能2to1 MUX由由M选择选择取反操作取反操作7个门电路分别实现个门电路分别实现7种常用的逻辑种常用的逻辑操作:操作:一位加法一位加法/减法电路减法电路ASU,可,可实现补码的加法减法操作实现补码的加法减法操作2014344.算术逻辑部件ALU (2 2)由)由1 1位位ALU ALU 组
24、成组成n n位行波进位的位行波进位的ALUALU电路电路 201435二、运算电路的实现5. 45. 4位二进制算术逻辑部件位二进制算术逻辑部件74XX18174XX181 特点:特点: 快速快速片内采用先行进位片内采用先行进位 多功能多功能集成多种运算功能集成多种运算功能 2014365. 4位二进制算术逻辑部件74XX181 74XX18174XX181内部电路:内部电路: P50 P50 图图3-12 3-12 逻辑符号:逻辑符号: P49 P49 图图3-113-11 4 4位运算输入:位运算输入: A A0 0A A3 3、B B0 0B B3 3 运算输出:运算输出: F F0 0
25、F F3 3 4 4位选择输入:位选择输入: S S0 0S S3 3 方式选择:方式选择: M=1 M=1 逻辑运算逻辑运算 M=0 M=0 算术运算算术运算 进位输入、输出:进位输入、输出: Cn 、C Cn+4n+4 先行进位:先行进位: G G、P P2014373.1 定点数的加、减法运算和加、减法电路的实现练习练习1 1: P733.1 3.1 已知已知xx补补和和yy 补补的值,用补码加减法计算的值,用补码加减法计算x+yx+y和和x-yx-y (写出结果的二进制表示和十进制表示),并指出结果(写出结果的二进制表示和十进制表示),并指出结果 是否溢出以及溢出的类型是否溢出以及溢出
26、的类型( (建议采用变形补码建议采用变形补码计计算算) )。 (3) x 补补=1.01010 y补补=1.10001 解解:x补补= 11.01010 y补补= 11.10001 y补补= 00.01111 X+Y补补 = x补补+y补补= 11.01010 + 11.10001 = 10.11011 (下溢下溢) X+Y = 1.00101B = (1 + 5/32) = 37/32 检验检验: :X= - 0.10110 B =X= - 0.10110 B =22/ 32 Y= - 0.01111 B =22/ 32 Y= - 0.01111 B =15/3215/32X+Y = X+Y
27、 = (22+15) /32 =(22+15) /32 =37/32 (37/32 (下溢下溢) )X XY = Y = (2222( (15)15))/ 32 =/ 32 = 7/32 7/32 XY补补=x补补+y补补= 11.01010 + 00.01111 = 11.11001 XY= 0.00111 B=7/32201438练习1:3.2 3.2 给出给出x x和和y y的二进制值,用补码加减法计算的二进制值,用补码加减法计算x+yx+y和和x-yx-y(写(写 出结果的二进制表示和十进制表示),并指出结果是否出结果的二进制表示和十进制表示),并指出结果是否 溢出以及溢出的类型溢出以
28、及溢出的类型( (建议采用变形补码建议采用变形补码计计算算) )。 (7) x=-1011101B y=+1101101B (7) x=-1011101B y=+1101101B 解解: X补补= 11 0100011 Y补补= 00 1101101 Y补补= 11 0010011 X+Y补补=X补补+Y补补 = 11 0100011 + 00 1101101 = 00 0010000 X+Y = 10000 B = 16 检验检验: X=1011101B = - (64+16+13)= - 93 Y = + 1101101B = 64+32+13 = 109 X + Y = -93 + 10
29、9 = 16 XY=93 -109 = - 202 (下溢下溢)XY补补=X补补+-Y补补 = 110100011+110010011 = 10 0110110 (下溢下溢) XY = 1 1001010 B = (128 + 64 + 10) = 202讨论题 1、在ALU中,做定点数的运算是如何判溢出的? 2、采用双符号位和双进位判溢出用哪种逻辑部件实现? 3、请用门电路和4位CLA加法器设计一个4位二进制加法/减法器,简要写出设计思路。201440第第3 3章章 数值的机器运算数值的机器运算3.1 3.1 定点数的加、减法运算和加、减法定点数的加、减法运算和加、减法 电路的实现电路的实现
30、3.2 3.2 定点运算器的基本结构与工作原理定点运算器的基本结构与工作原理2014413.2 3.2 定点运算器的基本结构与工作原理定点运算器的基本结构与工作原理定点运算器结构框图:定点运算器结构框图: P64P64图图3-203-20 主要组成部件:主要组成部件:ALUALU、寄存器、移位器、多路选择器、数据通路、寄存器、移位器、多路选择器、数据通路由若干个通用寄存器组由若干个通用寄存器组成。具有一个输入端和成。具有一个输入端和二个输出端,输出分别二个输出端,输出分别送送A A寄存器和寄存器和B B寄存器。寄存器。通过寄存器号(地址)通过寄存器号(地址)选择相应寄存器。选择相应寄存器。A
31、A、B B寄存器为暂存器,寄存器为暂存器,存放存放ALUALU的的2 2个操作数;个操作数;B B寄存器的数据也可直寄存器的数据也可直接送到选择电路接送到选择电路3 3,作,作为直接输出。为直接输出。Q Q寄存器接收来自移位电路寄存器接收来自移位电路1 1的数据。输出可反馈到其的数据。输出可反馈到其左、右移输入端,实现数左、右移输入端,实现数据的左移据的左移1 1位或右移位或右移1 1位的位的操作。操作。Q Q寄存器输出通过多路选择寄存器输出通过多路选择器器1 1送入送入ALUALU的输入端。的输入端。Q Q寄寄存器在进行乘除法运算时存器在进行乘除法运算时可用作乘数及商寄存器。可用作乘数及商寄
32、存器。ALUALU为多功能算术逻辑运算部件为多功能算术逻辑运算部件二个操作数来自:二个操作数来自:选择器选择器1 1(3to13to1):输入来自):输入来自Q Q寄存器、寄存器、A A寄存器和寄存器和B B寄存器;寄存器;选择路选择路2 2(2to12to1):输入来自):输入来自B B寄存器和外部输入。寄存器和外部输入。ALUALU输出端送选择路输出端送选择路3 3(2to12to1),选择),选择ALUALU输出或输出或B B寄存器输出。寄存器输出。移位电路移位电路1和移位电路和移位电路2:可进行左移可进行左移1位,右移位,右移1位以及直通操作。位以及直通操作。移位数据来自:移位数据来自
33、:ALU输出、输出、Q寄存器反馈信息寄存器反馈信息ALU的加减操作和移位操作可以在同一操作步骤中完成的加减操作和移位操作可以在同一操作步骤中完成2014423.4 定点运算器的基本结构与工作原理移位器:移位器:功能:左移功能:左移1 1位、右移位、右移1 1位、直通位、直通作用:移位指令、乘除运算、浮点数对阶等作用:移位指令、乘除运算、浮点数对阶等例)由例)由三个三个3to1选择器组成的移位器选择器组成的移位器选择信号选择信号S1S0用来控制移位功能:用来控制移位功能: S1S0=00:输出:输出a3a2a1=b4b3b2(输入数据右移(输入数据右移1位);位); S1S0=01:输出:输出a
34、3a2a1=b3b2b1 (输入数据直通)(输入数据直通) ; S1S0=10:输出:输出a3a2a1=b2b1b0 (输入数据左移(输入数据左移1位)位) 。201443第第3 3章章 数值的机器运算数值的机器运算3.1 3.1 定点数的加、减法运算和加、减法定点数的加、减法运算和加、减法 电路的实现电路的实现3.2 3.2 定点运算器的基本结构与工作原理定点运算器的基本结构与工作原理3.3 3.3 浮点数运算和浮点数运算器的实现浮点数运算和浮点数运算器的实现2014443.3 3.3 浮点数运算和浮点数运算器的实现浮点数运算和浮点数运算器的实现一、二进制数的浮点表示法一、二进制数的浮点表示
35、法浮点数据表示为:浮点数据表示为: N=N=(1 1)S S M M R RE E 其中:其中:S S为数据的符号位为数据的符号位尾数可用原码或补码表示;尾数可用原码或补码表示;阶码可用补码或移码表示阶码可用补码或移码表示 尾数采用定点小数表示。浮点数的精度取决于尾数的位数;尾数采用定点小数表示。浮点数的精度取决于尾数的位数; 尾数的正负表示浮点数的正负;尾数的正负表示浮点数的正负; 阶码采用定点整数表示。浮点数的表示范围取决于阶码的位数;阶码采用定点整数表示。浮点数的表示范围取决于阶码的位数; 阶码指示的是小数点在数据中的位置,阶码的正负表示小数点是阶码指示的是小数点在数据中的位置,阶码的正
36、负表示小数点是 左移(负)或右移(正)。左移(负)或右移(正)。201445一、二进制数的浮点表示法1.1. 浮点数的表示范围浮点数的表示范围 若一个浮点数的阶码有若一个浮点数的阶码有m m位(不包括阶符),尾数位(不包括阶符),尾数有有K K位(不包括尾符)则:位(不包括尾符)则: 可表示的数的最大正值为:可表示的数的最大正值为:即:尾符和阶符为正(即:尾符和阶符为正(0 0) 阶码和尾数为全阶码和尾数为全”1”1” 可表示的数的最小正值为:可表示的数的最小正值为:即:即:阶符为负,阶码为全阶符为负,阶码为全0 尾数最低位为尾数最低位为1,其余位为,其余位为02014461.浮点数的表示范围
37、例例3.9 3.9 用用3232位二进制浮点数表示,阶码位二进制浮点数表示,阶码9 9位位( (其中其中1 1位位为阶符为阶符) ),尾数,尾数2323位位( (其中其中1 1位为尾符位为尾符) ),要求阶码、,要求阶码、尾数尾数均均用补码表示。请问:用补码表示。请问: (1) (1) 最大正数是多少?最大正数是多少? (2) (2) 最小正数是多少?最小正数是多少? (3 3)绝对值最大的负数)绝对值最大的负数 ( (最小数最小数) )201447例3.9 解解: (1) : (1) 最大正数最大正数 X XXXXXXXX , X.XXXXXXXXXXXXXXXXXXXXXX X XXXXX
38、XXX , X.XXXXXXXXXXXXXXXXXXXXXX 9 9位位 23 23位位 0 11111111 0 11111111, 0.1111111111111111111111 0.1111111111111111111111 2 2255255 (1 2 (1 2-22-22) ) = 2 = 2255255 (2 (222221) /21) /22222 = = 2 2233233(2(222221)1) (2 2)最小正数)最小正数 1 00000000, 0.0000000000000000000001 1 00000000, 0.0000000000000000000001
39、2 2256256 2 2-22-22 = = 2 2278278 (3 3)绝对值最大的负数)绝对值最大的负数 ( (最小数最小数) ) 0 11111111 1.0000000000000000000000 0 11111111 1.0000000000000000000000 2 2255255 (-1-1)= = 2 2255 255 补充习题补充习题1: 设机器数字长为设机器数字长为 24 位,欲表示位,欲表示3万的十进制万的十进制数,试问在保证数的最大精度的前提下,除阶符、数,试问在保证数的最大精度的前提下,除阶符、数符各数符各 取取1 位外,阶码、尾数各取几位?位外,阶码、尾数各
40、取几位?满足满足 最大精度最大精度 可取可取 阶码为阶码为 4,尾数为,尾数为 18215 0. n15 用二进制数表示,用二进制数表示, 4位位15 位二进制数可反映位二进制数可反映 3 万之间的十进制数万之间的十进制数 215 = 32768 30000解:解: 214 = 16384 30000在保证数的范围的前提在保证数的范围的前提下,尾数取最大下,尾数取最大4位阶码位阶码+1位阶符位阶符+1位数符位数符+18位尾数位尾数=24位位201448201449一、二进制数的浮点表示法2. 2. 浮点数的规格化浮点数的规格化 浮点数:浮点数:11B 11B = 0.011B= 0.011B
41、2 211B11B = 0.0011B = 0.0011B 2 2100 B100 B = 0.11B = 0.11B 2 210 B10 B若尾数仅若尾数仅2位,哪一种表示精度高?位,哪一种表示精度高? 目的:目的: 使浮点数表示标准化(机内表示唯一)使浮点数表示标准化(机内表示唯一) 充分利用尾数的有效数位,提高运算精度充分利用尾数的有效数位,提高运算精度2014502. 浮点数的规格化 规格化定义规格化定义 尾数的最高数位尾数的最高数位M M1 1必须是有效数字位必须是有效数字位 即:当尾数的值不为即:当尾数的值不为0 0时,其绝对值应时,其绝对值应 0.50.5 (尾数的最高位是个有效
42、数,不是无效数)(尾数的最高位是个有效数,不是无效数)规格化整理:规格化整理:非规格化形式非规格化形式 规格化形式规格化形式移动尾数移动尾数改变阶码改变阶码保证保证N N值不变值不变尾数左移一位,阶码减尾数左移一位,阶码减1 1尾数右移一位,阶码加尾数右移一位,阶码加1 1判别方法判别方法: 原码尾数原码尾数 正、负数正、负数 M M1 1=1=1 规格化规格化 正数正数 M M1 1=1 =1 补码尾数补码尾数 负数负数 M M1 1=0=0补码规格化数:补码规格化数:符号位与最高数位符号位与最高数位M M1 1相异相异2014513.5 浮点数运算和浮点数运算器的实现二、二进制数的浮点运算
43、二、二进制数的浮点运算 1. 1. 浮点数的加减法运算浮点数的加减法运算 运算规则运算规则 设浮点数为:设浮点数为: X=MX=MX X22ExEx Y=M Y=MY Y22EyEy 则:则: X XY = MY = MX X 2 2ExEx M MY Y22EyEy = =(M MX X22Ex-EyEx-EyM MY Y)2 2EyEy E EY YEEX X将两数的小数点将两数的小数点位置对齐位置对齐201452 1. 浮点数的加减法运算浮点数的运算步骤:浮点数的运算步骤: 0 0操作数检查操作数检查 对阶操作对阶操作 尾数运算尾数运算 结果规格化结果规格化 舍入处理舍入处理 判溢判溢
44、201453浮点数的运算步骤:(1 1)0 0操作数检查操作数检查 两操作数中有一个为两操作数中有一个为0 0,即可得知运算结果,不,即可得知运算结果,不 必再进行后续操作,以节省运算时间。必再进行后续操作,以节省运算时间。(2 2)对阶)对阶 将两数的小数点位置对齐,即判两阶码是否相等将两数的小数点位置对齐,即判两阶码是否相等数来改变数来改变 E Ex x或或E Ey y,使之相等,使之相等 E E E Ex xE Ey y若:若:E E 0 0 两阶码相等两阶码相等 E 0 E 0 需对阶需对阶通过移动尾数来改通过移动尾数来改 变变E Ex x或或E Ey y,使之相等,使之相等 2014
45、542.对阶对阶方法对阶方法:若若E EX XE EY Y 方法一:大阶对小阶方法一:大阶对小阶 M MY Y 左移,同时减小左移,同时减小E EY Y,直至,直至E EY YE Ex x设尾数为:设尾数为:0.0.1 1101101尾数左移一位,为:尾数左移一位,为:0.1010.1010 0最高数位最高数位“1”(0.5)1”(0.5)移出,误差大。移出,误差大。 是一个已规格化的数,大阶对小阶时,需是一个已规格化的数,大阶对小阶时,需 左移尾数,将引起最高有效数位的丢失,左移尾数,将引起最高有效数位的丢失, 造成较大的误差,不可取。造成较大的误差,不可取。2014552.对阶若若E EX
46、 XE EY Y 方法二:小阶对大阶方法二:小阶对大阶 M MX X右移,同时加大右移,同时加大E Ex x,直至,直至E Ex xE Ey y 例:例:尾数为:尾数为:0.1100.1101 1 尾数右移一位,为:尾数右移一位,为:0.01100.0110(1 1) 最低数位最低数位“1”(21”(24 4) )移出,误差较方法一小移出,误差较方法一小为减小误差,采用小阶对大阶的方法为减小误差,采用小阶对大阶的方法 对阶方法:对阶方法: 对阶码小的数进行操作,尾数每右移一位,其阶码对阶码小的数进行操作,尾数每右移一位,其阶码 同时加同时加“1”1”,直到两数的阶码相等为止(移位的位,直到两数
47、的阶码相等为止(移位的位 数等于数等于E E)。)。尾数为补码,右移时:补入同符号位(正补0;负补1)201456浮点数的运算步骤:(3 3)尾数运算尾数运算 尾数进行二进制加尾数进行二进制加/ /减补码运算,方法同减补码运算,方法同定点定点 加加/ /减补码运算减补码运算 (4 4)结果规格化)结果规格化 运算结果可能为非规格化数,为了提高运算精度,运算结果可能为非规格化数,为了提高运算精度, 需进行规格化需进行规格化 向左规格化(左规)向左规格化(左规) 向右规格化(右规)向右规格化(右规)2014574.结果规格化左规左规按规格化要求对尾数进行标准化按规格化要求对尾数进行标准化 方法:尾
48、数每左移一位,阶码减1,直至达 到规格化要求。 右规右规尾数运算结果已溢出(两符号位相尾数运算结果已溢出(两符号位相 异),需修正。异),需修正。 例:例:01.XX01.XXX X 或或 10.XX10.XXX X 方法:方法: 尾数右移一位,阶码加尾数右移一位,阶码加1 1。 201458浮点数的运算步骤:(5 5)舍入处理)舍入处理 对阶或向右规格化时,被右移的尾数的低位部分对阶或向右规格化时,被右移的尾数的低位部分 会被丢掉,可能造成一定误差,因此要进行舍入会被丢掉,可能造成一定误差,因此要进行舍入 处理。处理。 方法:方法:截去法:截去法: 移去多余位;移去多余位;0 0舍舍1 1入
49、法:入法: 右移时被丢掉数位的最高位为右移时被丢掉数位的最高位为0”0”, 则丢弃,否则,末尾加则丢弃,否则,末尾加“1”1”; “恒置恒置1 1”法法: : 只要尾数右移移出的位数中有为只要尾数右移移出的位数中有为1 1的的 数,则在最低位置数,则在最低位置1 1。最大误差为最低最大误差为最低位上的位上的“1”最大误差为最低位的最大误差为最低位的-1/2到到+1/2之间。之间。一般采用一般采用“0舍舍1入入”法,其正负法,其正负误差可抵消,误差小。误差可抵消,误差小。最大误差为最低位最大误差为最低位的的-1到到+1之间之间201459浮点数的运算步骤:(6 6)判溢)判溢 浮点数的溢出浮点数
50、的溢出判阶码是否溢出判阶码是否溢出 阶码正常阶码正常运算正常结束;运算正常结束; 阶码下溢阶码下溢置运算结果为机器零;置运算结果为机器零; 阶码上溢阶码上溢置溢出标志。置溢出标志。 201460二、二进制数的浮点运算例例1212:已知两浮点数:已知两浮点数 X=X=0.101000 B0.101000 B2 2-101 B -101 B Y= +0.111011 BY= +0.111011 B2 2-100 B-100 B设浮点机器码的阶码、尾数都用补码表示:设浮点机器码的阶码、尾数都用补码表示:阶码阶码5 5位(含位(含2 2位阶符);尾数位阶符);尾数8 8位(含位(含2 2位尾符)位尾符
51、)求:求:X XY Y (P68P68例例3-163-16) 解:浮点机器码表示:解:浮点机器码表示:XX浮浮= =1111011011,1111.011000.011000 -Y -Y浮浮= =1111100100,1111.000101.000101 对阶:对阶: EE补补=E=EX X 补补EEY Y 补补=E=EX X 补补+E EY Y 补补 = =1111011+ 011+ 0000100 =100 =1111111111 E=E=1 1,E EX XE EY Y EEX X 补补的尾数右移一位,的尾数右移一位,EEX X 补补+1+1 M MX X 补补= =1111. .1 1
52、0110001100(0)(0) E EX X 补补= =1111100100 X X浮浮= =1111100100,1111.101100.101100(0)(0)补入同符号位,补入同符号位,符号位为符号位为1,补入,补入1201461例例1212 尾数相加尾数相加 M MX X 补补+M MY Y 补补 = =1111.101100+.101100+1111.000101.000101 =10.110001 =10.110001 XY浮浮 = 11100,10. 110001 X X浮浮=11 100=11 100,11.101100 11.101100 -Y-Y浮浮=11 100=11
53、100,11.00010111.000101 规格化规格化 尾数运算结果已溢出(两符号位相异),需修正尾数运算结果已溢出(两符号位相异),需修正 右规:右规:尾数右移尾数右移1 1位(连同符号位移位,高位符位(连同符号位移位,高位符 号位补入同符号位);号位补入同符号位); 阶码加阶码加1 1 X XYY浮浮= =1111101101,1111.011000.011000(1 1)201462例例1212 舍入处理舍入处理 采用采用“0 0舍舍1 1入法入法”,则:,则:XXYY浮浮 = = 1111101101,1111.01100.011001 1 XXYY补补=11 101=11 101
54、,11.01100011.011000(1 1) 判溢出判溢出 两位阶符相同(为两位阶符相同(为“11”11”),运算结果无溢出),运算结果无溢出 XXYY浮浮 = = 1111101101,1111.011001.011001 X XY = - 0.100111 BY = - 0.100111 B2 2-011B-011B63三、浮点运算器的基本结构2.2.浮点运算加减运算器工作过程:浮点运算加减运算器工作过程: P72 P72 图图3-343-34201464三、浮点运算器的基本结构2.2.浮点运算加减运算器工作过程:浮点运算加减运算器工作过程: P72 P72 图图3-343-34 对阶
55、对阶 a a,b b中的中的2 2个阶码送辅助个阶码送辅助ALUALUe e进行阶码差运算,进行阶码差运算,结果存入结果存入i i。并送。并送p p,产生操作控制信号。,产生操作控制信号。 操作控制信号操作控制信号x x、y y、z z、u u、v v、w w控制各部件完控制各部件完成浮点运算。成浮点运算。 操作控制信号操作控制信号y y控制选择器控制选择器g g将小阶的操作数尾将小阶的操作数尾数送入数送入k k。右移部件在操作控制信号右移部件在操作控制信号z z的控制下,进的控制下,进行右移操作。同时由操作控制信号行右移操作。同时由操作控制信号x x选择小阶操作选择小阶操作数阶码送入数阶码送
56、入j j,由,由j j完成加完成加1 1操作(共加操作(共加 E E次次 ),),并将对阶后的阶码存入舍入部件并将对阶后的阶码存入舍入部件n n。2014653.3.浮点运算加减运算器工作过程: 尾数运算尾数运算 经过对阶后的尾数送入经过对阶后的尾数送入d d(主(主ALUALU),同时另一),同时另一尾数由操作控制信号尾数由操作控制信号w w控制选择,通过选择器控制选择,通过选择器h h送入送入送入送入d d。d d完成加完成加/ /减运算,运算结果送入移位器减运算,运算结果送入移位器l l。 运算结果规格化运算结果规格化 移位器移位器I I在操作控制信号在操作控制信号u u的控制下完成规格
57、化的控制下完成规格化操作(左规或右规),结果送舍入部件操作(左规或右规),结果送舍入部件n n。 舍入处理舍入处理 舍入部件舍入部件n n在操作控制信号在操作控制信号v v的控制下完成舍入的控制下完成舍入操作,并根据尾数的移位情况,修正所存的阶码。操作,并根据尾数的移位情况,修正所存的阶码。 最后将运算结果送入结果数据寄存器最后将运算结果送入结果数据寄存器c c 。20142014663.5 浮点数运算和浮点数运算器的实现练习练习3 3: P75P753.14 3.14 有两个浮点数有两个浮点数 X=2 X=2011B011B(+ 0.110100B+ 0.110100B) Y=2 Y=210
58、1B101B(- 0.101011B- 0.101011B) 求求X+Y=X+Y=?写出计算过程,如有舍入,用?写出计算过程,如有舍入,用“0 0舍舍1 1 入入”法,建议用双符号位。法,建议用双符号位。解:解: X X浮浮= 00 011= 00 011,00.11010000.110100 Y Y浮浮= 00 101= 00 101,11.01010111.010101 对阶对阶 E EX X 补补 = 00 011 = 00 011 E EY Y 补补= 11 011= 11 011 EE补补= E= EX X 补补+E EY Y 补补= 00 011+11 011=11 110= 00
59、 011+11 011=11 110 E=-2E=-2,E EX XE EY Y, X X的尾数右移二位的尾数右移二位( (补入同符号位补入同符号位) ); E EX X+2+2 XX浮浮= 00 101= 00 101,00.001101 00.001101 Y Y浮浮= 00 101= 00 101,11.01010111.010101201467练习3: 尾数相加尾数相加MX补补+MY补补= 00.001101 + 11.010101 =11.100010 规格化规格化 尾数的符号与最高数值位的符号相同,需左规:尾数的符号与最高数值位的符号相同,需左规: 尾数左移尾数左移1 1位,阶码减
60、位,阶码减1 1 左规:左规: X+YX+Y浮浮= 00 100= 00 100,11. 00010011. 000100 舍入处理舍入处理 无须舍入无须舍入 判溢出判溢出 阶符为阶符为“0000”, , 无溢出无溢出得得: X+Y: X+Y浮浮= 00 100= 00 100,11. 00010011. 000100 X+Y= 2 X+Y= 2100 B100 B( -0.111100B)= -1111B = -15( -0.111100B)= -1111B = -15XX浮浮= 00 101= 00 101,00.001101 00.001101 YY浮浮= 00 101= 00 101,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肾病的临床护理
- 人教部编版九年级上册语文《故乡》教学设计
- 致死性肝内胆汁淤积综合征的临床护理
- 2025中式红木家具购销合同模板
- 沈阳初一月考试卷及答案
- 商河一中会考试卷及答案
- 肇庆市实验中学高中历史二:第四单元中国社会主义发展道路的探索复习教案
- 2025河南公路郑新线C合同段
- 2025年中国外用药瓶数据监测研究报告
- 空调器自适应调节原理考核试卷
- GB/T 14054-1993辐射防护用固定式X、γ辐射剂量率仪、报警装置和监测仪
- GB/T 11865-2008船用离心通风机
- GA/T 652-2006公安交通管理外场设备基础施工通用要求
- 高考语文一轮复习:作文素材《长津湖》 课件(53张PPT)
- 《课程与教学论》形考二答案
- 公积金提取单身声明
- 高处作业吊篮进场验收表
- 八年级英语15篇完形填空(附答案)
- 护理管理学练习题题库
- 8.生发项目ppt课件(66页PPT)
- 手榴弹使用教案
评论
0/150
提交评论