新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 業(yè)界動態(tài) > 多內(nèi)核芯片將在市場中大展雄風

多內(nèi)核芯片將在市場中大展雄風

——
作者: 時間:2007-11-16 來源:搜狐IT 收藏

  當前,多內(nèi)核和并行架構成為了行業(yè)的一個新熱點,過去微公司希望不斷提高時鐘頻率和提供越來越多的指令級并發(fā)率()來提高微的性能。

  但這意味著在性能提高的同時,伴隨而來的是越來越大的功耗和不斷上升的成本,讓這種方法讓芯片跑得更快很久以前就已經(jīng)開始得不償失。

  從1986年到2002年,微處理器性能每年提高52%,每18個月性能就翻一番。但到2006年,這一進步速度已下降到每年不足20%,因此今天微處理器性能翻番可能要花費5年時間。造成這一速度下降的具體原因有很多。最初,系統(tǒng)架構師不再能夠從技術中挖掘出更多的增益。他們最常采用的訣竅包括簡單指令的預提取,但他們現(xiàn)在已被非常復雜的技術(如執(zhí)行溢出和分支預測)所包圍。在許多情況下,增加的復雜性已超過了增加的性能。用任務級和命令級并行性代替已是獲得更多增益的唯一途徑。

  功率是單內(nèi)核處理器發(fā)展的等式已被改變的另一領域。在亞90納米工藝節(jié)點上,有效功率密度(已經(jīng)達到在核反應堆中發(fā)現(xiàn)的每平方厘米100W,并很快將上升到空間火箭噴嘴處發(fā)現(xiàn)的每平方厘米1000W)不是唯一的限制因素。由泄漏電流引起的靜態(tài)功耗現(xiàn)在可能已占到芯片總功耗的40%。

  目前業(yè)界大多數(shù)人都同意,多內(nèi)核是一個必然的發(fā)展方向:多內(nèi)核設計的主要挑戰(zhàn)已經(jīng)成功地被業(yè)界克服,實際開發(fā)大潮即將啟動。多內(nèi)核技術的發(fā)展背后有兩大主要推動力。第一大推動力是:‘真實世界是并行的’這一認知已經(jīng)變得很清晰。當然,臺式計算機經(jīng)常通過非??焖俚剞D換順序執(zhí)行的任務,讓用戶誤以為好幾件任務正在并行執(zhí)行。來自業(yè)界的顯而易見的要求是更高的性能,從而導致更多的內(nèi)核需要集成在一塊芯片上,而這將影響到現(xiàn)有的編程模式。

  多內(nèi)核和并行處理系統(tǒng)傳統(tǒng)上一直被認為是很難進行編程的,因為它要求專用工具和專家知識(‘唯一能夠對該芯片編程的人是設計該芯片的架構工程師’)。這確實是為什么多內(nèi)核處理器在歷史上一直不成功的主要原因。不過,今天的產(chǎn)品(如picoChip的多內(nèi)核DSP家族)可以利用基于標準的工具進行配置和編程,而且芯片設計師和編程人員可以很直觀地理解這些工具。

  但更加重要的是,當計算機科學家設法確定他們可用作通用構造塊來開發(fā)更復雜程序的原型功能時,他們幾乎總是發(fā)現(xiàn)這些構造塊在本質上是并行工作的。而且,電子應用市場增長最迅速的部分(例如多媒體處理和數(shù)據(jù)壓縮)正是這一并行性需求最顯著的地方。

  幫助設計師開發(fā)將這一應用需求和并行架構很自然地融合在一起的產(chǎn)品正是近年來已經(jīng)取得許多技術進步的領域之一。英特爾和AMD開發(fā)的‘主流’處理器正在朝松散耦合的雙內(nèi)核或四內(nèi)核處理器方向發(fā)展,這一架構允許在不大幅改變現(xiàn)有編程模式的情況下獲得一些性能增益(大約提高2倍和4倍)。

  目前已經(jīng)在市場中銷售的picoChip公司picoArray家族就是一種高效和方便的多內(nèi)核產(chǎn)品,它是一個含有幾百個不同種類處理器陣列的芯片,特別針對信號處理任務進行了優(yōu)化。每個任務在一對一原則上分配給處理器,每個任務的處理可采用標準C或匯編進行編程。芯片的性能與處理器的數(shù)量成線性關系,最為關鍵的是,普通工程師也可以很容易地以很高的效率對該芯片進行編程。

  picoArray在本質上允許快速和直觀地實現(xiàn)并行計算任務(如無線基帶處理和軟件無線電),它也允許設計師充分利用這一異質多內(nèi)核架構。與同質多內(nèi)核架構相比,異質多內(nèi)核架構可以提供更多的計算能力、更好的功耗特性和更小的硅片面積,業(yè)界很早就認可了異質多內(nèi)核架構的這些優(yōu)點,但一直缺乏直觀的實用的設計開發(fā)工具。

  除了不斷提高的可用性和業(yè)界對許多計算任務內(nèi)在并行本質的更多認可,多內(nèi)核技術的采用又增添了一個新的推動力。盡管時鐘頻率現(xiàn)在已達到3GHz,集成的晶體管數(shù)量也已達到幾億門,但在過去的5年里,業(yè)內(nèi)在單內(nèi)核處理器方面已經(jīng)完全失去了發(fā)展的動力。多內(nèi)核架構提供的解決方案能夠解決已導致這一現(xiàn)象的所有挑戰(zhàn)。

  像picoArray這樣的并行架構可在不止一個層面解決功率問題。首先,它們已被證明在本質上是執(zhí)行一個給定功能的高效能方法,尤其是如果它們是由多個不同的功能模塊構成,而且每個功能模塊又是根據(jù)特定的應用而設計。其次,一個緊湊的多內(nèi)核架構可以更自然地適應現(xiàn)代電源管理技術,如時鐘門控和局部電源關閉,即任何在其時沒有參與動態(tài)處理過程的器件可以暫時關閉電源。這一技術使得我們有可能更智能地處理動態(tài)功耗和由于現(xiàn)代制造工藝而引起的靜態(tài)泄漏電流問題。

  多內(nèi)核器件也有助于解決現(xiàn)代先進半導體工藝帶來的另一個問題,即器件正變得越來越不可靠。尤其在65nm和45nm節(jié)點,“合格-失敗”方法正讓位于統(tǒng)計性能評估方法。此外,采用這些工藝制造的器件更易于產(chǎn)生硬錯誤和軟錯誤。

  多內(nèi)核架構使這些器件可以更自然地采用冗余設計技術(有段時間常見于存儲器生產(chǎn)中),它允許關閉器件中超出規(guī)格或錯誤的部分。一家微處理器供應商已經(jīng)在銷售其一款芯片的4內(nèi)核、6內(nèi)核和8內(nèi)核版本,它們均基于一個8處理器設計。

  功耗和呈統(tǒng)計變化的性能也已經(jīng)對單內(nèi)核處理器系統(tǒng)的近期發(fā)展產(chǎn)生了間接的影響,因為它限制了芯片制造商通過增加的時鐘頻率來提高性能的能力。目前最高的3GHz時鐘頻率已經(jīng)被證明是處理器時鐘頻率的實際上限,而自1979年以來時鐘頻率一直是處理器制造商用于提高性能的實用方法。不過,并行架構維持了恢復連續(xù)工藝縮小的好處的承諾,因為它使得制造商能夠實現(xiàn)每一代工藝都使每個芯片上的標準內(nèi)核數(shù)量翻番的目標。

  當然,使這些附加的內(nèi)核做真正的工作是設計一個適當架構的問題,而這至少包括處理器之間通信架構和計算單元本身的設計。它們兩者均平等地取決于設計流程和編程工具,它必須在單一環(huán)境內(nèi)支持多種陣列大小。編程工具自動配置并行單元的低級別細節(jié)、自動為多個內(nèi)核分配相應任務和配置互連的能力是至關重要的。一個便于使用的多內(nèi)核設計環(huán)境如picoArray能夠使編程人員將精力集中在設計元素本身,而不是放在它們到底是如何實現(xiàn)的精確細節(jié)上。這與另一種并行結構器件FPGA正好相反,F(xiàn)PGA設計工程師必須處理時序收斂和行為綜合的細節(jié)。

  這些問題正與過去數(shù)年中在計算領域已發(fā)生的另一巨大變化捆綁在一起:大多數(shù)處理性能現(xiàn)在被它們轉移數(shù)據(jù)的能力而不是計算能力所限制。一次DRAM讀寫可能要花費200個時鐘周期,而一次浮點乘法經(jīng)常只需要4個時鐘周期就能實現(xiàn)。成本也不僅僅只用時間來衡量,使用本地寄存器的效率比讀寫全局存儲器高一個數(shù)量級,而這對能耗有限制的環(huán)境來說可能是一個關鍵。

  PicoArray是一個含有幾百個異質處理器和存儲單元(或‘內(nèi)核’)陣列的芯片,它專門針對信號處理任務而優(yōu)化。該陣列是異質的,這些不同種類的內(nèi)核分別適合不同的任務,但基本的構造模塊是一個16位的數(shù)字信號處理器。這是有意的,因為帶本地存儲器、乘加器和哈佛結構的16位處理器非常傳統(tǒng)和易于編程。多內(nèi)核架構的創(chuàng)新和力量是其互連交換結構和編程模式:每個單元都有一個獨特的已獲專利的互連經(jīng)由一個雙緩沖接口對它進行服務,系統(tǒng)架構設計師在軟件編譯時對它進行精確配置。

  多個獨立的任務在一對一基礎上分配給每個處理器,每個處理器的處理過程采用標準ANSI C或匯編語言進行編程。每個互連由工程師進行描述和配置,這就允許工程師根據(jù)特定應用的需求對通信進行優(yōu)化。

  在本質上,編程模式是一個方塊圖,每個方塊是自包含的,并通過明確定義的信號互連。理論范例是“順序通信”,但“適用于DSP的對象導向編程”是另一個描述,每個處理程序封裝在一個單獨的DSP內(nèi),它可在該DSP上獨立執(zhí)行,并僅按定義好的方式通過嚴格類型的鏈接與其它DSP進行通信。這使得開發(fā)過程可以更快,因為集成和驗證變得非常容易。

  因此,多內(nèi)核系統(tǒng)的設計師可以通過選擇正確的通信架構、實現(xiàn)本地和全局寄存器資源的正確平衡解決許多問題。一個高效的通信交換結構甚至能夠通過內(nèi)核之間的直接數(shù)據(jù)傳輸取代存儲器讀寫。

  有些架構的關鍵瓶頸之一已經(jīng)是互連帶寬,或更準確地說是信號流的允許復雜度。例如,一些架構使用“NEWS”或“最近的鄰居”連接,這很快就限制了處理器的使用。而在picoArray架構下,每個陣列包括一個32位通信鏈接的正方形網(wǎng)孔,它在水平和垂直線交匯處采用了開關矩陣單元。每個執(zhí)行單元都有到網(wǎng)孔的多端口通道。通過在編譯時定義開關矩陣的狀態(tài),網(wǎng)孔可配置成允許各單元之間進行任何通信,包括多路結構如扇出和扇入。

  這一方法可在各單元之間提供專有的確定性通信,每個單元被視為運行獨立的處理程序。由于這些單元的行為表現(xiàn)像“提供者和消費者”,即自動處于等待狀態(tài)直到它們遇到請求時某個結果變成有效,從編程的角度來看,它們就可被當作異步功能調(diào)用。此時不需要任何形式的總線仲裁,從而可在硅片面積和程序執(zhí)行速度兩方面降低通信開銷。

  這一通信資源和設計基礎架構的結合意味著,任務可以模塊化方式進行編程、驗證和調(diào)試,因為我們認識到,盡管系統(tǒng)是集成的,但其各個組成部分將繼續(xù)與它們被單獨驗證時一樣工作(亦即“你仿真的就是你所得到的”)。這些相同的特性意味著,picoArray架構隨著處理單元數(shù)量的增加,可提供絕對線性性能改善:隨著半導體工藝一代一代地向前發(fā)展,這一架構可有效地替代傳統(tǒng)的時鐘頻率路線。

  多內(nèi)核架構被呼吁解決的最終問題是一個人性化問題。許多年來,芯片已變得如此巨大以致于設計工程師不可能再從頭開始理解它們,并設計或使用它們。所以設計師和編程人員已經(jīng)要依靠越來越高的抽象級來幫助理解。

  但在65nm節(jié)點及以下,這也已經(jīng)變得不可能。信號完整性、時鐘抖動和許多其它小范圍約束已經(jīng)變成很突出的問題,并已使得設計工程師發(fā)現(xiàn)不可能再從頭開始或基于上一代產(chǎn)品的抽象描述設計新的大型芯片。不過,多內(nèi)核架構提供了一種新的抽象模型,它允許設計工程師充分利用90nm以下芯片提供的數(shù)量龐大的晶體管。而且,就像我們已經(jīng)看到的那樣,當我們設計更小的子單元時,只要該設計隨后能借助一個精心設計的通信基礎架構‘擴大’,設計、驗證和確認都可能變得更容易。

  結論

  自Jack Kilby和Bob Noyce分別在上世紀50年代后期提出硅平面工藝以來,半導體工業(yè)一直在“更小和更快”的鼓聲中前進。但到了今天,傳統(tǒng)的推動力量(片上更多的晶體管和更高的時鐘速度)已經(jīng)用盡了?,F(xiàn)在設計師需要開始考慮“更智能”,即便它意味著要超過人類幾十年來積累的智慧。隨著象picoArray這樣的帶幾百個內(nèi)核的產(chǎn)品進入批量生產(chǎn)階段,以及它可被工程師采用在主流應用(如3G和WiMAX基帶)處理中獲得廣泛應用的標準工具輕松進行編程,多內(nèi)核架構在今天和未來的這一新工業(yè)秩序中看來將必然起一個關鍵的作用。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關推薦

技術專區(qū)

關閉