您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > 计算机组成原理JLP_2.3-2.4资料
第二章数据的表示、运算与校验西南石油大学计算机科学学院主讲教师李建联系电话:1390822559802883032835E_mail:lijian2835@163.com计算机组成原理2009SCS-SWPU2第二章数据的表示、运算与校验数值型数据的表示2.1字符型数据的表示2.2运算方法2.3常用的数据校验方法2.4问题与探讨如何以加法器为基础,实现各种运算处理?四则运算或基本逻辑运算复杂运算加法运算2溢出判断与移位3定点乘除法运算1定点加减运算2.3运算方法4浮点运算一、定点加减运算1.补码加减运算的基本关系式数用补码表示,符号位参加运算。实际操作能否只取决于操作码?结果需不需修正?如何将减法转换为加法?带符号的数有原码、反码和补码,采用何种码?2.3.1定点加减运算(X+Y)补=X补+Y补(1)(X-Y)补=X补+(-Y)补(2)式(1):操作码为“加”时,两数直接相加。3)X=3Y=–2X补=00011Y补=1111000001(+1补码)2)X=–3Y=–2X补=11101Y补=1111011011(–5补码)1)X=3Y=2X补=00011Y补=0001000101(+5补码)4)X=–3Y=2X补=11101Y补=0001011111(–1补码)例.求(X+Y)补2.3.1定点加减运算(X+Y)补=X补+Y补(1)(X-Y)补=X补+(-Y)补=X补-Y补(2)式(2):操作码为“减”时,将减转换为加。1)X=4Y=–5X补=00100Y补=11011(-Y)补=0010101001(+9补码)2)X=–4Y=5X补=11100Y补=00101(-Y)补=1101110111(–9补码)例.求(X–Y)补Y补(–Y)补:将Y补变补不管Y补为正或负,将其符号连同尾数一起各位变反,末位加1。即将减数变补后与被减数相加。X补=00100Y补=11011X补=11100Y补=001013.3.1定点加减运算计算机组成原理注意:某数的补码表示与某数变补的区别。例.10101原11011补码表示10011补01101变补10101原1101100101原00101补码表示符号位不变;00101原0010100011补1110110011补0110100011补11101变补连同符号位一起取反加12.3.1定点减法运算2.补码加减运算规则P49图2-6操作数用补码表示,符号位参加运算结果为补码表示,符号位指示结果正负X补+Y补X补+(-Y)补ADDSUB3.3.1定点加减运算操作码为“加”时,两数直接相加;操作码为“减”时,将减转换为加3.逻辑实现A(X补)B(Y补)+AABB+B+B+1CPAA∑(1)控制信号加法器输入端:∑+A:打开控制门,将A送∑+B:打开控制门,将B送+1:控制末位加1。∑+B:打开控制门,将B送加法器输出端:A:打开控制门,将结果送A输入端。∑CPA:将结果打入A。(2)补码加减运算器粗框图3-292.3.1定点加减运算2溢出判断与移位3定点乘除法运算1定点加减运算2.3运算方法4浮点运算溢出判断在什么情况下可能产生溢出?例.数A有4位尾数,1位符号SA数B有4位尾数,1位符号SB符号位参加运算结果符号Sf五位二进制定点整数的补码表示范围:-16—+152.3.2溢出判断与移位正确0001100010(1)A=3B=23+2:00101(2)A=10B=710+7:010100011110001正溢正确负溢正确正确(3)A=-3B=-2-3+(-2):110111110111110(4)A=-10B=-7-10+(-7):011111011011001(5)A=6B=-46+(-4):000100011011100(6)A=-6B=4-6+4:1111011010001002.3.2溢出判断与移位(2)A=10B=710+7:010100011110001(4)A=-10B=-7-10+(-7):0111110110110011.硬件判断逻辑一(SA、SB与Sf的关系)溢出=SASBSfSASfSB2.硬件判断逻辑二(Cf与C的关系)2.3.2溢出判断与移位符号位的进位Cf尾数最高位进位C(或最高有效位的进位)正确0001100010(1)A=3B=23+2:00101(2)A=10B=710+7:010100011110001正溢正确负溢正确正确(3)A=-3B=-2-3+(-2):110111110111110(4)A=-10B=-7-10+(-7):011111011011001(5)A=6B=-46+(-4):000100011011100(6)A=-6B=4-6+4:111101101000100Cf=0C=0Cf=0C=1Cf=1C=1Cf=1C=0Cf=1C=1Cf=0C=01111112.3.2溢出判断与移位(2)A=10B=710+7:010100011110001(4)A=-10B=-7-10+(-7):0111110110110011.硬件判断逻辑一(SA、SB与Sf的关系)溢出=SASBSfSASfSB2.硬件判断逻辑二(Cf与C的关系)溢出=CfC3.硬件判断逻辑三(双符号位)2.3.2溢出判断与移位(1)3+2:正确000011000010000101(2)10+7:001010000111010001正溢正确负溢正确正确(3)-3+(-2):110111111101111110(4)-10+(-7):101111110110111001(5)6+(-4):000010000110111100(6)-6+4:111110111010000100第一符号位Sf1第二符号位Sf22.3.2溢出判断与移位1.硬件判断逻辑一(SA、SB与Sf的关系)2.硬件判断逻辑二(Cf与C的关系)溢出=Sf1Sf23.硬件判断逻辑三(双符号位)溢出=CfC00结果为正01结果正溢出10结果负溢出11结果为负溢出=SASBSfSASfSB2.3.2溢出判断与移位2.移位操作逻辑移位:纯逻辑代码:数码位置变化,无数值变化。(1)逻辑移位算术移位10001111循环左移:0:数码位置变化,数值变化,符号位不变(带符号数)。1001111算术左移:10011111011110(-15)原(-30)原2.3.2溢出判断与移位或无符号数:数码位置变化,有数值变化。移位寄存器:在寄存器中移位(串行接口中)。D4D3D2D1D4D3D2右移左移D3D2D1移位门:斜位传送(运算器中)。左斜右斜∑4∑3∑1∑2门4门3门2门1移位寄存器移位门加法器2.3.2溢出判断与移位1)单符号位:00111011102)双符号位:001110000111(2)算术移位正数补码(包括原码)移位规则3)移位规则左移右移右移0011100011左移左移右移右移011100001110000111数符不变(单:符号位不变;双:第一符号位不变)。空位补0(右移时第二符号位移至尾数最高位)。2.3.2溢出判断与移位1)单符号位:11011101102)双符号位:101100110110负数补码移位规则3)移位规则左移右移右移1101111101左移右移右移110110111011数符不变(单:符号位不变;双:第一符号位不变)。左移空位补0(第二符号位移至尾数最高位)。右移空位补12.3.2溢出判断与移位易出错处(双符号位):001110左右011100正确:110110101100001100011100000110正确:001110111100左正确:101100111110右110110正确:2.3.2溢出判断与移位2.3.2溢出判断与移位算术移位规则1右移添1左移添00反码补码原码负数0原码、补码、反码正数添补代码码制符号位不变2.3.2溢出判断与移位算术移位和逻辑移位的区别算术移位有符号数的移位逻辑移位无符号数的移位逻辑左移逻辑右移低位添0,高位移丢高位添0,低位移丢例如01010011逻辑左移10100110逻辑右移01011001算术左移算术右移0010011011011001(补码)高位1移丢00101100102.3.2溢出判断与移位例1设机器数字长为8位(含一位符号位),写出A=+26时,三种机器数左、右移一位和两位后的表示形式及对应的真值,并分析结果的正确性。解:A=+26则[A]原=[A]补=[A]反=0,0011010+60,0000110+130,0001101+1040,1101000+520,0110100+260,0011010移位前[A]原=[A]补=[A]反对应的真值机器数移位操作1212=+110102.3.2溢出判断与移位例2设机器数字长为8位(含一位符号位),写出A=–26时,三种机器数左、右移一位和两位后的表示形式及对应的真值,并分析结果的正确性。解:A=–26–61,0000110–131,0001101–1041,1101000–521,0110100–261,0011010移位前对应的真值机器数移位操作1212=–0011010[A]原=1,00110102.3.2溢出判断与移位例2设机器数字长为8位(含一位符号位),写出A=–26时,三种机器数左、右移一位和两位后的表示形式及对应的真值,并分析结果的正确性。解:A=–26–61,1111001–131,1110011–1041,0011000–521,1001100–261,1100110移位前对应的真值机器数移位操作1212=–0011010[A]补=1,11001102.3.2溢出判断与移位例2设机器数字长为8位(含一位符号位),写出A=–26时,三种机器数左、右移一位和两位后的表示形式及对应的真值,并分析结果的正确性。解:A=–26–61,1111001–131,1110010–1041,0010111–521,1001011–261,1100101移位前对应的真值机器数移位操作1212=–0011010[A]反=1,110010130将操作数移动一位或多位,分成逻辑移位和算术移位,分别具有左移或右移操作逻辑/算术左移逻辑右移算术右移演示演示演示2.3.2移位操作2溢出判断与移位3定点乘法运算1定点加减运算2.3运算方法4浮点运算2.3.3定点乘法运算手算0.1101×0.101111011101000011010.10001111部分积改进:将一次相加改为分步累加;部分积左移一位改为累加和右移一位。定点乘法运算乘法部分积累加、移位。计算机组成原理2.3.4定点除法运算定点除法运算除法若干余数与除数加减、移位。例.0.10110÷0.111110.1011011010.01111110.11111000111111101010111111101100.00000.0.商:0.10110余数:0.10110×25实现除法的关键:比较余数、除数绝对值大小,以决定上商。2溢出判断与移位3定点乘法运算1定点加减运算2.3运算方法4浮点运算2009SCS-SWPU计算机组成原理浮点运算的实现浮点运算比定点运算复杂,硬件成本高2.3.5浮点四则运算软件子程序实现浮点运算浮点处理器CPU内部配有专门的浮点运算部件,包含相应的浮点运算指令N=M×REEfE1……E2EmM1MfM2……Mn阶码E阶符尾数M数符实现方法2009SCS-SWPU计算机组成原理1.浮点加减运算步骤:(1)检测能否简化操作:判操作数是否为0尾数为0阶码下溢(2)对阶:小数点实际位置对齐1)对阶规则:小阶向大阶对齐。2×0.10012×0.1101232×0.010032×0.110132)对阶操作:小阶阶码增大,尾数右移。若:AEBE,则BE+1BM,直到BE=AE若:AEBE,则AE+1AM,直到BE=AE2.3.5浮点四则运算A=B=2009SCS-SWPU计算机组成原理(3)尾数加减.1)11.0001+00.100111.10102)00.0101+00.1101AM+BM(4)结果规格化M1/201.0010M
本文标题:计算机组成原理JLP_2.3-2.4资料
链接地址:https://www.777doc.com/doc-3659864 .html