色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 汽車電子 > 設(shè)計應(yīng)用 > 聊聊最近大火的超異構(gòu)芯片設(shè)計、啟動及工作原理----以TDA4芯片為例

          聊聊最近大火的超異構(gòu)芯片設(shè)計、啟動及工作原理----以TDA4芯片為例

          作者:Ammie 時間:2022-11-24 來源:焉知新能源汽車 收藏

          最近是比較火的一個名詞,其集中特性是將各類不同的芯片內(nèi)核進(jìn)行融合,這種集成式芯片設(shè)計可以充分整合芯片資源,進(jìn)一步提升數(shù)據(jù)計算效率。并且由于芯片在設(shè)計之初就打通了相互之間互通兼容性,其內(nèi)部功能劃分和交互統(tǒng)一構(gòu)建的邏輯優(yōu)化,相比單芯片功能方案而言,可以顯著降低彼此功能和交互的各種掣肘;并且很多設(shè)計原理圖上可以在芯片之間通過共享某些資源,融合型單芯片可以進(jìn)一步降低成本。另外,對于自動駕駛系統(tǒng)設(shè)計而言,(80%-90%)的輕量級場景+10%左右的挑戰(zhàn)場景+10%左右的極端場景需要提供高性能以行業(yè)領(lǐng)先的功率/性能比計算傳統(tǒng)和深度學(xué)習(xí)算法,這些完全可以通過超異構(gòu)的不同芯片核進(jìn)行覆蓋,充分降低復(fù)雜度和系統(tǒng)規(guī)模。

          本文引用地址:http://cafeforensic.com/article/202211/440809.htm

          是具有高水平的系統(tǒng)集成,以實現(xiàn)先進(jìn)汽車的可擴展性和更低成本的支持集中式 ECU。關(guān)鍵核心包括具有標(biāo)量和矢量內(nèi)核的下一代 DSP,專用深度學(xué)習(xí)的NN計算核和傳統(tǒng)算法加速器,用于通用計算的最新 ARM 和 GPU 處理器,集成的下一代生成成像子系統(tǒng) (ISP),視頻編解碼器,以太網(wǎng)集線器和隔離的 MCU 功能安全島,所有受保護汽車級安全和安保硬件加速器等。


          一般情況下,除了芯片選型外,設(shè)計時需還要滿足如下設(shè)計規(guī)則:

          • 片上存儲器應(yīng)設(shè)計 ECC 保護并互連

          • 內(nèi)置自檢 (BIST) 、故障注入CPU 和片上RAM

          • 對于引腳錯誤設(shè)置故障信號模式

          • 運行時安全診斷、電壓、溫度和時鐘監(jiān)控,窗口化看門狗定時器,用于存儲器的 CRC 引擎完整性檢查

          • 可用于應(yīng)用的功能安全需要滿足 ISO26262 要求的ASIL D

          • 啟用需要大量數(shù)據(jù)的系統(tǒng)帶寬、PCIe 集線器和千兆以太網(wǎng)交換機以及 CSI-2 端口以支持許多傳感器輸入的吞吐量。

          超異構(gòu)芯片內(nèi)核解析

          對于超異構(gòu)芯片而言,一般是基于異構(gòu)、可擴展的架構(gòu)開發(fā),多核異構(gòu)的優(yōu)點是各核充分發(fā)揮其處理效能的優(yōu)點,再加上專用硬件加速器也可處理特定任務(wù),從而在性能、功耗和成本上達(dá)到最佳平衡。

          當(dāng)前被各廠家廣泛使用比較成熟的超異構(gòu)芯片當(dāng)屬TI的Jacinto? 7 家族的處理器了,當(dāng)然這也只是初級超異構(gòu)芯片。不同廠家對其使用方式不完全一致,有將其完全作為SOC芯片使用的,充分使用了其上的AI算力,有些廠家在不太考慮其安全等級要求的情況下也可能將其當(dāng)做MCU來使用。

          本文將以TI的這塊TDA4的芯片為例進(jìn)行詳細(xì)介紹,說明相應(yīng)的內(nèi)部架構(gòu)。



          其中主要的幾個異構(gòu)模塊包括如下:

          1)處理器及加速器

          ①MCU域:

          相當(dāng)于異構(gòu)芯片域控的MCU芯片單元所起的作用,用于啟動底層硬件驅(qū)動、同步時間,啟動操作系統(tǒng)及頂層應(yīng)用軟件中控制執(zhí)行類部分邏輯運算。這里MCU域主要是指MCU Island中用于鎖步功能的Arm Cortex-R5F充當(dāng);TI這類超異構(gòu)芯片而言,CPU模塊(Cortex R5F)用于對SOC域核周邊對應(yīng)的模塊需要單獨進(jìn)行電壓和時鐘設(shè)計,同時,采用專用內(nèi)存和接口確保其能夠與更大的 SoC 隔離。

          ②SOC域:

          此類模塊通常使用高度定制化的NN加速器來實現(xiàn)。在環(huán)境感知模塊中都會涉及大量的典型神經(jīng)網(wǎng)絡(luò)(NN)的運算,過程中深度學(xué)習(xí)算力主要被消耗掉。包括常見的各類圖像、激光點云檢測算法,比如物體檢測、車道線檢測、紅綠燈識別等。

          以TI為例設(shè)計的異構(gòu)芯片中,微處理器系統(tǒng)端包括:Arm? Cortex?-A72和Arm? Cortex?-R5F、C71、C66幾大模塊。

          其中,在各家域控Tier1開發(fā)過程中一般會考慮在A72上運行HLOS(如Linux或QNX),其余核則運行RTOS,整個運行核均可支持AutoSar。使用A72獨立雙核集群配置有助于多操作系統(tǒng)應(yīng)用對軟件管理程序的最低需求。

          R5F子系統(tǒng)支持低級時序關(guān)鍵處理任務(wù),用于實時性要求比較高的硬件驅(qū)動。使用C71(MMA)進(jìn)行深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)NN和模型運算,所以說MMA主要計算單位主要是以Tops為計算單位。

          DSP處理器(C66)功能包含前端和后端視覺處理兩方面。前端視覺主要是NV12轉(zhuǎn)BGR、環(huán)視拼圖,后端進(jìn)行浮點運算用以充當(dāng)AI加速器的CNN后處理。

          如上這種結(jié)構(gòu)是一種典型的AI運算模塊(又稱為AI-DSA),適用于對AI運算性能要求高,算法相對穩(wěn)定的情況。由于AI-DSA模塊在整個智能駕駛場景運算上使用更為普遍,性能更加敏感,對于云端、邊緣計算及自動駕駛幾段場景的工程化落地更加具有可使用性。

          ③GPU域:

          用于圖像處理加速單元,包含大量浮點運算和實現(xiàn)動態(tài) 3D 渲染以增強觀看效果應(yīng)用程序。同時GPU域也可以認(rèn)為是高效率的AI運算平臺,對于異形場景CornerCase的適配計算效率是最高的。

          如上如果兼顧執(zhí)行效率和執(zhí)行性能上,可以做自適應(yīng)的AI算力分配,普通場景的AI運算可以采用常規(guī)CPU+DSA方式進(jìn)行,而特殊邊緣場景可以采用GPU加速核方式進(jìn)行高效能計算。

          ④其他處理模塊:

          VENC/ VDEC用于視頻編解碼單元,通常高性能的超異構(gòu)芯片需要適配H.265/HEVC這類高清視頻編碼器。對于下一代自動駕駛系統(tǒng)來說可以提供更高清的視頻編碼能力,實現(xiàn)高清視頻壓縮傳輸。

          VPAC(Vision Processing Accelerator)用于對圖像進(jìn)行去畸變、下裁剪(Crop)、重整型(Resides)。其目的是確保輸入給神經(jīng)網(wǎng)絡(luò)單元進(jìn)行處理的圖像已經(jīng)被初步處理過了,這樣可以提升圖像網(wǎng)絡(luò)處理速度和性能。

          如下圖是以簡單的圖像傳輸和處理可以講清楚在這一類超異構(gòu)芯片上如何進(jìn)行數(shù)據(jù)鏈路的傳輸和處理。



          2)存儲單元

          下圖是大多數(shù)開發(fā)板所有的一個存儲單元框架,接下來以此圖為基礎(chǔ)描述ARM芯片的上電啟動流程。



          ROM:芯片內(nèi)部固化存儲代碼的存儲器,其中固化在芯片iROM中的啟動代碼為BL0。

          RAM:在ROM啟動運行的時候,只有RAM是可用的,因此必須要自動從外擴存儲器(nand/sd/usb)中拷貝的uboot.bin二進(jìn)制文件的頭最大16K(一般是4K或8K)代碼(BL1)。

          SDROM:芯片外部的運行內(nèi)存,由運行在RAM上的BL1進(jìn)行初始化,用于運行BL2與應(yīng)用程序。

          Nand Flash :芯片外部非易失閃存技術(shù)的存儲器,沒有地址總線,不能直接運行代碼,需要將代碼加載到RAM上面才能運行。

          就舉例的TDA4芯片而言,BL1 和 BL2 沒有被集成(Jacinto7集成 了 DMSC&MCU R5 取代了 BL1 和BL2 的功能), BL31 執(zhí)行 ATF,BL32 執(zhí)行 OP-TEE,BL33 是SPL/U-boot。

          相應(yīng)的存儲單元涉及Main域和MCU域的管理,且兩域分別單獨用于片上共享存儲單元,他們分別通過多核共享存儲控制器MSMC實現(xiàn)相應(yīng)的存儲管理。TDA4內(nèi)部還存在LPDDR4 w/ECC模塊,即使未使用 DDR 接口,其VDDS_DDR均需要使用 LPDDR4 電壓范圍進(jìn)行供電。

          超異構(gòu)芯片的啟動說明

          對于超異構(gòu)芯片而言,由于采用了多核異構(gòu)的架構(gòu),因系統(tǒng)需求的差異,其相應(yīng)的啟動流程也有一定的差異性,并且由于集成多核制會導(dǎo)致其啟動流程比單核和多核同構(gòu)的處理器會復(fù)雜些。

          Bootloader 是在操作系統(tǒng)運行之前執(zhí)行的一段小程序。通過這段小程序,我們可以初始化硬件設(shè)備、建立內(nèi)存空間的映射表,從而建立適當(dāng)?shù)南到y(tǒng)軟硬件環(huán)境,為最終調(diào)用操作系統(tǒng)內(nèi)核做好準(zhǔn)備。兩種bootloader 可以選擇 SPL (Secondary Program Loader)或 SBL(Secondary bootloader)兩種驅(qū)動加載。

          SPL表示程序加載,分為兩級加載程序過程。第一級Bootloader是指從ROM 里面的程序中根據(jù)啟動方式的選擇引導(dǎo)并加載 SPL。第二級Bootloader是指對硬件的初始化過程,引導(dǎo)下一級的 bootloader 核或加載并運行應(yīng)用程序。

          SBL表示驅(qū)動加載??梢詫崿F(xiàn)對外圍設(shè)備進(jìn)行配置,比如 DDR,可以加載并啟動其它核。為了滿足快速啟動 MCU 執(zhí)行相關(guān)的應(yīng)用,MCU可以先啟動,然后使用BOOT APP 進(jìn)而引導(dǎo)其它應(yīng)用程序。在 SBL 啟動流程中,SBL 可以直接加載 Linux內(nèi)核和 DTB。

          如下圖顯示了完整的異構(gòu)芯片TDA4的程序加載過程。



          對于如上超異構(gòu)芯片而言,用的最廣的要數(shù)ARM Cortex-A72核了,因為其在整數(shù)、浮點、內(nèi)存等性能皆有不同程度的提升,雖然還缺少一些細(xì)節(jié),不過IPC性能上相對于之前的產(chǎn)品提升了16-30%左右。如下圖表示了芯片A72的具體啟動原理。



          整個代碼啟動運行過程包括首先把BL1加載到RAM中運行,然后由BL1對SDRAM進(jìn)行初始化。最后,代碼重定向完成后在內(nèi)存中執(zhí)行的uboot的完整代碼BL2。

          從應(yīng)用層面的系統(tǒng)需求來講,不同的應(yīng)用可以部署在不同的核,不同核的啟動時序影響著系統(tǒng)需求是否能實現(xiàn)??傮w來講,針對系統(tǒng)的應(yīng)用需求,可能有如下的額外要求:提前Can信息響應(yīng)、提前啟動畫面、提前啟動攝像頭、 提前分配Linux使用空間、提前顯示視頻動畫等。我們應(yīng)設(shè)計合理的 Soc 啟動流程來滿足系統(tǒng)的需求。

          總結(jié)

          超異構(gòu)芯片Super SOC作為ADAS系統(tǒng)普遍應(yīng)用的處理器,在面向 ADAS 和自動駕駛車輛 (AV) 應(yīng)用過程中起著舉足輕重的作用。智駕領(lǐng)域中,SOC需要深度學(xué)習(xí)算法中會比傳統(tǒng)芯片提供提供高性能計算能力,同時可以有效優(yōu)化其功耗和系統(tǒng)集成度。最終實現(xiàn)支持集中式ECU 或多種傳感器的高級汽車平臺實現(xiàn)可擴展性和更低的成本。



          關(guān)鍵詞: 超異構(gòu)芯片

          評論


          技術(shù)專區(qū)

          關(guān)閉