RISC-V架构——中断委托和中断注入

1、中断委托

1.1、中断委托的作用

(1)默认情况下,所有的陷入(中断和异常)都是在M模式下处理,然后再返回到发生陷入前的模式;

(2)所有陷入都在M模式处理会涉及到模式切换,而模式切换是比较消耗性能和时间的。比如:在S模式下发生外部中断,需要切换到M模式处理中断,然后再返回到S模式;

(3)中断委托:就是把本来需要在M模式处理的中断和异常委托给S模式处理,当被委托的中断发生时,直接跳转到S模式的异常处理函数,不用再切换到M模式处理

1.2、中断委托相关寄存器

1.2.1、中断委托寄存器mideleg

1.2.2、异常委托寄存器medeleg

1.3、中断委托注意事项

(1)当处理器支持S模式时,必须实现mideleg和medeled寄存器,如果不支持S模式就不要实现;

(2)中断委托不能把M模式产生的中断委托给S模式。举例:把非法指令异常委托给S模式处理,S模式和M模式下发生的非法指令由S模式处理,而不再用M模式处理;但是M模式发生的非法指令异常,还是需要由M模式处理,不会交由S模式处理。

(3)中断委托寄存器mideleg和medeleg,只能在M模式下访问和修改;

2、中断注入

2.1、中断注入的作用

(1)中断注入,顾名思义就是在M模式下手动向S模式去产生一个中断。比如:向mip寄存器的bit5写1,S模式就会产生一个时钟中断;

(2)中断注入类似于软件中断,由软件来产生,相对而言是硬件中断,硬件中断一般是靠GPIO引脚的高低电平来触发;

2.2、中断注入相关寄存器MIP

相关推荐
ChipCamp8 天前
ChipCamp探索系列 -- 1. Soft-Core RISC-V on FPGA
fpga开发·verilog·risc-v
ChipCamp11 天前
Chisel芯片开发入门系列 -- 18. CPU芯片开发和解释8(流水线架构的代码级理解)
开发语言·青少年编程·fpga开发·scala·dsp开发·risc-v·chisel
思尔芯S2C13 天前
Cost-Effective and Scalable: A Smarter Choice for RISC-V Development
fpga开发·risc-v·soc设计·prototyping
ChipCamp15 天前
Chisel芯片开发入门系列 -- 14. CPU芯片开发和解释4(Load/Store指令再探)
arm开发·青少年编程·fpga开发·scala·dsp开发·risc-v·chisel
芝士爱沙拉19 天前
智能落地扇方案:青稞RISC-V电机 MCU一览
单片机·嵌入式硬件·risc-v·电机驱动
OpenAnolis小助手23 天前
RISC-V基金会Datacenter SIG月会圆满举办,探讨RAS、PMU性能分析实践和经验
开源·龙蜥社区·risc-v·datacenter sig·龙蜥社区risc-v sig
月光技术杂谈25 天前
《RISC-V 导论:设计与实践》开源课件(附下载链接)
开源·risc-v·课件
月光技术杂谈25 天前
上海RISC-V峰会-香山开源RISC-V CPU随想随记
verilog·risc-v·chisel·vhdl·香山·开源cpu·xiangshan
随风ada1 个月前
Windows、macOS、liunx下使用qemu搭建riscv64/linux
linux·windows·ubuntu·macos·golang·qemu·risc-v
openKylin1 个月前
填补空白!openKylin率先完成RISC-V商业打印驱动全适配
risc-v