gpt4 book ai didi

floating-point - 现代芯片上的 float 与整数运算性能

转载 作者:行者123 更新时间:2023-12-04 06:49:27 24 4
gpt4 key购买 nike

考虑加性模型上的维特比解码器。它花时间做加法和比较。现在,考虑两个:一个使用 C/C++ float 作为数据类型,另一个使用 int。在现代芯片上,您是否期望 intfloat 运行得快得多?还是流水线的奇迹(以及没有乘法和除法)会让一切都变得差不多?

最佳答案

显着取决于您的意思。我通常希望看到 int 的执行速度提高大约 2 倍,但这完全取决于其他情况。可以处理 AMD64 (AMD/Core2) 指令集的现代处理器通常每个周期可以有效地执行 1 个浮点操作如果它们可以保持流水线的供给

他们通常还可以在相同的时间内完成 2 或 3 个整数运算。甚至可以同时进行。

但是编写使流水线停顿的代码并不难,您必须避免在计算完成后立即使用计算结果,否则流水线将停顿,并且每次乘法得到更多的 3 个周期而不是 1 个。

在大多数情况下,PowerPC 的每个周期指令与 AMD/Intel 相同或更好。

附录:

顺便说一下,您可能会发现比较(或者更确切地说是比较所暗示的分支)最终比添加的成本要高得多。预测错误的分支代价高昂,尤其是在 Pentium 4 处理器上。

关于floating-point - 现代芯片上的 float 与整数运算性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2010252/

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