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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 關(guān)于嵌入式系統(tǒng)程式設(shè)計(jì)重要抉擇

          關(guān)于嵌入式系統(tǒng)程式設(shè)計(jì)重要抉擇

          作者: 時(shí)間:2012-08-10 來(lái)源:網(wǎng)絡(luò) 收藏

          在當(dāng)今的多媒體應(yīng)用中,控制(通常的MCU作用)和信號(hào)處理(通常的DSP作用)之間的交互性不斷增強(qiáng)。現(xiàn)在推出的一種媒體處理器能夠同時(shí)處理MCU和DSP的任務(wù),從而將那些熟悉用MCU方式進(jìn)行應(yīng)用開(kāi)發(fā)的C師帶入一個(gè)新的領(lǐng)域,其中對(duì)代碼和資料流程的智慧管理會(huì)顯著提高的性能。這對(duì)于裼“已經(jīng)掌握”的編程方法和簡(jiǎn)單的使用指令高速緩沖記憶體(cache, 簡(jiǎn)稱快取記憶體)和資料快取記憶體來(lái)管理這些資料流程的師很有吸引力。然而,對(duì)媒體處理器的高性能直接記憶體訪問(wèn)(DMA)能力應(yīng)認(rèn)真地考慮。因懂得在這些應(yīng)用中對(duì)使用快取記憶體和DMA進(jìn)行權(quán)衡將有助于更好地理解如何編程來(lái)優(yōu)化。

          本文引用地址:http://www.ex-cimer.com/article/148634.htm

          記憶體結(jié)構(gòu)——對(duì)記憶體管理的要求

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

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

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

          對(duì)媒體處理器市場(chǎng)的快速調(diào)查表明,核心處理器的速度大于或等于600 MHz。盡管這種性能可以開(kāi)V許多新應(yīng)用,但只有在從內(nèi)部L1記憶體中讀取代碼時(shí)才能達(dá)到這種最高速度。當(dāng)然,理想嵌入式處理器可以具有無(wú)限容量的L1記憶體,但這不切實(shí)際。因此,程式師在其實(shí)際系統(tǒng)優(yōu)化記憶體和資料流程時(shí),必須考慮幾種可選方案以充分利用置于處理器內(nèi)的L1記憶體。讓我們來(lái)考慮一下其中的一些方案。

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

          第二種方案,裼靡恢摯烊〖且涮寤構(gòu)允許程式師訪問(wèn)更大容量、較低成本的外部記憶體。根據(jù)需要,這種快取記憶體可以作一種將代碼自動(dòng)送入L1指令記憶體的方法。這種方法的主要優(yōu)點(diǎn)是程式師無(wú)需管理代碼移入和移出快取記憶體。當(dāng)執(zhí)行線性代碼時(shí),這種方法達(dá)到最好的效果。當(dāng)執(zhí)行非線性代碼時(shí),快取記憶體線可能會(huì)被替換得太頻繁,以致于不能提高即時(shí)性能。

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

          大多數(shù)嚴(yán)格的即時(shí)程式師一般不相信這種快取記憶體能帶來(lái)最佳的系統(tǒng)性能。他們的理由是如果一系列指令在需要執(zhí)行的時(shí)候卻沒(méi)有在快取記憶體內(nèi),將導(dǎo)致影響性能。裼每烊〖且涮逅定機(jī)構(gòu)能彌補(bǔ)這個(gè)問(wèn)題。一旦將關(guān)鍵的指令裝入快取記憶體,快取記憶體線就被鎖住,因此指令不會(huì)被覆蓋。這樣,程式師就能夠在快取記憶體中保持他們所需指令,并且使該快取記憶體機(jī)構(gòu)管理次要指令。

          最后一種方案,通過(guò)使用一個(gè)獨(dú)立于處理器內(nèi)核的DMA通道將代碼移入或移出L1記憶體。當(dāng)該處理器內(nèi)核在記憶體的一個(gè)存儲(chǔ)塊運(yùn)行時(shí),該DMA將代碼送入下一個(gè)存儲(chǔ)塊去執(zhí)行。這種方案通常被稱一種覆蓋技術(shù)。

          雖然通過(guò)DMA將覆蓋代碼送入L1指令記憶體可以比快取記憶體方式提供更多的關(guān)鍵指令,但其代價(jià)是要增加程式師的工作量。換句話,程式師需要預(yù)先安排一種覆蓋代碼的方法和恰當(dāng)?shù)嘏渲肈MA通道。對(duì)于一種能夠做有價(jià)值的額外管理程式的詳細(xì)計(jì)劃,這種性能仍然會(huì)提高。

          資料記憶體管理

          嵌入式媒體處理器的資料記憶體結(jié)構(gòu)對(duì)于整個(gè)系統(tǒng)性能的性等同于指令時(shí)鐘速度的性。因在多媒體應(yīng)用中的任一時(shí)間經(jīng)常會(huì)有多個(gè)資料傳送任務(wù)同時(shí)進(jìn)行,所以其R流排結(jié)構(gòu)必須支援內(nèi)核和DMA對(duì)所有外部和內(nèi)部記憶體塊的訪問(wèn)。對(duì)DMA控制器和內(nèi)核之間的沖突進(jìn)行自動(dòng)處理是非常關(guān)鍵的,否則性能將大大降低。首先要求在內(nèi)核與DMA之間的建立DMA控制器,然后當(dāng)要進(jìn)行處理的資料已經(jīng)準(zhǔn)備時(shí)再應(yīng)該回應(yīng)中斷。

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

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(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); })();