ARMv8-A编程指导之Caches(2)
1.2 Cache tags和物理地址
每个cache line都有一个tag与之相关,该tag记录了与cache line相关的外部内存的物理地址。Cache line的大小是由实现定义的。但是,由于内部互连所有的core需要有相同大小的cache line。
访问的物理地址用来决定数据在cache中的位置。最低位用于选择cache line中的相关项。中间位作为index用来选在cache组中的特定的line。最高位用于标识地址的其他部分,并用于与该line存储的标识进行比较。在ARMv8中,数据cache通常为PIPT(物理index物理tag),但也可以为无别名的VIPT(虚拟index物理tag)。
Cache中每个cache line包含:
相关物理地址的tag值;有效位用来表明该line是否在cache中,即tag是否有效。如果cache的一致性跨越多个core时有效位也可以为MESI的状态位;Dirty数据位表明是否cache line中的数据和外部内存中的数据保持一致;
共有 0 条评论