每個 PMP 區域都由一個 8 位 pmpXcfg 字段描述,與一個 64 位 pmpaddrX寄存器結合使用,該寄存器保存受保護區域的基地址。每個區域的范圍取決于下一節中描述的尋址 (A) 模式。pmpXcfg 字段位于 64 位 pmpcfgY CSR中。
每個 8 位 pmpXcfg 字段包括一個讀、寫和執行位,外加一個兩位地址匹配字段 A 和一個鎖定位 L。允許重疊區域,其中編號最小的 PMP條目勝出該區域。
PMP 配置寄存器
對于 RV64 架構,未實現 pmpcfg1 和 pmpcfg3。這減少了占用空間,因為 pmpcfg2 已經包含 RV32 和 pmp11cfg的配置字段 pmp8cfg 和 RV64。

pmpcfgY 和 pmpaddrX 寄存器只能通過 CSR 特定指令訪問,例如用于讀取的 csrr 和用于寫入的 csrw。

復位后,PMP 寄存器字段 A 和 L 設置為 0。RISC?V 指令集手冊第 II 卷:特權架構版本 1.10 未指定所有其他 hart狀態。
下面是一些使用 NAPOT 地址模式的例子。

PMP 地址寄存器
PMP 有 8 個地址寄存器。每個地址寄存器 pmpaddrX 都與相應的 pmpXcfg字段相關聯。每個地址寄存器都包含右移兩位的受保護區域的基地址,以實現最小 4 字節對齊。
根據 RISC?V 指令集手冊,第二卷:特權架構,版本 1.10,最大編碼地址位為 [55:2]

-
寄存器
+關注
關注
31文章
5608瀏覽量
129968 -
內核
+關注
關注
4文章
1467瀏覽量
42873 -
PMP
+關注
關注
0文章
45瀏覽量
18711 -
RISC
+關注
關注
6文章
485瀏覽量
86601 -
架構
+關注
關注
1文章
532瀏覽量
26589 -
sifive
+關注
關注
0文章
37瀏覽量
9781
發布評論請先 登錄
【RISC-V開放架構設計之道|閱讀體驗】RISC-V基礎整數指令集
RISC-V 基礎學習:RISC-V 基礎介紹
RISC-V工作模式及寄存器基本知識
RISC-V基礎指令詳解
RISC-V M擴展介紹
RISC-V B擴展介紹及實現
玄鐵VirtualZone:基于RISC-V架構的安全擴展
初探RISC-V—《RISC-V體系結構編程與實踐》
RISC-V 發展
RISC-V MCU gp全局指針說明
RISC-V特權架構和通用寄存器
RISC-V PMP寄存器介紹
評論