浮点协处理器解读.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 数值运算协处理器 数值运算协处理器(简称协处理器)是特为与微处理器协同工作而设计的,它是用于加速处理浮点数据的处理部件。对同样的浮点计算,使用该部件进行运算所花的执行时间要比用常规指令编写的最有效代码所花的时间还要少得多。在早期的计算机系统中,该部件是可选部件,但现在一般都把协处理器直接内置在CPU之中。鉴于现在Pentium处理器内部结构的特点,该处理器能同时执行一条协处理器指令和二条整数指令。 协处理器主要产品有:8087、80287、80387SX、80387DX和80487SX等。 协处理器可处理的数据类型有:16位、32位和64位有符号整数,18位BCD码,32位、64位和80位浮点数。 协处理器可处理的运算有:乘法、除法、加法、减法、求平方根、部分正切、部分反正切和对数等运算。 数值运算协处理器  有符号数在协处理器中的应用与前面章节中所描述的方法是一致的,它是各种数据类型的基础。这些整数可分为:16位(字型)、32位(短整型)和64位(长整型),其最高位为符号位。 11.1 协处理器的数据格式 11.1.1 有符号整数 数值运算协处理器 一个BCD码数据在内存中占80位,共10个字节。其最高位字节用来表示正负号,其余9个字节,每个字节内含有二个BCD码,所以,一个BCD码数据可表示18个BCD编码。 关于BCD码的正负数,有如下规定: 若最高位字节的值为0H,则表示该BCD码的值为正数 若最高位字节的值为80H,则表示该BCD码的值为负数 11.1.2 BCD码数据 BCD BCD BCD BCD … … 符号字节 第9个字节 第1个字节 第0个字节 在汇编语言环境下,BCD码数据的定义符为:DT。如: .387 BCD1 DT 1234, -340 该说明语句决定了数据在内存中的存储形式如下: 00000000000000001234,80000000000000000340 数值运算协处理器 在计算机中,浮点数一般由三部分组成:数值的符号位、阶码和有效数字(以后简称为尾数)。这种浮点数是用科学记数法来表示的,即: 浮点数=符号位.有效数字×2阶码。 Intel系列的协处理器支持3种形式的浮点数:短型浮点数(32位)、长型浮点数(64位)和临时浮点数(80位),它们分别对应单精度、双精度和扩展精度浮点数。 11.1.3 浮点数 一、十进制数转换成浮点数的步骤 1、将十进制数转换成二进制数:整数部分用2来除,小数部分用2来乘; 2、规格化二进制数:改变阶码,使小数点前面仅有第一位有效数字; 3、计算阶码:   短型浮点数的阶码加上偏移量7FH   长型浮点数的阶码加上偏移量3FFH   扩展型浮点数的阶码加上偏移量3FFFH 4、以浮点数据格式存储。   把数值的符号位、阶码和尾数合在一起就得到了该数的浮点存储形式。 数值运算协处理器 例11.1 把十进制数100.25转换成协处理器中的浮点数 解:  1、进制转换:(100.25)10=(1100100.01)2  2、规格化:(1100100.01)2=126=12110  3、计算阶码:11010000101  4、数值的符号位为0,    阶码为尾数为:1001 0001 0000 0000 0000 000    综合上述可得:(100.25)10的浮点形式为:      010010001000000000000000 几个特殊数据的存储规则: 正0: 所有的数据位都是0; 负0: 最高位为1,其它的数据位是0;  正/负无穷: 符号位为0/1,阶码位全为1,有效数字全为0; NAN: 非法的浮点数,阶码位全为1,有效数字不全为0;  其中:NAN — Not-A-Number。 数值运算协处理器 二、浮点数转换成十进制数的步骤  该步骤与前面“十进制数转换成浮点数”的步骤是互逆的,其具体步骤如下:  1、分割数字的符号、阶码和有效数字;  2、将偏移阶码减去偏移,得到真正的阶码;  3、把数字写成规格化的二进制数形式;  4、把规格化的二进制数改变成非规格化的二进制数;  5、把非规格化的二进制数转换成十进制数。 例11.2 把浮点数1100000111001001000000000000转换成十进制数。 解: 1、把浮点数1100000111001001000000000000分割成三部分,可得:   符号位是1,阶码尾数是1001001000000000000 2、还原阶码–100 3、该浮

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档