64位技術

64位技術

64位技術是相對於32位而言的,這個位數指的是CPU GPRs(General-Purpose Registers,通用暫存器)的數據寬度為64位,64位指令集就是運行64位數據的指令,也就是說處理器一次可以運行64bit數據。64bit處理器並非現在才有的,在高端的RISC(Reduced Instruction Set Computing,精簡指令集計算機)很早就有64bit處理器了,比如SUN公司的UltraSparc Ⅲ、IBM公司的POWER5、HP公司的Alpha等

基本介紹

  • 中文名:64位技術
  • 外文名:Extended Memory 64 Technology
  • 優點:支持更大的記憶體等
  • 特點:數據寬度為64位
優點,技術,AMD64位技術,EM64T技術,EM64T和AMD64的區別,名詞解釋,64位計算,64位處理器,64位數據運算,沒有普及原因,

優點

64bit計算主要有兩大優點:可以進行更大範圍的整數運算;可以支持更大的記憶體。不能因為數字上的變化,而簡單的認為64bit處理器的性能是32bit處理器性能的兩倍。實際上在32bit套用下,32bit處理器的性能甚至會更強,即使是64bit處理器,目前情況下也是在32bit套用下性能更強。所以要認清64bit處理器的優勢,但不可迷信64bit。
64位技術64位技術
要實現真正意義上的64位計算,光有64位的處理器是不行的,還必須得有64位的作業系統以及64位的套用軟體才行,三者缺一不可,缺少其中任何一種要素都是無法實現64位計算的。目前,在64位處理器方面,Intel和AMD兩大處理器廠商都發布了多個系列多種規格的64位處理器;而在作業系統和套用軟體方面,目前的情況不容樂觀。

技術

目前主流CPU使用的64位技術主要有AMD公司的AMD64位技術、Intel公司的EM64T技術、和Intel公司的IA-64技術。其中IA-64是Intel獨立開發,不兼容現在的傳統的32位計算機,僅用於Itanium(安騰)以及後續產品Itanium 2,一般用戶不會涉及到,因此這裡僅對AMD64位技術和Intel的EM64T技術做一下簡單介紹。

AMD64位技術

AMD64的位技術是在原始32位X86指令集的基礎上加入了X86-64擴展64位X86指令集,使這款晶片在硬體上兼容原來的32位X86軟體,並同時支持X86-64的擴展64位計算,使得這款晶片成為真正的64位X86晶片。這是一個真正的64位的標準,X86-64具有64位的定址能力。
X86-64新增的幾組CPU暫存器將提供更快的執行效率。暫存器是CPU內部用來創建和儲存CPU運算結果和其它運算結果的地方。標準的32-bit x86架構包括8個通用暫存器(GPR),AMD在X86-64中又增加了8組(R8-R9),將暫存器的數目提高到了16組。X86-64暫存器默認位64-bit。還增加了8組128-bit XMM暫存器(也叫SSE暫存器,XMM8-XMM15),將能給單指令多數據流技術(SIMD)運算提供更多的空間,這些128位的暫存器將提供在矢量和標量計算模式下進行128位雙精度處理,為3D建模、矢量分析和虛擬現實的實現提供了硬體基礎。通過提供了更多的暫存器,按照X86-64標準生產的CPU可以更有效的處理數據,可以在一個時鐘周期中傳輸更多的信息。
AMD64位移動版處理器 在AMD的計畫中,這款處理器的核心是“Lancaster”,採用了90納米SOI製程,內置1M全速L2和單通道記憶體控制器,採用與Socket 754 Athlon 64相同的封裝。和桌面版的Athlon 64相比,採用了低電壓設計,以實現35W以下的TDP。並且在Windows(R) XP Service Pack 2的系統環境下,能夠使用CPU防病毒功能。
AMD64位移動版處理器是基於AMD64位處理器開發出來的,是當今世上唯一的64位處理器,目前主要套用於AMD架構的筆記本電腦上。AMD Mobile Athlon 64處理器目前有五個版本,它們分別是:
Mobile Athlon 64 2700+ /核心電壓1.2V/最大功耗35W
Mobile Athlon 64 2800+ /核心電壓1.2V/最大功耗35W
Mobile Athlon 64 2800+ /核心電壓1.4V/最大功耗62W
Mobile Athlon 64 3000+ /核心電壓1.4V/最大功耗62W
Mobile Athlon 64 3200+ /核心電壓1.4V/最大功耗62W Mobile AMD Athlon 64處理器性能強勁,跟桌面的Athlon 64處理器一樣,是基於Clawhammer核心、用0.13微米工藝製造的。該處理器整合了記憶體控制器,這就意味著記憶體控制器的運行速度能跟CPU一樣,同時,它跟CPU其他單元之間的通信也是以CPU速度進行的,這樣,在基於該處理器的作業系統環境下記憶體延遲低了很多,大大提升了電腦的運行速度。除此之外,它的二級快取的容量更達1M,更高的快取容量意味著處理器的回寫速度更快。
Mobile Athlon 64位處理器還採用了可以讓電晶體的頻率提升35%以上先進的SOI技術生產。它的電晶體數量達到了1億5百90萬個,核心面積也大大增加,為192平方毫米。在降低能耗方面,Mobile AMD Athlon 64處理器採用了AMD PowerNow!技術。利用這項技術,該移動處理器可以根據處理器的負載情況,來決定該處理器的性能,比如說運行單一的“記事本”程式,該處理器就會只調用很少的資源,此時,處理器的功率非常低,發熱量也很低;而當玩遊戲時,該處理器又會自動地將其性能發揮到極限,以便滿足高負荷的需求,當然,此時它無論在功率和發熱量方面都會比較大。通過這項技術,就可以讓該處理器在性能和功耗、發熱量、電池供電時間之間取得一個平衡。
Mobile AMD Athlon 64處理器雖然是一款64位的處理器,但它可以向下兼容目前大多數32位的軟體。由此看來,Mobile AMD Athlon 64處理器的性能確實不錯,不過,它也有不少令人遺憾之處。
首先,它的功率較大,以至發熱量也較大,耗電量也大。例如,Mobile Athlon 64 2700+的主頻為1.60G,雖然是低電壓版本,但其功率也在35W左右,其它以上版本的功率更是高達62W,而同為1.60G全美達90納米Efficeon處理器的功率只有7W,英特爾Dothan處理器1.70G的只有21W,相比之下,Mobile AMD Athlon 64處理器的功率過高。而功率高必然會帶來更高的發熱量,同時會縮短筆記本電池持續性使用時間。
其次,目前支持64位的軟體還很少,64位顯得華而不實。我們知道,64位的處理器需要用64位的軟體才能真正體現出64位的優勢,但現在絕大多數軟體都是32位的。
在32位作業系統下,與英特爾Dothan處理器相比,並不見得明顯勝出。英特爾Dothan處理器目前主頻可達2.0G,相當於P4 3.2G的性能,採用了0.09微米工藝製造,擁有高達2M的二級快取;而Mobile AMD Athlon 64雖然標稱最高達3200+,但其主頻其實為2.80G,二級快取為1M,採用的是0.13微米工藝製造,如果同在32位作業系統下運行,其性能並不見得會比英特爾Dothan處理器強。

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的支持。
64位技術64位技術
Intel為支持EM64T技術的處理器設計了兩大模式:傳統IA-32模式(legacy IA-32 mode)和IA-32e擴展模式(IA-32e mode)。在支持EM64T技術的處理器內有一個稱之為擴展功能激活暫存器(extended feature enable register,IA32_EFER)的部件,其中的Bit10控制著EM64T是否激活。Bit10被稱作IA-32e模式有效(IA-32e mode active)或長模式有效(long mode active,LMA)。當LMA=0時,處理器便作為一顆標準的32 bit(IA32)處理器運行在傳統IA-32模式;當LMA=1時,EM64T便被激活,處理器會運行在IA-32e擴展模式下。
目前AMD方面支持64位技術的CPU有Athlon 64系列、Athlon FX系列和Opteron系列。Intel方面支持64位技術的CPU有使用Nocona核心的Xeon系列、使用Prescott 2M核心的Pentium 4 6系列和使用Prescott 2M核心的P4 EE系列。
intel的EM64T記憶體擴展技術
EM64T本質上和AMD64一樣都是IA-32的增強版本,Xeon藉助於EM64T可實現高達1TB(40bit)的物理記憶體定址和256TB(48bit)的虛擬記憶體定址,並且良好地支持現有32位x86代碼的執行,這一點跟AMD64無異,同時也是Intel開發EM64T的出發點—讓現有的x86指令集能夠執行64位代碼,而繼續保持對32位代碼的良好兼容。但由於多方面的限制,無論是EM64T還是AMD64均只能實現比32位指令集更大記憶體空間的定址,而無法真正做到純64位指令集的1PB(50bit)和16EB(64bit)的物理記憶體虛擬記憶體定址(IA-64就能做到這一點),其關鍵在於EM64T和AMD64本質上仍是基於32位的x86指令集,只是Intel和AMD分別採用不同的技術手段對x86指令集進行擴展,從而實現對64位的支持。
64位技術64位技術
和AMD64一樣,EM64T由於要在同時運行32位和64位程式,因此會針對不同的需要運行於不同的操作模式,同時其引入的多種操作模式之間的切換較為成功地解決了32位程式在64位作業系統下的運行效率問題,當中包括了傳統模式、兼容模式和純64位模式。
傳統模式(Legacy Mode)
這種模式是為了令64位Xeon能沒有障礙地執行現有的32位和16位程式而設計的,實際上就是32位x86時代的IA-32模式,此時現有x86程式無需作任何的改變,和我們目前使用著的32位環境一模一樣。因為Nacona Xeon的核心仍然是沿著32位設計的,所以這個模式只是把所有為64位計算而新增的運算機制都禁止起來。
兼容模式(Compatibility Mode)
兼容模式允許64位作業系統(如Windows XP x64 Edition)良好地運行基於32位和16位代碼的程式,此時32位程式無需重編譯即可以保護模式運行,而16位程式則要依賴於作業系統和驅動程式是否支持保護模式,情況類似於32位環境下的IA-32虛擬實模式。和傳統模式相同,兼容模式允許程式利用物理記憶體擴展實現64GB的物理記憶體定址,但這並非純64位模式的準64位定址
純64位模式(Full 64bit Mode)
此模式是三種模式當中最為高效的,同時可充分發揮EM64T的威力,但這種模式需要純64位環境的支持,包括64位作業系統和64位應用程式。在64位作業系統和相應驅動程式的支持下,系統和應用程式能夠訪問EM64T所支持最大容量的擴展記憶體,這時Xeon平台的性能可得到最充分的發揮,當然運行於此模式下的程式需要修改其微代碼以便支持64位指令操作。
可以預見,在未來相當長的一段時間裡,在64位作業系統下我們最常用的是兼容模式,因為現存的大量32位應用程式不可能在短期內為x86-64指令集而重新開發,為了保證現有的32位程式能夠繼續在Xeon平台上順利執行,EM64T提供了一種出色的解決方案。而對於傳統的32位作業系統和應用程式,Xeon平台當然可以百分百地相容運行,本來EM64T就是擴展的32位x86指令集,兼容32位程式是件很自然的事。
EM64T在64位的實現方式上跟AMD64指令集有很多相似之處,但在關鍵的地方兩者還是有很大差別,而Intel追加的大多數64位指令與AMD64指令集相兼容,因此Microsoft就不用為兩家公司的64位處理器開發各自的64位作業系統。目前Microsoft推出的Windows XP x64 Edition作業系統(Beta)可同時支持EM64T和AMD64,能夠兼容幾乎所有的32位應用程式和大部分新增64位應用程式。

EM64T和AMD64的區別

AMD公司設計,可以在同一時間內處理64位的整數運算,併兼容於X86-32架構。其中支持64位邏輯定址,同時提供轉換為32位定址選項;但數據操作指令默認為32位和8位,提供轉換成64位和16位的選項;支持常規用途暫存器,如果是32位運算操作,就要將結果擴展成完整的64位。這樣,指令中有“直接執行”和“轉換執行”的區別,其指令欄位是8位或32位,可以避免欄位過長。
x86-64(AMD64)的產生也並非空穴來風,x86處理器的32bit定址空間限制在4GB記憶體,而IA-64的處理器又不能兼容x86。 AMD充分考慮顧客的需求,加強x86指令集的功能,使這套指令集可同時支持64位的運算模式,因此AMD把它們的結構稱之為x86-64。在技術上 AMD在x86-64架構中為了進行64位運算,AMD為其引入了新增了R8-R15通用暫存器作為原有X86處理器暫存器的擴充,但在而在32位環境下並不完全使用到這些暫存器。原來的暫存器諸如EAX、EBX也由32位擴張至64位。在SSE單元中新加入了8個新暫存器以提供對SSE2的支持。暫存器數量的增加將帶來性能的提升。與此同時,為了同時支持32和64位代碼及暫存器x86-64架構允許處理器工作在以下兩種模式:Long Mode(長模式)和Legacy Mode(遺傳模式),Long模式又分為兩種子模式(64bit模式和Compatibility mode兼容模式)。該標準已經被引進在AMD伺服器處理器中的Opteron處理器。
EM64T技術EM64T技術
而今年也推出了支持64位的EM64T技術,再還沒被正式命為EM64T之前是IA32E,這是英特爾64位擴展技術的名字,用來區別X86指令集。Intel的EM64T支持64位sub-mode,和AMD的X86-64技術類似,採用64位的線性平面定址,加入8個新的通用暫存器(GPRs),還增加8個暫存器支持SSE指令。與AMD相類似,Intel的64位技術將兼容IA32和IA32E,只有在運行64位作業系統下的時候,才將會採用IA32E。IA32E將由2個sub-mode組成:64位sub-mode和32位sub-mode,同AMD64一樣是向下兼容的。 Intel的EM64T將完全兼容AMD的X86-64技術。現在Nocona處理器已經加入了一些64位技術,Intel的Pentium 4E處理器也支持64位技術。
應該說,這兩者都是兼容x86指令集的64位微處理器架構,但EM64T與AMD64還是有一些不一樣的地方,AMD64處理器中的NX位在Intel的處理器中將沒有提供。

名詞解釋

64位計算

在計算機發展史上,人類歷經了從8位計算到16位計算、從16位計算到32位計算兩次飛躍,32位計算是目前伺服器市場的主流。64位計算是相對於32位計算的新一代高性能計算標準,就象高速公路與山間小路的區別,相比於32位計算,64位提供更大的計算頻寬,從而帶來更高的性能,使很多過去根本無法實現的構想變成現實。目前,全球最重要的處理器供應商包括:AMD、HP、IBM、Intel、Motorola、Sun無一例外的都在推動64位計算

64位處理器

8位處理器、16位處理器、32位處理器和64位處理器,其計數都是8的倍數。它表示一個時鐘周期里,處理器處理的二進制代碼數。“0”和“1”就是二進制代碼,線路上有電信號,則計做1,沒有電信號則為0。8位機有8條線路,每個時鐘周期有8個電信號,組成一個位元組。所以,隨8位處理器上升至64位處理器,每個時鐘周期傳送1個位元組到8個位元組,關聯到時鐘速度提高到若干個千兆赫之後,處理器處理信息的能力越來越大

64位數據運算

目前X86結構在32位定址時最大空間只能是4GB,在很多大型資料庫、數字內容的創建、視頻內容的創建還有如CAD/CAM等需要將現實世界建模運算的軟體都需要大量的記憶體容量,此外還有安全加密的需要則使得處理的數據成倍增長。在石油勘探、天氣預測等需要大量數據運算的套用環境中,更是需要平台為運算提供更為充裕的記憶體容量。64位平台的定址能力達到了180億GB,這在未來很長一段時間內都可以解決高端套用中存儲器定址的瓶頸
AMD64位技術AMD64位技術

沒有普及原因

市場上現有的64位解決方案都是面向高端領域,且不與32位架構兼容的昂貴的方案。這種方案通常會要求包括冷卻設備、電源機箱等在內的全新的基礎架構,還需要獨立軟體開發商(ISV)重新編譯套用在64位計算平台下的軟體,在這種方式下如果需要進行32位X86套用時,要么不能兼容,要么就必須在模擬方式下運行,而模擬方式又不能提供全面的計算性能,這就造成了性能的下降;此外,最終用戶和技術支持人員還需要專門學習64位系統的套用,人們可能會因為無法忍受多餘而繁瑣的工作以及高額的支出而放棄;對獨立軟體開發商來說,為了建立獨立的體系,還必須在研發方面投入大量的人力和財力。

相關詞條

熱門詞條

聯絡我們