<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 設計應用 > 媒體處理框架在復雜應用中的導向

媒體處理框架在復雜應用中的導向

——
作者:美國模擬器件公司Blackfin應用部 David Katz和Rick Gentile 時(shí)間:2007-04-23 來(lái)源:電子產(chǎn)品世界 收藏

  最近隨著(zhù)高性能嵌入式媒體處理器走向實(shí)用,原來(lái)以個(gè)人計算機(PC)為中心的設計在許多應用領(lǐng)域都將讓位于嵌入式解決方案。這就意味著(zhù)軟件工程師需要將基于媒體的算法從存儲器資源“無(wú)限的”原型系統(例如PC或工作站)移植到中,必須進(jìn)行資源管理才能滿(mǎn)足最低的性能要求。這些工程師力爭在特定的應用中獲得最高的性能,而且不增加他們習慣的編程模型的復雜度??紤]到這種情況,他們需要的就是一套編程“框架”,幫助他們克服多媒體處理的主要難題——例如,組織輸入和輸出緩沖數據流,智能地劃分存儲器,以及采用信號量來(lái)控制數據傳送。

數據傳送的物理過(guò)程

  了解系統中數據傳送的“物理過(guò)程”是所有項目開(kāi)始的必需步驟。除了確定希望得到的吞吐量對于一個(gè)應用是否剛好能行,實(shí)踐可以產(chǎn)生很大的性能儲備,而且無(wú)需很大量的初期投資。

  大多數媒體處理器都采用分級的存儲器體系結構,力圖在幾級具有不同尺寸和性能水準的存儲器之間達到平衡。一般地,最靠近內核處理器的存儲器(稱(chēng)為一級或L1存儲器)以全時(shí)鐘速率工作,支持單周期內的指令執行。L1存儲器通常被劃分為指令段和數據段,目的是有效地利用存儲器的總線(xiàn)帶寬。這種存儲器通常配置為靜態(tài)隨機存儲器(SRAM)或高速緩存。需要最快決定的應用可以在單個(gè)內核時(shí)鐘周期內訪(fǎng)問(wèn)芯片內的SRAM。對于需要較大代碼尺寸的系統,通常要用到附加的片內L2存儲器,其訪(fǎng)問(wèn)延時(shí)要高于L1,但還是比外部存儲器讀取要快得多.

  對于多媒體應用,片內存儲器往往不夠用于存儲完整的視頻幀,盡管這樣做對于高效處理來(lái)說(shuō)是很理想的。因此,系統通常都必須依賴(lài)芯片外(“L3”)的動(dòng)態(tài)隨即存儲器(DRAM)來(lái)支持較快地訪(fǎng)問(wèn)大的緩沖器。連接片外存儲器的處理器接口構成了設計有效的媒體框架的一個(gè)主要因素,因為對外部存儲器的訪(fǎng)問(wèn)模式必需充分地考慮以便保證最理想的數據吞吐量。有幾種高水平的措施來(lái)保證數據能在任何系統的存儲器中平穩地流動(dòng)。下面將討論其中的一些,而且它們在后面討論的框架中起到了關(guān)鍵的作用。

  1.在L1或L2中分段存儲L3緩存數據

  在片內存儲器中緩存L3數據有幾個(gè)重要的作用。首先,處理器內核訪(fǎng)問(wèn)片內緩沖器的延時(shí)要比訪(fǎng)問(wèn)片外緩沖器低得多。這樣就直接地提高了系統性能。此外,在片內存儲器中緩存L3數據允許更高效的外圍DMA(“直接存儲器存取”) 訪(fǎng)問(wèn)這些數據。例如,快速地將一幀視頻從視頻端口傳送到L3存儲器中會(huì )造成這樣一種情況,其它的外圍設備可能被鎖定而無(wú)法訪(fǎng)問(wèn)它們需要的數據,因為視頻傳送是一個(gè)高優(yōu)先權的進(jìn)程。但是,通過(guò)將行增量從視頻端口傳送到L1或L2存儲器中,可以發(fā)起一次存儲器DMA流,這樣就會(huì )把視頻傳送當成一個(gè)低優(yōu)先權的進(jìn)程悄悄地將這些數據傳送到L3,從而使系統外圍設備可以訪(fǎng)問(wèn)它們需要的數據。

分組傳送以便減少存儲器總線(xiàn)轉向

  當對外部存儲器的訪(fǎng)問(wèn)在同一方向時(shí)(例如連續讀或連續寫(xiě)),執行的效率是最高的。例如,在訪(fǎng)問(wèn)片外的同步存儲器時(shí),16次寫(xiě)操作接著(zhù)16次讀操作完成得往往比16次間插讀寫(xiě)要快。這是因為寫(xiě)之后接著(zhù)讀的話(huà)會(huì )產(chǎn)生延時(shí)。如果隨機訪(fǎng)問(wèn)外部存儲器,“轉向”發(fā)生的概率是很高的。這中附加延時(shí)很可能使可用帶寬減半。因此,選擇一種可以對特定方向的傳送數量進(jìn)行控制的處理器是很重要的。通常,在系統活動(dòng)緩和時(shí)期采用最大的同向連續傳送數量是最佳的。但是,對于負荷最重的系統數據流,選擇一個(gè)中間值通常是最好,要保證不會(huì )有任何外圍設備被鎖定而無(wú)法訪(fǎng)問(wèn)外部存儲器。

  采用DMA和(或)高速緩存往往有助于在這個(gè)方面提高性能,因為在這類(lèi)事務(wù)期間數據塊是同向傳送的。例如,一次DMA傳送通常包括一塊很大的數據緩沖區,將其從一個(gè)位置移動(dòng)到另一個(gè)位置。類(lèi)似地,一次高速緩存線(xiàn)的填充就是將一組連續存儲器位置的數據移進(jìn)或者移出設備。

  保證SDRAM的行打開(kāi)并完成數據的多次傳遞

  每次訪(fǎng)問(wèn)外部SDRAM都可能占用好幾個(gè)時(shí)鐘周期,尤其是當所需的SDRAM行尚未激活時(shí)。行一旦被激活后,就有可能從一整行中讀取數據,而不用每次訪(fǎng)問(wèn)時(shí)都重新打開(kāi)該行。換句話(huà)說(shuō),在每個(gè)時(shí)鐘周期訪(fǎng)問(wèn)存儲器中的任何位置都是可能的,只要這些位置處于SDRAM的相同行中。

  應用應該利用SDRAM組的優(yōu)勢,當它們因為適當地放置了數據緩存并在任何可能的時(shí)候管理訪(fǎng)問(wèn)而打開(kāi)的時(shí)候。理想情況下,處理器應該允許一次打開(kāi)SDRAM的多行,以便縮短隨后對打開(kāi)的存儲器組中相同行的訪(fǎng)問(wèn)所需的建立時(shí)間(因此提高了吞吐率)。例如,在只打開(kāi)一行的系統中,行激活延時(shí)會(huì )大大降低總性能。而另一方面,如果一次打開(kāi)四行,行激活延時(shí)可以分攤給數百次訪(fǎng)問(wèn)。

  關(guān)閉一行需要多個(gè)SDRAM時(shí)鐘周期,因此頻繁的行關(guān)閉會(huì )嚴重限制SDRAM的吞吐量。緩解這個(gè)問(wèn)題的一種方法就是選擇一種具有很高的最大時(shí)鐘速率的SDRAM器件,并使處理器的外部總線(xiàn)時(shí)鐘運行在頻率。

  優(yōu)化時(shí)鐘設置并保證刷新速率適合SDRAM運行的速率
SDRAM需要周期性的刷新以保證存儲器中的數據保持其本征值。內核處理器或DMA引擎的訪(fǎng)問(wèn)在一個(gè)內部刷新周期結束之前是被禁止的。如果刷新得太頻繁,對SDRAM的實(shí)際訪(fǎng)問(wèn)次數就會(huì )減少,SDRAM吞吐量也會(huì )降低。

構建一種框架的策略

  在腦中有了上述概念,下面我們來(lái)分析三類(lèi)多媒體框架。雖然它們只代表了所有可能的策略中的一小部分,但是它們提供了最常見(jiàn)的源管理情況的優(yōu)良實(shí)例。為了說(shuō)明問(wèn)題,我們將采用以視頻為中心的系統來(lái)說(shuō)明這幾種情況,因為它們包括在內部和外部存儲器之間傳送大量的數據,以及將原始數據轉移進(jìn)系統并將處理過(guò)的數據移出系統:

  1.不能容忍延時(shí)的安全系統
  2.性能優(yōu)先于編程難度的處理量大型應用
  3.編程難度優(yōu)先于性能的系統(換句話(huà)說(shuō),程序員有規定的期限?。?BR>     
最低延時(shí)

  這種情況力爭在輸入數據和輸出結果之間取得絕對最低的延時(shí)。例如,假設一個(gè)基于照相機的汽車(chē)防撞系統,力圖通過(guò)快速估計視野內連續視頻幀以便將碰撞發(fā)生的可能減至最低。因為視頻幀需要極大的存儲容量(僅僅一幀NTSC電視圖像就需要差不多700 KB的存儲器),它們通常都需要外部存儲器來(lái)存儲,因為處理器很少會(huì )有足夠的片內存儲器來(lái)存哪怕是一幀的數據。但是如果防撞系統必須等到一幀完整的路面圖像進(jìn)入存儲器之后才開(kāi)始處理輸入數據的話(huà),就會(huì )損失33 ms的寶貴時(shí)間(假設幀率為30 Hz)。

  為了保證最低的延時(shí),視頻數據可以送入片內的L1或L2存儲器然后按照逐行的原則進(jìn)行處理,從而實(shí)現快速計算,更快地得到結果。如果算法一次只能處理很少的幾行,幀緩存器需求就很容易滿(mǎn)足。NTSC視頻的幾行數據很容易進(jìn)入L2存儲器,因為L(cháng)2存儲器比片外的DRAM更接近內核處理器,這也可以顯著(zhù)地提高性能。

  在這種框架中,處理器內核可以直接訪(fǎng)問(wèn)L2存儲器中的視頻數據。采用這種方式,編程模型與一般的基于PC的模型是相符的。為了保證數據的完整性,軟件必須確保在當前幀處理完畢之前活動(dòng)視頻幀緩存器不會(huì )被新的數據覆蓋。通過(guò)一種信號量機制,這是很容易控制的。在防撞系統中,每幀的處理結果都是一個(gè)判定――是否將有碰撞發(fā)生?因此,在這種情況下,就沒(méi)有需要防止被覆蓋的輸出視頻緩沖器。

性能優(yōu)先于編程模型

  這種情況通常注重算法,限制了目標處理器。一般地,開(kāi)發(fā)工程師會(huì )設法讓處理器“正好符合”其預期應用,所以他們不會(huì )把成本花在能力過(guò)剩的器件上。因此,這種“高效帶寬”框架集中在取得最高的性能,其代價(jià)就是可能增加編程復雜度。對于這種情況,系統實(shí)現可能會(huì )花較長(cháng)的時(shí)間,集成的難度要高一些,但是以低成本器件來(lái)設計帶來(lái)的長(cháng)期成本節省可能將證明額外的開(kāi)發(fā)時(shí)間是合理的。在開(kāi)發(fā)周期中的早期投入更多時(shí)間的原因就是數據流程的每一個(gè)方面都需要仔細地規劃。當最終的數據流程構建好以后,就很難再重用了,因為要通過(guò)手工完成框架來(lái)滿(mǎn)足特定的解決方案。

  這里和前面的例子一樣,視頻數據行也可以送入L2存儲器,內核可以根據需要直接訪(fǎng)問(wèn)它們用于預處理,延時(shí)比訪(fǎng)問(wèn)片外存儲器要低。雖然這是一個(gè)很重要的側面優(yōu)勢,但是這里采用L2存儲器的目的是緩存幾行的數據以便在相同方向進(jìn)行成組的傳送,以此提高外部存儲器的總線(xiàn)性能。

編程難度優(yōu)先于性能

  第三種框架完全集中于獲得最簡(jiǎn)單的編程模型,而可能付出一些性能代價(jià)。在這種情況下,面市時(shí)間通常是最重要的因素。它可能會(huì )造成器件超過(guò)規定的技術(shù)指標,這樣一定會(huì )因為沒(méi)有優(yōu)化的編碼造成大量空間的低效率。實(shí)際上,這種策略也提供了一種可升級的平臺,因為一旦有可能集中優(yōu)化應用代碼時(shí),處理器的帶寬最終可以被釋放出來(lái)。

  任何一次處理多行數據并且不涉及壓縮和解壓縮的視頻算法,都很適合采用這種框架??紤]一幅5



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>