L2配置为32k,把程序放片外SDRAM,当 程序小于32K时,运行速度正常;当程序大于32k时,运行速度变慢,为1/10,如何解决?
还有就是DSP/BIOS 只有配置L2的cache, 没有配置L1的cache
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.
L2配置为32k,把程序放片外SDRAM,当 程序小于32K时,运行速度正常;当程序大于32k时,运行速度变慢,为1/10,如何解决?
还有就是DSP/BIOS 只有配置L2的cache, 没有配置L1的cache
bin lin 说:还有就是DSP/BIOS 只有配置L2的cache, 没有配置L1的cache
C64x的L1P/D是always enabled. 这个跟C64+的L1是可配置的不一样。
L2配置为32k,把程序放片外SDRAM,当 程序小于32K时,运行速度正常;当程序大于32k时,运行速度变慢
这就是Cache本身的工作原理,程序小于L2, 那么程序都会被Cache进L2,其实就跟把程序放在L2上是一样的。所以速度快。
而当程序大于Cache size时,那么就会存在Cache miss, 从而速度会受到影响。