TIwilliam hill官网
直播中

刘建华

7年用户 219经验值
私信 关注
[问答]

请问用EDMA3 的TCPP0 将数据从DDR3导入MEM或者L2 速度有多快?

本帖最后由 一只耳朵怪 于 2018-6-25 15:03 编辑

c6678加入链接库deplib.a66,测试函数dspf_sp_fft_SPxSP,有如下问题
1. 在simulator环境下,测试出的周期数和dsplib手册上的基本一致,例如8192点FFT需要88289 始终周期
    但是在开发板上使用emulator运行时,效率下降很严重。 仍然以8192点为例,L1全设为CACHE,L2设256KBCACHE
    此时将FFT输入输出旋转因子都放在L2里,需要254933个周期。都放在MCSM需要295429个周期。都放在DDR3中要274579周期。
    这是CACHE未命中miss导致的么?如何避免这的周期浪费,最大化FFT效率。
2.输入参数中的 brv[4]是什么意思,有什么作用。
3.输入输出数组定义时都有Xi[M+2*PAD] 这里的PAD是什么意思有什么作用。
4.如果我需要8个核同时运行FFT。对存在MCSM中或者DDR3的数据进行运算,再将结果存回MCSM或者DDR3去。
    例如核0做 x[0]~x[8191]的FFT    核1做x[8192]~x[16383] 以此类推。
    那么在他们同时对MCSM或者DDR3存取数时会不会有访问冲突。
    怎么安排8核同时进行FFT运算效率比较高
5. 如果用EDMA3  的TCPP0 将数据从DDR3导入MEM或者L2 速度有多快
问题问的比较多,麻烦专家耐心解答一下,谢谢。

回帖(9)

杨娟

2018-6-25 00:10:45
您好,
1. 在EVM板上测试时,请确认在新建target configuration时务必选择正确的gel文件,其中包含了PLL、cache及DDR等的初始化,目前CCS安装目录下带的gel文件配置的工作主频是1GHz;同时测试的cycle以EVM板的结论为准;
2. 关于输入参数的含义请结合源文件说明作为参考;
3. 关于多核并行处理,多核同时从共享memeory去数时,可能会有访问冲突导致throughput有所下降,但是可以同时访问;并且keystone从硬件上提供了一种新的memory architecture降低访问冲突,同时可以根据具体的软件设计从软件来避免数据访问冲突;
4. 关于EDMA效率请参考www.deyisupport.com/.../2622.aspx 其中关于DMA throughput。
                                                                          

举报

刘建华

2018-6-25 00:30:40
引用: zbb9612 发表于 2018-6-25 00:10
您好,
1. 在EVM板上测试时,请确认在新建target configuration时务必选择正确的gel文件,其中包含了PLL、cache及DDR等的初始化,目前CCS安装目录下带的gel文件配置的工作主频是1GHz;同时测试的cycle以EVM板的结论为准;
2. 关于输入参数的含义请结合源文件说明作为参考;

谢谢回答。再确认几个问题。
1.调用库函数时,我应该在工程中加入库函数源程序,还是使用连接库deplib.a66或deplib.ae66。这两种方式效果是否一样
2.您提到的多核可以同时访问共享memory时指MCSM吗,是否包括DDR3。可以同时去共享memory取数,可以同时写入数据么?
3.从软件上避免数据访问冲突是指多核可以访问不同的bank,还是说分时间访问共享memory。
举报

杨娟

2018-6-25 00:36:29
引用: YZDIC 发表于 2018-6-25 00:30
谢谢回答。再确认几个问题。
1.调用库函数时,我应该在工程中加入库函数源程序,还是使用连接库deplib.a66或deplib.ae66。这两种方式效果是否一样
2.您提到的多核可以同时访问共享memory时指MCSM吗,是否包括DDR3。可以同时去共享memory取数,可以同时写入数据么?

您好,
1. 效果是一样,建议加入lib;
2. 包括DDR3,读写均可。
3. 均可。
                                                                          

举报

李桂花

2018-6-25 00:52:41
引用: zbb9612 发表于 2018-6-25 00:36
您好,
1. 效果是一样,建议加入lib;
2. 包括DDR3,读写均可。

Richard,
从你的数据LL2情况下和simulator增加了三倍的开销,感觉高了一点。请确认L1P、L1D cache打开设置为最大,代码和数据全部都要在LL2,可以提供map我们一起看看。同时确保链接同样的库。
另外,你的测试cycle只是包含调用的TI库函数的开销还是有别的东西?
谢谢!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分