none
How to get the approximate MIPS required

    Question

  • I have developed an application with Visual Studio Team System for windows, and I have also gotten the CPU profiling of the application. Now I need to port it into ARM for embedded system, and the system engineer wants to know how many MIPS my application will require approximately? Is there anyway to obtain the approximate MIPS?

    One of my friend recommend me the following website:
    http://en.wikipedia.org/wiki/Million_instructions_per_second#Million_instructions_per_second
    Since my desktop has Intel Core 2 Extreme X6800 chip, which is equivalent to 27,079 MIPS at 2.93 GHz. The "Application Exclusive Time" of my application is about 10ms, and my friend said the approximate MIPS will be 10ms/1000ms * 27079 MIPS, which is about 300MIPS. So I should choose ARM chip that supports greater than 300MIPS. Do you think his calculation make sense?

    Another information source tells me it is very unlikely, since there are many other variables - word size, FPU presence, SIMD instructions, etc. The best way is to build my algorithm for the targeted ARM core, and run it in a simulator (or on real hardware). Well, I definitely believe it is the most accurate way to build my algorithm on ARM, but I just want to know if there is any other way for me to figure out the MIPS requirement quicker.

    Thank you!

    Johnson
    Wednesday, January 27, 2010 10:20 PM

All replies

  • I think I should build my algorithm for the targeted ARM core. However, I doubt an oscilliscope can tell me the time spent in each function or line. It sounds like a profiler's job. So I think I need an ARM profiler, right?

    Do you know if there is any low-cost or free profilers available for ARM? As far as I know, the ARM profilers are pretty expensive.
    RVDS Pro. will cost about $3800 per license per year.
    RVDS v4.0 Standard will cost about $6K - $8K per license per year.

    Is there any tools under $1K?

    Thank you.

    Johnson
    Thursday, January 28, 2010 5:50 PM
  • I have developed an application with Visual Studio Team System for windows, and I have also gotten the CPU profiling of the application. Now I need to port it into ARM for embedded system, and the system engineer wants to know how many MIPS my application will require approximately. I got the following options and I want to know if all of them work and which one is the best.

    Option 1. To compile the software under the targeted hardware, say ARM-9, and count the number of instructions and clock cycles in total for the section of code. It might be time-consuming to count the instruction for any section of code, however, if I only cares about a few "hot zone", it might be OK.

    Option 2: To use an oscilloscope or a logic
    analyzer to get the execution time of a segment of codes.    It not only shows where the code is by
    the value written, it shows when it happens.

    Option3: Use a commercial profiler that supports ARM, such as RVDS Pro.

    Option 4: One of my friend recommend me the following website:
    http://en.wikipedia.org/wiki/Million_instructions_per_second#Million_instructions_per_second
    Since my desktop has Intel Core 2 Extreme X6800 chip, which is equivalent to 27,079 MIPS at 2.93 GHz. The "Application Exclusive Time" of my application is about 10ms, and my friend said the approximate MIPS will be 10ms/1000ms * 27079 MIPS, which is about 300MIPS. So I should choose ARM chip that supports greater than 300MIPS. Do you think his calculation make sense?

    Thank you!

    Johnson
    Tuesday, February 02, 2010 5:33 PM