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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 嵌入式多媒體應(yīng)用的多處理器核軟件設(shè)計框架

          嵌入式多媒體應(yīng)用的多處理器核軟件設(shè)計框架

          作者: 時間:2016-12-02 來源:網(wǎng)絡(luò) 收藏
          深入理解某個應(yīng)用的數(shù)據(jù)訪問方式,可以充分利用處理器潛在架構(gòu)中的存儲器和系統(tǒng)資源,從而開發(fā)可擴(kuò)展的并行應(yīng)用。

          基于單核結(jié)構(gòu)的嵌入式處理器越來越不能滿足日益增長的嵌入式多媒體處理應(yīng)用方面的要求,多核嵌入式結(jié)構(gòu)已成為解決這一問題的有效途徑,同時也為如何開發(fā)充分利用多核結(jié)構(gòu)的應(yīng)用軟件帶來挑戰(zhàn)。目前,需要將編譯技術(shù)和開發(fā)工具更多的結(jié)合起來,才能使多核結(jié)構(gòu)的應(yīng)用獲得成功。而大多數(shù)并行軟件都是通過手工轉(zhuǎn)換方式將順序程序轉(zhuǎn)換為并行程序來實(shí)現(xiàn)的。由于缺乏具有多核意識的開發(fā)工具,使得軟件難以進(jìn)行性能評估。因此,如果沒有預(yù)先有效可靠的工程規(guī)劃,將不得不面對應(yīng)用軟件的效率低下,以及延遲產(chǎn)品上市時間等問題。

          軟件框架為多核應(yīng)用軟件的開發(fā)提供了一個很好的起點(diǎn),可以幫助縮短開發(fā)時間。本文將詳細(xì)說明嵌入式多媒體應(yīng)用軟件的設(shè)計框架,同時,本文的數(shù)據(jù)流模型也可擴(kuò)展到許多其它應(yīng)用中。該框架綜合了多媒體應(yīng)用軟件固有的數(shù)據(jù)并行結(jié)構(gòu),還說明了如何通過有效使用潛在架構(gòu)來有效管理數(shù)據(jù)流。

          在設(shè)計并行軟件的過程中有兩大挑戰(zhàn):一是開發(fā)一個有效的并行算法,二是有效利用存儲器,如DMA(直接存儲訪問)通道和互連網(wǎng)絡(luò)等共享資源。在這過程中,順序運(yùn)行的應(yīng)用程序的性能可根據(jù)可用處理器核的數(shù)目進(jìn)行擴(kuò)展。

          通常實(shí)現(xiàn)應(yīng)用程序的并行處理有多種方法。有些應(yīng)用程序表現(xiàn)為固有的并行,而有的則具有相當(dāng)復(fù)雜且不規(guī)則的數(shù)據(jù)存取模式。但總的來講,科學(xué)應(yīng)用程序和多媒體應(yīng)用程序的并行通常易于實(shí)現(xiàn),因?yàn)樗鼈兊臄?shù)據(jù)存取模式比那些控制類應(yīng)用程序相對容易預(yù)測。本文重點(diǎn)討論針對多媒體算法的并行技術(shù),這類算法需要很高的處理開銷,且常用于嵌入式系統(tǒng)應(yīng)用中。

          多媒體應(yīng)用程序中存在數(shù)據(jù)的并行級別。一組數(shù)據(jù)幀和數(shù)據(jù)幀中的一個宏塊之間的并行粒度有很大差別。通常來講,粒度越小,在共享單元——例如處理器核和DMA通道——之間所需的同步級別越高。粒度越小,并行程度也就越高,而網(wǎng)絡(luò)通信量也越小。相反,大的粒度則要求較低的同步性,但也使網(wǎng)絡(luò)通信量增大。因此,基于應(yīng)用的不同類型和系統(tǒng)需求,軟件框架也定義了不同的并行級別。

          需要說明的是,對可擴(kuò)展并行軟件的開發(fā)還依賴于對互連網(wǎng)絡(luò)、分級存儲器體系,以及外設(shè)/DMA資源的有效利用。系統(tǒng)嚴(yán)格的低功耗和低成本的需求對所有這些要素都會構(gòu)成約束。多核環(huán)境下的設(shè)計要求改革資源的有效利用方式。本文介紹了幾種在ADI公司的Blackfin ADSP-BF561雙核處理器上對資源進(jìn)行有效管理的方法。

          多媒體數(shù)據(jù)流分析

          為了實(shí)現(xiàn)數(shù)據(jù)并行,需要在數(shù)據(jù)流中找到這樣一個或一組數(shù)據(jù)塊:能夠獨(dú)立處理并將結(jié)果饋送給另外的處理部件。獨(dú)立的數(shù)據(jù)塊可以降低同步開銷并簡化并行算法。要找到這種數(shù)據(jù)塊,重要的是要清楚數(shù)據(jù)流模式,或者一個應(yīng)用的數(shù)據(jù)存取模式。

          對于大多數(shù)多媒體應(yīng)用,可以將數(shù)據(jù)存取模式看成是2-D(空間域)和3-D(時間域)操作模式。在2-D模式中,獨(dú)立的數(shù)據(jù)塊被限制在單個數(shù)據(jù)幀內(nèi),而在3-D模式中,獨(dú)立數(shù)據(jù)塊可以跨越多幀。在空間域中,可以將幀劃分用N個連續(xù)行和視頻幀宏塊組成的片段,而在時間域中,可以對數(shù)據(jù)流進(jìn)一步細(xì)分到幀級或圖片組(GOP)級。

          采用片段或宏塊的數(shù)據(jù)存取模式的算法對同步性要求很高,但需要較少的網(wǎng)絡(luò)傳輸量,這是因?yàn)榉旨壍拇鎯ζ黧w系只需存儲圖像數(shù)據(jù)的一部分。對于幀或圖片組類型的數(shù)據(jù)訪問模式,分級的存儲器體系則需要存儲大量數(shù)據(jù),但對同步性的要求則相對低得多。這是因?yàn)橄到y(tǒng)的并行粒度增大了的緣故。圖1說明了多媒體應(yīng)用軟件中的并行級別,同時對四個級別中相關(guān)的同步性和網(wǎng)絡(luò)通信量做了對比。



          圖2說明了ADSP-BF561的結(jié)構(gòu),該結(jié)構(gòu)的組成中包括獨(dú)立的指令和數(shù)據(jù)存儲器,分別屬于兩個處理器核專有。該結(jié)構(gòu)還包括共享的L2存儲器和外部存儲器,用戶利用可配置的仲裁方案將所有的外圍設(shè)備和DMA資源連接到任一處理器核上。ADSP-BF561 有兩個DMA處理器,每個都由兩組MDMA(存儲器-DMA)通路組成。L2存儲器和每個處理器核之間都通過獨(dú)立的總線連接,而外部存儲器和兩個處理器核之間則由一條共享總線連接。



          所有架構(gòu)都利用DMA方式將數(shù)據(jù)流送入分級的存儲器體系。作為另外一種選擇的高速緩存并不處理任何數(shù)據(jù)。只要清楚所設(shè)計的目標(biāo)應(yīng)用的數(shù)據(jù)訪問模式,則可以利用DMA引擎對數(shù)據(jù)進(jìn)行有效的管理。而使用高速緩存需要忍受不確定的訪問時間,高速緩存失配的代價,以及需要較高的外部存儲器帶寬。利用DMA引擎,可以在處理器核需要數(shù)據(jù)之前就將數(shù)據(jù)送入L1存儲器,系統(tǒng)在后臺執(zhí)行傳輸操作,而不會因?yàn)闆]有操作數(shù)據(jù)使處理器核暫停工作。

          上一頁 1 2 3 下一頁

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();