X86 为什么AVX512-IFMA只支持52位整数?

X86 为什么AVX512-IFMA只支持52位整数?,x86,precision,avx512,alu,fma,X86,Precision,Avx512,Alu,Fma,从该值可以推断,它使用与双精度浮点硬件相同的组件。但是double有53位有效位,那么为什么AVX512-IFMA限制为52位呢?当然尾数只有52位,一位是隐藏的,但它仍然对值有贡献,需要输入加法器/乘法器/除法器…实际上只有52位显式存储,第53位(最高有效位)是一个隐式1。它利用DPF算术单元和FMA实现快速多精度乘法,详情见本文第一节: 正如本文介绍的那样,由于它在dpf乘法单元上进行乘法运算,如果用53位对操作数进行采样,它将打破统一的处理步骤。是的,但您不需要53位加法器/乘法器来完

从该值可以推断,它使用与双精度浮点硬件相同的组件。但是double有53位有效位,那么为什么AVX512-IFMA限制为52位呢?当然尾数只有52位,一位是隐藏的,但它仍然对值有贡献,需要输入加法器/乘法器/除法器…

实际上只有52位显式存储,第53位(最高有效位)是一个隐式1。

它利用DPF算术单元和FMA实现快速多精度乘法,详情见本文第一节:


正如本文介绍的那样,由于它在dpf乘法单元上进行乘法运算,如果用53位对操作数进行采样,它将打破统一的处理步骤。

是的,但您不需要53位加法器/乘法器来完成这项工作吗?这些隐藏位仍然会导致进位并影响最终结果。我猜可能会超过53位,但我不知道整数是如何从浮点ALU中倒回的。前导位总是1这一事实意味着它们可以将该位“硬编码”到乘法器本身中。所以乘法器只需要52位宽。因此,IFMA指令可能实现为相同的DP乘法器,但没有标准化,也没有对前导1位进行“特殊处理”。是的,这就是为什么存在AVX512 IFMA,以直接公开尾数乘法器,而不是。但问题是为什么52位而不是53位?我认为IFMA的要点是,您不必再使用任何FP数学指令或
double
格式,只需使用纯SIMD整数。因此,没有必要将其限制在与以前相同的宽度。软件可以得到106位而不是104位,除非尾数乘数对于隐式第53位不是完全灵活的。我认为这是最有可能的,乘数的特殊情况,隐式位。