arm cpu何时停止获取指令?

时间:2018-11-05 06:29:57

标签: caching arm hang invalidation pc

我最近使用cortex R8(缓存大小为32k,256sets,4way),并错误地读取了缓存大小,如下所示:

//忘记选择d缓存,但直接读取缓存大小

mrc p15 1,r0,c0,c0,0

在r0中返回0表示缓存大小为0。

然后我通过set / way使缓存无效,如下所示:

mcr p15 0,r2,c7,c6,2

当r2中填充的值不为零(如0x20、0x40)时,pc似乎停止获取指令。它不会遇到任何异常,也不会继续运行。

所以,我的问题是:

1)如果在读取d缓存大小时忘记选择D缓存,我们是否会因设置/方式失败而使d缓存失效?

2)在arm cpu(类似于r8的armv7)中哪些情况会停止获取指令?

任何建议将不胜感激。

0 个答案:

没有答案
相关问题