8087 是由 Intel 所設計的第一個數學 輔助處理器,並且它是建造來與 Intel 80888086 微處理器成對工作。它是 x87 家族中的第一個,8087 的目的是用來加速應用程式有關 浮點 運算的運算需求。效能的加強依照特定的應用,從 20% 到 500% 不等。

Intel 8087 數學輔助處理器

輔助處理器推出約 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 80486DXPentium 和之後的處理器都在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即是浮點數
  • 整數:定點數來表示的數
    • 只能表示整數,或者是純小數

參考書籍

  • 編碼的奧秘


Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.