這裡的64位技術是相對於32位而言的,這個位數指的是CPUGPRs(General-PurposeRegisters,通用暫存器)的資料寬度為64位,64位指令集就是執行64位資料的指令,也就是說處理器一次可以執行64bit資料。64bit處理器並非現在才有的,在高階的RISC(ReducedInstructionSetComputing,精簡指令集計算機)很早就有64bit處理器了,比如SUN公司的UltraSparcⅢ、IBM公司的POWER5、HP公司的Alpha等。
64bit計算主要有兩大優點:可以進行更大範圍的整數運算;可以支援更大的記憶體。不能因為數字上的變化,而簡單的認為64bit處理器的效能是32bit處理器效能的兩倍。實際上在32bit應用下,32bit處理器的效能甚至會更強,即使是64bit處理器,目前情況下也是在32bit應用下效能更強。所以要認清64bit處理器的優勢,但不可迷信64bit。
要實現真正意義上的64位計算,光有64位的處理器是不行的,還必須得有64位的作業系統以及64位的應用軟體才行,三者缺一不可,缺少其中任何一種要素都是無法實現64位計算的。目前,在64位處理器方面,Intel和AMD兩大處理器廠商都發布了多個系列多種規格的64位處理器;而在作業系統和應用軟體方面,目前的情況不容樂觀。因為真正適合於個人使用的64位作業系統現在就只有WindowsXPX64,而WindowsXPX64本身也只是一個過渡性質的64位作業系統,在WindowsVista釋出以後就將被淘汰,而且WindowsXPX64本身也不太完善,易用性不高,一個明顯的例子就是各種硬體裝置的驅動程式很不完善,而且現在64位的應用軟體還基本上沒有,確實硬體廠商和軟體廠商也不願意去為一個過渡性質的作業系統編寫驅動程式和應用軟體。所以要想實現真正的64位計算,恐怕還得等到WindowsVista普及一段時間之後才行。
目前主流CPU使用的64位技術主要有AMD公司的AMD64位技術、Intel公司的EM64T技術、和Intel公司的IA-64技術。其中IA-64是Intel獨立開發,不相容現在的傳統的32位計算機,僅用於Itanium(安騰)以及後續產品Itanium2,一般使用者不會涉及到,因此這裡僅對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-bitx86架構包括8個通用暫存器(GPR),AMD在X86-64中又增加了8組(R8-R9),將暫存器的數目提高到了16組。X86-64暫存器預設位64-bit。還增加了8組128-bitXMM暫存器(也叫SSE暫存器,XMM8-XMM15),將能給單指令多資料流技術(SIMD)運算提供更多的空間,這些128位的暫存器將提供在向量和標量計算模式下進行128位雙精度處理,為3D建模、向量分析和虛擬現實的實現提供了硬體基礎。透過提供了更多的暫存器,按照X86-64標準生產的CPU可以更有效的處理資料,可以在一個時鐘週期中傳輸更多的資訊。
EM64T技術
Intel官方是給EM64T這樣定義的:EM64T全稱ExtendedMemory64Technology,即擴充套件64bit記憶體技術。EM64T是IntelIA-32架構的擴充套件,即IA-32e(IntelArchitectur-32extension)。IA-32處理器透過附加EM64T技術,便可在相容IA-32軟體的情況下,允許軟體利用更多的記憶體地址空間,並且允許軟體進行32bit線性地址寫入。EM64T特別強調的是對32bit和64bit的相容性。Intel為新核心增加了8個64bitGPRs(R8-R15),並且把原有GRPs全部擴充套件為64bit,如前文所述這樣可以提高整數運算能力。增加8個128bitSSE暫存器(XMM8-XMM15),是為了增強多媒體效能,包括對SSE、SSE2和SSE3的支援。
Intel為支援EM64T技術的處理器設計了兩大模式:傳統IA-32模式(legacyIA-32mode)和IA-32e擴充套件模式(IA-32emode)。在支援EM64T技術的處理器內有一個稱之為擴充套件功能啟用暫存器(extendedfeatureenableregister,IA32_EFER)的部件,其中的Bit10控制著EM64T是否啟用。Bit10被稱作IA-32e模式有效(IA-32emodeactive)或長模式有效(longmodeactive,LMA)。當LMA=0時,處理器便作為一顆標準的32bit(IA32)處理器執行在傳統IA-32模式;當LMA=1時,EM64T便被啟用,處理器會執行在IA-32e擴充套件模式下。
目前AMD方面支援64位技術的CPU有Athlon64系列、AthlonFX系列和Opteron系列。Intel方面支援64位技術的CPU有使用Nocona核心的Xeon系列、使用Prescott2M核心的Pentium46系列和使用Prescott2M核心的P4EE系列。
這裡的64位技術是相對於32位而言的,這個位數指的是CPUGPRs(General-PurposeRegisters,通用暫存器)的資料寬度為64位,64位指令集就是執行64位資料的指令,也就是說處理器一次可以執行64bit資料。64bit處理器並非現在才有的,在高階的RISC(ReducedInstructionSetComputing,精簡指令集計算機)很早就有64bit處理器了,比如SUN公司的UltraSparcⅢ、IBM公司的POWER5、HP公司的Alpha等。
64bit計算主要有兩大優點:可以進行更大範圍的整數運算;可以支援更大的記憶體。不能因為數字上的變化,而簡單的認為64bit處理器的效能是32bit處理器效能的兩倍。實際上在32bit應用下,32bit處理器的效能甚至會更強,即使是64bit處理器,目前情況下也是在32bit應用下效能更強。所以要認清64bit處理器的優勢,但不可迷信64bit。
要實現真正意義上的64位計算,光有64位的處理器是不行的,還必須得有64位的作業系統以及64位的應用軟體才行,三者缺一不可,缺少其中任何一種要素都是無法實現64位計算的。目前,在64位處理器方面,Intel和AMD兩大處理器廠商都發布了多個系列多種規格的64位處理器;而在作業系統和應用軟體方面,目前的情況不容樂觀。因為真正適合於個人使用的64位作業系統現在就只有WindowsXPX64,而WindowsXPX64本身也只是一個過渡性質的64位作業系統,在WindowsVista釋出以後就將被淘汰,而且WindowsXPX64本身也不太完善,易用性不高,一個明顯的例子就是各種硬體裝置的驅動程式很不完善,而且現在64位的應用軟體還基本上沒有,確實硬體廠商和軟體廠商也不願意去為一個過渡性質的作業系統編寫驅動程式和應用軟體。所以要想實現真正的64位計算,恐怕還得等到WindowsVista普及一段時間之後才行。
目前主流CPU使用的64位技術主要有AMD公司的AMD64位技術、Intel公司的EM64T技術、和Intel公司的IA-64技術。其中IA-64是Intel獨立開發,不相容現在的傳統的32位計算機,僅用於Itanium(安騰)以及後續產品Itanium2,一般使用者不會涉及到,因此這裡僅對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-bitx86架構包括8個通用暫存器(GPR),AMD在X86-64中又增加了8組(R8-R9),將暫存器的數目提高到了16組。X86-64暫存器預設位64-bit。還增加了8組128-bitXMM暫存器(也叫SSE暫存器,XMM8-XMM15),將能給單指令多資料流技術(SIMD)運算提供更多的空間,這些128位的暫存器將提供在向量和標量計算模式下進行128位雙精度處理,為3D建模、向量分析和虛擬現實的實現提供了硬體基礎。透過提供了更多的暫存器,按照X86-64標準生產的CPU可以更有效的處理資料,可以在一個時鐘週期中傳輸更多的資訊。
EM64T技術
Intel官方是給EM64T這樣定義的:EM64T全稱ExtendedMemory64Technology,即擴充套件64bit記憶體技術。EM64T是IntelIA-32架構的擴充套件,即IA-32e(IntelArchitectur-32extension)。IA-32處理器透過附加EM64T技術,便可在相容IA-32軟體的情況下,允許軟體利用更多的記憶體地址空間,並且允許軟體進行32bit線性地址寫入。EM64T特別強調的是對32bit和64bit的相容性。Intel為新核心增加了8個64bitGPRs(R8-R15),並且把原有GRPs全部擴充套件為64bit,如前文所述這樣可以提高整數運算能力。增加8個128bitSSE暫存器(XMM8-XMM15),是為了增強多媒體效能,包括對SSE、SSE2和SSE3的支援。
Intel為支援EM64T技術的處理器設計了兩大模式:傳統IA-32模式(legacyIA-32mode)和IA-32e擴充套件模式(IA-32emode)。在支援EM64T技術的處理器內有一個稱之為擴充套件功能啟用暫存器(extendedfeatureenableregister,IA32_EFER)的部件,其中的Bit10控制著EM64T是否啟用。Bit10被稱作IA-32e模式有效(IA-32emodeactive)或長模式有效(longmodeactive,LMA)。當LMA=0時,處理器便作為一顆標準的32bit(IA32)處理器執行在傳統IA-32模式;當LMA=1時,EM64T便被啟用,處理器會執行在IA-32e擴充套件模式下。
目前AMD方面支援64位技術的CPU有Athlon64系列、AthlonFX系列和Opteron系列。Intel方面支援64位技術的CPU有使用Nocona核心的Xeon系列、使用Prescott2M核心的Pentium46系列和使用Prescott2M核心的P4EE系列。