TI中文支持网
TI专业的中文技术问题搜集分享网站

关于DM8148和SmartReflex的问题

我最近在使用DM8148做产品,以前用的是DM3730,当时使用3730的时候发现有一个SmartReflex智能电源管理,如果关闭这个配置,arm和dsp的性能会大大降低,我将3730的dsp算法移植到了8148上面,按理说8148的dsp是C674(750M),3730的是C64(800M),8148应该更快,但是实际测试8148的效率比3730起码低了一倍,于是就考了是不是SmartReflex的问题,但是好像8148根本就没有SmartReflex功能,所以想咨询一下,为什么8148的dsp速度比3730低那么多?

ps:8148的arm和dsp的速率已经调整到最高了。

Chris Meng:

你好,

请问你是如何测试效率的?DSP编译器是有差别的。建议你能够具体对比是哪里/什么代码导致的性能差异。正确优化和修改代码性能应该是可以相当的。

shumao wang:

回复 Chris Meng:

你好,我测试效率是通过处理一个视频文件,同样的算法同样的文件分别在不同的平台进行测试对比效率的,编译器是dvsdk和dvrrdk自带的,dvsdk是cgt6x_6_1_14,dvrrdk是cgt6x_7_3_1,算法的主要处理函数都是vlib的,3730使用的是VLIB_2_2,8148使用的是vlib_c674x_3_2_0_2,编译器和vlb库应该是针对不同的dsp的,所以3730的编译器和vlb并不能直接拿来用的,但是我认为3730是800M定点,8148是750M定浮点,所以即使不进行优化,速度也应该相当的,所以我想知道,为什么智能电源管理对3730的影响那么大。

Chris Meng:

回复 shumao wang:

你好,

smart reflex不会对性能有什么影响。

请问在DM8148的DSP代码里面的cache是否有正确配置?

shumao wang:

回复 Chris Meng:

你好,我实际测试3730确实是有严重影响的,这个我十分确定,您可以测试一下试试,另外您指的cache是什么,dsp的data和code,以下是我的配置

var LINUX_SIZE = 128*MB; var SR1_SIZE = 72*MB-10*MB; var VIDEO_M3_CODE_SIZE = 3*MB; var VIDEO_M3_DATA_SIZE = 14*MB; var DSS_M3_CODE_SIZE = 2*MB; var DSS_M3_DATA_SIZE = 22*MB; var DSP_CODE_SIZE = 8*MB; var DSP_DATA_SIZE = 17*MB;

如果不是这样的,请问应该配置哪里。

Chris Meng:

回复 shumao wang:

你好,

DSP上L2 cache的配置,相关DDR是否被DSP cache, 对于DSP的性能是很有影响的。

请你先了解一下DM3730上你们软件上是如何配置DSP cache的,然后把类似配置放到DM8148的dsp上。关于DSP的cache,www.ti.com上有专门的文档,如果你对DSP的cache不了解,请先看看文档。

DM8148没有smart reflex,主频是运行在你设定的频率,不会变化。

shumao wang:

回复 Chris Meng:

你好,根据你的提示,我研究了一下,DSP cache的size好像是固定的,没有办法配置大小,您说的配置DSP cache是如何配置的?3730我是直接在例程上面写的算法,并没有配置DSP cache,另外还有一个问题问一下,我在设计8148原理图的时候搜索别人的8148的原理图,发现所有的ddr都是使用的8位的ddr颗粒,为什么不能用16位或者是32位的?

Chris Meng:

回复 shumao wang:

你好,

cache配置,请参考论坛讨论:

https://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/t/262580

https://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/t/343223

DM8148有两个32bit的DDR接口,你可以接8片8-bit DDR或者4片16-bit DDR,两种方式对性能没有影响。

赞(0)
未经允许不得转载:TI中文支持网 » 关于DM8148和SmartReflex的问题
分享到: 更多 (0)