电子说
这里说的 Cortex A65 架构跟上面说的 V8架构指的不是同一个概念。V8 架构是 2011 年 ARM 推出的 RISC(精简指令集处理器)底层架构,而 A65 是一类已经成品的 CPU 基础框架。通俗点的解释就是,V8 代表的是规则,也就是“处理器应该怎么做”,而 Cortex 代表的,是在此规则下,ARM 推出的官方处理器范本,所有芯片厂商可以购买公版 Cortex 架构进行设计再改造,ARM 公司本身不制造芯片。
如果要选出一位“自动驾驶芯片的幕后 BOSS ”,ARM 的得票数不会低。
从支撑各种大屏智能车载系统的 MCU,到实现 L2/L3 甚至 L4/L5 级别自动驾驶的芯片,目前市面上主流方案的 CPU 部分,都是基于 ARM 的架构打造的。
举个栗子,高通 820A(A 代表 Auto),高通为车载系统打造的全新一代 MCU,其 CPU 部分就是基于 ARM V8 架构进行设计的。
再举个栗子,上个月刷屏自动驾驶界的英伟达 AGX 系列自动驾驶计算平台,其 CPU 部分也是基于 ARM V8 架构进行设计的。
就在北京时间 19 号,ARM 公司正式发布了全新的微处理器架构——Cortex A65AE。
AE 是 Automotive Enhanced(汽车增强)的缩写,也就是说,A65AE 是一款针对汽车应用做了针对优化的架构。更准确点说,是针对自动驾驶做了优化。
注:这里说的 Cortex A65 架构跟上面说的 V8架构指的不是同一个概念。V8 架构是 2011 年 ARM 推出的 RISC(精简指令集处理器)底层架构,而 A65 是一类已经成品的 CPU 基础框架。通俗点的解释就是,V8 代表的是规则,也就是“处理器应该怎么做”,而 Cortex 代表的,是在此规则下,ARM 推出的官方处理器范本,所有芯片厂商可以购买公版 Cortex 架构进行设计再改造,ARM 公司本身不制造芯片。
那 A65 到底针对自动驾驶做了怎样的优化呢?
ARM 把 A65 上针对自动驾驶推出的全新功能叫做 split-lock (分核-锁步)技术。这个技术的基本原理是:在分核模式下,CPU 核心可以分成双核一组或四核一组的独立核心群,用于各种任务和应用程序,实现更高性能;在锁步模式下,CPU 将处于锁步状态,在群集中创建一对(或两对)锁步CPU 运行相同的代码,若监控到异常,会向系统报错并让故障恢复机制接管(或至少会通知驱动程序),以实现更高汽车安全。
上面这段话看起来有点过于硬核,我们还是用通俗的例子说明吧:
如果我们把 CPU 内部的多个核心想象成公司里的一个个员工,那么分核模式就像是小组工作,每个小组各司其职,独立完成任务。而锁步模式就像是让两个人按照同样的规则处理同一件事情,如果途中两个人的办公出现了差异,那么老板(操作系统)会马上过来检查到底是哪里出了岔子。
分核-锁步模式对自动驾驶有什么特别的好处呢?四个字概括——高效安全。
目前实现自动驾驶,还是要靠多传感器协同工作。传统的消费级别多核 CPU,都是多核心并行工作,也就是有事大家一起上。这样的工作方式在协调多传感器的高级辅助驾驶/自动驾驶汽车上会存在性能浪费的问题,当某些传感器没有工作的时候,整个处理器的所有核心依然在工作,而这个时候明明可以调用更少的核心,实现更低的发热和功耗。
而 A65AE 架构采用的分核模式,实际上就可以根据传感器的权重智能分配核心数目,根据传感器工作的情况合理调度各个核心,这就是高效。
那安全呢?安全对应的,就是锁步模式。传统 CPU 的多核并行运算容错能力并不高。尽管芯片厂商一直在不断改进每一代新芯片的安全性能,但是只要出错率存在,就不能说是一颗 100% 安全的芯片。
A65AE 解决这个问题的办法非常聪明,锁步模式下两个核心同时工作,对结果进行对比——我知道芯片不是 100% 准确的,我也允许芯片犯错,但我会检查出来,并且改正。
如果看到这里你还记得这篇文章的题目,那你多半要开始吐槽——说好的 16 年前的技术呢?!
别急,我们先回忆一下刚刚说过的分核-锁步模式。这两个模式实现的前提是一样的——CPU 要拥有足够多的核心可供调用。
尽管 A65AE 在研发过程中,就已经针对目前最先进的7纳米制造工艺做了优化,号称比起 Mobileye EyeQ4 芯片 CPU 部分采用的 Cortex-A53 架构,在功耗相同的情况下实现了 3.5 倍的性能。
但是要支持高级别高安全性的自动驾驶运算,算力可以说是多多益善,而功耗也会相应的水涨船高。能有多高?从英伟达的 AGX Pegasus 平台高达 500W 的恐怖功耗,相信大家也可见一斑。
这个 16 年前的技术就是这样登场的——HT(Hyper-Threading),超线程技术。
这项技术的原理很简单——把一个物理核心,变成两个逻辑核心。
什么意思呢?硬核名词,我们还是通俗解释,不一定完全准确,但保证易懂:
我们把物理核心看做一个人,而处理器就像是一条工厂的流水线,功耗则是工厂的电费。而在这条流水线上,一个人同时只能装配一个产品——左手扶着,右手安装。这就是单线程,每个物理核心只处理一条线程上的数据。
多线程的操作是这样的:工厂在流水线上给你装了一个很小的机械臂(特殊指令),帮你扶着来来往往的产品(数据),这样,你的左右两只手都能装配(处理数据)了。而工厂并没有增加双倍的工资(功耗翻番),只是买了一个很小的机械臂(增加很小部分的功耗)而已。
这项技术在那个处理器还是单核的年代可以说是极为超前的,因为当时的技术并不足以给价格更低的消费级单核处理器设计出双倍的带宽(物理核心没有变)。
这个问题,还是继续用上面的例子解释吧:虽然工人两只手都可以空出来工作,但是雇佣大脑足够灵活,能够轻松左右互搏的人,成本是很高的。在那个年代,只有服务器级别的处理器市场能够充分消化超线程技术。
当然,在 16 年后的现在,带宽跟成本早已不是什么问题,PC 界早在 2009 年就已经重新拥抱了超线程技术,而追求极致高效能的 ARM,也在 7 纳米工艺成熟的今天,正式推出了自己的超线程芯片。
不过,这个如此美妙的处理器架构,可能要等到 2020 年才会有车规级的芯片上市。毕竟等待芯片工艺成熟稳定、芯片成品经过车规级检验,是一段足够漫长的时间。
但是 A65AE 的出现,已经足够让 ARM 在对手面前,保持足够的领先地位。对手是谁?没错,是英字头的,不过不是英伟达,是英特尔。
蓝色小巨人英特尔在 PC 和服务器芯片领域可以说是风生水起,但是在自动驾驶领域,目前英特尔还没有一块商用的芯片发布,更不用说什么针对自动驾驶优化的处理器架构了。
尽管英特尔斥资 150 亿美元收购了 Mobileye,但是其 EyeQ4 芯片的 CPU 部分,依然是 8 个基于 ARM Cortex A53 架构的芯片。而 EyeQ5 的架构详情虽然早在 2016 年就已经说“将会公布”,但是在英特尔入主 Mobileye 之后,却又一直遮遮掩掩,只是给出了基本的算力数据,说会在 2020 年搭载在上路的汽车上面。
难道说,EyeQ5 本来采用的依然是 ARM 架构 CPU,而 Mobileye 被英特尔招至麾下之后,决定重造芯片?
这个问题的答案,我们可能要等上一段时间了。
哦对了,超线程技术的发明者,就是英特尔。
全部0条评论
快来发表一下你的评论吧 !