DSPRelated.com
Forums

Calculating MIPS

Started by jaganathan gnanavelu February 4, 2005

Hi,
I am Optimizing the G.729 codec using TMS320C5402.
In profiling i got 44,450,xxx clock count to execute a single frame.That was without optimizing the code. Later i used builtin library functions(intrindefs.h) and reduced the clock count to 11,597,xxx clock counts.
My input speech signal is 8KHz, 80 sample is taking at 10ms.

From above specs how do we calculate the MIPS
How many MIPS is best for G729 codec. Regards
Jagan G


Jaganathan-

> I am Optimizing the G.729 codec using TMS320C5402.
> In profiling i got 44,450,xxx clock count to execute a single frame.That was without optimizing the code. Later i used builtin library functions(intrindefs.h) and reduced the clock count to 11,597,xxx clock counts.
> My input speech signal is 8KHz, 80 sample is taking at 10ms.
>
> From above specs how do we calculate the MIPS

You did not give the speed of your C5402 device. But assuming it is 80 MHz, then:

-C5402 is generally considered "single instruction per cycle"
device, so you have 80 MIPS to work with (12.5 nsec per
instruction)

-your G.729 frame takes 11.6 mil cycles, or 145 msec per frame
(i.e. 1 cycle == 12.5 nsec)

That's a lot, since you only have 10 msec per frame if you want to be in real-time.

But also your profiling may not be accurate. Settings such as memory code/data
organization and wait-states can make a big difference. Make sure your mem is set
for zero wait-state.

> How many MIPS is best for G729 codec.

For G.729 encode, less than 40 MIPS is a decent target.

-Jeff