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

用于执行指令以转换成16位浮点格式的系统和方法技术方案

技术编号:27740828 阅读:21 留言:0更新日期:2021-03-19 13:33
本公开涉及用于执行指令以转换成16位浮点格式的系统和方法。在一个实施例中,处理器包括:提取电路,所述提取电路用于提取指令,所述指令具有字段,所述字段用于指定操作码以及包括N个单精度元素的第一源向量和包括至少N个16位浮点元素的目标向量的位置,所述操作码指示执行电路将所述第一源向量的每个元素转换为16位浮点格式,并且将每个经转换的元素存储到所述目标向量的对应位置中,该转换在必要时包括截断和舍入;解码电路,用于对所述指令进行解码;以及执行电路,用于根据所述操作码来对所述指令作出响应。

【技术实现步骤摘要】
用于执行指令以转换成16位浮点格式的系统和方法本申请是申请号为201911045764.1、名称为“用于执行指令以转换成16位浮点格式的系统和方法”的专利技术专利申请的分案申请。
本专利技术的领域概括而言涉及计算机处理器体系结构,更具体而言涉及用于执行指令以转换成16位浮点格式的系统和方法。
技术介绍
指令集,或者说指令集体系结构(instructionsetarchitecture,ISA),是与编程有关的计算机体系结构的一部分,并且可包括原生数据类型、指令、寄存器体系结构、寻址模式、存储器体系结构、中断和异常处理以及外部输入和输出(I/O)。指令集包括一个或多个指令格式。给定的指令格式定义各种字段(位的数目、位的位置)来指定要执行的操作和要在其上执行该操作的(一个或多个)操作对象(operand),等等。给定的指令是使用给定的指令格式来表述的并且指定操作和操作对象。指令流是指令的特定序列,其中序列中的每个指令是某个指令以某种指令格式的出现。科学、金融、自动向量化通用、RMS(识别、挖掘和合成)/视觉和多媒体应用(例如,2D/3D图形、图像处理、视频压缩/解压缩、语音识别算法和音频操纵)经常要求对大量的数据项执行相同的操作(称为“数据并行”)。单指令多数据(SingleInstructionMultipleData,SIMD)指的是使得处理器对多个数据项执行相同操作的一类指令。SIMD技术尤其适合于这样的处理器:这些处理器可将寄存器中的位从逻辑上划分成若干个固定大小的数据元素,每个数据元素表示单独的值。例如,512位寄存器中的位可被指定为要作为十六个单独的32位单精度浮点数据元素被操作的源操作对象。作为另一示例,256位寄存器中的位可被指定为要被作为十六个单独的16位浮点紧缩数据元素、八个单独的32位紧缩数据元素(双字大小数据元素)或者三十二个单独的8位数据元素(字节(B)大小数据元素)来操作的源操作对象。这类数据被称为紧缩数据类型(packeddatatype)或向量数据类型,并且此数据类型的操作对象被称为紧缩数据操作对象或者向量操作对象。换言之,紧缩数据项或向量指的是紧缩数据元素的序列;并且紧缩数据操作对象或向量操作对象是SIMD指令(也称为紧缩数据指令或向量指令)的源或目标操作对象。作为示例,一类SIMD指令指定要以垂直方式在两个源向量操作对象上执行的单个向量操作,以生成具有相同大小、具有相同数目的数据元素并且按相同的数据元素顺序的目标向量操作对象。源向量操作对象中的数据元素被称为源数据元素,而目标向量操作对象中的数据元素被称为目标或结果数据元素。这些源向量操作对象具有相同大小并且包含相同宽度的数据元素,从而它们包含相同数目的数据元素。在两个源向量操作对象中处于相同位位置的源数据元素形成数据元素的对(也称为对应数据元素;也就是说,每个源操作对象的数据元素位置0中的数据元素相对应,每个源操作对象的数据元素位置1中的数据元素相对应,等等依此类推)。由该SIMD指令指定的操作被在这些对源数据元素的每一对上分别执行以生成匹配数目的结果数据元素,从而每对源数据元素具有相应的结果数据元素。由于操作是垂直的并且由于结果向量操作对象是相同大小、具有相同数目的数据元素并且结果数据元素被按与源向量操作对象相同的数据元素顺序存储,所以与其在源向量操作对象中的相应对源数据元素一样,结果数据元素处于结果向量操作对象的相同位位置中。除了这种示范性类型的SIMD指令以外,还存在各种其他类型的SIMD指令。处理具有单精度的向量的一些应用改为使用16位浮点格式向量也具有几乎等同的性能。
技术实现思路
根据本公开的第一方面,提供了一种处理器,包括:提取电路,所述提取电路用于提取指令,所述指令具有字段,所述字段用于指定操作码以及包括N个单精度元素的第一源向量和包括至少N个16位浮点元素的目标向量的位置,所述操作码指示执行电路将所述第一源向量的每个元素转换为16位浮点格式,并且将每个经转换的元素存储到所述目标向量的对应位置中,该转换在必要时包括截断和舍入;解码电路,所述解码电路用于对所述指令进行解码;以及执行电路,所述执行电路用于根据所述操作码来对所述指令作出响应。根据本公开的第二方面,提供了一种系统,包括处理器和存储器,所述处理器包括:提取电路,所述提取电路用于提取指令,所述指令具有字段,所述字段用于指定操作码以及包括N个单精度元素的第一源向量和包括至少N个16位浮点元素的目标向量的位置,所述操作码指示执行电路将所述第一源向量的每个元素转换为16位浮点格式,并且将每个经转换的元素存储到所述目标向量的对应位置中,该转换在必要时包括截断和舍入;解码电路,所述解码电路用于对所述指令进行解码;以及执行电路,所述执行电路用于根据所述操作码来对所述指令作出响应。根据本公开的第三方面,提供了一种由处理器执行的方法,所述方法包括:使用提取电路提取指令,所述指令具有字段,所述字段用于指定操作码以及包括N个单精度元素的第一源向量和包括至少N个16位浮点元素的目标向量的位置,所述操作码指示执行电路将所述第一源向量的每个元素转换为16位浮点格式,并且将每个经转换的元素存储到所述目标向量的对应位置中,该转换在必要时包括截断和舍入;使用解码电路对所述指令进行解码;并且使用执行电路根据所述操作码来对所述指令作出响应。根据本公开的第四方面,提供了一种机器可读介质,该机器可读介质包括代码,所述代码在被执行时使机器执行根据本公开第三方面所述的方法。附图说明图1是根据一实施例图示出用于执行格式转换(或)指令的处理组件的框图;图2A是根据一实施例图示出格式转换()指令的执行的框图;图2B是根据一实施例图示出格式转换()指令的执行的框图;图2C是根据一实施例图示出格式转换()指令的执行的框图;图2D是根据一实施例图示出2输入格式转换()指令的执行的框图;图3A是根据一实施例图示出格式转换()指令的示范性执行的伪代码;图3B是根据一实施例图示出2输入格式转换()指令的示范性执行的伪代码;图3C是根据一实施例图示出用于图3A和3B的伪代码的帮助函数的伪代码;图4A是根据一实施例图示出响应格式转换()指令的处理器的过程流程图;图4B是根据一实施例图示出响应2输入格式转换()指令的处理器的过程流程图;图5A是根据一实施例图示出格式转换(VCVTNEPS2BF16)指令的格式的框图;图5B是根据一实施例图示出2输入格式转换(VCVTNE2PS2BF16)指令的格式的框图;图6A-6B是根据本专利技术的一些实施例图示出通用向量友好指令格式及其指令模板的框图;图6A是根据本专利技术的一些实施例图示出通用向量友好指令格式及其类别A指令模板的框图;图6B是根据本专利技术的一些实施例图示出通用向量友好指令格式及其类别B指令模板的框图;图7A是根据本专利技术的一些实施例图示出示范性特定向量友好指令格式的框图;图7B是根据一个实施例图示出构成本文档来自技高网
...

【技术保护点】
1.一种芯片包括:/n多个存储器控制器;/n二级L2缓存存储器,耦合到所述多个存储器控制器;/n处理器,耦合到所述多个存储器控制器,并且耦合到所述L2缓存存储器,所述处理器具有多个核心,所述多个核心包括响应于格式转换指令来执行以下操作的核心,所述核心具有包括第一32位单精度浮点数据元素的第一源操作对象和包括第二32位单精度浮点数据元素的第二源操作对象:/n将所述第一32位单精度浮点数据元素转换为第一16位浮点数据元素,其中,当所述第一32位单精度浮点数据元素为普通数据元素时,根据由所述格式转换指令指定的舍入模式执行转换,并且所述第一16位浮点数据元素具有符号位、8位指数、七个显式尾数位和一个隐式尾数位,并且其中,当所述第一32位单精度浮点数据元是非数据NaN数据元素时,所述第一16位浮点数据元素具有最高有效位被设置为1的尾数;/n将所述第二32位单精度浮点数据元素转换为第二16位浮点数据元素,其中,当所述第二32位单精度浮点数据元素为普通数据元素时,根据所述舍入模式执行转换,并且所述第二16位浮点数据元素具有符号位、8位指数、七个显式尾数位和一个隐式尾数位,并且其中,当所述第二32位单精度浮点数据元是NaN数据元素时,所述第二16位浮点数据元素具有最高有效位被设置为1的尾数;以及/n将所述第一16位浮点数据元素存储在目标寄存器的低阶一半部分,并且将所述第二16位浮点数据元素存储在所述目标寄存器的高阶一半部分;/n互连件,耦合到所述处理器;以及/n总线控制器,耦合到所述处理器。/n...

【技术特征摘要】
20181109 US 16/186,3841.一种芯片包括:
多个存储器控制器;
二级L2缓存存储器,耦合到所述多个存储器控制器;
处理器,耦合到所述多个存储器控制器,并且耦合到所述L2缓存存储器,所述处理器具有多个核心,所述多个核心包括响应于格式转换指令来执行以下操作的核心,所述核心具有包括第一32位单精度浮点数据元素的第一源操作对象和包括第二32位单精度浮点数据元素的第二源操作对象:
将所述第一32位单精度浮点数据元素转换为第一16位浮点数据元素,其中,当所述第一32位单精度浮点数据元素为普通数据元素时,根据由所述格式转换指令指定的舍入模式执行转换,并且所述第一16位浮点数据元素具有符号位、8位指数、七个显式尾数位和一个隐式尾数位,并且其中,当所述第一32位单精度浮点数据元是非数据NaN数据元素时,所述第一16位浮点数据元素具有最高有效位被设置为1的尾数;
将所述第二32位单精度浮点数据元素转换为第二16位浮点数据元素,其中,当所述第二32位单精度浮点数据元素为普通数据元素时,根据所述舍入模式执行转换,并且所述第二16位浮点数据元素具有符号位、8位指数、七个显式尾数位和一个隐式尾数位,并且其中,当所述第二32位单精度浮点数据元是NaN数据元素时,所述第二16位浮点数据元素具有最高有效位被设置为1的尾数;以及
将所述第一16位浮点数据元素存储在目标寄存器的低阶一半部分,并且将所述第二16位浮点数据元素存储在所述目标寄存器的高阶一半部分;
互连件,耦合到所述处理器;以及
总线控制器,耦合到所述处理器。


2.根据权利要求1所述的芯片,其中,所述第一16位浮点数据元素和所述第二16位浮点数据元素是第一BF16格式数据元素和第二BF16格式数据元素。


3.根据权利要求1所述的芯片,还包括指令转换器,所述指令转换器用于将所述格式转换指令转换为能够由所述核心执行的不同指令集的一条或多条指令。


4.根据权利要求1至3中任一项所述的芯片,其中,所述多个核心包括图形核心。


5.根据权利要求1至3中任一项所述的芯片,其中,所述多个核心是异质的。


6.根据权利要求1至3中任一项所述的芯片,其中,所述处理器还包括:
第一寄存器,用于存储所述第一32位单精度浮点数据元素;以及
第二寄存器,用于存储所述第二32位单精度浮点数据元素。


7.根据权利要求1至3中任一项所述的晶片,其中,所述处理器包括:
附加的缓存存储器;以及
寄存器文件。


8.一种系统包括:
根据权利要求1至7中任一项所述的芯片;以及
与所述芯片耦合的系统存储器。


9.一种装置,包括:
存储器控制器;
二级L2缓存存储器,耦合到所述多个存储器控制器;
多个核心,耦合到所述多个存储器控制器,并且耦合到所述L2缓存存储器,所述多个核心包括响应于格式转换指令来执行以下操作的核心,所述核心具有包括第一32位单精度浮点数据元素的第一源操作对象和包括第二32位单精度浮点数据元素的第二源操作对象:
将所述第一32位单精度浮点数据元素转换为第一16位浮点数据元素,其中,当所述第一32位单精度浮点数据元素为第一类型时,根据由所述格式转换指令指定的舍入模式执行转换,并且所述第一16位浮点数据元素具有符号位、8位指数、七个显式尾数位和一个隐式尾数位,并且其中,当所述第一32位单精度浮点数据元是与所述第一类型不同的第二类型时,所述第一16位浮点数据元素具有最高有效位被设置为1的尾数;
将所述第二32位单精度浮点数据元素转换为第二16位浮点数据元素,其中,当所述第二32位单精度浮点数据元素为所述第一类型时,根据所述舍入模式执行转换,并且所述第二16位浮点数据元素具有符号位、8位指数、七个显式尾数位和一个隐式尾数位,并且其中,当所述第二32位单精度浮点数据元是所述第二类型时,所述第二16位浮点数据元素具有最高有效位被设置为1的尾数;以及
将所述第一16位浮点数...

【专利技术属性】
技术研发人员:亚力山大·F·海涅克罗伯特·瓦伦泰恩马克·J·查尼拉阿南·萨德梅纳赫姆·阿德尔曼泽夫·斯帕波阿米特·格拉德斯坦西蒙·鲁巴诺维奇
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1