局部性原理:
1、事件局部性:在同一时间里,有极大的概率访问到同一地址的数据。
2、空间局部性:有较大概率访问到相邻空间的指令/数据。
ICache,指令cache DCache,数据cache
指令cache只有16KB 数据cache也只有16KB 而我们的SDRAM有64MB空间,显然擦车不可能存储SDRAM中所有的内容,它只能存储一部分
以数据开始为例
- 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 填充新数据