u-boot启动内核时,要先将内核从Flash拷到SDRAM,中间的过程大约需要7s,通过ICACHE可以加速这个过程。
icache就是指令的高速缓冲存储器,CPU从ICache获取指令,比从外部的Flash或者SDRAM获取都要快得多。
在2440中,有MCU,MCU外还接有ICache和DCache(使用的前提是要启动MMU),当我们不使用ICache时,CPU每次执行都需要从SDRAM中取代码;当使用ICache时,CPU会将从SDRAM中取到的一小块指令放在ICache,当要取指令时会先从ICache中取,如果ICache中没有再去SDRAM中取。
影响启动速度的主要是将内核从Flash拷贝到SDRAM,这部分主要是Nand read函数来做,使用icache就可以在第一次调用Nand read函数时,将函数也拷贝一份到Icache,之后还需要执行nand read就可以从icache中取指令,速度就快得多了。