0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RISC-V PMP寄存器介绍

麦辣鸡腿堡 ? 来源:嵌入式Linux充电站 ? 作者: Vincent ? 2023-10-07 17:39 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

每个 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

    文章

    5440

    浏览量

    124967
  • 内核
    +关注

    关注

    3

    文章

    1417

    浏览量

    41558
  • PMP
    PMP
    +关注

    关注

    0

    文章

    45

    浏览量

    18465
  • RISC
    +关注

    关注

    6

    文章

    482

    浏览量

    85091
  • 架构
    +关注

    关注

    1

    文章

    529

    浏览量

    26039
  • sifive
    +关注

    关注

    0

    文章

    37

    浏览量

    9621
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RISC-V PMP调试

    RISC-V PMP调试
    的头像 发表于 06-08 11:52 ?2490次阅读
    <b class='flag-5'>RISC-V</b> <b class='flag-5'>PMP</b>调试

    RISC-V开放架构设计之道|阅读体验】RISC-V基础整数指令集

    第2章 RV32I:RISC-V基础整数指令集 本章重点讲解构成RISC-V基础整数指令集的基本指令和指令格式。主要包含寄存器间操作的R型,用于短立即数和取数操作的I型,用于存数操作的S型,用于条件
    发表于 01-31 21:10

    RISC-V 基础学习:RISC-V 基础介绍

    缩写 [###] 用于标识处理位宽,取值[32, 64,128],也就是处理寄存器位宽 [abc...xyz] 标识该处理支持的指令模块集合 比如:RV64IMAC, 表示6
    发表于 03-12 10:25

    RISC-V工作模式及寄存器基本知识

    RISC-V Linux为例,Linux应用程序处于U模式,Linux内核/uboot处于S模式,M模式则是OpenSBI。M模式拥有最高访问权限,Linux内核如果要访问CSR寄存器,则必须由S模式切换
    发表于 04-12 14:06

    RISC-V基础指令详解

    RISC-V中定义了六种指令类型,其中包括 R型指令 : 用于寄存器寄存器之间算数运算的指令 I型指令 : 用于寄存器和立即数算术运算和读存储
    发表于 12-29 18:47

    如何在RISC-V处理上使用FreeRTOS?

    RISC-V实现共有的寄存器的基本移植,以及一组macros,实现硬件特定的特性和扩展。1. 快速入门为RISC-V内核构建FreeRTOS,步骤如下:1包含FreeRTOS内核源代码及RIS
    发表于 11-29 15:54

    RISC-V开源处理介绍

    本期文章目录一个小型RISC-V开源处理介绍!#SOC#FPGA#RISC-V点击阅读数字积木从零开始写RISC-V处理
    发表于 07-23 09:42

    玄铁VirtualZone:基于RISC-V架构的安全扩展

    (PMP)RISC-V架构提供了一种PMP物理内存保护机制,用于隔离M模式与S/U模式下的内存访问。只有M模式才有权限配置PMPPMP包含
    发表于 09-01 14:38

    初探RISC-V—《RISC-V体系结构编程与实践》

    最近有幸读了一本介绍RISC-V的书籍《RISC-V体系结构编程与实践》,这是一本非常有价值的书籍,它介绍RISC-V体系结构的各个方面,
    发表于 03-28 11:41

    RISC-V 发展

    通用寄存器,每个通用寄存器都有各自的用途。例如x2是作为sp栈指针、a0-a1用来保存函数参数或返回值。x0寄存器被硬编码为了0,就是个0值寄存器。ABI名称相当于这些通用
    发表于 04-14 10:18

    AArch64寄存器介绍

    作为 RISC 架构,AArch64 提供了大量的通用寄存器。除通用寄存器之外,本节还会介绍特殊寄存器、系统控制
    的头像 发表于 08-24 09:57 ?6847次阅读

    RISC-V MCU gp全局指针说明

    gp ,g lobal pointer,全局指针寄存器RISC-V 32个寄存器之一,为了优化±2KB内全局变量的访问。
    的头像 发表于 02-15 11:55 ?2247次阅读

    用于RISC-V处理的三重模块化冗余ALU和寄存器文件的设计示

    用于RISC-V处理的三重模块化冗余ALU和寄存器文件的设计示例 演讲ppt分享
    发表于 07-17 16:34 ?2次下载

    RISC-V特权架构和通用寄存器

    RISC-V特权架构 ARM有7种工作模式,而RISC-V也有不同的模式,这些模式在RISC-V中也被称为特权架构。 RISC-V总共有四种模式,分别是U、S、H和M模式: U模式被编
    的头像 发表于 10-08 14:48 ?2045次阅读
    <b class='flag-5'>RISC-V</b>特权架构和通用<b class='flag-5'>寄存器</b>

    RISC-V CSR寄存器介绍

    RISC-V CSR寄存器 CSR是控制状态寄存器RISC-V中CSR寄存器,需要使用csrr、csrw、csrrw等特定指令进行访问。
    的头像 发表于 10-08 14:53 ?6938次阅读
    <b class='flag-5'>RISC-V</b> CSR<b class='flag-5'>寄存器</b><b class='flag-5'>介绍</b>