原标题:硬件与软件:躯体与灵魂

前言:

前一段时间特斯拉可付费在线激活后排座椅加热功能又叒叕上了全网热搜,许多人都称之为软件定义汽车的又一次科普。软件定义汽车这个论断已经开始深入人心!

那么未来汽车真的会由软件来定义吗?或者说未来汽车真的只由软件来定义就够了么?

1硬件与软件---皮之不存毛将焉附?

软件与硬件从来都是唇齿相依的共生关系,硬件是软件的载体,软件是硬件的表达,软件决定了硬件的操控水平,硬件决定了软件的功能边界。

以消费电子的头部网红美国苹果公司为例,这家以手机操作系统为核心竞争力的软件生态公司,却出人意外地在每场新品发布会上用大篇幅时间介绍其产品在硬件方面的黑科技。其实在我们的生活中也有这种感受,用一台老电脑玩最新的大型游戏完全带不动,用老手机装新系统卡顿得让人怀疑人生。所以软件在前面大放异彩,少不了硬件在背后默默地支持。

苹果公司2020年的秋季发布会上介绍A14苹果芯片

2自动驾驶落地需要硬件(AI芯片)的算力支持

自动驾驶的实现,需要依赖感知传感器对道路环境的信息进行采集,包括超声波、摄像头、毫米波雷达、激光雷达等,采集的数据需要传送到汽车中央处理器进行处理,用来识别障碍物、可行道路等,最后依据识别的结果,规划路径、制定速度,自动驱使汽车行驶。整个过程需要在瞬时完成,延时必须要控制在毫秒甚至微秒级别,才能保证自动驾驶的行驶安全。要完成瞬时处理、反馈、决策规划、执行的效果,对中央处理器的算力要求非常高。最直观的体现,便是用于感知道路环境的摄像头,通常密布车身,数量在12个左右,为了识别障碍物,处理器需要对多路摄像头实时拍摄的数据进行解析,而单颗1080P的高清摄像头每秒可以产生超过1G的数据,数据量不可谓不大。而为了准确识别图像、视频中的有效信息,业内多采用深度学习神经网络。

深度学习由训练和推理两个部分组成

深度学习的根本思想就是把任何事物转化成高维空间的向量,而强大无比的神经网络则是无数的矩阵运算和简单的非线性变换的结合。深度学习神经网络的实质就是将分析过程抽象成乘法的乘积结果和累加器的值相加,再存入累加器的乘法累积计算。深度学习的关键理论是线性代数和概率论,剩下的就是蛮力计算,因此深度学习神经网络尤其是几百上千层的神经网络对高性能计算要求非常高!因为算力越高在一定时间内就可以处理更多的信息,决策的准确性就会越高!研究表明自动驾驶等级每提高一级,算力就得增加一个数量级,L2 级别只需2TOPS(TOPS:万亿次浮点指令每秒)算力,但L5则需4000多TOPS算力。

如果说传统燃油车的性能好坏很大一部分由发动机功来决定,那么未来自动驾驶汽车的好坏很大一部分由AI芯片这个数字引擎的来决定!

3自动驾驶硬件(AI芯片)的架构分类

由于自动驾驶高算力和低功耗的强烈需求,传统单独依靠CPU控制芯片已不能满足该领域的应用需求。CPU最大的优势是灵活性。通过冯诺依曼架构,我们可以为数百万的不同应用加载任何软件。但是由于CPU非常灵活,硬件无法一直了解下一个计算是什么,直到它读取了软件的下一个指令。CPU必须在内部将每次计算的结果保存到内存中(也被称为寄存器或 L1 缓存)。内存访问成为CPU架构的短板,被称为冯诺依曼瓶颈。虽然神经网络的大规模运算中的每一步都是完全可预测的,每一个CPU的算术逻辑单元(ALU,控制乘法器和加法器的组件)都只能一个接一个地执行它们,每一次都需要访问内存,限制了总体吞吐量,并需要大量的能耗。总而言之CPU虽然能够非常高效地处理各种计算任务,但CPU的局限是一次只能处理相对来说很少量的任务,因此其计算速度要求无法满足深度学习这种需要出色的并行矩阵计算能力的应用场景需求!

CPU已经不能满足未来自动驾驶芯片的要求

目前,应用于L3 以上自动驾驶领域的主控制芯片按照技术架构主要分为三大类:

一、以英伟达公司的DRIVE PX平台为代表的图像处理单元GPU(Graphics Processing Unit)。GPU在执行单个任务时效率较低,而且所能处理的任务范围更小。不过GPU 的强大之处在于它们能够同时执行许多任务,因此GPU对处理复杂运算拥有天然的优势。例如,如果你需要乘3个浮点数,CPU会强过GPU;但如果你需要做100万次3个浮点数的乘法,那么GPU会碾压CPU。实践证明GPU对于神经网络的训练和分类都可以提供显著的加速效果。

但是GPU在应用于深度学习算法时仍然有四个方面的局限性:

1,应用过程中无法充分发挥并行计算优势。深度学习包含训练和推断两个计算环节,GPU 在深度学习算法训练上非常高效,但对于单一输入进行推断的场合,并行度的优势不能完全发挥;

2,无法灵活配置硬件结构。GPU 采用 SIMT 计算模式,硬件结构相对固定。目前深度学习算法还未完全稳定,若深度学习算法发生大的变化,GPU 无法灵活的配置硬件结构;

3,GPU仍然是一种通用的处理器,这又把我们带回到了基础的问题-冯诺依曼瓶颈。在每次几千个ALU的计算中,GPU 都需要访问寄存器或共享内存来读取和保存中间计算结果。因此GPU若想在其 ALU上执行更多的并行计算,它也会成比例地耗费更多的能量来访问内存,同时也因为复杂的线路而增加 GPU 的物理空间占用。因此为了提升运行速度,GPU选择堆砌内核,导致尺寸不具有优势;

4,GPU功耗巨大。NVIDIA 的 Drive PX 以及 Xavier 性能虽强,但整体功耗达到了250w,这会对汽车的电力系统造成一定压力。一般状态下的汽油车是只有引擎发动时才能发电带动功耗较大的设备功能,比如说冷气,如果自动驾驶的控制核心就必须消耗上百瓦的功耗,虽然理论上可以在怠速时关闭大部分针对自动驾驶的计算功能来节省功耗,但对于燃油汽车的传统电池仍会造成相当大的压力。就算是电动车,如果非马达部件需要消耗这么大的电力,那对于行驶里程也将有一定的减损。且如果开启自动驾驶,这些控制核心为了对外围环境进行计算、掌握变化,并随时针对驾驶情境进行反应,理论上都是要不间断、满负荷工作,根本没有机会进入可以降低功耗的休息模式。

自动驾驶的芯片需要实时统合庞大的数据,从而判断出驾驶环境并决定驾驶策略

二、以地平线公司的征程系列为代表专用集成电ASIC(Application Specific Integrated Circuit)。ASIC芯片的计算能力和计算效率都直接根据特定的算法的需要进行定制的,所以其可以实现体积小、功耗低、高可靠性、保密性强、计算性能高、计算效率高等优势。所以,在其所针对的特定的应用领域,ASIC芯片的能效表现要远超CPU、GPU等通用型芯片以及半定制的FPGA。

地平线征程3芯片算力达到5TOPS,功耗仅有2.5W

以蔚来ES8上使用的Mobileye EyeQ4芯片为例,其最高运算速率为2.5TOPS,功耗仅为3W。奥迪A8、沃尔沃XC90、特斯拉Model S等自动驾驶车型上搭载了Mobileye EyeQ3芯片,最高运算速率为0.256TOPS,功耗为2.5W,也可满足自动驾驶L2~L3级所需的计算能力。

除了地平线征程系列、Mobileye的EyeQ系列以外,谷歌的TPU系列、寒武纪的Cambricon1M系列也都属于ASIC芯片。

当然,ASIC芯片的缺点也很明显,因为其是针对特定算法设计的,一旦芯片设计完毕,其所适应的算法就是固定的,所以一旦算法发生变化就可能将会无法使用。但是, 随着自动驾驶软件、算法越来越成熟和稳定,车企们都将会选择自主开发匹配自己技术方案的自动驾驶专用芯片ASIC。

不同体系结构性能和灵活性的比较

三、以Xilinx公司的ZYNQ 系列为代表的现场可编程门阵列FPGA(Field-Pro⁃grammable Gate Array)。FPGA 是在 PAL、GAL、CPLD 等可编程器件基础上进一步发展的产物,可以通过烧入 FPGA 配置文件来定义这些门电路以及存储器之间的连线从而实现功能。FPGA可同时进行数据并行和任务并行计算,可以实现比 GPU 更高的并发处理。在密集处理和高并发上能力上占优,而且功耗比 CPU、GPU低。尽管FPGA备受看好,但其毕竟不是专门为了深度学习算法而研发,在实际应用中也存在诸多局限:

1、基本单元的计算能力有限。为了实现可重构特性,FPGA 内部有大量极细粒度的基本单元,但是每个单元的计算能力(主要依靠 LUT 查找表)都远远低于 CPU 和 GPU 中的 ALU模块;

2、计算资源占比相对较低。为实现可重构特性,FPGA 内部大量资源被用于可配置的片上路由与连线;

3、速度和功耗相对专用定制芯片(ASIC)仍然存在不小差距;

4、FPGA 价格比起 ASIC 较为昂贵,在规模放量的情况下单块 FPGA 的成本要远高于专用定制芯片ASIC。

赛林思ZYNQ系列自动驾驶芯片

4硬件与软件---躯体与灵魂

如果把软件比作未来汽车的灵魂,那么搭载软件的硬件则是灵魂所依靠的躯体。

灵魂与躯体之间是是密不可分,软件与硬件同样是一种融合共生的关系。

没有高性能的硬件,软件无法发挥自己的优势,软件不够优化,再强大的硬件也无处施展自己的性能,聪明的软件配合强大的硬件才能让自动驾驶技术最终落地为人类服务。

而未来汽车必将是一个拥有强健体魄和聪明大脑的有机体!

聪明的汽车是软件与硬件的有机体

现在回到开头的问题:

未来汽车会由软件来定义吗?

答案是肯定的,因为软件是未来汽车非常重要的一部分!

答案显然是否定的,因为未来汽车由软件来定义,它同样也由硬件来定义!

软件定义汽车,硬件决定软件!

责任编辑:

算力和硬件的关系_硬件与软件:躯体与灵魂相关推荐

  1. 算力和硬件的关系_硬件算力需求飙升,为什么软件生意越来越火?

    人工智能进一步推动了对算力的渴求,硬件的世界已经发生了极大的颠覆,不论是数据的处理方式还是计算架构的延伸,除了CPU.GPU.DSP.FPGA等,还涌现出各种各样的AI加速器.除了传统的芯片提供商,算 ...

  2. 嵌入式工程师是硬件工程师么‘_硬件工程师修炼真经

    导师分配课题项目做了,我想选择硬件,毕竟大学本科从事过电子大赛,熟悉一些,对这方面感兴趣,深知自己没有熟练掌握硬件技术,所以从网上搜索了硬件工程师所要学习的知识和技能,和大多数初学者一起共享.加油! ...

  3. 微处理器硬件喂狗_硬件基础:微控制器到底是什么?

    微处理器硬件喂狗 by Taron Foxworth 通过塔伦·福克斯沃思(Taron Foxworth) 硬件基础:微控制器到底是什么? (Hardware Fundamentals: what e ...

  4. 三年硬件工程师薪水_硬件工程师薪资虚高,你认可吗?

    看到"硬件工程师工资虚高"这题目,吓得我马上点进来了!一看"两年","两万"!我严重怀着题主是不是写错了!如果没有错,那只能说有这三中情况! ...

  5. 设备树与驱动的关系_裸机程序如何驱动硬件?

    任何计算机系统都是软件和硬件的结合体,如果只有硬件而没有软件,则硬件是没有灵魂的躯壳:如果只有软件没有硬件,则软件就是一堆无用的字符.在底层硬件的基础上,操作系统覆盖一层驱动,屏蔽底层硬件的操作,通过 ...

  6. 软件和硬件的关系以及软件调动硬件的工作原理

    软件是一个纯虚拟的东西,他本身就是一块内存,软件在运行时内存在RAM中(目前是这么理解的),运行的时候,主要是通过相应的接口去调用某一块内存,以改变这块内存的数据.改变这块内存的数据的目的就是为了别人 ...

  7. 计算机基础- -应用和硬件的关系

    计算机基础- -应用和硬件的关系 文章目录 计算机基础- -应用和硬件的关系 一.应用和硬件的关系 1.支持硬件输入输出的IN指令和OUT指令 2.测试输入和输出程序 3.外围设备的中断请求 4.用中 ...

  8. 计算机软件与硬件的关系及软件的分类

    硬件与软件的关系 硬件和软件是一个完整的计算机系统互相依存的两大部分,它们的关系主要体现在以下几个方面. ⑴ 硬件和软件互相依存 硬件是软件赖以工作的物质基础,软件的正常工作是硬件发挥作用的唯一途径. ...

  9. 软开关设计漫谈_硬件篇

    //========================================================================   //TITLE:   //    软开关设计漫 ...

最新文章

  1. Python3之set, frozenset记录
  2. 计算机程序设计考试题目,计算机程序设计员理论试题(题库)
  3. NLP之TEA:基于SnowNLP实现自然语言处理之对输入文本进行情感分析(分词→词性标注→拼音简繁转换→情感分析→测试)
  4. 2022-03-09
  5. Centos7把一个文件复制到另外一台服务器上的scp命令
  6. leetcode-283-移动零
  7. poj 1654 Area 多边形面积
  8. pb90代码如何连接sql2008r2_如何使用 HTTP Headers 来保护你的 Web 应用
  9. 巨蟒python全栈开发flask5
  10. jQuery插件_SuperSlide插件(焦点图切换、标签切换、多个slide组合)
  11. 输入学号查询课程c语言,广工c语言课程设计
  12. 模板函数:将string类型变量转换为常用的数值类型和常用的数值类型转String
  13. 【故障分析】基于matlab三容水箱故障诊断【含Matlab源码 1485期】
  14. windows xp sp3 原版收藏。
  15. 如何破解qq仅三天可见
  16. 颜文字风波+选颜文字游戏
  17. Specificity and sensitivity
  18. 百度飞桨EasyDL X 韦士肯:看轴承质检如何装上“AI之眼”
  19. fork和lockf应用
  20. 为何vSAN需要至少2n+1台主机,来防止n台主机出现故障(FTT=n)?

热门文章

  1. android UiAutomator在清除文本时遇到中文的解决办法
  2. [C#] 属性的事情
  3. map写入文件及从文件读出
  4. 苹果iTunes Store下架加密货币播客
  5. 云服务器部署nginx
  6. Access update语句 提示 操作必须使用一个可更新的查询Access update语句 提示 操作必须使用一个可更新的查询
  7. php jwt使用案例,记一次PHP使用JWT
  8. 图片尺寸压缩和图片质量压缩
  9. 计算机网络在财务管理中的运用,浅析如何应用计算机网络进行财务管理
  10. linux命令的全称,linux命令的全称~~~·