ZHCAEQ3 November 2024 F29H850TU , F29H859TU-Q1
圖 2-1 所示為 C29 CPU 的方框圖、其主要特性和優(yōu)勢(shì)。
VLIW CPU:C29 基于超長(zhǎng)指令字 (VLIW) 架構(gòu)設(shè)計(jì)。支持 16 位、32 位和 48 位的可變長(zhǎng)度指令。指令數(shù)據(jù)包大小從 16 位到 128 位,可實(shí)現(xiàn)更高的代碼密度,同時(shí)在單個(gè) CPU 周期內(nèi)最多執(zhí)行八條 16 位指令。
CPU 內(nèi)存總線:128 位寬程序總線,可以提取一個(gè) 128 位寬指令數(shù)據(jù)包以供 CPU 執(zhí)行。兩條 64 位讀取總線,支持并行讀取兩個(gè) 64 位數(shù)據(jù),同時(shí)一條 64 位寫(xiě)入總線可在單個(gè)周期內(nèi)寫(xiě)入 64 位數(shù)據(jù)到內(nèi)存。
字節(jié)尋址能力和數(shù)據(jù)類(lèi)型:C29 支持字節(jié)尋址,并且數(shù)據(jù)類(lèi)型與其他常見(jiàn)的 CPU 架構(gòu)(如 ARM)完全兼容。
CPU 寄存器:提供三組寄存器:Ax、Dx 和 Mx。Ax 寄存器包括 16 個(gè) 32 位寄存器 (A0-A15) 或 8 個(gè) 64 位寄存器 (XA0-XA14),主要用于地址生成,并在流水線早期階段執(zhí)行某些整數(shù)運(yùn)算以提升性能。DX 寄存器包括 16 個(gè) 32 位寄存器 (D0-D15) 或 8 個(gè) 64 位寄存器 (XD0-XD14),用于整數(shù)定點(diǎn)運(yùn)算。MX 寄存器包括 32 個(gè) 32 位寄存器 (M0-M31) 或 16 個(gè) 64 位寄存器 (XM0-XM30),用于浮點(diǎn)運(yùn)算。
功能單元:總共有 24 個(gè)功能單元,分別與 Ax、Dx 和 Mx 寄存器組及特殊功能寄存器相關(guān)聯(lián)。每個(gè)功能單元支持一組特定指令,其中某些功能單元存在多個(gè)實(shí)例。例如,AX 寄存器文件配有 4 個(gè)比較單元,每個(gè)周期可以評(píng)估兩條 switch 語(yǔ)句的情況,從而提高 switch 語(yǔ)句的執(zhí)行效率。MX 寄存器組配有 2 個(gè)浮點(diǎn)乘法單元和 3 個(gè)浮點(diǎn)加法/減法單元,能夠每?jī)芍芷趫?zhí)行一次 FFT 蝶形變換運(yùn)算。
三角函數(shù)加速器 (TMU):支持三角運(yùn)算,擴(kuò)展了對(duì) 64 位雙精度浮點(diǎn)運(yùn)算的支持,同時(shí)兼容 32 位單精度浮點(diǎn)運(yùn)算。
中斷:C29 支持常規(guī)中斷 (INT) 和優(yōu)化型實(shí)時(shí)中斷 (RTINT)。RTINT 使用專(zhuān)用的硬件中斷堆棧,在 RTINT 發(fā)生時(shí),CPU 上下文會(huì)自動(dòng)保存到此堆棧中。這種方式比基于軟件的上下文保存機(jī)制要快。除了速度更快之外,周期數(shù)也是固定的,因此可以提高確定性。而基于軟件的上下文保存機(jī)制可能需要可變數(shù)量的周期數(shù)。支持硬件中斷優(yōu)先級(jí)排序,減少了通過(guò)軟件確定優(yōu)先級(jí)的開(kāi)銷(xiāo)。
功能安全:如需實(shí)現(xiàn)較高的 ASIL 等級(jí)要求,需要在單個(gè)或多個(gè) CPU 內(nèi)運(yùn)行的多線程代碼之間實(shí)現(xiàn)隔離。功能安全和信息安全單元 (SSU) 提供了這種隔離能力。SSU 雖然形式簡(jiǎn)單,但是允許用戶定義多個(gè)關(guān)聯(lián)的存儲(chǔ)器區(qū)域(稱(chēng)為訪問(wèn)保護(hù)區(qū)域 (APR)),這些區(qū)域可以通過(guò)一個(gè)稱(chēng)為 LINK 的概念關(guān)聯(lián)在一起,形成一個(gè)隔離的線程。一個(gè)線程由代碼、數(shù)據(jù)、堆棧和外設(shè)組成。特定代碼 LINK 可以通過(guò)讀取、寫(xiě)入或兩者兼具的權(quán)限訪問(wèn)特定數(shù)據(jù) LINK。相對(duì)于傳統(tǒng) MPU,SSU 的優(yōu)勢(shì)權(quán)限是基于正在執(zhí)行的代碼強(qiáng)制實(shí)施的。因此,不需要重新編程 MPU。每個(gè)線程都有一個(gè)硬件堆棧,堆棧在 CPU 中自動(dòng)切換,實(shí)現(xiàn)完全隔離。在操作系統(tǒng)(例如 AUTOSAR)中,這種高效切換使實(shí)時(shí) ISR 可作為 CAT1 中斷獨(dú)立運(yùn)行,不受操作系統(tǒng)干擾,并與 AUTOSAR 應(yīng)用程序完全隔離。因此,單個(gè) C29 CPU 內(nèi)核可以運(yùn)行操作系統(tǒng)和控制任務(wù),而不會(huì)影響控制性能。
信息安全:當(dāng)代碼執(zhí)行在不同線程的堆棧之間切換時(shí),強(qiáng)制執(zhí)行入口點(diǎn)和出口點(diǎn)。入口點(diǎn)和出口點(diǎn)指預(yù)先定義的、一個(gè)線程調(diào)用或分支到另一個(gè)線程,或從另一個(gè)線程返回的點(diǎn)。如果調(diào)用、分支到其他地址,或者從其他地址返回,則會(huì)觸發(fā)異常,從而避免安全攻擊。SSU 還支持通過(guò)稱(chēng)為 ZONE 的機(jī)制進(jìn)行固件更新和調(diào)試。每個(gè) ZONE 都具有獨(dú)立的密碼和調(diào)試設(shè)置。ZONE 支持安全的多方寫(xiě)作開(kāi)發(fā),每個(gè)開(kāi)發(fā)方都可以獨(dú)立定義密碼,阻止其他方查看代碼,同時(shí)控制代碼的調(diào)試權(quán)限。
特性 | 備注 |
---|---|
易于使用 |
|
改進(jìn)并行性 |
|
提高總線吞吐量 |
|
代碼效率 |
|
ASIL-D 安全能力 |
|
多區(qū)域安全 |
|
增強(qiáng)調(diào)試和跟蹤功能 |
|