通常一个简易的RISC-V处理器由三大块构成,一是执行指令流水的core,二是平台中断控制的PLIC,三是负责调试的DM(debug module)。这篇文章简易总结一下PLIC。 PLIC简述 PLIC(platform-level interrupt controller),平台级中断控制器。用来将外部的全局中断请求处理后转至中断目标。PLIC理论上支持1
根据RISC-V 特权架构,中断(Interrupts)是 异常(Exception)机制 的一部分,分为以下三类: 1. 外部中断(External Interrupts) • 由外设(如串口、网卡、定时器)触发,需要 PLIC 进行管理。 2. 软件中断(Software Interrupts) • CPU 内部触发的中断,如多核 CPU 之间的进程通信。 3. 定时器中断(Timer Interru...
RISC-V提供了多种中断控制器机制,其中最常见的是**平台级中断控制器(Platform-Level Interrupt Controller, PLIC)**和**增强型核心本地中断控制器(Enhanced Core Local Interrupt Controller, ECLIC)**。这两种机制分别针对不同的应用场景,为RISC-V处理器提供了灵活的中断管理能力。 本文将详细介绍PLIC和ECLIC的基本...
PLIC 无法将新中断转发给已声明中断但尚未完成中断处理程序的完整步骤的 hart。因此,PLIC 不支持抢占单个 hart 的全局中断。 通过PLIC 路由的全局中断的中断 ID 独立于本地中断的中断 ID。在退出处理程序之前,一旦初始声明/完成过程完成,PLIC 处理程序可能会检查其他未决的全局中断。此方法可以为全局中断保存额外的 PL...
risc-v--PLIC中断原理 PLIC 硬件结构包括以下几个主要部分: 优先级寄存器(Priority Registers):每个中断源都有一个优先级寄存器,用于设置中断的优先级。 挂起寄存器(Pending Registers):每个挂起寄存器包含32个中断源的挂起状态。 中断使能寄存器(Enable Registers):每个hart都有一组中断使能寄存器,用于使能或禁用特定中断...
1.PLIC中断处理 在RISC V体系架构中,对中断有着一些定义,下面来分析一下这种定义的实现策略。 在riscv中一共定义了三种状态中断,对于hart层面,hart包含local中断源和global中断源。而local中断只有Timer和Software中断两种,而global中断则称为external interrupts。只有global中断源可以被PLIC core响应,通常为I/O device...
1.PLIC中断处理 在RISC V体系架构中,对中断有着一些定义,下面来分析一下这种定义的实现策略。在risc...
d1(clint+plic) 本文分析的d1上的clint编程模型,将能够很好的理解riscv的中断编程的设计。 图片上概述了相对标准的RISCV中断控制部分的机制,对于D1单核的情况来看,CLINT只负责处理软件中断和时钟中断,因为这两个中断是RISC-V架构中定义的。经过CLINT不需要进行任何的仲裁,直接将中断(Software与Timer)送入D1的RISC...
RT-Thread is an open source IoT Real-Time Operating System (RTOS). - [riscv]统一plic和中断控制的接口实现 · RT-Thread/rt-thread@70e3ae8
As a result, the PLIC provides no concept of interrupt preemption or nesting so this must be handled by the cores hosting multiple interrupt target contexts. Figure 1. RISC-V PLIC Interrupt Architecture Block Diagram 2. Interrupt Gateways The interrupt gateways are responsible for converting global...