如果ARM cortex处理器中有用于快速处理浮点的Neon,为什么它们仍然有单独的浮点单元。

如果ARM cortex处理器中有用于快速处理浮点的Neon,为什么它们仍然有单独的浮点单元。,arm,neon,fpu,cortex-a,Arm,Neon,Fpu,Cortex A,Neon(高级SIMD)对加、减、乘和浮点运算(如单精度和双精度)的速度非常快。为什么ARM公司还有另一个单独的浮点计算单元,如图所示。 我对此有点困惑 这主要是一个示例,也是因为在ARMv8-A或Aarch32之前,浮点和Neon是两个独立的指令集。Neon仅支持浮点支持的子集(无双精度) 这显然是Cortex-A9的情况,如图所示 然而,在ARMv8-A Aarch64中,这不再是真实的,因为其中没有这样的拆分。取而代之的是SIMD与标量分割,SIMD指令可以使用64位浮点数。因为漂亮的市场

Neon(高级SIMD)对加、减、乘和浮点运算(如单精度和双精度)的速度非常快。为什么ARM公司还有另一个单独的浮点计算单元,如图所示。 我对此有点困惑


这主要是一个示例,也是因为在ARMv8-A或Aarch32之前,浮点和Neon是两个独立的指令集。Neon仅支持浮点支持的子集(无双精度)

这显然是Cortex-A9的情况,如图所示


然而,在ARMv8-A Aarch64中,这不再是真实的,因为其中没有这样的拆分。取而代之的是SIMD与标量分割,SIMD指令可以使用64位浮点数。

因为漂亮的市场图片不是微体系结构的准确文档?这不是正确答案。不令人满意。这不是一个答案-这是一条评论,指出该问题是无效的,因为它基于错误的假设:NEON不具有双精度-具有NEON功能的FPU仍然为此执行VFP指令-和。营销图片上的任意框并不代表实际的管道。FPU的日期早于NEON。NEON是SIMD,FPU不是多个数据,一次只有一个浮点。两者都消耗硅,并且是许多Cortex CPU中的可选元素。然而,当出现时,这两个问题在整个家族中表现相同。我投票将这个问题作为离题题来结束,因为它不涉及特定的编程相关问题。也存在一些技术差异——例如,处理IEE角落案例,如Inf、NaN和denomals。霓虹灯的要求比完整的VFP IEE标量浮动更为宽松,因此即使对于fp32.True来说,霓虹灯也不是一个替代品。但在ARMv8 Aarch64中不再是这种情况。