ARM推出一系列針對自動駕駛的CPU架構(gòu),均符合汽車功能安全,分別是A65AE、A76AE和A78AE,AE代表汽車級增強。
圖片來源:互聯(lián)網(wǎng) ARM針對汽車功能安全的Split/Lock/Hybrid模式圖片來源:互聯(lián)網(wǎng) 在汽車功能安全標(biāo)準(zhǔn)ISO26262-5 2018產(chǎn)品開發(fā):硬件層面附錄D對處理單元的診斷覆蓋率推薦的安全技術(shù)措施中,作為可實現(xiàn)高診斷覆蓋率的幾種技術(shù)措施之一,硬件冗余技術(shù)中,雙核鎖步、非對稱冗余、編碼計算是三種典型的技術(shù)措施。鎖步是兩個核運行同樣的程序,將結(jié)果輸入一個比較邏輯中,周期性比較兩個核的輸出結(jié)果是否相同,即CCM。如果相同,則繼續(xù)運行;否則,則需采取一定的措施。若一段時間后錯誤還是存在,可能重啟或者重新檢查。鎖步核的設(shè)計是固定在芯片設(shè)計中的,所以沒有可調(diào)整性。容易看出,鎖步核雖用了兩個核,但其實只起到一個核的作用,浪費了一個核。這種方法已在微控制器和復(fù)雜度較低的微處理器領(lǐng)域經(jīng)過多年的成功驗證。如果是設(shè)計比較復(fù)雜的核,即使未有異常,兩個核之間也可能不同步。目前再進(jìn)一步是將對比結(jié)果輸出到一個被稱為“safety island”安全島的核中,由這個核負(fù)責(zé)決策和執(zhí)行。這個核使用單獨的時鐘和電源,且有很高的安全性能。這種方案提升了系統(tǒng)復(fù)雜度,但軟件執(zhí)行更加靈活。ARM一般推薦是Cortex-R52。ARM有雙重鎖步能力,第一重在CPU內(nèi)部,利用DSU實現(xiàn),第二重在CPU外部,利用安全島實現(xiàn)。DSU是DynamIQ Shared Unit ,第一次出現(xiàn)是在A75上。ARMDSU應(yīng)用示例 圖片來源:互聯(lián)網(wǎng) DSU基本構(gòu)成 圖片來源:互聯(lián)網(wǎng) DSU的核心功能是控制CPU內(nèi)核,使其成簇Cluster使用,簇內(nèi)每一個核心可以單獨開關(guān)、調(diào)整頻率/電壓,能效表現(xiàn)更佳,甚至制造商是可以將不同核心(目前僅支持Cortex-A75與Cortex-A55)以不對等的數(shù)量放到一個簇內(nèi),可以Cortex-A75×3+ Cortex-A55×5,也可以Cortex-A75×1+ Cortex-A55×7,兼顧成本與性能。再有就是L3緩存的共享。DSU能夠使用CCI、CCN或是CMN不同總線技術(shù),把CPU與SoC里其它單元(GPU、Modem、內(nèi)存)高速連接起來;假如它擁有4MB三級緩存,能以動態(tài)方式分配緩存給每個核心,比如說Cortex-A75×1+ Cortex-A55×7下,可以將3MB緩存分配給A75核心,剩下7個A55核心共享1MB緩存,甚至可將三級緩存交給GPU等單元使用,靈活性非常高;最重要的是它還負(fù)責(zé)控制簇內(nèi)每個CPU核心開關(guān)、頻率高低、電壓大小,是控制CPU性能與功耗的關(guān)鍵。在設(shè)計DynamIQ之時ARM還考慮到冗余需求,比如相比智能手機,汽車對可靠性、冗余度要求高出不少,DynamIQ允許多個簇通過CCIX連接在一起,這樣處理器就可以分布于汽車不同位置,當(dāng)發(fā)生交通意外一個簇受損時,DynamIQ技術(shù)可以調(diào)用出備用處理器,保證汽車正常運轉(zhuǎn)。Cortex-A78AE的DSUAE內(nèi)部框架圖 圖片來源:互聯(lián)網(wǎng) DSU AE主要是添加了比較器,再有就是亮色部分都復(fù)制一份,包括執(zhí)行邏輯、時鐘、功率狀態(tài),各個界面,當(dāng)然緩存不能復(fù)制,那樣成本太高,也意義不大。 圖片來源:互聯(lián)網(wǎng) DSU-AE分離模式 圖片來源:互聯(lián)網(wǎng) DSU-AE混合模式 圖片來源:互聯(lián)網(wǎng) DSU-AE界面 圖片來源:互聯(lián)網(wǎng) 除了DSU還有針對汽車功能安全的GPU架構(gòu)G78AE,圖像ISP的C71AE,中斷控制GIC-600AE,存儲管理MMU-600AE,網(wǎng)格總線CMN-600AE。但DSU最關(guān)鍵。二、ARM的片上總線 ARM智能駕駛產(chǎn)品全系列 圖片來源:互聯(lián)網(wǎng) 數(shù)字IC從基于時序驅(qū)動的設(shè)計方法,發(fā)展到基于IP復(fù)用的設(shè)計方法,并在SOC設(shè)計中得到了廣泛應(yīng)用。在基于IP復(fù)用的SoC設(shè)計中,片上總線是連接各模塊,對各模塊做出仲裁的核心系統(tǒng),是設(shè)計最關(guān)鍵的問題。AMBA總線是ARM研發(fā)的(Advanced Microcontroller Bus Architecture)提供的一種特殊的機制,可將RISC處理器集成在其他IP芯核和外設(shè)中,是有效連接IP核的“數(shù)字膠”,并且是ARM復(fù)用策略的重要組件。它不是芯片與外設(shè)之間的接口,而是ARM內(nèi)核與芯片上其他元件進(jìn)行通信的接口。AMBA規(guī)范主要包括了AHB (Advanced High PerformanceBus)系統(tǒng)總線和APB (Advanced Peripheral Bus)外圍總線。除了AMBA總線,ARM還有應(yīng)對多核的GIC中斷控制,MMC內(nèi)存控制。ARM CMN-700 圖片來源:互聯(lián)網(wǎng) ARM發(fā)展了一種介于總線和NoC之間的連接系統(tǒng),稱之為CMN,主要用于連接CPU內(nèi)核,也可以CPU內(nèi)核和加速器之間的連接。采用MESH網(wǎng)格結(jié)構(gòu),但沒有路由功能,本質(zhì)上還是總線,但MESH網(wǎng)格支持的單元很多,遠(yuǎn)比一般總線要多,最高可支持512核,支持512MB的L3緩存,目標(biāo)市場主要是HPC領(lǐng)域。 CMN-700同時還支持AMBA AXI5、ACE5-lite、CXS和CCIX
|