0

我读过一些文章,指出非线性函数(如指数)的计算成本很高。

我想知道是什么让它们的计算成本很高。

当提到“计算成本高”时,它是指所花费的时间或使用的硬件资源吗?

我试过在谷歌上搜索,但我找不到任何简单的解释。

4

1 回答 1

2

不要假装提供答案,而是从你在 fpga 中拥有的东西开始。

通常,您仅限于加法器、乘法器和一些内存。你能用这些做什么?

线性函数 - 简单,只需一个乘法器和一个加法器。

非线性函数——那些是什么?要么是多项式,需要你花费大量的乘数(多项式的次数越多),或者甚至是超越的,需要你找到一些令人满意的近似值,在许多步骤中做到这一点。即使是简单的整数除法也不能在一个时钟内完成,在简单的实现中需要与被除数中的位数一样多的步骤。

另一种可能的解决方案是使用查找表。它适用于小范围的争论。但是,如果您想要在广泛的参数范围内找到函数值,或者更精确地找到函数值,您最终会得到一个太大的查找表,以至于无法放入您必须使用的设备中。

这就是主要成本——您将花费大量专用硬件资源(乘法器、查找表的内存),或者在多步逼近算法或每次迭代(整数除法、CORDIC 等)。

于 2019-05-14T10:39:41.220 回答