通用寄存器之x86里程碑,你知道嗎?

通用寄存器(GPR) 是重要的x86里程碑。

通用寄存器之x86里程碑,你知道嗎?

一種可用於地址或幾乎任何指令的數據的寄存器。

1978年:英特爾8086架構被宣佈為與當時成功的英特爾8080,一個8位微處理器的組裝語言兼容的擴展。8086是一個16位的架構,所有的內部寄存器都是16位寬。與RISC-V不同,寄存器有專用的用途,因此8086不被認為是通用寄存器(GPR)體系結構。

1980年:宣佈了英特爾8087浮點協處理器。這架構擴展了8086和大約60個浮點指令。它不使用寄存器,而是依賴於一個堆棧。

通用寄存器之x86里程碑,你知道嗎?

1982:80286擴展了8086架構,增加了通過創建一個複雜的內存映射和保護模型,並通過添加一些指令來完成指令集並操縱保護模型,將空間地址分配給24位。

1985:80386將80286架構擴展到32位。在除了32位的架構和32位的地址空間之外,80386還增加了新的尋址模式和額外的操作。擴展的指令使80386幾乎成為通用的寄存器機器。除了分段尋址之外,80386還增加了分頁支持,如80286,80386有一個模式來執行8086程序而不改變。

1995年,奔騰處理器的目標是提高性能,只有四個指令添加到用戶可見的指令集:三個用於多處理和一個有條件的移動指令。

通用寄存器之x86里程碑,你知道嗎?

1997年:在奔騰處理器和奔騰處理器在發貨之後,英特爾宣佈它將使用MMX(多媒體擴展)擴展奔騰和奔騰Pro架構。這組新的57條指令使用浮點堆疊來加速多媒體和通信應用程序。MMX指令通常一次在多個短數據元素上運行,在單個指令的傳統中,多個數據(SIMD)架構(見第6章)。奔騰II沒有引入任何新的指令。

1999年:英特爾又增加了70條指令,標籤為SSE(流媒體SIMD擴展)作為奔騰III的一部分。主要的變化是添加8個獨立的寄存器,將它們的寬度加倍到128位,並添加一個精確的浮點數據類型。因此,可以並行執行4個32位浮點運算。為了提高內存性能,SSE包括緩存預取指令和流式存儲指令,這些指令繞過緩存,直接寫入內存。

通用寄存器之x86里程碑,你知道嗎?

2001年:英特爾又增加了144個指令,這次是SSE2。新的數據類型是雙精度運算,它允許並行地對64位浮點運算進行配對。幾乎所有這144個指令都是現有MMX和SSE指令的版本,它們並行地運行64位數據。這一變化不僅使更多的多媒體操作得以實現;它為編譯器提供了與獨特的堆棧體系結構不同的浮點操作目標。編譯器可以選擇將八個SSE寄存器作為浮點寄存器,就像在其他計算機中發現的那樣。這一變化提高了奔騰4的浮點性能,這是第一個包含SSE2指令的微處理器。

通用寄存器之x86里程碑,你知道嗎?

今天的介紹就到這裡了,怎麼樣,是不是很長見識呢?喜歡就請留言吧。


分享到:


相關文章: