组原章节小结_Chapter3 运算方法和运算器.doc_第1页
组原章节小结_Chapter3 运算方法和运算器.doc_第2页
组原章节小结_Chapter3 运算方法和运算器.doc_第3页
组原章节小结_Chapter3 运算方法和运算器.doc_第4页
组原章节小结_Chapter3 运算方法和运算器.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Chapter3 运算方法和运算器1. 溢出判断与变形补码1) 溢出判别信号:设x补x0.x1x2xn ,y补y0.y1y2yn, s补=x补y补s0.s1s2sn ; OVR为溢出判别信号,且当OVR1时,表示溢出。2) 三种判断溢出的方法:根据符号x0、y0及s0判别溢出(3个数符):即x0和y0均与s0不同时,产生溢出,且x0= y0 =0时为正溢出;x0= y0 =1时为负溢出。根据两数相加时产生的进位判别(2个进位):设Cf为符号位上产生的进位,C1为最高数值位上产生的进位。即若CfC1 ,则产生溢出,且Cf 0时,为正溢出;Cf 1时,为负溢出。采用变形补码运算(双符号位补码):即x变形补x0x0.x1x2xn ,y变形补y0y0.y1y2yn,设s变形补 x变形补+y变形补= sf1sf2.s1s2sn 变形补码的溢出判断条件: OVRsf1sf2当sf1sf2时,出现溢出。其中:sf1sf201,表示正溢出; sf1sf210,表示负溢出。2. 定点乘法运算:1) 原码一位乘法的计算过程、硬件实现:(不要求)原码一位乘法的算法规则:a. 积的符号单独处理。用绝对值|被乘数|和|乘数|进行运算。b. 设初始部分积Z0=0,增设进位触发器Cj且初始化为0。c. 以 |乘数| 的最低位yn作为乘法判别位, 若判别位为1,则在前次部分积上加上 |被乘数|,然后将本次部分积连同 |乘数|及Cj一起逻辑右移一位;若判别位为0,则在前次部分积上加0(或不加),然后将本次部分积连同|乘数|及Cj一起逻辑右移一位。d. 重复c.,直到运算n次为止。(n为乘数数值部分的长度) 例1:已知x-0.1101,y-0.1011,求xy? (原码一位乘法)解:x原= 1.1101, y原, = 1.1011,乘积z原=xy原Step1:符号位单独处理,z0=11=0Step2:将 |被除数| (不含符号位)和 |除数| (不含符号位)的数值部分相乘注意:初始部分积为0(含符号,正0);初始乘数为乘数绝对值的数值部分(不含符号)。得:step:3:|xy|=0.10001111Step4:加上符号部分:xy原= 1.10001111Step5:即xy= -0.10001111 硬件实现(1)A、B、C:乘法计算开始时,A:部分积,B:被乘数,C:乘数;乘法运算结束后,A:乘积高位部分,B:不变,仍然是被乘数,C:乘积低位部分。(2)CR:是计数器,用于记录乘法运算的次数。(3)Cj:是进位位。(4)CT:是乘法控制器,用于控制乘法运算的开始和结束。CT=1,允许发出移位脉冲,控制进行乘法运算;CT=0,不允许发出移位脉冲,停止进行乘法运算。2) 补码一位乘法的计算过程、硬件实现:补码一位乘法的算法规则:a. 参加运算的数均以补码表示,结果仍以补码表示。b. 增设yn+1,且初始化为0,部分积初始化为0。c. 部分积与被乘数采用双符号位,且符号位参加运算。d. 判别ynyn+1,并采取相应的操作。其中,右移指将部分积连同乘数( 包括yn+1 )一起算术右移。 e. 重复d,共做n+1次操作,最后一次不移位! 例1:已知x0.1101 y0.1011 求xy? (补码一位乘法)解:x补= 11.1101, y补, = 1.1011,-x补= 00.1101,乘积z补=xy补注意:初始部分积为0(含符号,双符号,正0);初始乘数为乘数绝对值的数值部分(含符号,单符号)。附加位yn+1=0。最后一次只做运算,不移位。得:xy补= 0.10001111 (单符号)xy= -0.10001111 硬件实现(1)A、B、C:A:存放乘积和部分积的最高位,初始内容为0,Af1、Af2是部分积的两个符号位,补码乘法中符号位和数值部分同时参加运算;C:存放乘数和部分积的最低位,Cn、C0用于控制电路中进行+x补,还是+-x补操作;B:存放被乘数,C:乘积地位部分。(2)CT:是乘法控制器,用于控制乘法运算的开始和结束。CT=1,允许发出移位脉冲,控制进行乘法运算;CT=0,不允许发出移位脉冲,停止进行乘法运算。(3)CR:是计数器,用于记录乘法运算的次数。初始时,CR清0,每进行一次运算,CR+1,当计数到CR=n+1时,结束运算。注意:CR=n是,CT就清0,所以第n+1次运算时,不再进行移位。3. 定点除法运算原码不恢复余数法(原码加减交替除法)-过程(非要求),原理(要求)1)原码不恢复余数法的算法规则1 判溢出,比较被除数和除数。若在定点小数运算时,|被除数| |除数| ,则除法将发生溢出,不能进行除法运算。2 符号位单独处理,商的符号由被除数和除数符号的异或运算求得。3 用被除数和除数的数值部分进行运算,被除数减去除数。4 若所得余数为正,表示够减,相应位上商为1,将余数左移一位后,减去除数;若所得余数为负,表示不够减,相应位上商为0,将余数左移一位后,加上除数。5 重复第步,直到所求得的商的各位为止。如果最后一次所得的余数仍为负,则需要再做一次加除数的操作,以得到正确地余数。(参看,书P98,【例3.18】)2) 书p97,例3.17:已知x-0.1101,y-0.1011,求x/y? 解:x原= 1.1101, y原, = 1.1011,|x|=0.1101 , |y|=0.1011 , -|y|补=11.0011,Step1:符号位单独处理,商符q0=x0y0=10=1Step2:将 |被除数| (双符号位)和 |除数| (单符号位)的数值部分相除注意:初始余数为被除数X(含符号,双符号,正0);初始乘数为乘数绝对值的数值部分(不含符号)。得:商|x/y| = 0.1101,余数|r| = 0.0111。因为:商符q0=1,余数符号与被除数X相同,余数的数值部分位数等于被除数和除数数值部分位数之和。所以,商q原=x/y原=1.1101 (单符号),余数r原=1.01112-4,所以x/y = -0.1101,r = -0.000001113) 硬件实现A寄存器:被除数(部分余数)余数B寄存器:除数C寄存器:初态为0,终态为商。Ff:余数的符号位,若Ff=0,表示余数为正,在C最低位上商1,并控制下次做减法。若Ff=1,表示余数为负,在C最低位上商0,并控制下次做加法。CT:是除法控制触发器,用于控制除法运算的开始和结束。CT=1,允许发出移位脉冲,控制进行除法运算;CT=0,不允许发出移位脉冲,停止进行除法运算。4. 浮点加减运算(例题)有要求写出计算过程两个浮点数加减运算的步骤如下:1 对阶:求阶码之差;小阶向大阶看齐。即将阶码小的数的尾数向右移位,每右移一位,阶码加1,右移位数等于两数阶码之差的绝对值|e|。2 尾数求和/差:若求和,则将对阶后的两数尾数直接相加,得到两浮点数之和的尾数;若求差,则将对阶后的减数的尾数变补,然后与被减数的尾数相加,得到两浮点数之差的尾数。3 结果规格化:原码表示中,满足1/2|S|1的数为规格化数;(尾数的最高位为1)补码表示中,满足一1S1/2和1/2S1的数为规格化数。(符号位与尾数的最高位异或值为1)4 舍入:舍入方法:a. 恒舍法(截断法):将移出的部分一律舍去,保留的部分不作任何改变。b. 0舍1入法:若右移时被丢掉数位的最高位为0,则舍去;若右移时被丢掉数位的最高

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论