新聞中心

        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兼容內核。
        利用高效的編程技術發揮多內核架構優勢



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 桃源县| 辉南县| 乐清市| 林州市| 安徽省| 绍兴市| 宁陵县| 海阳市| 靖江市| 东辽县| 平遥县| 府谷县| 南宁市| 五台县| 龙陵县| 友谊县| 行唐县| 虞城县| 大城县| 麻城市| 曲阳县| 江西省| 新竹县| 吉林省| 蒙山县| 雷波县| 阳泉市| 衡南县| 醴陵市| 山丹县| 蓬溪县| 湄潭县| 合水县| 罗甸县| 凤庆县| 绥宁县| 万载县| 龙南县| 土默特左旗| 门源| 咸阳市|