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是利用降序复制方向对重叠的存储器操作数执行存储器复制指令的实施例的方法的实施例的流程框图,其允许中 ...
【技术保护点】
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所述的方法,其中,接收步骤包括接收指示存储所述源存储器操作数的开始的第二通用寄存器、指示存储所述目的地存储器操作数的开始的第三通用寄存器的所述存储器复制指令,并且其中,响应于所述中断,并且由于以降序复...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。