TMS320C6678存儲器訪問性能(上)
摘要
本文引用地址:http://www.ex-cimer.com/article/276392.htmTMS320C6678 有8 個(gè)C66x核,典型速度是1GHz,每個(gè)核有 32KB L1D SRAM,32KB L1P SRAM和512KB LL2 SRAM;所有 DSP核共享4MB SL2 SRAM。一個(gè)64-bit 1333MTS DDR3 SDRAM接口可以支持8GB外部擴(kuò)展存儲器。
存儲器訪問性能對DSP上運(yùn)行的軟件是非常關(guān)鍵的。在C6678 DSP上,所有的主模塊,包括多個(gè)DSP核和多個(gè)DMA都可以訪問所有的存儲器。
每個(gè)DSP核每個(gè)時(shí)鐘周期都可以執(zhí)行最多128 bits的load或store操作。在1GHz的時(shí)鐘頻率下,DSP核訪問L1D SRAM的帶寬可以達(dá)到16GB/S。
DSP的內(nèi)部總線交換網(wǎng)絡(luò),TeraNet,提供了C66x核(包括其本地存儲器),外部存儲器,EDMA控制器,和片上外設(shè)之間的互連總共有10個(gè)EDMA傳輸控制器可以被配置起來同時(shí)執(zhí)行任意存儲器之間的數(shù)據(jù)傳輸。
本文為設(shè)計(jì)人員提供存儲器訪問性能評估的基本信息;提供各種操作條件下的性能測試數(shù)據(jù);還探討了影響存儲器訪問性能的一些因素。
1. 存儲器系統(tǒng)簡介
TMS320C6678有8個(gè)C66x核,每個(gè)核有:
32KB L1D(Level 1 Data) SRAM,它和DSP核運(yùn)行在相同的速度上,可以被用作普通的數(shù)據(jù)存儲器或數(shù)據(jù)cache。
32KB L1P(Level 1 Program) SRAM,它和DSP核運(yùn)行在相同的速度上,可以被用作普通的程序存儲器或程序cache。
512KB LL2(Local Level 2)SRAM,它的運(yùn)行速度是DSP核的一半,可以被用作普通存儲器或cache,既可以存放數(shù)據(jù)也可以存放程序。
所有DSP核共享4MB SL2(Shared Level 2)SRAM,它的運(yùn)行速度是DSP核的一半,既可以存放數(shù)據(jù)也可以存放程序。TMS320C6678集成一個(gè)64-bit 1333MTS DDR3 SDRAM接口,可以支持8GB外部擴(kuò)展存儲器,既可以存放數(shù)據(jù)也可以存放程序。它的總線寬度也可以被配置成32bits或16bits。
存儲器訪問性能對DSP上軟件運(yùn)行的效率是非常關(guān)鍵的。在C6678 DSP上,所有的主模塊,包括多個(gè)DSP核和多個(gè)DMA都可以訪問所有的存儲器。
每個(gè)DSP核每個(gè)時(shí)鐘周期都可以執(zhí)行最多128 bits 的load 或store操作。在1GHz的時(shí)鐘頻率下,DSP核訪問L1D SRAM 的帶寬可以達(dá)到16GB/S。當(dāng)訪問二級(L2)存儲器或外部存儲器時(shí),訪問性能主要取決于訪問的方式和cache。
每個(gè)DSP核有一個(gè)內(nèi)部DMA (IDMA),在1GHz的時(shí)鐘頻率下,它能支持高達(dá)8GB/秒的傳輸。但I(xiàn)DMA只能訪問L1和LL2以及配置寄存器,它不能訪問外部存儲器。
DSP的內(nèi)部總線交換網(wǎng)絡(luò),TeraNet,提供了C66x核 (包括其本地存儲器) ,外部存儲器, EDMA控制器,和片上外設(shè)之間的互聯(lián)??偣灿?0個(gè)EDMA傳輸控制器可以被配置起來同時(shí)執(zhí)行任意存儲器之間的數(shù)據(jù)傳輸。芯片內(nèi)部有兩個(gè)主要的TeraNet模塊,一個(gè)用128 bit總線連接每個(gè)端點(diǎn),速度是DSP 核頻率的1/3,理論上,在1GHz的器件上每個(gè)端口支持 5.333GB/秒的帶寬;另一個(gè)TeraNet內(nèi)部總線交換網(wǎng)絡(luò)用256 bit總線連接每個(gè)端點(diǎn),速度是DSP核頻率的1/2,理論上,在1GHz的器件上每個(gè)端口支持16GB/秒的帶寬。
總共有10個(gè)EDMA傳輸控制器可以被配置起來同時(shí)執(zhí)行任意存儲器之間的數(shù)據(jù)傳輸。它們中的兩個(gè)連接到256-bit, 1/2 DSP核速度的 TeraNet內(nèi)部總線交換網(wǎng)絡(luò);另外8個(gè)連接到128-bit, 1/3 DSP核速度的TeraNet內(nèi)部總線交換網(wǎng)絡(luò)。
圖1展示了TMS320C6678的存儲器系統(tǒng)??偩€上的數(shù)字代表它的寬度。大部分模塊運(yùn)行速度是DSP核時(shí)鐘的1/n,DDR的典型速度是1333MTS(Million Transfer per Second)。
圖1 TMS320C6678 存儲器系統(tǒng)
本文為設(shè)計(jì)人員提供存儲器訪問性能評估的基本信息;提供各種操作條件下的性能測試數(shù)據(jù);還探討了影響存儲器訪問性能的一些因素。
本文對分析以下常見問題會有所幫助:
1. 應(yīng)該用DSP核還是DMA來拷貝數(shù)據(jù)?
2. 一個(gè)頻繁訪問存儲器的函數(shù)會消耗多少時(shí)鐘周期?
3. 當(dāng)多個(gè)主模塊共享存儲器時(shí),對某個(gè)模塊的性能會有多大的影響?
本文中的大部分?jǐn)?shù)據(jù)是在C6678 EVM(EValuation Module)板上測試得到的,它上面有64-bit 1333MTS的DDR 存儲器。
2. DSP核,EDMA3,IDMA拷貝數(shù)據(jù)的性能比較
數(shù)據(jù)拷貝的帶寬由下面三個(gè)因素中最差的一個(gè)決定:
1. 總線帶寬
2. 源端吞吐量
3. 目的端吞吐量
表1 總結(jié)了C6678 上C66x 核,IDMA 和EDMA 的理論帶寬。
表1 1GHz C6678上C66x核,IDMA和EDMA的理論帶寬
表2 總結(jié)了C6678 EVM(64-bit 1333MTS DDR)上各種存儲器端口的理論帶寬。
表2 1GHz C6678上各種存儲器端口的理論帶寬
存儲器相關(guān)文章:存儲器原理
評論