MCPS & MIPS

MIPS:Million Instructions Per Second

MCPS:Million Cycles Per Second

MIPS = Total Instructions*Sampling frequency/(No of frames * Samples per frame*1000000)

MCPS = Total Cycles*Sampling frequency/(No of frames * Samples per frame*1000000)
MHz is same as MCPS

And as we know , some instructions may take more than 1 cycle ,so sometimes MIPS >= MCPS.

But as the Parallel Processing technique developing, one cycle can excute more than one  instruction, so sometime MCPS>=MIPS

Also some time the frame length is not uniform, so the they will be

MIPS = Total Instructions/(Total playout time *1000000)

MHz=MCPS = Total Cycles/(Total playout time*1000000)

For example:

struct timespec start, end;

unsinged long diff_ns;

clock_gettime(CLOCK_THREAD_CPUTIME_ID, &start);

process()// process fixed in CPU core, process N samples;

clock_gettime(CLOCK_THREAD_CPUTIME_ID, &end);

diff_ns = (end.tv_sec - start.tv_sec) * 1000000000 + (end.tv_nsec - start.tv_nsec) ;

cpu_freq: 1GHz. 1秒钟经过的时钟周期

Cycles是处理N个samples所需要的时钟周期

Cyles:diff_ns * cpu_freq = (diff_ns / 1000000000) * 1 GHz =  (diff_ns / 1000000000) * 1000000000Hz;

处理N个samples所需要的时间为:N samples / sampling frequency

MCPS = (Cycles / (N Samples / Sample Frequency)) / 1000000;

posted @ 2020-02-08 15:14  fellow_jing  阅读(2656)  评论(0编辑  收藏  举报