多內(nèi)核芯片將在市場中大展雄風(fēng)
當(dāng)前,多內(nèi)核處理器和并行架構(gòu)成為了行業(yè)的一個新熱點,過去微處理器公司希望不斷提高時鐘頻率和提供越來越多的指令級并發(fā)率(ILP)來提高微處理器的性能。
但這意味著在性能提高的同時,伴隨而來的是越來越大的功耗和不斷上升的成本,讓這種方法讓芯片跑得更快很久以前就已經(jīng)開始得不償失。
從1986年到2002年,微處理器性能每年提高52%,每18個月性能就翻一番。但到2006年,這一進步速度已下降到每年不足20%,因此今天微處理器性能翻番可能要花費5年時間。造成這一速度下降的具體原因有很多。最初,系統(tǒng)架構(gòu)師不再能夠從ILP技術(shù)中挖掘出更多的增益。他們最常采用的訣竅包括簡單指令的預(yù)提取,但他們現(xiàn)在已被非常復(fù)雜的技術(shù)(如執(zhí)行溢出和分支預(yù)測)所包圍。在許多情況下,增加的復(fù)雜性已超過了增加的性能。用任務(wù)級和命令級并行性代替ILP已是獲得更多增益的唯一途徑。
功率是單內(nèi)核處理器發(fā)展的等式已被改變的另一領(lǐng)域。在亞90納米工藝節(jié)點上,有效功率密度(已經(jīng)達到在核反應(yīng)堆中發(fā)現(xiàn)的每平方厘米100W,并很快將上升到空間火箭噴嘴處發(fā)現(xiàn)的每平方厘米1000W)不是唯一的限制因素。由泄漏電流引起的靜態(tài)功耗現(xiàn)在可能已占到芯片總功耗的40%。
目前業(yè)界大多數(shù)人都同意,多內(nèi)核是一個必然的發(fā)展方向:多內(nèi)核設(shè)計的主要挑戰(zhàn)已經(jīng)成功地被業(yè)界克服,實際開發(fā)大潮即將啟動。多內(nèi)核技術(shù)的發(fā)展背后有兩大主要推動力。第一大推動力是:‘真實世界是并行的’這一認(rèn)知已經(jīng)變得很清晰。當(dāng)然,臺式計算機經(jīng)常通過非??焖俚剞D(zhuǎn)換順序執(zhí)行的任務(wù),讓用戶誤以為好幾件任務(wù)正在并行執(zhí)行。來自業(yè)界的顯而易見的要求是更高的性能,從而導(dǎo)致更多的內(nèi)核需要集成在一塊芯片上,而這將影響到現(xiàn)有的編程模式。
多內(nèi)核和并行處理系統(tǒng)傳統(tǒng)上一直被認(rèn)為是很難進行編程的,因為它要求專用工具和專家知識(‘唯一能夠?qū)υ撔酒幊痰娜耸窃O(shè)計該芯片的架構(gòu)工程師’)。這確實是為什么多內(nèi)核處理器在歷史上一直不成功的主要原因。不過,今天的產(chǎn)品(如picoChip的多內(nèi)核DSP家族)可以利用基于標(biāo)準(zhǔn)的工具進行配置和編程,而且芯片設(shè)計師和編程人員可以很直觀地理解這些工具。
但更加重要的是,當(dāng)計算機科學(xué)家設(shè)法確定他們可用作通用構(gòu)造塊來開發(fā)更復(fù)雜程序的原型功能時,他們幾乎總是發(fā)現(xiàn)這些構(gòu)造塊在本質(zhì)上是并行工作的。而且,電子應(yīng)用市場增長最迅速的部分(例如多媒體處理和數(shù)據(jù)壓縮)正是這一并行性需求最顯著的地方。
幫助設(shè)計師開發(fā)將這一應(yīng)用需求和并行架構(gòu)很自然地融合在一起的產(chǎn)品正是近年來已經(jīng)取得許多技術(shù)進步的領(lǐng)域之一。英特爾和AMD開發(fā)的‘主流’處理器正在朝松散耦合的雙內(nèi)核或四內(nèi)核處理器方向發(fā)展,這一架構(gòu)允許在不大幅改變現(xiàn)有編程模式的情況下獲得一些性能增益(大約提高2倍和4倍)。
目前已經(jīng)在市場中銷售的picoChip公司picoArray家族就是一種高效和方便的多內(nèi)核產(chǎn)品,它是一個含有幾百個不同種類處理器陣列的芯片,特別針對信號處理任務(wù)進行了優(yōu)化。每個任務(wù)在一對一原則上分配給處理器,每個任務(wù)的處理可采用標(biāo)準(zhǔn)C或匯編進行編程。芯片的性能與處理器的數(shù)量成線性關(guān)系,最為關(guān)鍵的是,普通工程師也可以很容易地以很高的效率對該芯片進行編程。
picoArray在本質(zhì)上允許快速和直觀地實現(xiàn)并行計算任務(wù)(如無線基帶處理和軟件無線電),它也允許設(shè)計師充分利用這一異質(zhì)多內(nèi)核架構(gòu)。與同質(zhì)多內(nèi)核架構(gòu)相比,異質(zhì)多內(nèi)核架構(gòu)可以提供更多的計算能力、更好的功耗特性和更小的硅片面積,業(yè)界很早就認(rèn)可了異質(zhì)多內(nèi)核架構(gòu)的這些優(yōu)點,但一直缺乏直觀的實用的設(shè)計開發(fā)工具。
除了不斷提高的可用性和業(yè)界對許多計算任務(wù)內(nèi)在并行本質(zhì)的更多認(rèn)可,多內(nèi)核技術(shù)的采用又增添了一個新的推動力。盡管時鐘頻率現(xiàn)在已達到3GHz,集成的晶體管數(shù)量也已達到幾億門,但在過去的5年里,業(yè)內(nèi)在單內(nèi)核處理器方面已經(jīng)完全失去了發(fā)展的動力。多內(nèi)核架構(gòu)提供的解決方案能夠解決已導(dǎo)致這一現(xiàn)象的所有挑戰(zhàn)。
像picoArray這樣的并行架構(gòu)可在不止一個層面解決功率問題。首先,它們已被證明在本質(zhì)上是執(zhí)行一個給定功能的高效能方法,尤其是如果它們是由多個不同的功能模塊構(gòu)成,而且每個功能模塊又是根據(jù)特定的應(yīng)用而設(shè)計。其次,一個緊湊的多內(nèi)核架構(gòu)可以更自然地適應(yīng)現(xiàn)代電源管理技術(shù),如時鐘門控和局部電源關(guān)閉,即任何在其時沒有參與動態(tài)處理過程的器件可以暫時關(guān)閉電源。這一技術(shù)使得我們有可能更智能地處理動態(tài)功耗和由于現(xiàn)代制造工藝而引起的靜態(tài)泄漏電流問題。
多內(nèi)核器件也有助于解決現(xiàn)代先進半導(dǎo)體工藝帶來的另一個問題,即器件正變得越來越不可靠。尤其在65nm和45nm節(jié)點,“合格-失敗”方法正讓位于統(tǒng)計性能評估方法。此外,采用這些工藝制造的器件更易于產(chǎn)生硬錯誤和軟錯誤。
多內(nèi)核架構(gòu)使這些器件可以更自然地采用冗余設(shè)計技術(shù)(有段時間常見于存儲器生產(chǎn)中),它允許關(guān)閉器件中超出規(guī)格或錯誤的部分。一家微處理器供應(yīng)商已經(jīng)在銷售其一款芯片的4內(nèi)核、6內(nèi)核和8內(nèi)核版本,它們均基于一個8處理器設(shè)計。
功耗和呈統(tǒng)計變化的性能也已經(jīng)對單內(nèi)核處理器系統(tǒng)的近期發(fā)展產(chǎn)生了間接的影響,因為它限制了芯片制造商通過增加的時鐘頻率來提高性能的能力。目前最高的3GHz時鐘頻率已經(jīng)被證明是處理器時鐘頻率的實際上限,而自1979年以來時鐘頻率一直是處理器制造商用于提高性能的實用方法。不過,并行架構(gòu)維持了恢復(fù)連續(xù)工藝縮小的好處的承諾,因為它使得制造商能夠?qū)崿F(xiàn)每一代工藝都使每個芯片上的標(biāo)準(zhǔn)內(nèi)核數(shù)量翻番的目標(biāo)。
當(dāng)然,使這些附加的內(nèi)核做真正的工作是設(shè)計一個適當(dāng)架構(gòu)的問題,而這至少包括處理器之間通信架構(gòu)和計算單元本身的設(shè)計。它們兩者均平等地取決于設(shè)計流程和編程工具,它必須在單一環(huán)境內(nèi)支持多種陣列大小。編程工具自動配置并行單元的低級別細(xì)節(jié)、自動為多個內(nèi)核分配相應(yīng)任務(wù)和配置互連的能力是至關(guān)重要的。一個便于使用的多內(nèi)核設(shè)計環(huán)境如picoArray能夠使編程人員將精力集中在設(shè)計元素本身,而不是放在它們到底是如何實現(xiàn)的精確細(xì)節(jié)上。這與另一種并行結(jié)構(gòu)器件FPGA正好相反,F(xiàn)PGA設(shè)計工程師必須處理時序收斂和行為綜合的細(xì)節(jié)。
這些問題正與過去數(shù)年中在計算領(lǐng)域已發(fā)生的另一巨大變化捆綁在一起:大多數(shù)處理性能現(xiàn)在被它們轉(zhuǎn)移數(shù)據(jù)的能力而不是計算能力所限制。一次DRAM讀寫可能要花費200個時鐘周期,而一次浮點乘法經(jīng)常只需要4個時鐘周期就能實現(xiàn)。成本也不僅僅只用時間來衡量,使用本地寄存器的效率比讀寫全局存儲器高一個數(shù)量級,而這對能耗有限制的環(huán)境來說可能是一個關(guān)鍵。
PicoArray是一個含有幾百個異質(zhì)處理器和存儲單元(或‘內(nèi)核’)陣列的芯片,它專門針對信號處理任務(wù)而優(yōu)化。該陣列是異質(zhì)的,這些不同種類的內(nèi)核分別適合不同的任務(wù),但基本的構(gòu)造模塊是一個16位的數(shù)字信號處理器。這是有意的,因為帶本地存儲器、乘加器和哈佛結(jié)構(gòu)的16位處理器非常傳統(tǒng)和易于編程。多內(nèi)核架構(gòu)的創(chuàng)新和力量是其互連交換結(jié)構(gòu)和編程模式:每個單元都有一個獨特的已獲專利的互連經(jīng)由一個雙緩沖接口對它進行服務(wù),系統(tǒng)架構(gòu)設(shè)計師在軟件編譯時對它進行精確配置。
多個獨立的任務(wù)在一對一基礎(chǔ)上分配給每個處理器,每個處理器的處理過程采用標(biāo)準(zhǔn)ANSI C或匯編語言進行編程。每個互連由工程師進行描述和配置,這就允許工程師根據(jù)特定應(yīng)用的需求對通信進行優(yōu)化。
在本質(zhì)上,編程模式是一個方塊圖,每個方塊是自包含的,并通過明確定義的信號互連。理論范例是“順序通信”,但“適用于DSP的對象導(dǎo)向編程”是另一個描述,每個處理程序封裝在一個單獨的DSP內(nèi),它可在該DSP上獨立執(zhí)行,并僅按定義好的方式通過嚴(yán)格類型的鏈接與其它DSP進行通信。這使得開發(fā)過程可以更快,因為集成和驗證變得非常容易。
因此,多內(nèi)核系統(tǒng)的設(shè)計師可以通過選擇正確的通信架構(gòu)、實現(xiàn)本地和全局寄存器資源的正確平衡解決許多問題。一個高效的通信交換結(jié)構(gòu)甚至能夠通過內(nèi)核之間的直接數(shù)據(jù)傳輸取代存儲器讀寫。
有些架構(gòu)的關(guān)鍵瓶頸之一已經(jīng)是互連帶寬,或更準(zhǔn)確地說是信號流的允許復(fù)雜度。例如,一些架構(gòu)使用“NEWS”或“最近的鄰居”連接,這很快就限制了處理器的使用。而在picoArray架構(gòu)下,每個陣列包括一個32位通信鏈接的正方形網(wǎng)孔,它在水平和垂直線交匯處采用了開關(guān)矩陣單元。每個執(zhí)行單元都有到網(wǎng)孔的多端口通道。通過在編譯時定義開關(guān)矩陣的狀態(tài),網(wǎng)孔可配置成允許各單元之間進行任何通信,包括多路結(jié)構(gòu)如扇出和扇入。
這一方法可在各單元之間提供專有的確定性通信,每個單元被視為運行獨立的處理程序。由于這些單元的行為表現(xiàn)像“提供者和消費者”,即自動處于等待狀態(tài)直到它們遇到請求時某個結(jié)果變成有效,從編程的角度來看,它們就可被當(dāng)作異步功能調(diào)用。此時不需要任何形式的總線仲裁,從而可在硅片面積和程序執(zhí)行速度兩方面降低通信開銷。
這一通信資源和設(shè)計基礎(chǔ)架構(gòu)的結(jié)合意味著,任務(wù)可以模塊化方式進行編程、驗證和調(diào)試,因為我們認(rèn)識到,盡管系統(tǒng)是集成的,但其各個組成部分將繼續(xù)與它們被單獨驗證時一樣工作(亦即“你仿真的就是你所得到的”)。這些相同的特性意味著,picoArray架構(gòu)隨著處理單元數(shù)量的增加,可提供絕對線性性能改善:隨著半導(dǎo)體工藝一代一代地向前發(fā)展,這一架構(gòu)可有效地替代傳統(tǒng)的時鐘頻率路線。
多內(nèi)核架構(gòu)被呼吁解決的最終問題是一個人性化問題。許多年來,芯片已變得如此巨大以致于設(shè)計工程師不可能再從頭開始理解它們,并設(shè)計或使用它們。所以設(shè)計師和編程人員已經(jīng)要依靠越來越高的抽象級來幫助理解。
但在65nm節(jié)點及以下,這也已經(jīng)變得不可能。信號完整性、時鐘抖動和許多其它小范圍約束已經(jīng)變成很突出的問題,并已使得設(shè)計工程師發(fā)現(xiàn)不可能再從頭開始或基于上一代產(chǎn)品的抽象描述設(shè)計新的大型芯片。不過,多內(nèi)核架構(gòu)提供了一種新的抽象模型,它允許設(shè)計工程師充分利用90nm以下芯片提供的數(shù)量龐大的晶體管。而且,就像我們已經(jīng)看到的那樣,當(dāng)我們設(shè)計更小的子單元時,只要該設(shè)計隨后能借助一個精心設(shè)計的通信基礎(chǔ)架構(gòu)‘?dāng)U大’,設(shè)計、驗證和確認(rèn)都可能變得更容易。
結(jié)論
自Jack Kilby和Bob Noyce分別在上世紀(jì)50年代后期提出硅平面工藝以來,半導(dǎo)體工業(yè)一直在“更小和更快”的鼓聲中前進。但到了今天,傳統(tǒng)的推動力量(片上更多的晶體管和更高的時鐘速度)已經(jīng)用盡了。現(xiàn)在設(shè)計師需要開始考慮“更智能”,即便它意味著要超過人類幾十年來積累的智慧。隨著象picoArray這樣的帶幾百個內(nèi)核的產(chǎn)品進入批量生產(chǎn)階段,以及它可被工程師采用在主流應(yīng)用(如3G和WiMAX基帶)處理中獲得廣泛應(yīng)用的標(biāo)準(zhǔn)工具輕松進行編程,多內(nèi)核架構(gòu)在今天和未來的這一新工業(yè)秩序中看來將必然起一個關(guān)鍵的作用。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論