FPU(Float Point Unit,浮点运算单元)是专用于浮点运算的处理器,以前的 FPU 是一种单独芯片,在 486 之后,英特尔把 FPU 与集成在 CPU 之内。

FPU(Float Point Unit,浮点运算单元)是专用于浮点运算的处理器,以前的 FPU 是一种单独芯片,在 486 之后,英特尔把 FPU 与集成在 CPU 之内。

fpu是什么 第1张

浮点运算器(floating point unit,缩写 FPU)是运行浮点运算的结构。一般是用电路来实现,应用在计算机芯片中。是整数运算器之后的一大发展,因为在浮点运算器发明之前,计算机中的浮点运算是都是用整数运算来模拟的,效率十分不良。浮点运算器一定会有误差,但科学及工程计算仍大量的依靠浮点运算器——只是在程序设计时就必需考虑精确度问题。

FPU 是计算机系统的一部分,它是专门用来进行浮点数运算的。典型的运算有加减乘除和开方。一些系统(尤其是比较老的,基于微代码体系的)还可以计算超越函数,例如指数函数或者三角函数,尽管对大多数现在的处理器,这些功能都由软件的函数库完成。

在大多数现在的通用计算机架构中,一个或多个浮点运算器会被集成在 CPU(Central Processing Unit,中央处理器)中,但许多嵌入式处理器(特别是比较老的)没有在硬件上支持浮点数运算。

在过去,一些系统通过协同处理器而不在同一个处理器中来处理浮点数。在微型计算机时代,这一般只用一个芯片;而在以前,可能要用一整个电路板甚至一台机箱。

不是所有的计算机架构中都有硬件的浮点运算器。在没有硬件浮点运算器的情况下,许多浮点数的运算也可以像有硬件那样做到。这样可以节省浮点运算器的硬件成本,但这样会使计算变得慢得多。仿硬件浮点运算可以通过多种层次的方法实现——在 CPU 中用微代码处理,用操作系统的函数处理,用用户自己的代码处理。

在大多数现代计算机的架构中,一些浮点数运算跟整数运算是分开的。这些分别在不同的架构上差别很大。有一些架构,例如英特尔(Intel)的 x86 处理器设计了浮点数寄存器,另一些架构中,处理浮点数甚至有独立的时频时域。

当 CPU 执行一个需要浮点数运算的程序时,有三种方式可以执行:软件仿真器(浮点运算函数库)、附加浮点运算器和集成浮点运算器。多数现在的计算机有集成的浮点运算器硬件。

浮点数运算常常是用特别的总线传输的。在早期的没有中断机制的大尺度架构(的处理器)中,浮点运算有时与整数运算独立传输。今时今日,许多 CPU 或架构都有超过一个浮点运算器,例如 PowerPC 970 和基于 Netburst 和 AMD64 架构的处理器(分别例如奔腾(Pentium)4 和速龙(Athlon)64)