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 处理--返回
posted @ 2025-06-08 08:38  森郁_林一  阅读(77)  评论(0)    收藏  举报