gpt4 book ai didi

floating-point - 在 Cortex M0 上,浮点比较与整数比较的开销有多大?

转载 作者:行者123 更新时间:2023-12-04 06:51:01 25 4
gpt4 key购买 nike

所以我正在开发一个需要计算 float 的嵌入式项目。显然,有多种方法可以估算输出并减少计算周期。我的问题是, float 比较与整数比较(相对而言,不是精确的周期)有多昂贵?其中一项操作可能可以通过这种方式进行优化,但我想知道是否值得为此付出努力。该芯片是皮质 M0(无浮点硬件)。所有浮点都是通过软件完成的。

最佳答案

可靠地确定浮点比较成本的最简单方法是对其计时。如果由于某种原因这不可能,人们可能会估计它。

我在 2003 年左右使用无 FPU 的 ARM 处理器,并为这些处理器编写了我自己的高度优化的单精度 float 。虽然我无法再访问该代码,但我发现它的性能与已发布的性能数据非常相似 in this paper by Iordache and Tang for a floating-point emulation library on XScale .

这表明单精度加法在 35 个周期内执行,减法的时间基本相同。由于比较是减法的一种简化形式,其中不需要计算浮点结果,因此比较会稍微便宜一些,从而为比较成本设置上限。

在浮点仿真中,单精度操作数由 32 位整数表示并存储在通用寄存器中。如果两个操作数都是有限的正操作数,则可以直接通过整数比较来比较它们。基本上,这对重新解释为 int32binary32 操作数使用整数比较。这给出了成本的下限。 This answer展示了如何将这种方法推广到成对的非异常操作数。

关于floating-point - 在 Cortex M0 上,浮点比较与整数比较的开销有多大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32612267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com