浮点运算器查看源代码讨论查看历史
浮点运算器 |
浮点运算器是进行浮点运算的结构。现阶段是用电路来实现,应用在计算机芯片中。是整数运算器之后的一大发展,因为在浮点运算器发明之前,计算机中的浮点运算是都是用整数运算来模拟的,效率十分低下。
目录
基本内容
浮点运算器[1]
基本内容
浮点运算器是进行浮点运算的结构。现阶段是用电路来实现,应用在计算机芯片中。是整数运算器之后的一大发展,因为在浮点运算器发明之前,计算机中的浮点运算是都是用整数运算来模拟的,效率十分低下。
浮点运算器
英文:floating point unit,简称FPU是计算机系统的一部分,它是专门用来进行浮点数运算的。典型的运[1]算有加减乘除和开方。一些系统(尤其是比较老的,基于微代码体系的)还可以计算超越函数,例如指数函数或者三角函数,尽管对大多数现在的处理器,这些功能都由软件的函数库完成。
在大多数现在的通用计算机架构中,一个或多个浮点运算器会被集成在CPU(Central Processing Unit,中央处理器)中,但许多嵌入式处理器(特别是比较老的)没有在硬件上支持浮点数运算。
在过去,一些系统通过协同处理器而不在同一个处理器中来处理浮点数。在微型计算机时代,这一般只用一个芯片;而在以前,可能要用一整个电路板甚至一台机箱。
不是所有的计算机架构中都有硬件的浮点运算器。在没有硬件浮点运算器的情况下,许多浮点数的运算也可以像有硬件那样做到。这样可以节省浮点运算器的硬件成本,但这样会使计算变得慢得多。仿硬件浮点运算可以通过多种层次的方法实现——在CPU中用微代码处理,用操作系统的函数处理,用用户自己的代码处理。
在大多数现代计算机的架构中,一些浮点数运算跟整数运算是分开的。这些分别在不同的架构上差别很大。有一些架构,例如英特尔(Intel)的x86处理器设计了浮点数寄存器,另一些架构中,处理浮点数甚至有独立的时频时域。
浮点数运算常常是用特别的总线传输的。在早期的没有中断机制的大尺度架构(的处理器)中,浮点运算有时与整数运算独立传输。今时今日,许多CPU或架构都有超过一个浮点运算器,例如PowerPC 970 和基于Netburst和AMD64架构的处理器(分别例如奔腾(Pentium)4和速龙(Athlon)64)
当CPU执行一个需要浮点数运算的程序时,有三种方式可以执行:软件 仿真器(浮点运算函数库)、附加浮点运算器和集成浮点运算器。多数现在的计算机有集成的浮点运算器硬件。