Intel 8087
8087 是由 Intel 所设计的第一个数学 辅助处理器,并且它是建造来与 Intel 8088 和 8086 微处理器成对工作。它是 x87 家族中的第一个,8087 的目的是用来加速应用程序有关 浮点 运算的运算需求。性能的加强依照特定的应用,从 20% 到 500% 不等。

辅助处理器推出约 60 个新的可利用指令给程序员,所有的指令都是以 "F" 开头跟其他的标准 8086/8088 整数运算指令有所区别,举例来说,相对于 ADD/MUL,8087 提供 FADD/FMUL。
8087(以及事实上整个 x87 家族)并不提供自由和线性的寄存器集合(像是 8086/88 和 80286 处理器中的 AX/BX/CX/DX 寄存器)-- x87 寄存器的结构是某些 堆栈 的形式(尽管它并不十分像传统的堆栈数据结构),范围从 ST0 到 ST7。80x87 辅助处理器的浮点指令借由推出和推入数值到堆栈上来运算。
当 Intel 设计 8087 时,他的目标是创建一个标准的浮点格式给未来的设计。事实上,从这个辅助处理器的历史观点来看,一件最成功的事情是为 x86 PC 推出了第一个浮点格式:IEEE 754。8087 提供两个基本的 32/64 比特浮点数据形态和额外的扩展 80 比特之内部支持来改进较大和复杂的运算之精准度。除此之外,8087 提供一个 80 比特/17 位数封装 BCD (二进位编码之十进位 格式以及 16, 32 和 64 比特整数数据形态。
8087 是于 1980年 公开,然后由 80287、80387DX/SX 和 487SX 所替代。Intel 80486DX,Pentium 和之后的处理器都在CPU内核含有内置的辅助处理器。
8087辅助处理器
通常称能进行浮点运算的处理器为辅助处理器,8087是由英特尔在1980年发布的辅助处理器。这样就可以同时使用8086,8087来提供整数和浮点运算,486DX之后的处理器,均内建了辅助处理器。486DX,奔腾,AMD K5,K6,K7,K8都内建了辅助处理器,486SX,386,386之前的处理器没有,在linux下可以通过开起内核中的
代码: [*] Math emulation |
选项来仿真一颗辅助处理器
浮点运算
一个CPU的浮点运算能力,整数运算能力是一颗CPU处理能力的强大重要标志。进程的运行,即是数据的处理过程,一个输入,一个输出。当中经过的就是整数,浮点,逻辑运算。
名词解释
- 浮点数:用科学计数法来表示的数,
- 通常表示成其中Z是尾数,S是基数,E是指数。142可以表示成浮点数应该规格化,即尾数表示成大于等于1小于10的数,在2进制中应该是小于2
- C语言中的float,double即是浮点数
- 整数:定点数来表示的数
- 只能表示整数,或者是纯小数
参考书籍
- 编码的奥秘