32bit和64bit的區別

2021-05-22 10:49:19 字數 1309 閱讀 3328

一般指的是cpu

332bit:普通的x86架構(i386,i586,i686)

64bit:僅指x86_64架構(amd64,em64t)

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可以更有效的處理資料,可以在乙個時鐘週期中傳輸更多的資訊。

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的支援。

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擴充套件模式下。

計算機概論 64bit和32bit的CPU的不同

32位 wow32 64位 wow64,x64 指的是兩種不同的cpu架構。32位的cpu能夠在每個時鐘週期傳輸32位資料,而64位的cpu能夠在每個時鐘週期傳輸64位資料。32位系統可以訪問2 32個記憶體位址,即4gb的ram或物理記憶體。64位系統可以訪問2 64個記憶體位址,實際上是180億...

深入理解64 bit(五)

32 bit 表2 編譯器和作業系統關係 32 bit 作業系統 64 bit 作業系統 32 bit 編譯器 可編譯程式 可編譯程式 64 bit 編譯器 可編譯程式 表3 編譯後的應用程式和作業系統關係 32 bit 作業系統 64 bit 作業系統 32 bit 應用程式 可執行可執行 依賴於...

64bit系統下相容oracle32bit問題

環境 os windows server 2008r2 64bit.開發工具 vs2010 netfv4.0 c nhibernate oracleclient oracle 10.0.2 64bit server 10.0.2 32bit client 錯誤現象 資料庫連線失敗 ora 12514...