baron · 3月22日 · 四川

Armv9读取cache内容:Direct access to internal memory

快速连接

👉👉👉【精选】ARMv8/ARMv9架构入门到精通-目录 👈👈👈


 title=


10 访问cache

Cortex-A720核心提供一种机制,通过IMPLEMENTATION DEFINED系统寄存器可以读取L1缓存、L2缓存和Translation Lookaside Buffer(TLB)。当缓存数据与系统内存数据之间的一致性异常时,您可以使用此机制来调查任何问题。

只有在EL3中才可以访问内部内存(cache)。在所有其他异常级别中,执行这些指令会导致未定义指令异常。

您可以使用下表中的十二个只读(RO)系统寄存器来访问内部内存,表格标题为“用于访问内部内存的系统寄存器”。通过使用以下SYS指令来选择内部内存,可以通过编程IMPLEMENTATION DEFINED RAMINDEX寄存器进行选择:
在这里插入图片描述

注意:
• 所有系统寄存器都是只读(RO)且64位宽
• 寄存器复位值,请参阅各个位的复位
• 对数据寄存器的任何访问都会返回数据

10.1 L1 cache编码

L1数据缓存和指令缓存均为4路组关联。
配置的缓存大小确定了每路中的组数。用于查找标签和数据存储器的缓存数据条目的编码在适当的SYS指令中的Xn中设置。对于标签和数据RAM访问,编码类似。

以下表格显示了用于定位和选择给定缓存行所需的编码。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10.1.1 L1 RAM返回的数据

对于每个寄存器,对L1 RAM的任何访问都会返回数据。
单击以下表格中的寄存器名称,以查看有关返回数据格式的详细信息。
在这里插入图片描述
在这里插入图片描述

10.2 L2缓存编码

L2缓存为8路组关联。
配置的缓存大小确定了每路中的组数。用于查找标签和数据存储器的缓存数据条目的编码在适当的SYS指令中的Xn中设置。对于标签和数据RAM访问,编码类似。
以下表格显示了用于定位和选择给定缓存行所需的编码。
在这里插入图片描述

10.2.1 L2 RAM返回的数据

对于每个寄存器,对L2 RAM的任何访问都会返回数据。
单击以下表格中的寄存器名称,以查看有关返回数据格式的详细信息。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

10.3 L2 TLB编码

L2 TLB RAM(小页面的TCSP)为6路组关联,L2 TLB RAM(中页面的TCMP)为4路组关联。
以下表格显示了用于定位和选择给定缓存行所需的编码。
在这里插入图片描述

10.3.1 L2 TLB RAM返回的数据

对于每个寄存器,对L2 TLB RAM的任何访问都会返回数据。
单击以下表格中的寄存器名称,以查看有关返回数据格式的详细信息。
在这里插入图片描述


关注"Arm精选"公众号,备注进ARM交流讨论区。
图片1.png

推荐阅读
关注数
9438
内容数
191
以易懂、渐进、有序的方式,深入探讨ARMv8/ARMv9架构的核心概念。我们将从基础知识开始,逐步深入,覆盖最新的架构,不再纠缠于过时技术。本系列内容包含但不限于ARM基础、SOC芯片基础、Trustzone、gic、异常和中断、AMBA、Cache、MMU等内容,并将持续更新。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息