AN2094 Freescale Semiconductor / Motorola, AN2094 Datasheet - Page 21

no-image

AN2094

Manufacturer Part Number
AN2094
Description
ITU-T G.729 Implementation on StarCore SC140
Manufacturer
Freescale Semiconductor / Motorola
Datasheet
The X axis represents the manpower used to achieve each milestone, and the Y axis represents the number of
MCPS for each milestone. The project-level optimizations, especially inlining small DPF functions, proved to be
beneficial for both execution time and code size. The vocoder time reduction due to this modification was more
than 4.6 MCPS. The code size also decreased slightly, primarily due to the removal of actions performed before
and after function calls which were no longer required.
The function-level C optimizations reduced execution time by an additional 8.1 MCPS. Further improvement from
these optimizations is possible with compiler improvements and increased SC140 programming experience.
Algorithmic changes reduced execution time by another 3.8 MCPS.
The phases after project-level optimization included some redundant work because time-consuming functions were
optimized both before and after algorithmic changes. Given the substantial performance improvement resulting
from algorithmic changes, we recommend performing them in the first stages of the project.
Although the assembly implementation is substantially faster (4.3 MCPS less) than the best C-only version, we
found the C version to be quite satisfactory. Compiler improvements help reduce the gap between the best C
version and the assembly implementation, considering that the assembly version cannot be improved significantly.
For an SC140 processor running at 300 MHz (300 MCPS), the number of channels that can be processed
simultaneously is (300 ÷ 8.44) = 35 channels. The C version only processes 23 channels, but with a significant
reduction in development time.
The fact that the final execution time of 8.44 MCPS is substantially better than our original target of 10.7 MCPS
suggests that the development effort can be reduced. Strategies for reducing the implementation effort are
discussed in Section 5, Implementation Strategies, on page 30.
Freescale Semiconductor
30
25
20
15
10
5
0
0
Project-level opt.
(24.7 MCPS)
ITU-T G.729 Implementation on the StarCore™ SC140/SC1400 Cores, Rev. 1
Our target
Ported version
(29.29 MCPS)
2
4
Figure 4. MCPS Versus Effort
Function-level C opt.
Effort (man-months)
6
(16.6 MCPS)
8
Final C (w ith alg.ch.)
(12.8 MCPS)
10
12
im plem entation
(8.44 MCPS)
14
Mixed
16
Results
21

Related parts for AN2094