新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 使用系統總線測量和改善嵌入式系統的性能

        使用系統總線測量和改善嵌入式系統的性能

        作者: 時間:2012-09-26 來源:網絡 收藏

        了解系統總線的活動情況可幫助開發工程師顯著改善嵌入式應用的性能。過去,由于嵌入式處理器缺乏復雜的軟硬件結合特性,因此監測系統總線的活動情況是一項挑戰性難題。在系統級了解應用程序的行為對于有效利用系統資源非常關鍵,這些資源包括外部存儲器、DMA控制器、仲裁、系統總線互連等。

        Blackfin BF54x系列處理器提供性能計數器(指標寄存器),可幫助應用開發工程師在系統級別了解應用程序的行為。在掌握應用程序行為后,開發工程師可使用一些系統優化技術來提高性能和降低功耗。

        在本文中,將介紹性能指標寄存器的各種配置,并提供在Blackfin處理器上利用它們的軟硬件接口實例。此外,還針對一些典型的應用情形給出了提高性能的方法。

        指標寄存器的定義
        在典型的實際應用中有多種資源,如內核處理器、外設DMA,以及可同時訪問外部存儲器和幾個系統總線的MDMA(存儲器到存儲器的DMA)。性能指標寄存器提供了一種捕捉外部存儲器組訪問數、頁錯失數、總線流量數和總線轉向數的方式,有效地利用從這些寄存器獲得的數據可顯著提高系統的資源利用率。

        表1是Blackfin BF54x系列處理器提供的指標寄存器及其簡要說明。

        我們可以使用存儲器組讀/寫寄存器、組激活計數寄存器和總線轉向寄存器來改善應用程序的代碼和數據外部存儲器布局。授權計數寄存器(EBIU_DDRGCx)可幫助合理定義系統仲裁策略,還能實現高的系統吞吐率。

        我們可以利用代碼和數據項映射到外部存儲器的時間區間和空間位置來減少外部存儲器的延遲。在通常情況下,要捕捉應用程序的空間位置和時間區間,需要記錄在程序執行期間的代碼和數據對象的蹤跡。然而,對于一些簡單的應用程序來說,利用指標寄存器的關鍵數據就可以揭示外部存儲器中的不良映射代碼和數據項。

        下面探討一些應用情形,以及利用從這些指標寄存器得到的信息進行優化的一些簡單技術。

        示例的使用
        下面將介紹如何分析和解讀從指標寄存器獲得的信息,并在此基礎上討論如何運用簡單的優化技術來提高應用的性能。

        1 示例1
        在這個示例中,多個數據緩存映射到外部存儲器,并使用存儲器DMA通道把一組緩存的內容復制到另一組緩存。本實驗中共有4個緩存,規模均為32KB。所有緩存均映射到DDR的Bank0并從地址0×0開始連續放置。圖1顯示了映射到外部存儲器的四個緩存的默認布局。在這個例子中,兩個存儲器DMA通道采用自動緩沖模式不間斷地把兩個緩存的內容傳送到另外兩個緩存。下面介紹一個三步過程,利用從指標寄存器獲得的信息并相應地使用一些系統優化技術,該過程可把性能提高到原系統的1.5倍。

        圖1 未優化時的指標寄存器數據

        第1步 基本系統性能
        我們使用系統的平均吞吐率來量化系統的性能。平均吞吐率按下式計算:
        平均吞吐率=“讀出和寫入DDR存儲器的數據字節總數”/秒
        系統總線活動的時間區間使用內核計時器來設置。通過設置,該定時器在到達實驗設定的時間區間時產生一個中斷。該計時器在存儲器DMA通道開始啟用之前啟動,然后,在內核計時器ISR中禁用存儲器DMA通道。傳輸的數據量用相應的計數器在DMA通道的中斷服務程序中進行測量。每次緩存傳輸產生一個中斷,DMA ISR每調用一次則計數器加1。由于所有的存儲器DMA通道均運行在自動緩沖模式,在最終計算吞吐率時,通道中斷延時不需計算在內。對于這個測量,定時器中斷延時由于數值很小不計算在內。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 綦江县| 云霄县| 仁布县| 东乡县| 江陵县| 景宁| 襄城县| 大宁县| 沾益县| 富蕴县| 禄劝| 景宁| 宝坻区| 丹东市| 新绛县| 朝阳区| 阿瓦提县| 武山县| 六枝特区| 南宁市| 定安县| 晋江市| 辛集市| 贵阳市| 南澳县| 遵化市| 乐至县| 资溪县| 天气| 建阳市| 南华县| 镇赉县| 郁南县| 昌吉市| 平阴县| 宾阳县| 彭阳县| 沧源| 甘孜| 汾阳市| 霍州市|