新聞中心

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

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

作者: 時(shí)間:2012-09-26 來(lái)源:網(wǎng)絡(luò) 收藏

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

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

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

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

表1是Blackfin BF54x系列處理器提供的指標(biāo)寄存器及其簡(jiǎn)要說(shuō)明。

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

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

下面探討一些應(yīng)用情形,以及利用從這些指標(biāo)寄存器得到的信息進(jìn)行優(yōu)化的一些簡(jiǎn)單技術(shù)。

示例的使用
下面將介紹如何分析和解讀從指標(biāo)寄存器獲得的信息,并在此基礎(chǔ)上討論如何運(yùn)用簡(jiǎn)單的優(yōu)化技術(shù)來(lái)提高應(yīng)用的性能。

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

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

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


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉