1. Cache的机制就是把外存的数据Buf到片内RAM,这个操作的过程就是DMA控制器完成的,如果CPU用到的数据在Cache里,叫Hit,不在,则CPU还需要对外存进行访问,叫Miss,不同的CPU的Cache有本身的工作机制,譬如4-Set(发射)什么的,不需要代码去干预,指令Cache会自动预测下一条指令的位置,从而进行预取,这样流水线工作效率才会高,这也就是为什么不要在while或者循环里用goto的原因,这样会清空指令Cache流水线,重新Buf指令数据;对于数据Cache,理论是一样的;
2. DDR2里如果有你的Codec使用的数据或者是非ARM/Linux系统使用到的内存区域,这些区域要设置成不可Cache
1. Cache的机制就是把外存的数据Buf到片内RAM,这个操作的过程就是DMA控制器完成的,如果CPU用到的数据在Cache里,叫Hit,不在,则CPU还需要对外存进行访问,叫Miss,不同的CPU的Cache有本身的工作机制,譬如4-Set(发射)什么的,不需要代码去干预,指令Cache会自动预测下一条指令的位置,从而进行预取,这样流水线工作效率才会高,这也就是为什么不要在while或者循环里用goto的原因,这样会清空指令Cache流水线,重新Buf指令数据;对于数据Cache,理论是一样的;
2. DDR2里如果有你的Codec使用的数据或者是非ARM/Linux系统使用到的内存区域,这些区域要设置成不可Cache
举报