《5.QEMU RISC-V支持的最新进展.pdf》由会员分享,可在线阅读,更多相关《5.QEMU RISC-V支持的最新进展.pdf(19页珍藏版)》请在三个皮匠报告上搜索。
1、QEMURISC-V支持的最新进展刘志伟阿里巴巴达摩院技术专家Contents目录过去一年的社区合入情况QEMUforRISC-V最新进展01以声明式CPU等5个特性为例QEMUforRISC-V最新特性介绍02社区未来一年的工作未来规划和展望03QEMU对RISC-V的支持概况VirtKunminghuMicroblazeSpike9个开发板动态厂商裸Profile25个CPUmaxRV64KunminghuAscalonRV32IRV64IRVA23S646个ProfileRVA22RVB23RVA23RVA22S64RVA22U64RVB23S64RVB23U64RVA23S64RVA2
2、3U64141个扩展RV标准扩展草案扩展厂商扩展x-svukteZicondZicfilpIAZbbSmmpmMVVentanaXuanTieQEMUforRISCV进展最近一年合入的重要特性RISCV架构的工作进展CPUaccelTCGKVMCFIRVVbackendDeviceIOMMUMachineFirmwareACPISMBIOSPointerMask支持RVA23profile提升RVV模拟效率支持IOMMU支持CFI,PointerMask等重要扩展声明式CPUTCG后端支持Vector动态SXLEN支持QEMUforRISCV进展社区在进行的工作RISCV架构的工作进展CPUD
3、eviceMachineE-traceMatrixSMMPTIOMPTIOPMP实现IOPMP,完善对虚拟化的支持实现SMMPT,IOMPT等,支持机密计算增加开发板版本支持,完善热迁移功能ServerSoc支持多核确定性执行支持OCP数据类型SMPdeterministicServerSoc声明式CPU存在的问题初始化逻辑碎片化混合编程模式同时使用继承(subclassing)和直接函数调用管理属性,增加代码复杂度声明式机制引入RISCVCPUDef结构体在.instance_init阶段,通过单次拷贝将RISCVCPUDef数据应用到RISCVCPU实例消除instance_post_in
4、itTYPE_OBJECTTYPE_CPUTYPE_RISCV_CPUQEMUforRISCV最新特性介绍声明式CPUTYPE_RISCV_VENDOR_CPUTYPE_RISCV_BARE_CPUTYPE_RISCV_DYNAMIC_CPUTYPE_RISCV_64I_CPUTYPE_RISCV_CPURVA23S64TYPE_RISCV_CPURVA23S64TYPE_RISCV_CPU_SIFIVE_ETYPE_RISCV_CPU_SIFIVE_E31TYPE_RISCV_CPU_SIFIVE_E34TYPE_RISCV_CPU_MAXGuest指令GVEC IRHelper函数VEC
5、IRTCG IRHost执行向量翻译为什么慢向量探测Helper函数TCG IRAVX/SSE不支持标量单元利用主机向量能力不足,主要的原因:1.向量IR不支持Mask操作2.向量寄存器只支持4种操作宽度3.GVEC IR的映射情况(无法直接映射)IRGVEC17%TCG11%Helper72%RVV前端翻译统计前端翻译统计翻译QEMUforRISCV最新特性介绍向量优化Helper函数为什么慢以单精度浮点加法为例的运算类指令典型片段运算类指令慢的原因是无法向量化n边界。可以通过TBFlags解决。n掩码。可以通过TBFlags解决。n大小端。可以通过预编译宏解决。n精确浮点。只能动态检测。0
6、 x780 x560 x340 x120 x12345678V0小端存储0 x120 x340 x560 x78大端存储0 x780 x560 x340 x120 x12345678V1小端存储0 x120 x340 x560 x78大端存储 V0.w*V1.w=0 x5678*0 x5678,0 x1234*0 x1234QEMUforRISCV最新特性介绍向量优化Helper函数为什么慢以unit-stride为例的访存指令典型片段访存类指令慢的原因是n慢速路径访存。n按照XLEN和Pointermask的要求,计算有效地址。n大小端。nNF的处理。