通常一个简易的RISC-V处理器由三大块构成,一是执行指令流水的core,二是平台中断控制的PLIC,三是负责调试的DM(debug module)。这篇文章简易总结一下PLIC。 PLIC简述 PLIC(platform-level interrupt controller),平台级中断控制器。用来将外部的全局中断请求处理后转至中断目标。PLIC理论上支持1023个外部中断源和15872...
2.PLIC 记录中断,并根据优先级决定是否向 CPU 发送中断信号 3.CPU 读取 PLIC 状态,判断哪个中断需要处理 4.CPU 处理完成后,向 PLIC 发送 “中断完成” 信号 5.PLIC 继续等待下一个中断 关键寄存器 PLIC 通过一系列寄存器管理中断: 1.Pending Register(挂起寄存器) • 记录哪些外部中断正在等待处理。 2.Priorit...
由于PLIC 通过外部中断 #11 与 CPU 接口,因此外部处理程序必须包含一个额外的声明/完成步骤,用于与 PLIC 逻辑握手。 void external_handler() {//get the highest priority pending PLIC interruptuint32_t int_num = plic.claim_complete;//branch to handlerplic_handler[int_num]();//complete interrupt by ...
在RISC v 中,与中断有关的硬件单元主要有ACLINT、CLINT、PLIC、CLIC。 CLINT 的全称是 Core Local Interrupt,ACLINT 的全称是 Advanced Core Local Interrupt, CLIC 的全称是 Core-Local Interrupt Controller。 PLIC 的全称 Platform-Level Interrupt Controller。 尽管CLIC 与 PLIC 名称相似,但是 CLIC 其实是为取代...
I/O 虚拟化留待 RISC-V 中指定。它主要是 IOMMU 和平台级中断控制器 (PLIC) 的一项功能,不属于 RISC-V ISA 的指定范围。当前指定的 PLIC 不包括用于配置中断注入的寄存器。RISC-V 和 ISA 定制 RISC-V 从一开始就被设计为不仅支持基本 ISA 和标准扩展,而且还支持自定义 ISA 扩展。虽然 ARM 最初并未...
这种MSI 中断机制和交换矩阵的思路显然也影响了 RISC-V 的设计者。在 RISC-V 标准中,对 RISC-V 的外部中断控制定义为 PLIC(Platform-Level Interrupt Controller,平台级中断控制器),其结构如图37 所示。 图37 PLIC的结构 从图37 可以看出,PLIC 的设计考虑到了多个 HART 的情况。图37 中门户的作用主要是将中断...
该解决方案包括高性能内核、高能效内核、高速的一致性NoC、RISC-VTrace/Debug调试接口、RISC-V中断控制器(PLIC,CLINT)、功耗管理、安全管理、虚拟化、IO一致性(IOCoherency)和内存子系统等多个组成部分。这些组件共同助力客户在嵌入式、客户端、服务器以及高性能计算等场景中实现芯片的落地。赛昉科技助力RISC-V在高...
C920 多核子系统包含:数据一致性接口单元(CIU)、二级高速缓存、主设备接口单元、可配置的 AXI4.0 设备一致性接口(DCP,Device Coherence Port)、平台级中断控制器(PLIC)、计时器和自定义多核单端口调试框架。 可靠实时增强:R910 玄铁R910 用 12 级多发乱序流水线,典型工作频率>2.5GHz,同时支持 Cache 以及TCM 存储...
当前,赛昉科技能提供成熟的高性能、高带宽、低延迟的RISC-V芯片系统解决方案,方案包括高性能内核、高能效内核、高速的一致性NoC、RISC-V Trace/Debug调试接口、RISC-V中断控制器(PLIC,CLINT)、功耗管理、安全管理、虚拟化、IO一致性(IO Coherency)和内存子系统等。除了用于自研芯片,这些方案也会开放授权给那些...
上篇一文解析RISC-V SiFive U54内核——中断和异常说到,SiFive U54内核有两个中断控制器:CLINT和PLIC。CLINT用于本地中断(软件中断和定时器中断),PLIC用于全局中断。 下面对CLINT进行详细说明。 内核本地中断(CLINT) 下图为CLINT示意图,CLINT通过固定的中断号和优先级,可将软件中断或定时器中断直接发送给指定的hart...