1、什么是cache,有什么用?
cache是一种内存,叫高速缓存。
从容量来说:CPU< 寄存器 < cache < DDR
从速度来说:CPU>寄存器 > cache > DDR
cache存在的原因是寄存器和DDR差距太大了,DDR的速度远不能满足寄存器的需要(不能满足CPU的需要),如果没有cache会拉低整个系统的速度。
2、210里面有32KB的icache和32KB dcache。icache用来缓存指令,dcache用来缓存数据。
3、cache的意义是:指令放在flash/硬盘中,运行时读到DDR,再从DDR中读给寄存器,寄存器再读给CPU,但是DDR的速度和寄存器的速度差的太多了。当CPU运行完一句读下一句时,那么CPU的速度就完全被拖慢了。解决办法就是当CPU正在运行当前指令时,icache把DDR中CPU正在运行的指令旁边的指令读进去。(CPU设计是有一个基本原理:代码执行时,下一句指令执行当前指令旁边的指令的可能性比较大)
4、IROM中BL0对cache的操作
首先,icache的一切动作都是自动的,不需要人为干涉,我们需要的是开/关icache。
其次,在210的iROM中BL0已经打开了icache,之前的实验都是icache打开的现象。