ZHCAEQ3 November 2024 F29H850TU , F29H859TU-Q1
C29 ISA 針對特定性能特性設計了一系列指令,旨在優(yōu)化以下領域的性能:
MINMAXF:MINMAXF 指令將 M 寄存器中的浮點值限定為其他兩個 M 寄存器中指定的下限和上限。
QUADF:QUADF 指令設置 TDM 寄存器(CPU 狀態(tài)寄存器)的標志位,將二維矢量系統(tǒng)分為 16 個段。通過使用輸入坐標值的縮放值,TDM 標志位以六段空間矢量生成方法標識該段。這種方法也可擴展到其他空間矢量變體。
XC:XC 條件執(zhí)行指令檢查 DSTS 寄存器中的狀態(tài)標志(如 A.Z、A.N、A.ZV 和 A.Z),并根據(jù)選定指令判斷是否執(zhí)行指令?;跇酥局担唤M指令數(shù)據(jù)包要么執(zhí)行指令,要么用作 NOP(無操作)跳過。
SELECT:SELECT 指令根據(jù)測試條件,在兩個源寄存器(例如 A、D 或 M 寄存器)中進行選擇,然后將其內容復制到相同類型的目標寄存器。
CPU 支持“延遲分支”概念,可在實現(xiàn)不連續(xù)性的同時保持零開銷,詳見下文。
支持使用測試標志(如 TA.MAP 和 TDM.MAP)、基于 LUT 函數(shù)的條件分支指令。
QDECB:QDECB 多路條件分支指令檢查 A14 寄存器的內容。基于 A14 寄存器的值,程序執(zhí)行要么分支到四個指定目標中的一個,要么繼續(xù)執(zhí)行下一個指令數(shù)據(jù)包,并對 A14 寄存器值進行遞減。
DDECB:DDECB 多路條件分支指令檢查 A14 寄存器的內容?;?A14 寄存器的值,程序執(zhí)行要么分支到兩個指定目標中的一個,要么繼續(xù)執(zhí)行下一個指令數(shù)據(jù)包,并對 A14 寄存器值進行遞減。
C29 高級編譯器根據(jù)需要自動選擇合適的指令。在某些情況下,例如使用 QUADF 指令時,編譯器可通過 C 代碼中的內置函數(shù)調用相應指令,從而獲得優(yōu)化性能。
指令集用戶指南列出了每條指令對應的內置函數(shù)(如有)。