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年发表)中所阐述的舍入模式进行。
技术实现思路
根据本专利技术的第一方面,提供了一种方法,包括:在处理器中接收舍入指令和立即值;确定所述立即值的舍入模式替换指示符是否是有效的;以及如果有效,则响应所述舍入指令并且根据在所述立即值中规定的舍入模式,在所述处理器的浮点单元中对源操作数执行舍入运算。根据本 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。