18lickc新利
的意见

虚拟化:汽车soc嵌入式AI的必备

AI加速器的效率最大化,使分离的任务需要不同的ASIL水平。

受欢迎程度

虚拟化、抽象物理硬件的过程通过创建多个虚拟机(vm)具有独立的操作系统和任务,自1960年代以来一直在计算。现在,需要优化利用大型人工智能和DSP块汽车soc,连同需要增加功能安全自主驾驶,虚拟化是上台,area-sensitive嵌入式汽车系统。

最近有两个真理关于人工智能汽车嵌入式系统。首先,将人工智能添加到嵌入式设计的紧迫性持续增长。这是由许多因素——人工智能研究导致的快速扩展用例,摄像机和其他传感器数量的增加在汽车系统,提高图像分辨率的摄像机和传感器,AI的令人印象深刻的功能以前的解决方案,和人工智能的立场在炒作周期帮助推动了新的研究以及商业案例的热情。第二个事实是,所需的神经网络来实现人工智能计算饿算法需要大量的区域的所有multiply-accumulate (MAC)单位需要达到L2 +和超越的性能水平。神经处理单元(转专业)成为一个更大的一部分汽车soc系统设计者想要确保他们都是资源的优化。

虚拟化允许多个虚拟机之间共享昂贵的硬件到软件通过抽象物理硬件功能。没有虚拟化,资源只能分配给一个操作系统,资源浪费的风险如果一个操作系统不能使用的所有资源的物理硬件的权力。

虚拟机和虚拟机监控程序

神经网络虚拟机是一个虚拟的代表,或模拟,神经网络加速器的自己的神经网络计算资源,内存和接口。每个虚拟机都运行一个操作系统;每个操作系统运行多个软件流程;每个进程都有一个或多个线程。虚拟机相互隔绝空间(内存保护到位所以没有访问虚拟机)和暂时(每个虚拟机都有一个可预测的执行时间)。

在图1中,底层,标记处理器HW物理层。软件称为hypervisor将虚拟机的资源与硬件。这些小软件层启用虚拟机的多个实例/操作系统运行与对方——每个给出自己的片底层物理硬件。这可以防止互相干扰的vm。

例如,如果两个虚拟机运行在相同的物理处理器,如图1所示,可以运行VM1虽然VM2不是一个关键应用程序。管理程序软件将保证VM2不能访问任何记忆的VM1或影响VM1的最坏执行时间。它将保证如果VM2崩溃了,它不会影响VM1。

图1:管理程序软件分离物理硬件(处理器HW)从虚拟机。

虚拟化和自主车辆

随着自主汽车需求的增加,也会需要确保这些车辆的安全。ISO 26262标准定义了功能安全检测系统和随机(FuSa)要求(永久和瞬态)断层为各种汽车安全完整性水平(ASILs)。向前碰撞警告或发动机控制功能需要ASIL水平高于,总经理说汽车娱乐系统。不同的任务需要不同的FuSa质量水平。

虚拟化可以保证自由的干扰应用程序和操作系统之间的不同质量水平运行在一个共享资源。分离的任务,需要从任务ASIL水平较高,不需要ASIL水平使得系统更可组合(模块化),简化了认证你的汽车系统的任务。认证需要验证您的硬件遇到了合适的汽车标准。每个安全至上的VM管理程序软件需要认证。无安全关键vm不需要认证,但是他们必须保证没有打破注册软件。

虚拟机包括更少的停机时间-汽车的关键多个冗余的虚拟机可以运行与对方。虚拟化对自主汽车的一个额外的好处是能够从安全错误中恢复过来。如果VM1 VM2并不是运行安全性至关重要的任务,然后在VM1故障可能是“恢复”如果VM1接管VM2优先的资源安全性至关重要的任务。

虚拟化和转专业

图2:Synopsys对此NPX6转IP家庭支持虚拟化的硬件和软件。

Synopsys对此弧NPX6FS神经处理单元(转专业)IP(图2)是人工智能加速器使用的主机处理器提供最区域——以及功耗神经网络的性能。NPX6FS家族处理器可以规模从1 k mac 96 k mac电脑和汽车安全设计,支持ASIL B / D ASIL质量水平。NPX6FS包括内置的安全机制包括双核内存控制器和互连同步控制结构、错误检测代码(EDC)寄存器,纠错代码内存(ECC)互联和内存ECC和看门狗定时器。

作为一个加速器,主机CPU分派NPX VM,但在多个核心VM中的任务可以同步没有主机交互。本地虚拟机监控程序将运行在弧NPX转专业。对于空间隔离,每个VM弧NPX将在专用客户物理地址空间中运行。NPX L1和L2内存控制器,包括mmu,保护控制器加载/存储访问。NPX需要集成与一个IOMMU保护L2控制器直接存储器存取访问。

NPX6FS家庭可以从性能规模水平低至1顶部成千上万的上衣。这些高水平的性能是很重要的因为ADAS应用程序需求增长从顶部的L2自治水平成千上万的上衣L3所需。让我们看一下npx6 - 64 - kf -功能安全配置与64 k或每周期65536 INT mac。这是大量的并行计算资源执行视觉神经网络像cnn或变形金刚。

npx6 - 64 k的有16个4 k MAC核神经网络计算(图3)。每组四核(或每组16 k MACs)支持L2 closely-couple存储器(SRAM)的一部分。每组八个核心(或32 k MACS)支持一个L2控制器。(配置小于32 k将只有一个L2控制器。)iommu的不是NPX6 FS的一部分,需要集成到系统设计。

图3:NPX6 = 64 kf的例子没有分区。外部iommu的结合的npx6 - 64 kf十六4 k MAC核神经网络计算。

虽然npx6 - 64 kf神经网络处理器被认为是一个引擎(,并被视为软件开发工具),资源可以分配给不同的虚拟机。我们看到在图3 b可能配置创建两个分区npx6 - 64 kf。在这个例子中,每个分区有八个4 k MAC核心和由一个L2内存控制器控制。一个分区可以运行一个安全至上的VM,另一个non-safety-critical VM。

图3 b: npx6 - 64 kf划分成两个虚拟机。

我们看到在图3 c,可以创建三个分区的可用npx6 - 64 kf的物理资源。在这种情况下,两个较小的分区都是由L2控制器。在这个例子中,分区可以运行安全性至关重要的VM同时分区B运行时无安全关键VM共享资源的一个L2控制器。分区C可能运行non-safety-critical VM使用第二个L2控制器。

图3 c: npx6 - 64 kf划分为三个虚拟机。

虽然它似乎是一个简单的任务将大型NPX6分成不同的分区和虚拟机的核心,甚至是单核NPX6-1KFS或者NPX6-4KFS可以使用虚拟化创建多个虚拟机。本地虚拟机监控程序将处理资源分区。虚拟化是一个工具来创建灵活ASIL系统和NXP6 FS家族的一个重要特征。

虚拟化已经迅速成为一个必备功能为嵌入式汽车解决方案设计针对自主车辆。添加虚拟化能够帮助最大化的有效性所需的大量的DSP和AI加速器L3和自主权。虚拟化也可以改善系统从故障中恢复的能力,简化了认证过程由只关注功能安全的任务。未来ADAS的设计,这将是重要的选择DSP和神经网络处理器IP对虚拟化的硬件和软件功能的设计。



留下一个回复


(注意:这个名字会显示公开)

Baidu