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