Part Number:TMS320C6678
1. 在存储器性能测试文档里,L2cache是否开启及开启的大小情况下,对外部内存读写的差别有点大,开启L2cache时,从l2到外部ram的速度比较低,从外部ram到l2比较快。速度差别主要是因为什么原因?
2. l2 cache在32k,64k,128k到256k情况下,cold cache测试时,L2和外部存储器相互读写速度的差别有多大?在ccs中进行ETB调试能够实时跟踪记录cache使用情况?
3. 多核使用同一个工程时,对没有进行启动的内核的L1,L2内存能否作为普通共享ram,在platform及cmd文件里配置,给其他核使用?
Shine:
Jerry 说:开启L2cache时,从l2到外部ram的速度比较低,从外部ram到l2比较快。
请问您从哪里得出这个结论的?能否提供一下截图的文档?2. 可以用trace analyzer查看cache性能。https://www.ti.com/lit/ug/spruhm7b/spruhm7b.pdf3. 每个核的L1, L2都是私有的。
,
Jerry:
zhca575.pdf
sprugh7.pdf
1. 在zhca575文档的表3里,CPU访问存储器,LL2<–>Other CoreL2,LL2<–>DDR3。
传输方式
32KBL1D,prefetchable
256KB L2,32KB L1D,prefetchableLL2->>OtherLL2
2675
1842OtherLL2->>LL2
1182
1838LL2->>DDR3
2677
2109DDR3->>LL2
1321
2025上表能看出CPU内核访问存储器LL2->>外部存储时,开启了L2 cache传输速率降低。
2. 在zhca575的文档里,从图2,图4看到STDW比LDDW的访问存储器延时要小,这个跟cache应该没关系,查找sprugh7文档有关LDW,STW等指令,LDW类指令要经过多个cycles才能将存储器的内容搬移到内部寄存器,c66x的取数为什么要这么设计?如果LDW的存储器为L1RAM,1 cycle应该可以完成数据搬移。
,
Jerry:
每个核的L2可以通过全局地址读写,这是在zhaca575文档里测试过的,未启动的核可当作启动核外部RAM使用,访问性能比SL2低。
在程序里,如果动态调整cache size大小,那原先分配在ram或cache里的数据会丢失?
比如在以下场景里:
1).全局变量x分配在L2,程序运行时把L2的cache size调大,全局变量x的地址正好在调整cache的范围内,此时变量x在遇到cache inv ,cache wb等操作时,会发生什么变化?
2)在platform里,配置lL2 cache size为32K,剩余的L2作为数据存储器,程序运行时把L2的cache size调整为0K,局部变量会放进L2空出来的RAM?空出来的ram还是只能作为Heapmem、HeapBuf等进行动态使用?
,
Cherry Zhou:
您好,我们已收到您的问题并升级到英文论坛寻求帮助,链接如下,如有答复将尽快回复您:
e2e.ti.com/…/tms320c6678-l2-cache-using-issue
,
Cherry Zhou:
您好,
我们的工程师正在查看该问题。
与此同时,您是否以源代码的形式实现了以上方案并进行了测试? 如果是的话,方便分享下代码,测试结果等吗?
PS:您给出的链接包含中文内容,但由于目前我们需要请求英文论坛工程师的帮助,请问下是否有内容相同的英文版本?
,
Cherry Zhou:
您好,
我们已向相关的团队请求了帮助,可能会需要一些时间来给到答复。
此外,请问以下文档您是从哪里获得的?是product page中的一部分吗?能否提供下可以下载到该文档的链接,以便工程师更好地帮助您解决问题。
Jerry 说:zhaca575文档里
,
Jerry:
代码使用的是本论坛里K1_STK_V1.1/Memory_Performance的工程进行测试
,
Jerry:
该文档只有中文的,是在www.ti.com.cn/…/TMS320C6678
,
Cherry Zhou:
您好,
Jerry 说:该文档只有中文的,是在www.ti.com.cn/…/TMS320C6678
十分抱歉,撰写该文档的工程师已不在TI就职,我们目前无法就该文档提供更多支持。给您带来的不便敬请谅解!