IBM透露POWER6主要技術(shù)特性
IBM公司的Brad McCredie博士在微處理器論壇上繼續(xù)透露了POWER6方面的細節(jié),他討論了微架構(gòu)的諸多一般特性,但沒有透露諸多具體細節(jié)??赡芤鹊?007年國際固態(tài)電路大會(ISSCC,明年2月在美國舊金山召開)才會全面透露微架構(gòu)。不過從已透露的細節(jié)來看,POWER6顯然繼承了前幾代產(chǎn)品的許多特點,不過在其他方面也作了重大改進。
POWER6的目標是達到4GHz到5GHz的頻率,采用IBM的65納米絕緣硅(SOI)工藝、10層金屬片而制造。與90納米工藝相比,在一定的功率下,性能提高了30%,這主要是由于使用了應(yīng)變硅技術(shù)。IBM的65納米工藝提供了0.65微米的高性能SRAM單元和0.4微米的單元以提高密度。存儲陣列單元使用了與邏輯元件相比較低的電壓,以減少功耗。據(jù)大家所說,IBM非常注重POWER6的芯片設(shè)計,以此提高頻率;而以前的設(shè)計卻全面依賴自動化工具和邏輯設(shè)計。這有助于解決IBM為什么得以顯著提高頻率,但還是難以相信以前從未進行這樣的優(yōu)化。從競爭定位的角度來看,明明可以把性能提高2倍,卻沒有這么做,這似乎是不合理的。
與前兩代產(chǎn)品一樣,POWER6著重于系統(tǒng)架構(gòu)事關(guān)重大的大系統(tǒng)環(huán)境。每個POWER6微處理器單元(MPU)作為2路單芯片多處理器(CMP)設(shè)計來實現(xiàn),340平方毫米的一塊芯片上集成了兩個同步多線程處理器以及每個核心都有的專用二級高速緩存。至于高檔型號,四個POWER6 MPU將封裝在一個多芯片模塊(MCM)內(nèi),另外還有四個三級全相聯(lián)高速緩存(victim cache),每個大小是32MB。
POWER6有極高帶寬可提供給處理器。在5GHz下,每個MPU都有300GB/s的帶寬,大約80GB/s來自三級高速緩存、75GB/s來自內(nèi)存、80GB/s來自MCM內(nèi)總線、50GB/s來自遠程處理器、20GB/s來自本地I/O。POWER6的帶寬通常比POWER5+系統(tǒng)增加了一倍,這是由于頻率提高、添加了一些新接口。POWE6的非核心功能其運行頻率都是核心頻率的一半,2GHz到2.5GHz之間;而各種POWER5+處理器的頻率大約為0.8GHz到1.15GHz。
POWER6另外還有一個內(nèi)存控制器和MCM內(nèi)的結(jié)構(gòu)線路,從而把I/O頻率從CPU頻率的三分之一提高到了二分之一。每個內(nèi)存控制器使用IBM的第三代同步內(nèi)存接口連接到內(nèi)存。與全緩沖DIMM一樣,這些共存內(nèi)存接口(SMI)芯片能夠配置更大的內(nèi)存空間、使用不同類型的內(nèi)存(通常是款式較老的DDR提供容量,或者較新的DDR2/3提供帶寬)。內(nèi)存控制器和三級高速緩存都有不同的地址和數(shù)據(jù)總線(地址總線在圖1中沒有顯示出來),而互連結(jié)構(gòu)和GX+ I/O總線復(fù)用尋址和數(shù)據(jù)總線。
POWER6的系統(tǒng)架構(gòu)完全經(jīng)過了重新設(shè)計,比前幾代產(chǎn)品先進得多。用于大系統(tǒng)的POWER5使用兩條單向環(huán)(uni-directional ring)實現(xiàn)MCM內(nèi)通信,而MCM間通信通過二維網(wǎng)狀結(jié)構(gòu)來進行。如圖2所示,POWER6則使用了兩層架構(gòu)和新的一致性協(xié)議進行配對。每個POWER6 MCM組成了一個“單元”,全連接網(wǎng)絡(luò)中最多可以排列8個單元。新的系統(tǒng)架構(gòu)擁有比較低、比較穩(wěn)定的時延。雖然低時延對提高性能而言必不可少,但穩(wěn)定時延大大方便了操作系統(tǒng)(特別是Linux)進行管理。就POWER6系統(tǒng)而言,有三級時延:MPU本地、MCM本地和遠程。相比之下,在大尺寸的POWER5+系統(tǒng)中,遠程讀取可能需要經(jīng)歷1到4個MCM間中繼段(hop)、0到2個MCM內(nèi)中繼段。圖2顯示了這一點,使用不同顏色表示不同的時延級別:藍色表示本地MPU、淡紫色表示同一個MCM上的MPU,而綠色、棕黃色、橙色和紅色分別代表1到4個中繼段?;趩卧募軜?gòu)的另一個優(yōu)點是,每一個節(jié)點可以從網(wǎng)上斷開,而不影響其他節(jié)點,這提高了系統(tǒng)的可用性和可服務(wù)性。
從一開始,IBM設(shè)計的POWER6系統(tǒng)就具有極強的可配置性。通常每個周期傳送8個字節(jié)的節(jié)點內(nèi)總線可分成低端系統(tǒng)每個周期傳送2個字節(jié),而節(jié)點間總線也能每個周期傳送4個字節(jié)。同樣,兩個集成的內(nèi)存控制器每個周期都可以傳送一半的字節(jié),其中一個可以完全移除。外部的三級高速緩存是可選的,或者出現(xiàn)在MCM中,或者出現(xiàn)在外部配置中。IBM聲稱,所有這些選件旨在提供不同性價比的型號,以便更好地服務(wù)于客戶。顯然,有些工作負載可能根本無法放在高速緩存里面進行處理,客戶可以訂購功能精簡的部件來節(jié)省費用。另一個因素可能是,IBM正試圖通過重復(fù)使用遇到生產(chǎn)故障的設(shè)備來提高產(chǎn)量。譬如說,如果三級高速緩存不正確地接合到了MCM上,它可以作為“有價值的”產(chǎn)品重新封裝。
核心方面的變化
雖然POWER6的微架構(gòu)不同于前幾代產(chǎn)品,但毫無疑問它承襲了最初在2000年宣布的POWER4核心。預(yù)計IBM會在ISSCC或者明年的HotChips大會上極其全面地討論微架構(gòu),不過在此期間,有些細節(jié)已經(jīng)在微處理器論壇上進行了公布。IBM聲稱,POWER6的性能大約比POWER5提高了一倍。實現(xiàn)手段是,將頻率和帶寬翻一番,同時保持了同樣的流水線深度,另外對微架構(gòu)作了許多逐步改進。
POWER6的基本流水線其級數(shù)與POWER5一樣多,不過針對不同階段重新進行了平衡。最重要的是,相關(guān)的算術(shù)邏輯單元(ALU)操作如今可以持續(xù)執(zhí)行,這就消除了原先的POWER4/5架構(gòu)存在的一個缺陷。這就簡化了無序調(diào)度,可能是指令發(fā)送/分派階段在POWER6里面使用2個周期(POWER5使用4個周期)的原因。McCredie博士略帶提到了其他變化,但沒有進一步詳細介紹。
正如今年初在ISSCC上透露的那樣,POWER6的一級數(shù)據(jù)高速緩存(L1D)增加了一倍,增至64KB;聯(lián)合并行處理也增加到了8路。因而, L1D時延增加到了4個周期,而POWER5及大多數(shù)其他高性能MPU卻是3個周期。正如前文猜測的那樣,POWER6包括兩個4MB大小的專用二級高速緩存。盡管高速緩存是專用的,卻有一個快速輸出緩沖器(cast-out buffer),這便于兩者之間快速通信,而不涉及三級高速緩存或者主內(nèi)存。眾所周知,如果一切都一樣,共享高速緩存可以提供更高性能。不過在POWER6的情況下,并非一切都一樣。尤其是,物理設(shè)計方面的因素比微架構(gòu)的巧妙性來得重要。8MB的二級高速緩存太大了,在所需的帶寬下,無法在目標存取時間內(nèi)探測到它。因而,高速緩存被一分為二。三級高速緩存也得到了改進,因為它拋棄了POWER5+里面使用的分區(qū)技術(shù);這就加大了三級高速緩存的實際尺寸,只需要極小成本。高速緩存的許多這些細小改進,尤其是提高了聯(lián)合并行處理能力,對多線程執(zhí)行極其有利,并且?guī)椭鶬BM對POWER6里面的同步多線程(SMT)實現(xiàn)了比前幾代產(chǎn)品更大幅度的提升。
POWER6似乎保留了前一代產(chǎn)品的所有功能部件,不過也添加了對二進制編碼的十進制數(shù)(BCD)和Altivec擴展指令集的硬件支持。據(jù)IBM聲稱,一半多點的用戶數(shù)據(jù)采用BCD形式?D?D考慮到IBM的System i和p用戶的常見工作負載,這似乎相當合理。大多數(shù)RISC架構(gòu)把BCD支持功能添加到了系統(tǒng)廠商提供的軟件庫里面,這與801、MIPS和RISC-1/2等早期項目所信奉的理念相一致。然而,IBM的POWER架構(gòu)比與之競爭的架構(gòu)更像CISC。為了支持即將推出的管理BCD的IEEE 754R標準,IBM添加了大約50條新指令以及十進制浮點處理單元(FPU)。包括所有的基本指令:加、乘、除,以及比例縮放、轉(zhuǎn)換及其他重要功能。新的十進制功能部件共享浮點寄存器、浮點狀態(tài)和控制寄存器。該部件實際上是四倍精度,可在144位中提供多達36位準確性,不過結(jié)果被壓縮成了128位,以適合兩個浮點寄存器,然后在使用之前進行解壓縮?;静僮饔悬c慢于ALU操作,擁有單一周期吞吐量,但有2個周期時延。雖然IBM在性能上沒有提供任何有明確量值的好處,但就電信計費基準而言,與Java、C/C#或者匯編庫相比,BCD支持功能估計可以把性能分別提高7倍、4倍或者2倍。同樣,AltiVec執(zhí)行部件已添加到了POWER6上,不過PPC970及其他處理器里面的微架構(gòu)的這個部分有比較齊全的文檔說明。
注重可靠性、可用性及可服務(wù)性
McCredie博士強調(diào)的其他重要方面之一就是,重視可靠性、可用性及可服務(wù)性(RAS)。對IBM而言,這是必不可少的一部分。IBM目前在部分存儲產(chǎn)品中交付了POWER5,預(yù)計POWER6會有同樣應(yīng)用(更正:POWER5處理器沒有用于任何大型機上,而是用于存儲產(chǎn)品上)。當然,POWER6還將用作其中檔產(chǎn)品System i(過去叫AS/400)的CPU。
POWER6使用了檢驗點系統(tǒng)來保持正確性、從容地校正及容許故障。這就需要恢復(fù)部件、錯誤記錄器和重啟動機制。處理器狀態(tài)保存在恢復(fù)部件里面,用錯誤校正編碼法(ECC)來保護。凡是會引起狀態(tài)變化的操作,譬如寄存器或者高速緩存寫入操作,都會檢驗奇偶性以及/或者ECC故障。如果出現(xiàn)可校正的錯誤(或者未出現(xiàn)錯誤),變化通常傳送到處理器狀態(tài)寄存器里面。不可校正的錯誤,如陣列奇偶性或者控制故障,就會觸發(fā)記錄器,記錄錯誤類型,然后從已知的正確狀態(tài)重新開始執(zhí)行。這時候,任何臨時錯誤都會得到正確解決。一再出現(xiàn)的錯誤會上報,然后已知的正確狀態(tài)被傳送給另一個CPU,隨后該CPU開始執(zhí)行。這可以透明地發(fā)現(xiàn)任何硬錯誤,然后隔離到單一處理器,但進一步的問題可能需要軟件干預(yù)。除了這些注重MPU的改進外,另外還有前面提到的可改進RAS的系統(tǒng)改變。
在管理方面,IBM也在改進POWER6里面的虛擬化功能。在某些產(chǎn)品中,一個處理器就能存放2到300個虛擬實例,不過從理論上來說最多有可能使用1024個虛擬機。還添加了內(nèi)存分區(qū)和遷移功能,這縮短了用于修復(fù)的系統(tǒng)停運時間。IBM還將為基于POWER6的新系統(tǒng)提供Power Executive管理工具。Power Executive最近在英特爾的開發(fā)者論壇上進行了展示,這款管理工具用于處理評估功率、系統(tǒng)運行狀態(tài),并使用該信息作出決策,譬如關(guān)閉不需要的風扇或者限制功耗。
結(jié)論
基于POWER6的IBM系統(tǒng)計劃在2007年年中向大眾市場推出,這有點晚于其原定計劃以及公司對外公開的聲明。POWER6最初將與英特爾的Montvale以及Sun和富士通聯(lián)合開發(fā)的APL處理器(可能基于SPARC64-VI)形成對立之勢。在x86方面,對應(yīng)產(chǎn)品將是英特爾的Tigerton和AMD的Rev. H,兩者都是四核心處理器。
IBM聲稱性能可以提高兩倍,這與大大提高的時鐘速率和系統(tǒng)原始帶寬增加相一致。假定IBM計劃執(zhí)行得力,它會在明年獲得非常強的競爭地位。IBM當前在性能方面的領(lǐng)導(dǎo)地位會在2008年面臨重大挑戰(zhàn),屆時Sun采用大規(guī)模多線程技術(shù)的Rock處理器和英特爾備受期待的Tukwila處理品將雙雙問世。IBM的路線圖目前包括POWER6+,這大概是采用45納米的衍生產(chǎn)品。從IBM以往的做法來看,POWER6+會在2008年下半年首次亮相,大概正好可以使競爭對手的希望落空。
不過有一點很清楚:IBM已找到了可以用來推遲x86 MPU快速增長步伐的方法:獨特的封裝和系統(tǒng)帶寬。顯而易見,大眾化設(shè)備用不起這些高級特性,因而無法與作為IBM發(fā)展策略重心的系統(tǒng)架構(gòu)相提并論。