Hasty Briefsbeta

双语

Mark's Magic Multiply

6 days ago
  • #embedded-systems
  • #floating-point
  • #optimization
  • 该文章讨论了在嵌入式处理器上实现高效的单精度浮点数乘法,并着重于定制的RISC-V扩展。
  • 文章比较了不同的实现方案:一个16周期的版本使用mul和mulh组合以追求最优的正确性,另一个采用16位乘法的33周期版本,以及Mark Owen提出的巧妙方法——使用两次32位乘法实现30周期的解决方案。
  • Mark Owen的方法通过两次乘法计算23x23位乘积,界定误差范围并高效地进行校正,从而在保证精度的同时有效减少了计算周期。
  • 作者探讨了硬件设计中的权衡(例如顺序执行与专用乘法器的取舍)以及扩展到双精度乘法的可能性。