智能駕駛產(chǎn)業(yè)鏈由感知層、決策層、執(zhí)行層組成。感知層的車載感知系統(tǒng)主要包括攝像頭、超聲波雷達、激光雷達、毫米波雷達等;路側(cè)輔助系統(tǒng)主要包括高精地圖、衛(wèi)星定位、慣性導航和V2X技術(shù)等。決策層主要包括ADAS算法、車載芯片、車載存儲器、高精地圖、云平臺。執(zhí)行層主要包括電子驅(qū)動、電子轉(zhuǎn)向、電子制動、燈光。平臺層主要包括大數(shù)據(jù)、智能駕駛解決方案、傳統(tǒng)車聯(lián)網(wǎng)、智能座艙。終端組成主要包括車載OBU、路測單元RSU、手機APP、邊緣計算。
隨著智能駕駛行業(yè)的發(fā)展,智能駕駛功能日益復雜,主流智駕輔助功能滲透率穩(wěn)步提升,車道保持輔助、緊急制動輔助、自適應(yīng)巡航、盲區(qū)監(jiān)測、車道居中輔助、并線輔助、自動變道輔助、自動泊車入位、記憶泊車等功能逐漸落地。智能駕駛系統(tǒng)對傳感器、算力需求日益旺盛。智能駕駛系統(tǒng)既需要大量的算力,也需要多種類型的計算資源,典型的智能駕駛系統(tǒng)處理流程如下。
智能駕駛系統(tǒng)是一種能夠自主感知、決策和執(zhí)行行駛?cè)蝿?wù)的車輛控制系統(tǒng)。智能駕駛的等級劃分通常基于國際標準化組織(ISO)的標準,分為L0到L5六個等級。這些等級反映了自動駕駛系統(tǒng)的成熟度和自動化程度。以下是每個等級的具體描述:
L0:無自動化。駕駛員全權(quán)負責駕駛過程,沒有任何自動化功能介入。這是傳統(tǒng)駕駛方式,不涉及自動駕駛技術(shù)。
L1:輔助駕駛功能。車輛提供部分自動化功能,如自適應(yīng)巡航控制、自動泊車等,但駕駛員仍需承擔主要的駕駛?cè)蝿?wù)和責任。自適應(yīng)巡航控制是一種智能化的巡航系統(tǒng),能夠根據(jù)前方路況自動調(diào)整車速和車輛行駛姿態(tài),減輕駕駛員的駕駛壓力。而自動泊車則是一種自動停車輔助系統(tǒng),能夠在車輛找到合適的停車位后自動完成停車過程,無需駕駛員操作方向盤、油門和剎車等。此外,車道保持功能也是L1級別自動駕駛的一個重要組成部分,它可以通過攝像頭和傳感器識別道路邊界,自動調(diào)整車輛行駛軌跡以保持車輛在車道內(nèi)穩(wěn)定行駛。這些功能能夠輔助駕駛員完成部分駕駛?cè)蝿?wù),提高駕駛的便利性和安全性。
L2:部分自動化。車輛可以在特定條件下自主完成某些駕駛?cè)蝿?wù),主要包括自適應(yīng)巡航、自動泊車、車道保持、變道輔助和自動變道功能等,這些功能能夠在一定程度上減輕駕駛員的駕駛壓力,提高駕駛的便利性和安全性,駕駛員仍需監(jiān)控駕駛環(huán)境并準備接管。其中,自適應(yīng)巡航和自動泊車功能在L1級別自動駕駛中已經(jīng)出現(xiàn),而在L2級別中得到了進一步的提升和完善。此外,車道保持功能在L2級別自動駕駛中也更加智能化和成熟,能夠自動識別道路邊界并調(diào)整車輛行駛軌跡,保持車輛在車道內(nèi)穩(wěn)定行駛。變道輔助和自動變道功能則能夠幫助駕駛員在合適時機自動完成變道操作,提升行車安全。
L3:條件自動化。在特定環(huán)境下,車輛可以在大部分時間內(nèi)自主駕駛,駕駛員不必始終保持注意力,但需要在系統(tǒng)請求時及時接管。這個級別的自動駕駛可以在特定情況下完成車輛周邊環(huán)境的識別和駕駛,并根據(jù)收集到的數(shù)據(jù)進行自主決策和執(zhí)行相應(yīng)的操作。除了常規(guī)的功能外,還包含了更多復雜場景的自動泊車功能、高速路況的自動駕駛以及記憶式導航等更為高級的自動駕駛功能。具體來說,它能在特定的場景下實現(xiàn)車輛的自動識別車道、自適應(yīng)巡航、自動變道等功能,甚至在高速公路上自動完成超車動作。此外,還可以根據(jù)導航信息自主規(guī)劃出行路線,并在特定情況下完成自主超車等動作。
L4:高度自動化。車輛可以在各種環(huán)境和條件下自主駕駛,駕駛員在大多數(shù)時間可以不必參與駕駛,系統(tǒng)可以在特定情況下自主處理復雜路況。在某些情況下,駕駛員可能不需要任何操作。智能駕駛功能主要有自適應(yīng)巡航、自動泊車、交通擁堵輔助、車道偏離預警和車輛主動避障等功能。當車輛處于復雜環(huán)境或不確定情況時,它能自動識別車道并處理緊急事件,如自動變道、自動避讓等。此外,它還可以根據(jù)導航信息自主規(guī)劃出行路線,并在特定情況下自主完成駕駛?cè)蝿?wù),如自動駛?cè)敫咚俟返葓鼍???偟膩碚f,L4級別的自動駕駛系統(tǒng)已經(jīng)具備了高度的智能化和自主決策能力。
L5:完全自動化。這是最高級別的自動駕駛,車輛可以在任何環(huán)境和條件下完全自主駕駛,駕駛員在車內(nèi)或車外都可以完全脫離駕駛?cè)蝿?wù)。車輛可以像機器人一樣自主行駛和操作。完全自主駕駛:L5級別自動駕駛系統(tǒng)能夠在各種道路和環(huán)境中完全自主駕駛,無需任何人工干預。自主規(guī)劃路線:系統(tǒng)可以根據(jù)導航目標自主規(guī)劃最優(yōu)路線,并自動選擇道路、調(diào)整速度、避讓障礙物等。智能感知和決策:通過高清地圖、激光雷達、攝像頭等多種傳感器,系統(tǒng)能夠全面感知周圍環(huán)境,并實現(xiàn)自主決策和判斷。復雜場景處理:系統(tǒng)能夠處理復雜場景下的駕駛?cè)蝿?wù),包括高速公路、市區(qū)道路、雨雪天氣等環(huán)境,并具備應(yīng)對突發(fā)情況的能力。安全保障功能:系統(tǒng)具備多種安全保障措施,如自動剎車、避障、車道保持等,確保乘客和行人的安全。目前許多公司和研究機構(gòu)都在朝著這個目標努力研發(fā)相關(guān)技術(shù)。需要注意的是,盡管技術(shù)發(fā)展迅速,但達到L5級別的自動駕駛?cè)孕枰鉀Q許多技術(shù)和法規(guī)方面的問題。
整個智能駕駛系統(tǒng)處理過程通常需要涉及以下幾種類型的計算資源:
- 深度學習類:環(huán)境感知模塊是深度學習算力使用的大戶,包括常見的各類圖像、激光點云檢測算法,比如物體檢測、車道線檢測、紅綠燈識別等,都會涉及大量的典型神經(jīng)網(wǎng)絡(luò)(NN)的運算。此類模塊通常使用高度定制化的NN加速器來實現(xiàn)。
- 視覺處理類:此類屬于計算密集型,但并非深度學習類的算法模塊,比如圖像信號處理(ISP)、圖像金字塔(Pyramid)、畸變矯正(Rectify)、局部特征提取、光流跟蹤、圖像編解碼(Codec)等運算。此類模塊通常使用硬化的專用視覺加速器來實現(xiàn)低時延。
- 通用計算類:雖然定制化的深度學習、視覺處理加速器可以滿足大部分常見的成熟的計算密集型運算,但仍然無法覆蓋全部需求。隨著前沿技術(shù)的快速發(fā)展和自研技術(shù)的深入,往往還會產(chǎn)生相當一部分自定義的運算模塊。此類模塊通常也是計算密集型的操作,無法使用CPU高效實現(xiàn),因此還需要通用的計算密集型處理單元(比如DSP、GPU)來實現(xiàn)。
- 邏輯運算類:此類模塊包含大量的邏輯運算,不適合使用計算密集型的處理器實現(xiàn),一般使用通用的CPU處理器來實現(xiàn)。此類模塊包括常見的多傳感器感知融合算法(比如卡爾曼濾波KF)、基于優(yōu)化的決策規(guī)劃算法、車輛控制算法、系統(tǒng)層面的功能邏輯、診斷邏輯、影子模式數(shù)據(jù)挖掘功能等。
典型的智能駕駛系統(tǒng)算力部署參考如下圖。
智能駕駛系統(tǒng)設(shè)計之初就得考慮芯片選型,如何在眾多的SoC芯片選型是一門復雜的系統(tǒng)工程,不單需要考慮深度學習算力,還需要考慮CPU算力、安全、內(nèi)存帶寬、功耗、成本等。大疆車載在智能駕駛核心芯片的選型上積攢了一些經(jīng)驗,在此予以分享。 一顆典型SoC的主要組成:
1、CPUCPU的內(nèi)部架構(gòu)可以簡化為如下模型。
CPU內(nèi)有負責取指/分支預測/數(shù)據(jù)轉(zhuǎn)發(fā)等的Control、邏輯運算的ALU、高速緩存Cache和DRAM等存儲單元。相對GPU等并行運算核心,CPU的Control單元和存儲單元功能更加強大,適合做邏輯控制。
在車載SoC中,根據(jù)功能不同CPU又分為Safety MCU和ACPU,前者性能較弱但實時性和安全性更強,后者多核心、高主頻、性能強大但實時性和安全性有所降低。
1.1、Safety MCUSafety MCU有多種常見的CPU架構(gòu),如英飛凌的TriCore、瑞薩的G3KH、ARM Cortex M7、ARM Cortex R5F。既有外置安全的MCU方案,也有內(nèi)置安全的MCU方案,如德州儀器TDA4內(nèi)置Cortex R5F,SoC一般會內(nèi)置Safety MCU來提高系統(tǒng)的集成度。
例如,Cortex R5F MCU核心的內(nèi)部架構(gòu)復雜程度參考下圖,主要特點如下:
- 8級流水線;
- CPU主頻可以支持到1.0 Ghz,遠超傳統(tǒng)MCU;
- Data Processing Unit負責各種運算和邏輯控制;
- FPU負責浮點運算;
- L1 Instruction/Data Cache是一級緩存,參考容量16KB+16KB;
- Memory Protection Unit用于內(nèi)存保護,保護能力有限,一般只能支持十幾個區(qū)域的保護;
引自《DDI0460D_cortex_r5_r1p2_trm.pdf》
在Safety MCU(安全微控制器)的設(shè)計中,一個關(guān)鍵的特性是采用了所謂的鎖步核架構(gòu),這一架構(gòu)通過成對出現(xiàn)的核心——通常被稱為“Primary Core”和“Shadow Core”——來實現(xiàn)高可靠性的操作。這種設(shè)計通過一種獨特的方式確保了MCU在復雜環(huán)境中的穩(wěn)定性和安全性。鎖步核技術(shù)的核心在于,兩個核心在指令級別上實現(xiàn)了完全同步的操作,即它們在同一時刻執(zhí)行相同的指令,并產(chǎn)生相同的結(jié)果。為了確保兩者的一致性,系統(tǒng)配備了一個“Compare”機制,該機制會周期性地比較兩個核心的輸出結(jié)果。如果比較結(jié)果顯示兩者結(jié)果相同,則MCU繼續(xù)正常運行;若結(jié)果不同,則表明系統(tǒng)中可能出現(xiàn)了錯誤或故障,此時需要采取適當?shù)陌踩胧?,如關(guān)閉系統(tǒng)或進行故障隔離。雖然鎖步核架構(gòu)使用了兩個核心,但從計算能力的角度來看,它實際上只相當于一個核心的性能。這是因為兩個核心必須保持同步,并且在任何時刻都執(zhí)行相同的指令。然而,這種設(shè)計上的限制換來了更高的可靠性和安全性。鎖步核技術(shù)是實現(xiàn)MCU核心高診斷覆蓋度的一種傳統(tǒng)而有效的方法。通過在Primary Core和Shadow Core之間進行比較,系統(tǒng)能夠在第一時間檢測到潛在的錯誤或故障,從而避免它們對系統(tǒng)穩(wěn)定性和安全性造成威脅。經(jīng)過多年的實踐驗證,這種方法已經(jīng)在微控制器和復雜度較低的微處理器領(lǐng)域展現(xiàn)出了其卓越的性能和可靠性。
Safety MCU除要求CPU核心達到ASIL D外,往往會要求內(nèi)部總線、外設(shè)接口、電源等跟Main Domain隔離。否則,可能因為低安全級別的Main Domain的異常,如錯誤操作外設(shè)寄存器,導致MCU Domain異常。
Safety MCU的算力一般使用KDMIPS(Kilo Dhrystone Million Instructions executed Per Second)表示,如Cortex R5F的算力約2 KDMIPS。
因為MCU運算和內(nèi)存資源比較有限,且不支持MMU(Memory Management Unit,比MPU強大的內(nèi)存管理單元),一般只能運行如FreeRTOS之類的小型RTOS。車載行業(yè)一般要求RTOS達到ASIL D級別,常用的MCU RTOS主要有AUTOSAR OS, SafeRTOS。一般沒有配套的libc和STL庫,對C++的支持不夠友好,比較難開發(fā)維護復雜軟件。因為Safety MCU的軟硬件的安全性和實時性都較高,一般用于運行整車的數(shù)據(jù)交互、診斷、控制算法等軟件。
綜上,我們在進行Safety MCU選型時,除了關(guān)注Safety MCU的算力,還需要重點關(guān)注總線、外設(shè)等的隔離性,另外也需要關(guān)注片內(nèi)RAM的大小,全球汽車MCU原廠有恩智浦、德州儀器、意法半導體、微芯、英飛凌、瑞薩、芯力能、英特爾/Mobileye、高通、英偉達、安霸、ARM、特斯拉、比亞迪半導體、杰發(fā)、芯馳、芯旺、芯擎、芯鈦、黑芝麻智能、昆侖芯、后摩智能、西井科技、奕行智能、寒武紀行歌、海思、地平線、愛芯元智、元視芯、兆易創(chuàng)新、中穎、中微半導、芯海、國芯科技、杰發(fā)科技、肇觀電子、美仁、輝芒微、比亞迪半導體、智芯科技、旗芯微、航順、賽騰微、琪埔微、小華半導體、云途半導體、曦華科技、復旦微電、國民技術(shù)、極海、先楫半導體、紫光國微、蜂馳高芯、靈動微、東軟載波、希格瑪微電子、匯春科技、華芯微電子、愛思科微電子、凌歐創(chuàng)芯、峰岹科技、泰矽微、旋智科技、芯弦半導體、盛騏微、君正、士蘭微、晟矽微電、耐能、芯科集成、澎湃微、恒爍、鉅泉、奕斯偉、凌思微、全志、華大北斗、瑞芯微等。
1.2、ACPU常用的ACPU的架構(gòu)有MIPS和ARM,但以ARM的Cortex A系列為主。相比較MCU,ACPU的架構(gòu)更復雜、主頻更高、Cache和RAM性能更優(yōu),整體性能更強。
例如,Cortex A72 ACPU核心的內(nèi)部架構(gòu)復雜程度參考下圖,比Safety MCU要復雜許多,相同主頻下算力約為Cortex R5F的3倍,主要升級如下:
- 15級流水線:- Branch prediction可以提升分支預測的成功率;- Decode可以支持多條指令并行解碼;- Dispatch可以支持同時發(fā)射多條指令;- Interger execute / Adv SIMD and FP / Load store等多個執(zhí)行單元可以并行工作;
- 可以支持更高的CPU主頻,如2.0 GHz;
- Instruction / Data Cache是一級緩存,參考容量48KB+32KB;
- 二級緩存一般較大,參考容量1MB,可極大降低指令和數(shù)據(jù)Cache Miss的概率,減少對DDR的訪問;
- 支持MMU,可實現(xiàn)內(nèi)核態(tài)和用戶態(tài)之間、不同進程之間的地址隔離,提高內(nèi)存訪問的安全性;
引自《cortex_a72_mpcore_trm_100095_0003_06_en.pdf》
對L2+系統(tǒng),除要求ACPU核心達到ASIL B外,常用外設(shè)一般也要求達到ASIL B,如IPC/DMA/CSI,具體硬件安全級別要求依賴功能安全分解。
ACPU的算力一般使用KDMIPS表示,如Cortex A72的算力約11 KDMIPS。ACPU的算力取決于使用的CPU核心的架構(gòu)和CPU的主頻,一般架構(gòu)越新支持的主頻越高,常用CPU核心算力信息參考如下。
以AE結(jié)尾的ACPU Core可以支持鎖步,實現(xiàn)ASIL D功能安全級別,如Cortex-A65AE。未來L3~L4系統(tǒng)會對ASIL D ACPU算力有越來越多的需求。
ACPU不僅主頻高,資源充足,還具備運行大型操作系統(tǒng)如Linux的能力,為智能駕駛系統(tǒng)提供了強大的計算平臺。在L2+級別的智能駕駛系統(tǒng)中,功能安全要求往往對操作系統(tǒng)提出了ASIL B級別的嚴格標準。在這種情況下,QNX或VxWorks等操作系統(tǒng)成為了首選。這些操作系統(tǒng)不僅支持多進程并發(fā)執(zhí)行,而且每個進程都擁有獨立的地址空間,實現(xiàn)了進程間的有效隔離。這種設(shè)計確保了系統(tǒng)的穩(wěn)定性和安全性,即使某個進程崩潰,也不會影響到其他進程的正常運行。同時,這些操作系統(tǒng)還支持智能駕駛系統(tǒng)中成百上千個線程的復雜調(diào)度。通過高效的線程管理機制,系統(tǒng)能夠充分利用ACPU的多核性能,實現(xiàn)快速響應(yīng)和高效處理。這對于實現(xiàn)智能駕駛系統(tǒng)的各種復雜功能,如傳感器數(shù)據(jù)的預處理、加速器的調(diào)度、感知融合、導航規(guī)劃等至關(guān)重要。
ACPU在智能駕駛系統(tǒng)中的應(yīng)用不僅限于軟件模塊的部署。隨著NN(神經(jīng)網(wǎng)絡(luò))算力的增加,ACPU需要處理更多的傳感器數(shù)據(jù)、更高分辨率的相機圖像以及更復雜的場景和功能。為了滿足這些需求,ACPU的算力也在不斷提升?,F(xiàn)在,ACPU能夠支持更多高分辨率傳感器數(shù)據(jù)的預處理、深度學習模型的前后處理、更復雜的感知融合功能以及軌跡預測和行為規(guī)劃等任務(wù)。這些功能的實現(xiàn)都離不開ACPU強大的計算能力和高效的處理速度。此外,ACPU還配套了功能安全認證的libc和STL庫等開發(fā)工具,為上層軟件的開發(fā)提供了極大的便利。這些工具不僅提高了開發(fā)效率,還確保了軟件的安全性和可靠性。
綜上,ACPU的選型需要重點關(guān)注算力,同時需要留意外設(shè)和操作系統(tǒng)的功能安全級別。此外,ACPU算力應(yīng)該和NN算力相匹配,以發(fā)揮最優(yōu)的系統(tǒng)性能。
2、并行計算2.1、DSPDSP芯片,也稱為數(shù)字信號處理器,是一種具有特殊結(jié)構(gòu)的微處理器,相比于通用CPU,更適用于計算密集度高的處理。
在DSP芯片內(nèi)部,通常采用程序和數(shù)據(jù)分開的哈弗結(jié)構(gòu),廣泛采用流水線操作,同時具有專門的硬件乘法器,提供特殊的DSP指令,可以用來快速的實現(xiàn)各種數(shù)字信號處理算法。
DSP芯片一般具有如下的主要特點:
- 程序和數(shù)據(jù)空間分開,可以同時訪問指令和數(shù)據(jù);
- 片內(nèi)具有快速RAM,通常可通過獨立的數(shù)據(jù)總線進行連接;
- 有專門的硬件乘法器,在一個指令周期內(nèi)可完成一次乘法和一次加法;
- 具有低開銷或無開銷的循環(huán)及跳轉(zhuǎn)的硬件支持;
- 在單時鐘周期內(nèi)可以操作多個硬件地址發(fā)生器;
- 具有快速中斷處理和硬件I/O支持;
- 支持流水線操作,使不同指令之間的取指、譯碼和執(zhí)行等操作可以并行執(zhí)行;
與通用微處理器相比,DSP芯片的其他通用功能相對較弱一些。DSP結(jié)構(gòu)示圖如下。
通過獨立的指令總線和數(shù)據(jù)總線與外部數(shù)據(jù)存儲進行連接,外圍通常會配置L1和L2 cache,提高數(shù)據(jù)存取效率。
內(nèi)部主要分為程序控制單元(PCU)、地址發(fā)生單元(AGU)和數(shù)據(jù)計算單元(DALU),外加一些地址寄存器和數(shù)據(jù)寄存器。每個處理單元都是獨立的硬件模塊,通過指令流水將各個模塊并行起來處理,提高DSP的處理能力。
在DSP評估過程中,運算速度是DSP芯片的一個最重要的性能指標,通常有如下幾個方面的考量:
- 數(shù)據(jù)位寬長度;
- 單周期內(nèi)的乘累加個數(shù);
- 寄存器個數(shù);
- 單周期內(nèi)同時可處理的指令個數(shù);
- 內(nèi)聯(lián)指令豐富程度;
- 外圍SRAM大?。?/li>
隨著DSP在圖像、音頻和機器學習領(lǐng)域的應(yīng)用,芯片廠商對DSP也同樣做了新場景的適配和支持,如TI的C71 DSP,除了支持常見的標量運算和矢量運算,還增加的矩陣乘加速器(MMA),進一步的提升了DSP的專用能力,讓開發(fā)者更容易進行NN模型部署。
業(yè)內(nèi)知名的DSP芯片廠要包括德州儀器、亞德諾等。也有多家國產(chǎn)DSP芯片進軍汽車市場,包括進芯電子、中科昊芯等。其中進芯電子已經(jīng)推出了32位浮點DSP芯片AVP32F335系列產(chǎn)品,中科昊芯即將推出HXS320F280039C、HXS320F28379D等32位浮點RISC-V DSP芯片產(chǎn)品。
2.2、GPUCPU的功能模塊多,適合復雜的運算場景,大部分晶體管用在控制電路和存儲上,少部分用來完成運算工作。GPU的控制相對簡單,且不需要很大的Cache,大部分晶體管被用于運算,GPU的計算速度因此大增,擁有強大的浮點運算能力。
CPU與GPU架構(gòu)對比示意圖當前的多核CPU一般由4或6個核組成,以此模擬出8個或12個處理進程來運算。普通的GPU就包含了幾百個核,高端的有上萬個核,這對于處理大量的重復處理過程有著天生的優(yōu)勢,同時更重要的是,它可以用來做大規(guī)模并行數(shù)據(jù)處理。
在應(yīng)用方面,GPU適合前后計算步驟無依賴性、相互獨立的計算場景,很多涉及到大量計算的問題基本都有這種特性,比如圖形學的計算、挖礦和破解密碼等,這些計算可以分解為多個相同的小任務(wù),每個小任務(wù)由GPU中的單個核處理,GPU通過眾核并發(fā)的方式提高同時處理小任務(wù)的個數(shù),從而提高計算速度。而CPU更適合前后計算步驟嚴密關(guān)聯(lián),邏輯依賴較高的計算場景。
GPU相比CPU有幾個特點:
- 運算資源非常豐富;
- 控制部件占得面積非常小;
- 內(nèi)存帶寬大;
- 內(nèi)存延時高,對比CPU使用多級緩存緩解延時,GPU采用多線程的方式處理;
- GPU處理需要數(shù)據(jù)高度對齊;
- 寄存器資源極為豐富;
實際CPU與GPU最大的區(qū)別是帶寬,CPU像法拉利,跑的很快,但要是拉貨,就不如重卡。GPU像重卡,跑的不快,但一次拉貨多。有些貨可以全部打包裝車運輸,如這些貨都來自一個地方,大小相同,需要運輸?shù)揭粋€地方,這就是計算密集型任務(wù)。有些貨不行,比如這些貨要去不同地方,體積大小不一,不能多個打包,只能多次運輸,這就是控制密集型任務(wù)。CPU在緩存、分支預測、亂序執(zhí)行方面花了很多精力,用大量寄存器實現(xiàn)這些功能,保證了高速度,頻率一般都遠高于GPU,每次速度很快,但大量寄存器占用大量空間,考慮到成本以及半導體的基本定律(單顆die面積不超過800平方毫米,否則良率會急速下降),CPU的核心數(shù)非常有限,每次能帶的貨很少。GPU相反,不考慮分支預測與亂序執(zhí)行,用最快的寄存器代替緩存,結(jié)構(gòu)簡單,晶體管數(shù)量少,可以輕易做到幾千核心,每次能帶的貨很多,但速度不快。所以,相對來說,GPU更適合處理分支少,數(shù)據(jù)量大,計算簡單且重復的運算任務(wù)。
2.3、深度學習能力廣義上來說,只要能夠運行人工智能算法的芯片都叫做深度學習芯片。但是通常意義上的深度學習芯片,指的是針對深度學習算法做了特殊加速設(shè)計的芯片。
通常來說,深度學習芯片普遍以O(shè)PS(Operations Per Second)為單位來評估深度學習的理論峰值算力。OPS的物理計算單位是乘積累加運算(Multiply Accumulate, MAC),是在微處理器中的特殊運算。1 * MAC = 2 * OPS。實現(xiàn)此運算操作的硬件電路單元,被稱為“乘累加器”。這種運算的操作,是將乘法的乘積結(jié)果b*c和累加器a的值相加,再存入累加器a的操作:a ← a + b*c
深度學習算力理論值取決于運算精度、MAC的數(shù)量和運行頻率。對于定點和浮點計算單元共用核心的加速器,可大致簡化為INT8精度下的MAC數(shù)量在FP16精度下等于減少了一半,F(xiàn)P32再減少一半,依次類推。例如,假設(shè)芯片內(nèi)有512個MAC運算單元,運行頻率為1GHz,則INT8的算力為512 * 2 * 1GHz = 1TOPS(Tera Operations Per Second),F(xiàn)P16的算力為0.5TOPS,F(xiàn)P32的算力為0.25TOPS。
通常,各大芯片廠商宣傳的TOPS往往都是運算單元的理論值,而非整個硬件系統(tǒng)的真實值。實際運行起來,真正的有效算力可能只有理論值的30%算力,甚至更低。這里就涉及到“算力利用率”的概念。比如說,某個神經(jīng)網(wǎng)絡(luò)模型需要的理論算力是1TOPS,而實際運行的SoC的標稱算力是4TOPS,那么利用率只有25%。以下是特斯拉、Mobileye、英偉達、華為、地平線芯片的算力對比表。
以ResNet-50及MobileNet V1網(wǎng)絡(luò)在SoC A和SoC B上的運行數(shù)據(jù)為例,實際的有效算力會因為圖片分辨率、網(wǎng)絡(luò)結(jié)構(gòu)差異等原因而不同。
這又是什么原因呢?通常來說,實際的有效算力主要受兩方面的影響:1)處理器的計算架構(gòu):從上表可以看到,即使是同一款SoC,對不同網(wǎng)絡(luò)結(jié)構(gòu)的利用率差異也非常大。這是因為深度學習加速器本身是高度定制化的計算架構(gòu),只有執(zhí)行和加速器特性比較匹配的網(wǎng)絡(luò)結(jié)構(gòu)才能發(fā)揮出較高的利用率。
2)存儲帶寬:存儲帶寬決定數(shù)據(jù)搬運的速度。如果存儲帶寬跟不上計算速度,則數(shù)據(jù)無法及時到達計算單元,導致處理器的計算單元空置,從而導致處理器的算力利用率大打折扣。智能駕駛應(yīng)用的處理場景通常具有圖像分辨率大、并行樣本量(batch size)小、網(wǎng)絡(luò)結(jié)構(gòu)小的特點,這對于存儲帶寬的要求通常會更高。
同汽車的動力指標,馬力不如百公里加速時間更真實反映整車動力性能;同理,有效算力比理論算力更能反映芯片實際性能。所以,在SoC選型時需要重點關(guān)注SoC全系統(tǒng)能夠提供的有效算力。
2.4、算力多樣化需求在深度學習推理端,各家芯片往往都會根據(jù)自家的神經(jīng)網(wǎng)絡(luò)推理框架設(shè)計對應(yīng)的NN處理器,各種TPU/NPU/DPU…層出不窮,芯片廠家根據(jù)神經(jīng)網(wǎng)絡(luò)特點,通過定制化的設(shè)計處理器,使得軟硬件的適配度更高,從而提高芯片算力的利用率。
市場上,除了NN處理器,像高通/德州儀器等公司的車載芯片,在SoC上配備了GPU/DSP/CV加速器等通用算力處理器來提高車載芯片的處理能力和算法開發(fā)的擴展性。
在智能駕駛系統(tǒng)中,大部分的計算可以通過深度學習處理器來完成。但是,對于一些算法開發(fā)能力較強的公司來說,會根據(jù)實際的業(yè)務(wù)場景需求,來設(shè)計自己的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),芯片廠商提供的NN處理器的算子庫無法滿足他們的需求,往往存在一些自定義算子的開發(fā)。另外,ISP、多傳感器融合、定位與建圖等功能還會涉及一些非深度學習的視覺算法的實現(xiàn)。此時,車載芯片上的GPU/DSP/CV加速器將可以很好的補充這部分算力需求。
DSP能夠提供低功耗的矢量處理能力,相比于CPU,可以使用DSP的SIMD指令很好的應(yīng)對并行度高,數(shù)據(jù)連續(xù)性較好的算法。對于并行度高,但是數(shù)據(jù)連續(xù)性較差的算法,如果部署在DSP上,將對IO帶寬帶來很大的挑戰(zhàn),無法充分發(fā)揮DSP的計算能力,但是GPU的高并發(fā)特點,可以很好的應(yīng)對這種算法。同時,GPU的圖像處理能力能夠滿足智能駕駛場景中渲染和可視化的需求。
綜上,SoC選型時,需要根據(jù)業(yè)務(wù)需求,合理規(guī)劃和分配算力,實現(xiàn)SoC各個模塊協(xié)調(diào)高效合作,而非只關(guān)注深度學習算力。
3、安全3.1、網(wǎng)絡(luò)安全(Cybersecurity)隨著UNECE WP29 R155法規(guī)、ISO/SAE 21434標準的發(fā)布,國內(nèi)也緊跟著發(fā)布了一系列車載網(wǎng)絡(luò)安全相關(guān)的國標、法規(guī),包括網(wǎng)絡(luò)安全技術(shù)相關(guān)的、流程相關(guān)的、數(shù)據(jù)保護相關(guān)的等等,這一切表明網(wǎng)絡(luò)安全在智能網(wǎng)聯(lián)汽車行業(yè)的重視程度在逐日提升。
網(wǎng)絡(luò)安全機制的實現(xiàn)講究縱深防御,上層包括面向服務(wù)的應(yīng)用防火墻、對服務(wù)訪問的鑒權(quán)和授權(quán)等,中間層包括操作系統(tǒng)的進程訪問權(quán)限管理、文件系統(tǒng)加密、以太網(wǎng)防火墻、安全通信、調(diào)試接口管控、安全審計等,底層包括安全啟動、安全升級、安全存儲、密鑰管理等基礎(chǔ)功能。在芯片選型時,關(guān)于網(wǎng)絡(luò)安全往往會考慮如下方面:
- 芯片的封裝。盡量選擇BGA封裝的芯片。
- 芯片防信道攻擊的能力。目前很多側(cè)信道攻擊的手段可以很輕易獲取到芯片運行時的關(guān)鍵資產(chǎn),例如密鑰。
- 芯片的調(diào)試接口。例如JTAG,可通過某種硬件機制永久關(guān)閉,或者可通過軟件安全機制控制芯片調(diào)試接口的開關(guān)。
- 芯片的安全啟動。安全啟動一般起始于芯片的BootRom,通過校驗固件的簽名,來防止固件被惡意篡改,確保了固件的完整性。
- 芯片的安全運行環(huán)境。該運行環(huán)境主要用于管理芯片運行時的關(guān)鍵資產(chǎn),例如芯片的安全配置、密鑰等,并通過硬件來實現(xiàn)安全算法加速服務(wù)。
- 芯片的內(nèi)存保護單元。例如MMU或MPU,該單元一般集成在處理器中,由運行在處理器上的操作系統(tǒng)進行配置,實現(xiàn)運行態(tài)的內(nèi)核/進程/線程的地址虛擬化和數(shù)據(jù)隔離。
- 芯片唯一SN。一般會用于綁定、認證等安全業(yè)務(wù)。
除了以上技術(shù)要求之外,在芯片選型時,也需要考慮供應(yīng)商網(wǎng)絡(luò)安全資質(zhì)的要求,例如是否有CSMS管理體系。
3.2、功能安全(FuSa)眾所周知 “智能駕駛、安全第一”。SoC作為智能駕駛控制器的核心,其安全性能是確保最終交付安全產(chǎn)品的關(guān)鍵。因此在SoC芯片的設(shè)計選型中,必須把功能安全作為核心指標進行評估:
- SoC芯片支持的功能安全完整性等級(ASIL)是否滿足最終產(chǎn)品的安全等級需求;
- SoC芯片的安全設(shè)計是否匹配當前的產(chǎn)品的功能安全概念;
- SoC芯片是否全面考慮支持不同駕駛自動化等級產(chǎn)品應(yīng)用;
為了實現(xiàn)上述目標,同時需要對SoC供應(yīng)商的功能安全的設(shè)計和開發(fā)能力進行全面評估:
- 對SoC的安全設(shè)計概念進行評估,包括安全需求、安全狀態(tài)、故障容錯時間間隔等;
- 對SoC的安全機制設(shè)計進行評估,包含診斷機制、自檢機制、安全隔離和冗余設(shè)計等;
- 對SoC的安全分析結(jié)果進行評估,包括定性安全分析、定量安全分析和相關(guān)失效分析結(jié)果等;
- 對SoC的開發(fā)工具鏈的鑒定報告進行檢查,包括工具軟件的置信度評估結(jié)果,軟件工具開發(fā)過程評估等;
- 對廠商提供的SoC相關(guān)的安全審核、認證和評估結(jié)果進行檢查,包括是否是獨立的第三方審核和評估,評估范圍、評估報告的等;
功能安全的級別跟SoC的功能安全目標相關(guān)。評估時需要細分SoC內(nèi)部各個模塊的功能安全等級,從軟件和硬件維度,確認SoC的功能安全設(shè)計是否能夠全面、有效的滿足自家產(chǎn)品的安全需求。在產(chǎn)品應(yīng)用層面,還需要全面評估產(chǎn)品引入功能安全設(shè)計后,潛在的SoC算力需求增加、通信帶寬增大、存儲容量需求增加等方面的變化,確保SoC安全功能設(shè)計能夠在項目中完整落地。
4、其他4.1、內(nèi)存帶寬SoC內(nèi)部的CPU、NN加速器、GPU等除了執(zhí)行指令外,還會從DDR讀取指令和讀寫數(shù)據(jù)。但DDR的訪問不能單周期完成,典型的訪問延時100ns+。盡管Cache在一定程度上可以緩解DDR的訪問延時問題,但考慮到多核心并發(fā)、隨機訪問DDR,DDR帶寬往往會成為CPU和各個加速器運行的瓶頸。例如,假設(shè)NN加速器處理一幀圖像,50ms用于DDR數(shù)據(jù)的加載和存儲,50ms用于在數(shù)據(jù)運算,此時幀率是10Hz;如果DDR的帶寬減半,此時需要100ms用于DDR數(shù)據(jù)的加載和存儲,50ms用于在數(shù)據(jù)運算,此時幀率為6.7Hz??梢?,DDR帶寬可以間接影響各個處理器和加速器的運行的效率。
常用的單通道(32bit) DDR的頻率和帶寬參考如下。
如下圖為內(nèi)存多通道交織的例子:如果只使用一個通道,對DDR的訪問是單通道串行的;如果CPU同時連接到4通道的DDR,4個通道之間的訪問可以并發(fā),提高DDR帶寬。
綜上,除了關(guān)注DDR的單通道帶寬外,還需要重點關(guān)注DDR的通道數(shù),如理論上雙通道的DDR帶寬是單通道的2倍。
4.2、功耗和成本相同的芯片規(guī)格,芯片的工藝會直接影響到芯片的功耗,如7nm和16nm 30T算力的SoC功耗大約為15W和30W。算力的增加同樣會增加功耗,如7nm 30T和200T算力的SoC功耗大約為15W和100W。功耗的大小又會影響到結(jié)構(gòu)和散熱,較高的功耗需要增加風扇、尺寸、銅管、材料等,進一步增加域控制器的成本。
算力的增加也意味著芯片成本的增加,如200T算力的SoC的價格約為30T算力的SoC的7倍,所以在選擇芯片規(guī)格的時候也要重點關(guān)注對算力的真實需求,過多的預留可能會導致成本的浪費。
4.3、豐富的IO接口資源自動駕駛的主控處理器需要豐富的接口來連接各種各樣的傳感器設(shè)備。目前業(yè)界常見的自動駕駛傳感器主要有:攝像頭、激光雷達、毫米波雷達、超聲波雷達、組合導航、IMU以及V2X模塊等。
- 對攝像頭的接口類型主要有:MIPI CSI-2、LVDS、FPD Link等;
- 激光雷達一般是通過普通的Ethernet接口來連接;
- 毫米波雷達都是通過CAN總線來傳輸數(shù)據(jù);
- 超聲波雷達基本都是通過LIN總線;
- 組合導航與慣導IMU常見接口是RS232;
- V2X模塊一般也是采用Ethernet接口來傳輸數(shù)據(jù)。
除了上述傳感器所需IO接口外,常見的其它高速接口與低速接口也都是需要的,比如:PCIe、USB、I2C、SPI、RS232等等。
4.4、芯片的生態(tài)(工具鏈)芯片整個軟件的工具鏈或者對一些算法的開發(fā)是不是能滿足客戶的需求。也就是說芯片的生態(tài)怎么樣,是否具備一個良好的生態(tài)系統(tǒng)能夠支撐客戶做可落地化的開發(fā),也是主機廠或Tier1在選擇芯片時候的重要考量因素之一。
根據(jù)蓋世汽車研究院數(shù)據(jù)顯示,2023年高通座艙域控芯片裝機量超226萬顆,市場占比近六成。排在高通之后的同樣是從消費電子芯片領(lǐng)域跨界而來的AMD,其2023年座艙域控芯片裝機量近57.6萬顆,市場占比超15%。這主要來自于為特斯拉代工的和碩與廣達,對應(yīng)車型為Model 3與Model Y。
瑞薩排位第三,2023年座艙域控芯片裝機量近32.8萬顆。德賽西威是主要客戶,其超20萬套座艙域控采用的瑞薩的M3或H3。除德賽西威外,這兩款芯片也用于安波福、佛吉亞、華陽通用的座艙域控產(chǎn)品中,配套量居高的車型包括艾瑞澤8、哈弗H6等。英特爾、三星、德州儀器也都在10萬級以上,其中英特爾近76%座艙域控芯片配套于東軟的座艙域控產(chǎn)品;三星則主要供應(yīng)LG;德州儀器主要供應(yīng)安波福。芯擎科技憑借60,152顆的裝機量,拿到了“第七”的排位,高于英偉達與恩智浦。據(jù)悉,該年度“龍鷹一號”主要配套北斗智聯(lián)和億咖通的座艙域控產(chǎn)品,涉及車型領(lǐng)克08 EM-P、睿藍7等。華為此次排位第十,麒麟芯片2023年裝機量為21,923顆,主要配套阿維塔11、阿維塔12等車型。
注:轉(zhuǎn)載至 網(wǎng)絡(luò) 文中觀點僅供分享交流,不代表貞光科技立場,如涉及版權(quán)等問題,請您告知,我們將及時處理
-
SoC芯片
+關(guān)注
關(guān)注
1文章
606瀏覽量
34843 -
智能駕駛
+關(guān)注
關(guān)注
3文章
2421瀏覽量
48604 -
自動駕駛
+關(guān)注
關(guān)注
782文章
13622瀏覽量
165952 -
汽車輔助駕駛
+關(guān)注
關(guān)注
0文章
4瀏覽量
6854
發(fā)布評論請先 登錄
相關(guān)推薦
評論