x86和X64是什么意思
x86和X64是什么意思
不少用戶(hù)都會(huì)聽(tīng)到x86與x64這兩個(gè)名詞,那么這兩個(gè)詞都是什么意思呢?下面學(xué)習(xí)啦小編就為大家介紹一下具體的知識(shí)內(nèi)容吧,歡迎大家參考和學(xué)習(xí)。
x86是對(duì)基于intel處理器的系統(tǒng)的標(biāo)準(zhǔn)縮寫(xiě)。X與處理器沒(méi)有任何關(guān)系,它是一個(gè)對(duì)所有*86系統(tǒng)的簡(jiǎn)單的通配符定義,是一個(gè)intel通用計(jì)算機(jī)系列的編號(hào),也標(biāo)識(shí)一套通用的計(jì)算機(jī)指令集合,由于早期intel的CPU編號(hào)都是如8086,80286來(lái)編號(hào),由于這整個(gè)系列的CPU都是指令兼容的,所以都用X86來(lái)標(biāo)識(shí)所使用的指令集合如今的奔騰,P2,P4,賽揚(yáng)系列都是支持X86指令系統(tǒng)的,所以都屬于X86家族.
這里的64位技術(shù)是相對(duì)于32位而言的,這個(gè)位數(shù)指的是CPU GPRs(General-Purpose Registers,通用寄存器)的數(shù)據(jù)寬度為64位,64位指令集就是運(yùn)行64位數(shù)據(jù)的指令,也就是說(shuō)處理器一次可以運(yùn)行64bit數(shù)據(jù)。64bit處理器并非現(xiàn)在才有的,在高端的RISC(Reduced Instruction Set Computing,精簡(jiǎn)指令集計(jì)算機(jī))很早就有64bit處理器了,比如SUN公司的UltraSparc Ⅲ、IBM公司的POWER5、HP公司的Alpha等。
64bit計(jì)算主要有兩大優(yōu)點(diǎn):可以進(jìn)行更大范圍的整數(shù)運(yùn)算;可以支持更大的內(nèi)存。不能因?yàn)閿?shù)字上的變化,而簡(jiǎn)單的認(rèn)為64bit處理器的性能是32bit處理器性能的兩倍。實(shí)際上在32bit應(yīng)用下,32bit處理器的性能甚至?xí)鼜?qiáng),即使是64bit處理器,目前情況下也是在32bit應(yīng)用下性能更強(qiáng)。所以要認(rèn)清64bit處理器的優(yōu)勢(shì),但不可迷信64bit。
要實(shí)現(xiàn)真正意義上的64位計(jì)算,光有64位的處理器是不行的,還必須得有64位的操作系統(tǒng)以及64位的應(yīng)用軟件才行,三者缺一不可,缺少其中任何一種要素都是無(wú)法實(shí)現(xiàn)64位計(jì)算的。目前,在64位處理器方面,Intel和AMD兩大處理器廠商都發(fā)布了多個(gè)系列多種規(guī)格的64位處理器;而在操作系統(tǒng)和應(yīng)用軟件方面,目前的情況不容樂(lè)觀。
因?yàn)檎嬲m合于個(gè)人使用的64位操作系統(tǒng)現(xiàn)在就只有Windows XP X64,而Windows XP X64本身也只是一個(gè)過(guò)渡性質(zhì)的64位操作系統(tǒng),在Windows Vista發(fā)布以后就將被淘汰,而且Windows XP X64本身也不太完善,易用性不高,一個(gè)明顯的例子就是各種硬件設(shè)備的驅(qū)動(dòng)程序很不完善,而且現(xiàn)在64位的應(yīng)用軟件還基本上沒(méi)有,確實(shí)硬件廠商和軟件廠商也不愿意去為一個(gè)過(guò)渡性質(zhì)的操作系統(tǒng)編寫(xiě)驅(qū)動(dòng)程序和應(yīng)用軟件。所以要想實(shí)現(xiàn)真正的64位計(jì)算,恐怕還得等到Windows Vista普及一段時(shí)間之后才行。
目前主流CPU使用的64位技術(shù)主要有AMD公司的AMD64位技術(shù)、Intel公司的EM64T技術(shù)、和Intel公司的IA-64技術(shù)。其中IA-64是Intel獨(dú)立開(kāi)發(fā),不兼容現(xiàn)在的傳統(tǒng)的32位計(jì)算機(jī),僅用于Itanium(安騰)以及后續(xù)產(chǎn)品Itanium 2,一般用戶(hù)不會(huì)涉及到,因此這里僅對(duì)AMD64位技術(shù)和Intel的EM64T技術(shù)做一下簡(jiǎn)單介紹。
AMD64位技術(shù)
AMD64的位技術(shù)是在原始32位X86指令集的基礎(chǔ)上加入了X86-64擴(kuò)展64位X86指令集,使這款芯片在硬件上兼容原來(lái)的32位X86軟件,并同時(shí)支持X86-64的擴(kuò)展64位計(jì)算,使得這款芯片成為真正的64位X86芯片。這是一個(gè)真正的64位的標(biāo)準(zhǔn),X86-64具有64位的尋址能力。
X86-64新增的幾組CPU寄存器將提供更快的執(zhí)行效率。寄存器是CPU內(nèi)部用來(lái)創(chuàng)建和儲(chǔ)存CPU運(yùn)算結(jié)果和其它運(yùn)算結(jié)果的地方。標(biāo)準(zhǔn)的32-bit x86架構(gòu)包括8個(gè)通用寄存器(GPR),AMD在X86-64中又增加了8組(R8-R9),將寄存器的數(shù)目提高到了16組。X86-64寄存器默認(rèn)位64-bit。還增加了8組128-bit XMM寄存器(也叫SSE寄存器,XMM8-XMM15),將能給單指令多數(shù)據(jù)流技術(shù)(SIMD)運(yùn)算提供更多的空間,這些128位的寄存器將提供在矢量和標(biāo)量計(jì)算模式下進(jìn)行128位雙精度處理,為3D建模、矢量分析和虛擬現(xiàn)實(shí)的實(shí)現(xiàn)提供了硬件基礎(chǔ)。通過(guò)提供了更多的寄存器,按照X86-64標(biāo)準(zhǔn)生產(chǎn)的CPU可以更有效的處理數(shù)據(jù),可以在一個(gè)時(shí)鐘周期中傳輸更多的信息。
EM64T技術(shù)
Intel官方是給EM64T這樣定義的:EM64T全稱(chēng)Extended Memory 64 Technology,即擴(kuò)展64bit內(nèi)存技術(shù)。EM64T是Intel IA-32架構(gòu)的擴(kuò)展,即IA-32e(Intel Architectur-32 extension)。IA-32處理器通過(guò)附加EM64T技術(shù),便可在兼容IA-32軟件的情況下,允許軟件利用更多的內(nèi)存地址空間,并且允許軟件進(jìn)行32 bit線(xiàn)性地址寫(xiě)入。EM64T特別強(qiáng)調(diào)的是對(duì)32 bit和64 bit的兼容性。Intel為新核心增加了8個(gè)64 bit GPRs(R8-R15),并且把原有GRPs全部擴(kuò)展為64 bit,如前文所述這樣可以提高整數(shù)運(yùn)算能力。增加8個(gè)128bit SSE寄存器(XMM8-XMM15),是為了增強(qiáng)多媒體性能,包括對(duì)SSE、SSE2和SSE3的支持。
Intel為支持EM64T技術(shù)的處理器設(shè)計(jì)了兩大模式:傳統(tǒng)IA-32模式(legacy IA-32 mode)和IA-32e擴(kuò)展模式(IA-32e mode)。在支持EM64T技術(shù)的處理器內(nèi)有一個(gè)稱(chēng)之為擴(kuò)展功能激活寄存器(extended feature enable register,IA32_EFER)的部件,其中的Bit10控制著EM64T是否激活。Bit10被稱(chēng)作IA-32e模式有效(IA-32e mode active)或長(zhǎng)模式有效(long mode active,LMA)。當(dāng)LMA=0時(shí),處理器便作為一顆標(biāo)準(zhǔn)的32 bit(IA32)處理器運(yùn)行在傳統(tǒng)IA-32模式;當(dāng)LMA=1時(shí),EM64T便被激活,處理器會(huì)運(yùn)行在IA-32e擴(kuò)展模式下。
目前AMD方面支持64位技術(shù)的CPU有Athlon 64系列、Athlon FX系列和Opteron系列。Intel方面支持64位技術(shù)的CPU有使用Nocona核心的Xeon系列、使用Prescott 2M核心的Pentium 4 6系列和使用Prescott 2M核心的P4 EE系列。