欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

RISC-V 特权架构 - CSR 寄存器-1 CSR 地址空间

最编程 2024-04-30 21:04:58
...

RISC-V架构中定义了一些控制和状态寄存器(control and status register),简称CSR,与32个物理寄存器不同(物理寄存器可以认为是5位地址寻址的),这些CSR是用12位地址进行寻址的,因此理论上最多可以有4096个CSR寄存器,并且地址空间是私有独立的,不同于全局地址空间。

CSR地址空间,定义如下:
在这里插入图片描述
CSR地址的高4bits,用于编码CSR在各个权级上的可读写性:

  • [11:10],表示该寄存器是可读写(00,01或10),还是只读(11)。
  • [9:8],表示允许访问该寄存器的最低权级。
    00:用户级,用户模式及以上权级(用户、监管、机器)可访问。
    01:监管级,监管模式及以上权级(监管、机器)可访问。
    10:超级监管级(扩展模式),仅在虚拟化时使用,用于访问虚拟化专用的CSR。
    11:机器级,仅机器模式可访问。
    从上图也可以看到,根据[9:8]的值,整个CSR地址空间被分为了4个部分。

除此之外,上图还指定了哪些CSR地址是标准用途,而哪些是自定义用途。
用于自定义的CSR地址,不会在未来标准扩展中被重新定义。