• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 利用高效的編程技術發揮多內核架構優勢

    利用高效的編程技術發揮多內核架構優勢

    作者: 時間:2014-01-07 來源:網絡 收藏

    TI的OMAP 44xx平臺整合了ARM Cortex-A9、PowerVR SGX 540 GPU、C64x DSP和圖像信號處理器。每個內核有專門的功能,處理器之間的通信不是對稱的。OMAP只工作在AMP模式,而P4080的內核是系統,但也能夠將內核劃分為AMP模式。8內核芯片可以像8個獨立內核那樣運行,在許多配置中也可以聯合起來使用(如一對雙內核子系統,或四個單內核子系統)。

    OMAP和P4080在高層架構的主要區別是OMAP功能是固定的,內核針對各自的事務做了優化。這將使編程容易得多,因為可以根據匹配功能將應用程序劃分到特定內核。

    每個子系統的性能水平受架構的限制,但P4080可以調整劃分方案,雖然劃分通常是在系統啟動時完成的。系統設計師可以調整P4080中內核的分配,前提是有足夠多的內核。市場上也有內核數量較少的QorIQ平臺,因此可以選用更經濟的芯片。

    IBM的Cell處理器填補了中間的空白。它采用了1個64位的Power內核和8個增效處理單元(SPE)。所有SPE都是相同的(每個有256KB的內存),它們工作在隔離狀態,這與上述討論的共享內存系統有所不同。SPE內沒有緩存,也不支持虛擬內存。

    對軟硬件設計來說,這種方式既有優點又有缺點。優點為是簡化了硬件實現,但從多個角度看都使軟件復雜化了。例如,內存管理受應用程序控制,就像內核間的通信一樣。數據在能夠操作之前必須要移進SPE的本地內存。完全開發Cell這樣的架構很花時間,因為它們有別于更傳統的SMP或AMP平臺。多年來在像索尼的PlayStation 3這樣的基于Cell的平臺上所作的軟件改進突顯了和經驗的變化。

    GPU等專用處理器

    改變是使用圖形處理單元(GPU)是否成功的關健。來自ATI和Nvidia等公司的GPU在單個芯片內有上百個內核,這些GPU可以被整合進多芯片解決方案,向開發人員提供上千個內核。例如,集成進1U機箱的4個Nvidia Tesla T10就可以提供960個內核(圖4)。
    利用高效的編程技術發揮多內核架構優勢

    對Tesla或其它任何兼容的Nvidia GPU芯片進行編程都極具挑戰性,但類似Nvidia的CUDA這樣的架構或基于CUDA的運行時利用可以使工作變得更加輕松。部分挑戰來自于Nvidia GPU的單指令、多線程(SIMT)架構。與許多高性能系統一樣,這種GPU喜歡處理數組數據。對許多應用來說這是不錯的選擇,但并非都是這樣,這正是GPU經常要與多內核CPU匹配的原因之一。

    另一種并行編程架構,CUDA和OpenCL(開放計算語言),則完全匹配GPU方法(使用與主處理器分開的存儲器)。這意味著數據在能被操作之前必須從一個地方移動到另一個地方。C編程語言有一定擴展,但也有限制。例如,它是自由遞歸的,不支持函數指針。其中一些限制源自SIMT方法。

    許多應用程序使用CUDA,但與傳統SMP平臺相比,性能增益有很大的變化,從2倍到100倍不等。造成這種變化的原因是,線程以32為組運行時的效率最高。分支不影響性能,前提是32線程組在同一分支內。

    像GPU這樣的專用處理器,其采用的方案是同時提供圖形和多內核處理。另外一種方案是使用許多傳統內核,如Intel的Larrabee(圖5)。Larrabee使用專門針對矢量處理優化過的x86兼容內核。
    利用高效的編程技術發揮多內核架構優勢



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 塔城市| 大邑县| 叶城县| 嵊泗县| 二连浩特市| 黎城县| 溆浦县| 海伦市| 抚州市| 青岛市| 迁安市| 仪征市| 吉林省| 大洼县| 珠海市| 西青区| 井陉县| 富裕县| 城步| 临泉县| 江门市| 上杭县| 孟村| 息烽县| 云林县| 武冈市| 邛崃市| 集贤县| 昌宁县| 海盐县| 崇礼县| 青浦区| 新密市| 阳江市| 博湖县| 乌什县| 无为县| 桐庐县| 当涂县| 芜湖县| 辽宁省|