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.

C6678 IDE(CCS5) 如何实时分析cache hit 和miss



 各位技术支持你们好:

由于算法效率比较低,我想通过算法在C6678硬件上运行的时候,实时分析下某些算法模块cache miss和hit的情况,从而调整算法,实现减少cache miss。希望可以提供具体的操作步骤,谢谢!

  • 参考附件使用CLT工具优化内存的排列减少cache miss。

    在ccs tools->profile->setup profile data collection可以收集cpu cycle, stall cycle, cache miss cycle等协助分析。

    基于CLT优化C6000_zhca583.pdf
  • 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 进而做进一步的优化

    请参考附件中的描述

  • 多谢Thomas Yang1 和   的回复:

    不好意思现在在反馈,我看了你附件中的操作,我现在使用的CCS版本是CCS5.5,没有找你打截图中的选项,以下是CCS5.5截图:

    基于CCS5.5如果想要在C6678 EVM 上profile 函数cycle以及cache miss和hit,具体该怎么操作呢?希望可以帮助我解决这个问题,这个问题困扰我很久了。 多谢

  • 各位技术支持你们好:

    hardware trace 我知道怎么弄了,但是在trace的时候有ETB trace 和pro trace,目前 c6678 EVM board是支持ETB trace的,但是pro trace的时候有问题,如图:

    是不是C6678 EVM板卡不支持pro  trace? 如果不支持的话,什么样的仿真器支持pro trace? 国内有代理的话最好。

    谢谢