Arm Community
Site
Search
User
Site
Search
User
Support forums
Arm Development Studio forum
Cortex M4 FPU against fixed point math
Jump...
Cancel
Locked
Locked
Replies
7 replies
Subscribers
119 subscribers
Views
11492 views
Users
0 members are here
Options
Share
More actions
Cancel
Related
How was your experience today?
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion
Cortex M4 FPU against fixed point math
michele corradin
over 12 years ago
Note: This was originally posted on 1st March 2012 at
http://forums.arm.com
Hi,
I'm working on 3 cortex, a STM32F027, cortex M3, a TI Cortex M4 and an Infineon Cortex M4.
I would like to move from a TI C2000 TMS320F2810 (fixed point 32bit core) to an M4 to control a 3 phase power bridge.
My algorithms nowadays work in fixed point math, IQ22, and are based for 98% on simple multiplications and some sine/cosine calculations: PI, PID, Pll, low pass filter, notch, ..
I ported the algorithm in the cortex mainly redifining the IQmpy, moltiplication, and the IQsin, sine calculation first in fixed point then in floating point.
I was expencitng to have a speed improvment running in floating because every multiplication in fixed math requires a shift while in floating I don't need the shift but I'm exeriencing a dramatic slow down of the algorithm running in floating point.
I'm doing my test in IAR.
I checked the assembler and I verified the compiler is using the floating point.
My only explenation is that the FPU doesn't have, as far as I know, direct access to the CPU registers so every multiplication in FPU requires 2 loads to the FPU registers and another load to move the result to the CPU register.
Is there anybody that can confirm me that?
Thank you very much
michele
Parents
Joseph Yiu
over 12 years ago
Note: This was originally posted on 9th March 2012 at
http://forums.arm.com
Hi Michele,
The information available on public domain is limited.
There are some information available. For example:
http://www.emcu.it/STM32/STM32_Journal/stm32_journal_1_1.pdf
http://www.embedded-world.eu/fileadmin/user_upload/pdf/arm_entwicklerkonferenz_2011/Session_3/01%20-%20Developing%20Advanced%20Signal%20Processing%20_Johnson_ARM.pdf
I know that this might not be exactly what you want, but you can generate the data using instruction set simulator in Keil MDK if needed.
regards,
Joseph
Cancel
Vote up
0
Vote down
Cancel
Reply
Joseph Yiu
over 12 years ago
Note: This was originally posted on 9th March 2012 at
http://forums.arm.com
Hi Michele,
The information available on public domain is limited.
There are some information available. For example:
http://www.emcu.it/STM32/STM32_Journal/stm32_journal_1_1.pdf
http://www.embedded-world.eu/fileadmin/user_upload/pdf/arm_entwicklerkonferenz_2011/Session_3/01%20-%20Developing%20Advanced%20Signal%20Processing%20_Johnson_ARM.pdf
I know that this might not be exactly what you want, but you can generate the data using instruction set simulator in Keil MDK if needed.
regards,
Joseph
Cancel
Vote up
0
Vote down
Cancel
Children
No data