2022汽車半導體生態峰會演講實錄|核芯達科技余方玉:從自動駕駛看高性能CPU的特性需求
以“智鏈未來 本立而道生”為主題的“2022張江汽車半導體生態峰會暨全球汽車電子博覽會”由《中國汽車報》社主辦,張江高科、愛集微、浦東新區投資促進二中心承辦,11月7日-8日在上海張江科學會堂隆重舉行。
本屆峰會邀請了以半導體為核心的全球智能網聯汽車生態鏈企業高管、知名分析師與投資機構、中外行業大咖參加,瞄準新智能汽車與能源汽車技術前沿,就科創+產業+金融進行深度交流,為汽車半導體產業發展貢獻智慧和力量。同時,通過趨勢分享、前沿技術碰撞、投資邏輯解讀以及全球汽車電子博覽會,共同探討全球巨變下的汽車半導體產業鏈發展,為業界充分展示汽車電子最新發展成果與趨勢,打造國際化一流汽車半導體領域展示平臺。
其中,在11月7日舉辦的“ADAS與自動駕駛專場”,北京核芯達科技有限公司系統平臺部技術總監余方玉做了題為《從自動駕駛看高性能CPU的特性需求》的精彩演講,以下內容為現場演講實錄:
余方玉:大家下午好,我是來自北京核芯達科技有限公司負責系統軟件的余方玉,今天這個分享對我個人而言壓力很大,因為在公司我是編代碼的,公司安排這個任務給我,其實我沒有關于公司太多的介紹,也沒有對產品的介紹,公司安排我通過一些工作過程中的技術分享來把我們產品的特性帶出來。
北京核芯達科技有限公司 系統平臺部技術總監 余方玉
所以我今天的分享結合我們對自動駕駛方案的一些分解,以及我們公司的一顆高性能RISC-V CPU展開介紹。進入主題之前我和大家一起看一下RISC-V CPU在高端市場的情況,在高端市場RISC-V CPU聲音不是太響亮,所以我們就自動駕駛、手機、云服務三個領域分享一下RISC-V CPU的應用情況。
在自動駕駛領域,今年初有一家自動駕駛公司官宣下一顆自動駕駛的芯片會使用RISC-V CPU進行設計。第二個在手機端,今年的10月份安卓的主線已經開始合入RISC-V的修改,目前安卓10.0的系統和12.0的系統都可以在RISC-V CPU進行運行。最后是云服務這一領域,有一個還沒有官宣的項目,我們了解到業界有做云服務提供商也正在基于RISC-V CPU進行他們的云服務芯片設計,我們自己的一家客戶也在基于RISC-V CPU進行他們云服務芯片的設計。RISC-V CPU在高端市場其實大家感覺還不是特別的深刻,但是它已經在慢慢的發展起來了。
我們剛剛介紹完RISC-V CPU的高端市場應用情況,現在我們進入到今天的主題。在自動駕駛這個領域,對于自動駕駛芯片,它對CPU的要求是怎么樣的?CPU要擁有哪些關鍵的特性才能支持自動駕駛芯片?你要做自動駕駛芯片,高性能符合車規,我們映射到自己這顆RISC-V CPU上,高性能的CPU可以支持硬件的多核多線程、支持異構、多集群、硬件虛擬化,功能安全。我今天會對硬件的多核多線程和功能安全做一個介紹。
首先我們來看什么是硬件多線程,以及硬件多線程它的作用是什么?我們看左邊這張圖,這是一個單核單線程CPU的流水線,在這個圖上CPU在運行的過程中,整個流水線上,由于CPU指令的執行不是說每一個指令都可以在一個時空周期內完成,它有很多的指令需要多個CPU的執行周期,如果這個時候你正在執行訪存的操作,后面所有的單元都處于一個阻塞的狀態,整個CPU流水線的利用率不會太高。
右邊這個是單核雙線程CPU流水線,它是共享一個相同的CPU流水線,第一個線程在執行訪存操作的時候,CPU流水線不會被阻塞住,整體上單核多線程可以把CPU流水線的利用率提升。我們還可以討論最近比較火的一個話題,在高性能領域我們的制成和功率被限制,我們只能用某一些功率,那我們應該通過什么技術才可以在比較低一點的功率上實現或者接近高功率的性能表現呢?硬件多線程的技術一定是最好的選擇之一。硬件多線程對于軟件而言是非常友好的。
我們再來看硬件多線程CPU的特性對自動駕駛的芯片有什么好處?我們通過對一個自動駕駛方案的分解,主要是自動駕駛上面的CPU使用的分解來給大家做一個闡述。我們提到自動駕駛芯片算力,大家首先想到的是什么?現在有上千TOPS算力的芯片,但是這個針對的都是AI的算法,其實對于自動駕駛芯片,特別是高階的自動駕駛,除了AI算力的要求比較高,CPU的算力要求一樣會很高。我這里展示的方案使用了8顆攝像頭,3顆激光雷達和8顆毫米波雷達,這里面如果是100%的數據相當于是Ram高階車載CPU的算力。在這個方案里面淺黃色都是攝像頭的任務,一個攝像頭的任務最高能占用CPU算力的84%左右。一個激光雷達的任務會占用CPU算力的45%左右,一個毫米波雷達會占有CPU算力的25%左右。自動駕駛的方案除了傳感器的任務以外,還有多傳感器融合的算法,規控的算法,還有輔助的任務,如果我們加在一起考慮系統的消耗,那么我們做這個方案要配置16顆左右高性能的CPU,對于沒有硬件多線程的CPU架構,16顆CPU就是16個核,對于有硬件多線程的CPU架構,一個核里面是兩個硬件線程,16顆CPU就可以用8-10個核來組成。
右邊這個圖展示在性能輸出一樣的情況下,有硬件多線程的CPU不管是在功耗上還是面積上,它的優勢都更明顯,功耗更低,面積更小。我們這里有一個實驗的數據,一個核里面兩個硬件線程,對比一個核里面一個硬件線程,它會帶來50%以上的性能提升,但是它只多消耗20%以內的功耗和面積。
我們從宏觀上看到硬件多線程CPU的特性,它對于自動駕駛芯片在PPA方面的優勢之后,我們從微觀上也做了一個分析。硬件多線程這樣的功能對自動駕駛里面的算法有沒有明顯的加速效果?我們做過一個統計,在自動駕駛方案里面,包含了至少40個以上自動駕駛相關的算法,我們在這里舉兩個例子。
我們先看左邊這個,這個是自動駕駛里面的車體或者物體位置變化,我們用在8核16線程的平臺上,它最高能帶來18倍以上的線程提速,數據量越大,提速越快。我們看右邊這個圖是自動駕駛里面的物體跟蹤的算法,車或者障礙物跟蹤,我們把這個算法應用在20和40線程的平臺上,其與單線程對比能帶來30倍的性能提升。
硬件多線程這樣的一個CPU的特性對于自動駕駛芯片,不管是在PPA的優化上還是在微觀的自動駕駛的算法提速上,都有明顯的優勢。
我們看完了硬件多線程對于自動駕駛的優勢之后,我們再來看一下硬件多線程在云服務這個領域有沒有同樣的效果?我這里使用的是第三方的例子,Dragonfly Redis他們都是基于內存的數據庫方案,Dragonfly針對他們的架構做了一個多線程的優化,優化完成以后做了一個和Redis的對比測試,這個數據我今天在這里沒有列出,大家可以去查一下。Redis后面在6.0的版本上做了多線程的優化,但是它只做了IO的多線程優化。縱軸這里面的數據是1s內完成的訪問數量,其實可以理解為吞吐量。將來的高階的自動駕駛在路上跑的每一臺車都是云端,我們在云服務這一領域應用的多線程技術還可以應用在自動駕駛領域。
前面我們講了高性能的東西,自動駕駛芯片需要高性能的CPU,功能安全這一塊我不多講,但是對于智能駕駛芯片來說它就是剛需。
我主要講我們自己的RISC-V CPU,我們是符合SOB到D的安全合規性,單顆CPU是符合SOB的安全客觀性,我們還提供安全流程和工作成果的證據與文件,因為我們要進入汽車這個市場,所以我們公司從一開始對功能安全這個領域特別的重視,我們這邊有好幾位在功能安全領域工作了差不多15年以上的功能安全相關的專家,我們有一個小組,前面支持過自動駕駛芯片公司完成功能安全相關的認證,在功能安全這一塊我們有能力幫助我們客戶快速去論證和落地。
今天我分享比較多是是硬件多線程的東西,包括前面列到CPU里面還有異構、多集群、硬件虛擬化這些重要的功能,這些功能對一個CPU而言都是需要你擁有一個資深的團隊,經過長期的積累,多個版本的迭代才有可能達到穩定量產的狀態,我們公司團隊包括人才梯隊是怎樣的,可能大家都會有這樣的一個疑問。
今天我用稍微輕松的方法做一個匯報,我們公司在CPU架構、SOC架構包括編譯器這些領域都有工作15年以上的專家,我們有一些同事負責過多顆高性能多復雜度的SOC的架構設計,所以在技術這個層面我們有能力完成我們公司新產品開發,包括幫助我們客戶快速的量產落地。
今天最后這一頁,我們在一起看一下RISC-V CPU在高端市場的生態發展,MobileEye在今年初的時候官宣了他們在下一代自動駕駛芯片將使用RISC-V CPU架構。Google在10月份發布了一個基于RISC-V 架構AI推理的系統,Linux 在2017年就合入了第一筆RISC-V CPU提交。我們在看下面這個圖,這個展示在Ubuntu這個系統上,軟件對于不同芯片架構適配的數量,我們看在20.04上面,其實軟件對于RISC-V 適配的數量和RAM和X86的差距并不多,從20.04到22.10,RISC-V 適配的數量增速是最快的,差距在進一步的縮小。
RISC-V CPU在高端市場的發展,未來已來,將至已至,今天我的分享就到這里,謝謝大家。
(注:以上速記內容未經本人確認)