欢迎光临
我们一直在努力

RISC-V架构 - 关键知识点检索及栈帧调试

RISC-V硬件学习平台:玩转QEMU硬件模拟器 – FreedomStudio开发SiFive_e内核 RISC-V硬件学习平台:玩转QEMU硬件模拟器 – FreedomStudio开发SiFive_e内核

开篇废话

  RISC-V 凭借开放性迅速吸引了全球产业链参与。目前,其生态已覆盖芯片设计(如英伟达、高通、华为等企业的研发投入)、操作系统适配(Linux、FreeBSD 等已支持 RISC-V)、软件开发工具链(GCC、LLVM 等完善支持)及应用场景拓展(嵌入式设备、AI 芯片、边缘计算等)。其基础指令集(RV32I/RV64I)仅包含几十条最核心的指令,确保了硬件实现的简洁性和高效性;而通过可选扩展模块(如 M 扩展用于整数乘法除法、F/D 扩展支持浮点运算、V 扩展针对向量计算等),可按需构建从微控制器到超级计算机的全场景处理器架构。这种模块化设计打破了传统指令集 “一刀切” 的局限,让开发者能根据需求定制硬件,平衡性能与功耗。而作为技术“牛马”的我们也只有紧跟技术潮流才能有得草吃,不饿肚子干活。   RISC-V 指令集ISA采用模块化设计,由基础指令集与一系列标准扩展指令集模块组成,开发者可按需灵活选用,以适配不同应用场景与硬件设计需求。作者在做嵌入式软件开发时,编译flag: -march=rv32e -mabi=ilp32e。

指令集模块名称
指令集说明
^ 基础整数指令集
RV32I 这是 32 位地址空间的基础整数指令集,是任何 RISC-V 实现都必备的核心模块 。指令数量精简,仅有 47 条,但功能完备,涵盖整数计算指令、控制转移指令、加载 – 存储指令以及系统调用指令等,能够满足现代操作系统和运行时环境的基本要求,为编译器目标的构建提供支撑。
RV64I 适用于 64 位地址空间,在 RV32I 的基础上进行扩展,除包含 64 位整数指令外,还涵盖部分 32 位整数指令,指令数量增加到 59 条。相较于 RV32I,它能处理更大范围的数据,适用于对数据处理能力和地址空间要求更高的场景 。
RV32E 属于 RV32I 的子集,在一些嵌入式等对资源限制极为严格的场景中使用。与 RV32I 不同的是,它仅支持 16 个通用寄存器,以进一步简化硬件设计,降低成本与功耗 。
RV128I 针对 128 位地址空间设计,包含了部分 64 位和 32 位整数指令,共 71 条指令。目前处于草案阶段,随着技术发展与应用拓展,未来或能在超大规模数据处理和特定高端计算领域发挥作用 。
^ 标准扩展指令集
M 扩展 即乘除扩展模块,为 RISC-V 增添了整数乘除法指令,包含有符号和无符号的整数乘除法操作,弥补了基础整数指令集中乘除运算指令的缺失,提升了处理器在数值计算方面的性能,例如在科学计算、金融运算等场景中发挥重要作用 。
F 扩展 单精度浮点标准扩展指令集,运用 32 个独立的浮点寄存器,具备加载 – 存储指令、算术指令,以及用于快速、简洁和准确执行的加减乘除融合计算指令,同时还包括符号注入指令以及分类指令等,以满足单精度浮点运算需求,常用于图形处理、信号处理等对单精度浮点数运算频繁的领域 。
D 扩展 双精度浮点标准扩展指令集,同样使用 32 个独立浮点寄存器,提供双精度浮点运算能力,其指令构成与 F 扩展类似,但处理的数据精度更高,适用于对计算精度要求严苛的科学计算、高端数据分析等场景 。F 和 D 扩展虽未提供浮点分支指令,但通过浮点比较指令,依据比较结果设置寄存器值为 0 或 1,从而实现分支跳转功能。
A 扩展 标准原子扩展模块,提供原子操作指令集,为多线程同步操作提供技术保障 。以 RV32A 为例,针对不同使用场景,分别提供加载保留 / 条件存储指令和获取和操作存储器指令,其中加载保留和条件存储指令可确保原子的比较 – 交换操作,在多处理器系统、并行计算等需要数据同步的场景中至关重要。
C 扩展 压缩扩展模块,属于标准压缩指令集,指令长度为 16 位。每条 16 位压缩指令基本都有对应的 32 位标准指令,且该扩展主要对汇编器和链接器可见,编译器和汇编语言开发者可忽略其存在。在存储资源有限的嵌入式设备等场景中,通过使用 16 位指令,可有效减少代码体积,降低存储成本 。
V 扩展 向量扩展模块,采用向量架构,实现了内部向量寄存器宽度与指令集的分离,克服了传统单指令多数据流(SIMD)指令集因加宽寄存器而需扩展指令集,导致上层软件适配困难的问题。RISC-V 向量指令集涵盖向量计算指令、load – store 指令、向量条件运算等指令,在人工智能、大数据处理、多媒体加速等需要大量并行计算的领域具有显著优势 。
Q 扩展 128 位的四精度浮点指令集扩展,其浮点寄存器可存储单精度、双精度或四精度浮点数,该扩展要求实现 RV64IFD,为对浮点运算精度有极致要求的专业计算领域提供支持 。

RISC-V架构32个通用寄存器分类说明

赞(0)
未经允许不得转载:171主机测评 » RISC-V架构 - 关键知识点检索及栈帧调试
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址