TMS320C6678存儲器訪問性能 (下)
1. DMA訪問存儲器的性能
本文引用地址:http://butianyuan.cn/article/276393.htmEDMA3架構(gòu)支持很多功能,可以實現(xiàn)高效的并行數(shù)據(jù)傳輸。本節(jié)討論影響它性能的很多因素,如存儲器類型,地址偏移等。
1.1 DMA傳輸?shù)念~外開銷
一般的傳輸時延被定義為EDMA被觸發(fā)到真正的數(shù)據(jù)傳輸開始的時間。由于數(shù)據(jù)傳輸開始的時間無法用簡單的方法測量,所以我們用最小數(shù)據(jù)單元的傳輸完成時間來代表DMA傳輸?shù)臅r延或額外開銷。根據(jù)不同源/目的地址的組合,這個值會有所不同。表4列出了在1GHz C6678 EVM(64-bit 1333MTS DDR)上測得的從EDMA觸發(fā)(寫ESR)最小數(shù)據(jù)傳輸(1 word)到EDMA 傳輸結(jié)束(讀到IPR=1) 的平均的時鐘周期數(shù)。
表4 EDMA CC0傳輸?shù)念~外開銷
表5 EDMA CC1和EDMA CC2傳輸?shù)念~外開銷
由于EDMA CC0 連接到離SL2 和DDR 比較近的內(nèi)部總線交換網(wǎng)絡,因此它訪問SL2 和DDR 額外開銷比較小。而EDMA CC1 和CC2 連接到離DSP 核的L1 和LL2 比較近的內(nèi)部總線交換網(wǎng)絡,所以它們訪問L1 和LL2 的額外開銷比較小。
IDMA 一般用來在LL2 內(nèi)部拷貝數(shù)據(jù),測試得到的IDMA 的平均額外開銷是61 個時鐘周期。
傳輸?shù)念~外開銷是小數(shù)據(jù)量傳輸要考慮的重要因素。單個數(shù)據(jù)單元的傳輸時間完全由DMA 的額外開銷決定。所以,對于小數(shù)據(jù)量的拷貝,我們需要在用DMA 和用DSP 核之間做權(quán)衡選擇。
1.2 EDMA 10 個傳輸引擎的區(qū)別
C6678 上包含10 個EDMA3 TC (Transfer Controller) 。這10 個傳輸引擎并不完全相同。Table 6 總結(jié)了它們之間的區(qū)別。
表6 EDMA 傳輸引擎之間的區(qū)別
表7 比較了在1GHz C6678 EVM(64-bit 1333MTS DDR)上測得的各個EDMA TC 的最大吞吐量。測試的參數(shù)是ACNT=1024,BCNT=128,AB_Sync(一次傳完ACNTxBCNT)。
表7 1GHz C6678 上EDMA TC 吞吐量比較
對SL2 和DDR 之間的傳輸,TC0_0 和TC0_1 能達到的吞吐量是其它TC 的兩倍。在本文其它部分,如果沒有特殊說明,EDMA 性能數(shù)據(jù)都是在TC0_0 上測得的。
1.3 EDMA 帶寬和傳輸靈活性的權(quán)衡
EDMA3 支持很多靈活的傳輸參數(shù)配置。多數(shù)配置情況下EDMA 可以充分利用存儲器帶寬;但在某些情況下,傳輸性能可能會有所下降。為了設計高效的系統(tǒng),我們需要理解什么樣的配置能夠?qū)崿F(xiàn)高效的傳輸,而某些情況下必須在靈活性和效率之間做權(quán)衡。
1.3.1 第一維大小 (ACNT) 的考慮(突發(fā)數(shù)據(jù)塊大小)
為了充分利用傳輸引擎的帶寬,傳輸盡量大的數(shù)據(jù)塊是非常重要的。
為了充分利用128-bit 或256-bit 的總線,ACNT 應該是16 bytes 的整數(shù)倍;為了充分利用EDMA的突發(fā)數(shù)據(jù)塊,ACNT 需要是64 bytes 的整數(shù)倍;為了充分利用EDMA FIFO,ACNT 應該至少是512 bytes。
圖7 畫出了在1GHz C6678 EVM(64-bit 1333MTS DDR)上,從SL2 到DDR 傳輸1~24K bytes 數(shù)據(jù)時測得的吞吐量。
圖7 ACNT 對EDMA 效率的影響
從測試結(jié)果可以看出,ACNT 越大,帶寬的利用率越高。
1.3.2 二維傳輸?shù)目紤](傳輸優(yōu)化)
如果2D 傳輸 (AB_Sync)是線性的 (BIDX=ACNT),并且ACNT 是2 的冪次方,EDMA 會把這個2D 傳輸優(yōu)化為1D 傳輸。我們在1GHz C6678 EVM(64-bit 1333MTS DDR)上測試了不同的ACNT 和BCNT 的組合;圖 8是線性2D 傳輸?shù)臏y試結(jié)果,它說明,不管BCNT 是多少,帶寬由ACNTxBCNT 的乘積決定。
圖8 線性 2D 傳輸
如果2D 傳輸不是線性的,帶寬的利用率完全有ACNT 決定(參見圖 7)。
存儲器相關文章:存儲器原理
評論