首页
/ RISC-V ISA手册中Smstateen扩展的CSR缩写名称更新

RISC-V ISA手册中Smstateen扩展的CSR缩写名称更新

2025-06-17 20:33:14作者:胡易黎Nicole

在RISC-V架构的Smstateen扩展中,控制状态访问权限的CSR寄存器现在有了标准的缩写名称。这些缩写名称将被集成到RISC-V ISA手册的Smstateen章节中,以提供更清晰的技术文档。

状态使能寄存器概述

Smstateen扩展引入了三个关键的状态使能寄存器:

  • mstateen0(机器模式状态使能寄存器)
  • hstateen0(虚拟机监控程序状态使能寄存器)
  • sstateen0(监管者模式状态使能寄存器)

这些寄存器通过位字段控制对特定CSR和状态的访问权限。

标准缩写名称定义

以下是各寄存器位字段的标准缩写名称及其控制范围:

通用位字段(所有三个寄存器)

  • C (bit 0):控制对任何自定义状态的访问
  • FCSR (bit 1):控制对fcsr寄存器的访问(Zfinx及相关扩展)
  • JVT (bit 2):控制对jvt寄存器的访问(Zcmt扩展)

机器模式特有字段(mstateen0)

  • SE0 (bit 63):控制对hstateen0/hstateen0hsstateen0 CSR的访问
  • ENVCFG (bit 62):控制对henvcfg/henvcfghsenvcfg CSR的访问
  • CSRIND (bit 60):控制对Sscsrind扩展的CSR(siselectsireg*等)的访问
  • AIA (bit 59):控制对Ssaia扩展的非IMSIC状态的访问
  • IMSIC (bit 58):控制对IMSIC状态(包括stopeivstopei CSR)的访问
  • CONTEXT (bit 57):控制对hcontextscontext CSR的访问
  • P1P13 (bit 56):控制对Priv 1.13引入的hedelegh CSR的访问(仅RV32)

虚拟机监控程序特有字段(hstateen0)

  • SE0 (bit 63):控制对sstateen0 CSR的访问
  • ENVCFG (bit 62):控制对senvcfg CSR的访问
  • CSRIND (bit 60):控制对Sscsrind扩展的CSR(vsiselectvsireg*等)的访问
  • AIA (bit 59):控制对Ssaia扩展的非IMSIC状态的访问
  • IMSIC (bit 58):控制对客户机IMSIC状态(包括vstopei CSR)的访问
  • CONTEXT (bit 57):控制对scontext CSR的访问

技术意义

这些标准缩写名称的引入为RISC-V架构文档带来了以下优势:

  1. 提高了文档的可读性和一致性
  2. 便于开发者快速识别各控制位的功能
  3. 为未来的扩展预留了清晰的命名空间
  4. 增强了不同实现之间的互操作性

这些缩写将在RISC-V ISA手册的Smstateen章节中以寄存器布局图的形式呈现,每个位字段上方或下方将标注其缩写名称,使技术文档更加直观和易于理解。

对于RISC-V开发者而言,熟悉这些缩写名称将有助于更高效地开发与状态访问控制相关的代码,特别是在涉及安全隔离和权限管理的场景中。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
24
7
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
9
1
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
1.03 K
477
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
375
3.21 K
pytorchpytorch
Ascend Extension for PyTorch
Python
169
190
flutter_flutterflutter_flutter
暂无简介
Dart
615
140
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
62
19
cangjie_compilercangjie_compiler
仓颉编译器源码及 cjdb 调试工具。
C++
126
855
cangjie_testcangjie_test
仓颉编程语言测试用例。
Cangjie
36
852
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
647
258