cache用来存放最近CPU访问的一些memory的数值
L1 Cache:离CPU比较近的cache,有i-Cache,D-Cache
L2 Cache:离CPU比较远的cache,如果没有内部的,可以在外面加
CPU尽可能从cache里取数据,就减少了向外面访问的频率
同时也减小了功耗,外部功耗会比较大,内部memory功耗较小
尽可能让cpu对onchip的部件进行操作
Cache结构:
采用组相联映射
RAM分为Data RAM和Tag RAM 分别存数据和地址
一个line一般是4到8word
way由很多line组成,可以理解为片,data RAM里由很多位组成,
memory地址空间里面的数据可以放在不同的way里面
set是不同way中的同一个line
Tag用于标记memory地址,来自于访问地址,往往是最上面的
存放在Tag RAM里面
CPU访问cache的时候,首先会访问Tag RAM,有没有对应的地址,如果匹配,那么就从cache里拿数据或者把数据写到cache里面
Index来自地址,查找到底数据在那个cache line里面
地址由 组号 组内块号 块内地址组成,其中块内地址又被进一步分开成offset 和bytes的选择
举例: