当前位置: 首页 > 专利查询>英特尔公司专利>正文

转换指令制造技术

技术编号:38142681 阅读:19 留言:0更新日期:2023-07-08 09:58
本发明专利技术描述转换指令。描述了用于经由指令进行数据类型转换的技术。示例性指令包括用于以下各项的字段:操作码、源操作对象的标识和目的地操作对象的标识,其中操作码用于指示指令处理电路要进行:将来自所标识的源操作对象的奇数16比特浮点值转换为32比特浮点值,以及将该32比特浮点值存储在所标识的目的地操作对象的数据元素位置中。对象的数据元素位置中。对象的数据元素位置中。

【技术实现步骤摘要】
转换指令

技术介绍

[0001]近年来,已经证明具有较低精度的乘法和较高精度的累加的融合乘加(fused

multiply

add,FMA)单元在机器学习/人工智能应用中是有用的,最显著的是在训练深度神经网络时是有用的,这是由于其极高的计算强度。相较于经典的IEEE

754 32比特(FP32)和64比特(FP64)算术,此种精度降低的算术在性质上可以与其缩短的宽度不成比例地加速。
附图说明
[0002]将参考附图来描述根据本公开的各示例,在这些附图中:
[0003]图1图示出不同的浮点表示格式。
[0004]图2(A)图示出用于将来自源的、偶数数据元素位置中存储的BF16值转换为FP32值并将该FP32值存储到目的地的数据元素位置中的单个经解码的指令的示例性执行。
[0005]图2(B)图示出用于将来自源的、偶数数据元素位置中存储的BF16值转换为FP32值并将该FP32值存储到目的地的数据元素位置中的单个经解码的指令的示例性执行。
[0006]图3图示出用于处理VCVTNEEBF162PS指令的方法的示例。
[0007]图4图示出用于VCVTNEEBF162PS指令的指令编码的示例。
[0008]图5图示出用于VCVTNEEBF162PS指令的指令伪代码的示例。
[0009]图6(A)图示出用于将来自源的、奇数数据元素位置中存储的BF16值转换为FP32值并将该FP32值存储到目的地的数据元素位置中的单个经解码的指令的示例性执行。
[0010]图6(B)图示出用于将来自源的、奇数数据元素位置中存储的BF16值转换为FP32值并将该FP32值存储到目的地的数据元素位置中的单个经解码的指令的示例性执行。
[0011]图7图示出用于处理VCVTNEOBF162PS指令的方法的示例。
[0012]图8图示出用于VCVTNEOBF162PS指令的指令编码的示例。
[0013]图9图示出用于VCVTNEOBF162PS指令的指令伪代码的示例。
[0014]图10(A)图示出用于将来自源的、偶数数据元素位置中存储的FP16值转换为FP32值并将该FP32值存储到目的地的数据元素位置中的单个经解码的指令的示例性执行。
[0015]图10(B)图示出用于将来自源的、偶数数据元素位置中存储的FP16值转换为FP32值并将该FP32值存储到目的地的数据元素位置中的单个经解码的指令的示例性执行。
[0016]图11图示出用于处理VCVTNEEPH2PS指令的方法的示例。
[0017]图12图示出用于VCVTNEEPH2PS指令的指令编码的示例。
[0018]图13图示出用于VCVTNEEPH2PS指令的指令伪代码的示例。
[0019]图14(A)图示出用于将来自源的、奇数数据元素位置中存储的FP16值转换为FP32值并将该FP32值存储到目的地的数据元素位置中的单个经解码的指令的示例性执行。
[0020]图14(B)图示出用于将来自源的、奇数数据元素位置中存储的FP16值转换为FP32值并将该FP32值存储到目的地的数据元素位置中的单个经解码的指令的示例性执行。
[0021]图15图示出用于处理VCVTNEOPH2PS指令的方法的示例。
[0022]图16图示出用于VCVTNEOPH2PS指令的指令编码的示例。
[0023]图17图示出用于VCVTNEOPH2PS指令的指令伪代码的示例。
[0024]图18图示出用于处理诸如以上详细说明的指令中的任一指令之类的指令的硬件的示例。
[0025]图19图示出示例性系统的示例。
[0026]图20图示出可具有多于一个的核心、可具有集成存储器控制器、并且可具有集成图形器件的处理器的示例的框图。
[0027]图21(A)是图示出根据示例的示例性有序管线和示例性寄存器重命名、乱序发出/执行管线两者的框图。
[0028]图21(B)是图示根据示例的要包括在处理器中的有序体系结构核心的示例性示例和示例性寄存器重命名、乱序发出/执行体系结构核心两者的框图。
[0029]图22图示出(一个或多个)执行单元电路的示例,诸如图21(B)的(一个或多个)执行单元电路。
[0030]图23是根据一些示例的寄存器体系结构的框图。
[0031]图24图示出指令格式的示例。
[0032]图25图示出寻址字段的示例。
[0033]图26图示出第一前缀的示例。
[0034]图27(A)

图27(D)图示出如何使用第一前缀2401(A)的R、X和B字段的示例。
[0035]图28(A)

图28(B)图示出第二前缀的示例。
[0036]图29图示出第三前缀的示例。
[0037]图30图示根据示例的对照使用软件指令转换器将源指令集中的二进制指令转换成目标指令集中的二进制指令的框图。
具体实施方式
[0038]本公开涉及用于数据元素转换的方法、装置、系统和非暂态计算机可读存储介质。
[0039]图1图示出不同的浮点表示格式。在该图示中,这些格式是低位优先(little endian)格式,然而在一些示例中使用高位优先(big endian)格式。FP32格式101具有符号比特(S)、8比特指数、以及23比特分数(使用隐式比特的24比特尾数)。FP16格式103具有符号比特(S)、5比特指数、以及10比特分数。BF16格式105具有符号比特(S)、8比特指数、以及7比特分数。
[0040]相较于IEEE 754标准化16比特(FP16)变型,BF16在与FP32相比较时在值域上没有妥协。FP32数具有8比特指数和24比特尾数(包括1个隐式比特)。BF16从24比特FP32尾数截取16比特来创建16比特浮点数据类型。相比之下,FP16粗略地将FP32尾数分半为10个显式比特并将指数减少至5比特,以适配16比特数据类型包络。
[0041]相比于FP16,虽然BF16提供较低的精度,但它典型地更适合于支持深度学习任务。由于FP16的有限的值域,因此其值域不足以完成盒外(out

of

the

box)深度学习训练。BF16不受此问题影响,并且有限的精度实际上可有助于概括神经网络训练任务中所学的权重。换言之,较低的精度可以被看作提供内置的正则化属性。
[0042]不是所有的处理器都具有对所有数据类型的支持。例如,在一些示例中,下面详述的执行电路不具有FP16和/或BF16执行支持。换言之,执行电路不能原生地以这些格式工
作,并且到FP32的转换允许执行电路能够处置先前不支持的数据类型。由此,不需要构建对FP16和/或BF16的支持,该支持占用面积并且可能会消耗更多功率。本文详细说明了将源的奇数B本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种装置,包括:解码器电路,所述解码器电路用于对单个指令进行解码,所述单个指令包括用于以下各项的字段:操作码、源操作对象的标识和目的地操作对象的标识,其中所述操作码用于指示指令处理电路要进行:将来自所标识的源操作对象的奇数16比特浮点值转换为32比特浮点值,以及将所述32比特浮点值存储在所标识的目的地操作对象的数据元素位置中;以及指令处理电路,所述指令处理电路用于根据所述操作码来执行经解码的指令。2.如权利要求1所述的装置,其中,用于第一源操作对象的标识符的字段用于标识向量寄存器。3.如权利要求1所述的装置,其中,用于第一源操作对象的标识符的字段用于标识存储器位置。4.如权利要求1

3中的任一项所述的装置,其中,所述16比特浮点值是BF16值。5.如权利要求4所述的装置,其中,指令处理电路用于通过将16个零附加到所述BF16值中的每个BF16值来将所述BF16值转换为32比特浮点值。6.如权利要求1

3中的任一项所述的装置,其中,所述16比特浮点值是FP16值。7.一种方法,包括:将第一指令集的单个指令转译为第二指令集的一个或多个指令,所述单个指令包括用于以下各项的字段:操作码、源操作对象的标识和目的地操作对象的标识,其中所述操作码用于指示指令处理电路要进行:将来自所标识的源操作对象的奇数16比特浮点值转换为32比特浮点值,以及将所述32比特浮点值存储在所标识的目的地操作对象的数据元素位置中;对所述第二指令集的一个或多个指令进行解码;以及根据所述第一指令集的所述单个指令的所述操作码,执行所述第二指令集的经解码的一个或多个指令。8.如权利要求7所述的方法,其中,用于第一源操作对象的标识符的字段用于标识向量寄...

【专利技术属性】
技术研发人员:R
申请(专利权)人:英特尔公司
类型:发明
国别省市:

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

1