Floating point 什么';加州大学伯克利分校的浮点除法/平方根算法是什么?

Floating point 什么';加州大学伯克利分校的浮点除法/平方根算法是什么?,floating-point,division,riscv,chisel,Floating Point,Division,Riscv,Chisel,最近,我一直在研究berkeley-hardfloat()的代码。我已经画出了DivSqrtRecF64ToRaw_mulAddZ31的时序图,但我无法理解它的算法,尤其是它是如何用乘法和加法代替除法的(第439-711行)。谁能给我详细解释一下呢?看看兄弟文件DivSqrtRecFN\u small.scala,它有发生什么的公式,而且似乎两者的方法是相同的 对于另一种高速除法或平方根法,您可以搜索,例如Goldschmidt除法-它在AMD x86 CPU中实现。包括问题中的所有必要信息。链

最近,我一直在研究berkeley-hardfloat()的代码。我已经画出了DivSqrtRecF64ToRaw_mulAddZ31的时序图,但我无法理解它的算法,尤其是它是如何用乘法和加法代替除法的(第439-711行)。谁能给我详细解释一下呢?

看看兄弟文件
DivSqrtRecFN\u small.scala
,它有发生什么的公式,而且似乎两者的方法是相同的


对于另一种高速除法或平方根法,您可以搜索,例如Goldschmidt除法-它在AMD x86 CPU中实现。

包括问题中的所有必要信息。链接可能是补充信息,但它们本身并不充分。堆栈溢出旨在创建问题和答案的持久存储库,外部链接可能会更改或消失。因此,信息需要在问题中。除此之外,您甚至还没有链接到特定的源文件。没有人想通过搜索某个项目来查找您所询问的内容。对不起,我已将链接重定向到一个具体的文件。实际上,我只是想研究一种高速浮点除法算法。任何有用的算法都可以,不一定是这个。谢谢你的回答。我已经阅读了同级文件DivSqrtRecFN_small.scala,但是我发现它通过还原算法而不是乘法-加法算法来计算除法。