AN2261 Freescale Semiconductor / Motorola, AN2261 Datasheet - Page 10

no-image

AN2261

Manufacturer Part Number
AN2261
Description
ITU-T G.729AB Implementation on the StarCore SC140 Core
Manufacturer
Freescale Semiconductor / Motorola
Datasheet
Results
3
10
Results
1
(C and assembly project implementation)
85 functions compiled for speed
17 assembly functions
(C and assembly project implementation)
19 functions compiled for speed
66 functions compiled for size
17 assembly functions
(C-only project implementation)
102 functions compiled for speed
(C-only project implementation)
36 functions compiled for speed
66 functions compiled for size
N = number of channels
Table 11. Performance Results of the G.729AB Optimized Implementation for the SC140 Core
Type of Optimizations
Table 11 summarizes the performance results of the ITU-T G.729AB optimized implementation on the
StarCore SC140 core. A profiling session after a small number of functions from Annex B were
optimized demonstrated that the performance targets are more attainable under the following conditions:
• All C optimized functions are compiled for speed ( -O3 compiler flag) and the rest for size ( -Os -O3
• All C functions are compiled for speed, thus obtaining a higher speed with only a small increase in
As Table 11 shows, the values for the C-only implementations differ significantly from the
implementations using assembly versions of the functions. The assembly versions of the functions from
the ITU-T G.729A optimized implementation provided a solid basis for performance increases. Figure 1
shows the effort (in man-months) to meet the project targets.
Table 10. Performance Results for New_ml_search1() and New_ml_search2()
New_ml_search_1()
New_ml_search_2()
compiler flag), thus obtaining smaller code with only a small decrease in the speed.
code size.
Function Name
Freescale Semiconductor, Inc.
For More Information On This Product,
Go to: www.freescale.com
ITU-T Reference Code
Optimized Code
ITU-T Reference Code
Optimized Code
(MCPS)
C Version
Speed
4.89
5.12
6.62
6.85
Program
40.82
37.24
41.44
(KB)
45
ROM
Number of
Cycles
3063
4040
2800
980
Tables
(KB)
5.6
5.6
5.6
5.6
Channel Data
Code size
(Bytes)
2544 x N
2544 x N
2544 x N
2544 x N
(Bytes)
1126
1062
666
748
RAM (KB)
1
(Bytes)
Stack
2824
2824
2824
2816

Related parts for AN2261