《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 解決方案 > 嵌入式程序中的指令數據存儲及讀取設計

嵌入式程序中的指令數據存儲及讀取設計

2012-08-24
作者:ADI公司

 

在當今的嵌入式多媒體應用中,系統控制(通常的MCU作用)和信號處理(通常的DSP作用)之間的交互性不斷增強。現在推出的一種嵌入式媒體處理器能夠同時處理MCU和DSP的任務,從而將那些熟悉用MCU方式進行應用開發的C程式師帶入一個新的領域,其中對代碼和資料流程的智慧管理會顯著提高系統的性能。這對于采用“已經掌握”的編程方法和簡單的使用指令高速緩沖記憶體(cache, 簡稱快取記憶體)和資料快取記憶體來管理這些資料流程的程式師很有吸引力。然而,對媒體處理器的高性能直接記憶體訪問(DMA)能力應認真地考慮。因爲懂得在這些應用中對使用快取記憶體和DMA進行權衡將有助于更好地理解如何編程來優化系統。

記憶體結構——對記憶體管理的要求

當今的媒體處理器具有分級的記憶體結構,用來平衡幾種不同容量和性能等級的記憶體。通常,離核心處理器最近的記憶體(稱爲“1級”或“L1”記憶體)以全時鐘速率工作,通常支援單時鐘周期指令的運行了高效地利用記憶體匯流排的帶寬,L1記憶體一般分爲指令段和資料段。通常,該記憶體被配置成SRAM或快取記憶體。對于那些許可權最高的應用,在一個單時鐘周期內就能夠訪問片內SRAM。對于要求較長代碼的系統,則可以提供附加的片內和片外記憶體——同時增加了等待時間。

這種層次結構本身作用有限了適應僅配合低速外部記憶體的大部分應用,當今的高速處理器卻以很低的速度降級使用了提高性能,程式師可以人工地選擇將關鍵代碼移入或移出內部SRAM。另外,將資料快取記憶體和指令快取記憶體加入這種結構使程式師能夠更方便地人工管理外部記憶體??烊∮洃涹w減少了將指令和資料流程送入處理器內核的人工管理傳送。這樣程式師無需考慮如何把資料和指令流送入處理器內核,從而極大地簡化了編程模式。

指令記憶體管理——快取記憶體還是DMA?

對嵌入式媒體處理器市場的快速調查表明,核心處理器的速度大于或等于600 MHz。盡管這種性能可以開辟許多新應用,但只有在從內部L1記憶體中讀取代碼時才能達到這種最高速度。當然,理想嵌入式處理器可以具有無限容量的L1記憶體,但這不切實際。因此,程式師在爲其實際系統優化記憶體和資料流程時,必須考慮幾種可選方案以充分利用置于處理器內的L1記憶體。讓我們來考慮一下其中的一些方案。

第一種方案同時也是最直接的方案,目標應用代碼可以完全放入L1指令記憶體。對于這種情況,程式師只需將應用代碼直接映射到該記憶體空間,無需特殊操作。這就是爲什麼包含MCU和DSP兩種功能的媒體處理器必然在這種體系架構支援的代碼密度方面具有獨特優勢的原因。

第二種方案,采用一種快取記憶體機構允許程式師訪問更大容量、較低成本的外部記憶體。根據需要,這種快取記憶體可以作爲一種將代碼自動送入L1指令記憶體的方法。這種方法的主要優點是程式師無需管理代碼移入和移出快取記憶體。當執行線性代碼時,這種方法達到最好的效果。當執行非線性代碼時,快取記憶體線可能會被替換得太頻繁,以致于不能提高即時性能。

指令快取記憶體實際上具有兩個作用。第一,它以更有效率的方式從外部記憶體中預取指令。第二,由于快取記憶體一般使用某種“最近使用的指令”的演算法,所以那些用得最頻繁的指令往往就被保持在快取記憶體中。這樣做很有好處,因爲存在L1快取記憶體中的指令能夠在一個單時鐘周期內完成,就像指令在L1 SRAM中一樣。也就是說,如果該代碼一旦被取走,并且還沒有被覆蓋,即準備在下一個指令周期執行該代碼。

大多數嚴格的即時程式師一般不相信這種快取記憶體能帶來最佳的系統性能。他們的理由是如果一系列指令在需要執行的時候卻沒有在快取記憶體內,將導致影響性能。采用快取記憶體鎖定機構能彌補這個問題。一旦將關鍵的指令裝入快取記憶體,快取記憶體線就被鎖住,因此指令不會被覆蓋。這樣,程式師就能夠在快取記憶體中保持他們所需指令,并且使該快取記憶體機構管理次要指令。

最后一種方案,通過使用一個獨立于處理器內核的DMA通道將代碼移入或移出L1記憶體。當該處理器內核在記憶體的一個存儲塊運行時,該DMA將代碼送入下一個存儲塊去執行。這種方案通常被稱爲一種覆蓋技術。

雖然通過DMA將覆蓋代碼送入L1指令記憶體可以比快取記憶體方式提供更多的關鍵指令,但其代價是要增加程式師的工作量。換句話,程式師需要預先安排一種覆蓋代碼的方法和恰當地配置DMA通道。對于一種能夠做有價值的額外管理程式的詳細計劃,這種性能仍然會提高。

資料記憶體管理

嵌入式媒體處理器的資料記憶體結構對于整個系統性能的重要性等同于指令時鐘速度的重要性。因爲在多媒體應用中的任一時間經常會有多個資料傳送任務同時進行,所以其匯流排結構必須支援內核和DMA對所有外部和內部記憶體塊的訪問。對DMA控制器和內核之間的沖突進行自動處理是非常關鍵的,否則性能將大大降低。首先要求在內核與DMA之間的建立DMA控制器,然后當要進行處理的資料已經準備時再應該回應中斷。

處理器通常作爲其一項基本功能執行資料讀取操作。雖然這通常是傳送資料效率最低的機構,但它是最簡單的編程方式。小容量、快速方便的記憶體有時可以用來作爲L1資料記憶體的一部分,但對于較大容量、片外緩沖器,如果內核要從外部記憶體讀取所有資料,那麼訪問時間就長得難以忍受。內核不僅要花掉多個時鐘周期去取資料,而且它要花很多時間忙于讀取資料。在多媒體和其他大量資料操作應用中,要不斷地將大量資料存儲移入或移出SDRAM,內核的讀取資料操作是無法應付這種情況的。雖然內核的讀取資料操作總是需要的,但爲了維持性能,一定要使用DMA或快取記憶體傳送大量的資料。

使用DMA管理資料

為了在多媒體系統中有效地利用DMA,應該有足夠多的DMA通道以充分支援處理器的周邊電路,即可以同時傳送一對以上的記憶體與DMA之間的資料流程。這一點很重要,因爲考慮到在外部記憶體和L1記憶體之間傳送用于內核處理的資料塊的同時,必然有一個原始的多媒體資料也會進入外部記憶體(通過高速周邊設備)。進一步地,DMA引擎允許周邊電路與外部記憶體之間的直接資料傳送,而無需在L1記憶體內有一個“中間停留”,因此在大量資料演算法中可以節省外部資料傳送。

  隨著資料傳輸速率和性能要求的提高,設計工程師能隨意對“系統性能調節”控制就變得非常關鍵。例如,優化DMA控制器以使每個時鐘周期都可傳送一個資料字。當向同一方向同時傳送多個資料流程時(例如,從內部記憶體向外部記憶體傳送全部資料),這通常是最有效的操縱控制器的方式,因爲這種方法可以防止DMA匯流排有空閑時間。

但是當傳送多個雙向視頻和音頻資料流程時,必須使用“業務量控制”,以防止一個資料流程獨占匯流排。例如,如果DMA控制器總是把DMA匯流排連接到任何一個準備每次傳送一個資料字的周邊電路(例如,連接到一個SDRAM),一個,那麼總的資料吞吐率會降低。在這種情況中,幾乎每一個時鐘周期資料傳送都改變一次方向,因此在SDRAM匯流排上與來回切換時間相關的等待時間將顯著降低吞吐率。這樣,具有一個通道可編程傳送資料字長度的DMA控制器比那種具有固定傳送長度的控制器有明顯的優點。因爲每個DMA通道都可以將一個周邊設備與外部或內部記憶體相連,所以它還具有的一個重要優點是它能自動地連接到一個能發出緊急匯流排請求的周邊設備。

另一個特性即二維DMA性能,具有幾種系統級優點。第一,它允許以一種比較直觀的處理順序將資料放入記憶體。例如,亮度和色度資料從一個圖像感測器相繼傳來,但可將它們自動存入各自的記憶體緩沖塊。二維DMA的交錯和去交錯功能在處理視頻和圖像資料之前節省了多余的記憶體匯流排傳送。另外,通過有選擇性地進行傳送,即只選擇需要的輸入圖像資料塊而不是全部圖像資料,二維DMA也能夠使系統的資料帶寬最小。

其他的重要DMA特性包括爲滿足當前的周邊設備任務請求區分DMA通道優先等級的能力,以及爲匹配這些優先順序設置相應的DMA中斷的能力。這些功能有助于確保資料緩沖器不會因DMA忙于其他周邊設備而溢出,并且它們還使程式設計工程師在每個DMA通道的資料流程通基礎上優化整個系統性能時具有更大的自由度。

因爲內部記憶體通常分爲幾個子存儲塊,所以DMA控制器和內核同時存取向不同子存儲塊存放資料的操作均可在一個單時鐘周期內完成。例如,當內核對一個子存儲塊的資料進行操作時,DMA可以向另一個子存儲塊存放新資料。在某些條件下,甚至可以同時訪問同一個子存儲塊。當訪問外部記憶體時,通常只有一個物理匯流排可用,該物理匯流排經常被同步和非同步記憶體所復用。

關于資料快取記憶體

當前的DMA控制器的靈活性是一把雙刃劍。當在兩個處理器之間讀取一個大的C/C++應用程式時,程式師有時不愿意將DMA功能整合到已經存在的工作代碼中。這時,資料快取記憶體就很有用了。通常,資料通過快取記憶體送入L1記憶體以便最快處理。這種資料快取記憶體非常吸引人,因爲它象一個小DMA一樣工作,但涉及到程式師的工作量最小。

因爲典型的快取記憶體線填充特性,所以當處理器對外部記憶體內的連續資料存放塊進行操作時,資料快取記憶體就非常有用。這是因爲該快取記憶體不只存儲當前正在被處理的立即資料,此外它還向與當前相鄰的資料塊內予取資料。換句話說,該快取記憶體機構假設當前處理的資料字是即將被處理的一個相鄰資料塊的一部分的可能性極大。對于多媒體圖像、音頻和視頻流,這是一個合理的假設。

由于資料緩沖器通常來自周邊電路,所以對資料快取記憶體的操作并不總象對指令快取記憶體的操作那樣容易。這是由于必須在非“*”的快取記憶體中人工控制一致性。在使用這些快取記憶體準備對新資料進行任何讀取之前都必須使該資料緩沖器無效。

總之,在一個具體的多媒體系統中對指令和資料傳送的最佳機構的選擇應該是快取記憶體還是DMA沒有一種簡單的答案。不過,一旦開發工程師了解到這其中的權衡考慮,就能進入到一種“不偏不倚”的狀態,從而將使系統性能達到最優化。

(本文作者任職于ADI公司 Blackfin Blackfin應用組應用組)。

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美精品在线播放| 国产亚洲欧美另类中文| 亚洲欧洲日本在线| 欧美成人午夜激情视频| 一区二区三区视频观看| 国产乱子伦一区二区三区国色天香| 欧美777四色影视在线| 欧美丝袜第一区| 亚洲一区精彩视频| 一区二区三区回区在观看免费视频| 美女脱光内衣内裤视频久久网站| 欧美国内亚洲| 亚洲欧美日韩成人| 欧美福利视频在线观看| 好吊成人免视频| 亚洲人成精品久久久久| 国产一区二区三区高清在线观看| 国产精品久久久爽爽爽麻豆色哟哟| 国产一区二区三区的电影| 国产人妖伪娘一区91| 亚洲在线网站| 亚洲国产乱码最新视频| 日韩一级免费| 亚洲国产一成人久久精品| 亚洲国产精品电影在线观看| 欧美色视频日本高清在线观看| 免费成人av在线看| 亚洲黄色大片| 亚洲福利专区| 亚洲欧洲一区二区三区| 国产一区二区三区久久久| 狠狠久久亚洲欧美专区| 香蕉成人啪国产精品视频综合网| 国产深夜精品福利| 亚洲老司机av| 欧美了一区在线观看| 香蕉久久夜色精品国产使用方法| 国产日韩一区二区| 欧美精品一线| 先锋影音一区二区三区| 久久精品人人爽| 欧美日韩专区在线| 国产日产欧美a一级在线| 亚洲在线中文字幕| 最新日韩在线视频| 亚洲精品123区| 蜜桃精品久久久久久久免费影院| 一本色道久久综合一区| 欧美日韩高清免费| 久久国产精品亚洲va麻豆| 亚洲三级视频| 欧美日韩国产精品一区二区亚洲| 国产在线一区二区三区四区| 亚洲女女女同性video| 国产一区清纯| 伊人狠狠色j香婷婷综合| 亚洲免费视频中文字幕| 久久国内精品自在自线400部| 尤物视频一区二区| 国产精品一区二区在线| 亚洲高清在线精品| 国产精品久久久久影院亚瑟| 国内精品嫩模av私拍在线观看| 午夜精品久久久久久久99黑人| 欧美日韩免费高清| 国产日韩专区在线| 国产在线不卡| 国产偷国产偷亚洲高清97cao| 美女主播精品视频一二三四| 久久久久久9| 亚洲精品一级| 国产一区91精品张津瑜| 欧美一区影院| 激情国产一区二区| 国产精品视频导航| 永久免费精品影视网站| 欧美成人精品影院| 久久久久国产精品午夜一区| 亚洲福利视频网站| 一区二区三区免费在线观看| 欧美国产乱视频| 一区二区三区日韩欧美精品| 国产精品日韩欧美综合| 久久久久久久久久久久久9999| 欧美在线观看视频一区二区| 欧美日韩精品欧美日韩精品一| 欧美在线免费| 欧美一区亚洲一区| 欧美日韩免费视频| 午夜精品久久一牛影视| 国产视频一区在线| 国产精品久久久久久久久搜平片| 欧美成人精品高清在线播放| 999在线观看精品免费不卡网站| 在线国产精品一区| 欧美国产亚洲视频| 亚洲一区二区三区在线看| 欧美日韩视频在线第一区| 国产一在线精品一区在线观看| 激情综合视频| 国产真实乱偷精品视频免| 免费一区二区三区| 一区二区高清视频| 国产伪娘ts一区| 久久久精品国产免大香伊| 久久免费视频网| 精品动漫3d一区二区三区免费| 欧美一级在线播放| 亚洲欧洲日本在线| 国产精品二区影院| 国产精品美女主播| 欧美va日韩va| 国产亚洲欧美一区在线观看| 国产精品任我爽爆在线播放| 日韩亚洲欧美综合| 欧美在线观看一区二区| 久久久久天天天天| 宅男在线国产精品| 亚洲天堂免费在线观看视频| 亚洲一区二区视频在线| 永久免费精品影视网站| 老司机一区二区三区| 免费亚洲视频| 亚洲精品国产精品久久清纯直播| 欧美日韩视频专区在线播放| 狠狠色狠狠色综合人人| 国产精品免费一区豆花| 免费在线一区二区| 欧美精品粉嫩高潮一区二区| 欧美一区二视频| 亚洲成在线观看| 欧美日韩免费观看中文| 欧美国产日本韩| 欧美日韩综合在线免费观看| 欧美日韩日本国产亚洲在线| 久久久精品999| 在线视频中文亚洲| 一本色道久久综合一区| 在线观看日韩av先锋影音电影院| 亚洲综合精品| 亚洲一区二区三区精品动漫| 亚洲欧美一区二区三区极速播放| 亚洲夜间福利| 欧美激情一区二区| 一区二区三区视频免费在线观看| 亚洲国产婷婷| 亚洲日韩欧美一区二区在线| 国产揄拍国内精品对白| 国产精品一区三区| 亚洲午夜在线视频| 国产精品一区二区在线观看网站| 宅男噜噜噜66一区二区| 欧美一区日韩一区| 亚洲日本理论电影| 一本色道久久综合精品竹菊| 久久av资源网站| 欧美日韩视频不卡| 亚洲一区美女视频在线观看免费| 久久综合网hezyo| 亚洲男女毛片无遮挡| 一区二区三区高清在线观看| 亚洲一区二区在线免费观看| 欧美激情一区二区三区四区| 一区二区三区精品在线| 亚洲精选中文字幕| 久久久久久久久久久久久久一区| 亚洲一区尤物| 国产日韩欧美综合精品| 亚洲国产高潮在线观看| 香蕉乱码成人久久天堂爱免费| 欧美夜福利tv在线| 国产伦精品一区二区| 在线观看久久av| 日韩午夜免费| 亚洲精品免费一区二区三区| 日韩亚洲在线| 欧美久久久久免费| 亚洲黄色片网站| 久久在线免费视频| 亚洲福利久久| 一本色道久久综合狠狠躁篇的优点| 一区二区不卡在线视频 午夜欧美不卡'| 国产精品久久久久久久久免费桃花| 国产精品久久久久一区| 国产精品久久久999| 亚洲一区二区三区在线看| 午夜精品亚洲一区二区三区嫩草| 国产精品女人毛片| 午夜精品99久久免费| 欧美日韩和欧美的一区二区| 激情久久久久久久久久久久久久久久| 国产精品色婷婷久久58| 国产精品久久久久久久久动漫| 一个色综合av| 亚洲国产1区| 欧美色欧美亚洲另类七区| 国产精品亚洲激情| 看片网站欧美日韩| 卡一卡二国产精品| 一区二区三区视频观看| 另类酷文…触手系列精品集v1小说| 欧美午夜精品理论片a级按摩| 亚洲狼人综合| 欧美一级在线播放| 尤妮丝一区二区裸体视频| 欧美视频在线观看一区二区| 激情伊人五月天久久综合| 欧美激情第五页| 久久人人精品| 国产欧美一区二区精品仙草咪| 午夜精品影院在线观看| 欧美中文字幕在线观看| 亚洲狠狠丁香婷婷综合久久久| 久热这里只精品99re8久| 欧美成人精品一区二区| 久久久久国产精品麻豆ai换脸| 免费观看欧美在线视频的网站| 性久久久久久| 欧美色综合天天久久综合精品| 亚洲国产91精品在线观看| 亚洲国产精品v| 激情亚洲网站| 国产美女精品视频免费观看| 国产精品v欧美精品v日韩精品| 欧美精品一线| 一本色道久久88综合亚洲精品ⅰ| 国产精品影视天天线| 欧美日韩四区| 国产精品久久| 欧美α欧美αv大片| 99re8这里有精品热视频免费| 久久综合网色—综合色88| 久久精品国产久精国产思思| 国产精品亚洲视频| 欧美日韩国产欧| 欧美日韩成人综合| 国产在线精品一区二区中文| 激情久久久久久久| 久久蜜桃精品| 欧美区日韩区| 美女黄毛**国产精品啪啪| 国产视频精品网| 欧美日韩妖精视频| 欧美专区日韩视频| 亚洲国产国产亚洲一二三| 欧美成ee人免费视频| 亚洲精品资源| 国产日韩欧美亚洲一区| 国产精品免费一区二区三区在线观看| 欧美日韩成人综合天天影院| 欧美高清影院| 亚洲欧美成人一区二区三区| 国产精品v片在线观看不卡| 欧美在线欧美在线| 欧美激情视频一区二区三区不卡| 亚洲啪啪91| 国产精品日韩专区| 久久久精品国产一区二区三区| 国产精品成人久久久久| 一本综合精品| 91久久久在线| 久久久噜噜噜久久狠狠50岁| 精品成人一区二区三区| 亚洲黄色影院| 欧美精品一区二区三区蜜臀| 久热国产精品| 亚洲欧美日韩一区在线| 理论片一区二区在线| 久久久久国产一区二区三区| 欧美在线视频日韩| 亚洲精品中文在线| 亚洲天堂免费在线观看视频| 欧美日韩综合在线免费观看| 国产精品美女久久久久aⅴ国产馆| 国产精品久久久久久久久| 精品福利电影| 午夜欧美不卡精品aaaaa| 国产亚洲欧洲一区高清在线观看| 久久综合给合久久狠狠狠97色69| 国产在线播精品第三| 99re在线精品| 国产欧美一区二区三区沐欲| 亚洲乱码国产乱码精品精98午夜| 99国内精品久久久久久久软件| 欧美亚洲在线视频| 欧美午夜精品久久久久久浪潮| 国产精品xxxxx| 欧美日本在线视频| 欧美日韩在线高清| 老牛国产精品一区的观看方式| 国产精品第13页| 午夜亚洲伦理| 国产一区二区三区免费在线观看| 欧美第十八页| 狠色狠色综合久久| 欧美女同在线视频| 亚洲精品乱码久久久久久| 欧美在线啊v一区| 国产精品少妇自拍| 久久久久久久激情视频| 欧美噜噜久久久xxx| | 欧美在线视频播放| 国产自产2019最新不卡| 国产精品免费观看视频| 欧美视频精品在线| 一本色道久久综合狠狠躁篇的优点| 亚洲国产欧美一区| 亚洲激情在线视频| 欧美在线观看一二区| 欧美日韩免费观看一区二区三区| 国产午夜精品全部视频在线播放| 在线看日韩欧美| 国产一区二区毛片| 国产欧美一区二区白浆黑人| 欧美日韩亚洲一区二区三区在线| 欧美日韩免费观看中文| 欧美一区二区久久久| 亚洲欧美国产毛片在线| 狠狠色综合日日| 久久久久综合| 久久久久青草大香线综合精品| 欧美日精品一区视频| 老色鬼久久亚洲一区二区| 女人色偷偷aa久久天堂| 久久九九久精品国产免费直播| 裸体女人亚洲精品一区| 欧美激情一区二区久久久|