智能座舱域控制器(三)

本章内容主要是讲解智能座舱域控制芯片的相关重要指标,在讲解芯片指标之前,我们看看域控制芯片有哪些

欢迎关注我的微信公众号:阿宝1990,每天给你汽车干货,我们始于车,但不止于车。

图片

半导体、能源革命驱动的此轮汽车智能化、电动化浪潮,半导体格局反应产业链格局

座舱芯片:高通算力高、集成度高、性价比高,份额提升明显。

自动驾驶芯片

封闭生态战胜开放生态

L3+:英伟达>高通>华为

L3以下:Mobileye市占率最高,但黑盒子交付模式越来越不受车厂喜欢,未来开放模式将更受大家欢迎;地平线、黑芝麻等国产厂商有机会

图片

智能汽车芯片目前主要变化出现在座舱域、辅助驾驶/自动驾驶两大域控制器上。

智能座舱芯片是由中控屏芯片升级而来,目前主要参与者包括传统汽车芯片供应商以及新入局的消费电子厂商,国产厂商正从后装切入前装,包括:四维图新(杰发科技)和全志科技。

自动驾驶域控制器为电子电气架构变化下新产生的一块计算平台,目前占主导的是英特尔Mobileye和英伟达,高通、华为重点布局领域,同时也有地平线、芯驰科技等创业企业参与。

图片

CPU芯片性能相关基本概念

计算机体系

图片

冯诺依曼于1945年发表了《FirstDraft of a Report on the EDVAC》(EDVAC初稿),在这篇报告中,冯诺依曼提出了“冯诺依曼体系结构”,明确指出了计算机必须具备的5大部件:运算器、控制器、存储器、输入设备、输出设备。

CPU作为控制器、运算器、存储器的结合体,提供通用算力,能处理不同的数据类型,成为了计算机的刚需。

CPU作为硬件层,支撑着Windows、IOS、安卓等系统软件层的启动,进而推进汽车电子、服务器、PC等应用层的发展,所以CPU的价值不可取代。

 各个应用领域的CPU标准是不同的。例如,在一些高可靠性应用场景,如汽车电子的CPU需要满足AEC-Q100车规认证;服务器的CPU特别看重多核表现和并行处理的能力;个人电脑的CPU注重单核表现,同时需要平衡体积、性能、效能表现;移动设备和智能穿戴的CPU把便携和节能放在第一位。

CPU内部组成和工作原理:

图片

中央处理器(Central Processing Unit)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。CPU核心主要是由大量的运算器、控制器、寄存器组成。

运算器负责算术运算和逻辑运算。控制器负责应对所有的信息情况,调度运算器把计算做好。寄存器既要承接控制器的命令,传达命令给运算器;还要帮运算器记录已处理或者将要处理的数据。

几乎所有的CPU的运作可以简要概括为“取”,“解码”和“执行”三大步骤,此三个步骤统称为指令周期。通常,CPU核心从存储单元或内存中提取指令。然后,根据指令集由指令解码器执行解码,将指令转换为控制CPU其他部份的信号。最后通过运算器中的微架构进行运算得到结果。CPU内核的基础就是指令集和微架构。

1、CPU芯片性能相关基本概念--指令集

CPU指令集(Instruction Set)是CPU中计算和控制计算机系统所有指令的集合。

指令集包含了基本数据类型,指令集,寄存器,寻址模式,存储体系,中断,异常处理以及外部I/O,一系列的opcode即操作码(机器语言),以及由特定处理器执行的基本命令。

指令集一般被整合在操作系统内核最底层的硬件抽象层中。指令集属于计算机中硬件与软件的接它向操作系统定义了CPU的基本功能。

现阶段的指令集可以被划分为复杂指令集(CISC)与精简指令集(RISC)两类。

图片

CCISC与RISC无论哪一方都没有绝对的优势或劣势。

从硬件角度分析:CISC采用的是不等长指令集,因此在执行单条指令时需要较多的处理工作,但是它的优势往往在于部份特定专业领域的应用。而RISC执行的是等长精简指令集,CPU在执行指令的时候速度较快且性能稳定,因此RISC适合采用流水线方式运作,且在并行处理方面明显优于CISC。

从性能角度分析:CISC阵营的Intel和AMD在提升芯片性能上做出了持续的努力,CISC芯片的功耗被放在了性能后的第二位;而RISC-ARM本身出现时间较CISC-X86晚十年左右(ARM诞生于1985年,X86诞生于1978年),ARM、MIPS在创始初期缺乏与Intel产品对抗的实力,专注于以低功耗为前提的高性能芯片。

图片

CCISC与RISC从上世纪后期已经在逐步走向融合,并且该趋势持续至今。例如2005年苹果通过引入Rosetta将原先IBM的Power PC指令集转译为英特尔处理器接受的X86指令集。2020年苹果发布基于ARM指令集的M1处理器后,将Rosetta更新为Rosetta2以便将原英特尔的X86指令集快速转译为M1的ARM指令集。

整体来看,以高通骁龙,联发科,三星Exynos,苹果A系列为代表的ARM架构RISC处理器占据了移动处理器的市场。而在个人电脑领域以Wintel联盟为基础的X86架构CISC处理器占据了该市场。MIPS,Power,Alpha等架构虽然已经不是市场的主流,但在特定领域内仍然在被使用。

图片

软件生态方面,X86运行的主要为DOS,非ARM版Windows,旧版MacOS等操作系统,起步早,基于Wintel联盟,生态完善。全世界有65%以上的软件开发商都为X86提供生态服务。

ARM方面运行的主要有安卓,iOS,iPadOS,Windows10移动版,MacOS Big Sur等。原先适应X86指令集的软件需要经过翻译后才可运行,如苹果的Rosetta2可以将X86指令转换为ARM指令,所以运行速度会减慢。

ARM成本低,迭代快,其软件生态正在加速追赶X86的软件生态。苹果应用商店软件数量从2008年7月的5万个发展到2020年的342万个。同年Google Play商店有270万款可供下载的软件。

图片

2、CPU芯片性能相关基本概念--CPU微架构

微架构是(Micro Architecture)一种给定的指令集架构在处理器中执行的方法。相同的指令集可以在不同的微架构中执行,但实施的目的和效果可能不同。优秀的微架构对CPU性能和效能提升发挥着至关重要的作用。计算机体系是微架构和指令集的结合。

众多的算数单元、逻辑单元和寄存器文件在三态总线和单向总线,以及各个控制线的连接下组成了CPU的微架构。计算机的总线组织由CPU的复杂程度决定,二者常同向变化。

CPU微架构中常见的单元有执行端口、缓冲单元、整数运算单元、矢量运算单元等。

图片

存储相关的介绍:

CPU内部单元有存储单元,外面又有EMMC和DDR,为什么需要这么多存储呢,这里简单介绍一下。

1)内存又称主存,是 CPU 能直接寻址的存储空间,由半导体器件制成

2)内存的特点是存取速率快

图片

内存的作用

1)暂时存放 cpu 的运算数据

2)硬盘等外部存储器交换的数据

3)保障 cpu 计算的稳定性和高性能

图片

上图非常清楚的看到不用的存储的大小不同,而且速度不同,越上面的存储器容量越小,比如L1和L2 cache这部分容量非常小,但是速度非常快,而且价格比较贵。

图片

往下面的DDR、NOR、NAND、硬盘等等,你会发现容量越来越大,但是通讯速率会更慢,你从一个硬盘里面拷贝资料一般达到50MB/S就谢天谢地了,但是DDR可以达到2133MHZ的速率。同等容量下,越往下面的存储设备的价格也就越便宜。

芯片内部高速缓存介绍:

图片

上图是全志T7的芯片内部手册图,可以从很多芯片手册上面看到有I cache和D cache 和L2 cache。这个就是上图中的L1和L2 cache 芯片内部高速缓存。

Cache,是存储器子系统的组成部分,存放着程序经常使用的指令和数据,这就是Cache的传统定义。从广义的角度上看,Cache是快设备为了缓解访问慢设备延时的预留的Buffer,从而可以在掩盖访问延时的同时,尽可能地提高数据传输率。

高速缓冲存储器Cache是位于CPU与内存之间的临时存储器,它的容量比内存小但交换速度快。在Cache中的数据是内存中的一小部分,但这一小部分是短时间内CPU即将访问的,当CPU调用大量数据时,就可避开内存直接从Cache中调用,从而加快读取速度。

由此可见,在CPU中加入Cache是一种高效的解决方案,这样整个内存储器(Cache+内存)就变成了既有Cache的高速度,又有内存的大容量的存储系统了。Cache对CPU的性能影响很大,主要是因为CPU的数据交换顺序和CPU与Cache间的带宽引起的。

3、CPU芯片性能相关基本概念--CPU微架构工作流程

CPU的每个核心有独占的L1指令缓存、L1数据缓存和L2缓存,多数核心共享L3缓存。所有缓存中L1缓存通过虚拟地址空间寻址,L2/L3通过线性地址空间寻址。

CPU非核心部分主要是System Agent(系统代理):包含PCU(电源控制单元)、DMI控制器与ICH连接、QPI控制器与其他CPU连接、内存控制器。

微架构工作流程概述:以英特尔的Sandy Bridge(下图)为例,CPU先使用取指令单元(下图紫色部份),将代码段从内存中取出;通过解码单元(下图橘色部份),将机器码按序转化为定长的uop(微操作),发射到uop Decoder Queue(微操作解密等候区);乱序单元(下图黄色部份)从微操作解密等候区中取出微操作,根据执行条件,依赖关系,重新排序后,发送到Scheduler(调度器);调度器将计算指令发送到计算单元(下图蓝色部份),得到计算结果;将内存读写指令发送给访存单元(下图绿色部份),完成内存读写。
 

图片

编译和取指过程

微架构通过执行指令“exec()“,执行某个二进制数时, 该二进制数首先被kernel(核心)从硬盘加载到内存。

n Instruction Fetch Unit (执行获取单元)会按照执行顺序将bin的代码段,从内存中读入到CPU。当遇到分支代码时, 需要查询BranchPredictors(分支预测)。执行获取单元增加访问电路,可以并发地访问内存、寄存器,解决流水线气泡问题。

在Precoded(预解码)中解码的X86指令集,会被保存到Instruction Queue(指令等候区),等待解码。

现在的CPU均使用超标量的结构。例如Sandy Bridge是16条。每个CPU cycle有16个操作在并行执行,需要一系列设计来保证流水线不被中断。

图片

译指和乱序执行单元

Instruction Queue(执行等候区)中取指单元获得的x86 CISC指令,会通过译指单元翻译,以提高CPU流水的整体能力。

一个周期有4条指令进入译指单元不同的模块,Complex Decode(复杂解码器)翻译单指令多数据流指令,一个周期最大可以产生4个uops(微操作),Simple Decode(简单解码器)翻译普通指令,一个周期产生1个微操作,得到的微操作会保存到uopDecoder Queue(微操作解码等候区)中。

微架构的乱序执行会选择当前可执行的指令优先执行,减少处理器闲置。

译指单元每个周期发送4个微操作到乱序执行单元。乱序执行单元使用Register Alias Table(虚拟寄存器到物理寄存器的映射表)修改微指令,把修改后的指令部分保存。

Scheduler(调度器)会将整数操作数和浮点操作数分别保存,把映射表存入Reorder Buffer(重新编序缓存)。最后统一调度器选择有执行条件的微操作发送给执行单元,没有执行能力的微操作先缓存,待条件具备后发送。

图片

计算单元和存储单元

乱序执行单元每个周期发送4个微操作到计算单元。port0、port5可以执行整数、浮点数、整数SIMD(单指令多数据流)所有指令,port1只能执行整数、整数SIMD乘法、移位指令,每个周期最多执行3条指令。port2,port3,port4每个周期可以执行2个load(读取),1个store(存储)指令。

 Sandy Bridge在运算单元上,通过AVX指令,大幅提升了浮点数以及SIMD的效率。

Address Generation Unit(地址产生单元)产生读写内存的虚拟地址;Load Store Unit(存取单元)通过地址,实现读取、存储。

存取单元包含Load buffer(读取缓冲)、Store buffer(存储缓冲)、prefetch(预读逻辑)、一致性的逻辑。存取单元读内存时,先要查询缓冲中的是否有缓存,如果命中,直接返回。当不命中时,需要发起对内存的读取,由于读取内存大概需要200周期,代价很高,存取单元实现了预读逻辑。

图片

4、CPU的发展历程

CPU发展史简单来说就是Intel、IBM、ARM的发展历史,CPU已经有四十多年的发展历史。

CPU的发展史,按照其处理信息的字长,可以分为:四位微处理器、八位微处理器、十六位微处理器、三十二位微处理器以及六十四位微处理器等等。英特尔在大部分时间处于领先地位。

图片

随着2005年以Prescott为内核的奔腾4处理器在性能和效能上被AMD的K8速龙超越,英特尔采取了“Tick-Tock”的钟摆模式,“Tick”年升级处理器的制程,“Tock”年升级处理器的微架构。以两年为周期的钟摆模式,从“Nehalem”开始让CPU交替发展,一方面避免了同时革新可能带来的失败风险,同时持续的发展也可以降低研发的周期,并可以对市场造成持续的刺激,并最终提升产品的竞争力。

 2008-2015年的钟摆模式使英特尔CPU年均有15%左右的提升,维护了英特尔X86领域的霸主地位,并诞生了诸如Skylake这样经典的架构,沿用至今。

图片

图片

智能座舱域控制器芯片选择维度

1、内核角度

CPU核心是指控制和信息处理功能的核心电路,把一个CPU核心和相关辅助电路封装在一个芯片中,即为传统的单核心CPU芯片,简称单核CPU。把多个CPU核心和相关辅助电路封装在一个芯片中,为多核心CPU芯片,简称多核CPU。

下图即为ARM的单核心CPU和多核心CPU。图中红色虚线框标出的部分为CPU核心,分别为基于ARMv7微架构的单核心CPU芯片以及ARM Cortex-A9 MPCore用2个和4个Cortex-A9构成的2核心和4核心CPU芯片。

图片

目前我们能见到的4核心CPU大多都是属于Cortex-A9系列。ARM Cortex-A9的应用案例有联发科MT6577、三星Exynos 4210、华为K3V2等,另外高通APQ8064、MSM8960、苹果A6、A6X等都可以看作是在A9架构基础上的改良版本。

从ARM 内核的发展架构来看,从单SOC多核变化到单SOC多核异构

ARM-V7 单SOC多核

图片

ARM-V8 单SOC多核异构(大小核)

图片

图片

一体化程度更高

单SOC多系统共存技术趋于成熟

智能驾驶舱的集成了DIC、HUD、IVI和RSE等等多屏融合

为汽车带来更为智能化和安全性的交互体验,同时也是高级辅助驾驶 (ADAS)、自动驾驶和人工智能等新时代技术的关键接口,智能驾驶舱在新能源汽车中将成为标配。

2、市场成熟度角度

智能座舱域控制器的CPU芯片市场组成:传统汽车芯片厂+消费级芯片巨头

图片

智能座舱域控制器芯片市场主要玩家:

1.传统汽车芯片厂商,主打中低端市场:NXP、德州仪器、瑞萨电子等;

2.手机领域的厂商,主打高端市场:联发科、三星、高通等。

由于域控制器芯片市场仍处于行业萌芽期,目前国内搭载座舱域控制器芯片的车型绝大部分仍然采用的是德州仪器的Jacinto6 和 NXP 的 i.mx6 等上一代产品。国内竞争者主要有杰发、芯驰等。

竞争格局:以2015年为时间节点,传统的汽车芯片厂家遇到消费领域巨头芯厂家的挑战,

2015年前:以瑞萨、NXP、TI等传统汽车芯片主导市场,这三家占据市场60%的份额。

2015年开始:越来越多的消费级芯片巨头参与汽车片芯片生产商重组并购。

智能座舱域控制器的CPU芯片市场-车规级芯片VS消费级芯片( 相对于消费级芯,车规级芯片对于可靠性、安全性的要求更高)

图片

验收条件更苛刻,且周期长:车规级芯片在温度、湿度、碰撞等多个维度范围更宽,需要承受的极限条件更苛刻

更新换代速度更慢,升级动力不足:由于开发需求的复杂化,在芯片设计、测试等环节投入更高的成本和时间,车机芯片的更新换代速度相对较慢(有的车型一卖就是七八年),车机芯片升级的动力不足,态度更加谨慎。

趋势变化,这两年车机芯片的运行速度已经和消费级芯片的运行速度差距大幅度减小。

参照手机,汽车座舱领域迭代速度加快,车机芯片的运行速度已经和消费级芯片大幅缩小,产品的生命周期越来越短。

市场竞争越来越激烈,玩家格局也发生变化:原本手机领域的厂家如联发科、三星、高通都加入阵营,未来华为、紫光展锐也会加入。

手机领域的厂家主要着眼点在于研发成果的最大限度利用。而原本传统的汽车SoC芯片厂家NXP、瑞萨和德州仪器压力大增。

智能座舱(中控屏)芯片发展情况

图片

智能座舱域控制器芯片未来3-5年的玩家

图片

智能座舱芯片:高端以高通、英特尔、瑞萨为主(还要看其第四代产品竞争力),高通领先

CPU性能对比:高通820A CPU性能与英特尔、瑞萨基本一致。但8155具备全方面的性能优势,8.5万DMIPS同代产品领先。

GPU性能:目前浮点性能上,高通相比于瑞萨、英特尔领先较多,比如820A的GPU性能为588GFLOPS,而英特尔为 216GFLOPS,瑞萨为115.2GFLOPS。

中低端玩家:恩智浦(i.MX6/i.MX8)、德州仪器(Jacinto 6/ Jacinto 8)

低端产品:意法半导体(A5/A6)

待进入玩家:华为、三星、联发科。

3、芯片算力角度

CPU的通用计算性能是由IPC、主频、指令数三者共同决定。IPC的提升是CPU通用性能提升的必要条件。主频的提升通常由CPU制程的进步产生,越小nm的制程主频越高,一般A53可以跑1.2G,A72可以跑1.6GHZ。

图片

CPU性能评估采用综合测试程序,较流行的有Whetstone和Dhrystone两种。Dhrystone主要用于测整数计算能力,计算单位就是DMIPS。Whetstone主要用于测浮点计算能力,计算单位就是MFLOPS。一个表示整数运算能力,一个表示浮点数运算能力,二者不能完全等同。

DMIPS:Dhrystone Million Instructions executed Per Second,主要用于测整数计算能力;

MFLOPS:Million Floating-point Operations Per Second,主要用于测浮点计算能力;

D是Dhrystone的缩写,表示的是基于Dhrystone这样一种测试方法下的MIPS。Dhrystone是于1984年由Reinhold P. Weicker设计的一套综合的基准程序,该程序用来测试CPU(整数)计算性能。Dhrystone所代表的处理器分数比MIPS(Million Instructions executed Per Second,每秒钟执行的指令数)更有意义。

一般芯片都有DMIPS/MHz信息(参见下面的图片)

图片

比如ARM Cortex-A53架构为2.3DMIPS/MHz,那么可以计算出:

双核A53架构,主频为1.6GHz的CPU,DMIPS为:2 * 1600MHz * 2.3 DMIPS/MHz = 7360 DMIPS;

四核A53架构,主频为1.6GHz的CPU,DMIPS为:4 * 1600MHz * 2.3 DMIPS/MHz = 14720 DMIPS;

我们来算下NXP  i.mx8 QuadMax  ,ARM(2*A72+4*A53) ,4核A53架构,主频为1.2GHz的CPU,DMIPS为:4 * 1200MHz * 2.3 DMIPS/MHz = 11040DMIPS;

2核A72架构,主频为1.6GHz的CPU,DMIPS为:2 * 1600MHz * 4.7 DMIPS/MHz = 15040 DMIPS;最终IMX8Q的CPU计算性能 15040+11040=26080,所以是26K DMIPS;

4、芯片SOC的GPU算力能力

人工智能的发展也带动了汽车智能化发展,过去的以CPU为核心的处理器越来越难以满足处理视频、图片等非结构化数据的需求,同时处理器也需要整合雷达、视频等多路数据,这些都对车载处理器的并行计算效率提出更高要求,而GPU同时处理大量简单计算任务的特性在自动驾驶领域取代CPU成为了主流方案。为什么AI算法大部分都使用GPU,自动驾驶计算目前来看也是GPU是一个潮流?

我们这次就讲一个故事的形式来讲解会更清楚一些,当你驾驶一辆具有自动驾驶L3级别的车辆,你下高速后,在没有路标的地方发现100米前有一条河,此时由于车辆图像库里面没有河这个资源,需要快速的图像识别并决策。

AI算法,在图像识别等领域,常用的是CNN卷积网络,语音识别、自然语言处理等领域,主要是RNN,这是两类有区别的算法。但是,他们本质上,都是矩阵或vector的乘法、加法,然后配合一些除法、指数等算法。

图片

假设此时你车上的AI图像算法是YOLO-V3,它是一种使用深度卷积神经网络学得的特征来检测对象的目标检测器,直白点就是照片识别器,在机场地铁都有批量使用,就是大量的卷积、残差网络、全连接等类型的计算,本质是乘法和加法。对于YOLO-V3来说,如果确定了具体的输入图形尺寸,那么总的乘法加法计算次数是确定的。比如一万亿次。(真实的情况比这个大得多的多),用算力表示就是TOPS为单位。

那么要快速执行一次YOLO-V3,就必须执行完一万亿次的加法乘法次数。

这个时候就来看了,比如IBM的POWER8,最先进的服务器用超标量CPU之一,4GHz,SIMD,128bit,假设是处理16bit的数据,那就是8个数,那么一个周期,最多执行8个乘加计算。一次最多执行16个操作。这还是理论上,其实是不大可能的。

那么CPU一秒钟的巅峰计算次数=16* 4Gops =64Gops,当然,以上的数据都是完全最理想的理论值。因为,芯片上的存储不够大,所以数据会存储在DRAM中,从DRAM取数据很慢的,所以,乘法逻辑往往要等待。另外,AI算法有许多层网络组成,必须一层一层的算,所以,在切换层的时候,乘法逻辑又是休息的,所以,诸多因素造成了实际的芯片并不能达到利润的计算峰值,而且差距还极大,实际情况,能够达到5%吧,也就3.2Gops,按照这个图像算法,如果需要执行YOLO-V3的计算,1W除以3.2=3125秒,也就是那么需要等待52分钟才能计算出来。

如果是当前的CPU去运算,那么估计车翻到河里了还没发现前方是河,这就是速度慢,对于ADAS产品而言,时间就是生命。

此时我们在回过头来看看高通820A芯片的算力,CPU的算力才42K,刚刚那个是基于最先进的服务器IBM的POWER8 CPU计算力是是3.2GPOS,车载算的上最先进的域控制器才42K的CPU计算力,所以不能用于AI的计算。此时需要使用GPU来计算,看看GPU的算力是320Gops,此时算这个YOLO-V3图像识别的算法需要32秒,这个成绩还是非常不错的。

此时可以看到高通820A芯片的CPU算力是不能够用于AI的计算,GPU的算力是可以满足一些不需要那么实时性比较高的一些AI处理。

如果是一些简单的ADAS功能是没有问题,比如车内的人脸识别,这部分的算法就不要那么多资源,该产品运行了820A神经网络处理引擎(SNPE),这里的引擎也就是AI加速的一些算法,有兴趣单独来讲怎么实现加速。这里高通820A能实现对车辆、行人、自行车等多类物体识别,以及对像素级别可行驶区域的实时语义分割,当然离商用应该还有一定距离。总的来说,高通骁龙产品策略应该还是以车载娱乐信息系统为主,逐步向更专业的ADAS拓展。

这样你就不会问为什么GPU这么厉害,AI识别为什么不全部使用GPU得了,那就需要继续看CPU和GPU的区别了。

从芯片设计思路看,CPU是以低延迟为导向的计算单元,通常由专为串行处理而优化的几个核心组成,而GPU是以吞吐量为导向的计算单元,由数以千计的更小、更高效的核心组成,专为并行多任务设计。

图片

CPU的核心运算ALU数量只有几个(不超过两位数),每个核都有足够大的缓存和足够多的数字和逻辑运算单元,并辅助很多复杂的计算分支。而 GPU的运算核心数量则可以多达上百个(流处理器),每个核拥有的缓存大小相对小,数字逻辑运算单元也少而简单。

CPU和GPU最大的区别是设计结构及不同结构形成的不同功能。CPU的逻辑控制功能强,可以进行复杂的逻辑运算,并且延时低,可以高效处理复杂的运算任务。而 GPU逻辑控制和缓存较少,使得每单个运算单元执行的逻辑运算复杂程度有限,但并列大量的计算单元,可以同时进行大量较简单的运算任务。

图片

CPU是根据冯诺依曼的架构进行设计,所以存储、计算、交互都有,GPU本来是从CPU中分离出来专门处理图像计算的,也就是说,GPU是专门处理图像计算的。包括各种特效的显示。这也是GPU的天生的缺陷,GPU更加针对图像的渲染等计算算法,所以这里的天生两个缺陷是不能进行复杂的逻辑控制,而且GPU没有cache单元,也没有复杂的逻辑控制电路和优化电路,所以不能单独像CPU那样进行单独的控制,你看机顶盒芯片都是CPU里面内含GPU的架构,GPU主要用来做图像的渲染方面,工具就是Open CL图像编辑器来编译。

图片

CPU和GPU设计思路的不同导致微架构的不同。CPU的缓存大于GPU,但在线程数,寄存器数和SIMD(单指令多数据流)方面GPU远强于CPU。

微架构的不同最终导致CPU中大部分的晶体管用于构建控制电路和缓存,只有少部分的晶体管完成实际的运算工作,功能模块很多,擅长分支预测等复杂操作。GPU的流处理器和显存控制器占据了绝大部分晶体管,而控制器相对简单,擅长对大量数据进行简单操作,拥有远胜于CPU的强大浮点计算能力。

CPU和GPU的不同的通俗解释:

GPU的工作大部分就是这样,计算量大,但没什么技术含量,而且要重复很多很多次。就像你有个工作需要算几亿次一百以内加减乘除一样,最好的办法就是雇上几十个小学生一起算,一人算一部分,反正这些计算也没什么技术含量,纯粹体力活而已。而CPU就像老教授,积分微分都会算,就是工资高,一个老教授能顶二十个小学生,你要是富士康你雇哪个?

GPU就是这样,用很多简单的计算单元去完成大量的计算任务,纯粹的人海战术。这种策略基于一个前提,就是小学生A和小学生B的工作没有什么依赖性,是互相独立的。很多涉及到大量计算的问题基本都有这种特性,比如你说的破解密码,挖矿和很多图形学的计算。这些计算可以分解为多个相同的简单小任务,每个任务就可以分给一个小学生去做。但还有一些任务涉及到“流”的问题。比如你去相亲,双方看着顺眼才能继续发展。总不能你这边还没见面呢,那边找人把证都给领了。这种比较复杂的问题都是CPU来做的。

总而言之,CPU和GPU因为最初用来处理的任务就不同,所以设计上有不小的区别。而某些任务和GPU最初用来解决的问题比较相似,所以用GPU来算了。GPU的运算速度取决于雇了多少小学生,CPU的运算速度取决于请了多么厉害的教授。教授处理复杂任务的能力是碾压小学生的,但是对于没那么复杂的任务,还是顶不住人多。当然现在的GPU也能做一些稍微复杂的工作了,相当于升级成初中生高中生的水平。但还需要CPU来把数据喂到嘴边才能开始干活,究竟还是靠CPU来管的。

图片

后摩尔时代,随着GPU的可编程性不断增强,GPU的应用能力已经远远超出了图形渲染,部份GPU被用于图形渲染以外领域的计算成为GPGPU。与此同时,CPU为了追求通用性,只有少部分晶体管被用于完成运算,而大部分晶体管被用于构建控制电路和高速缓存。但是由于GPU对CPU的依附性以及GPU相较CPU更高的开发难度,所以GPU不可能完全取代CPU。我们认为未来计算架构将是GPU+CPU的异构运算体系。

在GPU+CPU的异构运算中,GPU和CPU之间可以无缝地共享数据,而无需内存拷贝和缓存刷新,因为任务以极低的开销被调度到合适的处理器上。CPU凭借多个专为串行处理而优化的核心运行程序的串行部份,而GPU使用数以千计的小核心运行程序的并行部分,充分发挥协同效应和比较优势。

异构运算除了需要相关的CPU和GPU等硬件支持,还需要能将它们有效组织的软件编程。OpenCL是(OpenComputing Language)的简称,它是第一个为异构系统的通用并行编程而产生的统一的、免费的标准。OpenCL支持由多核的CPU、GPU、Cell架构以及信号处理器(DSP)等其他并行设备组成的异构系统。

什么类型的程序适合在GPU上运行?

 (1)计算密集型的程序。所谓计算密集型(Compute-intensive)的程序,就是其大部分运行时间花在了寄存器运算上,寄存器的速度和处理器的速度相当,从寄存器读写数据几乎没有延时。可以做一下对比,读内存的延迟大概是几百个时钟周期;读硬盘的速度就不说了,即便是SSD, 也实在是太慢了。

(2)易于并行的程序。GPU其实是一种SIMD(Single Instruction Multiple Data)架构, 他有成百上千个核,每一个核在同一时间最好能做同样的事情。

  满足以上两点,就可以用GPU做运算了。不过你还得先用CUDA或者Open CL 把能在GPU上运行的程序写出来, 这也是很麻烦的,写一下就知道了。而且GPU的架构比较特殊,要想写出高效率的程序,要花很多很多时间。所以说写GPU程序是一件很蛋疼的事情。

座舱的域控制器GPU算力的需求:

前面聊了GPU对于3D图像处理。一些简单的图像算法都需要涉及GPU,而智能座舱域控制器主要是输出给液晶仪表和中控导航,所以首先图像处理部分肯定是必不可少的,这个就跟图像显示需要做到的效果有关了,如果仅仅是普通的2.5D的效果,这个时候对于GPU的算力就不高,如果是3D的高级的图像效果,这个时候就需要GPU的算力比较大,基本上200 GFLOPS以上就能满足3个屏以上的图像效果了。

如果还需要GPU进行相关的图像算法处理,这个时候GPU的能力至少需要500G GFLOPS以上。

图片

智能座舱的域控制综合考虑因素

图片

这个是目前主流的NXP、R-Car、高通、Intel等几个厂家的主流芯片方案,可以看到NXP支持最大的4个显示屏显示,其他的芯片方案都只支持3个显示屏,还有一个就是GPU硬件虚拟化,这部分就是硬件上的隔离,基本上很少有芯片厂家能做到硬件隔离,这个隔离后非常有好处,防止某个部分死机后导致整体的GPU会挂掉,而且GPU需要单独的存储去分配,这样也会导致外挂的存储芯片会多一些,毕竟涉及功能安全,这样也是一个冗余措施保护。

想想如果处理不压缩的图像数据,我们来看看4K的图像数据有多少,3840*2160*24bit*60fps=11943936000bits= 1.39GB/s ,处理一个4K的图像数据就需要这多大的数据量,而且允许占的内存带宽还会更大。

可以看到CPU的算力至少都是26K DMIPS,最大的算力芯片就是高通芯片,DDR的带宽这部分要求也不是那么高,25.6G的带宽完全能够满足座舱的需求。

图片

图片

在选择芯片平台的时候,还需要考虑以下因素

1、车载市场占有率 这个占有率越高,整体后面的成本才具有优势,同时采购周期或者调货的时候也比较方便,当然大家都用,就需要考虑到后面的技术支持的力度,从目前来看高通芯片的占有率非常高,其次是NXP和瑞萨。

2、还需要考虑芯片架构的合理性,特别是很多芯片公司都是手机处理器的架构,手机处理器架构、很多硬件接口资源需要使用Bridge IC转换、推高了整体成本,有的只有RGB接口,而一般车载显示屏都是LVDS接口,需要增加视频转换芯片,高通芯片比较好的地方是融合了基带信号,这个可以节省很大比射频芯片的成本,只需要外围增加射频天线即可。

3、产品路标和技术支持也是需要考虑的一个维度,比如瑞萨在国内的技术支持力度就不大,中国区没有足够的技术支持能力、需要通过联络日本本社提供技术支持面对国内车厂和T1、在项目中的问题反馈和对应速度偏慢。而且需要看该产品路线后续的芯片规划,有的可能规划了这两代后,后面基本上就放弃了智能座舱的芯片了,比如TI芯片。

图片

主流座舱芯片的高通的发展路线

高通芯片的市占率

图片

根据Strategy Analytics数据,2015年瑞萨、恩智浦合计占据整个车机芯片市场份额的六成以上,其中瑞萨在驾驶舱、仪表份额达到47%、44%;

图片

车用MCU/SOC市场规模约为60-70亿美元,2016年之前高通市占率为1%以下;2019、2020财年高通来自汽车业务收入(包含通信、座舱芯片)收入分别为6.4、6.44亿美金。

图片

公司预期汽车芯片在2022年的TAM为180亿美元,对应三年CAGR为 12%。

推算2020年TAM约为140亿美元,公司收入6.44亿美元,市占率约4.6%。

高通座舱芯片渗透率不断走高。其中2020年是高通座舱出货大年,核心出货量比较大的车型包括奥迪改款A4L、本田雅阁十代等,并且大部分新能源车型都选择高通820A作为座舱芯片。

图片

高通芯片roadmap

图片

从性能参数可以看到最强的8195P,现在最前沿马上量产的是8155,吉利的极克01就是这个芯片,当然小鹏的P5也是这个芯片,都还没有量产,比8155低一个档位的是820A芯片,前面有可以看到有接近20款车型使用这个座舱芯片,当然也有低端的座舱芯片,比如带动一个中控导航和副驾驶娱乐屏的需求,这个时候就可以使用6155P的芯片

自主平台的芯片发展

自主平台在座舱里面发力比较多的是芯驰,地平线和黑芝麻主要是做自动驾驶的芯片,比如地平线的征程5已经在很多车上做自动驾驶平台方案了。

全志的T7也有在东南汽车、北京现代、长安汽车上使用,但是做座舱芯片还是很吃力,基本上只能做中控导航的驱动。目前看到的自主座舱芯片平台比较有潜力的是芯驰。

欢迎关注我的微信公众号:阿宝1990,每天给你汽车干货,我们始于车,但不止于车。

可以看到越来越多的芯片公司选择来做智能座舱的芯片,NXP\TI\瑞萨传统三杰,高通,intel、芯驰、全志等厂家也进入来做座舱芯片,单芯片多系统为代表的“域控制器”,已经成为智能汽车的必选项目之一。

—END—

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值