您好,关于AM3335X(ICE)SDK的利用,有以下几个问题麻烦确认下。
■一:SDK“am335x_sysbios_ind_sdk_1.0.0.1"下,找到以下几个API
①CP15ICacheDisable()
②CP15DCacheDisable()
③CP15ICacheEnable()
④CP15DCacheEnable()
⑤CP15DCacheCleanFlush()
①~④确定能使cache无效/有效吗?⑤是否有清除cache的功能?
■二:关于cache的命中率
请问有能改善cache命中率的有效方法吗?有的话麻烦您详细讲解以下。
■三:RAM映射到cache的问题
请问怎么才能控制,操作RAM和cache的映射关系呢?
以上问题,麻烦您讲解一下。
Yaoming Qin:
1. 接口这样设计,就是实现相应的功能,没啥奇怪的,如果你发现了问题,有可能是bug,软件中也常见,欢迎指出。2. 改善cache的命中率的方法是你优化好你的代码,使得在一定时间内对内存的访问比较集中,避免cache的颠簸,3个问题和第2个问题的答案一样。
jianyi wang:
回复 Yaoming Qin:
谢谢您及时的回答。
关于API,虽说函数描述有此功能,但却没提供确认的方法。有没有获取Cache相关状态的方法呢(比如通过寄存器)?
关于cache的命中率,除了优化代码之外,有没有通过修改芯片内部某些参数来调节呢?
关于映射的问题,有没有方法(芯片内部)能够直接将指定内存中某段的数据映射到cache上呢?
我想精确地控制cache,以上问题麻烦您再次确认下,谢谢^_^
Junxin Ma:
回复 Yaoming Qin:
“极端的方式,是把你认为重要的table或者buffer锁定在cache中,具体的命令,也是通过cp15来做的。”
请问这个是要怎么操作才可以实现呢,可以具体说明一下吗?谢谢!