在 Zynq MPSoC 上运行 DOOM 游戏
设备性能与安全
本文引用地址://m.amcfsurvey.com/article/201608/294978.htm一般来说,与通过直通方式提供的设备相比,仿真的设备性能比较低;半虚拟化方案则趋向于具备足够性能。半虚拟化方案和仿真方案的优势在于管理程序可以让设备访问多个实体,而不会将这些实体相互暴露。
原理简介
Doom-on-ZynqUltraScale+MPSoC的处理上下文环境就像洋葱一样有很多层(图 6)。Cortex-A53 中是四个 ARMv8 内核。在每个内核上,管理程序运行在 EL2 中,客户机(Dom0 或 DomU)运行在 EL0/EL1 中。每个 DomU 客户机都运行 Linux;Doom (PrBoom) 运行在用户空间中。Doom 使用简单直接媒体层 (SDL),通过 SVC 指令(最终)与帧缓冲器前端驱动对话。帧缓冲器前端将缓冲器写入 Dom0 建立的共享存储器区域。前端驱动通过协议(例如 Xen Bus 或 VirtIO)使用 HVC 指令(最终)与 Dom0 上运行的虚拟化代码通信。在 Dom0 上运行的虚拟化代码提供一个用于显示的后端,然后该后端由虚拟化代码的 VNC 服务器进行编码,并通过网络送到 VNC 客户端。
![](http://m.amcfsurvey.com/editerupload/201608/d4ff8213b832ddd7274efce843d22e48.png)
图6:X86 架构上从 PetaLinux 工具启动 QEMU
此信息和演示能够为管理程序的进一步研究和实验提供很好的基础。当你能够在 QEMU 上用仿真来运行演示之后,就可使用 PetaLinux 工具在ZynqUltraScale+MPSoC芯片上运行。
评论