国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

如何實現(xiàn)高性能的DSP處理(下)

發(fā)布時間:2009-5-13 08:36    發(fā)布者:DSP
關(guān)鍵詞: dsp , 高性能
相關(guān)閱讀:如何實現(xiàn)高性能的DSP處理(上)

Blackfin 的存儲器體系

為了使第一部分的討論更加透明化,現(xiàn)在對Blackfin的存儲器結(jié)構(gòu)加以描述。Blackfin的存儲系統(tǒng)也提供一些“按鈕”,以便開發(fā)者可以將其打開從而提高系統(tǒng)性能。我們將要討論怎樣才能最充分地利用這些“按鈕”。

Blackfin有三級存儲結(jié)構(gòu)。第1級(L1)存儲器離內(nèi)核最近,其工作速率為處理器的內(nèi)核時鐘頻率(Blackfin典型頻率為600MHz),并為指令和數(shù)據(jù)提供單周期存取操作。典型的L1存儲器可存儲幾十KB,還可根據(jù)SRAM 或 cache進行調(diào)配。

芯片內(nèi)部的第2級(L2)存儲器位于芯片內(nèi)部但離處理器內(nèi)核較遠。對該存儲器中指令和數(shù)據(jù)的訪問可能要用幾個周期。芯片內(nèi)部L2級存儲器容量一般為幾百KB,典型的有128KB和256KB。

芯片外部L2級存儲器位于芯片外部,因此所提供的存取操作也最為耗時。它工作頻率為系統(tǒng)時鐘,該時鐘頻率通常為133MHz。但是芯片外部L2級存儲器容量往往很大,典型的有幾百兆字節(jié)。

中斷處理

大多數(shù)嵌入式系統(tǒng)都含有中斷,因此適當(dāng)?shù)靥幚碇袛喾浅V匾。一般需要了解兩個問題:每個中斷服務(wù)程序耗費多少時間,以及一個中斷服務(wù)程序是否正在阻止其他關(guān)鍵代碼的執(zhí)行。如果系統(tǒng)支持中斷嵌套,例如能夠中斷一個正在執(zhí)行的低優(yōu)先權(quán)的中斷,就還有必要知道如何實現(xiàn)最好的嵌套中斷。
在Blackfin中,如果一個中斷正在執(zhí)行,其他中斷默認(rèn)是關(guān)閉的。然而,開發(fā)者可以通過將正在運行的中斷服務(wù)子程序(ISR)的返回地址存入堆棧中來激活一個更高優(yōu)先權(quán)的中斷(即嵌套中斷)。中斷嵌套保證了優(yōu)先權(quán)高的中斷不會被優(yōu)先權(quán)低的中斷阻止。為了使這一過程更加簡單,ADI公司提供了一個“回調(diào)管理器”,它能保證中斷被的及時響應(yīng),且不會被阻止優(yōu)先權(quán)高的中斷。與DMA優(yōu)先權(quán)類似,Blackfin開發(fā)者也可以為中斷指定優(yōu)先權(quán)以滿足開發(fā)需求。

存儲器注意事項

首先討論指令放置,也就是應(yīng)該把寫好的指令放在存儲器的哪個地方?前面已經(jīng)討論過要盡可能地將程序代碼放置在最快速運行的存儲區(qū)中這一思想,當(dāng)整個應(yīng)用程序都能放置于內(nèi)部存儲器時,所有工作就變得十分簡單。但遺憾的是,情況通常并非如此,很有可能要將程序代碼配置在內(nèi)部存儲器和外部可通過緩存訪問的存儲器。

這一過程應(yīng)如何入手處理呢?首先就是應(yīng)該確定關(guān)鍵程序代碼段的長度(以字節(jié)為單位),所謂“關(guān)鍵”,是指執(zhí)行最頻繁的程序代碼子集。而利用軟件仿真或程序代碼評測工具是一個很好的辦法,它可以確定哪部分程序代碼執(zhí)行最為頻繁,這一部分程序代碼應(yīng)放入最快速的內(nèi)部SRAM存儲器(即L1存儲器)。

ADI公司提供了一款名為PGO鏈接器的配置工具,可以實現(xiàn)該功能。該工具在VisualDSP++開發(fā)環(huán)境下運行,實現(xiàn)了鏈接時間配置導(dǎo)引優(yōu)化(PGO)。它能將應(yīng)用程序的運行配置與程序優(yōu)化技術(shù)結(jié)合起來,從而得到最有效的代碼布局(如圖3)。程序代碼被劃分為越小的函數(shù),該工具就越能靈活地將執(zhí)行最頻繁的程序放在最快的存儲器。一種極端情況是,如果你的程序代碼只包含一個函數(shù),且大小超出了內(nèi)部存儲器容量,該工具只能將整個模塊都放在外部存儲器。






當(dāng)關(guān)鍵程序代碼太大,不能完全配置到內(nèi)部L1存儲器時怎么辦?某些處理器上還有片內(nèi)L2存儲器,雖然L2比L1存儲器慢,但仍比外部存儲器快得多。如果片內(nèi)L2存儲器可用,它就是關(guān)鍵程序代碼的第二配置目的地。要是片內(nèi)存儲空間還不夠用,就必須使用外部存儲器,并將其定義為可高速緩存。

作為另一重要的存儲器配置技術(shù),如果你使用設(shè)置代碼,比如執(zhí)行一次性設(shè)置程序的庫函數(shù),你可能需要一個引導(dǎo)過程將該程序代碼導(dǎo)入片內(nèi)存儲器,然后執(zhí)行該程序代碼,最后將你的應(yīng)用程序載入并覆蓋初始引導(dǎo)程序代碼。這樣將使在L1存儲器中運行的程序代碼數(shù)在穩(wěn)定的應(yīng)用中達到最大。
同樣在一些操作系統(tǒng)中,如uClinux,整個操作系統(tǒng)和相應(yīng)的應(yīng)用程序都駐留在可高速緩存的外部存儲器中。

如果可能,盡量將程序代碼分配到一個沒有用作其他用途的外部存儲區(qū),例如處理器連接到有四個內(nèi)部存儲塊的DDRSDRAM,就可以選擇一個存儲區(qū)來專門存放程序代碼。如果能確定大部分關(guān)鍵程序代碼在內(nèi)部SRAM存儲區(qū)和(或)高速緩存中,那么你可以更加靈活地使用這種配置建議。如需測定cache的命中率是否足夠,可以了解處理器提供的選項和工具套件。例如,VisualDSP++就在它的模擬環(huán)境中提供了一個Cache查看應(yīng)用程序(如圖2),而Blackfin處理器中同樣有性能監(jiān)控寄存器可用于計算命中率。

數(shù)據(jù)傳送注意事項

現(xiàn)在將注意力轉(zhuǎn)向數(shù)據(jù)傳送。一般來講,對需要按照精確時間間隔運行才可以維持系統(tǒng)的處理流的數(shù)據(jù)傳輸,采用基于寄存器的(“自動緩存”)DMA傳輸是最佳選擇;诿枋龇腄MA方式也可配置為類似自動緩存DMA操作方式,這對于音頻和視頻數(shù)據(jù)流需要同步輸出的系統(tǒng)十分有用。描述符規(guī)定傳輸?shù)氖鞘裁,以及?shù)據(jù)的來源和/或目的地。如果可能,描述符應(yīng)放入內(nèi)部存儲器,這樣可在訪問該信息時,DMA控制器讀取的效率達到最高。

現(xiàn)考慮一個涉及像素解碼及顯示的視頻應(yīng)用。假定一個并行的視頻端口提供時鐘和數(shù)據(jù)驅(qū)動到LCD控制面板或視頻解碼器。每個數(shù)據(jù)幀都必須放置在存儲器中,這樣便于視頻端口輸出,DMA通道就可以從該存儲緩沖區(qū)中及時讀取數(shù)據(jù),從而保持顯示屏的完美顯示。從處理器外部來看,如果DMA通道被拖延而視頻端口的FIFO空閑,顯示“毛刺”將會發(fā)生。主要因為沒有可用的新數(shù)據(jù)時,舊的數(shù)據(jù)將被重復(fù)顯示。但從處理器的角度來看,視頻端口將出現(xiàn)下溢。當(dāng)然,這種情況可以通過使能錯誤/狀態(tài)中斷而被檢測出來。

對于一個視頻顯示系統(tǒng),至少需要兩個(通常會更多)緩沖區(qū)進行操作。理由有以下幾點。首先,當(dāng)向某一緩沖區(qū)寫入數(shù)據(jù)時,同時視頻端口可以從另一個緩存器讀取數(shù)據(jù)進行顯示。之所以稱為“多個緩沖區(qū)”,是因為大量處理后的數(shù)據(jù)幀都將通過它發(fā)送出去。如果可能,應(yīng)盡可能當(dāng)數(shù)據(jù)還在L1存儲器中時就完成對數(shù)據(jù)的所有處理,而且,也最好采用存儲器到存儲器的DMA傳輸通道將處理后的數(shù)據(jù)傳送到外部存儲器。

應(yīng)該將視頻緩沖區(qū)放在外部存儲器的哪里呢?所有操作都有取舍,要視具體情況而定,但這里可以給出一個經(jīng)驗性方法:如果顯示刷新率和像素處理率為系統(tǒng)中的最高速率,則應(yīng)該將輸入和輸出緩沖區(qū)分別放在不同的外部DRAM存儲區(qū)中,這樣能保證在DRAM中頁面的打開和關(guān)閉數(shù)達到最少。外部存儲控制器能夠跨越相互分離的存儲區(qū)跟蹤哪些行是打開的,因此,可以盡可能利用這一功能。如果顯示的幀與幀之間沒有多大變化,則可以將輸入和輸出緩沖區(qū)放在同一存儲區(qū)中。

還有一點:如果一個系統(tǒng)中的視頻附有音頻同步,則盡量將聲音源數(shù)據(jù)放入內(nèi)部存儲器(L1或片上L2存儲器)中,這可以減少其與視頻數(shù)據(jù)流在輸入和輸出外存儲器時產(chǎn)生“擁擠”,從而避免外圍設(shè)備出現(xiàn)欠運轉(zhuǎn)或超負荷運轉(zhuǎn)。
本文地址:http://m.qingdxww.cn/thread-3028-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應(yīng)用程序
  • 使用Harmony3加速TCP/IP應(yīng)用的開發(fā)培訓(xùn)教程
  • 集成高級模擬外設(shè)的PIC18F-Q71家族介紹培訓(xùn)教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产夫妻精品 | 青青草a免费线观a | 四虎成人国产精品视频 | 精品一区二区三区四区五区六区 | 成年女人午夜毛片免费看 | 亚洲欧美日韩高清专区一区 | 国产精品黄网站免费进入 | 亚洲综合婷婷 | 久久公开视频 | 国内精品免费网站牛牛 | 欧美日韩视频二区三区 | 精品国产一区二区三区国产馆 | 免费一级毛片视频 | 日韩免费一级a毛片在线播放一级 | 亚洲欧洲日产国码久在线观看 | 久久精品毛片 | 国产aⅴ2021| 色爽交视频 | 日本福利片国产午夜久久 | 二区在线视频 | 亚洲最大福利网 | 国产麻豆a一级毛片爽爽影院 | 亚洲最大成人 | 日韩欧美视频 | 久久一区不卡中文字幕 | 欧美黑人激情性久久 | 国产精品亚洲综合 | 青青草国产免费久久久91 | 欧美国产日韩另类 | 性色aⅴ闺蜜一区二区三区 性色a v 一区 | 欧美男人天堂 | 九九在线精品视频 | 日韩特黄特色大片免费视频 | 国产精品五月天 | 亚洲一区二区在线成人 | 午夜视频免费国产在线 | 天天做天天爱天天影视综合 | 九色视频在线看 | 四虎国产精品免费观看 | 这里只有精品首页 | 逼特写 |