新聞中心

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

使用系統(tǒng)總線測量和改善嵌入式系統(tǒng)的性能

作者: 時間:2012-09-26 來源:網(wǎng)絡 收藏

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

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

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

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

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

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

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

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

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

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

圖1 未優(yōu)化時的指標寄存器數(shù)據(jù)

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


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉