fpu相关内容

使用FP内联汇编

我写了一个像这样的向量结构: pre $ struct $ { float x1,x2,x3,x4 ; }; 然后,我创建了一个使用向量执行内联汇编操作的函数: struct vector * adding(const struct vector v1 [],const struct vector v2 [],int size){ struct vector vec [尺 ..
发布时间:2018-04-21 10:30:20 其他开发

FPU与软件仿真的性能比较

虽然我知道(所以我被告知)浮点协处理器的运行速度比任何浮点运算的软件实现都要快,但我完全没有感觉到这种差异有多大,依次是大小。 答案可能取决于微处理器和超级计算机之间的应用程序和工作地点。我对计算机模拟特别感兴趣。 您能指出这个问题的文章或论文吗? 解决方案 然而,根据我的理解,在处理器中,不要在硬件中实现浮点(FP)操作,软件实现通常会比整型操作慢10到100倍(甚至更糟,如 ..
发布时间:2017-12-21 21:56:47 其他开发

MSVC win32:将扩展精度浮点数(80位)转换为双精度(64位)

在MSVC win32 / win64中,扩展精度浮点(80位值,在某些编译器中也称为“long double”)转换为double(64位)的最便携和“正确”方式是什么? MSVC目前(截至2010年)假设“long double”是“double”的同义词。 我可能可以在内联asm编写fld / fstp汇编程序对,但内联asm不适用于MSVC中的win64代码。我是否需要将此汇编程序代 ..
发布时间:2017-12-21 21:07:59 其他开发

浮点运算如何在软件中模拟?

当CPU没有(或错误)浮点单元时,软件如何进行浮点运算?例如PIC,AVR和8051微控制器架构。 解决方案 “Emulated”是在PIC,AVR和8051的上下文中出现错误的术语。浮点仿真是指在具有FPU选项但并非所有部件都包含FPU的架构上对FPU硬件的仿真。这允许包含浮点指令的二进制文件在没有FPU的情况下运行。在使用的地方,FPU仿真实现为无效指令异常处理程序;当遇到FPU指令但 ..
发布时间:2017-08-15 21:16:38 HTML/CSS

如何设置和恢复FPU CTRL寄存器?

我可以通过以下方式重置FPU的CTRL寄存器: http://support.microsoft.com/kb/326219 但是如何保存当前的寄存器,然后再恢复? p> 来自.net代码.. 我在做什么,是从Delphi调用.net dll一个COM模块。检查delphi中的 Ctrl 寄存器产生一个值,检查.net代码中的controlfp是否提供另一个值。 我需要的 ..
发布时间:2017-04-28 21:37:46 C#/.NET

第三方代码正在修改FPU控制字

介绍 - 长而无聊的部分 (问题是结束) 我我的开发环境是Windows和Visual C ++ 2008.正常的FPU控制字指定了一个第三方的COM组件,不断改变FPU控制字。 在各种条件下都不应该抛出异常。我已经验证了,同时查看 float.h 中找到的 _CW_DEFAULT 宏,以及查看控件在启动时调试器中的字。 每当我打电话到COM对象时,控制字在返回时被修改。这 ..
发布时间:2017-04-24 23:39:58 Delphi

第三方代码正在修改FPU控制字

简介 - 长而乏味的部分 (问题在结尾) 我的开发环境是Windows和Visual C ++ 2008.正常的FPU控制字指定了一个第三方COM组件,它不断改变FPU控制字。在各种条件下不应抛出异常。我已经通过查看 _CW_DEFAULT 宏(位于 float.h 中)以及查看控件 每次调用COM对象时,控制字都会在返回时被修改。这很容易防御。我只是重置控制字,一切都很好。问题 ..
发布时间:2016-12-18 18:29:39 .NET组件控件

除法为乘法和LUT? /快浮分相互

是否可以在查找表(如1 / f-> 1 * inv [f])的形式 中进行浮点除法的倒数?如何做到这一点? 我认为一些和掩码和移位应该应用浮动以使 它的一种形式的索引? 解决方案 你可以猜到这样的一个近似倒数: int x = reinterpret_cast(f); x = 0x7EEEEEEE - x; float inv = reinterpre ..
发布时间:2016-10-25 14:37:11 C/C++开发

除法为乘法和LUT? /快浮分相互

是否可以在查找表(如1 / f-> 1 * inv [f])的形式 中进行浮点除法的倒数?如何做到这一点? 我认为一些和掩码和移位应该应用浮动以使 它的一种形式的索引? 解决方案 你可以猜到这样的一个近似倒数: int x = reinterpret_cast(f); x = 0x7EEEEEEE - x; float inv = reinterpre ..
发布时间:2016-10-25 13:48:54 C/C++开发

除法为乘法和LUT? /快浮分相互

是否可以在查找表(如1 / f-> 1 * inv [f])的形式 中进行浮点除法的倒数?如何做到这一点? 我认为一些和掩码和移位应该应用浮动以使 它的一种形式的索引? 解决方案 你可以猜到这样的一个近似倒数: int x = reinterpret_cast(f); x = 0x7EEEEEEE - x; float inv = reinterpre ..
发布时间:2016-10-24 17:20:42 C/C++开发

在c ++代码中使用FPU返回值

我有一个x86 NASM 程序,它似乎工作完美。我有问题使用从它返回的值。这是使用MSVC ++的32位Windows。我希望在 ST0 中返回值。 一个最小的例子演示了返回值的问题可以在这个C ++和 NASM 装配代码: #include extern“C”float arsinh(float); int main() { float tes ..
发布时间:2016-10-20 23:44:46 C/C++开发

作为师乘法和LUT? /快浮师倒数

时有可能使浮动分工形式倒数 的查找表(例如像的1 / f - > 1 * INV并[f])?如何可以做? 我认为,一些与面具和转移应appled浮动,使 它索引的形式?如何将它exectly? 解决方案 您可以猜到一个近似逆是这样的: INT X = reinter pret_cast< INT>(F); X = 0x7EEEEEEE - X; 浮INV = re ..
发布时间:2016-08-22 15:32:12 C/C++开发

当截断浮点舍入

这可能是一个x86 FPU专家一个问题: 我试图写它产生的范围是[MIN,MAX]随机浮点值的函数。问题是,我的发电机算法(浮点梅森倍捻机,如果你好奇)只在区间[1,2)返回值 - 即,我想一个包容性的上限,但我的“源”产生的价值从独家上限。这里的渔获,底层发电机返回一个8字节双,但我只想要一个4字节的花车,和我使用的最近的默认FPU舍入模式。 我想知道的是截断本身在这种情况下,是否会导致我的 ..
发布时间:2016-08-22 15:07:10 C/C++

战俘实施双

我开发一个code将被用于运动控制和我有战俘功能的问题。 我使用VS2010为IDE。 下面是我的问题: 我有: 双P = 100.0000; 双D = 1000.0000; T1 = POW((P /(8.0000 * D)1.00 / 4.000); 在评价这最后的功能,我没有得到更好的近似作为结果。我得到一个7位十进制数字正确,以及随之而来的数字都是垃圾。 我猜测 ..
发布时间:2016-08-21 20:39:49 C/C++

FPU IA-32 SIGFPE,算术异常

我有这个code以下的问题。它是在IA-32架构气体汇编语法。它产生算术异常, FSQRT 指令之后。 SetDouble 是 INT 类型的值 0x0200 和输入是一个浮点数。我使用的GCC与 -m32 标志编译这一点。在哪里可以我犯的错误有人点。 pushl%EBP MOVL%ESP,EBP% FINIT FLDCW SetDouble FLD输入 FLD输入 fmulp FLD1 FA ..
发布时间:2016-07-18 21:38:27 .NET Framework

使用FFREE和FDECSTP的

我不明白这个事情:有什么用这样的命令(FFREE,FDECSTP)的? 它可以已经使用弹出值了FPU堆栈,或者这是一些另有目的? 我不明白:/可能有人解释说,TNX 解决方案 是,使用 FFREE , FINCSTP 和 FDECSTP 您可以手动管理FPU堆栈。需要注意的是FPU堆栈增长下类似CPU的堆栈,所以要去除(POP),你标记注册为免费的东西,递增堆栈指针。 您不会看到典型 ..
发布时间:2016-07-18 21:34:16 .NET Framework

FLD指令64位

我有在64位指令FLD一个小问题... 要加载双精度值ST0寄存器堆栈指针FPU,但它似乎是不可能的。 在Delphi的32倍,我可以用这code: 函数DoSomething的(X:双人间):双; ASM FLD点¯x // 做一点事 .. FST结果结束; 不幸的是,在64位,同样code不起作用。 解决方案 在64位模式下浮点参数在XMM寄存器传递。因此,当德尔福试 ..
发布时间:2016-07-18 20:24:34 .NET Framework

iPhone 4和iPad 2:在浮点定点运算的优势

我听说了iPhone 4和iPad有一个FPU称为VFP,在某种程度上优化了浮点运算,甚至允许SIMD(GCC虽然花费是否优势是值得怀疑)。不过,我读过一些Android设备,使用固定点以上浮点的加速会导致性能的20倍增长。 将使用什么定点算法在浮点在这些设备上实施我的code的浮点运算密集的部分优势。 解决方案 iPhone 3G的ARMv6的CPU有一个流水线VFP浮点单元,具有更高 ..
发布时间:2016-03-11 20:01:36 移动开发