新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > TMS320C6678存儲器訪問性能 (下)

        TMS320C6678存儲器訪問性能 (下)

        作者: 時間:2015-06-27 來源:網絡 收藏

          1.3.3 地址偏移的考慮

        本文引用地址:http://www.104case.com/article/276393.htm

          地址偏移會顯著地影響EDMA 的吞吐量。

          圖 9說明了地址偏移對EDMA 吞吐量的影響,它是在1GHz C6678 EVM(64-bit 1333MTS DDR)上從 SL2 到 DDR 傳輸1024 行(BCNT= 1024) 2D 數據時測得的。

          

         

          圖9 偏移量對EDMA 帶寬的影響

          從測試結果可以看出,線性傳輸 (Index= ACNT)能充分利用帶寬;其它Index 設置會降低EDMA性能。最壞的情況是地址偏移為奇數時。如果地址偏移大于8 并且是2 的冪次方,性能的下降則比較小。

          請注意,Index= ACNT,并且ACNT 是2 的冪次方時,2D 傳輸被優化為1D 傳輸,因此性能比其它情況好很多。

          除非特殊說明,本文列出的所有性能數據都是在Index= ACNT 的情況下測得的。

          1.3.4 地址對齊

          地址對齊對EDMA 效率稍有影響。EDMA3 缺省突發數據塊大小是64 bytes 或128 bytes,如果傳輸跨越64 或128 bytes 邊界,EDMA3 TC 會把大小為ACNT 數據塊分割成64 或128 bytes 的突發數據塊。這對1~256 bytes 的數據傳輸影響會比較明顯,而對更大塊數據的傳輸的影響則不明顯。

          除非特殊說明,本文所有性能數據都是在地址對齊的情況下測得的。

          2. 多個主模塊共享的性能

          由于C6678 有8 個核和很多DMA 主模塊,它們可能會同時訪問。本節討論多個主模塊共享的性能。

          2.1 多個主模塊共享SL2 的性能

          圖10 列出了數據在SL2 中的組織結構。

          

         

          圖10 SL2 bank 組織結構

          所有主模塊都可以通過MSMC (Multicore Shared Memory Controller)獨立地訪問4 個SL2 bank中的任一個。多個主模塊可以并行地訪問不同的bank;如果多個主模塊要同時訪問相同的bank,那就需要根據優先級仲裁。

          表8 列出了在1GHz C6678 上測得的多個主模塊同時訪問SL2 的性能數據。每個主模塊反復訪問自己在SL2 中的數據buffer,在相同的時間內(大概2 秒),每個主模塊傳輸的數據量被統計;而每個主模塊獲得的帶寬則由數據量除以時間計算出來。

          在這個測試中,每個核的L1D cache 大小是32KB,沒有使用L2 cached,prefetch buffer 被使能。

          在下面的表中,每列是一個測試場景的結果,不同測試場景的主要區別是同時訪問存儲器的主模塊的個數,格子中的數據代表相應的主模塊在這個測試場景下獲得的帶寬,一列中的空格代表對應的主模塊在這個測試場景下未被使用。最后一行中的數據是在這個測試場景下所有主模塊獲得的帶寬的總和。

          

         

          表8 多個DSP 核共享SL2 的性能

          以上測試結果證明SL2 不會成為多個DSP 核同時訪問的瓶頸。SL2 有足夠的帶寬 (500M x 32 x 4 = 64000MB/s)來支持所有DSP 核的同時訪問。每個DSP 核的吞吐量受限于它自己。

          由于SL2 的帶寬足夠支持所有核同時訪問,所以核的優先級在這種情況下基本不起作用。

          

         

          

         

          表9 多個EDMA 共享SL2 的性能

        存儲器相關文章:存儲器原理




        關鍵詞: TMS320C6678 存儲器

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 衡东县| 丰原市| 内黄县| 禄劝| 仪陇县| 盘锦市| 沙坪坝区| 二连浩特市| 当涂县| 连城县| 夏邑县| 三亚市| 华容县| 横峰县| 黑河市| 怀来县| 云南省| 淅川县| 惠州市| 宿迁市| 临夏市| 阳山县| 静安区| 西昌市| 漳平市| 唐山市| 禹州市| 外汇| 仙居县| 武隆县| 繁峙县| 万载县| 察雅县| 阿鲁科尔沁旗| 黔西县| 嘉黎县| 青海省| 阿合奇县| 白城市| 扎鲁特旗| 五常市|