主要技術(shù)特性


      Power6采用IBM的65納米絕緣硅(SOI)工藝、10層金屬片而制造。與90納米工藝相比,在一定的功率下,性能提高了30%,這主要是由于使用了應(yīng)變硅技術(shù)。IBM的65納米工藝提供了0.65微米的高性能SRAM單元和0.4微米的單元以提高密度。存儲陣列單元使用了與邏輯元件相比較低的電壓,以減少功耗。據(jù)大家所說,IBM非常注重Power6的芯片設(shè)計,以此提高頻率;而以前的設(shè)計卻全面依賴自動化工具和邏輯設(shè)計。這有助于解決IBM為什么得以顯著提高頻率,但還是難以相信以前從未進(jìn)行這樣的優(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來自遠(yuǎn)程處理器、20GB/s來自本地I/O。Power6的帶寬通常比Power5+系統(tǒng)增加了一倍,這是由于頻率提高、添加了一些新接口。Power6的非核心功能其運(yùn)行頻率都是核心頻率的一半,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ù)總線,而互連結(jié)構(gòu)和GX+ I/O總線復(fù)用尋址和數(shù)據(jù)總線。


      Power6的系統(tǒng)架構(gòu)完全經(jīng)過了重新設(shè)計,比前幾代產(chǎn)品先進(jìn)得多。用于大系統(tǒng)的Power5使用兩條單向環(huán)(uni-directional ring)實現(xiàn)MCM內(nèi)通信,而MCM間通信通過二維網(wǎng)狀結(jié)構(gòu)來進(jìn)行。Power6則使用了兩層架構(gòu)和新的一致性協(xié)議進(jìn)行配對。每個Power6 MCM組成了一個“單元”,全連接網(wǎng)絡(luò)中最多可以排列8個單元。新的系統(tǒng)架構(gòu)擁有比較低、比較穩(wěn)定的時延。雖然低時延對提高性能而言必不可少,但穩(wěn)定時延大大方便了操作系統(tǒng)(特別是Linux)進(jìn)行管理。就Power6系統(tǒng)而言,有三級時延:MPU本地、MCM本地和遠(yuǎn)程。相比之下,在大尺寸的Power5+系統(tǒng)中,遠(yuǎn)程讀取可能需要經(jīng)歷1到4個MCM間中繼段(hop)、0到2個MCM內(nèi)中繼段。


      從一開始,IBM設(shè)計的Power6系統(tǒng)就具有極強(qiáng)的可配置性。通常每個周期傳送8個字節(jié)的節(jié)點(diǎn)內(nèi)總線可分成低端系統(tǒng)每個周期傳送2個字節(jié),而節(jié)點(diǎn)間總線也能每個周期傳送4個字節(jié)。同樣,兩個集成的內(nèi)存控制器每個周期都可以傳送一半的字節(jié),其中一個可以完全移除。外部的三級高速緩存是可選的,或者出現(xiàn)在MCM中,或者出現(xiàn)在外部配置中。IBM聲稱,所有這些選件旨在提供不同性價比的型號,以便更好地服務(wù)于客戶。顯然,有些工作負(fù)載可能根本無法放在高速緩存里面進(jìn)行處理,客戶可以訂購功能精簡的部件來節(jié)省費(fèi)用。另一個因素可能是,IBM正試圖通過重復(fù)使用遇到生產(chǎn)故障的設(shè)備來提高產(chǎn)量。譬如說,如果三級高速緩存不正確地接合到了MCM上,它可以作為“有價值的”產(chǎn)品重新封裝。


      核心方面的變化

      雖然Power6的微架構(gòu)不同于前幾代產(chǎn)品,但毫無疑問它承襲了最初在 2000年宣布的Power4核心。IBM聲稱,Power6的性能大約比POWER5提高了一倍。實現(xiàn)手段是,將頻率和帶寬翻一番,同時保持了同樣的流水線深度,另外對微架構(gòu)作了許多逐步改進(jìn)。
   
      Power6的基本流水線其級數(shù)與Power5一樣多,不過針對不同階段重新進(jìn)行了平衡。最重要的是,相關(guān)的算術(shù)邏輯單元(ALU)操作如今可以持續(xù)執(zhí)行,這就消除了原先的POWER4/5架構(gòu)存在的一個缺陷。這就簡化了無序調(diào)度,可能是指令發(fā)送/分派階段在Power6里面使用2個周期(Power5使用4個周期)的原因。McCredie博士略帶提到了其他變化,但沒有進(jìn)一步詳細(xì)介紹。


      正如去年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的二級高速緩存太大了,在所需的帶寬下,無法在目標(biāo)存取時間內(nèi)探測到它。因而,高速緩存被一分為二。三級高速緩存也得到了改進(jìn),因為它拋棄了POWER5+里面使用的分區(qū)技術(shù);這就加大了三級高速緩存的實際尺寸,只需要極小成本。高速緩存的許多這些細(xì)小改進(jìn),尤其是提高了聯(lián)合并行處理能力,對多線程執(zhí)行極其有利,并且?guī)椭鶬BM對Power6里面的同步多線程(SMT)實現(xiàn)了比前幾代產(chǎn)品更大幅度的提升。


      Power6似乎保留了前一代產(chǎn)品的所有功能部件,不過也添加了對二進(jìn)制編碼的十進(jìn)制數(shù)(BCD)和Altivec擴(kuò)展指令集的硬件支持。據(jù)IBM聲稱,一半多點(diǎn)的用戶數(shù)據(jù)采用BCD形式?D?D考慮到IBM的System i和p用戶的常見工作負(fù)載,這似乎相當(dāng)合理。大多數(shù)RISC架構(gòu)把BCD支持功能添加到了系統(tǒng)廠商提供的軟件庫里面,這與801、MIPS和RISC- 1/2等早期項目所信奉的理念相一致。然而,IBM的POWER架構(gòu)比與之競爭的架構(gòu)更像CISC。為了支持即將推出的管理BCD的IEEE 754R標(biāo)準(zhǔn),IBM添加了大約50條新指令以及十進(jìn)制浮點(diǎn)處理單元(FPU)。包括所有的基本指令:加、乘、除,以及比例縮放、轉(zhuǎn)換及其他重要功能。新的十進(jìn)制功能部件共享浮點(diǎn)寄存器、浮點(diǎn)狀態(tài)和控制寄存器。該部件實際上是四倍精度,可在144位中提供多達(dá)36位準(zhǔn)確性,不過結(jié)果被壓縮成了128位,以適合兩個浮點(diǎn)寄存器,然后在使用之前進(jìn)行解壓縮?;静僮饔悬c(diǎn)慢于ALU操作,擁有單一周期吞吐量,但有2個周期時延。雖然IBM在性能上沒有提供任何有明確量值的好處,但就電信計費(fèi)基準(zhǔn)而言,與Java、C/C#或者匯編庫相比,BCD支持功能估計可以把性能分別提高7倍、4倍或者2倍。同樣, AltiVec執(zhí)行部件已添加到了POWER6上,不過PPC970及其他處理器里面的微架構(gòu)的這個部分有比較齊全的文檔說明。


      注重可靠性、可用性及可服務(wù)性


      對IBM而言,可靠性、可用性及可服務(wù)性(RAS)必不可少。


      Power6使用了檢驗點(diǎn)系統(tǒng)來保持正確性、從容地校正及容許故障。這就需要恢復(fù)部件、錯誤記錄器和重啟動機(jī)制。處理器狀態(tài)保存在恢復(fù)部件里面,用錯誤校正編碼法(ECC)來保護(hù)。凡是會引起狀態(tài)變化的操作,譬如寄存器或者高速緩存寫入操作,都會檢驗奇偶性以及/或者ECC故障。如果出現(xiàn)可校正的錯誤(或者未出現(xiàn)錯誤),變化通常傳送到處理器狀態(tài)寄存器里面。不可校正的錯誤,如陣列奇偶性或者控制故障,就會觸發(fā)記錄器,記錄錯誤類型,然后從已知的正確狀態(tài)重新開始執(zhí)行。這時候,任何臨時錯誤都會得到正確解決。一再出現(xiàn)的錯誤會上報,然后已知的正確狀態(tài)被傳送給另一個CPU,隨后該CPU開始執(zhí)行。這可以透明地發(fā)現(xiàn)任何硬錯誤,然后隔離到單一處理器,但進(jìn)一步的問題可能需要軟件干預(yù)。除了這些注重MPU的改進(jìn)外,另外還有前面提到的可改進(jìn)RAS的系統(tǒng)改變。


      在管理方面,IBM也在改進(jìn)Power6里面的虛擬化功能。在某些產(chǎn)品中,一個處理器就能存放2到300個虛擬實例,不過從理論上來說最多有可能使用1024個虛擬機(jī)。還添加了內(nèi)存分區(qū)和遷移功能,這縮短了用于修復(fù)的系統(tǒng)停運(yùn)時間。IBM還將為基于Power6的新系統(tǒng)提供Power Executive管理工具。Power Executive最近在英特爾的開發(fā)者論壇上進(jìn)行了展示,這款管理工具用于處理評估功率、系統(tǒng)運(yùn)行狀態(tài),并使用該信息作出決策,譬如關(guān)閉不需要的風(fēng)扇或者限制功耗。
  
      IBM當(dāng)前在性能方面的領(lǐng)導(dǎo)地位會在2008年面臨重大挑戰(zhàn),屆時Sun采用大規(guī)模多線程技術(shù)的Rock處理器和英特爾備受期待的Tukwila處理品將雙雙問世。IBM的路線圖目前包括Power6+,這大概是采用45納米的衍生產(chǎn)品。從IBM以往的做法來看,Power6+會在2008年下半年首次亮相。


更多內(nèi)容,請訪問cnpmc的博客

分享到

多易

相關(guān)推薦