icache的开关简单学习

cache是高速缓存
简单的一个工作链路:
cpu - register - cache - ddr -外存(硬盘)

cache又分为icache和dcache
icache用来放指令的
dcache用来放数据的

为什么要讲icache呢?

在这里插入图片描述
其实iROM在boot-up顺序里面已经会初始化icache了,可以说不用人为干预,这里讲的原因是为了试一下让我们看到关了会怎样以及怎么关。
汇编代码读写cp15以开关icache
mrc p15,0,r0,c1,c0,0; // 读出cp15的c1到r0中
bic r0, r0, #(1<<12) // bit12 置0 关icache ,bic: bit clear
orr r0, r0, #(1<<12) // bit12 置1 开icache orr: 或运算
mcr p15,0,r0,c1,c0,0;

感觉有点水。。。不过还是记录一下吧

发布了38 篇原创文章 · 获赞 1 · 访问量 1031

猜你喜欢

转载自blog.csdn.net/qq_40897531/article/details/104297571