資料介紹
在當(dāng)今的嵌入式多媒體應(yīng)用中,系統(tǒng)控制(通常的MCU作用)和信號處理(通常的DSP作用)之間的交互性不斷增強。現(xiàn)在推出的一種嵌入式媒體處理器能夠同時處理MCU和DSP的任務(wù),從而將那些熟悉用MCU方式進(jìn)行應(yīng)用開發(fā)的C程式師帶入一個新的領(lǐng)域,其中對代碼和資料流程的智慧管理會顯著提高系統(tǒng)的性能。這對于採用“已經(jīng)掌握”的編程方法和簡單的使用指令高速緩沖記憶體(cache, 簡稱快取記憶體)和資料快取記憶體來管理這些資料流程的程式師很有吸引力。然而,對媒體處理器的高性能直接記憶體訪問(DMA)能力應(yīng)認(rèn)真地考慮。因爲(wèi)懂得在這些應(yīng)用中對使用快取記憶體和DMA進(jìn)行權(quán)衡將有助于更好地理解如何編程來優(yōu)化系統(tǒng)。
記憶體結(jié)構(gòu)——對記憶體管理的要求
當(dāng)今的媒體處理器具有分級的記憶體結(jié)構(gòu),用來平衡幾種不同容量和性能等級的記憶體。通常,離核心處理器最近的記憶體(稱爲(wèi)“1級”或“L1”記憶體)以全時鐘速率工作,通常支援單時鐘周期指令的運行 了高效地利用記憶體匯流排的帶寬,L1記憶體一般分爲(wèi)指令段和資料段。通常,該記憶體被配置成SRAM或快取記憶體。對于那些許可權(quán)最高的應(yīng)用,在一個單時鐘周期內(nèi)就能夠訪問片內(nèi)SRAM。對于要求較長代碼的系統(tǒng),則可以提供附加的片內(nèi)和片外記憶體——同時增加了等待時間。
這種層次結(jié)構(gòu)本身作用有限 了適應(yīng)僅配合低速外部記憶體的大部分應(yīng)用,當(dāng)今的高速處理器卻以很低的速度降級使用 了提高性能,程式師可以人工地選擇將關(guān)鍵代碼移入或移出內(nèi)部SRAM。另外,將資料快取記憶體和指令快取記憶體加入這種結(jié)構(gòu)使程式師能夠更方便地人工管理外部記憶體。快取記憶體減少了將指令和資料流程送入處理器內(nèi)核的人工管理傳送。這樣程式師無需考慮如何把資料和指令流送入處理器內(nèi)核,從而極大地簡化了編程模式。
指令記憶體管理——快取記憶體還是DMA?
對嵌入式媒體處理器市場的快速調(diào)查表明,核心處理器的速度大于或等于600 MHz。盡管這種性能可以開闢許多新應(yīng)用,但只有在從內(nèi)部L1記憶體中讀取代碼時才能達(dá)到這種最高速度。當(dāng)然,理想嵌入式處理器可以具有無限容量的L1記憶體,但這不切實際。因此,程式師在爲(wèi)其實際系統(tǒng)優(yōu)化記憶體和資料流程時,必須考慮幾種可選方案以充分利用置于處理器內(nèi)的L1記憶體。讓我們來考慮一下其中的一些方案。
第一種方案同時也是最直接的方案,目標(biāo)應(yīng)用代碼可以完全放入L1指令記憶體。對于這種情況,程式師只需將應(yīng)用代碼直接映射到該記憶體空間,無需特殊操作。這就是爲(wèi)什麼包含MCU和DSP兩種功能的媒體處理器必然在這種體系架構(gòu)支援的代碼密度方面具有獨特優(yōu)勢的原因。
第二種方案,採用一種快取記憶體機構(gòu)允許程式師訪問更大容量、較低成本的外部記憶體。根據(jù)需要,這種快取記憶體可以作爲(wèi)一種將代碼自動送入L1指令記憶體的方法。這種方法的主要優(yōu)點是程式師無需管理代碼移入和移出快取記憶體。當(dāng)執(zhí)行線性代碼時,這種方法達(dá)到最好的效果。當(dāng)執(zhí)行非線性代碼時,快取記憶體線可能會被替換得太頻繁,以致于不能提高即時性能。
指令快取記憶體實際上具有兩個作用。第一,它以更有效率的方式從外部記憶體中預(yù)取指令。第二,由于快取記憶體一般使用某種“最近使用的指令”的演算法,所以那些用得最頻繁的指令往往就被保持在快取記憶體中。這樣做很有好處,因爲(wèi)存在L1快取記憶體中的指令能夠在一個單時鐘周期內(nèi)完成,就像指令在L1 SRAM中一樣。也就是說,如果該代碼一旦被取走,并且還沒有被覆蓋,即準(zhǔn)備在下一個指令周期執(zhí)行該代碼。
? ? ? ??

大多數(shù)嚴(yán)格的即時程式師一般不相信這種快取記憶體能帶來最佳的系統(tǒng)性能。他們的理由是如果一系列指令在需要執(zhí)行的時候卻沒有在快取記憶體內(nèi),將導(dǎo)致影響性能。採用快取記憶體鎖定機構(gòu)能彌補這個問題。一旦將關(guān)鍵的指令裝入快取記憶體,快取記憶體線就被鎖住,因此指令不會被覆蓋。這樣,程式師就能夠在快取記憶體中保持他們所需指令,并且使該快取記憶體機構(gòu)管理次要指令。
最后一種方案,通過使用一個獨立于處理器內(nèi)核的DMA通道將代碼移入或移出L1記憶體。當(dāng)該處理器內(nèi)核在記憶體的一個存儲塊運行時,該DMA將代碼送入下一個存儲塊去執(zhí)行。這種方案通常被稱爲(wèi)一種覆蓋技術(shù)。
雖然通過DMA將覆蓋代碼送入L1指令記憶體可以比快取記憶體方式提供更多的關(guān)鍵指令,但其代價是要增加程式師的工作量。換句話,程式師需要預(yù)先安排一種覆蓋代碼的方法和恰當(dāng)?shù)嘏渲肈MA通道。對于一種能夠做有價值的額外管理程式的詳細(xì)計劃,這種性能仍然會提高。
記憶體結(jié)構(gòu)——對記憶體管理的要求
當(dāng)今的媒體處理器具有分級的記憶體結(jié)構(gòu),用來平衡幾種不同容量和性能等級的記憶體。通常,離核心處理器最近的記憶體(稱爲(wèi)“1級”或“L1”記憶體)以全時鐘速率工作,通常支援單時鐘周期指令的運行 了高效地利用記憶體匯流排的帶寬,L1記憶體一般分爲(wèi)指令段和資料段。通常,該記憶體被配置成SRAM或快取記憶體。對于那些許可權(quán)最高的應(yīng)用,在一個單時鐘周期內(nèi)就能夠訪問片內(nèi)SRAM。對于要求較長代碼的系統(tǒng),則可以提供附加的片內(nèi)和片外記憶體——同時增加了等待時間。
這種層次結(jié)構(gòu)本身作用有限 了適應(yīng)僅配合低速外部記憶體的大部分應(yīng)用,當(dāng)今的高速處理器卻以很低的速度降級使用 了提高性能,程式師可以人工地選擇將關(guān)鍵代碼移入或移出內(nèi)部SRAM。另外,將資料快取記憶體和指令快取記憶體加入這種結(jié)構(gòu)使程式師能夠更方便地人工管理外部記憶體。快取記憶體減少了將指令和資料流程送入處理器內(nèi)核的人工管理傳送。這樣程式師無需考慮如何把資料和指令流送入處理器內(nèi)核,從而極大地簡化了編程模式。
指令記憶體管理——快取記憶體還是DMA?
對嵌入式媒體處理器市場的快速調(diào)查表明,核心處理器的速度大于或等于600 MHz。盡管這種性能可以開闢許多新應(yīng)用,但只有在從內(nèi)部L1記憶體中讀取代碼時才能達(dá)到這種最高速度。當(dāng)然,理想嵌入式處理器可以具有無限容量的L1記憶體,但這不切實際。因此,程式師在爲(wèi)其實際系統(tǒng)優(yōu)化記憶體和資料流程時,必須考慮幾種可選方案以充分利用置于處理器內(nèi)的L1記憶體。讓我們來考慮一下其中的一些方案。
第一種方案同時也是最直接的方案,目標(biāo)應(yīng)用代碼可以完全放入L1指令記憶體。對于這種情況,程式師只需將應(yīng)用代碼直接映射到該記憶體空間,無需特殊操作。這就是爲(wèi)什麼包含MCU和DSP兩種功能的媒體處理器必然在這種體系架構(gòu)支援的代碼密度方面具有獨特優(yōu)勢的原因。
第二種方案,採用一種快取記憶體機構(gòu)允許程式師訪問更大容量、較低成本的外部記憶體。根據(jù)需要,這種快取記憶體可以作爲(wèi)一種將代碼自動送入L1指令記憶體的方法。這種方法的主要優(yōu)點是程式師無需管理代碼移入和移出快取記憶體。當(dāng)執(zhí)行線性代碼時,這種方法達(dá)到最好的效果。當(dāng)執(zhí)行非線性代碼時,快取記憶體線可能會被替換得太頻繁,以致于不能提高即時性能。
指令快取記憶體實際上具有兩個作用。第一,它以更有效率的方式從外部記憶體中預(yù)取指令。第二,由于快取記憶體一般使用某種“最近使用的指令”的演算法,所以那些用得最頻繁的指令往往就被保持在快取記憶體中。這樣做很有好處,因爲(wèi)存在L1快取記憶體中的指令能夠在一個單時鐘周期內(nèi)完成,就像指令在L1 SRAM中一樣。也就是說,如果該代碼一旦被取走,并且還沒有被覆蓋,即準(zhǔn)備在下一個指令周期執(zhí)行該代碼。
? ? ? ??


大多數(shù)嚴(yán)格的即時程式師一般不相信這種快取記憶體能帶來最佳的系統(tǒng)性能。他們的理由是如果一系列指令在需要執(zhí)行的時候卻沒有在快取記憶體內(nèi),將導(dǎo)致影響性能。採用快取記憶體鎖定機構(gòu)能彌補這個問題。一旦將關(guān)鍵的指令裝入快取記憶體,快取記憶體線就被鎖住,因此指令不會被覆蓋。這樣,程式師就能夠在快取記憶體中保持他們所需指令,并且使該快取記憶體機構(gòu)管理次要指令。
最后一種方案,通過使用一個獨立于處理器內(nèi)核的DMA通道將代碼移入或移出L1記憶體。當(dāng)該處理器內(nèi)核在記憶體的一個存儲塊運行時,該DMA將代碼送入下一個存儲塊去執(zhí)行。這種方案通常被稱爲(wèi)一種覆蓋技術(shù)。
雖然通過DMA將覆蓋代碼送入L1指令記憶體可以比快取記憶體方式提供更多的關(guān)鍵指令,但其代價是要增加程式師的工作量。換句話,程式師需要預(yù)先安排一種覆蓋代碼的方法和恰當(dāng)?shù)嘏渲肈MA通道。對于一種能夠做有價值的額外管理程式的詳細(xì)計劃,這種性能仍然會提高。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 嵌入式MCU 程序和數(shù)據(jù)存儲空間分配理解-知識點
- 嵌入式系統(tǒng)常用指令集表格整理
- FPGA中嵌入式塊存儲器的設(shè)計
- 嵌入式Linux應(yīng)用程序例程
- 嵌入式硬件系統(tǒng)教程之嵌入式存儲技術(shù)的詳細(xì)資料說明 14次下載
- TI的嵌入式分析技術(shù)使設(shè)備更加智能 13次下載
- 嵌入式圖形用戶界面系統(tǒng)設(shè)計分析 1次下載
- ARM嵌入式技術(shù)原理與應(yīng)用_劉尚軍 0次下載
- ARM7在嵌入式應(yīng)用中啟動程序的實現(xiàn)
- 基于ARM的嵌入式系統(tǒng)實驗分析
- 嵌入式實時程序設(shè)計中C/C++代碼的優(yōu)化
- 嵌入式CPU指令Cache的設(shè)計與實現(xiàn)
- 嵌入式系統(tǒng)中的Flash設(shè)計與分析
- 嵌入式系統(tǒng)中的Flash 存儲管理
- 嵌入式系統(tǒng)中采樣限幅電路分析
- 嵌入式系統(tǒng)中的實時操作系統(tǒng) 517次閱讀
- 嵌入式系統(tǒng)中堆棧監(jiān)控的作用 529次閱讀
- 基于嵌入式軟件的JNI技術(shù)應(yīng)用解析 1106次閱讀
- 基于μC/OS嵌入式操作系統(tǒng)的嵌入式數(shù)據(jù)管理設(shè)計 1241次閱讀
- 什么是嵌入式技術(shù) 1w次閱讀
- 嵌入式設(shè)計須知: MCU如何在擴展的SDRAM上運行程序? 4220次閱讀
- 嵌入式處理器中cache數(shù)據(jù)不一致性的解決方法 3485次閱讀
- 嵌入式系統(tǒng)開發(fā)中驅(qū)動程序設(shè)計的5個方法盤點 3244次閱讀
- 隨機存儲器在嵌入式操作系統(tǒng)中的應(yīng)用設(shè)計詳解 1433次閱讀
- 基于嵌入式數(shù)據(jù)庫的海量存儲技術(shù)解析 2819次閱讀
- 一文知道嵌入式存儲交換技術(shù)的可靠性如何增加 2015次閱讀
- 嵌入式行業(yè)發(fā)展?fàn)顩r_嵌入式行業(yè)人才需求_嵌入式系統(tǒng)就業(yè)前景分析 2.4w次閱讀
- 嵌入式C實現(xiàn)延時程序的不同變量的區(qū)別 幾種Linux嵌入式開發(fā)環(huán)境的簡單介紹 1673次閱讀
- 嵌入式開發(fā)就業(yè)前景分析_嵌入式領(lǐng)域的職業(yè)發(fā)展方向 1.8w次閱讀
- 基于Nand Flash 存儲技術(shù)的嵌入式linux 系統(tǒng)設(shè)計 1606次閱讀
下載排行
本周
- 1DC電源插座圖紙
- 0.67 MB | 2次下載 | 免費
- 2AN158 GD32VW553 Wi-Fi開發(fā)指南
- 1.51MB | 2次下載 | 免費
- 3AN148 GD32VW553射頻硬件開發(fā)指南
- 2.07MB | 1次下載 | 免費
- 4AN111-LTC3219用戶指南
- 84.32KB | 次下載 | 免費
- 5AN153-用于電源系統(tǒng)管理的Linduino
- 1.38MB | 次下載 | 免費
- 6AN-283: Σ-Δ型ADC和DAC[中文版]
- 677.86KB | 次下載 | 免費
- 7SM2018E 支持可控硅調(diào)光線性恒流控制芯片
- 402.24 KB | 次下載 | 免費
- 8AN-1308: 電流檢測放大器共模階躍響應(yīng)
- 545.42KB | 次下載 | 免費
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 450次下載 | 免費
- 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 138次下載 | 1 積分
- 3基于STM32單片機智能手環(huán)心率計步器體溫顯示設(shè)計
- 0.10 MB | 130次下載 | 免費
- 4使用單片機實現(xiàn)七人表決器的程序和仿真資料免費下載
- 2.96 MB | 44次下載 | 免費
- 53314A函數(shù)發(fā)生器維修手冊
- 16.30 MB | 31次下載 | 免費
- 6美的電磁爐維修手冊大全
- 1.56 MB | 24次下載 | 5 積分
- 7如何正確測試電源的紋波
- 0.36 MB | 17次下載 | 免費
- 8感應(yīng)筆電路圖
- 0.06 MB | 10次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論