逐步走向多執行緒、多核心架構及整合型記憶體控制器

隨著摩爾定律的持續不斷,處理器走向多核心架構已經成為一個新的趨勢,雙核心只是整個洪流的一小步。現在,我們就來詳細介紹市場上已經出現和已經發表的雙核心高階處理器。

自從IBM在1999年首度發表雙核心架構的高階處理器Power4,高階泛用型處理器正式進入了一個嶄新的時代,日後以雨後春筍之勢蜂擁而出的雙核心處理器,也逐步成為高階伺服器的主流。對於伺服器而言,雙核心及多核心處理器的優勢很明顯,因為這可以大幅降低處理器的數目,也可以藉由電子電路「靠的越近,走的越快」的不變準則,透過功能元件的聚集提升系統整體效能。

其實,就某種意義而言,走向雙核心及多核心,僅為摩爾定律自然發展的結果。不過,隱而不現的是,處理器時脈提升已經面臨了瓶頸,而指令平行化執行的潛力亦有其限制,畢竟開發全新的微架構所費不貲,推廣全新的指令集架構更是難如登天,實作單晶片多處理器架構(CMP,Chip-level Multi-Processing),就是一個極具經濟效益、降低產品開發成本的手段,又可以有效利用普遍支援多處理器環境的既有作業系統,也有較佳的散熱效率,這種思維可從數款雙核心處理器的設計略見一二,幾乎是以現有處理器核心為基礎予以加倍。像HP PA-8800、Sun UltraSPARC IV、雙核心UltraSPARC II、Fujitsu SPARC64 VI都是很好的例子。

另外,由於過去新型處理器均導入大量實作加速機制,如指令非循序執行(OOOE,Out-Of-Order Execution)、暫存器更名(Register Renaming)以及大型化的複數執行單元等等,但是這些硬體執行資源並沒有得到充分的利用,尤其對為了提升時脈而日益加深的指令執行管線而言,理論上管線越深,執行單元的利用率就越低。為了有效利用這些現成的資源,結合執行緒(Thread)逐步成為程式架構的主流,同步多執行緒(SMT,Simultaneous Multi-Threading)的導入乃為順理成章之事,這對降低記憶體延遲(Memory Latency)的影響也有助益。我們可以在IBM Power5及英特爾Itanium 3上看到這種做法,當然,這也需要在微架構上進行調整。

目前不少物件導向高階語言,如Java、C++和C#等,都造成處理器及記憶體系統效能上的負面影響。首先,大量的虛擬函式指標(Virtual Function Pointer)以及間接分支(Indirect Branch)都容易降低處理器分支預測機制的表現,尤其當處理器的指令管線深度越來越深,對於效能的影響也越來越大。另外,動態記憶體配置降低了快取記憶體的命中率,像Java的垃圾收集機制(Garbage Collection)更會導致不需要的快取記憶體配置動作。很不幸的,這些都是企業應用上最常見的程式語言,加上處理器速度一直遠邁於記憶體,上述種種因素都使得快取記憶體誤失所導致的記憶體延遲問題日益嚴重。

由於企業伺服器多半是多人多工環境,功能以及處理的資料量都很龐大。就以對記憶體系統造成沉重壓力的資料庫而言,如果快取記憶體誤失,提升的記憶體延遲就會降低處理器的利用率。但是,這也意味著,如果可以導入多執行緒的環境,降低快取記憶體誤失的影響,就有著大幅提升效能的可能。

無論是先CMP再SMT,或是先SMT再CMP,在未來,CMP與SMT的結合將是一個不變的趨勢,也不僅限於高階伺服器處理器的應用,將逐漸普及於低階伺服器、桌上型電腦及行動式運算平臺上。現在,我們就來對已經上市及發表的雙核心伺服器處理器做一個完整的介紹。

雙核心架構高階處理器群像
我們以發表及上市的日期做為介紹的順序,並詳列該處理器產品代碼(Code Name)、相關技術規格重點以及所採用的伺服器。值得注意的是,雖然Sun在Power4之前發表過MAJC(Microprocessor Architecture for Java Computing,發音為「Magic」)處理器,兼具雙核心、整合型記憶體控制器及同步多執行緒,不過因為其用途限制於專屬特定應用,所以我們不將其視為伺服器處理器,僅在此提醒讀者該處理器的存在。

IBM Power4/Power4+「Regatta」
IBM將Power4處理器產品代碼命名為Regatta,字面原意為「兩艘並行的船隻」,實際上卻包含了多個意涵,除了代表IBM在伺服器市場的兩大競爭對手Sun和HP外,就是Power4的雙核心架構。由於Power4早在1999年微處理器論壇(Microprocessor Forum)就正式發表,所以在當時引起了極大的震撼。

Power4處理器包含了兩個核心,使用IBM代號CMOS 8S2的180nm SOI晶圓製程生產,7層銅導線金屬布線,1億7千4百萬電晶體。後繼的Power4+則轉為IBM代號CMOS 9S/9S2的130nm SOI晶圓製程,8層銅導線金屬布線,晶粒面積大幅縮減,電晶體些微增加,而最高時脈則提升至1.7GHz。Power4的1.5MB第二階快取同時被兩個處理器所共用,由三塊0.5MB獨立區塊所組成,各自擁有獨立的快取控制器,所以各自獨立運作,這對同時應付來自雙核心以及其他處理器的資料存取需求,有著相當的助益。第一階快取對第二階快取各自有獨立的連接埠,擁有超過100GB/s的驚人理論頻寬。Power4亦整合了外部第三階快取控制器,記憶體介面寬度為128位元,以處理器的三分之一時脈運作,最大容量為128MB,單顆記憶體晶片模組時可提供超過10GB/s理論頻寬,在使用四顆記憶體晶片模組下更可超過40GB/s。

值得注意的是,Power4已經整合了處理器之間的fabric控制器、晶片之間可達35GB/s的理論頻寬,也將主記憶體控制器整合至第三階快取控制器(支援最多512GB DDR-SDRAM),可以大幅簡化大型多處理器系統的設計。最後,IBM將4顆Power4晶片封裝在一起,所以一顆多晶片封裝模組(MCM,Multi-Chip Module),就可以達成8顆處理器的SMP/NUMA環境。如此完善的考量,在高階處理器中實屬罕見。

2000年2月,在業界極具權威性的微處理器論壇主辦單位Micro Design Resource經過嚴謹的評鑑,IBM的Power4拿下了1999年的最佳新技術獎項,也在2002年4月,拿下該組織微處理器報導(Microprocessor Report)2001年分析師獎項的最佳工作站/伺服器處理器獎項。更重要的是,Power4除了已經成為IBM高階伺服器的主力處理器,更奠定了IBM後繼RISC處理器的技術基礎,無論是Power5、PowerPC 970及今年奪下最佳桌上型處理器獎項的PowerPC 970FX,都是Power4的衍生產品。說Power4是藍色巨人最強大的RISC核心,奠定其未來高階處理器的技術基礎,實當之無愧。

在今天,作為處理器業界效能指標的SPEC CPU 2000,已是由IBM Power4和Intel Itanium 2捉對廝殺的局面,而130nm製程、具有9MB第三階快取記憶體的新款Itanium 2「Madison 9M」及IBM自家的Power5「Squadron」還必須等待一段時日才會出現在市場上,而雙核心架構的Itanium 3「Montecito」更要等到明年,看來Power4還會獨領風騷好一陣子了。

HP PA-8800「Mako」
HP首度在2001年發表代號「Mako」的PA-8800,這也是PA-RISC指令集處理器的最新成員。PA-8800直接實作兩組PA-8700核心,採用IBM的130nm SOI晶圓製程生產,銅導線,8層金屬布線,電晶體3億,晶粒面積361平方公釐,時脈介於800MHz至1GHz。雖然PA-8800並未整合第二階快取記憶體,不過拜PA-RISC處理器一向擁有超大型第一階快取記憶體的「優良傳統」之賜,電晶體數量依然相當的驚人。PA-8800總計擁有3MB的第一階快取記憶體(單一核心分別擁有768kB的指令/資料快取),第二階快取記憶體則是外部32MB DRAM,理論頻寬約為10GB/s。

值得注意的是,PA-8800的系統匯流排與Itanium 2相容,所以HP的高階系統晶片組如zx1、sx1000都可沿用。由於策略上的改變,HP已經決定放棄PA-RISC和Alpha處理器的研發,逐步將高階處理器全數轉移至Itanium上,所以刻意彰顯系統轉移的便利性,也開始將PA-RISC的軟體資源移植至Itanium平臺上。換言之,原本預定中的PA-8900應該就是PA-RISC的絕響。當然,HP還是會持續對PA-RISC架構伺服器的客戶提供服務。不過,80年代開始萌芽的諸多RISC指令集,除了屹立不搖的IBM Power/PowerPC和苦撐待變Sun SPARC外,近年來MIPS、Alpha及PA-RISC相繼退出高階應用的舞台,實在讓人感到不勝唏噓,也足以表示高階微處理器市場的日益增高的技術門檻。

Sun UltraSPARC IV「Jaguar」
Sun在2003年微處理器論壇首度發表代號「Jaguar」的UltraSPARC IV,和HP PA-8800的做法類似,直接整合兩個UltraSPARC III(代號「Cheetah」)核心,採用TI的130nm製程生產,銅導線,7層金屬布線。由於並未整合第二階快取,所以電晶體數目僅有6千6百萬,但是晶粒面積卻大的驚人,多達356平方公釐,和3億電晶體的PA-8800相當,令人感到納悶。雖然腳位和UltraSPARC III稍有不同(僅多出1隻定址第二階快取的腳位,因為第二階快取被切成兩塊),不過處理器模組維持相容,設計上變動不大,所以可以將UltraSPARC IV直接使用於既有的系統之中。Sun將其多核心架構命名為CMT(Chip Multi-Threaded),該名詞可能會造成混淆,不過和一般的多核心設計並無二致。

和UltraSPARC III相同,UltraSPARC IV內建記憶體控制器,可支援16GB主記憶體及提供Chipkill記憶體資料可靠性功能。處理器必須透過理論頻寬4.8GB/s的Data Switch連接主記憶體及Fireplane Interconnect匯流排,不過處理器的記憶體介面理論頻寬僅有2.4GB/s,這是一個很明顯的效能瓶頸,尤其對容易受到記憶體頻寬限制的高效能科學運算。當然,如果只是一般的企業需求,大部分的應用都可以透過極高的快取命中率支撐效能,降低記憶體頻寬不足的影響。在這種情況下,雙核心的UltraSPARC IV就可以節省使用成本,例如原先8路處理器的系統,就可以用4路處理器系統來取代,像以Sun V480替代V880等等。

UltraSPARC IV在處理器核心微架構上略有修改,浮點運算單元針對快速傅立葉轉換進行改善,增加IEEE754-1985的例外狀況處理硬體,也透過雜湊函數(Hash Function)實作的index以降低2kB寫入快取的延遲,這對於高效能科學運算應不無小補。外部第二階快取從8MB增加至16MB,兩個核心個別使用8MB,理論頻寬8GB/s。值得注意的是,為了改善小量資料存取的效率,第二階快取的cache-line從512byte(由兩個256byte sub-block組成)修改為128byte(由兩個64byte sub-block組成),區塊置換演算法也採用LRU(Least-Recently-Used)以提升使用效率。

UltraSPARC IV已經有轉移至90nm製程、應變矽(Strained Silicon)晶圓的計畫,也將會進行微架構上的改進,Sun已於今年IEEE ISSCC 2004透露了相關的技術細節。除了提升指令擷取及寫回的頻寬,以及資料預先擷取的機制外,最大的改進就是整合式的4MB第二階快取記憶體,cache-line調整為和第一階快取相同的64byte。在未來,Sun也將以其為基礎,推出單核心的UltraSPARC IVi。

Sparc系列處理器和Solaris作業系統一直都是Sun伺服器的招牌,但有別於Solaris一直都是市場佔有率最高的商業化Unix作業系統,UltraSPARC的積弱不振早已行之有年,形成極大的對比。就以嚴格的角度來看,UltraSPARC III也不是具備非循序指令執行(OOOE)能力的處理器核心,在今日的高階微處理器中顯得「獨樹一幟」。整合兩個UltraSPARC III核心的UltraSPARC IV是否可以重振Sun高階Unix伺服器的往日雄風?我們可以拭目以待。

IBM Power5/Power5+「Squadron」
IBM在去年八月IEEE Hot Chips 論壇首度發表的Power5「Squadron」(早期代碼為「Armada」),基本上為Power4架構的改良,改進重點在於同步多執行緒(SMT)技術的導入,和目前Pentium 4的Hyper-Threading類似,每個核心擁有兩個邏輯處理器,所以Power5在邏輯上擁有四個處理器核心。為了實作SMT,Power5核心將通用/浮點實體暫存器的數目分別從80個增加至120個,指令預先擷取緩衝器(Instruction Prefetch Buffer)、指令執行保留站(Reservation Station)及位址轉換表(Address Translation Table)等亦有改進,這些使得Power5的處理器核心面積較Power4增加了24%,但是大致上維持和Power4相同的微架構設計。

記憶體系統的提升也是Power5的重點,對於SMT亦有助益。第二階快取從1.5MB增加至1.92MB,外部第三階快取從32MB增加至36MB、運作時脈從Power4的處理器三分之一提升至二分之一(因為第三階快取記憶體直接整合在MCM之中),內建的記憶體控制器可支援多達1TB的DDR2-SDRAM。諸多改進讓Power5的電晶體數目及晶粒面積較相同製程的Power4+成長了約50%。Power5亦改善了記憶體資料可靠性的機制,以及增加在單一處理器上協助提供多個作業系統邏輯分割區的功能電路。不過,比較讓人失望的是,Power5並未實作AltiVec指令集,可能僅在PowerPC產品線才會提供。

據IBM表示,Power5的時脈將介於1.6GHz至2GHz,明年則比照Power4+模式推出90nm製程的Power5+,時脈將可到達3GHz。IBM預估1.6GHz的Power5就可以達成1.3GHz Power4的兩倍效能。另外,IBM將以Power5為基礎構建更大型的多處理器系統,PowerPC 975也將直接沿用Power5核心。不過,和當初Power4的策略相反,Power5一開始將以較低階的伺服器為主,日後才逐步延伸至高階伺服器。這背後所代表的策略轉折,值得注意。

Sun雙核心UltraSPARC II「Gemini」
Sun在去年八月IEEE Hot Chips論壇首度發表UltraSPARC II處理器雙核心版本「Gemini」,內建兩組UltraSPARC II核心以及128位元寬DDR266 SDRAM的記憶體控制器,最多可安裝16GB主記憶體。每個核心個別擁有獨立的512kB第二階快取。由於和現有UltraSPARC IIIi的959腳位相容,也實作JBus介面,所以可以直接沿用至現有採用UltraSPARC IIIi的系統上。Gemini的耗電量並不高,時脈1.2GHz版本在1.3V下僅有最高32W(標準設計功耗為23W),900MHz版本在0.9V時更只有14W,這使其非常適合應用於對散熱及耗電有著嚴格要求的應用,如刀鋒伺服器及1U伺服器。

Gemini由TI的130nm製程所生產,銅導線,7層金屬布線。值得注意的是,雖然同為TI所生產,Gemini卻採用TI最新的有機矽玻璃(OSG,Organo Silicate Glass)做為導線絕緣材料,k值(介電常數)僅有2.8,遠低於UltraSPARC IV氟矽玻璃(FSG,Fluorinated Silicate Glass)的3.6。另外,雖然Gemini的電晶體較UltraSPARC IV為多,但是晶粒面積遠較為小,僅有206平方公釐。不過,大致而言,相較於其他廠商的處理器,Sun這兩款雙核心處理器的晶粒面積還是略嫌過大。

UltraSPARC IV和Gemini的市場定位差別是一個值得探討的話題。根據Sun目前公布的時程表,將處理器產品線分割為資料處理應用(Data Facing)及網路處理應用(Network Facing)兩大領域,s-Series處理器(如UltraSPARC IV)屬於前者,而i-Series(如UltraSPARC IIIi)和h-Series(如Gemini)則屬於後者。後者的應用環境比較偏向大型多處理器系統,或是多工程度較高的應用,對於單一處理器效能並沒有很高的要求。Sun的看法是否會得到市場的肯定,就有待時間來證明了。

Intel Itanium 3「Montecito」
英特爾在去年秋季英特爾科技論壇(IDF,Intel Developer Forum)宣示未來的全系列處理器均往雙核心及多核心架構發展,以IA-64指令集的Itanium處理器為開端,代號「Montecito」的Itanium 3就是英特爾預定第一個登場的雙核心處理器。今年春季IDF,英特爾在伺服器應用相關議程的文件中,首度透露了Montecito的大致面貌,先前HP的文件更提到細節性的規格。Montecito採用90nm製程生產,兩組核心各擁有12MB的第三階快取記憶體,而且支援同步多執行緒架構。第一階快取記憶體不明,不過第二階快取記憶體採用指令/資料分離的設計,容量分別為512kB/256kB。另外,Itanium 3並未整合記憶體控制器,採用現有Itanium 2的系統匯流排,所以可相容於目前的Itanium 2系統。時脈最高可達2.2GHz,操作電壓為1.2V。

由於擁有多達超過24MB的超大型快取記憶體,為了確保快取記憶體的正常運作,Montecito引進代號「Pellston」的快取記憶體可靠性技術,可以關閉快取記憶體中錯誤的cache-line。其原理如下:處理器核心在存取cache-line前,都會先經過一次錯誤檢查。如果發現處理器存取的cache-line發生ECC錯誤,經過糾錯,Pellston演算法邏輯電路會將糾錯後的資料重新寫回該cache-line之中、再讀取內容進行比對。如果符合,代表這是1位元的ECC錯誤,該cache-line可以正常運作。如果不符,就自動關閉該cache-line不再使用。當然,如果一開始就偵測到為2位元錯誤,也就會直接關閉。另外,也因為超大型的快取記憶體,Montecito極可能成為英特爾、甚至人類史上第一個電晶體突破10億大關的處理器。

為了提升效能,英特爾發表代號「Foxton」的效能提升技術,應為同時整合多核心及多執行緒的方式。電源管理機能亦成為新處理器的一部分。最後,代號「Silvervale」的硬體虛擬化技術,可能是Vanderpool虛擬機器架構的技術延伸。這些技術,除了將包含在Montecito處理器,結合支援DDR-2記憶體及PCI Express的「Bayshore」晶片組,將組成新一代的Itanium平臺。

值得注意的是,雖然英特爾宣稱Montecito支援同步多執行緒,但是和目前的Hyper-Threading有著相當程度的差異。就嚴格的定義而言,Montecito並不能視為同步多執行緒架構:它僅實作粗質(Coarse-Grained)多執行緒,和IBM RS64 III「Pulsar」處理器相同。簡而言之,粗質多執行緒只會在長時間暫停(Stall)的情況下,才會進行執行緒的交換,例如第三階快取失誤。雖然這樣並不會造成細質(Fine-Grained)多執行緒一樣增加執行時間的缺點,卻容易導致指令執行輸出率(Throughput)的下降,尤其是短時間的暫停。問題主要出自指令管線啟動成本(Start-Up Cost),因為粗質多執行緒的處理器會由單一執行緒發出指令,當發生暫停時,管線就須清空或靜止。所以,英特爾也提出諸多有效利用IA-64指令集特性的方式,來改善Montecito的多執行緒執行效能。

這讓我們看到一個很尷尬的問題,由於IA-64指令集的精神,就在於不透過OOOE實作加速機制就達成高度的指令平行化,所以也導致因缺乏這些硬體加速機制,反而造成實作同步多執行緒的技術困難。但是,如果為了實作同步多執行緒架構而耗費大量成本去實作這些OOOE機制,又違背了IA-64的精神。這兩者之間要如何取捨,將考驗英特爾的智慧。

當初RISC架構先驅、IBM 801計畫設計者之一的Martin Hopkins在2000年微處理器論壇對IA-64強烈抨擊,認為結合OOOE的RISC處理器還有很大的發展空間,他在會中所發表的論文也已經成為IA-64反對勢力的理論基礎,甚至和AMD總工程師之一Mike Johnson對x86的著名評語一樣,被收錄至重量級的計算機組織結構教科書之中。他對IA-64的看法是否將一語成讖?IA-64真的是一個生不逢時的指令集架構?也許我們在這兩年內就可以看到答案。

Fujitsu SPARC64 VI「Olympus」
很多人都知道SPARC(Scalable Processor Architecture)指令集架構是由Sun在1987年首度提出的。但是,SPARC指令集並非Sun所獨有,而是一個業界公開的規格。事實上,全世界第一顆被實作的SPARC處理器是Fujitsu的MB86900,在1987年推出,時脈僅有16.6MHz,而Sun是直到1992年才推出SuperSPARC TMS390-50,還落後於LSI的產品,後來Weitek也有生產SPARC相容處理器。自從Fujitsu併購HAL Computer,後者就主導SPARC64家族的發展,也成為Fujitsu高階伺服器的主力處理器。當然,Fujitsu的高階伺服器一直就以Sun Solaris為主,相容SPARC指令集也就是Fujitsu高階伺服器主要利基之所在。

在去年微處理器論壇,Fujitsu首度公布代號「Olympus」的新一代雙核心處理器SPARC64 VI。SPARC64 VI可視為目前SPARC64 V的雙核心版本,採用90nm製程生產,銅導線,10層金屬布線。由於SPARC64 V核心原本就擁有多達256kB的第一階快取記憶體(128kB指令,128kB資料),而SPARC64 VI更將第二階快取記憶體從2MB增加至6MB,所以使得電晶體數目多達6億9千萬,晶粒面積則為400平方公釐。SPARC64 VI的時脈大幅超越SPARC64 V,將從2.4GHz起跳,2.4GHz時第二階快取記憶體對處理器核心的理論頻寬高達77GB/s。

和UltraSPARC IV相同,SPARC64 VI也對既有的處理器核心微架構進行部份的改良,例如改善硬體資料預先擷取機制、強化分支預測、增加Register Window所實作的實體暫存器數目、及加倍位址轉換的緩衝器等等。另外,也引進代號「Jupiter」的新型系統匯流排,透過多條單向的資料傳輸路徑提升載入和儲存的效率。Fujitsu預計在2005年末或2006年初推出SPARC64 VI,也將於今年內推出90nm製程所生產的SPARC64 V,時脈介於1.8GHz至1.9GHz,擁有4MB第二階快取記憶體。

這麼多年來,Fujitsu在高階伺服器處理器上的努力並不引起普遍的注意,但是SPARC64系列處理器一直都在SPEC CPU上名列前矛,也是目前唯一由日本廠商所主導的高階伺服器處理器。也因此,我們可以在SPARC64上看到諸多有別於其它廠商的有趣設計。以Pentium 4的指令追蹤執行快取記憶體(Trace Cache)為例,就是首創於SPARC64 V被取消的原始設計,像獨特的指令執行錯誤重試功能也是一例。雖然Fujitsu的64位元SPARC處理器沒有像Sun一樣掛上「Ultra」的頭銜,但是技術及效能均毫不遜色,甚至更好。在未來,Fujitsu為高階處理器帶來的眾多獨到風貌,是非常值得期待的。未來雙核心及多核心高階處理器的發展

IBM Power/PowerPC與英特爾IA-64在高階運算市場的激烈競爭,將這兩家公司的潛能通通激發了出來,所以預定中的時程表都相當的壯觀,製程的研發更直接延伸到32nm。IBM已經一路排到2007年後的Power8和PowerPC 990,英特爾也預定在2006年推出4至16核心的Tukwila(Tanglewood)。不甘「陪太子讀書」、力圖振衰起蔽的Sun亦計畫推出UltraSPARC V以及8核心、32執行緒的「Niagara」,同時整合多樣化的功能元件將是技術上的重點。Fujitsu則是在去年四月公布的時程表中,透露2006年的SPARC64 VII將是四核心設計,時脈5GHz起跳、上看6GHz。

在低階伺服器市場已經擁有主導地位的x86處理器,則是另一個值得關注的焦點。英特爾已經預定在明年推出代號「Tulsa」的雙核心Xeon處理器,而AMD在K8的技術文件中早已強烈暗示雙核心產品的存在,可能最快在今年年底就可以看到成果。走向雙核心的x86處理器,是否將具備向上發展的潛力,進一步壓縮RISC及IA-64的空間,非常的值得觀察。

最後,雙核心及多核心處理器的發展,除了將簡化伺服器的設計、減少伺服器的部署數目外,也意味著虛擬機器的應用將日益普及,伺服器統合(Server Consolidation)也將更加成熟。反過來說,這也將會影響既有按照處理器數目為單位的企業軟體授權方式。在未來,這些隱而不現的趨勢勢必對現有的企業伺服器應用造成極大的衝擊。英特爾是否將採用整合記憶體控制器的設計?

有心的讀者可以發現一個事實:高階處理器已經逐漸往整合記憶體控制器的路線發展。整合記憶體控制器的設計並非僅限於Transmeta Crusoe之類的低階產品,像Sun的UltraSparc IIi/IIIi、Digital的Alpha 21364/21464(EV-7/EV-8)等高階處理器,亦選擇了類似的設計路線。其隱而不現的背後因素,在於新型動態記憶體技術越來越往高延遲(High Latency)的特性發展,所以整合記憶體控制器,將可以有效的降低延遲、提高記憶體存取的效能,這可以從使用Rambus作為主記憶體的處理器,如Sun MAJC、Sony PS2的Emotion Engine,以及Alpha 21364/21464皆採取整合的方式,就可略知一二。另外一個關鍵因素,在於多處理器環境對於系統匯流排的頻寬有著極高的需求,如果多核心架構直接選擇整合記憶體控制器的方式,將可一勞永逸的徹底解決頻寬問題,也可將原先系統匯流排的針腳吸收至晶片內,簡化系統的設計。這個道理並不難理解,但是卻經常被人所忽略。

我們在今年春季IDF特別報導中,分析FB-DIMM所導入的HoD(Hub on DIMM)概念,是否將改變處理器與記憶體控制器整合化設計的趨勢。根據英特爾的看法,由於記憶體架構的進展越來越快,如果採用整合型的設計,一旦更動記憶體顆粒種類及架構,處理器腳位也將被迫隨之推陳出新。另外,雖然處理器各自擁有獨立的記憶體頻寬是一個顯而易見的優勢,不過這也將提升設計多處理器的困難,尤其傳統的SMP之類的UMA轉向NUMA架構,就必須另外實作各處理器之間的連接通道以及溝通分散實體記憶體的機制。基於上述理由,英特爾一直對此類設計興趣缺缺,最起碼檯面上的態度就是如此,Itanium 3「Montecito」和HP PA-8800「Mako」也因維持和Itanium 2的系統相容性,並未整合記憶體控制器。

不過,由於英特爾已經在不同場合透露未來多核心處理器的可能設計方式,加上FB-DIMM所帶來的彈性,讓情況有了變化。首先,英特爾技術長Pat Gelsinger在本屆IDF重點致詞時表示,未來多核心處理器將採取共享快取記憶體及系統匯流排的設計,這意味著多處理器環境下的點對點通道需求已經迎刃而解。另外,按照英特爾目前的態度,它們頃向讓每個獨立的處理器核心擁有各自專屬的記憶體頻寬,而採用PCI Express的FB-DIMM不但解決了這個問題,只要一開始所採用的記憶體匯流排頻寬夠大、通道夠多,就可以保留日後更換記憶體種類的空間,因為只要AMB改變設計即可。換言之,這種設計兼具了整合型記憶體控制器的優點,以及避免了擴充性不佳的缺點。

目前英特爾並未公布未來多核心處理器的細節,不過正由昔日Digital Alpha設計團隊所研發的IA-64多核心處理器Tukwila,將會是一個重要的指標,外界也普遍認為Tukwila將採取類似的設計。英特爾是否改變初衷?就讓我們拭目以待。「運算能量/耗電量」已經成為高階處理器的顯學

Sun在去年IEEE Hot Chips所發表的Gemini文件中,首度透過SPEC CPU 2000、SPECjbb 2000及SPECweb 99的表現,去「計算」每瓦功耗可以換取的效能。另外,英特爾也開始重視處理器運算效能和耗電量的比例。在今年秋季IDF的議程文件中,它們比較1.5GHz的Itanium 2和4GHz的Xeon處理器,透過執行Linpack所估計的理論浮點運算能量皆為5.2Gflops,而耗電量分別為80W和90W。所以英特爾宣稱:由於IA-64的EPIC架構有著較佳的「運算能量/耗電量」比例,因此Itanium 2比較適合高階運算的應用。我們不知道這理由究竟能不能說服企業採購Itanium系統,不過,這的確是一個新的設計方向,隨著處理器耗電量節節高升,電費的成本及系統的散熱逐漸受到重視,「運算能量3/耗電量」將成為處理器廠商的新訴求。文⊙劉人豪

熱門新聞

Advertisement