阿里巴巴达摩院刘志伟:QEMU RISC-V 的进展、特性与未来规划

嵌入式技术

1411人已加入

描述

2025 年 7 月 18 日,在第五届(2025)RISC-V 中国峰会的软件与生态系统分论坛上,阿里巴巴达摩院 RISC-V 及生态部技术专家刘志伟带来了关于 QEMU RISC-V 的报告,分享了 QEMU 去年的合入情况、最新特性以及未来的规划与展望。
 
QEMU 是通用开源机器模拟器和虚拟化器,可跨平台运行操作系统和程序,支持多种架构虚拟化。目前,QEMU 已包含 9 个开发板、25 个 CPU、6 个 Profile 以及 141 个扩展。去年,QEMU 合入了一些新的扩展,包括对 RVA23 Profile 的支持、RVV 模拟效率的提升、IOMMU 的支持、CFI Profile Mask 等重要扩展的支持,以及声明式 CPU 和 TCG 后端的支持等。
 
刘志伟提到,当前的开发工作主要围绕多个方面展开,如 IOPMP、完善对虚拟化的支持、实现 SMMPT、IOMPT 等以支持机密计算,增加开发板版本支持,完善热迁移功能,支持 Server Soc、多核确定性执行以及 OCP 数据类型等。
 
他还介绍了 QEMU for RISC-V 的最新特性。尽管 QEMU 很早就支持了 RISC-V,但标量编译和向量编译导致其运行速度较慢的问题一直存在。通过分析指令翻译情况,刘志伟解释了该问题出现的原因,并提出了优化方法。
 
社区中的优化主要集中在满足特定条件下的 Helper 函数优化。通过这些优化,SPEC 2006 整数基准测试的总体性能提升了 74.02%,平均运行时间从 8913.70 秒降至 2316.19 秒。刘志伟指出,未来还有许多工作要做,包括 GVEC IR 增加掩码处理机制、优化 stride、IOMMU 的复用以及 SMMPT 的实现等。
 
此外,在其他特性上,IOMMU 复用了 IOMMUMemoryRegion,扩展了 PASID;SMMPT 实现了按域的访问,为机密计算提供支持,每个域通过 SDID 标记,并借助 MPT 的页目录地址来实现访问。
 
在多核确定性执行方面,十几年前单线程的多核执行已完成,但随着多核调试需求的增加,多核确定性执行成为新的挑战。目前,多核轮询模式下的确定性执行已完成开发。
 
在 Plugin 支持方面,QEMU 已实现对指令插装的支持,且去年有了新进展,特别是在集成器访问变动的插装方面。不过,社区在这方面的机制仍有待完善。
 
在 AI 相关的 OCP 数据格式支持上,由于 AI 在 RISC-V 的应用广泛,而 BF16 在模拟中存在最大指数的编译、N/A 无穷大的处理以及 0 的定义等冲突问题。因此,通过增加数据类型、对 canonicali 进行数据支持、选择 OCP 并制定相关扩展、借助 ALTFMT 机制支持,未来会兼容 P3109 或类似被 AI 广泛采用的数据类型。
 
面向未来,QEMU 社区的工作主要包括多个方面:在 AI 的指令集方面,支持 OCP Matrix 和 P 扩展,讨论 64 位的指令宽度并增加机制上的支持;在精密计算的三个扩展(如 E-trace、IOPMP 等)上,进一步细化模拟,实现更好的建模;此外,还将支持 PCIE、Qos 和 RAS。
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐
  • 热点推荐

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分