
RISC-V
文章平均质量分 96
RISC-V学习
禾仔仔
等待,纪律,享受孤独
展开
-
ECLIC中断流程及实际应用 —— RISC-V中断机制(二)
芯来N级别处理器内核通过改进型内核中断控制器(ECLIC)管理中断,使用多个CSR寄存器(如mepc、mcause、mtvec等)保存控制信息和处理中断流程。ECLIC中断处理流程包括硬件自动更新寄存器、跳转到共享中断入口、保存上下文、执行中断服务程序、恢复上下文并退出中断。通过自定义指令和寄存器优化,ECLIC减少了中断延迟并支持中断嵌套和咬尾处理。原创 2025-05-09 14:42:30 · 1898 阅读 · 0 评论 -
RISC-V CLINT、PLIC及芯来ECLIC中断机制分析 —— RISC-V中断机制(一)
RISC-V的中断机制通过CLINT和PLIC两个控制器实现,分别管理本地和全局中断。CLINT负责软件中断和定时器中断,设计简洁但功能有限,适用于单核或轻量级多核系统。PLIC则负责外部设备中断,支持优先级仲裁和多核处理,功能更为复杂和强大。两者共同构成了RISC-V的中断处理体系,旨在通过模块化设计降低开发门槛,但其设计合理性仍需市场验证。相比之下,ARM的GIC功能更为完备但配置复杂,RISC-V的简洁设计在特定场景下具有优势。原创 2025-05-09 13:24:49 · 4288 阅读 · 0 评论 -
RISC-V汇编学习(五)—— 汇编实战、GCC内联汇编(基于芯来平台)
高级编程语言如C、C++、Java、Python等已经极大地简化了软件开发的过程,并且在大多数应用领域中提供了足够的抽象层次来隐藏底层硬件细节,但在某些特定场景下,汇编语言仍然不可或缺。但是掌握汇编语言不仅要求对目标架构有深入的理解,还需要投入大量的时间和精力去学习其语法和最佳实践,这对于大部分的开发者来说还是有难度的,实际上也没有必要完全掌握,因为大部分人并不会直接去写汇编程序。原创 2025-03-14 12:45:32 · 1457 阅读 · 0 评论 -
RISC-V汇编学习(四)—— RISCV QEMU平台搭建(基于芯来平台)
无论是x86架构还是ARM架构的汇编代码,都需要在对应架构的物理芯片或兼容的模拟环境中执行。这意味着任何机器码都必须在相应的处理器架构上运行,以实现对底层硬件的操作。RISC-V架构也不例外,因此我们需要搭建一个合适的执行平台。通常有两种主要的方法来实现:1、使用实际的RISC-V开发板 2、通过软件模拟器如QEMU创建虚拟环境。原创 2025-03-13 22:40:26 · 1291 阅读 · 1 评论 -
RISC-V汇编学习(三)—— RV指令集
RISC-V是一种开源的指令集架构(ISA),它遵循精简指令集计算(RISC)的原则,旨在为各种计算设备提供高效、灵活的基础。与传统的专有ISA不同,RISC-V的设计强调简洁性、模块化和可扩展性,使其成为从嵌入式系统到超级计算机广泛应用的理想选择。博客列举RISC-V指令集,包括基础整数指令集RV32I/RV64I以及一系列标准扩展,如乘法和除法(M)、原子操作(A)、浮点运算(F/D)等原创 2025-03-08 23:05:22 · 3154 阅读 · 0 评论 -
RISC-V汇编学习(二)—— 汇编语法
在具体汇编指令和汇编实战之前,还是有必要对RISC-V汇编进行下介绍,我一般称之为RISC-V汇编的“语法”,可能“语法”较少,也相对比较简单的原因,大部分的博主都是一笔带过,但本着循序渐进的原则,还是简单概述下,以便加深认识。原创 2025-03-02 17:55:42 · 1459 阅读 · 0 评论 -
RISC-V汇编学习(一)—— 基础认识
ISA(Instruction Set Architecture) 指令集架构,可以说是CPU的灵魂,是软硬件之间的桥梁;定义了指令集(指令类型和编码、寻址方式)、数据类型、存储模型、系统模型(中断、异常、特权等级等)、软件可见的处理器状态(通用寄存器、PC、处理器状态等)。原创 2025-03-02 17:06:40 · 1412 阅读 · 0 评论