中文繁體版   English   星期六 ,10月 19日, 2019 (台北)
登入  申请试用  MY DIGITIMES236
 
科技产业报订阅
活动+

Imagination PowerVR虚拟化 汽车GPU关键特性

  • 吴冠仪

在一个虚拟化环境中,能够支持包含多种应用程序的汽车系统。

虚拟化是指可让一台装置作为一或多个虚拟机(VM)的主机的功能,而且每个虚拟机就象是独立运行的机器,拥有自己的操作系统(OS),但所有的作业都是在相同的底层装置硬件上执行。对GPU来说,这意味著,此功能可支持多个同时执行的操作系统,其中每个操作系统都能把绘图工作负荷提交给单一的绘图硬件单元来处理。

现在,GPU虚拟化已成为各种下一代应用的必备功能,从汽车、消费性电子到IoT(物联网),内建硬件虚拟化技术的GPU可在各个应用程序/OS之间提供安全隔离(isolation),以提升安全性,并最大化底层GPU硬件的利用率。

因应市场的需求,Imagination的PowerVR GPU从Series6XT开始便支持硬件虚拟化技术,并在Series8XT系列中进一步增强其功能。在本文中,我们将讨论虚拟化的基本概念,并透过介绍PowerVR GPU硬件虚拟化解决方案在汽车市场的应用,来说明此技术的强大功能。

虚拟化解决方案中的三个关键要素

首先是主机(host)OS:一个拥有OS的虚拟机,它具备完整的绘图驱动程序堆叠,而且相较于客户机(guest)操作系统,它对底层硬件拥有较高的控制能力。客户机(guest)OS:一个拥有OS的虚拟机,并由hypervisor来代管。

可以有一或多个客户机OS共享可用的底层硬件资源。每个OS都有完整的绘图驱动程序堆叠。第三个要素是Hypervisor:基本上,它是代表操作系统的软件元件,有一个共享的虚拟硬件平台,并管理操作系统的代管功能。

GPU虚拟化的类型

GPU虚拟化技术主要有两种类型:半虚拟化(Paravirtualization):客户机OS「知道」它是被虚拟化的,并与其它的客户机共享相同的底层硬件支持。在半虚拟化解决方案中,客户机操作系统需要透过hypervisor来提交任务,同时整个系统必须共同运行。

此解决方案会有hypervisor额外负担(在CPU上执行),而且任务提交的延迟较长,因此有可能会降低底层GPU硬件的有效利用率。它也需要修改客户机OS(增加进一步的功能性),使其能透过hypervisor来进行通讯。

以及第二种全硬件虚拟化(Full hardware virtualization):每个客户机OS是在一个hypervisor下执行,且其运行模型好象是专属地存取GPU,并不知道它是与其它的客户机和主机OS共享硬件。通常,每个客户机都有完整的驱动程序堆叠,并能以独立、同步的方式直接向底层硬件提交任务。

此作法的优点是,在处理来自不同客户机的任务提交时,不会有hypervisor额外负担(在主机CPU上执行),因此可降低任务提交给GPU的延迟,最终可实现较高的利用率。

GPU虚拟化在汽车的使用案例

GPU虚拟化正成为汽车产业的必备技术。随著汽车朝自动驾驶发展,日益需要支持更多的先进驾驶辅助系统(ADAS)功能。由于这些应用要求大量的平行运算能力,因此推动了GPU朝更强大的功能发展。

于此同时,拥有更多的高分辨率屏幕也是日渐普遍的趋势─包括仪表板、信息娱乐系统(前座和后座)、抬头显示器(HUD)等。

传统的做法是,这些不同的应用由单独的芯片来处理,或是由单一芯片来执行软件或半虚拟化技术。为了降低成本,一线供应商/OEM业者正朝功能更强大的单芯片解决方案进展。在单一芯片上执行软件或半虚拟化技术,虽然也是选项之一,但它的缺点是效能/利用率下降、功耗较高,以及缺乏强韧性与安全性,尤其后者,是汽车产业的重要考量。

全硬件虚拟化技术能够解决这些问题,确保每个应用程序之间的相互隔离,可提升安全性,并最大化底层GPU硬件的利用率。

如图一所示,在每个虚拟机/客户机OS上执行的汽车应用程序都是彼此隔离的,但是利用相同的底层GPU。有些关键性安全应用程序(在隔离的虚拟机中执行),例如仪表板和ADAS应用程序,通常是以保证的效能等能安全地执行。

其它的应用程序,如车载信息娱乐应用,由于数码版权管理(DRM)的考量也需要确保安全性。此外,消费者也会希望能执行从第三方市集下载的非关键性与非安全性应用程序。为了避免恶意攻击与复制安全内容,这些应用程序需要能与要求安全性的应用程序保持隔离,所有这些任务都能透过 PowerVR的全硬件虚拟化解决方案来实现。

功能更增强:PowerVR Series8XT的虚拟化技术

Imagination的PowerVR Series8XT GPU是第一代以Imagination的Furian架构为基础的GPU。此强大的GPU系列产品建置了PowerVR的第三版硬件虚拟化技术,它的主要增强功能包括以下:

更精细的环境切换:利用Series8XT GPU,环境切换能以更精细的等级来执行,确保较低优先级的工作负荷能够更快地被环境切换出去─并排程给较高优先级的工作负荷。现在,环境切换的精细度为:顶点处理:图元(primitive )精细度、画素处理:在图块中的图元模块─或最差情况,回到图块精细度。

个别的资料主档删除(Per data master killing):在此案例中,较低优先级的应用程序不会在定义的时间范围内被环境切换出去,透过DoS机制可删除或软重置此应用程序,取决于资料主档(data master)运算、顶点或画素处理。

先前世代的PowerVR GPU只能支持运算删除,而顶点和画素处理需要软重置,因此如果与不安全的较低优先级应用程序重迭执行的话,会对高优先级工作负荷造成影响。在Series8XT,所有的资料主档都能被删除,以确保即使高优先级/关键的工作负荷与需要逐出的应用程序重迭,它也不会受到影响。

个别的SPU工作负荷提交控制:在PowerVR虚拟化技术的第三版中,一个特定的应用程序能在GPU内被给予自有的专用SPU(可扩充处理单元),以执行其工作负荷。这对需长时间执行的表达式ADAS应用程序是很有助益的,因为应用程序能够在其自有的专用SPU上不受干扰地执行,而其它的应用程序则利用其它机制(如,基于较高优先级任务的环境切换)来共享剩余的GPU资源。

ImaginationPowerVR GPU解决方案

随著ADAS功能日益提升,朝更高等级的自动驾驶迈进,再加上车内对更多高分辨率显示幕的需求,这些因素推动著快速、节能且支持虚拟化技术的GPU需求成长。硬件虚拟化解决方案可为底层的GPU硬件资源提供最大的利用率,并能在应用程序之间提供软件与硬件的真正隔离,而且几乎不会增加额外的效能负担。

Imagination的全硬件虚拟化PowerVR GPU解决方案是满足此市场需求的最佳选择。它具备了高度的可扩充性设计,能提供各种所需的效能等级,是打算开发先进汽车SoC解决方案的业者的理想选择。

PowerVR Series 8XT是第一代以高效能、低功耗Furian架构为基础的GPU系列产品,它进一步提升了虚拟化功能并增加多项新特性,可使SoC制造商更轻松、以更具成本效益的方式,开发出高效、安全及强韧的产品。