求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

EM64T檢視原始碼討論檢視歷史

事實揭露 揭密真相
前往: 導覽搜尋
EM64T

Intel的EM64T技術,EM64T技術官方全名是Extended Memory 64 Technology,中文解釋就是擴展64bit內存技術。現在的32位奔騰 4 CPU都是採用IA-32指令集,EM64T其實就是在這個指令集的基礎上進行擴展,我們將它命名為IA32e。Intel這種實現64位的方法其實和AMD的x86-64技術有異曲同工之妙,都是通過64位擴展指令來實現兼容32位和64位的運算。另外不同的是Intel的EM64T技術設定了IA-32和IA-32e兩種模式的激活程序,就是說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位的支持。和AMD64一樣,EM64T由於要在同時運行32位和64位程序,因此會針對不同的需要運行於不同的操作模式,同時其引入的多種操作模式之間的切換較為成功地解決了32位程序在64位操作系統下的運行效率問題,當中包括了傳統模式、兼容模式和純64位模式。

評價

這種模式是為了令64位Xeon能沒有障礙地執行現有的32位和16位程序而設計的,實際上就是32位x86時代的IA-32模式,此時現有x86程序無需作任何的改變,和我們目前使用着的32位環境一模一樣。因為Nacona Xeon的核心仍然是沿着32位設計的,所以這個模式只是把所有為64位計算而新增的運算機制都屏蔽起來。兼容模式允許64位操作系統(如Windows XP x64 Edition)良好地運行基於32位和16位代碼的程序,此時32位程序無需重編譯即可以保護模式運行,而16位程序則要依賴於操作系統和驅動程序是否支持保護模式,情況類似於32位環境下的IA-32虛擬實模式。和傳統模式相同,兼容模式允許程序利用物理內存擴展實現64GB的物理內存尋址,但這並非純64位模式的准64位尋址。此模式是三種模式當中最為高效的,同時可充分發揮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位應用程序。 [1]

參考文獻

  1. EM64T搜狗