2023年8月28日 浏览:1002 作者: 进迭时空

X100成功运行KVM虚拟机及GuestOS

目前进迭时空自研的高性能RISC-V核X100 已完整实现虚拟化技术规范,基于X100的SoC原型系统可成功运行KVM等主流虚拟机软件,这为进迭时空芯片未来在云计算、智能驾驶等场景的应用奠定了基础。

虚拟化 – 叩开RISC-V在高性能计算场景应用的大门

虚拟化技术,即在一台物理机上,模拟多个“虚拟电脑”,也就是虚拟机。从用户角度来看,这些虚拟机是完全隔离的,可以用于提供不同的服务;但实际上,它们共享物理机的CPU、内存、硬件、网卡等资源。在虚拟机与物理机之间,由虚拟机监控程序来完成物理资源虚拟化的工作。

硬件虚拟化技术是云计算、智能驾驶等高性能计算场景的基本功能要求。

云计算中,一个巨大的业务逻辑会被拆解成大量的简单子任务,每个任务由不同的实例进行处理。例如将不同媒介属性传播信息的子任务结合为融媒体业务逻辑,通过虚拟化技术,使得每个实例完全独立的运行在不同的操作系统中,运行不同的应用软件。虚拟机之间的运行互不干扰,相互隔离,最大限度的复用了服务器的硬件资源,降低了云计算应用的成本。 

类似的,在智能驾驶场景中,算力往往由复杂的多核SoC提供,但是不同的应用可能会有不同的技术需求,比如仪表盘、辅助驾驶等有强实时性、可靠性的场景倾向于使用 RTOS,而座舱等场景更倾向于使用生态丰富的 Android,而两种场景之间的低延时互动要求又需要它们工作在同一个芯片系统之内。在这种情况下,由虚拟化技术在SoC上进行资源划分、互相隔离是一种常用的手段。这样座舱系统的故障不会影响到智能驾驶的安全性。

RISC-V 架构下针对虚拟化的扩展,定义在多个规范中实现:

H (Hypervisor)扩展(RVH):

基础的 H 扩展,通过增加额外的控制寄存器以及二级页表翻译,实现了 CPU 虚拟化、内存虚拟化、Timer 虚拟化。但在基础 H 扩展中,未定义无需 Hyper 软件参与的外设虚拟中断,以及虚拟机地址访问的硬件实现规范。

AIA(Advanced  Interrupt  Architecture)扩展(Smaia):

高级中断架构,在增加了 MSI 中断的支持的同时,增加了更多RISC-V中断和虚拟中断的支持,提供了可以将中断直通给多个虚拟机的能力,这个过程不再需要 Hyper 软件的参与,提升虚拟机中断响应的效率。

IOMMU(I/O Memory Management Unit) 扩展 :

I/O内存管理单元提供了IO地址重映射的能力,与虚拟化相结合时,可以将外设的虚拟机地址转换为主机地址,使得外设(如DMA)可以在 Hyper 软件不参与的情况下,直接进行内存访问,提升外设虚拟化的效率。

进迭时空的X100核,完整实现了上述三个虚拟化标准,并可以成功运行主流虚拟机软件如KVM等,成为中国第一个可以完整支持RISC-V虚拟化功能的高性能RISC-V核。以下是进迭时空的X100核及SoC原型系统在FPGA上完整运行KVM虚拟机及Guest OS的视频。

虚拟化的技术支持,为RISC-V未来应用在云计算以及智能驾驶等强虚拟化要求的场景铺垫基石。X100作为进迭时空首款高性能CPU,通过AIA及IOMMU的支持,进一步提升虚拟化场景中的性能。