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

用于将浮点值从半精度转换为单精度的装置和方法制造方法及图纸

技术编号:21273111 阅读:55 留言:0更新日期:2019-06-06 07:44
本申请公开了用于将浮点值从半精度转换为单精度的装置和方法。本发明专利技术的实施例是处理器,包括执行电路,用于:响应于经解码的指令,将半精度浮点值转换为单精度浮点值,并且将单精度浮点值存储在目的地寄存器的多个元素位置中的每一个中。处理器还包括解码器和目的地寄存器。解码器用于对指令解码以生成经解码的指令。

Device and Method for Converting Floating Point Value from Semi-Precision to Single-Precision

This application discloses devices and methods for converting floating point values from semi-precision to single-precision. An embodiment of the present invention is a processor including an execution circuit for converting a semi-precision floating point value into a single-precision floating point value in response to a decoded instruction and storing a single-precision floating point value in each of the plurality of element locations of the destination register. The processor also includes a decoder and a destination register. The decoder is used to decode instructions to generate decoded instructions.

【技术实现步骤摘要】
用于将浮点值从半精度转换为单精度的装置和方法
本专利技术的实施例一般涉及计算机处理器的领域。更具体地,实施例涉及用于将浮点值从半精度转换为单精度的装置和方法。
技术介绍
指令集或指令集架构(ISA)是计算机架构中涉及编程的部分,包括原生数据类型、指令、寄存器架构、寻址模式、存储器架构、中断和异常处置、以及外部输入和输出(I/O)。应当注意,术语“指令”在本文中一般是指宏指令——即,提供给处理器以供执行的指令——而不是微指令或微操作——即,该微指令或微操作是处理器的解码器解码宏指令的结果。微指令或微操作可以被配置成用于指示处理器上的执行单元执行操作以实现与宏指令相关联的逻辑。ISA与微架构不同,微架构是用于实现指令集的处理器设计技术的集合。具有不同微架构的处理器可以共享公共指令集。例如,奔腾4(Pentium4)处理器、酷睿TM(CoreTM)处理器、以及来自加利福尼亚州桑尼威尔(Sunnyvale)的超微半导体有限公司(AdvancedMicroDevices,Inc.)的多个处理器实现几乎相同版本的x86指令集(具有已随更新的版本加入的一些扩展),但具有不同的内部设计。例如,ISA的相同寄存器架构在不同的微架构中可使用公知的技术以不同方法来实现,包括专用物理寄存器、使用寄存器重命名机制(例如,使用寄存器别名表(RAT)、重排序缓冲器(ROB)和引退寄存器堆)的一个或多个动态分配的物理寄存器。除非另外指定,否则短语“寄存器架构”、“寄存器堆”和“寄存器”在本文中用于指代对软件/编程者以及对指令指定寄存器的方式可见的寄存器架构、寄存器堆和寄存器。在需要区分的情况下,形容词“逻辑的”、“架构的”,或“软件可见的”将用于指示寄存器架构中的寄存器/寄存器堆,而不同的形容词将用于规定给定微架构中的寄存器(例如,物理寄存器、重排序缓冲器、引退寄存器、寄存器池)。附图说明在所附附图中以示例方式而非限制方式来图示本专利技术,在附图中,类似的附图标记指示类似的要素,其中:图1A-1B是图示根据本专利技术的实施例的通用向量友好指令格式及其指令模板的框图;图1A是图示根据本专利技术的实施例的通用向量友好指令格式及其A类指令模板的框图;图1B是图示根据本专利技术的实施例的通用向量友好指令格式及其B类指令模板的框图;图2A是图示根据本专利技术的实施例的示例性专用向量友好指令格式的框图;图2B是图示根据本专利技术的一个实施例的构成完整操作码字段174的具有专用向量友好指令格式200的字段的框图;图2C是图示根据本专利技术的一个实施例的构成寄存器索引字段144的具有专用向量友好指令格式200的字段的框图;图2D是图示根据本专利技术的一个实施例的构成扩充操作字段150的具有专用向量友好指令格式200的字段的框图;图3是根据本专利技术的一个实施例的寄存器架构300的框图;图4A是图示根据本专利技术的实施例的示例性有序流水线以及示例性寄存器重命名的乱序发布/执行流水线两者的框图;图4B是图示根据本专利技术的实施例的要包括在处理器中的有序架构核的示例性实施例和示例性寄存器重命名的乱序发布/执行架构核的框图;图5A-B图示更具体的示例性核架构的框图,该核将是芯片中的若干逻辑块之一(包括相同类型和/或不同类型的其他核);图5A是根据本专利技术的实施例的单个处理器核连同它与管芯上互连网络502的连接以及其第二级(L2)高速缓存的本地子集504的框图;图5B是根据本专利技术的实施例的图5A中的处理器核的一部分的展开图;图6是根据本专利技术的实施例的可具有多于一个的核、可具有集成存储器控制器、并且可具有集成图形器件的处理器600的框图;图7-10是示例性计算机架构的框图;图7示出根据本专利技术的一个实施例的系统的框图;图8是根据本专利技术的实施例的第一更具体的示例性系统的框图;图9是根据本专利技术的实施例的第二更具体的示例性系统的框图;图10是根据本专利技术的实施例的SoC的框图;图11是根据本专利技术的实施例的对照使用软件指令转换器将源指令集中的二进制指令转换成目标指令集中的二进制指令的框图;图12是根据本专利技术的实施例的用于将浮点值从半精度转换为单精度的装置的框图;图13是根据本专利技术的实施例的用于将浮点值从半精度转换为单精度的方法的流程图。图14A和14B图示具有用于指令的与半精度浮点使用相关的字段的FP16控制和状态寄存器的实施例。具体实施方式在以下描述中,陈述了众多具体细节。然而,应当理解,可在没有这些特定细节的情况下实践本专利技术的实施例。在其他实例中,未详细示出公知的电路、结构和技术,以免使对本描述的理解模糊。说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用表明所描述的实施例可以包括特定的特征、结构或特性,但是每个实施例可能不一定都包括该特定的特征、结构或特性。此外,此类短语不一定是指同一个实施例。此外,当结合实施例描述特定的特征、结构或特性时,认为结合无论是否被明确描述的其他实施例而影响此类特征、结构或特性是在本领域技术人员的知识范围之内的。如在本说明书和权利要求书中所使用,除非以其他方式指定,否则用于描述要素的序数词“第一”、“第二”、“第三”等仅仅指示正在引用要素的特定实例或类似要素的不同实例,并且不旨在暗示如此描述的这些要素在时间上、空间上、按等级或按任何其他方式必须按照特定的序列。根据本专利技术的实施例的将由处理器核执行的指令可以以下文详细描述的“通用向量友好指令格式”来实现。在其他实施例中,不利用此类格式而使用另一指令格式,然而,下文对写掩码寄存器、各种数据变换(混合、广播等)、寻址等的描述一般适用于上文(多个)指令的实施例的描述。另外,下文详细描述示例性系统、架构和流水线。指令可在此类系统、架构和流水线上执行,但是不限于详述的那些系统、架构和流水线。指令集指令集可以包括一个或多个指令格式。给定的指令格式可定义各种字段(例如,位的数量、位的位置)以指定将要执行的操作(例如,操作码)以及将对其执行该操作的(多个)操作数和/或(多个)其他数据字段(例如,掩码)等等。通过指令模板(或子格式)的定义来进一步分解一些指令格式。例如,可将给定指令格式的指令模板定义为具有该指令格式的字段(所包括的字段通常按照相同顺序,但是至少一些字段具有不同的位的位置,因为较少的字段被包括)的不同子集,和/或定义为具有以不同方式进行解释的给定字段。由此,ISA的每一条指令使用给定的指令格式(并且如果经定义,则按照该指令格式的指令模板中的给定的一个指令模板)来表达,并包括用于指定操作和操作数的字段。例如,示例性ADD(加法)指令具有特定的操作码和指令格式,该特定的指令格式包括用于指定该操作码的操作码字段和用于选择操作数(源1/目的地以及源2)的操作数字段;并且该ADD指令在指令流中出现将使得在操作数字段中具有选择特定操作数的特定的内容。已经推出和/或发布了被称为高级向量扩展(AVX、AVX2和AVX-512)和利用向量扩展(VEX)编码方案的SIMD扩展集(参见例如2014年9月的64和IA-32架构软件开发者手册;2014年10月的高级向量扩展编程参考;以及2016年10月的架构指令集扩展编程参考)。示例性指令格式本文中所描述的(多条)指令的实施例能以不同的格式体现。另外,在下文中详述示例性系统、架构和流水线。(本文档来自技高网...

【技术保护点】
1.一种用于将浮点值从半精度转换为单精度的处理器,包括:解码器,用于对第一指令解码以生成第一经解码的指令;目的地寄存器,具有多个元素位置;执行电路,用于执行所述第一经解码的指令,其中所述第一经解码的指令的执行用于包括:将半精度浮点值转换为单精度浮点值,并且将所述单精度浮点值存储在所述目的地寄存器的所述多个元素位置中的每一个中。

【技术特征摘要】
2017.11.28 US 15/824,3391.一种用于将浮点值从半精度转换为单精度的处理器,包括:解码器,用于对第一指令解码以生成第一经解码的指令;目的地寄存器,具有多个元素位置;执行电路,用于执行所述第一经解码的指令,其中所述第一经解码的指令的执行用于包括:将半精度浮点值转换为单精度浮点值,并且将所述单精度浮点值存储在所述目的地寄存器的所述多个元素位置中的每一个中。2.如权利要求1所述的处理器,其特征在于,所述第一指令包括用于指定将从其中接收所述半精度浮点值的源位置的第一字段。3.如权利要求2所述的处理器,其特征在于,所述源位置是系统存储器中的位置。4.如权利要求2所述的处理器,其特征在于,进一步包括源寄存器,其中所述源位置是所述源寄存器。5.如权利要求2所述的处理器,其特征在于,所述半精度浮点值是将由将存储在所述源位置中的第一向量表示的第一组半精度浮点值中的一个。6.如权利要求5所述的处理器,其特征在于,所述半精度浮点值用于存储在所述源位置的最低元素位置中。7.如权利要求1所述的处理器,其特征在于,所述指令用于包括用于提供广播指示符的第二字段。8.如权利要求7所述的处理器,其特征在于,所述第一经解码的指令的执行用于包括:响应于确定所述广播指示符被置位,将所述单精度浮点值存储在所述目的地寄存器的所述多个元素位置中的每一个中。9.如权利要求8所述的处理器,其特征在于,所述第一经解码的指令的执行用于包括:响应于确定所述广播指示符未被置位,将多个半精度浮点值中的每一个转换为单精度浮点值,并且将单精度浮点值中的每一个存储在所述目的地寄存器的所述多个元素位置中的每一个中。10.一种用于将浮点值从半精度转换为单精度的方法,包括:对第一指...

【专利技术属性】
技术研发人员:R·凡伦天M·查尼R·萨德E·乌尔德阿迈德瓦尔J·科巴尔
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1