<rt id="m4md3"></rt>
  • <bdo id="m4md3"><meter id="m4md3"></meter></bdo>
  • <label id="m4md3"></label>
      <center id="m4md3"><optgroup id="m4md3"></optgroup></center>
      產(chǎn)品分類

      當(dāng)前位置: 首頁 > 工業(yè)電子產(chǎn)品 > 半導(dǎo)體產(chǎn)品 > 存儲器

      類型分類:
      科普知識
      數(shù)據(jù)分類:
      存儲器

      嵌入式片上存儲器有效使用的方法

      發(fā)布日期:2022-10-09 點(diǎn)擊率:48

        隨著CPU速度的迅速提高,CPU與片外存儲器的速度差異越來越大,匹配CPU與外部存儲器的方法通常是采用Cache或者片上存儲器。

       

        對于嵌入式設(shè)備上數(shù)據(jù)密集的應(yīng)用,數(shù)據(jù)Cache與片上存儲器相比存在以下缺陷:①片上存儲器是固定的單周期訪問,可在設(shè)計(jì)時(shí)(不是運(yùn)行時(shí))研究數(shù)據(jù)訪問模式;而Cache還要考慮不命中的情況,因而有可變的數(shù)據(jù)訪問時(shí)間,執(zhí)行時(shí)間的預(yù)測更加困難。②使用Cache執(zhí)行時(shí)間的不可預(yù)測性影響編譯器的優(yōu)化。③細(xì)顆粒的Cache對于圖像編碼等的規(guī)則數(shù)據(jù)訪問并不合適,因而使用Cache對于嵌入式設(shè)備可能不是最優(yōu)的。

              對于大多數(shù)應(yīng)用,使用片上存儲器比使用數(shù)據(jù)Cache能耗平均節(jié)省約40%,芯片面積與時(shí)間的乘積僅為Cache的46%,因而對于嵌入式多媒體處理器,片上RAM作為數(shù)據(jù)Cache的替代,功耗更低。片上存儲器的有效使用對于提高嵌入式應(yīng)用的速度、降低功耗具有重要的意義。

        TMS320C55x(簡稱為“C55x”)具有極低的功耗(0.05 mW/MIPS),本文以C55x上的視頻編碼器為例,討論片上存儲器的有效使用。

        數(shù)據(jù)的片外、片上動態(tài)分配

        因?yàn)槠洗鎯ζ鞅绕獯鎯ζ骶哂懈鼜?qiáng)的數(shù)據(jù)訪問能力和更低的訪問功耗,所以盡可能分配數(shù)據(jù)到片上存儲器;未能分配到片上的數(shù)據(jù)可在CPU處理前轉(zhuǎn)移到片上;已經(jīng)轉(zhuǎn)移到片上的數(shù)據(jù),應(yīng)盡可能在片上保存,直到其生命期結(jié)束,以便盡可能減少數(shù)據(jù)從片外存儲器到片上存儲器的數(shù)據(jù)轉(zhuǎn)移。在視頻編碼等應(yīng)用中,標(biāo)量、常數(shù)相對矩陣而言,通常數(shù)量較少,可以分配到片上。若分配到片外,則在運(yùn)算時(shí)直接存取片外數(shù)據(jù),CPU流水線將會停滯。直接存儲器存取(DMA)可以在存儲器之間、存儲器與外設(shè)之間轉(zhuǎn)移數(shù)據(jù),除了DMA通道參數(shù)初始化以外,DMA轉(zhuǎn)移數(shù)據(jù)和CPU處理數(shù)據(jù)可以并行進(jìn)行。設(shè)置DMA通道參數(shù)需要一定的時(shí)間,用DMA來轉(zhuǎn)移單個(gè)變量或常數(shù)的開銷可能比直接存取更大,因此DMA適合轉(zhuǎn)移具有較多數(shù)據(jù)的矩陣,并不適合片外標(biāo)量的轉(zhuǎn)移。包含大量元素的矩陣可以分配到片外,處理前使用DMA轉(zhuǎn)移到片上存儲器。

        局部變量由編譯器分配到軟件棧上,C55x具有兩個(gè)軟件棧——數(shù)據(jù)棧和系統(tǒng)棧。C55x的棧有3種工作模式,可設(shè)置成雙16比特快返回模式,以減小棧所占的存儲器空間,并提高其運(yùn)行速度。數(shù)據(jù)棧和系統(tǒng)棧在函數(shù)調(diào)用及返回時(shí)同時(shí)訪問,可將這兩個(gè)棧分配到DARAM塊或者不同的SARAM塊內(nèi)。

        本文中數(shù)據(jù)存儲器的分配,強(qiáng)調(diào)從實(shí)際多媒體應(yīng)用處理的基本數(shù)據(jù)塊出發(fā),分析簡單、直觀。多媒體算法總是將原始輸入數(shù)據(jù)分成一定大小的塊來處理,并產(chǎn)生對應(yīng)該輸入的最后輸出。如果片上沒有足夠的存儲器,則大量的輸入數(shù)據(jù)和最后結(jié)果僅能存儲在片外。對于元素較多的矩陣,可以根據(jù)算法特征,將矩陣分成若干數(shù)據(jù)子塊,如H.263編碼器中的宏塊和搜索窗等,或者單純根據(jù)可得到的片上存儲器數(shù)最分成適當(dāng)大小的子塊逐個(gè)運(yùn)算,然后分析數(shù)據(jù)子塊的生命期和使用頻率。

        這里定義數(shù)據(jù)子塊的生命期為首次使用到最后一次使用之間的間隔,而通常變量的生命期為定義到最后使用之間的間隔。例如,定義整型數(shù)組int MB[384],用來存儲待編碼宏塊的數(shù)據(jù),圖像的某個(gè)宏塊的數(shù)據(jù)在該宏塊編碼結(jié)束后,該宏塊數(shù)據(jù)的生命期也就結(jié)束}然后該數(shù)組用來存儲下一宏塊的數(shù)據(jù),因而變量的生命期遠(yuǎn)比存儲在該變量中的某一具體數(shù)據(jù)的生命期要長。若數(shù)據(jù)子塊具有不相交的生命期,則可以共享相同的片上存儲器。很多數(shù)據(jù)子塊在運(yùn)算中多次使用,可在首次運(yùn)算前轉(zhuǎn)移到片上,并盡可能保存到生命期結(jié)束,即直到這些數(shù)據(jù)不再使用為止,因而這些數(shù)據(jù)僅需要一次轉(zhuǎn)移。將程序執(zhí)行時(shí)間看成是由很多連續(xù)的時(shí)間間隔組成的,若在下個(gè)時(shí)間間隔內(nèi)需要轉(zhuǎn)移新的數(shù)據(jù)到片上供CPU處理,而片上又沒有足夠的存儲器存儲這些數(shù)據(jù),則這時(shí)將隨后需要蓮續(xù)頻繁使用的數(shù)據(jù)保留到片上。對于隨后較少使用的數(shù)據(jù),若片外存儲器還保存有該數(shù)據(jù)的備份,則這些數(shù)據(jù)可直接覆蓋,等到下次使用時(shí)再從片外存儲器拷貝到片上;否則,在覆蓋前將數(shù)據(jù)轉(zhuǎn)移到片外。在片上分配一定的緩沖區(qū),用來存儲需要再次使用的數(shù)據(jù),可有效地減少片外存儲器的訪問。對于中間結(jié)果,盡量在使用前分階段計(jì)算,使用后釋放,以縮減存儲中間結(jié)果的存儲器需求。通過數(shù)據(jù)的這種動態(tài)分配,既可以減小或避免訪問片外慢速存儲器所引起的指令延遲,又可以減少片外到片上的數(shù)據(jù)轉(zhuǎn)移。

      下一篇: PLC、DCS、FCS三大控

      上一篇: 索爾維全系列Solef?PV

      推薦產(chǎn)品

      更多
      主站蜘蛛池模板: 国产色综合一二三四| 亚洲综合校园春色| 亚洲av日韩综合一区久热| 亚洲国产日韩综合久久精品| 色成年激情久久综合| 日韩综合在线视频| 狠狠色综合网站久久久久久久| 伊人久久大香线蕉综合影| 久久综合给久久狠狠97色| 色先锋资源久久综合5566| 国内精品综合久久久40p| 久久久久青草线蕉综合超碰| 亚洲精品国产第一综合99久久| 国产91久久综合| 亚洲色图综合网站| 久久狠狠一本精品综合网| 亚洲国产综合精品| 狠狠色噜噜色狠狠狠综合久久| 本道久久综合无码中文字幕 | 久久本道久久综合伊人| 亚洲国产品综合人成综合网站| 国产精品一区二区综合| 婷婷色香五月激情综合2020| 情人伊人久久综合亚洲| 九月婷婷综合婷婷| 久久婷婷是五月综合色狠狠| 色777狠狠狠综合| 中文字幕色综合久久| 亚洲国产aⅴ综合网| 色综合视频一区二区三区44| 色婷婷综合久久久| 99久久国产综合精品1尤物| 伊人久久综合精品无码AV专区| 久久午夜综合久久| 狠狠色丁香婷婷综合尤物| 一本色道久久88亚洲综合| 一本久道久久综合多人| 亚洲国产综合无码一区二区二三区 | 久久婷婷成人综合色| 青青草原综合久久| 伊人色综合久久天天五月婷|