控制 icache

第一节
什么是 cache
基于程序访问的局限性,在主存和 CPU 通用寄存器之前设置了一类高速的、容量较小的存储
器,把正在执行的指令地址附件的一部分指令或数据从主存调入这类存储器,供 CPU 在一段时间
内使用,这对提高程序的运行速度有很大的作用。这类介于主存和 CPU 之间的高速小容量存储器
称作高速 cache。
比较常见的 cache 包括 icache 和 dcache。icache 的使用比较简单,系统刚上电时,icache
中的内容是无效的,并且 icache 的功能是关闭的,往 CP15 协处理器中的寄存器 1 的 bit[12]写
1 可以启动 icache,写 0 可以停止 icache。icache 关闭时,CPU 每次取指都要读主存,性能非常
低。因为 icache 可随时启动,越早开 icache 越好。
与 icache 相似,系统刚上电时, dcache 中的内容是无效的,并且 dcache 的功能是关闭的,
往 CP15 协处理器中的寄存器 1 的 bit[2]写 1 可以启动 dcache,写 0 可以停止 dcache。因为 dcache
必须在启动 mmu 后才能被启动,而对于裸机而言,没必要开 mmu.

猜你喜欢

转载自blog.csdn.net/xiuxin121/article/details/79887527