細說IA-64體系結構 [轉載]

超越極限

——細說IA-64體系結構

龔蕙 張海濤

何謂IA-64?

IA-64是Intel的64位體系結構,基於顯性並行指令計算EPIC(Explicitly Parallel Instruction Computing)技術,最終爲實現以下目標:

克服傳統體系結構的限制;

提供高級的浮點運算性能;

支持64位內存尋址;

與32位系統兼容,保持原有投資;

支持在電子商務、企業以及關鍵計算方面不斷增長的高端應用工作負載。

編者按:從1994年至今,IA-64位體系結構已經走過了近六年的風雨歷程,雖然它蠢蠢欲動、呼之欲出,卻又猶抱琵琶半遮面,但不管怎麼說,它已經得到了衆多廠商的支持,IBM、Microsoft、Sun都正積極推出基於IA-64平臺的操作系統。幾經變換,IA-64的第一代產品有望在2000年中出臺。在它出臺之前,讓我們先對它的整體特性有一個全面的瞭解吧!

從1993年Intel及其夥伴企業推出基於486系統的IA服務器以來,IA服務器經歷了486系統、Pentium Pro系統、PII系統、PIII系統、XEON系統等幾個階段,處理器系統的處理能力在大幅度提高,而服務器系統的總線結構始終是IA-32位總線體系。

突破瓶頸

對於傳統的計算機應用、數據庫應用、文件打印服務,基於SMP多處理器總線系統的IA-32服務器都可以輕鬆應付。但是網絡技術、網絡應用的發展打破了這一切,信息傳輸不再是侷限於幾個點、幾十點、而是成百上千點,甚至更多,是“World Wide Web”,在網絡上每秒有幾百兆字節甚至更大數據量的信息流量,這對網絡服務器的I/O性能、總線性能、處理能力都提出了更高的要求。綜觀IA服務器的發展,可以說IA服務器在技術上、產品上現在已經走到了向上發展、突破的邊緣。IA-32服務器在發展到8路XEON服務器以後,體系結構已經開始成爲制約服務器性能提高的瓶頸,先是PCI通道帶寬瓶頸、現在是內存總線帶寬瓶頸、處理器系統擴展瓶頸。總之,隨着每一代新的微處理器的出現,傳統結構的性能逐漸開始變得落伍了,而在實際應用中,對那些利用並行運算結構的需求正在逐漸增加。因此,HP和Intel自1994年開始合作開發IA-64架構的處理器, 希望通過把HP在RISC領域的十年工作經驗和超長指令字(VLIW)結合起來,在微處理器級上改進性能,以增加指令級上的並行性。

我們首先看一下傳統結構在哪些方面限制了處理器的性能。

1.消息傳送慢,而且一次只能處理很少的指令。

2.分支,即在程序中改變執行數據流的指令。分支判斷裝載哪個指令集,當判斷錯誤時,整個過程就會出現延時。

3.內存延時,即從內存檢索數據的時間。內存延時會延誤處理器的操作,使其處於閒置狀態,直到從內存接受到數據處理才能開始操作。因爲內存延時,不能跟上處理器的速度,因此從內存檢索數據需要早一點開始以確保數據能夠及時被傳送到。

那麼IA-64如何突破這些限制呢?

在並行機制中,編譯器能夠有效地組織代碼,並使執行順序更明確,以使處理器能夠以更有效的方式執行指令。

爲了解決分支問題,新的IA-64指令集架構(ISA)使用了一個新的概念——分支預判。 它能夠移走多餘的分支,減少錯誤的預測。強化執行中的分支預測功能,能提高分支預測的命中率,從而使流水線順暢執行。

對於內存延時,在IA-64架構中採用了動態執行技術,即在程序的運行過程中,當發現某個數據可能會被用到時,就將該數據提前取出並存入寄存器備用。

IA-64獨具特色

EPIC是IA-64最具特色的技術,所謂EPIC技術,簡單地說即是編譯器首先分析指令間的依賴關係,再將沒有依賴關係的指令(最多是3個指令)組合成一個組,後由內置的執行單元讀入被分成組的指令羣並進行執行。EPIC技術可以降低處理器的成本,因爲編譯時,軟件已經決定了各條指令的分配情況,因此僅利用簡單的硬件就可提高指令的並行度。

IA-64的主要特性表現在幾個方面。

首先,IA-64的系統內存尋址空間更大,可以支持32GB以上的內存,而IA-32服務器目前可以支持的最大內存容量是16GB。

IA-64的處理器尋址、處理能力更強、速度更快,Itanium處理器主頻起步至少1GHz,二級Cache在2MB以上。

IA-64系統增強的128位浮點計算寄存器大大提高了系統的浮點計算能力。

IA-64系統將使用基於Infiniband技術的總線結構,它是以交換式系統總線代替目前的共享式總線爲核心,將NGIO和Future IO兩種技術合二爲一,使系統總線、內存總線帶寬和I/O總線帶寬都將大大提高,系統帶寬在2GB/s以上,而目前的SMP IA-32服務器的系統帶寬是1.06GB/s,PCI帶寬一般是0.4GB/s。

其次,IA-64包括一系列的內置特徵,以延長計算機的正常運轉時間,減少宕機時間。尤其機器檢測體系(MCA)在內存和數據路徑中提供了錯誤恢復和糾錯(Error Correcting Code,ECC)能力。它能讓IA-64平臺從預先導致系統失敗的錯誤中恢復過來。ECC以及糾正電路檢測可自動地修復錯誤,以保持系統運行狀態。另外,IA-64芯片集的內存容錯特性,可使IT人員不必重新引導程序就可對內存進行重新設置。

最後,從編程角度看,Intel 開發了彙編程序,目的是幫助彙編程序員用高效的IA-64彙編代碼和由Intel與HP制定的彙編語法編寫程序。在64位結構中,程序員能夠很容易地決定在每個週期中哪個指令可執行。基於帶有許多執行單元的並行機制和大量浮點寄存器的結構可以創建更有效的指令級並行機制。基於寄存器的控制指令能夠減少分組數,數據和控制判斷可減少內存延時,從而獲得了更高的速度。新的編譯技術使用這些特性,爲的是能夠使彙編程序員進行代碼優化而提高性能。

操作系統整裝待發

有了好的硬件平臺,就要考慮軟件了。提供支持24×7電子商務的系統廠商將支持基於IA-64的服務器。許多公司也將提供帶有服務水平協議的IA-64系統,該協議能夠保證可用性的水平。同時,電子商務也將從基於IA-64平臺的操作系統中獲益。當前,還沒有其他平臺有操作系統帶寬的支持,而這隻有在IA-64中找到。目前正式宣佈支持IA-64平臺的有Monterey、Linux64、HPUX、Solaris、Win2000等。

在平臺中,Monterey是比較特殊的一個系統,它是SCO公司的Unixware加IBM的AIX系統,IBM承諾它的所有RISC平臺下的AIX應用都可以無縫地移植到IA-64 Monterey平臺上運行。從另一個角度看,很早就有人提出應當統一UNIX陣營,讓各個UNIX陣營裏的應用可以平滑地移植,那麼SCO和IBM推出Monterey可以看作是對統一UNIX陣營的一個積極舉措。

向64位系統的遷移

在IA-64出臺後,人們擔心最多的問題恐怕就是系統的遷移問題,如HP公司的計算機產品實際上就將從PA-RISC系統轉移到IA-64系統。其實,在遷移問題方面,廠商們早有考慮。IA-64體系結構的主要特性就是與IA-32 指令集的兼容性。在IA-64系統環境,處理器可執行 IA-32和IA-64指令,並定義了三種特殊指令和中斷,以在 IA-32和IA-64指令集中轉換。這就是IA-64體系提供的與IA-32指令集的二進制兼容,IA-64處理器能夠在支持IA-32應用的IA-64操作系統中運行IA-32的應用程序,它同時提供了支持混合IA-32和IA-64體系代碼執行運算的能力。

HP的做法是,對於IA-64技術,其中關鍵的一部分是要和現有的HP系統實現二進制兼容。以使HP的PA-RISC/HP-UX 和IA-32/NT系統以及工作站可以與HP的IA-64系統進行二進制的兼容,也就是說,HP的用戶可以實現到新架構的平滑轉換,而且不要求整個系統一次完成遷移。HP與Intel的合作可以使HP的所有HP-UX和NT應用程序都可以無憂地在IA-64系統下運行。

對於硬件的投資保護,HP公司新的IA-64系統既支持PA-RISC又支持IA-64處理器的系統。只要安裝一塊IA-64處理器升級板就可升級到IA-64微處理器系統。

總之,IA-64的目的就是將Unix、NT和Linux 集成爲一個單一的符合行業標準的硬件平臺上,爲客戶提供了更大的靈活性,使他們能以最靈活和最節約成本的方式來設計他們的開發環境。

影響不一般

對服務器而言

由於系統結構的改變,服務器的性能特徵也發生了可觀的變化。從底層結構看,由於其底層處理器指令管道增長,寄存器位數增長,與和或的計算數據位也更長。尤其它的控制位增多,判斷位也同樣增多,使得數據的安全性更有保證。這樣給服務器帶來的好處就是信息存儲和處理可在內存中完成,能夠攜帶更多的信息量,以提高響應時間,工作效率明顯增長,較IA-32體系提高一倍,計算能力大大加強。

從可用性看,IA-64體系結構能夠使服務器具有更高的可用性,如內置硬件冗餘,硬盤、電源、風扇和PCI的熱插拔和熱交換,通過RAID的數據保護等。在硬件突然失效時,系統或者自動地轉換到另一臺設備上,或者在系統運行時,系統管理員更換設備。最重要的是,運行在IA-64體系結構上的服務器將能夠提供內存和處理器模塊的熱替換。總之,新的可伸縮性、高性能的系統I/O標準、模塊化、冗餘性和適用性可大大提高系統的可用性。高可用性操作還要求具有強大的系統管理和監視系統,並能預測和檢測IT基礎設施的問題。

從可管理性看,用於管理的一項技術是智能平臺管理界面(Intelligent Platform Management Interface,IPMI)。它定義了智能硬件設備的普通接口,該硬件是用於監測服務器健康狀態的,如處理器和內存錯誤、溫度、電壓、電源等。該信息通過普通信息模塊(Common Information Model,CIM)能夠管理應用,基於Web的企業管理標準,在硬件失效時,該信息可診斷硬件錯誤,並進行恢復。另外,運行在IA-64上的平臺的系統管理特性可確保管理人員通過撥號或LAN等多種渠道獲取平臺管理信息。當操作系統沒有反應時,或服務器不響應時,甚至系統沒有通電時,這些信息都可獲取。

總而言之,IA-64是電子服務/電子商務以及在線環境的理想平臺。它能夠極其快速地生成或對鍵進行加密和解密。與PC世界所發生的情況相類似,通過把多種應用和多種操作系統進行標準化,用一個簡單的符合行業標準的硬件平臺來實現,IA-64會有利於計算機行業的趨同。當客戶配置他們的計算結構時,標準化的結果將帶來較多的選擇和低成本。

對工作站而言

爲了處理複雜的圖形,工作站不得不等待,冗長的過程處理、緩慢的屏幕刷新尤其令人惱火。今天,集成電路的設計越來越複雜,一個單IC芯片就包括1000萬或更多的字節——這可是個驚人的數字。

甚至基於32位處理體系結構的最強大的工作站也不能有效地處理IC設計上的問題,一個最大的限制就是內存尋址能力。一個32位處理器能直接尋址最大4GB的系統內存,然而,大規模的IC設計將會產生十億字節大小的文件集。工作區也產生了新的問題,一則在單獨的工作段上必須注意不要弄斷段之間的連接,二則在單個工作段上增加的驗證、測試和解決問題等工作也增加了工作的複雜性。

IA-64處理器家族能通過高性能來解決這些瓶頸,EPIC將能夠通過優化的應用更快、更有效地使IA-64處理器更好地解決這些問題,同時,來自硬件和軟件廠商的支持會確認工作站解決方案和系統將更強健。它可使工作站提供更高質量的3D效果、視頻音頻信息和快速的通信能力。

未來風光無限

IA-64體系結構克服了傳統結構的性能限制,並提供了最大的發展空間。改革性的64位結構能夠通過大的註冊文件、註冊棧、分支體系來提高指令平行機制的能力。64位內存尋址適應數據倉庫、電子商務和其他高性能服務器和工作站應用的要求。結合有效的實踐管理,IA-64還將以更強的競爭力改善機器的正常運行時間。總之,從容錯能力到強大的系統管理特性和廣闊的操作系統支持,IA-64平臺將爲電子商務等多種應用解決方案提供穩定、強健的基礎。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章