日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FPU

發布時間:2023/12/8 编程问答 63 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FPU 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

FPU:(Float Point Unit,浮點運算單元)FPU是專用于浮點運算的處理器,以前的FPU是一種單獨芯片,在486之后,英特爾把FPU集成在CPU之內。

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

浮點運算就是實數運算,因為計算機只能存儲整數,所以實數都是約數,這樣浮點運算是很慢的而且會有誤差。現在大多數機器都是32位的,也就是說32位都用來表示整數的話,那么對于無符號整數就是0 到 2^32-1,對于有符號的話就是-2^31 到 2^31-1。

當我們用不同的電腦計算圓周率時,會發現一臺電腦的計算較另一臺來講結果更加精確。或者我們在進行槍戰游戲的時候,當一粒子彈擊中墻壁時,墻上剝落下一塊墻皮,同樣的場面在一臺電腦上的表現可能會非常的呆板、做作;而在另外一臺電腦上就會非常生動形象,甚至與我們在現實中看到的所差無幾。這都是浮點運算能力的差異導致的。 如果是實數的話,就不是這樣了,機器有兩種辦法表示實數,一種是定點,就是小數點位置是固定的,一種是浮點,就是小數點位置不固定,計算方法也比較麻煩,通常會比整數運算代價大很多 FPU->Floating Point Unit,浮點運算部件 BCD->Binary Coded Decimal 壓縮的二進制數,是用4個位來表示數字0~9,一個byte表示兩個十進制數,比如01111001表示79 科學計數法:a×10的n次冪的形式。將一個數字表示成 (a×10的n次冪的形式),其中1≤|a|<10,n表示整數,這種記數方法叫科學記數法

浮點運算使用三種不同的數據: 1)整數(Integer),又分為字,短整數(Short Integer)和長整數(Long Integer) 2)實數(Real)分單精度(Single Real)和雙精度(Double Real) 3)壓縮的二十進制數(BCD) 下面是其位數(bits)和能表示的大致范圍和 Type Length Range ----------------------------------------------- Word Integer 16 bit -32768 to 32768 Short Integer 32 bit -2.14e9 to 2.14e9 Long Integer 64 bit -9.22e18 to 9.22e18 Single Real 32 bit 1.18e-38 to 3.40e38 Double Real 64 bit 2.23e-308 to 1.79e308 extended Real 80 bit 3.37e-4932 to 1.18e4932 Packed BCD 80 bit -1e18 to 1e18 雙精度數和擴展精度數表示范圍對一般應用來說已經足夠大了! 1)整數,以補碼形式存儲,正數的補碼是其本身,負數補碼是其絕對值的各位變反后加1,下面是實際存儲的例子: 0024 var1 dw 24 FFFE var2 dw -2 000004D2 var3 dd 1234 FFFFFF85 var4 dd -123 0000000000002694var5 dq 9876 2)BCD數 在FPU中用80位表示正好是浮點堆寄存器的寬度,在其格式如下存儲: Bit 79___72_71________________________________________0 符號 ---18個二十進制數——————————--- 看下面的例子: 00000000000000012345 var1 dt 12345 80000000000000000100 var2 dt -100 3)浮點數,這個復雜點,有三種格式 單精度:_31_30________23_22___________0 符號 指數 有效數 雙精度:_63_62__________52_51__________________0 符號 指數 有效數 擴展精度數: _79_78____________64_63___________________0 符號 指數 有效數

FPU->Floating Point Unit,浮點運算部件 BCD->Binary Coded Decimal 壓縮的二十進制數,是用4個位來表示數字0~9,一個byte表示兩個十進制數,比如01111001表示89 浮點運算使用三種不同的數據: 1、整數(Integer),又分為字,短整數(Short Integer)和長整數(Long Integer) 2、實數(Real)分單精度(Single Real)和雙精度(Double Real) 3、壓縮的二十進制數(BCD)

總結

以上是生活随笔為你收集整理的FPU的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。