<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 多核設計將在消費電子領域大行其道

          多核設計將在消費電子領域大行其道

          作者: 時間:2016-09-12 來源:網絡 收藏

          Patrick Madden在“多核處理器前途未卜(Multi-core processors face uncertain future)”一文中關于多核芯片的討論焦點集中于單個的通用處理器架構上,實際上這種觀點對使用多處理器來解決系統(tǒng)架構問題作出了不必要的限制。正如 Madden所言,大型半導體和服務器處理器供應商可以提供多核的對稱多處理器,每個對稱多處理器都可以運行并行的多線程軟件程序。這些多核處理器常在運行基于SAMD(single application multiple data)模型應用的大型服務器和筆記本電腦中。SAMD應用可回溯至早期的大型機時代,當時計算機專注于航班預定系統(tǒng)和實時銀行系統(tǒng)等實時應用。

          本文引用地址:http://www.ex-cimer.com/article/201609/304755.htm

          當前,嵌入式設計中對稱多處理器(SMP)架構的應用引起了業(yè)界極大的關注。實際上,很少應用是同時并行(embarrassingly parallel)的。就像Madden提及,圖像和多媒體處理是同時并行的,但是這些應用已經有專用的多媒體芯片處理了,例如IBM的Cell處理器和 ATI/Nvidia的圖形處理器。因此,包括Madden在內的很多專家都認為,對稱多處理器上的并行應用已經被局限在一個很小的范圍之內。

          軟件工程師不習慣并行地考慮問題

          在Madden的文章中,大多關于對稱多處理器的討論都會談到開發(fā)工具的問題。實際應用中,依靠軟件工具把一個巨大的單線程應用程序自動分配給多個處理器運行是不大可能的。類似于Verilog這樣的硬件描述語言可以很容易地表達并行操作,而像C這樣的軟件語言更適用于單線程算法的實現(xiàn)。為了讓C語言更適用于并行編程,人們做了很多改進嘗試,比如Concurrent C、UPC、mpC、pC等。它們有些通過特殊的庫,有些通過并行的API來實現(xiàn)并行進程的顯式標識和進程間的通信,例如Madden的文章中提到的 MPI和OpenMP技術。

          還有些研究人員試圖用全新的整合了并行編程結構的軟件開發(fā)語言來替代C語言。但是業(yè)界對這些新的編程語言并不認可(例如,Ada語言和Inmos公司的 Occam語言均以失敗告終)。我們已經習慣于單任務的算法描述,對大多數程序員來說,思考并行程序或多線程操作都相當困難。然而,跳出SMP的限制來擴展處理器架構,我們發(fā)現(xiàn)至少有兩種利用異構而非同構的并行方式。使用該兩種便捷并行(convenient concurrency)方式能充分地將軟件開發(fā)人員從并行工作的思考中釋放出來,因為不同的并行任務間的聯(lián)系并非十分緊密。

          圖1:超級3G移動電話原理圖

          圖1:超級3G移動電話原理圖

          第一種方式

          你可以稱這種并行為“組合并行”,因為這種并行操作將不同的子系統(tǒng)組合在一起,而每個子系統(tǒng)中都包含一個或多個針對特定任務優(yōu)化過的處理器。在這種架構設計中,結構化的子系統(tǒng)間的通信只在需要時才相互影響。圖1所示的超級3G移動電話系統(tǒng)體現(xiàn)了該思想。圖中共有18個獨立的處理模塊(灰色表示部分),每個模塊都有清晰的功能定義,因此很容易將整個系統(tǒng)功能劃分開來用18個處理器完成設計(考慮到子任務處理的話,可能需要更多處理器)。

          一些人對這種架構設計提出批評,因為處理器和門電路的效率看上去并不是很高,至少在理論上只需用幾個高時鐘頻率的通用處理器(或者是SMP多核處理器)就可以替代10個、20個或更多的處理器核。實際上這些批評并不恰當,摩爾定律繼續(xù)促使在一片芯片上可以集成更多的晶體管,而Denard經典尺度則提供速度更快、功耗更低的晶體管,但是從90nm開始,Denard理論無法繼續(xù)提供更快的速度和更低的功耗了。在90nm節(jié)點上,功耗和能耗變得很難控制,而且隨著工藝的提高問題將更嚴重。所以嵌入式系統(tǒng)的設計人員從現(xiàn)在開始就必須接受降低系統(tǒng)時鐘頻率以滿足預期功耗和能耗指標的設計風格。

          組合并行設計具有很多優(yōu)點

          * 將運算任務分配給幾個片上處理器來運行是典型的增加晶體管數量換取低主頻以降低功耗和能耗的方法。這是一種很好的工程折衷,由于時鐘速度和內核工作電壓之間的緊密關系,時鐘頻率的提高將使功耗呈超線性增長。此外,較低時鐘速度的處理器不必采用最新的制程工藝。相同光刻節(jié)點情況下,采用速度較慢的低功耗制程的靜態(tài)漏電流水平比采用高性能制程的漏電流水平小三個數量級。

          * 當不需用到某個專用子系統(tǒng)時,可以切斷其電源供應。因此,設計人員可以很容易地確定何時使用或不使用這些專用子系統(tǒng)。

          * ASIP可以比通用處理器具備更高效的利用面積和功耗,而用作組合并行系統(tǒng)中的任務處理器。由于所使用的通用處理器核很少,也相應地減少了晶體管的數量。組合并行的設計避免了與SMP硬件設計和多線程代碼相關聯(lián)的子系統(tǒng)所需的復雜交互與同步。一個四內核的SMP系統(tǒng)帶有音頻、視頻和照相功能,在運行其他任務時仍不會撤消911緊急電話,因此通常需要進行大量的仿真與分析。而高層實現(xiàn)交互的獨立子系統(tǒng)能很容易地進行單獨和組合的驗證操作?;赟ystemC 的系統(tǒng)仿真工具已經可以方便地對組合并行的系統(tǒng)設計進行仿真。不同的子系統(tǒng)可以用C語言來描述,并分別進行驗證,然后利用指令集仿真器對整個系統(tǒng)進行仿真,這比進行RTL仿真快幾百甚至上千倍。值得注意的是,C語言已經為嵌入式程序員廣泛接受并采用,因此軟件工程師無需學習新的語言。

          第二種方式

          計算通常可以劃分為由獨立任務引擎構成的流水線,因此便捷并行的第二種方式就是流水式數據流。各個流水式任務引擎都接收、處理并輸出數據塊,一旦處理任務完成后,數據塊就被送到下一級引擎。非對稱多處理算法常常出現(xiàn)在信號處理和圖像處理應用上,諸如移動電話的基帶處理、視頻處理和靜態(tài)圖像處理等。流水線不但允許并行處理,而且還允許執(zhí)行基于ASIP的應用,因為流水線中的每一個處理器都能高度集中于執(zhí)行某一部分的任務。

          上述兩種便捷并行是互補的。因此,各個子系統(tǒng)的非對稱多處理能和流水式設計的組合子系統(tǒng)進行融合。消費類、便攜式和多媒體應用產品可能需要10到100個處理器,而這些處理器都將針對產品功能的特定任務進行優(yōu)化。對基于非對稱多處理器的應用進行編程要比基于對稱多處理器的容易得多,因為不必考慮太多的交互任務依賴關系。經驗表明通過這種方式能更清晰地編寫軟件,而且可以避免在同構多處理器上運行多線程應用所帶來的大量優(yōu)化問題。


          上一頁 1 2 下一頁

          關鍵詞:

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();