Floating Point Fun on Cortex-M Processors
Posted by hasheddan 4 days ago
Comments
Comment by Neywiny 2 days ago
Interesting. I was just thinking about this because of another post on floating point. I'm wondering if I can disable the fpu every so often and turn it on only if code needs it and it raises an exception.
Comment by glitchc 2 days ago
It's unclear why one would ever need to do this. Is it for power savings? What other use-cases would benefit from turning the FPU off between instructions?
Comment by russdill 2 days ago
There is overhead, and applications that don't use the FPU avoid that overhead. https://www.netbsd.org/docs/kernel/lazyfpu.html
Comment by Neywiny 2 days ago
Yes, for power savings. But I'd need to do a bit of a study on my code to see if it's even worth it. Since the majority of it doesn't use the FPU, it could help. But it might not be worth the effort.
Comment by bobmcnamara 2 days ago
Yes, you could turn it off every context switch.
Comment by summa_tech 2 days ago
Zephyr support lazy FPU context switches. So the downside from enabling FPU sharing is fairly limited.