導讀
本文主要探討虛擬化技術(shù)對智駕芯片設(shè)計的需求和影響匀归,以應(yīng)對汽車芯片市場的大算力择懂、高集成度和功能安全需求约啊。作者基于對車載芯片發(fā)展趨勢的一點思考邑遏,希望可以拋磚引玉,一起推動智駕芯片的技術(shù)發(fā)展瘫笋。
一路旬、智駕芯片需要虛擬化
智駕系統(tǒng)不是一個單一的簡單任務(wù)。
從功能維度看锨堵,其中必須使用多種典型功能哑回,例如傳感器的驅(qū)動,輸入信息的融合和感知粟墩,路徑的規(guī)劃和實車控制伊哮,以及貫穿其中的功能安全和信息安全等等。
從生態(tài)維度來看惨槐,智駕解決方案的實現(xiàn)依靠于生態(tài)鏈多個合作伙伴的配合问嬉,例如硬件和驅(qū)動供應(yīng)商,操作系統(tǒng)供應(yīng)商瘤褒,規(guī)控算法供應(yīng)商等炮姑。這些獨立的產(chǎn)品要求不同方向的技術(shù)棧,適合“術(shù)業(yè)有專攻”铭莱,同時也帶來了不同產(chǎn)品間的集成難度骡尽。
從成本和效率維度看,高度集成的方案往往能帶來成本優(yōu)勢擅编,對效率一般會產(chǎn)生正面影響攀细,對功能耦合性一般會提出更高要求。
為了給用戶提供綜合性能最好的產(chǎn)品爱态,每一個維度都需要被考慮谭贪。于是從架構(gòu)上就進化出了一種趨勢來滿足智駕系統(tǒng)的多維度要求:硬件通過高度集成化來降低成本,軟件通過虛擬化來降低功能耦合性以及提高安全性锦担。虛擬化技術(shù)就是目前業(yè)界比較成熟的俭识、可以提供獨立運行環(huán)境的技術(shù)手段。當然洞渔,為了做到在單一SoC上實現(xiàn)多個OS套媚,除了虛擬化,也有其他方法磁椒,比如硬隔離堤瘤。我們在下文對比說明玫芦。
二、虛擬化技術(shù)特色
本文所述虛擬化以ARMv8-A核體系為案例本辐,虛擬化技術(shù)原理說明主要以操作系統(tǒng)公開資料為例守涤,相通思路很容易應(yīng)用于其他Hypervisor方案。
硬隔離與虛擬化
隔離是虛擬化技術(shù)最主要的需求之一懂崭。實現(xiàn)手段可以是“硬隔離”溃艺,即從芯片設(shè)計的角度對功能進行分域,每個域分配特定的資源处淘,然后通過特定的總線實現(xiàn)域間通信睡硫。也可以“軟隔離”,即通過虛擬化的方式將同一個域內(nèi)的資源隔開谤郑,讓這些應(yīng)用在各自獨立的環(huán)境中運行鲸嫁,既保持一定的安全距離,又能彼此聯(lián)系直呈。
硬隔離和虛擬化分別有其特點和應(yīng)用場景,下表列出了硬隔離和虛擬化技術(shù)不同之處和優(yōu)劣對比翰鬓。
硬隔離對于中斷處理忽畏、共享非易失存儲和錯誤檢測和處理較難實現(xiàn),虛擬化則有比較成熟的方案坟翠。虛擬化方案總體上較優(yōu)赖钞,主要優(yōu)勢在于靈活性和擴展性。
對于復雜芯片設(shè)計聘裁,往往需要在不同場景分別使用不同的方案以達到綜合效果最優(yōu)雪营。如對靈活性的要求較低,而更注重隔離性衡便,則硬隔離可能更為適用献起。在智駕域常見的SoC中經(jīng)常能看到MCU島、信息安全島等镣陕,即是硬隔離機制的典型案例谴餐。當然,這要求SoC設(shè)計中對每個“島”所需的運算和存儲資源進行精確的預(yù)計呆抑,如果因資源不足而導致跨過“島”的界限來獲取岂嗓,那么系統(tǒng)性能將明顯低于紙面參數(shù)。
在靈活性和隔離性都需要兼顧的場景中鹊碍,例如多個A核構(gòu)成的CPU集群需要被安全監(jiān)控厌殉、規(guī)控、驅(qū)動等共用侈咕,虛擬化將為功能開發(fā)和運行提供明顯助益选浅。
內(nèi)核系統(tǒng)虛擬化
內(nèi)核系統(tǒng)虛擬化主要關(guān)注如下幾個核心功能:
1. CPU
2. 內(nèi)存
3. 中斷
這幾個方面ARMv8已經(jīng)支持的相對完善措瑞,當前主流的Cortex-A系列CPU都含2層MMU功能,已經(jīng)可以運行虛擬化的基礎(chǔ)功能逾丑。當然虹喉,為了更好地獲得安全隔離的需求,一般還會使用SMMU嘲孙,給訪問外設(shè)提供一個虛擬化的實現(xiàn)方式啤糙。
MMU和SMMU是地址虛擬化的經(jīng)典解決方案。MMU協(xié)助CPU處理地址訪問(操作系統(tǒng)魂姆,內(nèi)核锉累,進程);SMMU協(xié)助外設(shè)處理地址訪問(DMA澜茁,PCIe猩蓝,GPU等)。MMU以及SMMU解決了3種地址空間的轉(zhuǎn)換問題从肮,從而為應(yīng)用提供了獨立的虛擬地址空間筐子。
三種地址空間
1. 虛擬地址VirtualMemory,VA缓苛,在一個OS內(nèi)芳撒,根據(jù)EL級別
- 又分成用戶態(tài)和內(nèi)核態(tài)VA,他們是不同的
- 用戶態(tài)地址空間布局未桥,是由OS內(nèi)核營造的
- 每個進程地址空間總體結(jié)構(gòu)都差不多笔刹,內(nèi)容千差萬別
- 進程認為它是在獨占整個系統(tǒng)內(nèi)存
2. 中間物理地址Intermediate PA,IPA
- 這是虛擬機認為的物理地址
- 這種物理地址的空間布局冬耿,是由虛擬機管理器營造
3. 實際物理地址PA
- 對于SoC芯片來說舌菜,這才是真正全局唯一的
虛擬地址的核心意義
長久以來,虛擬地址是現(xiàn)代大型操作系統(tǒng)的基本特征亦镶,目的之一是支持多用戶日月,且用戶之間保持獨立。在ARMv8-A架構(gòu)下染乌,MMU是A核CPU的標準配置山孔,但支持虛擬地址的DMA設(shè)備并不多。在虛擬化技術(shù)出現(xiàn)之前荷憋,地址翻譯就是指從虛擬地址到物理地址的轉(zhuǎn)換台颠。引入了虛擬化技術(shù)后,翻譯的過程變得更復雜搬雳,為方便理解为或,先不考慮虛擬化,下文就把經(jīng)過這一步驟之后的地址稱為物理內(nèi)存地址晃键,地址翻譯是虛擬地址VA到物理地址PA特棕。
通常漱啥,支持虛擬地址翻譯的單元稱為MMU,每個Cortex-A系列CPU核心都帶一個MMU單元创哩。而外設(shè)就不一定了灶常,有2種方法支持地址翻譯,一般一些復雜外設(shè)內(nèi)置了MMU單元波笆,對于普通外設(shè)我們使用SMMU毯输。可以一個外設(shè)獨占一個SMMU實例褂苔,也可以多個外設(shè)共享一個SMMU實例霜甜,這就是SMMU設(shè)計得如此復雜的一個原因。
當引入內(nèi)存虛擬化后贩贵,地址翻譯就需要分成Stage1箕昭,Stage2。
上述虛擬地址是Stage1解阅,是操作系統(tǒng)用來隔離不同用戶進程的落竹,而Stage2是用來隔離不同虛擬機的。
其中Stage1和非虛擬化時的翻譯過程是一樣的瓮钥。對于驅(qū)動開發(fā)人員來說筋量,Stage2地址翻譯過程是隱性的,大部分的驅(qū)動功能可以完全不用考慮這一過程碉熄,簡化了對內(nèi)存模型的理解。但是肋拔,如果需要處理多虛擬機之間锈津,以及SoC異構(gòu)系統(tǒng)之間的內(nèi)存共享時,情況就會比較復雜凉蜂。
設(shè)備虛擬化
設(shè)備的豐富性我們不能面面俱到所有實現(xiàn)琼梆,本文僅討論比較關(guān)鍵的幾個模塊,希望可以舉一反三窿吩,應(yīng)用到其他設(shè)備上茎杂。
存儲虛擬化
系統(tǒng)中存儲器eMMC或UFS,存在多系統(tǒng)使用共享存儲問題
1. 假如使用2個UFS存儲器瘫篮,各自用于一個虛擬機
2. 存儲器不足分配時扯连,Host作為后端,而Linux和Android使用前端虛擬設(shè)備
目前行業(yè)對此處理方式比較分化唆皇,有些整車公司傾向于使用單一存儲器梨浑,給多個系統(tǒng)共享使用,有利于降低成本吨肆,但是增加了單一失效風險迂儡,且前后端模式對存儲性能影響很大芙捏。也有一些整車公司堅持使用雙存儲器,以保證數(shù)據(jù)存儲的安全可靠性和讀寫性能杰打,但是會導致成本上升粤唤。這是一個技術(shù)、經(jīng)濟和安全性上需要權(quán)衡的問題搁鞭。也許在不遠的將來预锅,支持虛擬化的存儲控制器就會出現(xiàn),可以較好地解決這個問題橙喘。
多媒體設(shè)備虛擬化
多媒體設(shè)備特點是多個設(shè)備組成pipeline时鸵,數(shù)據(jù)流在pipeline間依次處理,傳遞幀緩沖區(qū)handle厅瞎,而不是多次拷貝數(shù)據(jù)饰潜。以下要求:
1. 多設(shè)備地址空間一致,通常統(tǒng)一使用物理地址
2. 幀緩沖區(qū)跨進程流動和簸,需要考慮引用計數(shù)和安全回收問題
3. 內(nèi)存管理不是模塊級的彭雾,而是系統(tǒng)性設(shè)計
4. 需要使用全局的內(nèi)存池,處理申請锁保、釋放請求薯酝,檢查使用者等
尤其是視頻設(shè)備,通常由多個處理單元組成管道爽柒,傳遞幀緩沖吴菠,隱性決定了這些多媒體處理單元要在一個OS中統(tǒng)一管理,如果跨多個虛擬機的話浩村,無論從實現(xiàn)的難度做葵,還是實時性和安全性上講,都有較高的設(shè)計難度心墅。
同時翠墩,從應(yīng)用視角,多媒體設(shè)備一般不會被各子系統(tǒng)分時復用辖京,往往是多個通道靜態(tài)的被分配給不同子系統(tǒng)帝匙。因此比較適合選擇使用多實例直通外設(shè),或者硬件虛擬化外設(shè)克干。
加速引擎虛擬化
智駕系統(tǒng)對加速引擎的需求非常直接反狞,例如ISP計算加速、AI加速尼送。如果僅用于自駕的某一特定場景男赴,則可以選擇使用直通方式給智駕操作系統(tǒng)專用。
而ChatGPT的普及帶來了新的可能性:AI可能在非智駕領(lǐng)域產(chǎn)生更多的應(yīng)用場景。則AI處理能力的需求在整車中將更加多樣化垄减,對AI運算能力被“分拆”的需求可能加強往蝉。考慮到AI處理同樣對數(shù)據(jù)流有較高要求牙枕,可能會朝“多媒體設(shè)備”類似的虛擬化方向發(fā)展堡扣。
三、總結(jié)
在汽車智能化的驅(qū)動下竣付,智駕系統(tǒng)芯片設(shè)計的思路是以前若干行業(yè)的綜合:需要借鑒手機消費類芯片的多媒體處理能力和對運行模式和功耗等的精確控制诡延;需要借鑒服務(wù)器芯片的對運算資源和數(shù)據(jù)帶寬的合理規(guī)劃和實現(xiàn);需要滿足汽車行業(yè)的功能安全等特性要求以及軟件生態(tài)古胆。這是一個規(guī)模和難度都巨大的技術(shù)方向肆良。
引入虛擬化技術(shù),對于自動駕駛芯片SoC設(shè)計是一個系統(tǒng)性的考量逸绎。為了實現(xiàn)安全的目標惹恃,以及多供應(yīng)商、多技術(shù)維度的功能可以在資源獲取上既保持靈活性棺牧,又保持隔離性巫糙,虛擬化是必備方案。
(輝羲智能 作者劉杰威)
聲明:本網(wǎng)站所收集的部分公開資料來源于互聯(lián)網(wǎng)颊乘,轉(zhuǎn)載的目的在于傳遞更多信息及用于網(wǎng)絡(luò)分享参淹,并不代表本站贊同其觀點和對其真實性負責,也不構(gòu)成任何其他建議乏悄。本站部分作品是由網(wǎng)友自主投稿和發(fā)布浙值、編輯整理上傳,對此類作品本站僅提供交流平臺褥辰,不為其版權(quán)負責漠盔。如果您發(fā)現(xiàn)網(wǎng)站上所用視頻、圖片河美、文字如涉及作品版權(quán)問題,請第一時間告知评贫,我們將根據(jù)您提供的證明材料確認版權(quán)并按國家標準支付稿酬或立即刪除內(nèi)容殊划,以保證您的權(quán)益!聯(lián)系電話:010-58612588 或 Email:editor@mmsonline.com.cn枕调。
- 暫無反饋
編輯推薦
- 2025新年特刊:打造新質(zhì)生產(chǎn)力茶凳,智啟未來新篇章
- 定義制造業(yè)未來的數(shù)控加工中心技術(shù)專題
- 航空航天及交通領(lǐng)域先進制造技術(shù)應(yīng)用專題
- 解碼消費電子產(chǎn)品生產(chǎn)的數(shù)字化之路技術(shù)專題
- 精密智能機床播揪,助力制造升級技術(shù)專題
- 汽車輕量化驅(qū)動下的零部件加工應(yīng)用專題
- 高性能銑刀實現(xiàn)高精加工生產(chǎn)技術(shù)專題
- 航空航天發(fā)動機解決方案專題
- 高效齒輪加工生產(chǎn)技術(shù)方案專題
- 金屬加工液的性能不止?jié)櫥夹g(shù)應(yīng)用專題