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