chache是什么?
chache是soc里面的一段高速缓存,它是为了缓和寄存器速度和DDR速度的差异而存在的。
存储容量:CPU < 寄存器 < chache < DDR
存取速度:CPU > 寄存器 > chache > DDR
综合寄存器的高速和高价,DDR的低速和低价,需要在寄存器和DDR之间加chache可以保证速度和容量同时,提高指令的执行速度。
chache的工作原理
chache是通过在cpu执行某一个指令的同时,将这个指令相邻的指令从DDR中提前读取到chache中,从而提高指令的读取速度。
chache的分类
chache分为ichache和dchache,ichache为指令缓存,dchache为数据缓存。
在s5pv210中,在irom中已经默认打开了ichache。
在s5pv210中如何控制ichache的打开和关闭
mrc p15,0,r0,c1,c0,0; // 读出cp15的c1到r0中
//bic r0, r0, #(1<<12) // bit12 置0 关icache
orr r0, r0, #(1<<12) // bit12 置1 开icache
mcr p15,0,r0,c1,c0,0;
实现代码:控制cp15中的bit12来控制ichache的开和关。
mrc和mrc的用法