一种浮点乘加指令的延迟降低的方法及其装置制造方法及图纸

技术编号:41826464 阅读:20 留言:0更新日期:2024-06-24 20:39
本申请提出了一种浮点乘加指令的延迟降低的方法及其装置,涉及计算机处理器技术领域。本申请通过监测发射队列中待执行的浮点乘加FMA指令对应的源操作数是否准备就绪,源操作数包括用于浮点乘法的第一操作数和第二操作数,以及用于浮点加法的第三操作数;响应于监测到FMA指令对应的第一操作数和第二操作数就绪而第三操作数未就绪,获取第三操作数对应的就绪时钟周期;根据就绪时钟周期确定FMA指令的指令发射时钟周期;在指令发射时钟周期将FMA指令发射至浮点乘加部件。本申请能够优化FMA的性能,减小FMA运算的延迟,也不用存储浮点乘法FMUL指令的中间结果,在不增加额外硬件开销的情况下,提高流水线的性能。

【技术实现步骤摘要】

本申请涉及计算机处理器,尤其涉及一种浮点乘加指令的延迟降低的方法及其装置


技术介绍

1、浮点乘加(fused multiply-add,fma)指令将独立的浮点乘法和浮点加法运算融合为一种运算,fma指令事实上包括浮点乘法(floating point multiply,fmul)和浮点加法(floating point add,fadd)两部分。其中浮点乘法fmul使用前两个操作数,浮点加法fadd使用浮点乘法fmul的结果和第三个操作数。对于流水线中的浮点乘加fma操作来说,先做乘法,乘法结束才会涉及到做加法,如src1*src2+src3,也就是说src3在src1*src2执行结束才会用到。处理器按照流水线执行指令,src1和src2做乘法时用不到src3。如果src3与执行序在其前面的指令存在数据相关时,当操作数src1和src2的值已经准备就绪了,但是第三操作数src3前面的指令还未完成,即src3还未准备就绪,流水线需要等待src3准备就绪才能继续执行,因此就会造成延迟,并会造成流水线的堵塞。

2、fma指令包括乘加、乘减、负乘本文档来自技高网...

【技术保护点】

1.一种浮点乘加指令的延迟降低的方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述获取所述第三操作数对应的就绪时钟周期,包括:

3.根据权利要求2所述的方法,其特征在于,所述根据所述就绪时钟周期确定所述FMA指令的指令发射时钟周期,包括:

4.根据权利要求3所述的方法,其特征在于,所述在所述指令发射时钟周期将所述FMA指令发射至浮点乘加部件之后,还包括:

5.根据权利要求1所述的方法,其特征在于,所述方法,还包括:

6.根据权利要求1或5所述的方法,其特征在于,所述在所述指令发射时钟周期将所述FMA指令发射...

【技术特征摘要】

1.一种浮点乘加指令的延迟降低的方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述获取所述第三操作数对应的就绪时钟周期,包括:

3.根据权利要求2所述的方法,其特征在于,所述根据所述就绪时钟周期确定所述fma指令的指令发射时钟周期,包括:

4.根据权利要求3所述的方法,其特征在于,所述在所述指令发射时钟周期将所述fma指令发射至浮点乘加部件之后,还包括:

5.根据权利要求1所述的方法,其特征在于,所述方...

【专利技术属性】
技术研发人员:郇丹丹李祖松
申请(专利权)人:北京微核芯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1