新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 如何實現高性能的DSP處理

        如何實現高性能的DSP處理

        作者: 時間:2010-01-07 來源:網絡 收藏

          指令和數據高速緩存為Blackfin器核提供了最高帶寬的傳輸路徑,但高速緩存存在的問題是它不能預測程序接下來需要的究竟是哪些數據和指令,因此,高速緩存提供了一些功能,使用戶可以控制高速緩存的操作。在Blackfin器中一些關鍵的指令段就可以鎖定到高速指令緩存中,這樣在需要的時候可以直接使用。

          值得注意的是,當高速緩存決定需要保留哪些指令時,它會自動保留最近使用最多的指令段。由于軟件花費大部分的時間在循環上,這樣程序往往會重復訪問相同的指令。因此,在不需要任何用戶干預情況下,指令高速緩存可以大大提高系統性能。

          此外,除了高速指令緩存的功能外,高速數據緩存還提供了“直寫”和“回寫”模式。在“直寫”模式中,在高速緩存中對數據的修改要傳送到外部存儲器中。總之,編程最好開始采用“回寫”模式,可以提高10-15%的效率,在大多數算法中,比“直寫”模式更加有效率。如果數據在多種資源中需要共享,由于要維護數據的一致性,因此采用“直寫”模式也是有用的。比如,在A-BF561器中,要兩個處理器核數據的共享,則“直寫”模式就十分有用。在單核處理器中,如果DMA控制器和高速緩存訪問同樣的數據,這種模式也是有益的。

          利用DMA提升性能

          DMA是提高系統性能的另一個有效工具。因為DMA的訪問獨立于處理器核,處理器核可以專注于處理數據。在理想的配置中,處理器核只需要設置DMA控制器,并在數據傳輸完畢時響應中斷即可。

          通常,高速外設和其他大多數外設都具有DMA傳輸能力。某些DMA控制器也允許外部存儲器與內部存儲器,以及存儲器空間內的數據傳遞。若設計者仔細地設計系統,將取得巨大的性能提升,因為任何DMA控制器傳輸的數據都不需要處理器核“操心”。

          Blackfin處理器支持二維DMA的傳輸,如圖1所示。左側顯示的是輸入緩沖區數據,紅、綠、藍三基色數據交替放置。一維到二維的DMA轉換將交替的數據轉換成獨立的紅、綠、藍數據。圖1的左下角為讀入數據的偽程序代碼。如果沒有DMA控制器,這些數據傳輸就只能由處理器核完成。使用DMA 控制器后,則DMA負責數據傳輸,傳輸完畢并中斷處理器核,處理器核則可解放出來做其他任務,如數據處理等。

          圖1:二維DMA存儲器訪問模式。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 奉新县| 武川县| 中方县| 泸定县| 陵川县| 犍为县| 岗巴县| 尚志市| 英德市| 楚雄市| 盈江县| 新竹市| 永新县| 内乡县| 淮阳县| 绍兴市| 滁州市| 濉溪县| 吕梁市| 中宁县| 灌阳县| 宜兴市| 邯郸县| 疏勒县| 华亭县| 南昌市| 肃南| 郴州市| 井陉县| 怀集县| 青冈县| 秀山| 莆田市| 万山特区| 武义县| 会同县| 稻城县| 鲁甸县| 麻栗坡县| 台北市| 区。|