数据转移方法和装置的制造方法
【技术领域】
[0001]本发明涉及芯片技术领域,尤其涉及一种数据转移方法和装置。
【背景技术】
[0002]计算机系统的性能在不断提高,多核处理器和并行程序设计提高了计算机的处理能力,直接的效果是流畅的用户体验。同时最新处理器设计越来越多的采用向量化技术,以提高数据的并行处理能力和吞吐量,而且处理器中的寄存器数量和位宽都在不断的增加,出现了 256位、512位,甚至更多位宽的寄存器,寄存器的数量已经达到256个甚至更多,使得进程切换时非常频繁。
[0003]目前计算机操作系统中通过一系列访存指令,例如:load和store指令,完成进程切换,即完成处理器内部寄存器和外部存储器之间的进程的上下文数据搬运,具体地,将处理器正在运行的进程的上下文数据转移至进程的堆栈空间中,还可以将待运行的进程的上下文数据转移至处理器内部寄存器堆中,以实现进程的切换。
[0004]然而,现有技术中需要处理器来完成进程的切换,导致进程切换时占用了处理器的资源,使得处理器没有足够的资源去处理其它工作,从而降低了处理器的利用率。
【发明内容】
[0005]本发明提供一种数据转移方法和装置,用于实现了进程的切换、提高处理器的利用率。
[0006]第一方面,本发明提供一种数据转移方法,包括:
[0007]获取处理器的指示信息,所述指示信息用于指示将第一进程的待转移上下文数据由第一存储器转移至第二存储器;
[0008]根据所述指示信息,将所述第一进程的待转移上下文数据由所述第一存储器转移至所述第二存储器。
[0009]第二方面,本发明提供一种数据转移装置,包括:
[0010]获取单元,用于获取处理器的指示信息,所述指示信息用于指示将第一进程的待转移上下文数据由第一存储器转移至第二存储器;
[0011]转移单元,用于根据所述获取单元获取的所述指示信息,将所述第一进程的待转移上下文数据由所述第一存储器转移至所述第二存储器。
[0012]本发明提供的数据转移方法和装置,通过获取处理器的指示信息,所述指示信息用于指示将第一进程的待转移上下文数据由第一存储器转移至第二存储器;根据所述指示信息,将所述第一进程的待转移上下文数据由所述第一存储器转移至所述第二存储器。从而实现了第一进程的切换,而且第一进程的上下文数据的转移过程不需要处理器来操作,从而使得处理器能够有空余足够的资源来处理其它工作,提高了处理器的利用率。
【附图说明】
[0013]图1为本发明数据转移方法实施例一的流程图;
[0014]图2为本发明数据转移方法实施例二的流程图;
[0015]图3为本发明数据转移方法实施例三的流程图;
[0016]图4为本发明数据转移装置实施例一的结构示意图;
[0017]图5为本发明数据转移装置实施例二的结构示意图。
【具体实施方式】
[0018]图1为本发明数据转移方法实施例一的流程图,如图1所示,本实施例的方法可以数据转移装置来执行,该数据转移装置可以为:处理器中的直接寄存器访问(DirectRegister Access,简称:DRA)装置,本实施例的方法可以包括:
[0019]S101、获取处理器的指示信息,所述指示信息用于指示将第一进程的待转移上下文数据由第一存储器转移至第二存储器。
[0020]本实施例中,第一进程需要切换时,当前第一进程的待转移上下文数据存储在第一存储器中,即第一进程的待转移上下文数据需要由第一存储器转移至第二存储器时,处理器可以向数据转移装置配置指示信息,该指示信息用于指示将第一进程的待转移上下文数据由第一存储器转移至第二存储器;从而数据转移装置可以获取处理器配置的指示信肩、O
[0021]S102、根据所述指示信息,将所述第一进程的待转移上下文数据由所述第一存储器转移至所述第二存储器。
[0022]本实施例中,在获取处理器的处理信息之后,根据该指示信息所指示的信息,将存储在第一存储器中的第一进程的待转移上下文数据转移存储至第二存储器中,从而实现第一进程的切换,第一进程的切换表示第一进程的相关数据由第一存储器转移至第二存储器。转移成功后,第一存储器中不再存储该第一进程的待转移上下文数据,第二存储器存储有第一进程的待转移上下文数据。
[0023]可选地,所述根据所述指示信息,将所述第一进程的待转移上下文数据由所述第一存储器移动至所述第二存储器,包括:根据所述指示信息,将所述第一进程的待转移上下文数据通过第一传输通道由第一存储器转移至第二存储器,所述第一传输通道为所述处理器配置的所述第一存储器与所述第二存储器之间所述第一进程的待转移上下文数据传输的通道。具体地,处理器在向数据转移装置配置指示信息之后,处理器可以在第一存储器与第二存储器之间配置第一传输通道,该第一传输通道用于传输第一存储器与第二存储器之间的第一进程的待转移上下文数据。然后在数据转移装置实现数据转移的过程中,通过该第一传输通道将第一进程的待转移上下文数据由第一存储器转移至第二存储器。
[0024]可选地,所述第一传输通道的个数为多个,即处理器可以在第一存储器与第二存储器之间配置有多个第一传输通道,然后数据转移装置可以将第一进程的待转移上下文数据通过多个第一传输通道由第一存储器转移至第二存储器。由于第一进程的待转移上下文数据可以通过多个传输通道由第一存储器转移至第二存储器,从而可以降低数据转移所需时间,提高进程切换的效率。
[0025]可选地,所述指示信息还包括所述第一传输通道的标识,所述指示信息具体用于指示将所述第一进程的待转移上下文数据通过所述第一传输通道由所述第一存储器转移至所述第二存储器。具体地,处理器可以在第一存储器与第二存储器之间配置有多个传输通道,处理器可以选择其中一个或多个传输通道来转移第一进程的待转移上下文数据。若第一传输通道的个数为I个,即处理器选择一个传输通道进行第一进程的上下文数据的转移时,则第一传输通道的标识为处理器选择的一个传输通道的标识,然后数据转移装置将第一进程的待转移上下文数据通过该第一传输通道由第一存储器转移至第二存储器。若第一传输通道的个数为多个,即处理器选择多个传输通道来转移第一进程的待转移上下文数据,以两个为例进行说明,第一传输通道的标识为这两个传输通道的标识,然后数据转移装置将第一进程的待转移上下文数据的一部分通过其中一个传输通道由第一存储器转移至第二存储器,将第一进程的待转移上下文数据的另一部分通过其中另一个传输通道由第一存储器转移至第二存储器,从而实现第一进程的待转移上下文数据可以通过多个通道并行由第一存储器转移至第二存储器,从而可以提高进程的切换效率。
[0026]可选地,所述根据所述指示信息,将所述第一进程的待转移上下文数据由所述第一存储器转移至所述第二存储器之后,还包括:向所述处理器通知所述第一进程的待转移上下文数据已成功转移。从而处理器根据数据转移装置的通知获知第一进程的待转移上下文数据已成功转移。
[0027]本发明实施例提供的数据转移方法,通过获取处理器的指示信息,所述指示信息用于指示将第一进程的待转移上下文数据由第一存储器转移至第二存储器;根据所述指示信息,将所述第一进程的待转移上下文数据由所述第一存储器转移至所述第二存储器。从而实现了第一进程的切换,而且第一进程的上下文数据的转移过程不需要处理器来操作,从而使得处理器能够有空余足够的资源来处理其它工作,提高了处理器的利用率。
[0028]图2为本发明数据转移方法实施例二的流程图,如图2所示,本实施例的方法可以数据转移装置来执行,该数据转移装置可以为:处理器中的DRA装置,本实施例是在图1所示的数据转移方法实施例的基础上,对本发明提供的数据转移方法进行详细说明,本实施例的方法可以包括:
[0029]S201、获取处理器的指示信息,所述指示信息包括所述第一进程的上下文数据在所述第一存储器中的第一存储地址、所述第一进程的上下文数据在所述第二存储器中的第二存储地址,所述指示信息用于指示将所述第一进程的上下文数据由所述第一存储器中的所述第一存储地址所对应的区域转移至所述第二存储器中的所述第二存储地址所对应的区域。
[0030]本实施例中,第一进程需要切换时,当前第一进程的待转移上下文数据存储在第一存储器中,即第一进程的待转移上下文数据需要由第一存储器转移至第二存储器时,处理器可以获知第一进程的待转移上下文数据在第一存储器中的第一存储地址,假设第一存储器的存储地址为O?100,则第一存储地址可以为第一存储器的存储地址O?100中的10?20,处理器也可以获知第一进程的待转移上下文数据在第二存储器中的第二存储地址,假设第二存储器的存储地址为O?50,则第二存储地址可以为第二存储器的存储地址O?50中的20?30。然后处理器可以向数据转移装置配置指示信息,该指示信息包括该第一进程的待转移上下文数据在第一存储器中的第一存储地址、该第一进程的待上下文数据在第二存储器中的第二存储地址,该指示信息具体用于指示将所