中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > AURIX? TC4x微控制器的并行處理單元(PPU)簡介

        AURIX? TC4x微控制器的并行處理單元(PPU)簡介

        作者: 時(shí)間:2025-04-05 來源:EEPW 收藏


        本文引用地址:http://www.antipu.com.cn/article/202504/469048.htm

        英家MCU之?

        )是集成在? 微控制器系列中的協(xié)處理器。旨在卸載主CPU的信號處理、濾波和其他數(shù)學(xué)運(yùn)算,從而為要求嚴(yán)格的應(yīng)用程序(例如實(shí)時(shí)控制、傳感器信號處理和軌跡規(guī)劃等)提供高計(jì)算能力和縮短執(zhí)行時(shí)間,并且能支持實(shí)現(xiàn)簡單的神經(jīng)網(wǎng)絡(luò)算法。

        本文將簡要介紹的內(nèi)部結(jié)構(gòu)、功能和應(yīng)用領(lǐng)域。

        1.PPU內(nèi)部結(jié)構(gòu)

        1743809387586593.png

        圖1 微控制器示意框圖

        圖1是 微控制器示意框圖,圖中右上角是PPU的簡化結(jié)構(gòu),由標(biāo)量核(scalar core),向量核(vector core/SIMD core),一級緩存,及其它系統(tǒng)資源組成。

        01

        標(biāo)量核(Scalar Core):標(biāo)量核用于執(zhí)行大量的標(biāo)量運(yùn)算,以及任務(wù)調(diào)度。標(biāo)量核支持多種算術(shù)運(yùn)算和邏輯運(yùn)算,還支持硬件浮點(diǎn)運(yùn)算,從而實(shí)現(xiàn)更高的計(jì)算效率。另外,標(biāo)量核提供豐富的硬件功能安全機(jī)制,可以輔助實(shí)現(xiàn)高功能安全等級的任務(wù)。

        02

        向量核(Vector core/SIMD Core):向量核是 PPU 的另一個(gè)重要功能模塊,專門用于執(zhí)行向量運(yùn)算。向量核支持多種向量算術(shù)運(yùn)算、邏輯運(yùn)算和專用信號處理,支持整型數(shù)和浮點(diǎn)運(yùn)算,從而實(shí)現(xiàn)更高的計(jì)算效率。向量核還支持多級流水線和 SIMD(single instruction multiple data,單指令多數(shù)據(jù))指令,對不同數(shù)據(jù)同時(shí)執(zhí)行同樣的操作,通過并行執(zhí)行多個(gè)向量運(yùn)算來提高效率。

        03

        一級緩存:一級緩存是PPU用于保存計(jì)算輸入和輸出數(shù)據(jù)的存儲空間。由于結(jié)構(gòu)上和運(yùn)算核緊密耦合,該緩存可以在PPU 的執(zhí)行過程中對狀態(tài)進(jìn)行快速讀寫,并且有EDC/ECC保護(hù),從而實(shí)現(xiàn)更高的執(zhí)行效率和更高的可靠性。

        04

        其它系統(tǒng)資源:包括用于快速數(shù)據(jù)搬運(yùn)的DMA,共享內(nèi)存區(qū)等等。

        2.SIMD和VLIW指令

        2.1 SIMD(Single Instruction Multiple Data)指令

        SIMD(Single Instruction Multiple Data)指令是一種并行指令,可以同時(shí)對多個(gè)不同數(shù)據(jù)進(jìn)行相同的操作。這種指令可以大幅提高計(jì)算效率,特別是在執(zhí)行向量運(yùn)算時(shí)效果更為明顯。

        PPU 的 SIMD 指令集包括多種運(yùn)算指令,如數(shù)學(xué)運(yùn)算、邏輯運(yùn)算等。這些指令都是并行指令,可以同時(shí)對多個(gè)數(shù)據(jù)進(jìn)行操作,從而大幅提高計(jì)算效率。例如,PPU 的 SIMD 加法指令可以一次性對多個(gè)數(shù)據(jù)進(jìn)行加法運(yùn)算,從而實(shí)現(xiàn)更高的計(jì)算速度。

        下面是一個(gè)示例,假設(shè)有兩個(gè)向量 A 和 B,每個(gè)向量包含 16 個(gè) 16 位整數(shù) ,要計(jì)算 A 和 B 的和。如果使用不支持SIMD指令的標(biāo)量核,代碼示例如下,需要進(jìn)行16次循環(huán)運(yùn)算,將不同的A[i]、B[i] 數(shù)據(jù)依次順序進(jìn)行加法操作,相當(dāng)費(fèi)時(shí)。

        1743809419311185.png

        而如果使用支持SIMD指令的 PPU進(jìn)行運(yùn)算,則可以一次完成,假設(shè)PPU位寬是256bit(=16*16bit):

        1743809451335397.png

        由此可見,支持SIMD指令的PPU在進(jìn)行向量運(yùn)算時(shí),通過降低同樣運(yùn)算的處理次數(shù),從而有效節(jié)省運(yùn)算時(shí)間,提高處理效率。

        2.2 VLIW(Very Long Instruction Word)指令

        VLIW(Very Long Instruction Word)是一種處理器的并行架構(gòu),允許在單個(gè)時(shí)鐘周期內(nèi),由處理器的不同部件同時(shí)執(zhí)行多個(gè)操作。

        例如,如果要執(zhí)行兩個(gè)復(fù)向量A和B的乘法 ,結(jié)果存儲在向量C中。

        image.png

        C語言實(shí)現(xiàn)如下:

        image.png

        如果在標(biāo)量核上運(yùn)算,會順序執(zhí)行下列代碼,并循環(huán)多次:

        image.png

        PPU內(nèi)的向量核有三個(gè)處理單元,包括兩個(gè)浮點(diǎn)運(yùn)算器,和一個(gè)讀取/存儲部件用于將RAM中的數(shù)據(jù)搬運(yùn)到核內(nèi)寄存器。這三個(gè)部件可以同時(shí)運(yùn)行,形成指令層面的并行機(jī)制,從而實(shí)現(xiàn)VLIW指令。

        上列代碼由PPU處理,可以將第4和第5行的乘法運(yùn)算分別分配給兩個(gè)浮點(diǎn)運(yùn)算器同時(shí)處理,如下紅框所示。而在下個(gè)指令周期內(nèi),第7,8,9行的指令可以分配給三個(gè)部件同時(shí)處理,如下藍(lán)框所示。從而將原先需要12條指令周期運(yùn)行的代碼縮短到9條(12-1-2=9)指令周期,提高執(zhí)行效率。

        image.png

        3.應(yīng)用場景

        PPU適用于不同應(yīng)用場景,圖2 列出了三種較常見的算法。第一種是將時(shí)域信號轉(zhuǎn)變?yōu)轭l域信號,以提取頻率信息的快速傅里葉變換(FFT)。FFT 在數(shù)字信號處理中得到了廣泛的應(yīng)用,如音頻信號處理、毫米波雷達(dá)信號處理等。

        1743809330291964.png

        圖2 PPU實(shí)現(xiàn)的算法

        第二種是多層感知算法,它是一種基于人工神經(jīng)網(wǎng)絡(luò)的機(jī)器學(xué)習(xí)算法,可以用于分類、回歸和模式識別等應(yīng)用。MLP 由多個(gè)神經(jīng)元組成,每個(gè)神經(jīng)元都包含多個(gè)輸入和一個(gè)輸出。MLP 通過學(xué)習(xí)輸入和輸出之間的映射關(guān)系,從而實(shí)現(xiàn)對新數(shù)據(jù)的預(yù)測和分類。MLP 在機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘中得到了廣泛的應(yīng)用。除此之外,MLP 還可以用于控制和優(yōu)化問題。例如,MLP 可以用于控制系統(tǒng)和過程控制,如傳感器信號處理分類、輔助駕駛、自動駕駛等。

        第三種是卡爾曼濾波,該算法是一種基于狀態(tài)空間模型的濾波器,可以用于估計(jì)未知變量的狀態(tài)和參數(shù)。卡爾曼濾波通過利用系統(tǒng)的動態(tài)模型和傳感器的觀測值,遞歸地對狀態(tài)進(jìn)行估計(jì)和預(yù)測,從而實(shí)現(xiàn)對系統(tǒng)的狀態(tài)進(jìn)行優(yōu)化和控制??柭鼮V波在自動控制和信號處理中得到了廣泛的應(yīng)用,例如,卡爾曼濾波可以用于目標(biāo)跟蹤、路徑規(guī)劃算法等。

        4.開發(fā)工具

        新思科技(Synopsys)為PPU提供了豐富的開發(fā)工具資源,包括Metaware編譯器及軟件組件,下列表格列出了相關(guān)工具組件:

        表1 新思科技提供的PPU工具組件

        軟件組件

        描述

        MetaWare開發(fā)工具包

        該工具包包含支持內(nèi)核和應(yīng)用程序開發(fā)編程的C/C++和OpenCL C編譯器。它還包括一個(gè)調(diào)試器和nSIM PPU模擬器,用于調(diào)試、分析和優(yōu)化內(nèi)核和應(yīng)用程序。

        Simulink?基于模型設(shè)計(jì)的支持

        從MATLAB模型自動生成優(yōu)化代碼,以便在PPU上執(zhí)行。

        DSP和數(shù)學(xué)庫

        這些是為在PPU上執(zhí)行而優(yōu)化的庫,包括矢量DSP和矢量線性代數(shù)庫。

        MetaWare神經(jīng)網(wǎng)絡(luò)SDK

        該SDK包括一個(gè)神經(jīng)網(wǎng)絡(luò)編譯器,用于編譯和運(yùn)行為PPU優(yōu)化的人工智能模型。

        AUTOSAR復(fù)雜設(shè)備驅(qū)動程序(CDD)和底層軟件驅(qū)動(LLD)

        CDD為AUTOSAR應(yīng)用程序的軟件組件(SWC)提供PPU服務(wù)。

        LLD是一個(gè)底層軟件驅(qū)動,用于處理TriCore和PPU之間的通信。

        PPU分配器

        這是用于在TriCore處理器核心之間進(jìn)行通信的PPU的靜態(tài)庫。

        上述PPU開發(fā)工具鏈,除了新思科技可提供外,Hightec 在提供TC4x TriCore? CPU編譯器的同時(shí),也集成了Metaware編譯工具,及相關(guān)軟件組件,形成完整的TC4x開發(fā)環(huán)境工具鏈。該工具鏈符合ISO26262 ASIL D,能幫助客戶實(shí)現(xiàn)快速、可靠、高功能安全等級的基于TC4x微處理器的汽車軟件開發(fā)。

        此外,Tasking也開發(fā)了PPU的編譯器,并集成在新的SmartCode開發(fā)環(huán)境中。

        5.總結(jié)

        總的來說,PPU是一個(gè)性能強(qiáng)大的處理器,內(nèi)部包含標(biāo)量核、向量核、一級緩存和其它系統(tǒng)資源 等,可以實(shí)現(xiàn)高速數(shù)字濾波、向量矩陣運(yùn)算、浮點(diǎn)運(yùn)算、簡單的神經(jīng)網(wǎng)絡(luò)等,為要求嚴(yán)格的實(shí)時(shí)計(jì)算應(yīng)用提供了顯著的性能優(yōu)勢。PPU為Tricore 主核卸載了復(fù)雜的信號處理和數(shù)學(xué)運(yùn)算,使得執(zhí)行時(shí)間更快,而其高可配置性和專用硬件資源使其非常適用于各種應(yīng)用程序。使用戶有更多選擇余地,使用不同核構(gòu)架實(shí)施不同性質(zhì)的運(yùn)算。



        評論


        相關(guān)推薦

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

        關(guān)閉