各位技术支持你们好:
由于算法效率比较低,我想通过算法在C6678硬件上运行的时候,实时分析下某些算法模块cache miss和hit的情况,从而调整算法,实现减少cache miss。希望可以提供具体的操作步骤,谢谢!
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Andy Yin1,
多谢你的回复。
1.你提供的这个文档里面只有提及到L1P的cache优化,有没有关于L1D的cache优化了,因为算法大部分还是在处理数据,所以L1D的优化应该会对系统效率影响很大,最后是L1D和L1P都优化
2.你说“在ccs tools->profile->setup profile data collection可以收集cpu cycle, stall cycle, cache miss cycle等协助分析” 这个profile好像只能是simulator下可以使用,在EVM硬件平台上是使用不了的,如果只是在simulator下profile的结果,应该和实际在硬件上的不一样,可能没有参考价值。因为simulator下存储器访问是没有cache miss的,全部都是hit,我之前写过并行汇编单步跟踪过,发现在EVM 硬件下,有时候LDDW 是1个cycle,有时候是8或者9个cycle,这个是cache miss导致的,但是同样的程序在simulator下,LDDW每次执行都是1个cycle,可以看出没有cache miss,都是hit。
3.我在simulator下,试了下profile function功能是可以出结果的,但是cache miss等没有。
多谢!
可以通过Trace功能分析Cache missing 进而做进一步的优化
请参考附件中的描述