第3章--运算方法和运算部件课件

上传人:痛*** 文档编号:241638804 上传时间:2024-07-12 格式:PPT 页数:58 大小:1.70MB
返回 下载 相关 举报
第3章--运算方法和运算部件课件_第1页
第1页 / 共58页
第3章--运算方法和运算部件课件_第2页
第2页 / 共58页
第3章--运算方法和运算部件课件_第3页
第3页 / 共58页
点击查看更多>>
资源描述
目录目录退出退出目录目录第3章运算方法和运算部件内容提要算术逻辑运算基础算术逻辑运算单元(ALU)定点数乘法运算定点除法运算浮点数运算1目录目录退出退出目录目录3-1算术逻辑运算基础内容提要定点数的加减法运算溢出及其判别方法移位十进制数的运算逻辑运算2目录目录退出退出目录目录3-1-1定点数的加减法运算补码加法运算补码减法运算3目录目录退出退出目录目录1补码加法运算补码加法运算两个参与相加的数无论是正数还是负数,在进行相加运算时,只要将两个数表示成对应的补码形式,再将这两个补码直接按二进制运算规则相加,所得的结果就是和的补码形式。即两个数补码的和等于两个数和的补码。可用如下关系式描述:X补Y补XY补4目录目录退出退出目录目录补码加法运算举例补码加法运算举例1例1:X=0.1011Y=0.1010求X补Y补=?解:X补=0.1011Y补=1.01105目录目录退出退出目录目录补码加法运算举例补码加法运算举例2例2:X=0.1010Y=0.0101求X补Y补=?解:X补=1.0110Y补=1.10116目录目录退出退出目录目录2补码减法运算补码减法运算两个异号数的相加是利用它们的补码将减法变成了加法来做,减法运算当然也可以转化成加法来完成。之所以使用这种方法而不用直接减法,是因为这样可以和常规的加法运算使用同一加法器电路,从而简化了计算机硬件电路的设计。根据上式可得:X-Y补X(-Y)补X补-Y补X补-Y补7目录目录退出退出目录目录补码减法运算公式为:X补Y补=XY补通过Y补求得Y补可以将减法运算转化为补码的加法运算。已知已知 Y补求补求 Y补补 的法则是:对的法则是:对 Y补各补各位(包括符号位)取反位(包括符号位)取反,末位加末位加1,就可以,就可以得到得到Y补补 例Y补=1.1011则Y补=0.0101Y补=0.1011则Y补=1.01018目录目录退出退出目录目录补码减法运算举例补码减法运算举例1例1:X=0.1100Y=0.0110求X补Y补=?解:X补=0.1100Y补=0.0110Y补=1.1010X补Y补=X补+-Y补9目录目录退出退出目录目录补码减法运算举例补码减法运算举例2例2:X=0.1100Y=0.0110求X补Y补=?解:X补=1.0100Y补=1.1010Y补=0.0110,则X补Y补=X补+Y补=?10目录目录退出退出目录目录补码加减法小结由此得到:补码加减法运算法则如下:(1)参加运算操作的数都用补码表示。(2)数据的符号与数据一样参加运算。(3)求差时将负减数求补,用求和代替求差,将减法运算转化为补码的加法运算。(4)运算结果为补码。如果符号位为0,表明运算结果为正;如果符号位为1,则表明结果为负。(5)符号位的进位为模值,应该去掉。11目录目录退出退出目录目录3-1-2溢出及其判别方法由于CPU的字长是一定的,在确定了运算字长和数据的表示方法后,所能表示的数的范围也就相应确定了。当运算结果超出了机器数所能表示的范围,就会产生溢出。两个异号数相加或两个同号数相减其运算结果是不会产生溢出的,只有两个同号数相加或两个异号数相减才可能发生溢出。运算结果为正且大于所能表示的最大正数,称为“正溢”;运算结果为负且小于所能表示的最小负数,称为“负溢”。下面我们可以通过以下几个例子来推导出发生溢出的条件。设字长为8位,用补码表示,则表示数的范围为-128127,如果运算结果超出此范围则发生了溢出。12目录目录退出退出目录目录3-1-2溢出及其判别方法13目录目录退出退出目录目录3-1-2溢出及其判别方法14目录目录退出退出目录目录1根据符号位判断根据符号位判断从上述例子(b)、(d)可以看出:两个正数相加,结果却为负数,则表明发生了溢出;两个负数相加,结果却为正数,则也表明发生了溢出。分别用Xn、Yn、Sn表示两个操作数的符号和运算结果的符号,则发生溢出的条件为:溢出=XnYnSn+XnYnSn15目录目录退出退出目录目录2根据进位位判断根据进位位判断设数值位向符号位发生的进位为Cn-1,而符号位向更高位发生的进位为Cn,则发生溢出的条件为:16目录目录退出退出目录目录3根据双符号位判断根据双符号位判断由于用一位二进制数来表示符号只能表示出正负两种情况,当产生溢出时,会使符号位的含义产生混乱。因此可将符号位扩充为两位,这样既能表示出符号的正负,又能反映出是否发生溢出和所发生溢出的类型。双符号位的编码含义如下:00结果为正,没有溢出01结果溢出,为正溢出10结果溢出,为负溢出11结果为负,没有溢出17目录目录退出退出目录目录3-1-3移位逻辑移位循环移位算术移位18目录目录退出退出目录目录3-1-4 十进制数的运算十进制数的运算计算机内采用二进制数表示信息和运算虽然具有许多优点,但是人们习惯于十进制,因此在某些场合,希望机器也能直接运算十进制数。为此,经常采取借用二进制方式来表示一个十进制数,由于十进制数须10个状态,所以借用4位二进制数的16个状态组合的其中10个状态来表示十进制数的09,这就是二-十进制码的基本方法,用英文字母表示为BCD码(BinaryCodedDecimal)。19目录目录退出退出目录目录3-1-5逻辑运算1逻辑“与”运算逻辑“与”运算通常也称为“逻辑乘法”,用符号“”或“”表示。可用逻辑“与”门电路实现。2逻辑“或”运算逻辑“或”运算通常也称为“逻辑加法”,用符号“”或“”表示。可用逻辑“或”门实现。3逻辑“非”运算逻辑“非”运算通常也称为“求反运算”,在逻辑变量上加一短线表示该变量的“非”。求反操作可用反向器(非门)实现。4逻辑“异或”运算逻辑“异或”运算就是通常所说的“不带进位的加法”运算,即“半加”,用符“”表示。可用“异或门”电路实现。20目录目录退出退出目录目录3-2算术逻辑运算单元(ALU)加法单元电路串行加法器和并行加法器并行加法器的进位链ALU举例21目录目录退出退出目录目录3-2-1加法单元电路在ALU中,一位加法单元电路通常都采用全加器,全加器的框图和功能表如图所示。22目录目录退出退出目录目录3-2-1加法单元电路23目录目录退出退出目录目录3-2-1加法单元电路根据功能表可写出全加器的和Fi及进位Ci+1的逻辑表达式。24目录目录退出退出目录目录3-2-2串行加法器和并行加法器串行加法器并行加法器25目录目录退出退出目录目录1串行加法器串行加法器26目录目录退出退出目录目录2并行加法器并行加法器在并行加法器中,加法单元电路的位数与操作数的位数相同,可以同时对操作数的各位进行相加。并行加法器中的操作数各位也是同时提供的,但由于进位是逐位形成的,从而使各位的和也不能同时得到。27目录目录退出退出目录目录3-2-3并行加法器的进位链进位函数串行进位采用串行进位的并行加法器的结构如图示。28目录目录退出退出目录目录3-2-3并行加法器的进位链并行进位4位并行加法器逻辑电路图,如图所示。4位并行加法器 29目录目录退出退出目录目录3-2-3并行加法器的进位链组内并行、组间串行的进位链组内并行、组间串行的16位加法器 30目录目录退出退出目录目录3-2-3并行加法器的进位链组内并行、组间并行的进位链组内并行、组间并行的16位加法器 31目录目录退出退出目录目录3-2-4ALU举例SN74181的外部结构SN74181 外部结构图 32目录目录退出退出目录目录3-2-4ALU举例SN74181内部结构一位ALU内部结构 33目录目录退出退出目录目录3-2-4ALU举例由负逻辑操作数表示的74181ALU逻辑电路图。SN74181 ALU逻辑电路图 34目录目录退出退出目录目录3-2-4ALU举例SN74181的功能表35目录目录退出退出目录目录3-2-4ALU举例用SN74181构成多位的ALU16位并行进位ALU结构 36目录目录退出退出目录目录3-3定点数乘法运算无符号数一位乘法带符号数一位乘法37目录目录退出退出目录目录3-3-1无符号数一位乘法若要在计算机内实现上述二进制数乘法的运算,应解决以下几个问题:因为加法单元电路只有两个输入端,因此在机器内多个数据一般不能同时相加,一次加法操作只能求出两数之和,因此每求得一个相加数,就应与上次部分积相加。人工计算时,相加数逐次向左偏移一位,由于最后的乘积位数是乘数(或被乘数)的两倍,如按此法在机器中运算,加法器的位数也需增到两倍。观察计算过程很容易发现,在求本次部分积时,前一次部分积的最低位就不再参与运算了,因此可将其右移一位,相加数可直送而不必偏移,于是用N位加法器就可实现两个N位数相乘。部分积右移时,乘数寄存器的内容也同时右移一位,这样可以用乘数寄存器的最低位来控制相加数(取被乘数或零),同时乘数寄存器的最高位可接收部分积右移出来的一位。因此,完成乘法运算后,寄存器中保存乘积的高位部分,乘数寄存器中保存乘积的低位部分。38目录目录退出退出目录目录3-3-2带符号数一位乘法定点原码一位乘法定点补码一位乘法39目录目录退出退出目录目录1定点原码一位乘法定点原码一位乘法两个用原码表示的数相乘,其乘积的符号为相乘两数的异或值,而数值则为两数绝对值之积。40目录目录退出退出目录目录2定点补码一位乘法定点补码一位乘法补码与真值的关系补码的右移补码一位乘法(校正法)补码一位乘法(比较法)41目录目录退出退出目录目录3-4定点除法运算无符号数一位除法带符号数一位除法42目录目录退出退出目录目录3-4-1无符号数一位除法恢复余数法不够减的情况不够减的情况:加上补码后,结果的符号位为11(负),则表明不够减,商0;恢复,加除数,左移,再重复操作。够减的情况:够减的情况:加上补码后,结果为符号位为00(正),则表明够减,商1,再重复以上的步骤。加减交替法(不恢复余数法)43目录目录退出退出目录目录3-4-2带符号数一位除法在被除数的绝对值小于除数的绝对值(即商不溢出)的情况下,补码一位除法的运算规则如下:如果被除数与除数同号,用被除数减去除数;若两数异号,用被除数加上除数。如果所得余数与除数同号上商l,若余数与除数异号,上商0,该商即为结果的符号位。求商的数值部分。如果上次上商l,将余数左移一位后减去除数;如果上次上商0,将余数左移一位后加上除数。然后判断本次操作后的余数,如果余数与除数同号上商l;若余数与除数异号上商0。如此重复执行n-1次(设数值部分有n位)。商的最后一位一般采用恒置l的办法,并省略了最低位+l的操作,此时最大误差为2-n。如果对商的精度要求较高,则可按规则(2)再进行一次操作,以求得商的第n位。当除不尽时,若商为负,要在商的最低一位加l,使商从反码值转变成补码值;若商为正,最低位不需要加l。44目录目录退出退出目录目录3-5浮点数运算浮点数的表示形式(以2为底):NM2E浮点数的加减法运算浮点数的乘除法运算浮点数运算器45目录目录退出退出目录目录3-5-1浮点数的加减法运算“对阶”操作尾数的加/减运算规格化操作舍入处理检查阶码是否溢出46目录目录退出退出目录目录浮点数的表示机器中任何一个浮点数可写成x为浮点数的尾数,一般为绝对值小于1的规格化数(补码表示时允许为-1),机器中可用原码或补码表示。jx为浮点数的阶码,一般为整数,机器中大多用补码或移码表示。r为浮点数的基数,常用2、4、8或16表示。以下以基数为2进行讨论。47目录目录退出退出目录目录浮点加减运算设两个浮点数尾数的加减运算规则与定点数完全相同。当两浮点数阶码不等时,因两尾数小数点的实际位置不一样,尾数部分无法直接进行加减运算。48目录目录退出退出目录目录浮点加减运算的步骤1.对阶,使两数的小数点位置对齐。2.尾数求和,将对阶后的两尾数按定点加减运算规则求和(差)。3.规格化,为增加有效数字的位数,提高运算精度,必须将求和(差)后的尾数规格化。4.舍入,为提高精度,要考虑尾数右移时丢失的数值位。5.判断结果,即判断结果是否溢出49目录目录退出退出目录目录1.对阶这一步操作是将两个加数的小数点对齐。小阶向大阶看齐,阶码较小的数,其尾数向右移,每右移一位,阶码加“1”,直到两数阶码相同为止。尾数右移时可能会发生数码丢失,影响精度。50目录目录退出退出目录目录例:两浮点数例:两浮点数x x0.110120.110120101,y=-(0.1010)2 y=-(0.1010)21111,求,求x+yx+y。(1)首先写出x、y在计算机中的补码表示。x补=00,01;00.1101,y补=00,11;11.0110(2)在进行加法前,必须先对阶,故先求阶差:j补=ix补-jy补=00,01+11,01=11,10 即j=-2,表示x的阶码比y的阶码小,再按小阶向大阶看齐的原则,将x的尾数右移两位,其阶码加2。得x补=00,11;00,0011此时,j=0,表示对阶完毕。51目录目录退出退出目录目录2.尾数求和将对阶后的两个尾数按定点加(减)运算规则进行运算。注意:并不考虑溢出溢出由阶码决定接上例,两数对阶后得:x补=00,11;00.0011y补=00,11;11.0110则Sx+Sy补=00.0011+11.0110=11.1001即x+y补=00,11;11.100152目录目录退出退出目录目录3.规格化尾数S的规格化是指尾数满足条件:如果采用双符号位的补码,则当S0时,其补码规格化形式为S补=00.1当S0时,其补码规格化形式为S补=11.0但对S0时,有两种情况需特殊处理。S=-1/2,则S补=11.1000。对于补码而言,它不满足于上面的规格化表示式。为了便于硬件判断,特规定-1/2是规格化的数(对补码而言)。S=-1,则S补=11.0000。因小数补码允许表示-1,故-1视为规格化的数。53目录目录退出退出目录目录规格化又分左规和右规两种。左规。当尾数出现00.0或11.1时,需左规。左规时尾数左移一位,阶码减1,直到符合补码规格化表示式为止。右规。当尾数出现01.或10.时,表示尾数溢出,这在定点加减运算中是不允许的,但在浮点运算中这不算溢出,可通过右规处理。右规时尾数右移一位,阶码加1。接上例,求和结果为x+y补=00,11;11.1001尾数的第一数值位与符号位相同,需左规,即将其左移一位,同时阶码减1,得x+y补=00,10;11.0010。54目录目录退出退出目录目录3-5-2浮点数的乘除法运算两浮点数相乘,其乘积的阶码为相乘两数阶码之和,其尾数应为相乘两数的尾数之积。两浮点数相除,商的阶码为被除数的阶码减去除数的阶码得到的差,尾数为被除数的尾数除以除数的尾数所得的商。参加运算的两个数都为规格化浮点数。乘除运算都可能出现结果不满足规格化要求的问题,因此也必须进行规格化、舍入和判断溢出等操作。规格化时要修改阶码。55目录目录退出退出目录目录3-5-3浮点数运算器在微型计算机中,可将浮点运算器置于主CPU之外,也可嵌入到主CPU之内。由于它们的算术运算是配合80X86CPU进行的,所以又称为协处理器。浮点部件可支持IEEE754标准的单精度和双精度各式的浮点数。另外还使用了一种称为临时实数的80位浮点数,对于浮点数的取数、加法、乘法的操作,都采用了新的算法并用硬件来实现,其执行速度是80486的10倍多。56p经常不断地学习,你就什么都知道。你知道得越多,你就越有力量pStudyConstantly,AndYouWillKnowEverything.TheMoreYouKnow,TheMorePowerfulYouWillBe写在最后谢谢你的到来学习并没有结束,希望大家继续努力Learning Is Not Over.I Hope You Will Continue To Work Hard演讲人:XXXXXX 时 间:XX年XX月XX日
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!