Cortex-A510——Cache Cortex-A510——Cache小狼@http://blog.csdn.net/xiaolangyangyang1、M7 Cache基本参数ARM Cortex-A510系列Cache参数如下:Cache Level:L1/L2/L3/SLCL1 ICache/DCache size:64K、32K cache-line:4B、64B、512BL2 Cache size:1M、512K、256K cache-line:16BL3 Cache size:16M cache-line:128BSLC Cache size:4M * 4 cache-line:64B2、Cortex-A510 Cache组织结构以cache-size为32k,cache-line为32Byte为例:组相连(常用结构):4-way,256-set直接映射:相当于1-way,1024-set的组相连全相连:相当于1024-way,1-set的组相连3、组相连如果一个数据可以放在n个line,则称这个Cache是n路组相连的Cache(n-wayset-associativeCache),如下图所示为4-way,4-set的Cache。组相连结构图组相连映射图offset:确定cache-line中数据位置,offset为图中Word+Byte;set:确定way中cache-line位置,即哪个组,如果数据被缓存,则V标志为1;tag:确定cache中way的位置,如果数据被缓存,tag中保存有地址信息,与处理器地址进行比对;V:cache-line有效标记;D:脏数据标记。组相连映射硬件逻辑图4、VIVT/VIPT/PIPTVIVT(Virtual Index Virtual Tag):使用虚拟地址Index域和虚拟地址Tag域多个VA可能映射到同一PA,导致多个cache line组(VA不同,index域不同,查找到的cache 组则不同)映射到同一物理地址,这种现象叫做cache alias(高速缓存别名)。一旦一个VA到PA的映射关系改变,cache内容将会写回物理内存。此时,由于物理内存内容的变化需要同步到cache,就需要clean和invalidate(这两个操作结合起来就叫做flush)其余同名cache line,导致系统性能下降。VIPT(Virtual Index Physical Tag):使用虚拟地址Index域和物理地址Tag域