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

浮点缩放处理器、方法、系统和指令技术方案

技术编号:10428375 阅读:153 留言:0更新日期:2014-09-12 19:00
一方面的一种方法包括接收浮点缩放指令。浮点缩放指令指示包括一个或多个浮点数据元素的第一源、包括一个或多个相应浮点数据元素的第二源、以及目的地。响应于浮点缩放指令,将结果存储在目的地中。结果包括一个或多个相应结果浮点数据元素,每个结果浮点数据元素都包括第二源的相应浮点数据元素乘以第一源的一个或多个浮点数据元素的基数的代表第一源的相应浮点数据元素的整数次幂。公开了其它方法、装置、系统和指令。

【技术实现步骤摘要】
【国外来华专利技术】浮点缩放处理器、方法、系统和指令
技术介绍

实施例涉及处理器。具体地,实施例涉及响应于浮点缩放指令对浮点数进行缩放的处理器。背景信息浮点数通常用在处理器、计算机系统和其它电子设备中。浮点数的一个优点是它们允许以相对紧凑的数值格式和/或位数表示宽范围的数值。现有技术中已知若干不同的浮点格式。浮点格式通常将用于表示浮点数的位分配成若干连续字段,称为浮点数的符号、有效位和指数。在本领域中已知用于处理浮点数的各种机器指令。例如,本领域中已知用于在浮点和整数值之间转换的机器指令。【附图说明】可通过参考以下描述以及用于示出实施例的附图最佳地理解本专利技术。在附图中:图1是具有含一个或多个浮点缩放指令的指令集的处理器的实施例的框图。图2是具有 操作用于执行浮点缩放指令的实施例的浮点执行单元的指令处理装置的实施例的框图。图3是示出可响应于浮点缩放指令的实施例而执行的浮点缩放操作的实施例的框图。图4A-E是示出适当的浮点格式的示例实施例的框图。图5是处理浮点缩放指令的实施例的方法的实施例的流程框图。图6A-C是示出可对打包32位单精度浮点数据执行的浮点缩放操作的实施例的框图。图7A-B是示出可对打包64位双精度浮点数据执行的浮点缩放操作的实施例的框图。图8是示出可对标量32位单精度浮点数据执行的浮点缩放操作的实施例的框图。图9是示出可对标量64位双精度浮点数据执行的浮点缩放操作的实施例的框图。图10是具有数据元素广播的浮点缩放操作的实施例的框图。图11是示出经掩码的浮点缩放操作的实施例的框图。图12是示出打包数据操作掩码寄存器的实施例的框图。图13是示出带加法的浮点缩放操作的实施例的框图。图14是浮点缩放指令的指令格式的实施例的框图。图15是打包数据寄存器的实施例的框图。图16是包括存储浮点缩放指令的机器可读存储介质的制品的框图。图17A是示出根据本专利技术的实施例的通用向量友好指令格式及其A类指令模板的框图。图17B是示出根据本专利技术的实施例的通用向量友好指令格式及其B类指令模板的框图。图18是示出根据本专利技术的实施例的示例性专用向量友好指令格式的框图。图18B是示出根据本专利技术的一个实施例的构成完整操作码字段的具有专用向量友好指令格式的字段的框图。图18C是示出根据本专利技术的一个实施例的构成寄存器索引字段的具有专用向量友好指令格式的字段的框图。图18D是示出根据本专利技术的一个实施例的构成扩充操作字段的具有专用向量友好指令格式的字段的框图。图19是根据本专利技术的一个实施例的寄存器架构的框图。图20A是示出根据本专利技术的实施例的示例性有序流水线以及示例性寄存器重命名的无序发布/执行流水线两者的框图。图20B示出处理器核,该处理器核包括耦合到执行引擎单元的前端单元,并且两者耦合到存储器单元。图21A是根据本专利技术的实施例的连接到管芯上互联网络且具有第二级(L2)高速缓存的本地子集2104的单处理器核的框图。图21B是根据本专利技术的各实施例的图21A中的处理器核的一部分的展开图。图22是根据本专利技术的实施例的可具有一个以上的核、可具有集成存储器控制器、并且可具有集成图形器件的处理器的框图。图23所示为根据本专利技术的一个实施例的系统的框图。图24所示为根据本专利技术的实施例的更具体的第一示例性系统的框图。图25所示为根据本专利技术的一实施例的更具体的第二示例性系统的框图。图26所示为根据本专利技术的实施例的SoC的框图。图27是根据本专利技术的各实施例的对照使用软件指令转换器将源指令集中的二进制指令转换成目标指令集中的二进制指令的框图。详细描述本文公开了浮点缩放指令,用于执行浮点缩放指令的处理器,在处理或执行浮点缩放指令时处理器执行的方法,以及合并了一个或多个处理器以处理或执行浮点缩放指令的系统。本文中公开的各种处理器和系统中的任一者是合适的。在以下描述中,阐述众多特定细节(例如,特定处理器配置、操作序列、指令格式、浮点格式、微架构细节等)。然而,在没有这些具体细节的情况下,可实践实施例。在其他实例中,未详细示出公知电路、结构和技术,以避免混淆对本描述的理解。对浮点数进行缩放常常是有用的。对浮点数进行缩放是指将浮点数乘以基数的另一数字次幂。具体地,通过将每个浮点数乘以基数的整数次幂来缩放浮点数常常是有用的。通常,整数次幂是从另一浮点数导出的。这种对浮点数的缩放的一个示例性用途是在从分开的指数和有效位对重构浮点数时。作为示例,浮点数的指数和有效位可从彼此提取出或彼此分开,并且随后分开的指数和有效位可分开地通过一系列计算被处理。随后,在这种分开的处理之后,可通过组合其被分开处理的指数和有效位来重新组装或重构浮点数。对浮点数的缩放还可用于其他目的(例如,作为对浮点数的一般操作,结合处理指数、平方根、对数、三角函数、以及其他超越函数等)。图1是具有含一个或多个浮点缩放指令103的指令集102的处理器100的实施例的框图。该处理器可以是各种复杂指令集计算(CISC)处理器、各种精简指令集计算(RISC)处理器、各种超长指令字(VLIW)处理器、其各种混合、或完全其他类型的处理器中的任何处理器。在一些实施例中,处理器可以是通用处理器(例如,具有在台式、膝上型、以及类似计算机中使用的类型的通用微处理器)。替换地,处理器可以是专用处理器。合适的专用处理器的示例包括但不限于,网络处理器、通信处理器、加密处理器、图形处理器、协处理器、嵌入式处理器、数字信号处理器(DSP)、浮点协处理器以及控制器(例如,微控制器),仅列举数例。处理器具有指令集架构(ISA) 101。ISA表示处理器的架构中涉及编程的那部分。ISA通常包括原生指令、架构寄存器、数据类型、寻址模式、存储器架构、中断和异常处理以及处理器的外部输入和输出(I/O)。ISA与微架构不同,微架构通常表示被选择用于实现ISA的特定处理器设计技术。带有不同的微架构的处理器可以共享共同的ISA。ISA包括处理器支持的指令集102。指令集的这些指令表示宏指令(例如,提供给处理器以供执行的指令),与微指令或微操作(例如,处理器的解码器解码宏指令得到的微指令或微操作)不同。指令集包括一个或多个浮点缩放指令103。以下将进一步公开浮点缩放指令的各不同实施例。处理器还包括浮点执行逻辑108,该逻辑操作用于执行或处理浮点缩放指令103。ISA还包括架构可视的寄存器(例如,架构寄存器组)104。架构寄存器通常表示管芯上的处理器存储位置。架构寄存器此处也可以被简称为寄存器。短语架构寄存器、寄存器组、以及寄存器在本申请中用于表示对软件和/或编程者可见(例如,软件可见的)的寄存器和/或由通用宏指令指定用来标识操作数的寄存器,除非另外指定或清楚地明显可知。这些寄存器与给定微架构中的其他非架构的或非在架构上可见的寄存器(例如,指令所使用的临时寄存器、重新排序缓冲器、引退寄存器等等)不同。所示出的架构寄存器包括打包数据寄存器105。每个打包数据寄存器可操作用于存储打包数据、向量数据或者SIMD数据。在一些实施例中,打包数据寄存器可用于存储与浮点缩放指令103相关联的打包浮点数据。在一些实施例中,打包数据寄存器还能够存储整数数据,但这不是必须的。在一些实施例中,打包数据寄存器可用于存储与浮点缩放指令相关联的标量浮点数据。或者,架构寄存器可包本文档来自技高网...
浮点缩放处理器、方法、系统和指令

【技术保护点】
一种方法,包括:接收浮点缩放指令,所述浮点缩放指令指示包括一个或多个不必具有整数值的浮点数据元素的第一源,指示包括一个或多个相应浮点数据元素的第二源,并且指示目的地;以及响应于所述浮点缩放指令将结果存储在所述目的地中,所述结果包括一个或多个相应结果浮点数据元素,所述一个或多个结果浮点数据元素中的每一个都包括第二源的相应浮点数据元素乘以基数的代表第一源的相应浮点数据元素的整数次幂。

【技术特征摘要】
【国外来华专利技术】1.一种方法,包括: 接收浮点缩放指令,所述浮点缩放指令指示包括一个或多个不必具有整数值的浮点数据元素的第一源,指示包括一个或多个相应浮点数据元素的第二源,并且指示目的地;以及 响应于所述浮点缩放指令将结果存储在所述目的地中,所述结果包括一个或多个相应结果浮点数据元素,所述一个或多个结果浮点数据元素中的每一个都包括第二源的相应浮点数据元素乘以基数的代表第一源的相应浮点数据元素的整数次幂。2.如权利要求1所述的方法,其特征在于,还包括响应于所述浮点缩放指令来确定代表第一源的一个或多个相应浮点数据元素的一个或多个整数。3.如权利要求2所述的方法,其特征在于,确定一个或多个整数包括确定选自以下的整数:(I)小于或等于第一源的相应浮点数据元素的最大整数;以及(2)大于或等于第一源的相应浮点数据元素的最小整数。4.如权利要求1所述的方法,其特征在于,所述第一和第二源中的每一者都包括多个打包浮点数据元素,并且其中所述结果包括相应的多个打包结果浮点数据元素。5.如权利要求1所述的方法,其特征在于,接收包括接收指示第一源的浮点缩放指令,第一源包括为非数(NaN)、正无穷大、负无穷大、以及非规格化数之一的浮点数据元素。6.如权利要求1所述的方法,其特征在于,接收包括接收指示含有为非数(NaN)的浮点数据元素的第二源的浮 点缩放指令,并且其中存储包括存储含有也为NaN的相应结果浮点数据元素的结果。7.如权利要求1所述的方法,其特征在于,接收包括接收进一步指示第三组一个或多个相应浮点数据元素的所述浮点缩放指令,并且其中存储包括存储含有一个或多个结果浮点数据元素的结果,每个结果浮点数据元素都包括第二源的相应浮点数据元素乘以基数的代表第一源的相应浮点数据元素的整数次幂加上第三组的相应浮点数据元素。8.如权利要求1所述的方法,其特征在于,接收包括接收指示第一源的浮点缩放指令,第一源包括以下之一:(I)至少八个双精度浮点数据元素;以及(2)至少十六个单精度浮点数据元素。9.如权利要求1所述的方法,其中所述基数是2。10.如权利要求1所述的方法,其特征在于,接收包括接收指示含有单个浮点数据元素的第一源和指示含有多个打包浮点数据元素的第二源的浮点缩放指令,并且其中存储包括存储含有多个打包结果浮点数据元素的结果,每个打包结果浮点数据元素对应于第二源的所述多个打包浮点数据元素之一,所述多个打包结果浮点数据元素中的每一个都包括第二源的相应浮点数据元素乘以基数的代表第一源的所述单个浮点数据元素的整数次幂。11.如权利要求1所述的方法,其特征在于,接收包括接收进一步指示打包数据操作掩码的浮点缩放指令,并且其中存储结果包括根据所述打包数据操作掩码在结果中有条件地存储经缩放的浮点数据元素。12.一种装置,包括: 多个寄存器;以及 与所述多个寄存器耦合的浮点执行单元,所述浮点执行单元用于响应于浮点缩放指令将结果存储在目的地中,所述浮点缩放指令指示包括一个或多个不必具有整数值的浮点数据元素的第一源、指示包括一个或多个相应浮点数据元素的第二源、并且指示所述目的地,所述结果包括一个或多个相应结果浮点数据元素,所述一个或多个结果浮点数据元素中的每一个都包括第二源的相应浮点数据元素乘以基数的代表第一源的相应浮点数据元素的整数次幂。13.如权利要求12所述的装置,其特征在于,所述浮点执行单元响应于所述浮点缩放指令来确定代表第一源的一个或多个相应浮点数据元素的一个或多个整数。14.如权利要求12所述的装置,其特征在于,所述浮点执行单元响应于所述浮点缩放指令来确定选自以下的整数:(I)小于或等于第一源的相应浮点数据元素的最大整数;以及(2)大于或等于第一源的相应浮点数据元素的最小整数。15.如权利要求12所述的装置,其特征在于,所述浮点缩放指令指示第一源,第一源包括为非数(NaN)、正无穷大、负无穷大、以及非规格化数...

【专利技术属性】
技术研发人员:C·S·安德森A·格雷德斯廷R·凡伦天S·卢巴诺维奇B·艾坦
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1