您當前的位置:首頁 > 攝影

智慧座艙域控制器(三)

作者:由 丁前利 發表于 攝影時間:2021-07-09

歡迎關注我的微信公眾號:

阿寶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也有在東南汽車、北京現代、長安汽車上使用,但是做座艙晶片還是很吃力,基本上只能做中控導航的驅動。目前看到的自主座艙晶片平臺比較有潛力的是芯馳。

智慧座艙域控制器(三)

可以看到越來越多的晶片公司選擇來做智慧座艙的晶片,NXP\TI\瑞薩傳統三傑,高通,intel、芯馳、全志等廠家也進入來做座艙晶片,單晶片多系統為代表的“域控制器”,已經成為智慧汽車的必選專案之一。

標簽: CPU  晶片  GPU  架構  高通