網站首頁 健康小知識 母嬰教育 起名 運動知識 職場理財 情感生活 綠色生活 遊戲數碼 美容 特色美食 愛好
當前位置:酷知知識幫 > 遊戲數碼 > 電腦

x64 x86有啥區別

欄目: 電腦 / 發佈於: / 人氣:1.11W

X86和X64都是兩款處理器,在電腦上也普遍採用,下面説説x64 x86有啥區別。

x64 x86有啥區別

操作方法

(01)X64Intel 64可使處理器直接訪問超過4GB的存儲器,容許運行更大的應用程序。而x86-64架構也加入了額外的暫存器及其他改良在指令集上。通過64位的存儲器地址上限,其理論存儲器大小上限達16,000,000TB(16EB),不過在初期的應用上並未能支持完整的64位地址。Intel在之前已在Itanium處理器上使用了自家的64位IA-64技術,雖然説Intel 64也是64位,但兩者並不兼容,即IA-64的軟件不能直接在Intel 64上運行。Intel 64所用的x86-64是IA-32指令集的延伸,而IA-64則是另一款獨立的架構,沒有任何IA-32的影子。雖然IA-64可通過模擬來運行IA-32的指令,但指令在運行前需經轉換,才能在IA-64上運行,導致其速度變慢。由於x86-64是從IA-32派生而來,因此運行IA-32與64位程式的表現也顯得綽綽有餘。首顆使用Intel 64技術的處理器屬於Xeon型號,支持雙處理器,其核心名稱為Nocona。由於Xeon是直接建基於桌面型的Pentium 4上,因此Pentium 4也可使用Intel 64,如使用超線程(Hyper-Threading)般。不過Intel 64在初期的Prescott版本尚未激活,其原因大概是當時其尚未完善。在使用Prescott核心E0更新版本的Pentium 4處理器已可使用Intel 64,被稱為Pentium 4 F。再者,E0更新版本加入了“禁止運行”比特,稱為XD bit(eXecute Disable),相當於AMD64的NX bit。

(02)AMD64位技術 AMD64的位技術是在原始32位X86指令集的基礎上加入了X86-64擴展64位X86指令集,使這款芯片在硬件上兼容原來的32位X86軟件,並同時支持X86-64的擴展64位計算,使得這款芯片成為真正的64位X86芯片。這是一個真正的64位的標準,X86-64具有64位的尋址能力。 EM64T技術 Intel官方是給EM64T這樣定義的:EM64T全稱Extended Memory 64 Technology,即擴展64bit內存技術。EM64T是Intel IA-32架構的擴展,即IA-32e(Intel Architectur-32 extension)。IA-32處理器通過附加EM64T技術,便可在兼容IA-32軟件的情況下,允許軟件利用更多的內存地址空間,並且允許軟件進行32 bit線性地址寫入。EM64T特別強調的是對32 bit和64 bit的兼容性。Intel為新核心增加了8個64 bit GPRs(R8-R15),並且把原有GRPs全部擴展為64 bit,如前文所述這樣可以提高整數運算能力。增加8個128bit SSE寄存器(XMM8-XMM15),是為了增強多媒體性能,包括對SSE、SSE2和SSE3的支持。

x64 x86有啥區別 第2張

(03)X86x86架構是重要地可變指令長度的CISC(複雜指令集計算機,Complex Instruction Set Computer)。字組(word, 4字節)長度的存儲器訪問允許不對齊存儲器地址,字組是以低位字節在前的順序儲存在存儲器中。向前兼容性一直都是在x86架構的發展背後一股驅動力量(設計的需要決定了這項因素而常常導致批評,尤其是來自對手處理器的擁護者和理論界,他們對於一個被廣泛認為是是落後設計的架構的持續成功感到不解)。但在較新的微架構中,x86處理器會把x86指令轉換為更像RISC的微指令再予執行,從而獲得可與RISC比擬的超純量性能,而仍然保持向前兼容。x86架構的處理器一共有四種執行模式,分別是真實模式,保護模式,系統管理模式以及虛擬V86模式。

(04)Intel 8086和8088有14個16位寄存器。其中四個(AX, BX, CX, DX)是通用目的(儘管每個寄存器都有附加目的;舉個例子:只有CX可以被用來當作loop(循環)指令的計數器。)每個寄存器可以被當成兩個分開的字節訪問(因此BX的高位可以被當成BH,低位則可以當成BL)。除了這些寄存器,還有四個區段寄存器(CS、DS、SS、ES)。他們用來產生存儲器的絕對地址。還有兩個指針寄存器(SP是指向堆疊的底部,BP可以用來指向堆疊或存儲器的其它地方)。兩個指針寄存器(SI和DI)可以用來指向數組的內部。最後,有標誌寄存器(包含狀態標誌比如進位、溢出、零標誌,等等)。以及IP是用來指向目前運行指令的地址。

x64 x86有啥區別 第3張