首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在单精度CPU上进行双精度计算

在单精度CPU上进行双精度计算
EN

Stack Overflow用户
提问于 2014-07-12 00:02:52
回答 3查看 1.1K关注 0票数 1

我想知道在单精度MCU上被要求做双精度计算会发生什么?对于这样的计算,是否有一个已知的性能负载?集成的单精度单元(FPU)是否提高了性能?

我有一个大的嵌入式软件,有一些双精度的计算,我想决定一个CPU基于更高的速度或内置的双精度FPU

EN

回答 3

Stack Overflow用户

发布于 2014-07-12 00:47:39

这是一个编译器将做什么而不是处理器将做什么的问题,以及它的数学库和算术运算符实现是否将FPU用于双精度算术。

我建议您使用首选的编译器为候选目标构建一些代码,并查看汇编程序的输出。

另一种方法是使用定点运算。64位36Q28定点类型适用于19位总精度和8位小数位。here描述的定点函数库报告说,在ARM上的软件浮点数性能提升了5倍,这与使用ARM VFP单元(没有SIMD优化)的性能提升没有什么不同。这个库是C++的,并使用了大量的运算符和函数重载,因此在大多数情况下,您只需将关键字double替换为fixed,它就可以工作。

票数 2
EN

Stack Overflow用户

发布于 2014-07-12 16:14:06

这个问题听起来太假设了。它涉及到许多理论和实践方法。你是否有一些问题,至少有一个你提到的软件和任何CPU的组合?如果是这样的话,最好把它包含在问题中,这样每个人都可以得到更多的理解。

如果这是更真实、更严肃的问题,而不是理论上的讨论,而且你正在进行一系列的生产,那么你肯定应该在你的问题中更具体地说明细节。因为你需要尽可能的降低CPU成本,选择一个将基于各种细节和/或背景中的特定问题。

票数 0
EN

Stack Overflow用户

发布于 2014-07-14 20:18:07

单精度FPU不能帮助进行双精度运算。在单个FPU MCU上,执行双精度运算导致使用软件例程。要花多少钱?取决于编译器和MCU性能。无论如何,你可以很容易地测量它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24701953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档