响应指令执行舍入运算的制作方法

文档序号:9810246阅读:412来源:国知局
响应指令执行舍入运算的制作方法
【技术领域】
[0001] 本发明一般涉及处理器对数据执行的数学运算,特别是涉及舍入运算。
【背景技术】
[0002] 处理器对数据执行各种各样的数学运算。数据可能属于不同的类型,包括例如具 有不同内在精度的整数值和浮点(FP)值。当处理FP值时,在其它这样的操作之中,数学运 算、比如乘法或加法的结果有可能产生需要将其转换为较低精度格式的结果。相应地,可以 执行舍入运算以将该FP结果进行舍入。
[0003] 尽管这样的舍入运算可以作为不同数学运算的一部分来执行,但是在一些处理器 体系结构中,限制了或不能够作为独立运算对数据元素执行舍入运算,或者无需多个复杂 的步骤。例如,处理器可以配置为根据缺省舍入模式执行FP值到整数值的舍入。然而,因为 种种理由,可能需要根据不同的模式来将给定的源操作数进行舍入。为了完成这样的运算, 可能出现保存处理器的当前配置状态、加载包括关于所要求的舍入模式的信息在内的新的 配置状态、执行舍入运算、以及恢复原始处理器状态等的复杂步骤。这些操作可能是耗费时 间的,提高了复杂性并且耗费了过多的处理周期。另外,虽然随着新的程序设计语言的发 展,所希望的是支持其它的舍入模式,但是,在处理器中所执行的舍入运算通常仍然按照有 限数量的舍入模式、即已在电气和电子工程师学会(IEEE)标准754-1985(1985年发表)中所 阐述的舍入模式进行。

【发明内容】

[0004] 根据本发明的第一方面,提供了一种方法,包括:
[0005] 在处理器中接收舍入指令和立即值;
[0006] 确定所述立即值的舍入模式替换指示符是否是有效的;以及
[0007] 如果有效,则响应所述舍入指令并且根据在所述立即值中规定的舍入模式,在所 述处理器的浮点单元中对源操作数执行舍入运算。
[0008] 根据本发明的第二方面,提供了一种装置,包括:
[0009] 控制器,接收舍入指令和与所述舍入指令相关的立即数据元素,其中,所述控制器 基于所述立即数据元素的替换指示符来确定是否替换缺省舍入模式;以及
[0010] 执行单元,耦合于所述控制器,响应所述舍入指令来执行舍入运算,其中,如果替 换所述缺省舍入模式,则所述执行单元根据所述立即数据元素的舍入模式来执行所述舍入 运算。
[0011 ]根据本发明的第三方面,提供了一种系统,包括:
[0012] 执行单元,如果替换指示符存在于控制字段中,则根据与舍入指令相关的控制字 段中规定的舍入模式,对第一操作数执行舍入指令以获得舍入的结果;以及
[0013] 耦合于所述执行单元的动态随机存取存储器(DRAM)。
[0014] 根据本发明的第四方面,提供了一种机器可读介质,在其上存储了指令,如果所述 指令由机器执行,就会使机器执行包括以下步骤的方法:
[0015] 根据由所述指令规定的模式来执行舍入运算;以及
[0016] 在第一存储区中存储所述舍入运算的结果。
【附图说明】
[0017] 图1是根据本发明的一个实施例的方法的流程图。
[0018] 图2是根据本发明的一个实施例的处理器的一部分的框图。
[0019] 图3是根据本发明的一个实施例、结合指令使用的立即数据元素的框图。
[0020] 图4是根据本发明的一个实施例的执行舍入运算的方法的流程图。 图5是根据本发明的一个实施例的系统的框图。
【具体实施方式】
[0021] 在不同的实施例中,在处理器中、例如在处理器的浮点单元(FPU)中可使用指令集 体系结构(ISA)的多个舍入指令来有效地执行舍入运算。除了在电气和电子工程师学会 (IEEE)标准754-1985( 1985年发表)(在这里IEEE标准用于二元浮点运算或者IEEE标准754) 中阐明的舍入模式之外,实施例可用于根据其它舍入模式来执行舍入运算。例如,如下所 述,在有些实施例中,指令可提供对部分远离零的以及远离零的舍入运算的支持。此外,这 些舍入运算可以和许多数据类型一起使用。在有些实现中,舍入运算可以对单指令多数据 (snro)数据类型执行,以便可以对扩展的数据类型、比如封装数据元素执行指令,其中将多 种数据元素封装到单一的位置例如处理器的扩充寄存器中。
[0022] 为了提供灵活性并且提供有效的指令执行,实施例可提供基于ISA的指令,该指令 可以对源操作数执行。这些基于ISA的指令可以是用于执行到源操作数的最接近整数值的 舍入的舍入运算的不同实现。这样的源操作数可能已经是有限精度格式(即,不是算术运算 的结果,而是从寄存器/存储器中读出的数据)。这样的指令可用于不同的应用,包括多媒体 应用、游戏应用等等。此外,实施例可在基于编译程序的基本要素上来实现以实现舍入运 算,这些舍入运算适用于不同的程序设计语言。注意,在不同的实施例中,舍入指令可采用 浮点数作为源操作数,将其舍入到最接近的整数值,并且将结果也作为具有整数值的浮点 值进行存储。
[0023] 在不同的实施例中,至少部分根据与该指令一起接收到的信息、例如与该指令一 起接收到的立即数据,可处理对该执行的控制。在不同的实现中,这样的立即数据可替换 (override)由处理器当前所使用的缺省舍入模式。在这样的替换情况中,该立即数据可进 一步提供对该舍入模式的控制。此外,该立即数据可为精度异常(即精度抑制)的替换作准 备。如此可将立即数据用于提供特定舍入运算的非粘性控制,如此该运算可在最少周期中 执行。这也许如此,如同当与指令结合接收的立即数据包括舍入控制信息的时候,可能不需 要更新出现于配置寄存器中的这种信息,其中配置寄存器比如为扩展控制和状态寄存器 (CSR),例如存在于依据Intel?彳本系结构(例如,LA-32体系结构)的处理器中的多媒体扩展 CSR(MXCSR)。然而,需要理解的是,可在不同的处理器类型中使用这些实施例,并且本发明 的范围不是限于这个方面。
[0024] 现在参照图1,所示的是根据本发明的一个实施例的方法的流程图。如图1所示,方 法100首先接收在处理器之中的舍入指令以及相关的立即数据(步骤110)。例如,在许多实 现中,可在处理器中接收用户级指令、例如,ISA的指令。除指令之外,同时也可提供立即数 据。如下面要进一步进行描述,这种立即数据可包括多个字段以控制运算的各个方面。
[0025] 仍参照图1,控制从步骤110转到判断步骤115。在判断步骤115,可确定该立即数据 是否替换配置寄存器的舍入模式。亦即,立即数据的字段可能包括替换指示符,它指出是否 替换缺省舍入模式。在不同的实施例中,这种缺省舍入模式可存在于配置寄存器、比如CSR、 例如,MXCSR的字段中,但本发明的范围不限于这个方面。如果该立即数据包括替换指示符, 则控制转到步骤120。在步骤120,可将由指令识别的源操作数分派给例如处理器的浮点单 元(FPU)。此外,可将该源操作数与信息一起分派以控制舍入运算的舍入模式。可从立即数 据获得控制信息,即,如同在立即数据的舍入状态字段中所规定的。如同将要在下面进一步 描述的,在有些实现中,控制单元、比如处理器的控制选择单元可接收指令以及立即数据, 并且将立即数据解码以确定是否替换缺省舍入模式,以及如果是这样的话,则获得该立即 数据中规定的舍入模式。
[0026] 仍参照图1,如果在判断步骤115确定立即数据不包括替换指示符,则控制转移到 步骤125。在步骤125,可分派源操作数用于在FPU进行执行。此外,可在例如配置寄存器中规 定的缺省舍入模式的基础上执行舍入运算。
[0027] 无论如何,控制都会从两个步骤120和125传递到步骤130,在那里可执行舍入运 算。该舍入运算按照舍入模式删除了该输入(即源操作数)的分数精度。在不同的实施例 中,可实现执行舍入运算的不同方式。例如,在许多实现中,FPU可包括加法器和舍入单元用 以执行舍入运算。为了根
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1