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

TMS320C6000 dsp 二级cache机理

关于C6000 DSP 二级cache的工作机理有一些问题,像和大家讨论下。谢谢!

cpu一上电,就要开始一条条的执行指令,但是由于指令(代码段.text)往往存放在DDR或者SDRAM中。

问题1:
是不是说,代码段.text中的指令要从DDR或者SDRAM中被搬运或者映射到L1P cache中才能被执行?

问题2:
如果是要搬运到L1P的话,如何搬运,因为DSPC6000 有二级缓存cache,DDR和L1P CACHE 之间还隔着
L2 CACHE,是不是说,分两步走,step1,指令先从DDR映射或者搬运到L2 cache中,step2,指令再从
L2 cache中映射或者搬运到L1p cache中。

问题3:

如果问题2成立的话,由于L2 cache和L1p cache 以及L1d cache三者大小和cache line大小都不同,以
DM648为例,L1P cache 32KB linesize 为32byte 直接映射 L1D cache 32KB linesize 64byte 二路
相联映射, L2 cache 256KB linesize 为128byte 。

是不是说,step1,指令从DDR到L2 cache时候,一次性搬运L2 cache linesize 大小,也就是128byte大小指令。然后step2,指令从L2cache 搬运到L1p cache时候,一次性搬运L1P CACHE linesize大小,也就是32byte 长度
指令?

问题4:

如果上面问题都成立的话,那么这些步骤step1和step2都是由谁来完成的?系统自动完成的么?还是要人为干预,
编程实现?

问题5:
最后关于DDR cacheability ,如果DDR开启了CACHE 功能,是不是就像上面描述的step1呢?开启CACHE之后,DDR
会自动定期向L2cache 搬运指令或者代码?

steve_xiaop:

DSP C64x  cpu  在取指令时候,如何判断自己想要的指令是否存在L1P cache中,是否存在L2cache 中,还是存在DDR或者SDRAM中。

cpu一上电,从第一条取指令开始的时候,所有cache中包括L1P cache  L1D cache和L2 cache中的内容是不是都是0?

pengpeng gong:

呵呵 你cache研究的很深入啊 关注一个。

steve_xiaop:

回复 pengpeng gong:

pengpeng gong

呵呵 你cache研究的很深入啊 关注一个。

steve_xiaop:

回复 steve_xiaop:

顶起来

Louis:

回复 steve_xiaop:

你好,

   请参考http://www.ti.com/lit/ug/spru656a/spru656a.pdf TMS320C6000 DSP Cache User's Guide》Chapter1 1.5 Cache Basics 的描述。

chen xie:

回复 steve_xiaop:

你的研究有结果了么???

赞(0)
未经允许不得转载:TI中文支持网 » TMS320C6000 dsp 二级cache机理
分享到: 更多 (0)