OS使用虚拟机加速

Imperas销售副总裁Larry Lapides加入我们,一同探讨有关OS使用虚拟机加速MIPS事宜。最近,我们在圣克拉拉举办的Imagination2015年度峰会有幸遇到了Imperas公司。在峰会上,Imperas展示了最新的并行仿真性能加速器QuantumLeap。

Linux已成为嵌入式系统应用中的常用操作系统,并可支持半导体供应商开发的高端SoC。如今,这些SoC用于多核处理器,能运行对称多处理器Linux。多数供应商都从MIPS Linux分发入手,然后才为特定的SoC对其进行定制(要求改变设备树),包括SoC必要的外围驱动,并支持其它的用户定制和特殊的特性。MIPS Linux的分发是一个伟大的开始,但这并不意味着定制和简化任务。

换言之:迅速掌握Linux并不意味着一切都会顺利。

哪里适合这个虚拟机?
对于指令准确的虚拟机,哪些仅仅是软件模拟环境,且比基于硬件的开发环境具有更大的优势?
• 早期系统可用性
• 对来自内部节点和外部端口平台的全部控制
• 全面了解平台
• 性能比实时更快
• 容易复制平台和测试环境以支持自动化测试
• 在监测或调试时,运行系统行为无Heisenbug或意外的变化

查看完整的软件开发方法,虚拟机应该在开发过程的早期便开始使用。此外,由于可见性和可控制性及可用的软件开发工具,可以继续使用虚拟机并在整个软件项目时期增加其价值。由于基于硬件的测试和基于虚拟机的测试可以为软件工程团队提供互补的优势,硬件平台,包括最终的硬件,可以被使用。

进一步探讨之前,需要额外地了解虚拟机的详细信息。处理器模型可以看作是类似于指令集模拟器。然而,对于虚拟机而言,最理想的是处理器和外围组件及行为有一个单一的模拟器。从性能和易用性的角度来看这是有优势的,同时它还使软件工具可轻松高效地添加到仿真环境。

最后一个有关虚拟机的关键点是,虚拟机模型的组合加上模拟器可执行相同的二进制软件堆栈,正如最终在硬件上运行的那样。主机x86 PC没有编译,如果系统使用MIPS处理器,便可使用相同的交叉编译工具链和工具流来创建MIPS二进制可执行文件,以在虚拟机或硬件上运行。

虚拟机具有控制和可见性的优点,但如何使工具实现这些优势?使用Imperas虚拟机环境时,有一套完整的工具可供使用,且用户可以自定义工具。ImperasSlipStreamer API和ToolMorphing引擎可以使分析无需修改软件——OS、固件、驱动程序、应用程序源代码,基于硬件的软件开发环境有一个很大的优势。在基于硬件的环境中,必须检测和重新编译源代码,例如gcov和gprof,或必须使用调试版本的内核,或通过源代码发出printf指令以启用调试。这些行动都将改变软件的行为。

通过对这些工具的价值进行一个简单的展示,调试SMP Linux启动指令跟踪需要在引导提示符之前筛选约10亿个指令。然而,OS任务跟踪减少了大约700个Linux引导的任务。这使它更容易降低事故源。下图显示了一个OS-aware跟踪任务的截图,即Linux引导的可执行文件和调度事件。

6月在旧金山举办的2015年设计自动化会议(DAC)上,Imperas正在辅助Linux端口和加速及驱动开发,且Imperas展台或Imagination展台上将对用于MIPS处理器的M*SDK产品进行演示。

原文链接:
http://blog.imgtec.com/mips-processors/os-bring-up-using-virtual-platforms

--电子创新网--
粤ICP备12070055号