资讯分类
全部资讯
最新活动
商城公告
行业信息
新品推荐
元器件知识
资讯标签
艾迈斯欧司朗(96) 英伟达NVIDIA(70) 艾为awinic(45) 飞腾派V3(37) 萤火工场(30) 罗彻斯特电子(28) Jetson Orin Nano SUPER 开发套件(21) 资料下载专区(18) 进迭时空(15) 艾为 awinic(15) 兆易创新(14) 赛昉科技(StarFive)(12) 灵动微电子(11) 日清纺微电子(9) 小华半导体(9) 上海雷卯Leiditech(8) 赛昉科技(8) 微源半导体 LPSemi(8) NVIDIA(8) Seeed矽递科技(8) 龙芯中科(7) GD32VW553-IOT(7) 物奇WuQi(7) 日清纺微电子Nisshinbo(5) 庆科(5) 开源口碑分享(5) 航顺芯片(4) CEM5826-M11(4) Geehy极海半导体(4) 飞腾派(4) 创捷电子(4) TROQ创捷电子(4) 一件包邮专区(3) FTHR-G0001(3) 罗彻斯特(3) 飞腾派eMMC(3) iCEasy商城(3) MM32SPIN060G(3) EVB-L0130(2) 教育优惠申请链接(2) 启明云端(2) 飞腾官网飞腾派(2) 弈安云(2) 飞腾派下载专区(2) 村田(2) 英伟达初创加速计划(2) 极海(2) 中国星坤(2) 极海半导体(2) 小华EVB-HC32F4A0开发板(2) 国产开源硬件(2) 野火(2) 杭晶(HCI)(2) Mini-SPIN0230(2) NVIDIA品牌专区(2) 华润微电子(2) 口碑评测(2) B站风扇视频(1) Jetson AGX Xavier(32GB)(1) BeagleBoard.org®(1) 社区评奖活动(1) Arduino UNO Rev 4 Minima开发板(1) 下载专区(1) 国产自主可控(1) 英伟达 NVIDIA(1) CEM5861G-M11(1) 赛昉科技9折活动券(1) NVIDIA Jetson Orin Nano 开发套件(1) Arduino品牌专区(1) NVIDIA DGX™ Spark:桌面级AI超级计算机(1) 品牌清仓(1) QCS8550 SOM EVB(1) Jetson AGX Orin 64GB开发套件(1) 24GHz毫米波雷达模块(1) 技术问答专区(1) 英特尔(1) NVIDIA Jetson Nano 模组(1) QCS6490 SOM EVB(1) 天微电子商家页(1) 国产毫米波雷达模块(1) 飞腾派专链(1) 瑞隆源产品(1) 龙芯教育派(1) CEK8902-S905D3(1) EV Board (MM32L0136C7P)(1) 迈巨微电子品牌专区(1) NVIDIA NIM(1) 世野(Khadas)(1) 618大促(1) 竞买活动(1) 雷卯(1) 飞腾派试用申请链接(1) BeagleBone Black快速入门指南(1) 样片申请(1) 飞腾派调研问卷链接(1) 微雪电子(1) 一件免邮专区(1) SFH 7018B(1) 极海半导体(Geehy)(1) Arduino品牌页(1) 小脚丫(1) 618大促专区(1) 艾为(AWINIC)(1) 英伟达 NVIDIA品牌专区(1) MUSE Paper(1) 8月7日竞拍竞买(1) 飞腾派V3版本上新(1) 飞虹半导体(1) 野火RK3566开发板(1) 乐动机器人(1) 海凌科电子(Hi-Link)(1) VF202040-A0(1) 教育优惠(1) 萤火工场GD32VW553-IOT(1) 润石(1) 格力新元(1) CEM5825F(1) COMBO模组 EMC3020-PZI5(1) 松科智能(1) Jetson AGX Thor 开发套件/模组(1) Mini-F5333(1) 微源半导体(1) 周年抽奖活动(1) 庆科信息(MXCHIP)品牌专区(1) 附件(1) 迈巨微(1) 华大北斗(1) GD32无线生态专区(1) JETSON_AGX_ORIN_64GB_DEVELOPER_KIT(1) QCS6490 SOM EVB开发板(1) 附件下载地址(1) 台容积电(1) 雷克沙(1) GD32VW553-IOT V2版本(1) QCS8550 SOM EVB开发板(1) 申请样片:高光效红光OSCONIQ® P 3030, GR QSSPA1.23(1) GD32VW553-IOT V2(1) CEM5881-M11(1) NVIDIA Jetson Orin Nano 开发套件(1) 萤火工场品牌专区(1) 商城下载专区(1) 飞腾人才赋能(1) Jetson AGX Orin 64GB开发套件(1) 荣湃半导体(2Pai Semi)品牌专区(1) 进迭时空品牌页(1)

进迭时空 | 完整符合服务器需求的虚拟化解决方案X100+AIA+IOMMU

发布时间:2025-06-20

虚拟化是云计算技术基石,是RISC-V走进云计算等高性能计算场景的必然要求。


虚拟化允许在单一物理硬件上创建出多个虚拟实例或环境,每一个虚拟环境拥有和物理机相近的计算能力、存储和网络等处理能力,提供了类似物理机的性能和环境,这个虚拟环境通常被称作虚拟机(Virutal Machine)。通过虚拟化,用户可以在同一台服务器上运行多个操作系统、应用程序或服务,从而提高资源利用率、简化管理并降低成本。和直接使用物理机相比,拥有虚拟化能力的硬件平台在资源的有效利用、动态调配和高可靠性方面有着巨大的优势。

在新引入的虚拟化层运行的管理程序通常称为虚拟机管理器(Virtual Machine Manager, VMM),也叫做Hypervisor。虚拟机管理器所运行的环境,也就是真实的物理硬件平台,称之为宿主机(Host)。而虚拟出来的虚拟硬件平台通常称为客户机(Guest),客户机里运行的系统也对应地称为客户机操作系统(Guest OS)。

通过软件模拟实现的虚拟化需要Hypervisor大量截获Guest OS的特权操作,并模拟客户机相应的操作,整个操作过程会涉及大量宿主机和客户机上下文之间的切换,从而会导致客户机的运行效率受到极大的影响。硬件辅助虚拟化就是物理硬件平台本身提供了对特殊指令的截获和重定向的硬件支持,甚至,新的硬件会提供额外的资源来帮助软件实现对关键硬件资源的虚拟化,从而提升性能。

RISC-V国际基金会2021年制定了Hypervisor 1.0规范,2023年制定了AIA 1.0规范和IOMMU 1.0规范,这3个规范定义了RISC-V硬件辅助的CPU虚拟化、外设虚拟化规范,形成了RISC-V特色的硬件辅助虚拟化完整解决方案。


01 CPU虚拟化

进迭时空研发的高性能CPU核X100符合RISC-V Hypervisor Extension (RVH) V1.0标准,支持硬件辅助CPU虚拟化。


虚拟化特权级

操作系统需要为用户态应用程序(User Applications)和操作系统内核(Kernel)提供不同的(U/S)特权级之间的硬件隔离(通常通过MMU),从而提高计算机的性能和安全性。

宿主机操作系统同样需要为客户机和宿主机提供隔离的运行环境;不支持硬件虚拟化的CPU通常只能在较低特权(U)上虚拟出运行Guest OS所需要的虚拟特权级(Virutal U/S), 运行在虚拟特权级(Virtual S)的Guest操作系统访问特权指令时需要陷入到S特权级,并由运行在S特权级的Hypervisor截获操作并代为完成。

X100将RISC-V的(U/S/M)特权级扩展成(VU/VS/HS/M)特权级以支持Hypervisor和Guest OS所需要的运行环境。

X100 通过RVH扩展提供了运行Guest OS所需要的虚拟特权级(Virtual U/S), 其中(VU/VS)特权级分别用于运行Guest OS的用户态应用程序及操作系统内核,而Host OS以及其应用程序则运行在HS/U特权级下。同时为了减少由于模拟客户机特权指令导致的上下文切换,X100 RVH虚拟化扩展为运行Guest OS的vCPU提供了虚拟特权指令,从而提高了整个系统运行的安全性以及虚拟机的运行效率。

此外,硬件自动截获Guest OS少量特殊指令和特权操作,可以使得虚拟机管理器实现多个Guest OS之间的调度。


MMU虚拟化

操作系统通过虚拟内存管理系统管理自己的连续物理内存视图,按需配置为不同权限分配给用户态应用程序和操作系统内核隔离硬件资源。

而Hypervisor操作系统中只存在一级地址转译,要么通过截获Guest OS的地址转译实现Guest虚拟地址(GVA)到Host虚拟地址(HVA)也即Guest物理地址(GPA)之间的转译,要么通过配置额外的软件实现的影子页表(Shadow Page Table)来实现Guest虚拟地址(GVA)直接到Host物理地址(HPA)之间的转译。即便后者减少了Hypervisor介入的频度,但是因为不存在硬件实现专用于虚拟机带VMID的转换后备缓存(Translation Lookaside Buffer,TLB),虚拟机切换需要频繁冲刷硬件TLB,导致转译性能低下。

X100的MMU支持VS-stage和G-stage两级地址转译,其中VS-stage地址转译由Guest OS维护,用于将GVA转译成GPA;G-stage地址转译由Hypervisor维护,用于将GPA转译成真正的Host物理地址(HPA)。

转译过程不再需要虚拟机管理器参与修改一级地址转译中专用于GVA到GPA映射关系的表项,也可以命中硬件转译的TLB缓存,极大提高了虚拟机的运行效率。


02 外设虚拟化

进迭时空研发的高性能CPU核X100和配套的T100系统外设符合RISC-V IO Memory Management Unit (IOMMU) V1.0和RISC-V Adavanced Interrupt Architecture (AIA) V1.0标准,支持硬件辅助PCIe外设虚拟化。


IO虚拟化

操作系统可以软件模拟(I/O Emulation)一个外设,也可以将硬件外设直接分配(I/O透传,IO Pass-through)给Guest OS运行。

无论哪种方式,物理外设只有一个,要么由Host OS操作要么由Guest OS操作。而外设虚拟化的核心应用则是支持PCI-SIG组织维护的SR-IOV规范。该规范允许硬件上将单个的外设物理功能(Physical Function,PF)虚拟出多个外设虚拟功能(Virtual Function,VF),并利用I/O透传技术将虚拟功能分配给Guest OS。

X100配套搭载的T100支持S1和S2两级地址转译,分别用于GVA到GPA的地址转译及GPA到HPA的地址转译,以此来支持I/O透传技术,使得分配给虚拟机的加速器外设的PF或VF可以直接使用Guest OS的虚拟地址进行DMA传输,这使得利用Guest OS的CPU地址编写的程序中的指针可以直接传递给加速器使用,为CUDA等基于编译器的算力加速解决方案提供了硬件基础。

除了地址转译,IOMMU还支持PCIe的ATS/PRI等扩展功能,允许支持ATC功能的PCIe加速器外设缓存地址翻译表项和按需申请内存映射。此外IOMMU还支持MSI_FLAT类型的MSI页表为中断(IRQ)虚拟化提供了中断向量表的翻译加速。


IRQ虚拟化

即便虚拟机可以操作通过IO透传分配给它的硬件外设,硬件外设的中断也需要特殊的机制才能直接传递到虚拟机中,否则就只能由收到外设中断的Host OS通过软件方式将硬件中断递送到Guest OS。基于消息的中断(MSI)允许硬件外设通过消息将中断发往指定的地址。而IRQ虚拟化技术是通过将中断发往AIA扩展中为虚拟特权(VS)提供的MSI虚拟中断通道,从而实现虚拟中断对虚拟机的中断直通。

X100配套搭载的AIA支持HS/VS特权级的CPU核内的中断抽象,每个Guest和Hypervisor都有自己的中断处理文件。当外设产生中断时,可以通过设置对应虚拟机的中断文件来向它投送中断,从而支持了中断虚拟化。AIA还提供IMSIC中断控制器为不同中断文件接收MSI中断,以及APLIC将连线中断转化为MSI中断。至此,外设PF和VF可以将MSI中断直接发往虚拟机而不需要经过Hypervisor干预。


03  虚拟化运行演示

基于X100处理器、AIA和IOMMU,进迭时空实现了服务器芯片原型系统,移植开发了OpenSBI、Linux Kernel、openEuler OS等系统软件,并在其上成功运行了服务器KVM虚拟机及GuestOS,并通过PCIe接口实现了NVMe设备的虚拟化。




想要了解及购买进迭时空产品,请前往iCEasy商城品牌专区:

https://s.iceasy.com/1Pjqx1

iCEasy商城欢迎您的到来!