TMS320C6678存儲器訪(fǎng)問(wèn)性能 (下)
1.3.3 地址偏移的考慮
本文引用地址:http://dyxdggzs.com/article/276393.htm地址偏移會(huì )顯著(zhù)地影響EDMA 的吞吐量。
圖 9說(shuō)明了地址偏移對EDMA 吞吐量的影響,它是在1GHz C6678 EVM(64-bit 1333MTS DDR)上從 SL2 到 DDR 傳輸1024 行(BCNT= 1024) 2D 數據時(shí)測得的。

圖9 偏移量對EDMA 帶寬的影響
從測試結果可以看出,線(xiàn)性傳輸 (Index= ACNT)能充分利用帶寬;其它Index 設置會(huì )降低EDMA性能。最壞的情況是地址偏移為奇數時(shí)。如果地址偏移大于8 并且是2 的冪次方,性能的下降則比較小。
請注意,Index= ACNT,并且ACNT 是2 的冪次方時(shí),2D 傳輸被優(yōu)化為1D 傳輸,因此性能比其它情況好很多。
除非特殊說(shuō)明,本文列出的所有性能數據都是在Index= ACNT 的情況下測得的。
1.3.4 地址對齊
地址對齊對EDMA 效率稍有影響。EDMA3 缺省突發(fā)數據塊大小是64 bytes 或128 bytes,如果傳輸跨越64 或128 bytes 邊界,EDMA3 TC 會(huì )把大小為ACNT 數據塊分割成64 或128 bytes 的突發(fā)數據塊。這對1~256 bytes 的數據傳輸影響會(huì )比較明顯,而對更大塊數據的傳輸的影響則不明顯。
除非特殊說(shuō)明,本文所有性能數據都是在地址對齊的情況下測得的。
2. 多個(gè)主模塊共享存儲器的性能
由于C6678 有8 個(gè)核和很多DMA 主模塊,它們可能會(huì )同時(shí)訪(fǎng)問(wèn)存儲器。本節討論多個(gè)主模塊共享存儲器的性能。
2.1 多個(gè)主模塊共享SL2 的性能
圖10 列出了數據在SL2 中的組織結構。

圖10 SL2 bank 組織結構
所有主模塊都可以通過(guò)MSMC (Multicore Shared Memory Controller)獨立地訪(fǎng)問(wèn)4 個(gè)SL2 bank中的任一個(gè)。多個(gè)主模塊可以并行地訪(fǎng)問(wèn)不同的bank;如果多個(gè)主模塊要同時(shí)訪(fǎng)問(wèn)相同的bank,那就需要根據優(yōu)先級仲裁。
表8 列出了在1GHz C6678 上測得的多個(gè)主模塊同時(shí)訪(fǎng)問(wèn)SL2 的性能數據。每個(gè)主模塊反復訪(fǎng)問(wèn)自己在SL2 中的數據buffer,在相同的時(shí)間內(大概2 秒),每個(gè)主模塊傳輸的數據量被統計;而每個(gè)主模塊獲得的帶寬則由數據量除以時(shí)間計算出來(lái)。
在這個(gè)測試中,每個(gè)核的L1D cache 大小是32KB,沒(méi)有使用L2 cached,prefetch buffer 被使能。
在下面的表中,每列是一個(gè)測試場(chǎng)景的結果,不同測試場(chǎng)景的主要區別是同時(shí)訪(fǎng)問(wèn)存儲器的主模塊的個(gè)數,格子中的數據代表相應的主模塊在這個(gè)測試場(chǎng)景下獲得的帶寬,一列中的空格代表對應的主模塊在這個(gè)測試場(chǎng)景下未被使用。最后一行中的數據是在這個(gè)測試場(chǎng)景下所有主模塊獲得的帶寬的總和。

表8 多個(gè)DSP 核共享SL2 的性能
以上測試結果證明SL2 不會(huì )成為多個(gè)DSP 核同時(shí)訪(fǎng)問(wèn)的瓶頸。SL2 有足夠的帶寬 (500M x 32 x 4 = 64000MB/s)來(lái)支持所有DSP 核的同時(shí)訪(fǎng)問(wèn)。每個(gè)DSP 核的吞吐量受限于它自己。
由于SL2 的帶寬足夠支持所有核同時(shí)訪(fǎng)問(wèn),所以核的優(yōu)先級在這種情況下基本不起作用。


表9 多個(gè)EDMA 共享SL2 的性能
存儲器相關(guān)文章:存儲器原理
評論