LoongArch 指令集异常-中断指令学习与设计

龙芯架构 32 位精简版中处理器核分为 2 个特权等级(Privilege LeVel,简称 PLV),分别是 PLV0 和 PLV3。
处理器核当前处于哪个特权等级由 CSR.CRMD 中 PLV 域的值唯一确定。所有特权等级中,PLV0 是具有最高权限的特权等级,也是唯一可以使用特权指令并访问所有特权资源的特权等级。PLV3 这个特权等级不能执行特权指令访问特权资源。对于 Linux 系统来说,架构中仅 PLV0 级可对应核心态,PLV3 级对应用户态。

所有特权指令仅在 PLV0 特权等级下才能访问。但是可以在 PLV3 特权等级下执行 Hit 类 CACOP 指令。

CSR 访问指令

CSRRD, CSRWR, CSRXCHG
在这里插入图片描述
在这里插入图片描述

CSRRD、CSRWR 和 CSRXCHG 指令用于软件访问 CSR。CSRRD 指令将指定 CSR 的值写入到通用寄

存器 rd 中。CSRWR 指令将通用寄存器 rd 中的旧值写入到指定 CSR 中,同时将指定 CSR 的旧值更新到通
用寄存器 rd 中。CSRXCHG 指令根据通用寄存器 rj 中存放的写掩码信息,将通用寄存器 rd 中的旧值写入到
指定 CSR 中对应写掩码为 1 的那些比特,该 CSR 中的其余比特保持不变,同时将该 CSR 的旧值更新到通
用寄存器 rd 中。
所有 CSR 寄存器采用独立的寻址空间。上述指令中 CSR 的寻址值来自于指令中的 14 比特立即数
csr_num。CSR 的寻址单位是一个 CSR 寄存器,即 0 号 CSR 的 csr_num 是 0,1 号 CSR 的 csr_num 是 1,以
此类推。
在龙芯架构 32 位精简版中,所有 CSR 寄存器的位宽都是 32 位。
当 CSR 访问指令访问一个架构中未定义或硬件未实现的 CSR 时,读动作返回全 0 值,写动作不修改处
理器的任何软件可见状态。需要提请注意的是,CSRWR 和 CSRXCHG 指令不仅包含更新 CSR 的写动作,
也包含读取 CSR 旧值的读动作。

ERTN

指令格式: ertn

在这里插入图片描述

ERTN 指令用于从例外处理返回。
将例外对应的 PPLV、PIE 等信息更新至 CSR.CRMD 中,同时跳转到例外所对应的 ERA 处开始取指。
例外对应的 PPLV、PIE 信息来自于 CSR.PRMD,例外对应的 ERA 来自于 CSR.ERA。
执行 ERTN 指令时,如果 CSR.LLBCTL 中的 KLO 位不等于 1,则将 LLbit 置 0,否则 LLbit 不修改。

syscall

指令格式: syscall code
执行 SYSCALL 指令将立即无条件的触发系统调用例外。
指令码中 code 域携带的信息可供例外处理例程作为所传递的参数使用。
在这里插入图片描述

相关推荐

  1. ubuntu apt指令学习心得

    2023-12-25 18:40:05       29 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-25 18:40:05       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-25 18:40:05       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-25 18:40:05       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-25 18:40:05       18 阅读

热门阅读

  1. 序列化类相关

    2023-12-25 18:40:05       34 阅读
  2. c++ map unordered_map 区别

    2023-12-25 18:40:05       35 阅读
  3. CentOS+web

    2023-12-25 18:40:05       41 阅读
  4. MongoDB创建和查询视图(二)

    2023-12-25 18:40:05       37 阅读
  5. linux 内核时间计量方法

    2023-12-25 18:40:05       26 阅读
  6. matlab一本通 学习笔记三

    2023-12-25 18:40:05       35 阅读
  7. redis和数据库的同步问题

    2023-12-25 18:40:05       36 阅读
  8. Spring Cloud Alibaba 之 Sentinel

    2023-12-25 18:40:05       41 阅读