我知道32位有32位寄存器,64位有64位寄存器,但我想知道的是x86和x86-64體系結構,它們比32位和64位更先進?x86和x86-64比64bit更先進嗎?
回答
32 B對64b的
當談到32B與64B架構,你都在談論它的register大小。這是一個地址的大小,爲pointer。
主要問題是32b只能有2^32〜4x10^9個不同的值。字節被解決,所以我們有4 GB的可尋址內存。有些東西是爲kernel保留的,一個普通的程序不能全部使用,即使在理論上也是如此。
具有較大的地址使得地址空間大小不成問題。即使在將來,64b指針也足夠大以處理任何可用的內存。 IIRC 2^64比宇宙中估計的質子數多。我的意思是Eddington number,它要大得多。但是,2^64真的很大。
但還有另一個實際問題。地址現在是兩倍大,消耗兩倍的內存。當他們有很多人時,這是不好的。但它並不是一個表現障礙,只是一個需要記住的缺點。
的x86和x86_64
首先,我必須清楚地表明這兩種架構具有許多名稱。 x86 = x86_32 = i686 = IA32 = Intel32是來自英特爾的32位架構,這是臺式機系統最流行的架構,直到不久之前。通過擴展x86意味着整個系列的架構,包括x86_64。但x86_64不是來自英特爾,而是來自AMD。您也可以將其標記爲amd64或x64,但不要將其誤認爲來自Intel的IA64,並且是失敗的。
使用x86_64不僅寄存器大小增加了一倍(它是64b),而且程序的可用寄存器數量也大大增加。新的ABI充分利用寄存器中的空間。許多函數調用之間在堆棧之間傳遞的東西現在駐留在寄存器中,這減少了操作次數,從而加快了計算速度。
進入點
32b和64b是體系結構的特徵。 x86和x86_64是特定體系結構的名稱。 x86通常是指32b,x86_64是64b。
x86_64比x68_32更先進嗎?當然是。由於它是向後兼容的,它可以處理x86_32的所有內容,但也可以處理更多。然而,程序員可見的部件或CPU架構並不是唯一重要的部分。即使兩個x86_64 CPU也可能在性能方面存在錯誤差異。
但是這會變得太長,最好問一個更具體的問題或在某處查找它。我只是補充一點,大部分黑暗魔法都安全地遠離了程序員,他們的舒適度爲von Neumann architecture。在引擎蓋下,瘋狂的優化發生。現實不是連續的。編譯器和彙編程序員必須知道發生了什麼,並巧妙利用CPU隱藏的內部結構。
這真的取決於。 64位機器的最大優點是可以容納更多的地址空間較大的數據,支持更大的內存。這裏的地址是虛擬地址或物理地址範圍。
- 1. AdvancedDataGridColumn比GridColumn更先進嗎?
- 2. 用sdk和eclipse 64bit工作jdk 7嗎?
- 3. jQuery:是:首先比.className更快:首先?
- 4. 64Bit虛擬系統的先決條件
- 5. AsyncPro和64bit
- 6. C#和Ghostscript 64bit
- 7. LuaInterface和64Bit
- 8. 先進先出,Mplayer和PHP
- 9. x86彙編 - 比較SF和OF標誌
- 10. 可以32bit gdb調試64bit二進制文件嗎?
- 11. regexec和regcomp比做strncmp更有效嗎?
- 12. bind()比live()和delegate()更快嗎?
- 13. 和Luxux + LAMPP比XAMPP更好嗎?
- 14. 更先進的警告
- 15. 比UIButton更快嗎?
- 16. '==='比'!=='更高效嗎?
- 17. 比P6Spy更好嗎?
- 18. 比Jqgrid更好嗎?
- 19. 先進比例計算在TSQL
- 20. 比較先進的Python「認爲Python」
- 21. x86和x64有不同的.net CLR嗎?
- 22. 有關比特比較的x86問題
- 23. 4先進先出和序列化
- 24. 我可以更改Erlang中進程的優先級嗎?
- 25. x86彙編:浮點比較
- 26. x64性能與x86相比
- 27. x86彙編比較參數
- 28. 插座和x86和x86-64之間
- 29. Java + Sqlite和64Bit問題?
- 30. JDK 64bit上的Java和MSMQ
你的回答很有幫助,你也可以解釋一下--->維基百科說x86-64bit是x86指令集的64位版本。這是什麼意思?這裏是[鏈接](http://en.wikipedia.org/wiki/X86-64) – Taimour
@Taimour「x86-64(也稱爲x64,x86_64和amd64)是x86指令的64位版本集合「。正如我寫的,從更廣泛的角度來看,x86是整個架構家族。它們有許多共同之處,主要是在製作更大的寄存器時增加更多的寄存器和指令。 x86_64是x86家族的64b架構。 – Palec
x86-64還提供了更多的功能,例如不執行位以提高安全性,而與32 vs 64體系結構不嚴格相關,x86-64 CPU更新,擴展指令集使計算需要x86上的許多指令,只需要一個在x86-64上。像crc32一樣可以增強網絡IO(用於以太網幀)或增強加密。 – yaccz