PLIC理解
定义
- platform-level interrupt controller,平台级中断控制器,主要支持将各类设备中断多路复用到hart的中断上下文的外部中断线上,并且硬件支持中断优先级。【外部设备的中断的数量可能远多于hart的外部设备中断线的数量,所以需要PLIC将多个设备中中断映射到少数几个物理中断线上】
元素介绍
- Interrupt target(hart context):在riscv架构中存在hart(hard thread)的概念,类似于cpu核心的意思,对于一个中断而言,他的中断目标通常意义上是硬件上下文,即可以处理中断的hart(m模式下的hart或者支持中断代理的s模式下的hart);
- 特性:
-
多hart上下文处理:单处理核时拥有多个hart上下文(不同特权的hart),明确处理同时发生的中断的逻辑,即路由到不同的hart且cpu处理好同hart但特权级不同导致的中断嵌套问题
-
特权抢占:高特权级的中断可以打断低特权级的中断(M模式可打断S模式)
-
多线程并行:多个hart可同时处理中断
-
专用中断上下文:部分cpu核的hart专用于中断处理,即该hart在设计和使用时仅用于中断处理,通常具有独立的栈空间和寄存器组;无需和普通任务共享资源,减少切换上下文的时间:
例如:触发电流过载hart PLIC PLIC-行为 cpu 软件 普通hart 接收中断信号 路由到全局中断线 保存相关寄存器pc mpp mcause mtvec 软件查询 claim寄存器获取中断id--保存上下文--处理--恢复上下文--返回 专用hart 接收中断信号 路由到特定中断线 保存相关寄存器pc mpp mcause mtvec 处理--返回
-
- 特性:

浙公网安备 33010602011771号