Other Parts Discussed in Thread: MSP430F1232, MSP430F47186
If we are asked about FLOPS (Floating-point Operation Per Second) of the MSP430, how can we calculate?
I would like to know the FLOPS of the MSP430F47186 and MSP430F1232.
Thanks in advance.
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Other Parts Discussed in Thread: MSP430F1232, MSP430F47186
If we are asked about FLOPS (Floating-point Operation Per Second) of the MSP430, how can we calculate?
I would like to know the FLOPS of the MSP430F47186 and MSP430F1232.
Thanks in advance.
Some devices have MPY unit, hardware (executed in few cycles) unsigned/signed multiply with integer or fractional numbers. It deepens on target device, so you can check datasheet for two devices you are interested in. General/standard support for floating-point operation can be done in software but than FLOPS is related to quality of final algorithm implementation.
Thank you for your reply, zrno soli.
With the keyword 'MPY' you suggested and "floating point" etc, I found the following page.
Check MPY for MSP430F4xx family user guide http://www.ti.com/litv/pdf/slau056l
Also, check this thread http://e2e.ti.com/support/microcontrollers/msp430/f/166/t/158093.aspx
And for complete floating point support check this http://www.ti.com/tool/mspmathlib
OKY said:http://e2e.ti.com/support/microcontrollers/msp430/f/166/t/18561.aspx
The MSP430F47186 has MPY unit. And according to the above page, it takes 12 cycles for both of addition and multiplication.So, I guess that16 MHz / ( 2 * 12) = 0.66 MFLOPS
Hi MPY processing take time from last operand load and execute before next operation, so 12 cycles from examples you mentioned if you reread OCY postings is from complex operand load and store not MPY unit. Also OCY say some time are required to convert from Float to Fix Point so you assumption sound wrong, this is twice the time needed to get operand from memory and store to MPY register, after that MAC is executed one cycle later, when you read result no wait to.
Again Floating point speed is highly dependant from calculus, elementary operation can be converted to Fixed. In case of pure FP compiler library dictate the efficiency of calculus, if fast FP is needed C2xxx series or TIVA TM4C perform better at similar processor prices.
At end remember all timing is dependent from what is in your mind when applied to coding and your question was too generic to exactly compute.
Thank you very much, Roberto Romano
Roberto Romano said:Hi MPY processing take time from last operand load and execute before next operation, so 12 cycles from examples you mentioned if you reread OCY postings is from complex operand load and store not MPY unit. Also OCY say some time are required to convert from Float to Fix Point so you assumption sound wrong, this is twice the time needed to get operand from memory and store to MPY register, after that MAC is executed one cycle later, when you read result no wait to.
Thank you for the indication of my mistake.
Roberto Romano said:Again Floating point speed is highly dependant from calculus, elementary operation can be converted to Fixed. In case of pure FP compiler library dictate the efficiency of calculus, if fast FP is needed C2xxx series or TIVA TM4C perform better at similar processor prices.
Thank you for the recommendation. However, I do not need fast FP currently. I would rather like to roughly estimate the FLOPS of MSP430.
Roberto Romano said:At end remember all timing is dependent from what is in your mind when applied to coding and your question was too generic to exactly compute.
I see. This question is more complicate than I thought.
You cannot. The MSP430 has not hardware FPU, so any floating point performance depends on compiler brand, compiler settings, and the skill of the coder of the FP (software) functions.OKY said:If we are asked about FLOPS (Floating-point Operation Per Second) of the MSP430, how can we calculate?
FLOPS can only be specified if the device has a hardware FPU which provides a fixed timing of the floating point operations.
Thank you very much for your reply, Jens-Michael Gross.
Jens-Michael Gross said:You cannot. The MSP430 has not hardware FPU, so any floating point performance depends on compiler brand, compiler settings, and the skill of the coder of the FP (software) functions.
I see.
Jens-Michael Gross said:FLOPS can only be specified if the device has a hardware FPU which provides a fixed timing of the floating point operations.
I was not familiar with FLOPS. This time, I learned a lot from what you (and other people) replied.
Thank you.
**Attention** This is a public forum