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

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

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

Floating point scaling processor, method, system and instruction

One way is to receive floating point scaling instructions. Floating-point scaling instructions indicate a first source including one or more floating-point data elements, a second source including one or more corresponding floating-point data elements, and a destination. In response to the floating point scaling instruction, the result is stored in the destination. The result includes one or more corresponding result floating-point data elements, each of which includes the corresponding floating-point data element of the second source multiplied by the cardinality of one or more floating-point data elements of the first source representing the integer power of the corresponding floating-point data element of the first source. Other methods, devices, systems and instructions are disclosed.

【技术实现步骤摘要】
浮点缩放处理器、方法、系统和指令本申请是国际申请号为PCT/US2011/067684,国际申请日为2011/12/28,进入国家阶段的申请号为201180076106.4,题为“浮点缩放处理器、方法、系统和指令”的专利技术专利申请的分案申请。
本申请的实施例涉及处理器。具体地,实施例涉及响应于浮点缩放指令对浮点数进行缩放的处理器。
技术介绍
浮点数通常用在处理器、计算机系统和其它电子设备中。浮点数的一个优点是它们允许以相对紧凑的数值格式和/或位数表示宽范围的数值。现有技术中已知若干不同的浮点格式。浮点格式通常将用于表示浮点数的位分配成若干连续字段,称为浮点数的符号、有效位和指数。在本领域中已知用于处理浮点数的各种机器指令。例如,本领域中已知用于在浮点和整数值之间转换的机器指令。附图说明可通过参考以下描述以及用于示出实施例的附图最佳地理解本专利技术。在附图中:图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数据。在一些实施例中,打包数据寄存器可用于存储与浮点缩本文档来自技高网...

【技术保护点】
1.一种处理器,包括:多个向量寄存器,包括第一向量寄存器,以及第二向量寄存器,所述第一向量寄存器用于存储具有多个浮点数据元素的第一源向量;多个掩码寄存器,包括第一掩码寄存器,所述第一掩码寄存器用于存储具有多个掩码元素的掩码;解码单元,用于解码指令,所述指令具有第一字段以指定所述第一向量寄存器,具有第二字段以指定所述第二向量寄存器,并具有第三字段以指定所述第一掩码寄存器;以及浮点执行单元,其与所述解码单元耦合,并与所述多个向量寄存器耦合,所述浮点执行单元用于,响应于对所述指令的解码,将具有多个结果浮点数据元素的结果存储在所述第一向量寄存器中,每个结果浮点数据元素对应于所述第一源向量中的浮点数据元素并对应于所述掩码中的在同一相对位置的掩码元素,每个其对应掩码元素具有第一值的结果浮点数据元素将表示所述第一源向量中的对应浮点数据元素乘以二的整数次幂,该整数从所述第二向量寄存器中对应位置中确定,并且每个其对应掩码元素具有第二值的结果浮点数据元素将包括来自所述第一源向量的对应浮点数据元素。

【技术特征摘要】
1.一种处理器,包括:多个向量寄存器,包括第一向量寄存器,以及第二向量寄存器,所述第一向量寄存器用于存储具有多个浮点数据元素的第一源向量;多个掩码寄存器,包括第一掩码寄存器,所述第一掩码寄存器用于存储具有多个掩码元素的掩码;解码单元,用于解码指令,所述指令具有第一字段以指定所述第一向量寄存器,具有第二字段以指定所述第二向量寄存器,并具有第三字段以指定所述第一掩码寄存器;以及浮点执行单元,其与所述解码单元耦合,并与所述多个向量寄存器耦合,所述浮点执行单元用于,响应于对所述指令的解码,将具有多个结果浮点数据元素的结果存储在所述第一向量寄存器中,每个结果浮点数据元素对应于所述第一源向量中的浮点数据元素并对应于所述掩码中的在同一相对位置的掩码元素,每个其对应掩码元素具有第一值的结果浮点数据元素将表示所述第一源向量中的对应浮点数据元素乘以二的整数次幂,该整数从所述第二向量寄存器中对应位置中确定,并且每个其对应掩码元素具有第二值的结果浮点数据元素将包括来自所述第一源向量的对应浮点数据元素。2.如权利要求1所述的处理器,还包括控制寄存器以存储舍入模式,并且其中所述浮点执行单元,响应于对所述指令的解码,还用于根据所述舍入模式来舍入所述结果浮点数据元素。3.如权利要求1所述的处理器,其特征在于,当所述第一源向量的浮点数据元素为非数(NaN)时,对应的结果浮点数据元素为NaN。4.如权利要求1所述的处理器,其特征在于,所述指令还包括数据元素宽度字段,用于指示所述第一源向量的浮点数据元素的宽度。5.如权利要求4所述的处理器,其特征在于,所述数据元素宽度字段能够将所述第一源向量的浮点数据元素的宽度指示为半精度、单精度和双精度中的任一种。6.如权利要求1所述的处理器,其特征在于,所述多个掩码寄存器包括八个掩码寄存器。7.如权利要求1所述的处理器,其特征在于,所述第一向量寄存器包括512位。8.如权利要求1所述的处理器,还包括:L1高速缓存;以及L2高速缓存。9.如权利要求1所述的处理器,其特征在于,所述处理器是精简指令集计算(RISC)处理器。10.如权利要求1所述的处理器,其特征在于,所述解码单元和所述浮点执行单元被包括在无序核中,并且其中所述无序核包括重排序缓冲器(ROB)。11.如权利要求1所述的处理器,其特征在于,所述第一源向量的所述多个浮点数据元素是64位双精度浮点数据元素,并且其中每个结果浮点数据元素是64位双精度结果浮点数据元素。12.如权利要求1所述的处理器,其特征在于,所述第一源向量具有至少四个64位双精度浮点数据元素。13.一种由处理器执行的方法,该方法包括:在多个向量寄存器中存储数据,包括在第一向量寄存器中存储具有多个浮点数据元素的第一源向量,以及在第二向量寄存器中存储数据;在多个掩码寄存器中存储数据,包括在第一掩码寄存器中存储具有多个掩码元素的掩码;解码指令,所述指令具有指定所述第一向量寄存器的第一字段,指定所述第二向量寄存器的第二字段,以及指定所述第一掩码寄存器的第三字段;以及响应于对所述指令的解码,将具有多个结果浮点数据元素的结果存储在所述第一向量寄存器中,每个结果浮点数据元素对应于所述第一源向量中的浮点数据元素并对应于所述掩码中的在同一相对位置的掩码元素,每个其对应掩码元素具有第一值的结果浮点数据元素表示所述第一源向量中的对应浮点数据元素乘以二的整数次幂,该整数从所述第二向量寄存器中对应位置中确定,并且每个其对应掩码元素具有第二值的结果浮点数据元素包括来自所述第一源向量的对应浮点数据元素。14.如权利要求13所述的方法,还包括:响应于对所述指令的解码,根据存储在控制寄存器中的舍入模式来舍入所述结果浮点数据元素。15.如权利要求13所述的方法,其中,存储所述第一源向量的步骤包括存储其为非数(NaN)的给定浮点数据元素,并且其中存储所述结果的步骤包括:存储对应于所述给定浮点数据元素的、也为NaN的结果浮点数据元素。16.如权利要求13所述的方法,其特征在于,所述解码的步骤包括:解码具有数据元素宽度字段的所述指令,所述数据元素宽度字段将所述第一源向量的浮点数据元素的宽度指示为是半精度浮点。17.如权利要求13所述的方法,其特征在于,所述存储第一源向量的步骤包括:在所述第一向量寄存器中存储至少四个64位双精度浮点数据元素。18.一种制品,包括非瞬态的机器可读存储介质,所述非瞬态的机器可读存储介质包括数个指令,所述数个指令中包括指令,该指令若被机器所执行,将致使所述机器执行操作,包括:在多个向量寄存器中存储数据,包括在第一向量寄存器中存储具有多个浮点数据元素的第一源向量,以及在第二向量寄存器中存储数据;在多个掩码寄存器中存储数据,包括在第一掩码寄存器中存储具有多个掩码元素的掩码;解码指令,所述指令具有第一字段以指定所述第一向量寄存器,具有第二字段以指定所述第二向量寄存器,并具有第三字段以指定所述第一掩码寄存器;以及响应于对所述指令的解码,将具有多个结果浮点数据元素的结果存储在所述第一向量寄存器中,每个结果浮点数据元素对应于所述第一源向量中的浮点数据元素并对应于所述掩码中的在同一相对位置的掩码元素,每个其对应掩码元素具有第一值的结果浮点数据元素表示所述第一源向量中的对应浮点数据元素乘以二的整数次幂,该整数从所述第二向量寄存器中对应位置中确定,并且每个其对应掩码元素具有第二值的结果浮点数据元素包括来自所述第一源向量的对应浮点数据元素。19.如权利要求18所述的制品,其中所述指令若被所述机器所执行,致使所述机器根据存储在控制寄存器中的舍入模式来舍入所述结果浮点数据元素。20.如权利要求18所述的制品,其中所述指令若被所述机器所执行,致使所述机器在所述第一源向量的对应浮点数据元素为非数(NaN)时,存储为非数的结果浮点数据元素。21.如权利要求18所述的制品,其中所述指令具有数据元素宽度字段以指示所述第一源向量的所述浮点数据元素的宽度,并且其中所述数据元素宽度字段能够将所述第一源向量的浮点数据元素的宽度指示为半精度、单精度和双精度中的任一种。22.如权利要求18所述的制品,其中所述第一源向量应包括至少四个64位双精度浮点数据元素。23.一种系统,包括:系统存储器;以及如权利要求1-12中任一项所述的处理器,所述处理器耦合到所述系统存储器。24.如权利要求23所述的系统,还包括耦合到所述处理器的海量存储设备。25.如权利要求23所述的系统,还包括耦合到所述处理器的盘驱动器。26.如权利要求23所述的系统,还包括耦合到所述处理器的I/O设备。27.如权利要求23所述的系统,还包括耦合到所述处理器的通信设备。28.如权利要求23所述的系统,还包括耦合到所述处理器的第二处理器。29.如权利要求23所述的系统,还包括耦合到所述处理器的外围部件互连(PCI)Express总线。30.如权利要求23所述的系统,还包括耦合到所述处理器的音频I/O设备。31.如权利要求23所述的系统,还包括耦合到所述处理器的动态随机访问存储器(DRAM)。32.一种由系统执行的方法,所述方法包括:在所述系统的系统存储器中存储数据;在多个向量寄存器中存储数据,包括在第一向量寄存器中存储具有多个浮点数据元素的第一源向量,以及在第二向量寄存器中存储数据;在多个掩码寄存器中存储数据,包括在第一掩码寄存器中存储具有多个掩码元素的掩码;解码指令,所述指令具有指定所述第一向量寄存器的第一字段,指定所述第二向量寄存器的第二字段,以及指定所述第一掩码寄存器的第三字段;以及响应于对所述指令的解码,将具有多个结果浮点数据元素的结果存储在所述第一向量寄存器中,每个结果浮点数据元素对应于所述第一源向量中的浮点数据元素并对应于所述掩码中的在同一相对位置的掩码元素,每个其对应掩码元素具有第一值的结果浮点数据元素表示所述第一源向量中的对应浮点数据元素乘以二的整数次幂,该整数从所述第二向量寄存器中对应位置中确定,并且每个其对应掩码元素具有第二值的结果浮点数据元素包括来自所...

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

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

1