資訊內(nèi)容
35.Cache:Scratch Pad
對于一些流處理單元(音視頻編解碼等),需要的數(shù)據(jù)比較集中且連續(xù)。如果讓這些數(shù)據(jù)進入到Cache中,它們會把CPU需要的數(shù)據(jù)沖刷掉。而且,在較老的程序中,這些音視頻流數(shù)據(jù)不太會被CPU使用到。最早的SOC芯片中,數(shù)據(jù)流從采集接口(AD等)直接進入編解碼單元,編碼完成后通過交叉互聯(lián)總線直接送到Memory或者SD卡中存儲。后來,音視頻數(shù)據(jù)占用的帶寬變大,并且對實時性的要求更高、處理的復雜性也變高。加大輸入Buffer已經(jīng)不能解決問題了。于是有了Scratch Pad。
Scratch Pad比較簡單,直接通過DMA讀取一大段連續(xù)數(shù)據(jù)進入一整段存儲空間內(nèi),全部處理完之后再通過DMA送回Memory中。Scratch Pad可能會分成幾個大段,每個大段至少是幾kB大小的(整頁),不會像Cache一樣拆成128bit/256bit的小塊。Scratch Pad和Cache系統(tǒng)的互聯(lián)見下圖:
使用Scratch Pad做流處理會有很大好處:
1、數(shù)據(jù)通過DMA傳輸,不會干擾Cache。
2、數(shù)據(jù)整段存取,對于Memory的連續(xù)讀寫有好處,并且不存在大量的Cache miss。
3、每個大段帶有地址標簽,不像Cache一樣每個小條Cache行就需要帶tag,節(jié)省存儲空間。
缺點:
1、與Cache共享數(shù)據(jù)較麻煩,只能通過DMA。
2、多個加速處理單元之間搬運數(shù)據(jù)耗費時間和功耗。
3、DMA調(diào)度優(yōu)化基本只靠軟件,軟件優(yōu)化不好的話性能大幅下降。
另外八卦一句。“針對XX運算單元的DMA訪存優(yōu)化”這個題目下畢業(yè)了無數(shù)博士……
隨著應(yīng)用的變化,Scratch Pad已經(jīng)不能滿足使用需求。例如,原來拍視頻只需要簡單編碼/存儲。現(xiàn)在拍視頻需要使用CPU/AI進行物體識別、邊緣判斷;使用CPU運行拍攝程序;使用GPU/DSP進行濾鏡、光線特效處理;使用視頻編碼單元進行編碼。這種情況下,視頻數(shù)據(jù)會被多個單元使用,而且它們對時效的要求還不一樣。CPU的拍攝程序需要盡快反應(yīng),以免用戶感覺卡頓。GPU實時濾鏡也需要在較短時間內(nèi)完成處理。AI的物體識別稍慢一些也不會有太大影響。而視頻編解碼可以在后面慢慢處理。針對這些應(yīng)用,存儲結(jié)構(gòu)也需要進行相應(yīng)的調(diào)整。
聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過郵件及時和我們聯(lián)系刪除

- 上一篇
Scratch 基礎(chǔ)教學|第九課: Scratch基本組件之控制類功能塊詳解
hi,大家晚上好。上一節(jié)課主要給大家介紹了Scratch事件類功能塊可實現(xiàn)的功能及每一個事件類功能塊的具體用途及如何使用。 本節(jié)課主要和大家一塊了解并學習控制類功能塊可實現(xiàn)哪些功能及每一個控制類功能塊的具體使用。 本節(jié)課的課程目標如下:
- 下一篇
CODE| 第十六講 隨機數(shù)和負數(shù)
記得在之前的興趣課程里面有提到過幾個隨機數(shù)和負數(shù)的概念,對于很多剛剛接觸編程的小朋友可能還不知道什么是隨機數(shù)、什么是負數(shù)? 先說概念 隨機數(shù)是專門的隨機試驗的結(jié)果。 隨機數(shù)最重要的特性是:它所生成的后面的那個數(shù)與前面的那個數(shù)毫無