I have been working on a ARM cortex A8 board on MP3 decoder. 

While doing this I have a requirement saying the MP3 decoder solution I am doing should consume 50 mW. This generated few questions in my mind when I thought about it: 

1. I recall that there is some relation between the Core Voltage applied (V), the clock frequency (f) of a processor and power consumed (P) as something like, P is directly proportional to the voltage and frequency squared. 
But is the exact relation. Given operating clock Frequency, voltage of a processor, how can we calculate power consumed by it?
2. Now if I get the power consumed from step (1) at some clock frequency, and I am told that the decoder solution I am giving, can consume only 50 mW, how can I get the maximum limit on MCPS, which will be the upper bound on the MCPS of my decoder solution running on that hardware board?

Can I deduce that if power obtained as in step (1), say P, is consumed at frequency f, so for 50mW, what is the clock frequency and calculate accordingly the frequency. And then call this frequency as my code MHz (MCPS) upper bound?

Basically how does one map (are there any equations?) power consumed by a software to MCPS consumed?