广告
广告
为什么说Hypervisor(虚拟机监控程序)是现代汽车的关键
通信产业网|2019-05-28 19:34:20
作者:NXP来源:通信产业网

【通信产业网讯】现代汽车是电子系统日益增加的复杂功能的综合体。在密集配备各种电控单元(ECU)情形下,汽车的许多增强功能要求多个相关的ECU密切配合。因应这一挑战,汽车制造商正在研究下一代电子架构,从而将不同的应用结合到一个ECU中。在某些情况下,这种方式会向现有ECU添加新功能或创建通常被称为域控制器的新ECU。而电子系统供应商面临的挑战是提供能够支持 功能安全及信息安全的优化的硬件及软件解决方案。

由一到多

要了解如何满足新的电子设备要求,就需要认识到ECU中使用的前几代嵌入式处理器都是为单个应用程序使用而设计的。其中一些使用了嵌入式操作系统(OS),允许客户将操作划分为不同的任务以开发应用程序,由操作系统调度决定每个任务应当何时执行。处理器通常为操作系统软件分配特殊权限,允许它根据需要启动和停止这些任务。

微信图片_20190528193249.jpg

在即将推出的车辆架构中,我们将共享多个应用程序,并且可以同时运行多个操作系统。由于两个操作系统可能无法就运行哪个任务取得一致,因此难以进行特殊权限的授权。此外,这两个应用程序通常由不同的开发人员在不同国家/地区、不同企业(一级供应商和主机厂)、不同办公地点、使用不同工具进行开发,因此两者达成一致的逻辑通常也极为复杂。

分而治之

而在计算机科学中,这一问题的解决方案早已被人熟知,就是将应用程序分开,使每个应用程序在其自己的专用虚拟机(VM)内运行。一个虚拟机利用计算机的能力以另一种计算机类型的方式运行,例如在PC上运行Linux或利用Mac运行街机游戏模拟器。这一技术虽然在台式机和IT领域所周知且十分常用,但尚未在车辆使用的嵌入式微处理器中广泛实现。

使用其权限来管理任务的操作系统通常被称为Supervisor(管理器),而非特权任务被称为用户软件。使用额外权限级别的新软件系统则称为Hypervisor(虚拟机监控器),因为它的权限高于Supervisor,因此可用于确定Supervisor及其用户任务在ECU中可以执行的操作。

Hypervisor:终极多面手

Hypervisor的主要用途是通过限制或允许访问CPU、内存和外设等片上资源来定义每个虚拟机可用的功能。Hypervisor可以通过为每个虚拟机分配不同的资源份额来创建多个虚拟机。例如,CPU上的处理时间可以划分为多个时隙,并根据需要分配给不同的虚拟机,一个虚拟机可以访问多个整体或共享CPU。类似地,存储器和外设可以共享或分配给单个虚拟机。虚拟机无需知道或根本不知道彼此的存在,并且无法访问未提供给它们的资源。因此,Hypervisor也称为虚拟机监控程序(VMM)。

Hypervisor使用CPU片上综合保护机制以及跨整个芯片的资源控制器来配置对内存和片上外设的访问。它还在某些外设上分配功能子集。共享CPU的时间资源通常由Hypervisor使用定时器管理。定时器告知Hypervisor何时将CPU切换到另一个虚拟机。

CPU内部的保护方案由存储器保护单元(MPU)提供。通常,操作系统将使用MPU来管理它想要共享的内容,并为运行的不同用户任务分配内存。具有Supervisor(管理器)权限的软件可以拥有自己的私有或共享区域,也可以修改MPU以适应应用程序。Hypervisor具有更高优先级的附加独立MPU,并且在这一更高权限级别下将可用总内存分配给每个虚拟机。

有效管理资源

由于ECU的所有有用活动都是由在每个虚拟机中运行的应用程序提供的,而不是由Hypervisor提供的,因此必需使用于运行Hypervisor本身的资源实现最小化。这可以通过提供一种保护方案来实现,该保护方案可扩展到整个设备,并对某些关键外设进行细分以进行分配。

资源控制器通过将保护方案扩展到系统中的其他总线主控器(如DMA或以太网)来提供第一个功能,并为Cortex -R52内核提供额外的存储器和外设保护功能。更重要的是,由于可通过配置资源控制器来对CPU上运行的虚拟机进行识别,因此资源控制器能够提供此类保护而无需进一步的软件操作或开销。

在许多情况下,诸如存储器和外设等资源常常专用于特定虚拟机。但是在某些情况下,跨虚拟机共享这些资源可能更好或更有必要。理想的解决方案允许通过定制硬件而不是Hypervisor软件对多个外设进行细分,然后在虚拟机之间共享功能。这避免了在这些情况下通常需要的附加软件的开销。

Hypervisor用户的高性能平台

下一代汽车ECU必须能够结合多个独立应用,以支持未来的车辆功能和期望。这对于车辆电气化和车辆动力学应用尤为重要,恩智浦的S32S处理器通过为Hypervisor用户提供安全有保障的高性能平台以及广泛的硬件支持来实现这一目标。为了帮助客户更快地将强大的解决方案推向市场,恩智浦与业界领先的软件供应商OpenSynergy合作,将后者在Hypervisor软件开发方面的专业知识带入S32S处理器系列。COQOS Micro Hypervisor运用S32S247处理器的功能创建独立虚拟机,使其以高达ASIL-D的安全级别运行。


1

责任编辑:周腾

【欢迎关注通信产业网官方微信(微信号:通信产业网)】

版权声明:凡来源标注有“通信产业报”或“通信产业网”字样的文章,凡标注有“通信产业网”或者“www.ccidcom.com”字样的图片版权均属通信产业报社,未经书面授权,任何人不得复制、摘编等用于商业用途。如需转载,请注明出处“通信产业网”。

发表评论
评论More+
合作伙伴
×