`

求浮点运算代价

阅读更多

在很多芯片上浮点数运算要占用接近20的时钟周期, 在有些芯片上比你估计的20倍差距还要大。 浮点数运算非常低效又非常重要,所以从386时代浮点协处理器就很普及了,后来直接把这个协处理器做在cpu里面, 现在的这些cpu都是带浮点处理器的, 一次浮点运算只需要23个时钟周期,这已经跟整数乘法差不多了(有些阉割版本处理器这方面会差一些)。  总的来说如果你考虑的是pc上的编程,那么浮点运算性能只是略差。 但如果你要做其他芯片的编程的话 你必须先了解一下这个板子上到底有没有浮点处理器,没有的话性能差距会非常非常大 ,尽量就别用了。

分享到:
评论

相关推荐

    MCU三角函数运算

    对于大多数MCU来说,浮点运算、三角函数永远是可望不可及的。说他可望是因为在编译环境函数库中,这些运算都可以通过软件来实现,但他付出的代价是较长代码长度和大量的CPU运算时间。代码长度也许是系统可以承受的,...

    micromath-嵌入式友好的数学库,具有快速浮点近似值(具有较小的代码大小),适用于常见的算术运算,三角函数,2D / 3D矢量类型,统计分析和四元数。 以精度为代价优化性能和减小代码大小-Rust开发

    嵌入式友好(即no_std)Rust数学库,具有针对常用算术运算,三角函数的快速,安全浮点近似值2嵌入式友好(即no_std)Rust数学库,具有针对常用算术运算,三角函数的快速,安全浮点近似值/ 3D向量类型,统计分析和...

    micromath:嵌入式Rust算术,2D3D向量和统计资料库

    嵌入式友好型(即no_std )Rust数学库,具有快速,安全的浮点近似值,适用于常见的算术运算,三角函数,2D / 3D矢量类型,统计分析和四元数。 以性能为代价优化性能和减小代码大小。最低支持的Rust版本需要Rust 1.47...

    深入java虚拟机第二版

    第14章 浮点运算 14.1 浮点数 14.2 Inner Float:揭示Java float类型内部 性质的applet 14.3 浮点模式 14.3.1 浮点值集合 14.3.2 浮点值集的转换 14.3.3 相关规则的本质 14.4 浮点操作码 14.5 一个模拟:...

    深入JAVA虚拟机(第2版)

    第14章 浮点运算 14.1 浮点数 14.2 Inner Float:揭示Java float类型内部性质的applet 14.3 浮点模式 14.3.1 浮点值集合 14.3.2 浮点值集的转换 14.3.3 相关规则的本质 14.4 浮点操作码 14.5 一...

    深入Java虚拟机

    第14章 浮点运算 14.1 浮点数 14.2 Inner Float:揭示Java float类型内部 性质的applet 14.3 浮点模式 14.3.1 浮点值集合 14.3.2 浮点值集的转换 14.3.3 相关规则的本质 14.4 浮点操作码 14.5 ...

    深入Java虚拟机(原书第2版).pdf【附光盘内容】

    第14章 浮点运算 14.1 浮点数 14.2 inner float:揭示java float类型内部性质的applet 14.3 浮点模式 14.3.1 浮点值集合 14.3.2 浮点值集的转换 14.3.3 相关规则的本质 14.4 浮点操作码 14.5 一...

    小日本视频转换器

    老枯猜测这里的浮点其实只是把DCT变换的系数从8bit增大为16bit的精度,并不需要浮点运算器单元参与变换,否则速度是不可忍耐的。 6)不对静止部分做半像素的运动检测:由于视频源是隔行的,对于精细的静止边缘线条...

    javaSE代码实例

    2.2.2 浮点型 17 2.2.3 char型 17 2.2.4 boolean型 18 2.3 基本数据类型值间的转换 18 2.3.1 自动转换 18 2.3.2 手动强制转换 19 2.3.3 隐含强制转换 19 2.4 标识符命名规范 20 2.4.1 正确的命名...

    你必须知道的495个C语言问题

    如果一个全局变量初始值为“零”,它可否作为空指针或浮点零? 1.32 下面的代码为什么不能编译?intf(){chara[]="Hello,world!";} *1.33 下面的初始化有什么问题?编译器提示“invalidinitializers”或其他信息。...

    《你必须知道的495个C语言问题》

    如果一个全局变量初始值为“零”,它可否作为空指针或浮点零? 18  1.32 下面的代码为什么不能编译? intf(){char a[]="Hello, world!";} 18 *1.33 下面的初始化有什么问题?编译器提示“invalid initializers ...

Global site tag (gtag.js) - Google Analytics