overview
L1Dcache、L1Icache、L2cache,LLC(last level cache)多个处理器核集成到同一个CPU芯片上,增加访存带宽.
cache 结构
cache 没有独立的编程空间,是内存的一个子集。cache 单元在不同时刻存储不同内存单元。所以需要一种机制区分某个cache单元当前存储的是哪个内存单元的内容。所以,cache的每一个单元既要存储数据,又要存储该数据的内存地址和在cache中的状态。存储器只要存储数据用地址就可以直接索引内存单元。为每个字节记录地址效率太低,cache存储的数据以cache块为单位,一般为32字节或64字节,同时cache块保存它的地址,就是cache标签(tag),cache块记录状态(state),就是该块是否有效,有没有被改写。
内存中的块如何放到cache中,有3种映射方式,全相联,实现简单但效率不高,直接相联,实现复杂,效率高,组相联是二者的折中,n路组相联就是全相联,1路组相连就是直接相联。