导读:虽然Mobileye在L3/L4领域被英伟达和高通压制,但目前市场主流还是L2,L3/L4的出货量目前还很低,Mobileye在L2的市场占有率在75%以上。2021年出货量高达2810万片,绝对的霸主地位。
图片来源:互联网
L2+时代,被英特尔收购的Mobileye不再以芯片单打独斗,而是借助英特尔的强大实力,开拓更广的产品线来为客户提供全套解决方案。英特尔在光电子领域耕耘多年,光收发器技术全球领先,激光雷达本质上就是个光收发器。在射频领域,英特尔也有足够的技术积累,WiFi6和5G领域皆有相关产品,做毫米波雷达芯片更是得心应手。同时Mobileye也推出了EyeQ6系列芯片。
图片来源:互联网
EyeQ6H与Mobileye之前的芯片比最大不同是加入了两个GPU,一个是很小规模的ARM MALI GPU,算力仅为64GFLOPS,估计是双核的MALI G78AE,运行频率500-600MHz之间,预计用于ADAS的AR图像叠加输出。另一个GPU不明,可能是Imagination的BXS 1024 MC-2,算力1000GFLOPS,主要是应对OCL,应该是OpenCL,OpenCL是GPGPU的API,OpenCL类似于另外两个开放的工业标准OpenGL (跨平台图形API) 和OpenAL (跨平台音效API),这两个标准分别用于三维图形和计算机音频方面。OpenCL扩充了GPU图形生成之外的能力。OpenCL由非盈利性技术组织Khronos Group掌管。应该是做立体视觉中的计算量最大的立体匹配用的。顺便说一下,计算机视觉领域的关键库OpenCV是英特尔主导并开源的,英特尔无处不在,早在1999年,英特尔就开始做OpenCV的前期工作了。
CPU方面还是MIPS的架构,还是EyeQ5的I6500-F架构,特色是多线程,EyeQ6H是8核32线程。ARM架构除了极罕见的A65AE外,都是单线程架构。x86架构通常都是多一倍的线程,一般是4核8线程这样,只有MIPS,从2005年引入多线程以来,一直以此为卖点。
MIPS成立于1984年,是最早提供RISC CPU IP的公司,主打的实时应用,特别是互联网实时应用,网络打印机、路由器、网关领域是MIPS的核心领域,注重性能而对功耗不太在意。但这些领域缺乏增长,股东看不到增长就要出售公司。2018年MIPS经过两度转手,最终落到了AI初创企业Wave Computing手里。不过好景不长,在收购第二年,Wave Computing就申请破产重组,最终还是活过来了,2020年11月,Wave将RISC-V支持加入MIPS核心,此举并不意味着Wave全面倒向RISC-V,MIPS仍然有庞大的用户基础,维持稳定的现金流没有问题,在2019年采用MIPS架构的芯片就有10亿片出货。汽车领域客户不少,包括电装、NXP、奔驰投资的Valens、Microchip。
图片来源:互联网
简单说一下多线程,我们说的多线程一般是SMT,Simultaneous Multithreading,它还有一个名字超线程(Hyper-Threading),业内也叫线程级并行,线程级并行是一种显式并行,也就是程序员要写多线程程序。随着单核性能的不断提升,后端执行资源也越来越丰富,这种执行端口闲置的情况就会越来越明显,造成资源浪费。这时候,为了将这些资源物尽其用,同步多线程SMT就应运而生了。SMT的思路是这样的,既然一个任务填不满后端的资源,那么我们就找不止一个任务来填就好了,不同任务之间的相互依赖和冲突情况很低,放到一起来执行正合适去填满后端资源。
图片来源:互联网
即一个物理核心虚拟出多个逻辑核心,一般是一个物理核心虚拟出两个逻辑核心,即英特尔和AMD的SMT2。而MIPS是SMT4,在常规指令译码后多了4个线程级逻辑单元,实际物理上不存在,要靠软件来实现。上图是I6400的微架构图,I6500与之类似。
天下没有免费的午餐,SMT技术带来多线程性能提升的同时,势必也会有一些负面的影响。首先是上下文转换的开销,一个物理核心如果引入多个线程,那么是要协调、隔离多个线程的,任务的转换之间会产生额外的开销。所以最理想情况下,如果一个核心有两个线程,那么两个线程的总执行时间会更快,但细分到每一个线程的执行时间,会比分别执行来的慢一些。其次是资源冲突,最典型的冲突就是缓存的冲突,一个线程可以用100%的缓存,而超过一个线程使用同一个缓存,可用缓存就不是100%,会导致大量开销极大的缓存-内存换入换出。只要有一个线程是非常吃缓存的,那么加入SMT不但不会提升总的执行效率,反而会降低整体效率。SMT非常忌讳不同线程的资源冲突,一但冲突SMT就很容易引入反面效果。比如在很多云服务器、HPC服务器上,SMT通常是关闭的,就是因为资源冲突。再次是线程安全问题,两个线程在同一个核心内执行,是需要严格隔离它们的上下文的,线程A不能访问修改其他线程的资源。线程隔离是一个非常复杂和繁琐的过程,若隔离不彻底,会导致执行错误、以及隐私泄漏的问题。最后是功耗,加入SMT后单核的能耗比会有些许倒退。由于引入SMT会导致核心设计更加复杂,静态功耗、漏电会更难控制,这对于移动设备是致命的。这也是为什么SMT在PC和服务器上大行其道这么多年,手机上几乎看不到的原因。
图片来源:互联网
上图为I6500F的一致性管理,这是异构计算的先决条件,一致性特别是缓存一致性。
在一个多处理器系统中,缓存和内存池可能对同一份数据有多份副本,如何保证这些副本的一致性(Coherency)是个必须严肃对待的问题。可以纯软件来处理这个问题,利用Cache操作指令,但开销巨大十分复杂,而且操作系统的内存模型就需要全部改变,这对X86体系甚至绝大多数体系而言都是不能接受的。所以绝大多数计算机体系都是靠硬件来完成Cache Coherency的,硬件会自动保证各个副本的一致性,无需软件操心。常规的做法是加一个Snoop偷窥过滤器。在内存控制器端的CacheAgent(CA),在L3 Cache端,他们都在Ring bus上监听和发送snoop消息。这种模型叫做Bus snooping模型,与之相对的还有Directory模型。考虑到I6500是2016年的产品,可能还是Snoop偷窥过滤器。
图片来源:互联网
I6500的ACE 一致性编织比较适合异构计算,就是CPU、GPU和AI混合。
图片来源:互联网
I6500-F看对应ISO26262即功能安全,至少可以达到ASIL-C级。 高性能GPU方面,只有1000GFLOPS,估计Mobileye会采用MIPS老东家Imagination的产品,不需要用到英特尔的GPU架构。Imagination有一系列针对车载领域的GPU,即IMG-B系列,这是2020年10月才推出的产品系列,也是Imagination放弃PowerVR的GT系列序号,改为A和B两大系列,A系列于2019年12月发布,主打高性能应用,B系列主打低功耗应用。IMG BXT/BXS-32-1024 MC2 GPU比较符合,通常车载GPU运行频率不高,大致在450-650MHz之间,IMG BXT/BXS-32-1024 MC2性能为2048 FP32 FLOPs/Clock,500MHz频率下,性能即1024GFLOPS。但未见Imagination公布与Mobileye的合作新闻,也有可能采用了英特尔自己的GPU架构,不过有点大材小用了。 其中BXS系列是针对车载领域设计的,能够满足ISO26262的要求。
图片来源:互联网
Imagination声称其采用了一项Tile Region Protection即TRP的技术,足以应对苛刻的功能安全。 再来看ARM MALI的GPU。 ARM的GPU设计项目最早从上个世纪90年代末期开始,由挪威科技大学开始开展,随后在2001年,这个项目的Mali小组成员从研究中脱离出来,成立了一个名为Falanx Microsystems的公司。Falanx公司的人员刚开始瞄准的是PC图形市场,但当时已经是后3DFX时代,群雄并起,包括S3、Rendition、Revolution以及Imagination等公司最后都失败了,最终Falanx无法筹集到足够的资金,被迫放弃了PC图形市场。 在那个“紧迫期”,由于资金有限和PC图形硬件极高的研发成本,Falanx最终决定转向移动SoC GPU设计。因为移动GPU设计更简单且较容易成功。Falanx的产品Mali GPU也迎来了第一个客户—美国Zoran公司,使用了Mali-55作为他们Approach 5C SoC芯片的GPU,这颗芯片还被用在LG's Viewty这样广受欢迎的手机产品中。即使如此,Falanx还不满足,最终在2006年迎来了他们的“大鱼”。鉴于SoC市场持续增长以及将带来的移动计算大潮,ARM公司终于决定买下Falanx,组建自己的GPU事业部,并联合ARM的CPU一起推动整个产业的增长。ARM作为一个处于上升期、资金充裕的公司,完全有能力给Falanx充足的资金和研发资源来实现梦想。 ARM第一代微架构Utgard(北欧神话人物:乌特加德)。这一代架构出来的比较早,主要是图形加速IP。可以追溯到2007年的mali-200。不过最让人惊讶的是mali-4xx系列,现在很多电视芯片都还在用这个IP。比如小米的智能电视,还有很多是mali-4xx系列的。第二代微架构Midgard(北欧神话人物:米德加德)。Midgard这一代GPU开始属于同一着色器的架构,也就是上面说的vertexshader和fragment shader已经统一在一起了,相当于同一个shader计算单元可以处理多种着色器。当然也开始支持通用计算。特别是对OpenCL的支持。第三代微架构Bifrost(北欧神话中连接天宫和大地的:彩虹桥)。第四代微架构Valhall(北欧神话中的瓦尔哈拉神殿,是战死的勇士死后进入奥丁神的神殿)是2019年第二季度推出来的。该系列是基于超标量实现的。
常见苹果、高通与ARM MALI GPU参数对比
资料来源:佐思汽研
ARM MALI G78AE GPU是ARM首款针对车载领域开发的GPU IP,目标是ASIL-D级标准。
图片来源:互联网
MALI G78AE框架图如上,主要是加入了灵活分区功能,能够提高效率与安全性。
ARM MALI G78AE简介
图片来源:互联网
图片来源:互联网
EyeQ6L是目前Mobileye主力产品EyeQ4的替代者,也采用7纳米设计,CPU是2核8线程,OCL算力是720GFLOPS。相比EyeQ4,其面积小了45%,这就意味着硬件成本低了45%,其价格可以低于30美元,比初创企业的竞品成本还要低。AI算力有5TOPS,用于L2+绰绰有余。
Mobileye系统最大优点是产品成本低,开发周期很短,开发费用极低,绝大部分功能都经过验证,没有风险。而缺点是系统非常封闭,难以搞特色功能,迭代困难,出了问题,较难改进或提升。对于传统车厂而言,Mobileye基本是唯一选择,对于总想与众不同的新兴造车厂家来说就有点无法适应。然而新兴造车企业毕竟还是极少数。Mobileye霸主地位至少五年内稳如泰山。
来源:佐思汽车研究 ,作者周彦武