ARM Linux中的cache (2)

本文深入探讨了ARM Linux系统中Cache的结构、属性和操作。介绍了Cache的分块、地址映射规则,以及读写分配策略、写回策略和共享策略。此外,还讨论了Clean、Invalid、Zero和Lock等Cache操作,并阐述了多级Cache访问及多核环境中数据一致性维护的重要性。
摘要由CSDN通过智能技术生成

关于cache的一些知识

内存管理单元MMU除了使用页表完成物理地址和虚拟地址的映射外,还包括对这些地址的管理。这些管理是通过设置内存属性完成的,比如是否过cache、cache属性、是否可读、可写、可执行、内存类型(normal 、device-GRE)、是否共享,共享范围等等… 这些属性都在页表项中定义,属性的有效范围至少是一个页面。

1)Cache的结构

现在Cache一般组相连方式的,比如sharkl3 L1Dcache是4路128组相连。简单说,就是先把cache分成相等的4块,每块叫做一个way;每个way中有若干行cache line(缓存行),缓存行的编号就是set(行索引)。

内存中的地址到cache的映射是按照一定的规则确定的,下面是这个规则的定义:

对于32bit的地址,分为三部分: Tag-----Set-----offset,offset(字节索引)和缓存行的大小相关,比如64Bytes的缓存行,[5:0]是offset;set(行索引)和cache的中每个way的缓存行的数目有关,32KB的cache除以4way,每个way是8KB,每个way中的缓存行size是64Bytes,那一个way中有128个缓存行,[12:6]是set,剩余的高地址成为Tag(页帧号ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值