MIPS架构和虚拟化

本世纪之交,计算机业界人士开展了一场精彩的辩论:假如高通量应用程序的性能大幅提升,多线程和虚拟化将如何成为桌面PC和服务器的下一个重大突破。他们称,这是历史的重演。

十年以后,这两个概念发生了戏剧性的逆转。这一次的辩论则与之前不同:我们不再谈论服务器的性能,而是专注于下一代嵌入式设备和物联网节点。会话内容也发生了变化:我们以更智能的方式使用多线程来提高功率和面积效率,同时虚拟化又为整个系统的安全奠定了基础。

但这两个概念并不新鲜:多线程计算机架构自20世纪50年代以来就已出现,而虚拟化早在20世纪70年代末就已获得“年度最具发展前景的技术”殊荣。

但是,这两个概念对于未来连接运算的发展都至关重要,尤其是物联网未来的发展。最新预测的物联网市场将涵括数十亿连接设备,包括智能传感器、网关、中间节点或数据中心。

上述的每一类产品都可受益于多线程和虚拟化。本文我将对虚拟化的概念进行阐述,随后再介绍虚拟化系统的硬件和软件架构。最后,我将简要描述MIPS CPU对虚拟化的支持程度。

虚拟化概念简述

简单来讲,虚拟化可以使物理设备显示为一个或多个虚拟设备。可以在处理器级别(如CPU或GPU)或系统级别(如SoC)实现虚拟化。

1

虚拟化将虚拟机上运行的软件从底层硬件资源中分离出来

通过添加虚拟化支持,平台可以创建多个虚拟机(VM),而每个VM可以运行其自身的操作系统、嵌入式程序或两者结合。

虚拟化平台的硬件和软件架构

说到虚拟化,您将遇到一些常用术语,如主机处理器、虚拟机、根和用户环境、管理程序等。

主机表示实际的物理硬件,其资源可以被虚拟化。对于MIPS而言,主机处理器等同于CPU的物理实例。

虚拟机(VM)是软件创建的处理器虚拟环境。在这个环境中,主机支持多个虚拟机,每个用户操作系统将在其环境中运行一个VM。因此,根环境是物理系统的环境,用户环境则属于每个虚拟机。

2

创建并控制虚拟机的软件称为管理程序。管理程序是虚拟系统的关键组件,表示虚拟机之间的中间软件层和实际硬件。在根环境中运行时,管理程序可以直接控制硬件,从而创建及维护可信执行环境。管理程序的主要工作是加载及控制在用户环境中运行的软件。

尤其重要的是,在用户环境中运行的软件不能检测到中间软件层的存在:从用户环境的角度来看,虚拟机内的软件似乎可以直接在硬件平台上运行。

虚拟化的基本原则

正如多线程一样,虚拟化的概念并不新鲜。1974年时,两大著名的计算机科学家Gerald J. Popek (加州大学洛杉矶分校) 和Robert P. Goldberg (哈佛大学)写了一篇名为“虚拟化第三代架构的形式规定”的文章,该文章便涵括了虚拟化的三大支柱要点:

•等价性:虚拟机上运行的程序应该与实际硬件上运行的程序相同

•资源控制:管理程序必须完全控制所有虚拟化的资源

•敏感行为指令:大多数虚拟化软件执行的指令不需要管理程序的干预

管理程序

有两种类型的管理程序:第一类(或本地)管理程序可以直接在硬件上运行,同时用户软件可以在虚拟机上运行。
SELTECH FEXEROX和PUCRS Hellfire便是MIPS架构本地管理程序的例子。

3

第二类(托管)管理程序在传统的操作系统环境中运行。第二类管理程序也被称为陷阱和模拟管理程序,因为用户操作系统的所有行为都是受限的,且对硬件的访问是模拟的。MIPS CPU第二类管理程序最常见的例子就是Linux内核中运行的KVM管理程序

4

在MIPS CPU中,第二类管理程序在内核模式中运行,而用户操作系统则在用户模式下运行。这样,一旦用户操作系统尝试访问特殊内存区域或执行特殊指令,内核模式中运行的管理程序将会进行异常处理操作。

MIPS虚拟化模块(MIPS VZ)和OmniShield-ready MIPS CPU

使用纯软件方法(如半虚拟化)或通过硬件援助(完全虚拟化)便可以实现虚拟化。当下,许多基于MIPS的处理器支持并运行半虚拟化操作系统和嵌入式程序。

Release 5发布以来,MIPS架构添加了对硬件辅助虚拟化的支持。一旦纳入MIPS 军工级CPU,完全虚拟化便可以改善性能,且不用对用户操作系统进行任何修改。

MIPS军工级CPU支持完全虚拟化和半虚拟化。值得注意的是,从高端P级高能效I级应用程序处理器到M5150及M5100微控制器级CPU,我们都全面实现了该技术。

在CPU IP中,完全虚拟化是MIPS架构的独特功能。

下图展示了每个军工级CPU可以运行的用户操作系统的最大值:

5

想获取更多有关MIPS VZ模块的信息,请访问我们的专用网页。

为解决下一代连接设备的安全性和可靠性需求,Imagination在 PowerVR Series7 GPU及其他处理器中添加了对虚拟化的支持。在MIPS和PowerVR处理器中实现完全的硬件虚拟化使得SoC设计人员可以构建OmniShield-ready平台

6

OmniShield是一种先进的硬件和软件技术,其可确保系统安全。更多关于OmniShield的信息,请点击此处

原文链接: http://blog.imgtec.com/mips-processors/the-mips-architecture-and-virtual...

声明:
本文为原创文章,转载需注明作者、出处及原文链接,否则,本网站将保留追究其法律责任的权利

精彩专辑《MIPS处理器》阅读同主题信息。
--电子创新网--
粤ICP备12070055号