浮點運算器
浮點運算器 |
浮點運算器是進行浮點運算的結構。現階段是用電路來實現,應用在計算機芯片中。是整數運算器之後的一大發展,因為在浮點運算器發明之前,計算機中的浮點運算是都是用整數運算來模擬的,效率十分低下。
目錄
目錄
基本內容
浮點運算器[1]
基本內容
浮點運算器是進行浮點運算的結構。現階段是用電路來實現,應用在計算機芯片中。是整數運算器之後的一大發展,因為在浮點運算器發明之前,計算機中的浮點運算是都是用整數運算來模擬的,效率十分低下。
浮點運算器
英文:floating point unit,簡稱FPU是計算機系統的一部分,它是專門用來進行浮點數運算的。典型的運[1]算有加減乘除和開方。一些系統(尤其是比較老的,基於微代碼體系的)還可以計算超越函數,例如指數函數或者三角函數,儘管對大多數現在的處理器,這些功能都由軟件的函數庫完成。
在大多數現在的通用計算機架構中,一個或多個浮點運算器會被集成在CPU(Central Processing Unit,中央處理器)中,但許多嵌入式處理器(特別是比較老的)沒有在硬件上支持浮點數運算。
在過去,一些系統通過協同處理器而不在同一個處理器中來處理浮點數。在微型計算機時代,這一般只用一個芯片;而在以前,可能要用一整個電路板甚至一台機箱。
不是所有的計算機架構中都有硬件的浮點運算器。在沒有硬件浮點運算器的情況下,許多浮點數的運算也可以像有硬件那樣做到。這樣可以節省浮點運算器的硬件成本,但這樣會使計算變得慢得多。仿硬件浮點運算可以通過多種層次的方法實現——在CPU中用微代碼處理,用操作系統的函數處理,用用戶自己的代碼處理。
在大多數現代計算機的架構中,一些浮點數運算跟整數運算是分開的。這些分別在不同的架構上差別很大。有一些架構,例如英特爾(Intel)的x86處理器設計了浮點數寄存器,另一些架構中,處理浮點數甚至有獨立的時頻時域。
浮點數運算常常是用特別的總線傳輸的。在早期的沒有中斷機制的大尺度架構(的處理器)中,浮點運算有時與整數運算獨立傳輸。今時今日,許多CPU或架構都有超過一個浮點運算器,例如PowerPC 970 和基於Netburst和AMD64架構的處理器(分別例如奔騰(Pentium)4和速龍(Athlon)64)
當CPU執行一個需要浮點數運算的程序時,有三種方式可以執行:軟件 仿真器(浮點運算函數庫)、附加浮點運算器和集成浮點運算器。多數現在的計算機有集成的浮點運算器硬件。