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

存储器复制指令、处理器、方法和系统技术方案

技术编号:19561635 阅读:36 留言:0更新日期:2018-11-25 00:25
一种处理器,包括:解码单元,用于解码存储器复制指令,该存储器复制指令指示源存储器操作数的开始、目的地存储器操作数的开始、以及要从源存储器操作数复制到目的地存储器操作数的初始数据量。执行单元用于响应于存储器复制指令,在中断之前将数据的第一部分从源存储器操作数复制到目的地存储器操作数。当源存储器操作数与目的地存储器操作数重叠时,将使用降序复制方向。响应于中断,当使用降序复制方向时,执行单元用于存储要复制的剩余数据量,但不用于指示源存储器操作数的不同的开始,并且不用于指示目的地存储器操作数的不同的开始。

Memory Replication Instructions, Processors, Methods and Systems

A processor includes a decoding unit for decoding memory replication instructions indicating the start of source memory operands, the start of destination memory operands, and the initial amount of data to be copied from source memory operands to destination memory operands. The execution unit is used to copy the first part of the data from the source memory operand to the destination memory operand before interruption in response to the memory replication instruction. When the source and destination memory operands overlap, the descending replication direction is used. In response to interruption, when using the descending replication direction, the execution unit is used to store the remaining amount of data to be replicated, but not to indicate the different start of the source memory operands, and not to indicate the different start of the destination memory operands.

【技术实现步骤摘要】
【国外来华专利技术】存储器复制指令、处理器、方法和系统
技术介绍

本文中所描述的实施例一般涉及处理器。具体而言,本文中所描述的实施例一般涉及用于执行用于将数据从存储器中的一个位置复制到存储器中的另一位置的指令的处理器。背景信息各种不同类型的数据处理系统包括处理器和存储器。存储器可用于存储软件和数据。软件的示例可能包括文字处理应用、电子表格应用、互联网浏览器应用、图形应用、音频应用等等。不同类型的数据的示例包括文本数据、数值数据、图形数据、音频数据等等,此处仅是列举数例。处理器可执行软件的指令以对数据进行操作和/或处理该数据。这些指令可包括机器级指令或处理器的指令集中的其他指令。本领域中已知用于处理数据的各种不同类型的指令,诸如例如,用于将数据从存储器加载到处理器的指令、用于处理数据的算术和/或逻辑指令、用于将数据从处理器存储到存储器的指令,等等。附图说明通过参考以下描述以及用于说明多个实施例的附图,可最佳地理解本专利技术。在附图中:图1是执行存储器复制指令的实施例的方法的实施例的流程框图。图2是无操作数重叠的情况下以升序复制方向的复制操作的框图。图3是在有操作数重叠的情况下以升序复制方向的复制操作并且图示出重叠区域中的初始源数据可能由该复制操作覆写的框图。图4是有操作数重叠的情况下以降序复制方向的复制操作的框图。图5是可操作以执行存储器复制指令的实施例的处理器的实施例的框图。图6是合适的32位通用寄存器组的示例实施例的框图。图7是合适的64位通用寄存器组的示例实施例的框图。图8是利用降序复制方向对重叠的存储器操作数执行存储器复制指令的实施例的方法的实施例的流程框图,其允许中断该存储器复制指令。图9是变换器模块的实施例的框图。图10A是图示出有序流水线的实施例以及寄存器重命名的乱序发布/执行流水线的实施例的框图。图10B是处理器核的实施例的框图,该处理器核包括耦合到执行引擎单元的前端单元,并且执行引擎单元和前端单元两者都耦合到存储器单元。图11A是单个处理器核以及它与管芯上互连网络的连接及其第二级(L2)高速缓存的本地子集的实施例的框图。图11B是图11A的处理器核的部分的展开图的实施例的框图。图12是可具有多于一个的核、可具有集成存储器控制器并且可具有集成图形器件的处理器的实施例的框图。图13是计算机架构的第一实施例的框图。图14是计算机架构的第二实施例的框图。图15是计算机架构的第三实施例的框图。图16是计算机架构的第四实施例的框图。图17是根据本专利技术的实施例的使用软件指令转换器将源指令集中的二进制指令转换为目标指令集中的二进制指令的框图。具体实施方式本文中所公开的是存储器复制指令、用于处理或执行该存储器复制指令的处理器、由该处理器执行以处理或执行存储器复制指令的方法、包含用于处理或执行该存储器复制指令的一个或多个处理器的系统、以及用于存储或以其他方式提供存储器复制指令的机器可读介质。在一些实施例中,处理器可具有用于处理或执行存储器复制指令的逻辑。在一些实施例中,该逻辑可包括用于解码存储器复制指令的解码单元和用于执行存储器复制指令的执行单元。在以下描述中,阐述了众多特定细节(例如,特定指令操作、寄存器、指示操作数的方式、数据格式、处理器配置、微架构细节、操作序列等)。然而,可在没有这些特定细节的情况下实施实施例。在其他实例中,未详细示出公知的电路、结构和技术,以避免使对本说明书的理解模糊。图1是处理或执行存储器复制指令的实施例的方法100的实施例的流程框图。在各实施例中,该方法可由处理器、指令处理装置、数字逻辑设备、集成电路、芯片上系统(SoC)等等来执行。该方法包括,在框101处,接收存储器复制指令。在各方面中,可在处理器、SoC、集成电路等等或其部分(例如,指令取出单元、解码单元、总线接口单元等)处接收该指令。在各方面中,可从处理器外和/或管芯外的源(例如,从管芯外的存储器或总线或其他互连)或从处理器上和/或管芯上的源(例如,从指令高速缓存、指令队列或管芯上存储器)接收该指令。存储器复制指令可表示宏指令、机器代码指令或处理器的指令集中的其他指令或控制信号。在一些实施例中,存储器复制指令可显式地指定(例如,通过一个或多个字段或者一组位)或以其他方式指示(例如,隐式地指示)存储器中的源操作数的开始、存储器中的目的地操作数的开始以及要从源操作数复制到目的地操作数的数据量中的每一个。在各实施例中,源操作数和目的地操作数可各自表示串(例如,字母数字字符串)、数据元素(例如,字母数字字符)序列、包括连续数据元素的数据结构等等。源操作数和目的地操作数还可被认为是并被简称为指令的源和目的地。如本文中所使用,术语"操作数"不意指需要对操作数执行的任何算术的、逻辑的或数学的操作。各数据或数据元素可具有8位的(例如,字节)、16位的(例如,字)、32位的(例如,双字)或64位的(例如,四字)粒度。源操作数和目的地操作数的开始点可表示源操作数和目的地操作数的开始或最低寻址部分的地址、地址信息、指针、偏移或其他指示。要复制的数据量在不同的实施例中可以以不同方式表达。作为示例,在各实施例中,可将数据量表达为要复制的位、字节、字、双字、四字或数据元素的数量,或者表达为以位、字节、字、双字、四字或数据元素表示的源操作数的长度,或者表达为要复制的字符串的尺寸,或者表达为源操作数或目的地操作数的结尾或最高寻址部分的地址、指针、偏移或其他指示。源操作数和目的地操作数的开始点以及要复制的数据量可表示输入或输入参数。这些输入或输入参数在不同的实施例中可由指令以不同的方式指示。作为一个示例,指令可具有源和/或目的地操作数指定字段,用于指定用于存储源操作数的开始、目的地操作数的开始以及要复制的数据量的寄存器、存储器位置或其他存储位置。作为另一示例,这些寄存器或其他存储位置中的一个或多个可任选地对于指令是隐式的(例如,对于指令的操作码是隐式的)。作为又一示例,源操作数的开始、目的地操作数的开始和/或要复制的数据量中的一者或多者可任选地由指令自身的字段或其他部分指定或以其他方式指示,而不是在寄存器或其他存储位置中被指定或以其他方式指示。作为一个示例,指令的字段可具有用于指示要复制的数据量(例如,字节的数量)的值。可任选地使用这些不同方法的各种组合。为了进一步说明,在一些实施例中,源操作数和目的地操作数的开始点以及要复制的数据量可通过处理器的架构寄存器、集成电路或执行指令的其他装置来指定或以其他方式指示。在一些实施例中,这些寄存器可以是通用寄存器(例如,其可部分地用于地址生成以及一般算术和/或逻辑计算)。例如,第一寄存器(例如,第一通用寄存器)可用于存储源操作数的开始或最低寻址部分的地址、地址信息、指针、偏移或其他指示。类似地,第二寄存器(例如,第二通用寄存器)可用于存储目的地操作数的开始或最低寻址部分的地址、地址信息、指针、偏移或其他指示。第三寄存器(例如,第三通用寄存器)可用于存储位、字节、字、双字、四字、数据元素的数量、源操作数或目的地操作数的结尾的指示、或者要复制的数据量的另一指示。为了更进一步说明可能的64和/或IA-32架构实现方式的一个特定示例,通用寄存器ESI(以32位模式,或以64位模式的寄存器RSI)可任选地用于存储指向源操作数的本文档来自技高网...

【技术保护点】
1.一种处理器,包括:解码单元,用于解码存储器复制指令,所述存储器复制指令用于指示源存储器操作数的开始、用于指示目的地存储器操作数的开始、并且用于指示架构上可见的存储位置,所述架构上可见的存储位置用于存储要从所述源存储器操作数复制到所述目的地存储器操作数的初始数据量;以及执行单元,与所述解码单元耦合,所述执行单元用于响应于所述存储器复制指令:在中断之前将数据的第一部分从所述源存储器操作数复制到所述目的地存储器操作数,其中,数据的所述第一部分将以降序复制方向复制;以及响应于所述中断,并且当数据的所述第一部分将以降序复制方向复制时,将要复制的剩余数据量存储在所述架构上可见的存储位置中,但不用于指示所述源存储器操作数的不同的开始、并且不用于指示所述目的地存储器操作数的不同的开始,其中,所述剩余数据量用于表示所述初始数据量减去数据的所述第一部分。

【技术特征摘要】
【国外来华专利技术】2016.03.31 US 15/086,6861.一种处理器,包括:解码单元,用于解码存储器复制指令,所述存储器复制指令用于指示源存储器操作数的开始、用于指示目的地存储器操作数的开始、并且用于指示架构上可见的存储位置,所述架构上可见的存储位置用于存储要从所述源存储器操作数复制到所述目的地存储器操作数的初始数据量;以及执行单元,与所述解码单元耦合,所述执行单元用于响应于所述存储器复制指令:在中断之前将数据的第一部分从所述源存储器操作数复制到所述目的地存储器操作数,其中,数据的所述第一部分将以降序复制方向复制;以及响应于所述中断,并且当数据的所述第一部分将以降序复制方向复制时,将要复制的剩余数据量存储在所述架构上可见的存储位置中,但不用于指示所述源存储器操作数的不同的开始、并且不用于指示所述目的地存储器操作数的不同的开始,其中,所述剩余数据量用于表示所述初始数据量减去数据的所述第一部分。2.如权利要求1所述的处理器,进一步包括多个寄存器,所述多个寄存器与所述执行单元耦合,并且其中,所述架构上可见的存储位置包括所述多个寄存器中的第一寄存器。3.如权利要求2所述的处理器,其中,所述第一寄存器包括通用寄存器ECX和通用寄存器RCX中的一者。4.如权利要求2所述的处理器,其中,所述解码单元用于对用于指示所述多个寄存器中的用于存储所述源存储器操作数的开始的第二寄存器、并且用于指示所述多个寄存器中的用于存储所述目的地存储器操作数的开始的第三寄存器的所述存储器复制指令进行解码,并且其中,所述执行单元用于响应于所述中断并且当数据的所述第一部分将以降序复制方向复制时,改变所述第一寄存器中的值但不用于改变所述第二寄存器和所述第三寄存器中的值。5.如权利要求1至4中任一项所述的处理器,其中,所述执行单元用于响应于所述存储器复制指令,基于所述源存储器操作数的开始、所述目的地存储器操作数的开始以及要复制的所述初始数据量来判定所述源存储器操作数与所述目的地存储器操作数是否重叠,并且至少在所述源存储器操作数与所述目的地存储器操作数重叠时以降序复制方向来复制数据的所述第一部分。6.如权利要求1至4中任一项所述的处理器,其中,所述执行单元用于响应于所述存储器复制指令,在不使用在所述存储器复制指令的执行之外所生成的复制方向的指示的情况下确定用于将数据的所述第一部分从所述源存储器操作数复制到所述目的地存储器操作数的复制方向。7.如权利要求6所述的处理器,其中,所述执行单元用于响应于所述存储器复制指令:当所述源存储器操作数与所述目的地存储器操作数不重叠时,将所述复制方向确定为升序复制方向;或者当所述源存储器操作数与所述目的地存储器操作数重叠时,将所述复制方向确定为降序复制方向。8.如权利要求1至4中任一项所述的处理器,其中,要复制的所述初始数据量包括要复制的数据的多位部分的初始数量,数据的所述多位部分是数据的8位部分、16位部分、32位部分以及64位部分中的一者。9.一种由处理器执行的方法,包括:在所述处理器处接收存储器复制指令,所述存储器复制指令指示源存储器操作数的开始、指示目的地存储器操作数的开始、并且指示架构上可见的存储位置,所述架构上可见的存储位置存储要从所述源存储器操作数复制到所述目的地存储器操作数的初始数据量;响应于所述存储器复制指令,判定所述源存储器操作数与所述目的地存储器操作数重叠;响应于所述存储器复制指令,在中断之前将数据的第一部分以降序复制方向从所述源存储器操作数复制到所述目的地存储器操作数;以及响应于所述中断,并且由于数据的所述第一部分以降序复制方向复制,将要复制的剩余数据量存储在所述架构上可见的存储位置中,要复制的所述剩余数据量表示所述初始数据量减去数据的所述第一部分,而不指示所述源存储器操作数的不同的开始,并且不指示所述目的地存储器操作数的不同的开始。10.如权利要求9所述的方法,其中,存储步骤包括将要复制的所述剩余数据量存储在第一通用寄存器中。11.如权利要求10所述的方法,其中,接收步骤包括接收指示存储所述源存储器操作数的开始的第二通用寄存器、指示存储所述目的地存储器操作数的开始的第三通用寄存器的所述存储器复制指令,并且其中,响应于所述中断,并且由于以降序复...

【专利技术属性】
技术研发人员:M·米谢利
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1