64X86X64有啥區別?
1、“x86-64”,有時會簡稱為“x64”,是64位微處理器架構及其相應指令集的一種,也是Intel x86架構的延伸產品。“x64”最先由AMD設計,推出時被稱為“AMD64”,其后也為英特爾所采用,現時英特爾稱之為“Intel 64”。
在之前曾使用過Clackamas Technology (CT)、IA-32e及EM64T。外界多使用 "x86-64" 或 "x64" 去稱呼此64位架構,從而保持中立,不偏袒任何廠商。
2、x86是一個Intel通用計算機系列的標準編號縮寫,也標識一套通用的計算機指令集合,X與處理器沒有任何關系,它是一個對所有*86系統的簡單的通配符定義,例如:i386, 586,奔騰(pentium)。
3、IA64處理器I-tanium(安騰)是Intel自推出32位微處理器以來,在高性能計算機領域的又一座里程碑。
基于IA64處理器架構的服務器具有64位運算能力、64位尋址空間和64位數據通路,突破了傳統IA32架構的許多限制,在數據的處理能力,系統的穩定性、安全性、可用性、可觀理性等方面獲得了突破性的提高。
擴展資料:
1、ia64功能介紹
x64和ia64處理器都能夠運行64位操作系統和應用程序,但是區別在于:x64架構基于x86,是為了讓x86架構CPU兼容64位計算而產生的技術。
x64架構的設計是采用直接簡單的方法將目前的x86指令集擴展。這個方法與當初的由16位擴展至32位的情形很相似。優點在于用戶可以自行選擇x86平臺或x64平臺,兼容性高。
ia64則是原生的純64位計算處理器,并且與x86指令不兼容。如果想要執行x86指令需要硬件虛擬化支持,而且效率不高。優點在于ia64架構體系將擁有64位內存尋址能力,能夠支持更大的內存尋址空間。
并且由于架構的改變,性能比起x64的64位兼容模式更高更強。所以,ia64操作系統也是比較少見的,由于只能在Intel安騰系列處理器及AMD部分服務器處理器運行,所以主流市場并不常見。而且,這些ia64架構處理器也不能夠使用x64操作系統。
而x64處理器則可以自由選擇x86或是x64操作系統。
2、x86的實時模式
Intel 8086和8088有14個16位寄存器。其中四個(AX, BX, CX, DX)是通用目的(盡管每個寄存器都有附加目的;舉個例子:只有CX可以被用來當作loop(循環)指令的計數器。)每個寄存器可以被當成兩個分開的字節訪問(因此BX的高位可以被當成BH,低位則可以當成BL)。
除了這些寄存器,還有四個區段寄存器(CS、DS、SS、ES)。他們用來產生存儲器的絕對地址。還有兩個指針寄存器(SP是指向堆棧的底部,BP可以用來指向堆棧或存儲器的其它地方)。兩個指針寄存器(SI和DI)可以用來指向數組的內部。
最后,有標志寄存器(包含狀態標志比如進位、溢出、零標志,等等)。以及IP是用來指向目前運行指令的地址。
在實模式下,存儲器的訪問是被區段開來。為了得到最后20位的存儲器地址,要將區段的地址往左移動4位,并且加上偏移的地址。因此,實模式下總共可以尋址的空間是2字節,或者是1MB,于1979年是相當讓人印象深刻的象征。在實模式下有兩種尋址模式:near和far。
在 far模式,區段跟偏移都需要被指定;在near模式,只需要偏移模式被指定,而存儲器區段是由適當的區段寄存器獲得。以數據而言是使用DS寄存器,代碼是CS寄存器,堆棧是SS寄存器。舉個例子,如果DS是A000h且SI是5677h,DS:SI會指向計憶體的絕對地址DS × 16 + SI = A5677h
在這種架構下,兩對不同的區段/偏移可以指向一個相同的絕對地址。因此如果DS是A111h且SI是4567h,DS:SI會指向跟上一段相同的A5677h。除了duplicity之外,這種架構無法同時一次擁有4個以上的區段。
此外,CS、DS和SS是為了程序正確功能而必須的,因此僅僅只有ES可以被用來指向其它的地方。這種模式原本是為了與Intel 8085兼容,導致程序設計師永無止盡的痛苦。
除了以上所說的,8086也擁有8-bit的64K(另一種說法是16-bit的32K)輸入輸出(en:I/O)空間,以及一個由硬件支持的64K(一個區段)存儲器堆棧。只有words(2字節)可以被推入到堆棧中。堆棧是由存儲器的上端往下成長,他的底端是由SS:SP指向。
有256個中斷(interrupts),可以由硬件或是軟件同時組成。中斷是可以串連在一起,使用堆棧來儲存返回被中斷的程序地址。
參考資料: