英特爾和超微的64位元處理器競賽,微軟作業系統扮演普及化的重要角色

目前64位元系統分成英特爾的Itanium和超微的AMD64,英特爾隨後又推出IA-32e的64位元延伸架構,由微軟發展的作業系統來看,64位元將會分成Itanium架構和64位元延伸系統兩種,Itanium架構無疑只有Itanium和Itanium II,64位元延伸系統會有AMD64和IA-32e主要提供32與64位元相容的環境。

IA-64
IA-32e和IA-32 EL是兩碼子事

英特爾的Itanium架構是根據直接平行指令集運算(Explicitly Parallel Instructional Computing,EPIC)技術,有128個整數暫存器,128個浮點暫存器,64個述語暫存器(predicate registers)和8個分支暫存器(branch registers),總共328個。RISC處理器的暫存器,平均只有32到64個。

Itanium除了提供上述的巨量資源,EPIC的斷定(Predication)機制,會同時計算多種可能性,以便排除錯誤,減少處理分支;EPIC會利用資料推測(Speculation)的方式,配合L1和L2快取記憶體,使指令可以持續通過,不會被延遲;Itanium還有提供暫存器堆疊引擎(Register Stack Engine,RSE)的自動迴路,處理堆疊與暫存。

Itanium架構裡面關於現有的錯誤檢查修正(Error Correcting Code,ECC),提出新的機器自動檢查架構(Machine Check Architecture,MCA),使處理器和系統晶片組、系統韌體和作業系統,可以在MCA提供的可靠環境中進行協同運作,透過Windows Server 2003 MCA Code與WMI(Windows Management Instrumentation)銜接,之後作業系統會將這些事件轉換成系統的事件記錄,其他系統管理軟體也可以存取WMI,整合Itanium的MCA機制。

簡單地說,IA-32e是一種處理器架構,IA-32 EL是一種順利讓64位元平臺順利執行32位元應用程式的軟體。

IA-32e是英特爾在2004春季IDF新公布的x86指令集64位元延伸架構(64-bit Extension Technology),新的Xeon DP和Xeon MP處理器將支援IA-32e。IA-32執行層(IA-32 EL)是一種架構轉換工具,支援所有Itanium處理器。假如在英特爾的64位元環境執行IA-32的應用程式,作業系統會啟動IA-32執行層,將IA-32架構的應用程式轉換成Itanium架構原生的應用程式。IA-32執行層可以支援SSE2的新指令集,並且加速IA-32應用程式在Itanium架構的處理效能。英特爾網站目前提供IA-32執行層的軟體下載,作業系統出貨時也會同時提供。

IA-32e提供64位元模式和相容模式,64位元模式支援64位元的作業系統、應用程式、驅動程式、平滑虛擬定址空間(flat virtual address space)和通用暫存器(general-purpose registers,GPR),相容模式支援64位元的作業系統和驅動程式,應用程式和通用暫存器會支援32位元環境,提供4GB的定址空間。相容模式將不支援IA-32 架構的虛擬8086模式(Virtual-8086 Mode)和實際模式(Real Mode),許多DOS的設備驅動程式將無法作用。以微軟作業系統為例,Windows Me已經移除實際模式程式碼,MS-DOS、Windows 95/98會受到影響。AMD-64

超微的AMD64延伸自×86架構,與既有32位元的環境完全相容,AMD64用在桌面文書處理的單一處理器環境稱為Athlon 64,用在伺服器和工作站環境的多處理器環境稱為Opteron。

AMD64以實際的速度執行×86的應用程式,不像過去的Itanium採用模擬的方式。在記憶體定址模式上,提供16與32位元的傳統模式(Legacy Mode)、32位元的相容模式及長定址模式(Long Mode)。×86架構中的8個32位元的通用暫存器都擴大為64位元,並且增加8組64位元通用暫存器,也增加8個128位元的XMM暫存器。XMM指令集就像SSE和SSE2,使用在科學應用和多媒體運算,可以提供單一指令多重資料處理(single instruction multiple data,SIMD)更多的空間。

在2004年,為了有別於英特爾Itanium系統,微軟特地為AMD64推出64位元延伸系統Windows XP 64(Windows XP 64-Bit Edition for 64-Bit Extended Systems),微軟目前已經提供Pre-Release版免費下載,裡面已經備妥設備DDK、軟體開發套件(Platform Software Development Kit,PSDK),利用DDK和PSDK,開發人員可以從那裡面的應用程式雙位元介面(Application Binary Interface,ABI)規格文件,裡面會有AMD64軟體轉換的相關說明,另外,AMD64的編譯器可以利用微軟Visual C++ 6.0整合到開發環境,Whidbey也已經可以支援原生AMD64環境的Windows平臺編譯工作。微軟兩種64位元Windows

讓我們再重新整理微軟在64位元平臺的作業系統。Itanium系統有Windows Server 2003 64位元版和Windows XP 64位元版;AMD64系統目前只有64位元延伸系統Windows XP 64。

Itanium系統下的兩種64位元Windows,提供與32位元相當接近的安裝過程和功能元件,附加提供Win PE的OEM預先安裝套件、以及軟體和驅動程式開發套件。作業系統安裝,需注意硬體周邊要具備64位元的驅動程式,WinPE未來將會全面進駐微軟的作業系統。使用者的多國語言介面(MUI)目前支援德、法、西、義、日、韓等語言,微軟目前沒有支援正體中文的打算。64位元Windows Server目前不支援現有的應用程式,包括16位元環境、DOS、POSIX、OS/等2應用程式,.NET Framework、CLR和ASP.NET,多媒體如NetMeeting、Windows Media Player/Server,電源管理、系統還原、網際網路連線防火牆都沒有支援。

64位元延伸系統Windows XP 64支援AMD64的處理器,之後也將會將使用IA-32e 64位元延伸架構的處理器納入支援,因為這些處理器支援32位元的Windows,卻無法執行Itanium系統的64位元Windows,所以微軟乾脆將AMD64和IA-32e兩種處理器送作堆,以單一版本支援×86的64位元環境。比起Itanium系統的64位元Windows,64位元延伸系統Windows XP 64提供更多桌面功能,例如壓縮資料夾(ZIP Folders)、遠端協助、系統還原、Windows Messenger、Movie Maker、Windows Media Player、FAX和NetMeeting等應用程式。微軟預計還會推出64位元延伸系統Windows Server,會提供Windows Media Server和Fax伺服器的應用程式。Win64的特徵

以Windows Server 2003 64位元版為例,有一些特徵是立即觀察到的。雖然Win64支援64顆處理器,不過為了與32位元應用程式相容,WOW64會限制處理器只能使用到前32顆處理器。

首先,Windows的工作管理員增加了處理器親和性(Professor Affinity)的設定。使用者必須要強制設定執行緒(thread)的處理器親和性,否則有時候處理程序會只用一顆處理器運算,無法發揮多處理器運算的優勢。在多處理器下執行應用程式時,處理程序置換時不會固定在同一個處理器執行,每次輪到這支處理程序時,它會在不同處理器之間穿梭、輪替處理,假如處理器之間的工作排程不平均,會影響到執行效能。

其次,64位元Windows完全無法使用16位元的應用程式,包括16位元的DOS、Windows和OS/2應用程式,不過假如安裝程式的16位元處理只是檢查電腦型別,然後立即執行32位元的安裝引擎的話,例如InstallShield和ACME installer,還是能夠繼續在64位元Windows使用。64位元Windows也不支援與核心模式相關的32位元程式碼,例如病毒偵測的檔案系統過濾、顯示卡與網路卡驅動程式等。64位元Windows會在檔案系統與系統登錄檔隔離Win32和Win64,微軟不希望出現與WOW64規格互相感知(WOW64-aware)的32位元應用程式,或是32、64混合的應用程式。假如縱容這些可能性,將會增加相容系統管理上的困擾。文⊙李宗翰

熱門新聞

Advertisement