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

响应指令执行舍入运算制造技术

技术编号:21343124 阅读:18 留言:0更新日期:2019-06-13 22:19
在一个实施例中,本发明专利技术包括一种方法,用于在处理器中接收舍入指令和立即值,确定立即值的舍入模式替换指示符是否有效,并且如果是这样的话,则在处理器的浮点单元中,响应该舍入指令并且根据在立即操作数中规定的舍入模式,以源操作数执行舍入运算。对其它的实施例进行了描述并要求其权益。

Respond to instructions to perform rounding operations

In one embodiment, the present invention includes a method for receiving rounding instructions and immediate values in a processor to determine whether rounding mode replacement indicators for immediate values are valid, and if so, in a floating-point unit of the processor, responds to the rounding instructions and performs rounding operations with source operands in accordance with the rounding mode specified in the immediate operands. Other embodiments are described and their rights and interests are demanded.

【技术实现步骤摘要】
响应指令执行舍入运算
本专利技术一般涉及处理器对数据执行的数学运算,特别是涉及舍入运算。
技术介绍
处理器对数据执行各种各样的数学运算。数据可能属于不同的类型,包括例如具有不同内在精度的整数值和浮点(FP)值。当处理FP值时,在其它这样的操作之中,数学运算、比如乘法或加法的结果有可能产生需要将其转换为较低精度格式的结果。相应地,可以执行舍入运算以将该FP结果进行舍入。尽管这样的舍入运算可以作为不同数学运算的一部分来执行,但是在一些处理器体系结构中,限制了或不能够作为独立运算对数据元素执行舍入运算,或者无需多个复杂的步骤。例如,处理器可以配置为根据缺省舍入模式执行FP值到整数值的舍入。然而,因为种种理由,可能需要根据不同的模式来将给定的源操作数进行舍入。为了完成这样的运算,可能出现保存处理器的当前配置状态、加载包括关于所要求的舍入模式的信息在内的新的配置状态、执行舍入运算、以及恢复原始处理器状态等的复杂步骤。这些操作可能是耗费时间的,提高了复杂性并且耗费了过多的处理周期。另外,虽然随着新的程序设计语言的发展,所希望的是支持其它的舍入模式,但是,在处理器中所执行的舍入运算通常仍然按照有限数量的舍入模式、即已在电气和电子工程师学会(IEEE)标准754-1985(1985年发表)中所阐述的舍入模式进行。
技术实现思路
根据本专利技术的第一方面,提供了一种方法,包括:在处理器中接收舍入指令和立即值;确定所述立即值的舍入模式替换指示符是否是有效的;以及如果有效,则响应所述舍入指令并且根据在所述立即值中规定的舍入模式,在所述处理器的浮点单元中对源操作数执行舍入运算。根据本专利技术的第二方面,提供了一种装置,包括:控制器,接收舍入指令和与所述舍入指令相关的立即数据元素,其中,所述控制器基于所述立即数据元素的替换指示符来确定是否替换缺省舍入模式;以及执行单元,耦合于所述控制器,响应所述舍入指令来执行舍入运算,其中,如果替换所述缺省舍入模式,则所述执行单元根据所述立即数据元素的舍入模式来执行所述舍入运算。根据本专利技术的第三方面,提供了一种系统,包括:执行单元,如果替换指示符存在于控制字段中,则根据与舍入指令相关的控制字段中规定的舍入模式,对第一操作数执行舍入指令以获得舍入的结果;以及耦合于所述执行单元的动态随机存取存储器(DRAM)。根据本专利技术的第四方面,提供了一种机器可读介质,在其上存储了指令,如果所述指令由机器执行,就会使机器执行包括以下步骤的方法:根据由所述指令规定的模式来执行舍入运算;以及在第一存储区中存储所述舍入运算的结果。附图说明图1是根据本专利技术的一个实施例的方法的流程图。图2是根据本专利技术的一个实施例的处理器的一部分的框图。图3是根据本专利技术的一个实施例、结合指令使用的立即数据元素的框图。图4是根据本专利技术的一实施例的用于执行舍入运算的方法的流程图。图5是根据本专利技术的一个实施例的系统的框图。具体实施方式在不同的实施例中,在处理器中、例如在处理器的浮点单元(FPU)中可使用指令集体系结构(ISA)的多个舍入指令来有效地执行舍入运算。除了在电气和电子工程师学会(IEEE)标准754-1985(1985年发表)(在这里IEEE标准用于二元浮点运算或者IEEE标准754)中阐明的舍入模式之外,实施例可用于根据其它舍入模式来执行舍入运算。例如,如下所述,在有些实施例中,指令可提供对部分远离零的以及远离零的舍入运算的支持。此外,这些舍入运算可以和许多数据类型一起使用。在有些实现中,舍入运算可以对单指令多数据(SIMD)数据类型执行,以便可以对扩展的数据类型、比如封装数据元素执行指令,其中将多种数据元素封装到单一的位置例如处理器的扩充寄存器中。为了提供灵活性并且提供有效的指令执行,实施例可提供基于ISA的指令,该指令可以对源操作数执行。这些基于ISA的指令可以是用于执行到源操作数的最接近整数值的舍入的舍入运算的不同实现。这样的源操作数可能已经是有限精度格式(即,不是算术运算的结果,而是从寄存器/存储器中读出的数据)。这样的指令可用于不同的应用,包括多媒体应用、游戏应用等等。此外,实施例可在基于编译程序的基本要素上来实现以实现舍入运算,这些舍入运算适用于不同的程序设计语言。注意,在不同的实施例中,舍入指令可采用浮点数作为源操作数,将其舍入到最接近的整数值,并且将结果也作为具有整数值的浮点值进行存储。在不同的实施例中,至少部分根据与该指令一起接收到的信息、例如与该指令一起接收到的立即数据,可处理对该执行的控制。在不同的实现中,这样的立即数据可替换(override)由处理器当前所使用的缺省舍入模式。在这样的替换情况中,该立即数据可进一步提供对该舍入模式的控制。此外,该立即数据可为精度异常(即精度抑制)的替换作准备。如此可将立即数据用于提供特定舍入运算的非粘性控制,如此该运算可在最少周期中执行。这也许如此,如同当与指令结合接收的立即数据包括舍入控制信息的时候,可能不需要更新出现于配置寄存器中的这种信息,其中配置寄存器比如为扩展控制和状态寄存器(CSR),例如存在于依据Intel®体系结构(例如,IA-32体系结构)的处理器中的多媒体扩展CSR(MXCSR)。然而,需要理解的是,可在不同的处理器类型中使用这些实施例,并且本专利技术的范围不是限于这个方面。现在参照图1,所示的是根据本专利技术的一个实施例的方法的流程图。如图1所示,方法100首先接收在处理器之中的舍入指令以及相关的立即数据(步骤110)。例如,在许多实现中,可在处理器中接收用户级指令、例如,ISA的指令。除指令之外,同时也可提供立即数据。如下面要进一步进行描述,这种立即数据可包括多个字段以控制运算的各个方面。仍参照图1,控制从步骤110转到判断步骤115。在判断步骤115,可确定该立即数据是否替换配置寄存器的舍入模式。亦即,立即数据的字段可能包括替换指示符,它指出是否替换缺省舍入模式。在不同的实施例中,这种缺省舍入模式可存在于配置寄存器、比如CSR、例如,MXCSR的字段中,但本专利技术的范围不限于这个方面。如果该立即数据包括替换指示符,则控制转到步骤120。在步骤120,可将由指令识别的源操作数分派给例如处理器的浮点单元(FPU)。此外,可将该源操作数与信息一起分派以控制舍入运算的舍入模式。可从立即数据获得控制信息,即,如同在立即数据的舍入状态字段中所规定的。如同将要在下面进一步描述的,在有些实现中,控制单元、比如处理器的控制选择单元可接收指令以及立即数据,并且将立即数据解码以确定是否替换缺省舍入模式,以及如果是这样的话,则获得该立即数据中规定的舍入模式。仍参照图1,如果在判断步骤115确定立即数据不包括替换指示符,则控制转移到步骤125。在步骤125,可分派源操作数用于在FPU进行执行。此外,可在例如配置寄存器中规定的缺省舍入模式的基础上执行舍入运算。无论如何,控制都会从两个步骤120和125传递到步骤130,在那里可执行舍入运算。该舍入运算按照舍入模式删除了该输入(即源操作数)的分数精度。在不同的实施例中,可实现执行舍入运算的不同方式。例如,在许多实现中,FPU可包括加法器和舍入单元用以执行舍入运算。为了根据IEEE标准754执行舍入模式,加法器可拥有源操作数作为第一操作数以及常本文档来自技高网...

【技术保护点】
1.一种处理器,包括:多个寄存器,其包括第一寄存器和第二寄存器;控制寄存器,其具有第一字段以指示当前浮点舍入模式以及第二字段以指示非正常是否被转换为零;状态寄存器,其具有第三字段以存储值,所述值指示不精确异常是否已经发生;控制单元,其用于接收舍入指令并且用于对舍入指令的字段解码,舍入指令用于识别第一寄存器,所述第一寄存器用于存储具有多个封装的双精度浮点值的源操作数,所述舍入指令用于指示使用当前浮点舍入模式,并且所述舍入指令用于指示抑制状态寄存器的第三字段的值的改变;以及执行单元,其耦合至控制单元,并且耦合至多个寄存器,所述执行单元响应于舍入指令而:当第二字段指示所述非正常被转换为零时将源操作数的非正常转换为零;根据当前浮点舍入模式执行舍入运算,以生成对应于源操作数的封装的双精度浮点值的整数值化的封装的双精度浮点值;以及在第二寄存器中存储整数值化的封装的双精度浮点值。

【技术特征摘要】
2006.09.22 US 11/5254201.一种处理器,包括:多个寄存器,其包括第一寄存器和第二寄存器;控制寄存器,其具有第一字段以指示当前浮点舍入模式以及第二字段以指示非正常是否被转换为零;状态寄存器,其具有第三字段以存储值,所述值指示不精确异常是否已经发生;控制单元,其用于接收舍入指令并且用于对舍入指令的字段解码,舍入指令用于识别第一寄存器,所述第一寄存器用于存储具有多个封装的双精度浮点值的源操作数,所述舍入指令用于指示使用当前浮点舍入模式,并且所述舍入指令用于指示抑制状态寄存器的第三字段的值的改变;以及执行单元,其耦合至控制单元,并且耦合至多个寄存器,所述执行单元响应于舍入指令而:当第二字段指示所述非正常被转换为零时将源操作数的非正常转换为零;根据当前浮点舍入模式执行舍入运算,以生成对应于源操作数的封装的双精度浮点值的整数值化的封装的双精度浮点值;以及在第二寄存器中存储整数值化的封装的双精度浮点值。2.如权利要求1所述的处理器,其中舍入指令的比特在舍入指令指示抑制状态寄存器的第三字段的值的改变时具有一的值。3.如权利要求1所述的处理器,其中当前浮点舍入模式是以下之一:向负无穷舍入;向正无穷舍入;舍入到零;以及舍入到最接近的偶数。4.如权利要求1所述的处理器,其中舍入指令包括在具有第二舍入指令的指令集体系结构(ISA)中以指示封装数据寄存器存储标量值,并且其中第二舍入指令使得处理器对标量值执行舍入运算以生成整数值化的浮点值。5.一种系统,包括:存储器控制器;以及处理器核,其耦合至存储器控制器,所述处理器核包括:多个寄存器,其包括第一寄存器和第二寄存器;控制寄存器,其具有第一字段以指示当前浮点舍入模式以及第二字段以指示非正常是否被转换为零;状态寄存器,其具有第三字段以存储值,所述值指示不精确异常是否已经发生;控制单元,其用于接收舍入指令并且用于对舍入指令的字段解码,舍入指令用于识别第一寄存器,所述第一寄存器用于存储具有多个封装的双精度浮点值的源操作数,所述舍入指令用于指示使用当前浮点舍入模式,并且所述舍入指令用于指示抑制状态寄存器的第三字段的值的改变;以及执行单元,其耦合至控制单元,并且耦合至多个寄存器,所述执行单元响应于舍入指令而:当第二字段指示所述非正常被转换为零时将源操作数的非正常转换为零;根据当前浮点舍入模式执行舍入运算,以生成对应于源操作数的封装的双精度浮点值的整数值化的封装的双精度浮点值;以及在第二寄存器中存储整数值化的封装的双精度浮点值。6.如权利要求5所述的系统,其中舍入指令的比特在舍入指令指示抑制状态寄存器的第三字段的值的改变时具有一的值。7.如权利要求5所述的系统,其中当前浮点舍入模式是以下之一:向负无穷舍入;向正无穷舍入;舍入到零;以及舍入到最接近的偶数。8.如权利要求5所述的系统,其中舍入指令包括在具有第二舍入指令的指令集体系结构(ISA)中以指示封装数据寄存器存储标量值,并且其中第二舍入指令使得处理器对标量值执行舍入运算以生成整数值化的浮点值。9.如权利要求5所述的系统,进一步包括耦合到处理器核的通信设备。10.如权利要求5所述的系统,进一步包括耦合到处理器核的I/O设备。11.如权利要求5所述的系统,进一步包括耦合到处理器核的图形引擎。12.如权利要求5所述的系统,进一步包括耦合到处理器核的外围元件互连(PCI)Express总线。13.如权利要求5所述的系统,进一步包括耦合到处理器核的音频I/O。14.一种系统,包括:存储器;以及处理器,其耦合至存储器,所述处理器包括:多个寄存器,其包括第一寄存器和第二寄存器;控制寄存器,其具有第一字段以指示当前浮点舍入模式以及第二字段以指示非正常是否被转换为零;状态寄存器,其具有第三字段以存储值,所述值指示不精确异常是否已经发生;控制单元,其用于接收舍入指令并且用于对舍入指令的字段解码,舍入指令用于识别第一寄存器,所述第一寄存器用于存储具有多个封装的双精度浮点值的源操作数,所述舍入指令用于指示使用当前浮点舍入模式,并且所述舍入指令用于指示抑制状态寄存器的第三字段的值的改变;以及执行单元,其耦合至控制单元,并且耦合至多个寄存器,所述执行单元响应于舍入指令而:当第二字段指示所述非正常被转换为零时将源操作数的非正常转换为零;根据当前浮点舍入模式执行舍入运算,以生成对应于源操作数的封装的双精度浮点值的整数值化的封装的双精度浮点值;以及在第二寄存器中存储整数值化的封装的双精度浮点值。15.如权利要求14所述的系统,其中舍入指令的比特在舍入指令指示抑制状态寄存器的第三字段的值的改变时具有一的值。16.如权利要求14所述的系统,其中当前浮点舍入模式是以下之一:向负无穷舍入;向正无穷舍入;舍入到零;以及舍入到最接近的偶数。17.如权利要求14所述的系统,其中舍入指令包括在具有第二舍入指令的指令集体系结构(ISA)中以指示封装数据寄存器存储标量值,并且其中第二舍入指令使得处理器对标量值执行舍入运算以生成整数值化的浮点值。18.如权利要求14所述的系统,进一步包括耦合到处理器的音频I/O设备。19.如权利要求14所述的系统,进一步包括耦合到处理器的通信设备。20.如权利要求14所述的系统,进一步包括耦合到处理器的I/O设备。21.如权利要求14所述的系统,进一步包括耦合到处理器的大容量存储装置以存储多媒体应用。22.如权利要求14所述的系统,进一步包括耦合到处理器的外围元件互连(PCI)Express总线。23.如权利要求14所述的系统,进一步耦合到处理器的盘驱动器以存储多媒体应用。24.如权利要求14所述的系统,进一步耦合到处理器的图形引擎。25.一种处理器,包括:源矢量寄存器,用于存储与舍入指令的源操作数相关联的多个封装的双精度浮点值;以及执行电路,用于对多个双精度浮点值进行舍入以生成将存储在目的矢量寄存器中的多个舍入整数封装的双精度浮点值,执行电路用于根据具有多个比特的立即进行舍入,所述多个比特包括一个或多个比特的第一集合以指定将由执行电路使用的舍入模式以及一个或多个比特的第二集合以指示精度异常是否将被抑制。26.如权利要求25所述的处理器,进一步包括:电路,用于对立即进行解码以确定将由执行电路使用的舍入模式以及确定精度异常是否将被抑制。27.如权利要求25所述的处理器,其中响应于具有第一值的一个或多个比特的第一集合,执行电路选择最接近的舍入模式以生成对应于最接近的整数值的舍入结果。28.如权利要求27所述的处理器,其中响应于具有第二值的一个或多个比特的第一集合,执行电路选择截尾舍入模式以生成截尾结果。29.如权利要求27所述的处理器,其中响应于具有第三值或第四值的一个或多个比特的第一集合,执行电路分别选择向负无穷的舍入模式或向正无穷的舍入模式。30.如权利要求25所述的处理器,其中执行电路是浮点执行电路。31.如权利要求25所述的处理器,进一步包括:多个核,执行电路集成到多个核之一。32.如权利要求25所述的处理器,进一步包括:通信互连,用于将处理器耦合至一个或多个设备。33.如权利要求32所述的处理器,其中通信互连包括外围元件互连Express(PCI)互连。34.一种方法,包括:在源矢量寄存器中存储与舍入指令的源操作数相关联的多个封装的双精度浮点值;以及对多个双精度浮点值进行舍入以生成将存储在目的矢量寄存器中的多个舍入整数封装的双精度浮点值,其中根据具有多个比特的立即执行舍入,所述多个比特包括一个或多个比特的第一集合以指定舍入模式以及一个或多个比特的第二集合以指示精度异常是否将被抑制。35.如权利要求34所述的方法,进一步包括:对立即进行解码以确定将使用的舍入模式以及确定精度异常是否将被抑制。36.如权利要求34所述的方法,其中响应于具有第一值的一个或多个比特的第一集合,选择最接近的舍入模式以生成对应于最接近的整数值的舍入结果。37.如权利要求36所述的方法,其中响应于具有第二值的一个或多个比特的第一集合,选择截尾舍入模式以生成截尾结果。38.如权利要求37所述的方法,其中响应于具有第三值或第四值的一个或多个比特的第一集合,分别选择向负无穷的舍入模式或向正无穷的舍入模式。39.一种具有存储于其上的程序代码的机器可读介质,所述程序代码在由机器执行时使得机器执行如下操作:在源矢量寄存器中存储与舍入指令的源操作数相关联...

【专利技术属性】
技术研发人员:R埃克索哈S斯托里
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1