嵌入式入门13(MMU和Cache)

209 阅读1分钟

局部性原理:

1、事件局部性:在同一时间里,有极大的概率访问到同一地址的数据。
2、空间局部性:有较大概率访问到相邻空间的指令/数据。

ICache,指令cache DCache,数据cache

指令cache只有16KB 数据cache也只有16KB 而我们的SDRAM有64MB空间,显然擦车不可能存储SDRAM中所有的内容,它只能存储一部分

image.png

以数据开始为例

  • 1 程序要读地址A的数据
ldr r0, [A的数据]

a. cpu以地址A查找cache,一开始cache无数据,导致cache miss

返回一系列的数据,叫做cache line: 8word 32byte

b. cpu把地址A发到SDRAM,读入cache line,成为cache file 把地址A上的数据返回给CPU 2 程序再次读取地址A的数据 a cpu以地址A查找cache,cache hit有数据直接从cache返回数据给CPU

3 程序要读地址B的数据,CPU也是以地址B查找数据,cache hint直接返回

4 cache满了,CPU访问C a cache替换,置换老的数据 b 填充新数据