“种一棵树,最好的时间是十年前,其次是现在。”
特斯拉于去年3月份发布了基于Intel Atom(Apollo Lake)芯片的新版本多媒体控制器MCU2(MCU, Media Controller Unit),今年4月份发布了其自研SOC(System On Chip)的Autopilot硬件HW3(FSD,Full Self Driving)以支持将来实现全自动驾驶所需要的算力。多媒体控制器MCU与Autopilot ECU共同构成了特斯拉的大脑,最新版本的两个硬件开始在今年4月份下旬生产的Model 3和5月下旬生产的Model S/X中使用。
如上图,其中上层的板子为媒体控制器,使用Intel Atom E3950的4核2.0Ghz的x86架构处理器,运行特斯拉基于Linux开发的操作系统负责中控大屏的信息娱乐功能(特斯拉尚未根据GPL开源协议将Model 3该部分Linux修改代码开源)。
下层的板子为Autopilot ECU,HW3版本由两个特斯拉自研发的FSD芯片组成,两个SOC由两组独立电源分别供电,共享所有摄像头输入超声波雷达等传感器数据,并行计算,相互校验互为安全冗余。
FSD芯片采用三星的14nm技术制造,如下图,一个SOC中集成了:3个4核(共12核)ARM Cotex-A72架构的2.2GHz的CPU,一个1GHz的GPU,两个2GHz的NNP(神经网络处理器)。每个NNP有个96*96个MAC的矩阵,32MB SRAM,每个NNP的处理能力是 96*96*2(OPs)*2(GHz)=36.864TOPS,则单个芯片为72 TOPS,包含两个芯片的Autopilot ECU为144TOPS。
特斯拉分析,应用一个典型的使用CNN 卷积神经网络的视觉感知算法,其中99%以上的计算操作为加法与乘法运算(如下图)。NPU通过提供特定矩阵运算硬件加速指令(DMA读写,卷积/反卷积,点乘等)并将模型加载进NPU的SRAM,可以较大的优化神经网络模型应用,达到原先使用通用的GPU处理器运算速度的21倍(在解决特定问题上)。
回顾过去8年,特斯拉在智能化的左脑右脑上都进行了多次迭代(如下图)。可以看出,特斯拉在MCU媒体控制器上的投入相对于Autopilot ECU会少一些,与第一版硬件时隔近6年,在NVIDIA放弃了面向智能驾驶舱的Drive CX平台后转向使用Intel的解决方案。而在Autopilot ECU方面则显得非常激进:从最初的感知由Mobileye EyeQ3负责仅实现基于规则的简单控制,进化到自研实现基于机器学习的Autopilot软件,再到应用芯片级别的硬件优化以及将来规划的全自动驾驶。
在操作系统层面上,娱乐域应用适合采用多任务分时系统(类同手机和PC上的IOS,安卓,windows等操作系统),自动驾驶领域功能适合采用实时操作系统(类比战斗机的控制系统),不同领域的问题需要针对其特点优化解决。娱乐域的操作系统方面,特斯拉2012年在车载Android尚未发展的时期选择了Linux路线无可厚非,而在当前Android Automotive发展迅猛,各家CP/SP厂商纷纷提供安卓车机版SDK或车机应用可以快速集成的环境下,Android Automotive会是目前娱乐域操作系统的主流选择。