Power6的系統(tǒng)架構(gòu)完全經(jīng)過(guò)了重新設(shè)計(jì),比前幾代產(chǎn)品先進(jìn)得多。用于大系統(tǒng)的Power5使用兩條單向環(huán)(uni-directional ring)實(shí)現(xiàn)MCM內(nèi)通信,而MCM間通信通過(guò)二維網(wǎng)狀結(jié)構(gòu)來(lái)進(jìn)行。Power6則使用了兩層架構(gòu)和新的一致性協(xié)議進(jìn)行配對(duì)。每個(gè)Power6 MCM組成了一個(gè)“單元”,全連接網(wǎng)絡(luò)中最多可以排列8個(gè)單元。新的系統(tǒng)架構(gòu)擁有比較低、比較穩(wěn)定的時(shí)延。雖然低時(shí)延對(duì)提高性能而言必不可少,但穩(wěn)定時(shí)延大大方便了操作系統(tǒng)(特別是Linux)進(jìn)行管理。就Power6系統(tǒng)而言,有三級(jí)時(shí)延:MPU本地、MCM本地和遠(yuǎn)程。相比之下,在大尺寸的Power5+系統(tǒng)中,遠(yuǎn)程讀取可能需要經(jīng)歷1到4個(gè)MCM間中繼段(hop)、0到2個(gè)MCM內(nèi)中繼段。
 
      從一開(kāi)始,IBM設(shè)計(jì)的Power6系統(tǒng)就具有極強(qiáng)的可配置性。通常每個(gè)周期傳送8個(gè)字節(jié)的節(jié)點(diǎn)內(nèi)總線(xiàn)可分成低端系統(tǒng)每個(gè)周期傳送2個(gè)字節(jié),而節(jié)點(diǎn)間總線(xiàn)也能每個(gè)周期傳送4個(gè)字節(jié)。同樣,兩個(gè)集成的內(nèi)存控制器每個(gè)周期都可以傳送一半的字節(jié),其中一個(gè)可以完全移除。外部的三級(jí)高速緩存是可選的,或者出現(xiàn)在MCM中,或者出現(xiàn)在外部配置中。IBM聲稱(chēng),所有這些選件旨在提供不同性?xún)r(jià)比的型號(hào),以便更好地服務(wù)于客戶(hù)。顯然,有些工作負(fù)載可能根本無(wú)法放在高速緩存里面進(jìn)行處理,客戶(hù)可以訂購(gòu)功能精簡(jiǎn)的部件來(lái)節(jié)省費(fèi)用。另一個(gè)因素可能是,IBM正試圖通過(guò)重復(fù)使用遇到生產(chǎn)故障的設(shè)備來(lái)提高產(chǎn)量。譬如說(shuō),如果三級(jí)高速緩存不正確地接合到了MCM上,它可以作為“有價(jià)值的”產(chǎn)品重新封裝。
  
       核心方面的變化
 
      雖然Power6的微架構(gòu)不同于前幾代產(chǎn)品,但毫無(wú)疑問(wèn)它承襲了最初在 2000年宣布的Power4核心。IBM聲稱(chēng),Power6的性能大約比POWER5提高了一倍。實(shí)現(xiàn)手段是,將頻率和帶寬翻一番,同時(shí)保持了同樣的流水線(xiàn)深度,另外對(duì)微架構(gòu)作了許多逐步改進(jìn)。
  
      Power6的基本流水線(xiàn)其級(jí)數(shù)與Power5一樣多,不過(guò)針對(duì)不同階段重新進(jìn)行了平衡。最重要的是,相關(guān)的算術(shù)邏輯單元(ALU)操作如今可以持續(xù)執(zhí)行,這就消除了原先的POWER4/5架構(gòu)存在的一個(gè)缺陷。這就簡(jiǎn)化了無(wú)序調(diào)度,可能是指令發(fā)送/分派階段在Power6里面使用2個(gè)周期(Power5使用4個(gè)周期)的原因。McCredie博士略帶提到了其他變化,但沒(méi)有進(jìn)一步詳細(xì)介紹。
 
      正如去年ISSCC上透露的那樣,Power6的一級(jí)數(shù)據(jù)高速緩存(L1D)增加了一倍,增至64KB;聯(lián)合并行處理也增加到了8路。因而, L1D時(shí)延增加到了4個(gè)周期,而Power5及大多數(shù)其他高性能MPU卻是3個(gè)周期。正如前文猜測(cè)的那樣,Power6包括兩個(gè)4MB大小的專(zhuān)用二級(jí)高速緩存。盡管高速緩存是專(zhuān)用的,卻有一個(gè)快速輸出緩沖器(cast-out buffer),這便于兩者之間快速通信,而不涉及三級(jí)高速緩存或者主內(nèi)存。眾所周知,如果一切都一樣,共享高速緩存可以提供更高性能。不過(guò)在 Power6的情況下,并非一切都一樣。尤其是,物理設(shè)計(jì)方面的因素比微架構(gòu)的巧妙性來(lái)得重要。8MB的二級(jí)高速緩存太大了,在所需的帶寬下,無(wú)法在目標(biāo)存取時(shí)間內(nèi)探測(cè)到它。因而,高速緩存被一分為二。三級(jí)高速緩存也得到了改進(jìn),因?yàn)樗鼟仐壛薖OWER5+里面使用的分區(qū)技術(shù);這就加大了三級(jí)高速緩存的實(shí)際尺寸,只需要極小成本。高速緩存的許多這些細(xì)小改進(jìn),尤其是提高了聯(lián)合并行處理能力,對(duì)多線(xiàn)程執(zhí)行極其有利,并且?guī)椭鶬BM對(duì)Power6里面的同步多線(xiàn)程(SMT)實(shí)現(xiàn)了比前幾代產(chǎn)品更大幅度的提升。
  
      Power6似乎保留了前一代產(chǎn)品的所有功能部件,不過(guò)也添加了對(duì)二進(jìn)制編碼的十進(jìn)制數(shù)(BCD)和Altivec擴(kuò)展指令集的硬件支持。據(jù)IBM聲稱(chēng),一半多點(diǎn)的用戶(hù)數(shù)據(jù)采用BCD形式?D?D考慮到IBM的System i和p用戶(hù)的常見(jiàn)工作負(fù)載,這似乎相當(dāng)合理。大多數(shù)RISC架構(gòu)把BCD支持功能添加到了系統(tǒng)廠商提供的軟件庫(kù)里面,這與801、MIPS和RISC- 1/2等早期項(xiàng)目所信奉的理念相一致。然而,IBM的POWER架構(gòu)比與之競(jìng)爭(zhēng)的架構(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)和控制寄存器。該部件實(shí)際上是四倍精度,可在144位中提供多達(dá)36位準(zhǔn)確性,不過(guò)結(jié)果被壓縮成了128位,以適合兩個(gè)浮點(diǎn)寄存器,然后在使用之前進(jìn)行解壓縮?;静僮饔悬c(diǎn)慢于ALU操作,擁有單一周期吞吐量,但有2個(gè)周期時(shí)延。雖然IBM在性能上沒(méi)有提供任何有明確量值的好處,但就電信計(jì)費(fèi)基準(zhǔn)而言,與Java、C/C#或者匯編庫(kù)相比,BCD支持功能估計(jì)可以把性能分別提高7倍、4倍或者2倍。同樣, AltiVec執(zhí)行部件已添加到了POWER6上,不過(guò)PPC970及其他處理器里面的微架構(gòu)的這個(gè)部分有比較齊全的文檔說(shuō)明。
 
      注重可靠性、可用性及可服務(wù)性
 
      對(duì)IBM而言,可靠性、可用性及可服務(wù)性(RAS)必不可少。
  
      Power6使用了檢驗(yàn)點(diǎn)系統(tǒng)來(lái)保持正確性、從容地校正及容許故障。這就需要恢復(fù)部件、錯(cuò)誤記錄器和重啟動(dòng)機(jī)制。處理器狀態(tài)保存在恢復(fù)部件里面,用錯(cuò)誤校正編碼法(ECC)來(lái)保護(hù)。凡是會(huì)引起狀態(tài)變化的操作,譬如寄存器或者高速緩存寫(xiě)入操作,都會(huì)檢驗(yàn)奇偶性以及/或者ECC故障。如果出現(xiàn)可校正的錯(cuò)誤(或者未出現(xiàn)錯(cuò)誤),變化通常傳送到處理器狀態(tài)寄存器里面。不可校正的錯(cuò)誤,如陣列奇偶性或者控制故障,就會(huì)觸發(fā)記錄器,記錄錯(cuò)誤類(lèi)型,然后從已知的正確狀態(tài)重新開(kāi)始執(zhí)行。這時(shí)候,任何臨時(shí)錯(cuò)誤都會(huì)得到正確解決。一再出現(xiàn)的錯(cuò)誤會(huì)上報(bào),然后已知的正確狀態(tài)被傳送給另一個(gè)CPU,隨后該CPU開(kāi)始執(zhí)行。這可以透明地發(fā)現(xiàn)任何硬錯(cuò)誤,然后隔離到單一處理器,但進(jìn)一步的問(wèn)題可能需要軟件干預(yù)。除了這些注重MPU的改進(jìn)外,另外還有前面提到的可改進(jìn)RAS的系統(tǒng)改變。
 
      在管理方面,IBM也在改進(jìn)Power6里面的虛擬化功能。在某些產(chǎn)品中,一個(gè)處理器就能存放2到300個(gè)虛擬實(shí)例,不過(guò)從理論上來(lái)說(shuō)最多有可能使用1024個(gè)虛擬機(jī)。還添加了內(nèi)存分區(qū)和遷移功能,這縮短了用于修復(fù)的系統(tǒng)停運(yùn)時(shí)間。IBM還將為基于Power6的新系統(tǒng)提供Power Executive管理工具。Power Executive最近在英特爾的開(kāi)發(fā)者論壇上進(jìn)行了展示,這款管理工具用于處理評(píng)估功率、系統(tǒng)運(yùn)行狀態(tài),并使用該信息作出決策,譬如關(guān)閉不需要的風(fēng)扇或者限制功耗。
 
      IBM當(dāng)前在性能方面的領(lǐng)導(dǎo)地位會(huì)在2008年面臨重大挑戰(zhàn),屆時(shí)Sun采用大規(guī)模多線(xiàn)程技術(shù)的Rock處理器和英特爾備受期待的Tukwila處理品將雙雙問(wèn)世。IBM的路線(xiàn)圖目前包括Power6+,這大概是采用45納米的衍生產(chǎn)品。從IBM以往的做法來(lái)看,Power6+會(huì)在2008年下半年首次亮相。

分享到

多易

相關(guān)推薦