基于GPU器件行为的创新分布式功能安全机制为智能驾驶保驾护航

embedded/2024/11/19 20:06:06/

作者:商瑞  陈娇

随着汽车智能化程度的快速提高,大量新的处理器和系统级芯片(SoC)被广泛引入到车辆中,无论是在驾驶还是座舱等场景,无论采用域控制器模式还是新兴的中央控制单元模式,都无一例外地在考虑加入更加智能化的新功能。但是随之而来的是这些控制单元中的相关芯片的系统级故障或意外行为可能引起的危险,因此需要发现这些故障或可能的意外并提供相应的保护措施,这个过程就是为汽车芯片建立和提供功能安全(Functional Safety,亦简称FuSa)解决方案。

具体到一款微控制器(MCU)、中央处理器(CPU)或者图形处理器(GPU)或以它们为核心的SoC或者专用集成电路(ASIC)上,功能安全就是要确保芯片功能按照设计的要求去运行,因为如果一辆汽车不能按照你设计的功能去执行,那汽车的诸如目标和指示牌识别、刹车或者其他自动加速功能可能就会失效,这个时候就很危险并为驾驶员、乘客、路人、车辆和其他财物等带来了威胁。所以功能安全很重要,但也需要付出一定的成本,比如额外的芯片面积,招聘有经验的设计人员,执行严格的功能安全研发流程,进行安全认证等。

图一、Imagination DXS汽车GPU在提供领先的图形处理能力和AI算力的同时,还打造了创新的分布式功能安全机制,为相关领域内的创新提供了一种全新的模式和思路

在实际工作中,汽车芯片功能安全覆盖了一颗芯片的规格制定、策略与方法选择、芯片研发、机制验证、芯片生产、下游系统设计和运行等产品定义及实现,以及生命周期内的所有活动及管理过程,同时还需要通过ISO26262等功能安全测试。这一切给汽车芯片设计制造企业及车厂和一级供应商等环节带来了更高的成本和更多的工作量,使许多车厂最终选择了忽略或者降低功能安全要求的行为,这在先进驾驶员辅助(ADAS)和自动驾驶(AD)越来越普及的今天带来了更多不安全因素,因此汽车芯片在功能安全领域内迫切需要能够降低成本和工作量的创新。

现有的汽车功能安全策略和实施方法

目前市场上主要的功能安全解决方案有两种:应用最广泛的一种被称为“锁步(lockstep)”解决方案,这是一种比较简单粗暴的方法,在汽车CPU中被广泛使用。该方法就是用两个处理器内核等同样的逻辑来执行一个程序以实现同样的一个功能,由它们同时执行并在执行完之后来比较这个结果,看看这两个结果是否一致。在受到高温或者高湿影响时,如果这两个内核得到的两个结果是一致的话,那证明这两块逻辑是运行正确的,有关计算和控制还能正确地执行。

图二、锁步架构原理图(图片来源:《车规芯片——双核锁步介绍》)

但这种方案带来的代价是什么?代价就是两套相同的计算和处理单元要消耗多一倍的芯片面积,或者就是面向同样处理功能的汽车芯片的面积要比传统的手机芯片的面积要大一倍。这种成本大幅提升对于大部分的客户是没法接受的,因为对于芯片开发商来说,一款芯片最重要的成本来自于其片芯的面积(die size)。如果为实现一个新的功能,最终需要增加一倍的片芯面积就意味着在一张8英寸或者12英寸上能够切出来的芯片数量减少了超过一半。

第二种实现功能安全的办法就是去把同一项工作执行两次,如GPU渲染两次或者CPU计算两次,再看一下这两次数据处理运算的结果是否一致。如果两次运算的结果不同就会发现错误,因为汽车的使用环境非常复杂,芯片里面有些错误是随机错误,有些错误是长期错误。对于随机错误,通过重复执行两次比较一下结果,如果是不一样就上报情况以确认这个功能有问题。这种重复执行的方法就可以避免一些随机错误。这样的方法带来的结果是什么?因为重复工作所得到的性能就会减到原来的一半,所以这也可能是用户没法接受的方案。

图三、主从式处理器验证方式(图片来源:《车规级处理器中的LockStep技术》)

图四、内部验证方式(图片来源:《车规级处理器中的LockStep技术》)

因此,无论是锁步方案还是重复执行方案给汽车厂商和芯片厂商都带来了甚至是没法接受的挑战,这也导致了功能安全在许多实际汽车应用中很难得到全面的接收。最主要的原因为性价比,因为芯片面积增加一倍或者是性能降低为二分之一,对于厂商来说它的成本也就增加了一倍。这个增加一倍的成本,最后都要转嫁到消费者头上,在过去汽车智能化程度比较低的情况下,没有太多客户愿意为这个功能安全买单,所以没有急迫性一直没有得到全面的应用。但汽车智能化这一趋势正在迫使行业做出改变。

创新的分布式功能安全机制带来全新的模式

不久前,全球领先的图形处理器及相关硅知识产权(IP)提供商Imagination Technologies发布的一款新型汽车GPU就为功能安全领域内的创新带来了全新的思路。搭载该公司的GPU IP产品的设备的出货量已经超过了130亿台,同时在车载GPU行业已经耕耘了超过20年,因此无论是该公司在GPU领域内的成就,还是新一代汽车GPU产品的功能安全性能都值得关注。我们来研究分析其新发布的全新一代GPU产品Imagination DXS GPU在功能安全方面的创新。

图五、Imagination DXS GPU的三大创新

DXS GPU是目前汽车应用领域内性能最高,同时具有完善功能安全的GPU,完美地匹配了今天汽车对于中央计算的要求。它首先是一个强大的图形处理器,可以支持车内所有的屏幕娱乐和交互能力。无论是位于驾驶舱前部的图显仪表盘和大屏幕,还是后面后座的娱乐显示,DXS的硬件性能比前一代提升了50%。由于软硬件上协同的投入,对于AI的这一块的性能提升远远超过50%,它提供了远高于CPU的计算性能,同时提供了远远高于NPU以及这类加速器SoC的编程灵活性。

除了性能之外,DXS GPU的最重要创新就是全新的功能安全解决方案:分布式功能安全机制(Distributed Functional Safety)。DXS GPU中创新的分布式安全机制几乎完全消除了以前的其他功能安全方案实现安全机制带来的性能以及片芯面积损失,大大降低了实现功能安全的代价,它仅仅额外消耗了大概10%的片芯面积,用10%的片芯面积带来了100%性能。这是广受芯片开发厂商所欢迎的创新,因为用非常小的代价实现了功能安全,解决了汽车芯片的一个非常重要的问题。

图六、分布式功能安全机制与双核锁步和重复执行两种方案的对比

DXS GPU是怎么成功地解决这个问题的呢?Imagination作为一个传统的GPU玩家,对GPU怎么运行非常清楚,所以利用了GPU的一些特性来非常灵活地实现了功能安全机制。首先一个特性是:作为一种并行处理器,GPU里面有一套并行计算的机制,GPU为了掩饰和隐藏延迟,在计算时采用了并行的很多线程或者重复单元。第二个特性就是当一个线程拿不到它要执行的资源时,它就会自动地被切换出去或者把它移出执行,等到它有资源来到的时候再去执行。

根据这两个特性,在GPU的一个线程停工等待的时候,就在其中插入一些测试模板或者测试集;利用同样的测试集,在另一个线程处于等待的时候,也插入同一个测试模板或样例,然后执行这两个测试。在执行完这两个线程之后,对比结果就会知道这两个线程执行的结果是否一致,如果有不同就会上报结果提醒系统和用户审核该功能是否安全;该机制也知道了一项功能具体在哪一个硬件上去执行,就保证了这些执行的硬件的功能安全。DXS GPU可以在相关等级上一直保证这些硬件的功能正确,没有受到环境、湿度、温度的影响。当然,Imagination还为DXS GPU提供了其他的机制来保证逻辑模块以及存储模块的功能正确。

目前,行业在汽车功能安全方面已经建立了完善的标准、测试方法和分级标定。在ISO26262标准中,根据严重度S、暴露概率E和可控性C三个因素,制定了汽车安全完整性等级(Automotive Safety Integration Level,ASIL)体系,分为A、B、C、D四个等级。作为常用的安全等级衡量标准,ASIL A最低,ASIL D最高,等级越高意味着该产品失效后可能引起的安全风险越大。Imagination DXS GPU可实现ASIL B等级的功能安全性。

图七、Imagination DXS GPU实现ASIL B等级功能安全

总结

随着汽车新四化的不断推进,汽车中的芯片数量将快速增加。除了关注这些芯片的算力和连接带宽等性能之外,同样重要的是打造和推出全新的功能安全解决方案。Imagination结合GPU这种处理器的架构特点,利用GPU的计算模式来打造了创新的分布式功能安全机制,消除了以前的其他功能安全方案实现机制带来的性能以及片芯面积损失,为电子行业在相关领域内的创新提供了一种全新的模式和思路。


http://www.ppmy.cn/embedded/138852.html

相关文章

labview使用报表工具从数据库导出数据

之前写了一篇labview从数据库导出数据到excel电子表格,但是是基于调用excel的activeX控件,有时候会有一些bug,就比如我工作机就无法显示方法,后面大哥指点才知道没有的原因是excel安装不完整。像我的工作机就没有这个选项。就需要…

【Pikachu】XML外部实体注入实战

若天下不定&#xff0c;吾往&#xff1b;若世道不平&#xff0c;不回&#xff01; 1.XXE漏洞实战 首先写入一个合法的xml文档 <?xml version "1.0"?> <!DOCTYPE gfzq [<!ENTITY gfzq "gfzq"> ]> <name>&gfzq;</name&…

SpringBoot 之整合gRPC

父工程中引入基本的依赖&#xff1a; <modules><module>api</module><module>client</module><module>service</module></modules><parent><artifactId>spring-boot-starter-parent</artifactId><group…

百度世界2024|李彦宏:智能体是AI应用的最主流形态,即将迎来爆发点

“ 过去24个月&#xff0c;AI行业的最大变化是什么&#xff1f;是大模型基本消除了幻觉。” 11月12日&#xff0c;百度创始人李彦宏在百度世界2024大会上&#xff0c;发表了主题为《应用来了》的演讲&#xff0c;发布两大赋能应用的AI技术——检索增强的文生图技术&#xff08;…

【java】抽象类和接口(了解,进阶,到全部掌握)

各位看官早安午安晚安呀 如果您觉得这篇文章对您有帮助的话 欢迎您一键三连&#xff0c;小编尽全力做到更好 欢迎您分享给更多人哦 大家好我们今天来学习Java面向对象的的抽象类和接口&#xff0c;我们大家庭已经来啦~ 第一次复习时总结&#xff1a; 一&#xff1a;抽象类 1.1…

基于 PyTorch 从零手搓一个GPT Transformer 对话大模型

一、从零手实现 GPT Transformer 模型架构 近年来&#xff0c;大模型的发展势头迅猛&#xff0c;成为了人工智能领域的研究热点。大模型以其强大的语言理解和生成能力&#xff0c;在自然语言处理、机器翻译、文本生成等多个领域取得了显著的成果。但这些都离不开其背后的核心架…

Qt-QWidget中的属性和方法

控件简单概述 控件Wigdet&#xff0c;其实也就是小组件/小部件的意思&#xff0c;但是读作控件就显得非常专业了。 在Qt Designer中 这些都是Qt给我们内置好的类。 Qt中的各种控件都是继承自QWidget类&#xff0c;并且在QWidget这里可以看到控件的属性&#xff1a; QWidget …

Asp.NET Core Mvc中一个视图怎么设置多个强数据类型

在ASP.NET Core MVC中&#xff0c;一个视图通常与一个强类型模型&#xff08;Model&#xff09;相关联。然而&#xff0c;在某些情况下&#xff0c;你可能需要在单个视图中使用多个不同的模型类型。为了实现这一点&#xff0c;你有几种选择&#xff1a; 使用视图模型&#xff0…