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