SPRADD8 November 2024 F29H850TU , F29H859TU-Q1
Figure 3-9 shows C29 performance compared to the C28 CPU (in cycles) on select benchmarks that were received directly from customers (denoted A through E). These represent actual customer representative code varying in functionality from Math to Motor Control to Interpolation. C_Motor represents a dual motor benchmark, where two motor instances are run. The parallel C29 architecture is used in this benchmark, resulting in more than five times better performance (in cycles) than the C28 CPU.
Parallel architecture is not used effectively in the D_Math benchmark, which contains only volatile variables. With volatile variables, the compiler performs a load from or a store to memory every time a variable is used. This removes the ability to store the variable in a register and minimize memory accesses until absolutely necessary. Therefore, carefully consider using volatile variables in code.