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

将状态标志的子集从控制和状态寄存器拷贝到标志寄存器制造技术

技术编号:37109675 阅读:17 留言:0更新日期:2023-04-01 05:07
本公开总体涉及将状态标志的子集从控制和状态寄存器拷贝到标志寄存器。描述了用于响应于指令而将状态标志的子集从控制和状态寄存器拷贝到标志寄存器的技术。示例性指令包括用于操作码的字段,操作码指示出执行电路要从第一寄存器将饱和标志值、溢出值以及进位值拷贝到第二寄存器,成为不同指令集的一个或多个指令。指令。指令。

【技术实现步骤摘要】
将状态标志的子集从控制和状态寄存器拷贝到标志寄存器


[0001]本公开总体涉及将状态标志的子集从控制和状态寄存器拷贝到标志寄存器。

技术介绍

[0002]在一些处理器中,控制和状态寄存器为对于寄存器的至少真子集执行的操作提供控制和/或状态比特。

技术实现思路

[0003]根据本公开的第一实施例,提供了一种装置,包括:解码器设备,用于对单个指令的实例进行解码,所述单个指令包括用于操作码的字段,所述操作码指示出执行设备要从第一寄存器将饱和标志值、溢出值以及进位值拷贝到第二寄存器;以及所述执行设备,用于根据所述单个指令的实例的所述操作码来执行解码的指令。
[0004]根据本公开的第二实施例,提供了一种方法,包括:对单个指令的实例进行解码,所述单个指令包括用于操作码的字段,所述操作码指示出执行电路要从第一寄存器将饱和标志值、溢出值以及进位值拷贝到第二寄存器;以及根据所述操作码来执行解码的指令。
[0005]根据本公开的第三实施例,提供了一种装置,包括:指令转译器,用于将单个指令的实例转译成不同指令集的一个或多个指令,所述单个指令包括用于操作码的字段,所述操作码指示出执行设备要从第一寄存器将饱和标志值、溢出值以及进位值拷贝到第二寄存器;解码设备,用于对所述不同指令集的一个或多个指令进行解码;以及所述执行设备,用于根据所述操作码来执行解码的不同指令集的一个或多个指令以执行从所述第一寄存器将所述饱和标志值、所述溢出值以及所述进位值拷贝到所述第二寄存器。
[0006]根据本公开的第四实施例,提供了一种非暂态机器可读介质,存储单个指令的实例,其中,所述单个指令的实例将根据一种方法被处理,该方法包括:对所述单个指令的实例进行解码,所述单个指令包括用于操作码的字段,所述操作码指示出执行电路要从第一寄存器将饱和标志值、溢出值以及进位值拷贝到第二寄存器;以及根据所述操作码来执行解码的指令。
附图说明
[0007]将参考附图描述根据本公开的各种实施例,在附图中:
[0008]图1图示了将整数状态标志从控制和/或状态寄存器拷贝到标志寄存器的指令的执行的示例。
[0009]图2图示了处理诸如DVPTESTMXCSRFLGS指令之类的指令的硬件的示例。
[0010]图3图示了被执行以处理DVPTESTMXCSRFLGS指令的方法的实施例。
[0011]图4图示了示例性系统的实施例。
[0012]图5图示了处理器的实施例的框图,该处理器可以具有多于一个核心,可以具有集成的存储器控制器,并且可以具有集成的图形。
[0013]图6(A)的框图图示了根据一些示例的示例性有序管线和示例性寄存器重命名、无序发出/执行管线两者。
[0014]图6(B)的框图图示了根据一些示例的要被包括在处理器中的有序体系结构核心的示例性实施例和示例性寄存器重命名、无序发出/执行体系结构核心两者。
[0015]图7图示了(一个或多个)执行单元电路的实施例,例如图6(B)的(一个或多个)执行单元电路。
[0016]图8是根据一些示例的寄存器体系结构的框图。
[0017]图9图示了指令格式的实施例。
[0018]图10图示了寻址字段的实施例。
[0019]图11图示了第一前缀的实施例。
[0020]图12(A)

(D)图示了如何使用第一前缀901(A)的R、X和B字段的实施例。
[0021]图13(A)

(B)图示了第二前缀的实施例。
[0022]图14图示了第三前缀的实施例。
[0023]图15的框图对比了根据一些示例的使用软件指令转换器来将源指令集中的二进制指令转换成目标指令集中的二进制指令。
具体实施方式
[0024]本公开涉及用于将整数状态标志从控制和/或状态寄存器拷贝到标志寄存器的指令的方法、装置、系统和非暂态计算机可读存储介质。
[0025]一些整数指令在执行之后会在控制和/或状态寄存器中设置标志,例如饱和、溢出和下溢标志。例如,许多传感算法功能在执行向量紧缩操作时,会导致饱和、溢出或下溢。在一些情况下,软件希望检查这些标志是否已被设置,然后分支到特定的指令代码序列。不幸的是,需要多个指令来执行饱和操作和检查状态标志。
[0026]本文详细介绍了单个指令及其支持的实施例,用于将饱和、溢出和下溢标志从控制和/或状态寄存器拷贝到标志寄存器。这个指令对于改善至少传感器算法的性能是有用的。
[0027]图1图示了将整数状态标志从控制和/或状态寄存器拷贝到标志寄存器的指令的执行的示例。如图所示,控制和/或状态寄存器101存储控制和状态信息。在这个示例中,控制和/或状态寄存器101不仅存储用于浮点操作的控制和状态信息,还存储整数状态信息。然而,并非所有的实施例都会有用于浮点和整数两者的控制和/或状态信息。在一些示例中,控制和/或状态寄存器101被称为MXCSR。
[0028]在这个示例中,控制和/或状态寄存器(control and/or status register,CSR)101包含用于SIMD浮点异常的标志和掩码比特,用于单指令、多数据(single instruction,multiple data,SIMD)或向量浮点操作的舍入控制字段,提供对于SIMD或向量浮点操作控制下溢条件的手段的冲洗到零(flush

to

zero)标志,以及控制SIMD或向量浮点指令如何处置非正规源操作对象的非正规数为零(denormals

are

zeros)标志。
[0029]比特0至5指示出是否检测到了SIMD浮点异常。它们是“粘滞(sticky)”标志。也就是说,在标志被设置之后,它将保持被设置,直到被明确清除为止。比特7至12为SIMD浮点异常提供单独的掩码比特。如果相应的掩码比特被设置,则异常类型被掩蔽,而如果该比特被
清除,则异常类型被取消掩蔽。这些掩码比特在加电或复位时被设置。这使得所有的SIMD浮点异常最初都是被掩蔽的。
[0030]比特13和14(舍入控制[RC]字段)控制SIMD浮点指令的结果如何被舍入。比特15(FTZ)启用了冲洗到零模式,它控制对SIMD浮点下溢条件的掩蔽响应。当下溢异常被掩蔽,并且冲洗到零模式被启用时,处理器在其检测到浮点下溢条件时执行以下操作。
[0031]比特6(DAZ)启用非正规数为零模式,它控制处理器对SIMD浮点非正规操作对象条件的响应。当非正规数为零标志被设置时,处理器在对非正规源操作对象执行任何计算之前,将其全都转换为零,带有原始操作对象的符号。
[0032]比特26存储了对执行整数指令引起的进位的指示。比特27存储了对执行整数指令引起的饱和的指示。比特28存储了对执行整数指令引起的溢出的指示。
[0033]标志寄存器105包含一组状态标志、一控制标志和一组系统标志。EFLAGS本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种装置,包括:解码器设备,用于对单个指令的实例进行解码,所述单个指令包括用于操作码的字段,所述操作码指示出执行设备要从第一寄存器将饱和标志值、溢出值以及进位值拷贝到第二寄存器;以及所述执行设备,用于根据所述单个指令的实例的所述操作码来执行解码的指令。2.如权利要求1所述的装置,其中,所述第二寄存器是标志寄存器。3.如权利要求2所述的装置,其中,所述饱和标志值将被拷贝到奇偶校验标志中,所述溢出值将被拷贝到溢出标志中,并且所述进位值将被拷贝到进位标志中。4.如权利要求3所述的装置,其中,所述操作码还指示出所述执行设备要将符号标志、辅助进位标志以及零标志设置为0。5.如权利要求1至4中的任一项所述的装置,其中,所述第一寄存器是控制和/或状态寄存器。6.一种方法,包括:对单个指令的实例进行解码,所述单个指令包括用于操作码的字段,所述操作码指示出执行电路要从第一寄存器将饱和标志值、溢出值以及进位值拷贝到第二寄存器;以及根据所述操作码来执行解码的指令。7.如权利要求6所述的方法,其中,所述第二寄存器是标志寄存器。8.如权利要求7所述的方法,其中,所述饱和标志值将被拷贝到奇偶校验标志中,所述溢出值将被拷贝到溢出标志中,并且所述进位值将被拷贝到进位标志中。9.如权利要求8所述的方法,其中,所述操作码还指示出所述执行电路要将符号标志、辅助进位标志以及零标志设置为0。10.如权利要求6至9中的任一项所述的方法,其中,所述第一寄存器是控制和/或状态寄存器。11.一种装置,包括:指令转译器,用于将单个指令的实例转译成不同指令集的一个或多个指令,所述单个指令包括用于操作码的字段,所述操作码指示出执行设备要从第一寄存器将饱和标志值、溢出值以及进位值拷贝到第二寄存器;解码设备,用于对所述不同指令集的一个或多个指令进行解码;以及所述执行...

【专利技术属性】
技术研发人员:韦德维亚斯
申请(专利权)人:英特尔公司
类型:发明
国别省市:

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

1