Floating Point Fun on Cortex-M Processors

(danielmangum.com)

54 points | by hasheddan 2 days ago

2 comments

  • Neywiny 17 hours 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.
    • glitchc 11 hours 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?
      • russdill 10 hours ago
        There is overhead, and applications that don't use the FPU avoid that overhead. https://www.netbsd.org/docs/kernel/lazyfpu.html
      • Neywiny 3 hours 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.
    • bobmcnamara 12 hours ago
      Yes, you could turn it off every context switch.
  • summa_tech 12 hours ago
    Zephyr support lazy FPU context switches. So the downside from enabling FPU sharing is fairly limited.