ZHCAEQ3 November   2024 F29H850TU , F29H859TU-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 1实时控制简介
  5. 2C29 CPU 及其主要特性
    1. 2.1 并行架构和编译器优化
  6. 3C29 性能基准测试
    1. 3.1 使用 ACI 电机控制的信号链基准测试
    2. 3.2 实时控制和 DSP 性能
      1. 3.2.1 影响结果的示例和因素
        1. 3.2.1.1 饱和(或限制)示例
        2. 3.2.1.2 死区示例
        3. 3.2.1.3 空间矢量生成 (SVGEN) 示例
        4. 3.2.1.4 软件流水线
      2. 3.2.2 客户控制和数学运算基准测试
    3. 3.3 通用处理 (GPP) 性能
      1. 3.3.1 影响结果的示例和因素
        1. 3.3.1.1 不连续性管理
        2. 3.3.1.2 Switch() 示例
    4. 3.4 基于模型的设计基准测试
    5. 3.5 应用基准测试
      1. 3.5.1 单相 7kW OBC 说明
      2. 3.5.2 基于 Vienna 整流器的三相功率因数校正
      3. 3.5.3 单相位逆变器
      4. 3.5.4 机器学习
    6. 3.6 闪存存储器效率
    7. 3.7 代码尺寸效率
  7. 4总结
  8. 5参考资料

并行架构和编译器优化

C29 ISA 针对特定性能特性设计了一系列指令,旨在优化以下领域的性能:

实时控制和通用处理

MINMAXF:MINMAXF 指令将 M 寄存器中的浮点值限定为其他两个 M 寄存器中指定的下限和上限。

QUADF:QUADF 指令设置 TDM 寄存器(CPU 状态寄存器)的标志位,将二维矢量系统分为 16 个段。通过使用输入坐标值的缩放值,TDM 标志位以六段空间矢量生成方法标识该段。这种方法也可扩展到其他空间矢量变体。

更大限度地减少决策制定代码的不连续性

XC:XC 条件执行指令检查 DSTS 寄存器中的状态标志(如 A.Z、A.N、A.ZV 和 A.Z),并根据选定指令判断是否执行指令。基于标志值,一组指令数据包要么执行指令,要么用作 NOP(无操作)跳过。

SELECT:SELECT 指令根据测试条件,在两个源寄存器(例如 A、D 或 M 寄存器)中进行选择,然后将其内容复制到相同类型的目标寄存器。

特殊分支

CPU 支持“延迟分支”概念,可在实现不连续性的同时保持零开销,详见下文

支持使用测试标志(如 TA.MAP 和 TDM.MAP)、基于 LUT 函数的条件分支指令。

QDECB:QDECB 多路条件分支指令检查 A14 寄存器的内容。基于 A14 寄存器的值,程序执行要么分支到四个指定目标中的一个,要么继续执行下一个指令数据包,并对 A14 寄存器值进行递减。

DDECB:DDECB 多路条件分支指令检查 A14 寄存器的内容。基于 A14 寄存器的值,程序执行要么分支到两个指定目标中的一个,要么继续执行下一个指令数据包,并对 A14 寄存器值进行递减。

C29 高级编译器根据需要自动选择合适的指令。在某些情况下,例如使用 QUADF 指令时,编译器可通过 C 代码中的内置函数调用相应指令,从而获得优化性能。

注意:

指令集用户指南列出了每条指令对应的内置函数(如有)。