您现在的位置:首页 > 教案格式 > 正文

无穷 符号 11、定点数和浮点数(3)

2018-01-15 22:02 网络整理 教案网

那么浮点的运算该怎么办?前面我们讲了正数的加减乘除运算了。

浮点数加法中,最重要的一点就是如何对有效数相加,为了能使它们的有效位匹配,需要利用指数来确定对其如何移位。假设要进行下面的加法运算:

(1.1101x25)+(1.0010x22)

你需要把有效数部分的11101和10010相加,但并不是简单的相加。两个数的指数部分的不同决定了第二个数必须相对于第一个数右移。实际上我们要做的整数加法应该是11101000加10010.最后的运算结果是:1.1111010x25

两个浮点数的乘法意味着要把有效数当做整数相乘,并且把指数部分相加。为了使结果规范化,一般需要对指数调整一次到两次。

浮点数运算的另一层次的复杂性体现在处理一些较为繁杂的函数运算,例如平方根、指数、对数和三角函数。但所有的都可以通过加减乘除来实现。无穷 符号

IBM在1954年发布了IBM704,它是第一台将浮点数运算硬件作为可选配件的商用计算机,该机器以36位来存储所有的数。对于浮点数,36位被分为27位的有效数,8位的指数和1位的符号位。浮点运算硬件可以直接进行加法减法乘法除法运算,其他的浮点运算则必须通过软件来实现。

1980年开始,浮点运算硬件开始应用于桌面计算机,这起始于英特尔当年发布的8087数字协同处理芯片,当时这种集成电路被称做数学协同处理器或浮点运算单元。8087不能独立工作,它只能与8086或8088芯片一起工作,因此被称为协处理器。

8087拥有40个管脚,它使用的很多信号与8086或8088完全相同。微处理器和数学协处理器通过这些信号相连。当CPU读取到一条特殊指令ESC时——协同处理其开始接管控制权并执行下一条机器指令,该指令可以使三角函数、指数和对数等68条指令中的任一条。它所处理的数据类型遵循IEEE标准。在当时,8087被认为是市面上最高水平的集成电路。

可以把协处理器当做一个小型的自包含计算机。当响应某个特定的浮点运算机器码指令时,协处理器会以固有的方式执行存放在ROM中属于自己的指令序列。这些内部指令称做微代码。通常,这些指令都是循环的,因此不能立即得到最终结果。虽然如此,但数学协处理器在运算速度方面仍然表现优异,与软件方法相比,其速度至少是后者的10倍。

在1990年发布的68040芯片中,摩托罗拉首次将FPU集成在了CPU中。