全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

PMP配置和访问场景

时间:2023-10-07 17:42

人气:

作者:admin

标签: PMP  配置 

导读:PMP 配置 PMP 寄存器只能在机器模式下编程。pmpaddrX 寄存器应首先用受保护区域的基地址编程,右移两位。然后,应该使用正确配置的 64 位值对pmpcfgY 寄存器进行编程,其中包含每个正确...

PMP 配置

PMP 寄存器只能在机器模式下编程。pmpaddrX 寄存器应首先用受保护区域的基地址编程,右移两位。然后,应该使用正确配置的 64 位值对pmpcfgY 寄存器进行编程,其中包含每个正确对齐的 8 位 pmpXcfg 字段。未使用的字段可以简单地写入 0,标记它们未使用。

PMP 配置例子

以下示例显示了仅机器模式的配置,其中 PMP 权限应用于三个感兴趣的区域,第四个区域覆盖剩余的内存映射。回想一下,较低编号的 pmpXcfg 和pmpaddrX 寄存器优先于较高编号的区域。该规则允许更高编号的 PMP寄存器全面覆盖整个内存映射,同时允许编号较低的区域将权限应用于特定的感兴趣区域。以下示例显示基地址 0x0 处的 64 KB 闪存区域、基地址0x2000_0000 处的 32 KB RAM 区域以及基地址 base 0x3000_0000 处的 4 KB外设区域。内存映射的其余部分是保留空间。

图片

PMP 访问场景

L、R、W 和 X 位仅在访问的所有字节都被该 PMP 条目覆盖时确定访问是否成功。例如,如果 PMP 条目配置为匹配四字节范围0xC–0xF,那么对 0x8–0xF 范围的 8 字节访问将失败,假设 PMP 条目是与这些地址匹配的最高优先级条目。

在锁定位清零 (L=0) 的机器模式下运行时,如果 PMP 条目与访问的所有字节匹配,则访问成功。如果在机器模式下设置了锁定位(L=1),则访问取决于为该区域设置的权限。同样,在管理员模式或用户模式下,访问权限取决于为该区域设置的权限。

失败的读取或写入访问会生成加载或存储访问异常,并且指令访问错误会在失败的指令获取时发生。当尝试从没有执行权限的区域执行时发生异常时,错误发生在获取而不是分支上,因此mepc CSR 将反映目标保护区的值,而不是分支的地址。

一条指令可能产生多个访问,这可能不是相互原子的。如果一条指令产生的至少一次访问失败,则将发生异常。一条指令的其他访问可能会成功,但会产生明显的副作用。例如,对虚拟内存的引用可以分解为多个访问。

在某些实现中,未对齐的加载、存储和指令提取也可能被分解为多个访问,其中一些可能在访问异常发生之前成功。特别是,通过 PMP检查的未对齐存储的一部分可能变得可见,即使另一部分未通过 PMP 检查。对于比 XLEN 位宽的浮点存储(例如,RV32D 中的 FSD指令),即使存储地址自然对齐。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信