監(jiān)理公司管理系統 | 工程企業(yè)管理系統 | OA系統 | ERP系統 | 造價咨詢管理系統 | 工程設計管理系統 | 簽約案例 | 購買價格 | 在線試用 | 手機APP | 產品資料
X 關閉
長春OA行業(yè)資訊

當前位置:工程項目OA系統 > 泛普各地 > 吉林OA系統 > 長春OA系統 > 長春OA行業(yè)資訊

單芯片同步多處理技術 處理器的下一步

申請免費試用、咨詢電話:400-8352-114

文章來源:泛普軟件

數據平行算法

在指定的建置技術下,要將個別處理器性能發(fā)揮到極限非但不容易,也沒有效率。更快的頻率、更深的管線和更大的緩沖存儲器會占用更大的芯片面積同時增加功耗成本,削弱了原本可提升10%性能的效益。有時候在沒有選擇的情況下,不得不將頻率速度提高并將電源和冷卻子系統升級;倘若使用將負載劃分到多個處理器的方式,不但可以增加最大整體性能限制,亦可簡化處理器設計使其更有效率。

目前有許多系統級芯片(SoC)設計利用多處理器的優(yōu)勢,但它們均針對特定應用或采用松散耦合方式。直到最近,針對軟件多處理方案的SoC設計選項依然受到限制。但MIPS32 1004K同步處理系統(CPS) SoC組件的推出,意味著可在單一操作系統環(huán)境下實現芯片上對稱式多重處理(SMP)。

雖然平行編程很容易讓軟件工程師理解,但并非所有現今的程序代碼都是針對平行處理平臺所編寫,業(yè)界已有許多針對平行軟件的范例,其中有一些對軟件設計人員來說也相當熟悉。

數據平行算法

數據平行算法(Data-parallel algorithm)將數據組劃分到多處理器,甚至到若干個CPU中。在教科書中,可將大型數據組看作一個大量輸入文件或數據數組;但在嵌入式系統中,它可能意味著高I/O和事件服務頻寬。在某些SoC架構中,多個輸入數據來源(如網絡接口端口)可以被靜態(tài)地分配到針對自然平行數據、執(zhí)行相同驅動程序/路由程序代碼的多個處理器中。

當在單一數據數組或輸入流中利用多處理器性能時,用于分割并管理數據的平行算法就很常見。這種算法對于單處理器來說通常不是最理想的,但由于具備了更靈活的頻寬運算特性,因此可提供效率補償。這些針對平行運算算法均具備靈活性,但要是將一個工作程序轉換成一個平行數據算法也許不具任何意義,甚至是相當困難或是不可能實現的,而這完全取決于程序相依性這類因素。如果絕大部分的應用程序運算都僅采用很少的常規(guī)運算循環(huán)來實現,那么,為提高性能,系統設計師也許要明確地建置數據平行算法。

隨著用于PC、工作站和服務器的多核心X86芯片問世,新的數據庫和工具套件應運而生,使得平行算法得以輕易地在少量的處理器上實現。許多用于嵌入式架構的數據庫和工具套件都是開放且可攜的,如MIPS為GCC所做的C/C++以及Fortran擴展,也正逐漸成為標準GNU編譯器的一部分。

平行控制編程

平行控制編程(Control-parallel programming)并非根據輸入,而是根據任務分割工作。若將一個以100人制造一臺汽車為單位的汽車制造工廠比喻為一個100信道平行數據算法,并將平行控制程序比喻為一個具有100人的組裝線工作站,各工作站負責百分之一的工作量,通常組裝線的效率會比較高,但組裝一臺車的工作量就只有這么多,這樣的限制在科學程序代碼擴充到幾千個處理器時非常顯著,然而對于平行SoC架構而言這并不是個問題。

軟件工程師通常將程序劃分成若干個階段以易于編碼、除錯和維護,并減少指令內存和快取的工作量。通常,平行控制分解早已設在可見的操作系統(OS)任務層。在類似于Unix的系統中,單一命令‘cc’會依序呼叫C語言前置處理器、編譯器、組譯器和連結程序。它們之中的幾個可以同時執(zhí)行,每個連續(xù)程序利用前一個階段的輸出作為輸入,在類似于Unix這樣的OS內使用檔案或軟件管線。

當獨立分解的執(zhí)行任務尚未完成時,需進行一些軟件工程,使應用程序在OS和底層硬件上是可見的,并能在任務間明確地傳遞數據。但是不應該需要對階段算法進行重寫。粗粒度的任務分解可透過檔案、網絡應用程序(socket)或管線的進程通訊來實現。而針對細粒度的控制,如Posix執(zhí)行緒API——pthreads,可由許多OS支持,包括Linux、Windows以及許多實時操作系統。

復雜的、模塊化的多任務嵌入式軟件系統時常會展現出意外的同步。整體系統任務很可能涉及到對應不同輸入的不同責任等多項任務。若沒有一個時間共享的OS,各任務就必須在個別處理器上執(zhí)行。在一個時間共享的單處理器上,它們在輪流時間中執(zhí)行;在一個具有SMP操作系統的多核心處理器上,它們能在可利用的處理器上同步執(zhí)行。

圖1a:復雜的模塊化多任務嵌入式軟件系統時常會展現出意外的同步。有了一個時間共享的OS,各任務就必須在個別處理器上執(zhí)行。在一個時間共享的單處理器上,它們在輪流時間中執(zhí)行;在具有SMP操作系統的多處理器上,它們在可利用的處理器上同步執(zhí)行。圖1b:在SMP操作系統中,所有的處理器都面對相同的內存、I/O組件和全域OS狀態(tài)。在單CPU上利用時間分段執(zhí)行的多任務程序,將能同時在一個SMP系統中的CPU上執(zhí)行。

發(fā)布:2007-04-21 14:08    編輯:泛普軟件 · xiaona    [打印此頁]    [關閉]
相關文章:
長春OA系統
聯系方式

成都公司:成都市成華區(qū)建設南路160號1層9號

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓

咨詢:400-8352-114

加微信,免費獲取試用系統

QQ在線咨詢

泛普長春OA行業(yè)資訊其他應用

長春OA軟件 長春OA新聞動態(tài) 長春OA信息化 長春OA快博 長春OA行業(yè)資訊 長春軟件開發(fā)公司 長春門禁系統 長春物業(yè)管理軟件 長春倉庫管理軟件 長春餐飲管理軟件 長春網站建設公司