一种电子设备、内存拷贝方法及装置与流程

文档序号:16536292发布日期:2019-01-08 19:56阅读:258来源:国知局
一种电子设备、内存拷贝方法及装置与流程

本发明涉及电子通信技术领域,具体而言,涉及一种电子设备、内存拷贝方法及装置。



背景技术:

在计算机系统中,会有频繁的将某个内存地址中的数据拷贝到另一个内存地址中的需求和操作,通常内存拷贝操作均是由处理器执行。当处理器(cpu)进行内存拷贝操作的时候,每个字节都是由cpu进行复制的,cpu在复制数据的时候不能干任何其它事情,因而内存拷贝会占用cpu的绝大部分计算资源,对cpu的性能带来巨大的损耗。特别是对于计算密集型系统,在有大量计算任务的时候如果再进行大量的内存拷贝操作会导致cpu的计算效率会急剧下降。



技术实现要素:

有鉴于此,本发明实施例的目的在于提供一种电子设备、内存拷贝方法及装置,以解决内存拷贝会占用cpu的绝大部分计算资源,对cpu的性能带来巨大的损耗的问题。

第一方面,本申请实施例提供了一种电子设备,所述电子设备包括处理器和以太芯片,所述处理器和所述以太芯片通过总线连接。所述处理器,用于向所述以太芯片发送第一参数指令、第二参数指令和数据发送指令,所述第一参数指令包括存储目标数据的原位置参数,所述第二参数指令包括待存储所述目标数据的目标位置参数。所述以太芯片,用于接收所述第一参数指令、所述第二参数指令和所述数据发送指令,根据所述原位置参数从内存中读取所述目标数据,向自身发送并接收所述目标数据,根据所述目标位置参数将所述目标数据写入内存中的对应目标位置。

本申请实施例中,处理器向以太芯片发送第一参数指令、第二参数指令和数据发送指令控制以太芯片进行目标数据的读取和写入完成内存拷贝,使处理器不必全程参与内存拷贝过程,在整个内存拷贝过程中进行数据复制,减少了内存拷贝工作对cpu的计算资源的占用,极大地提高了cpu的工作效率。

结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述处理器,还用于:在向所述以太芯片发送第一参数指令、第二参数指令和数据发送指令之前,向所述以太芯片发送用于指示所述以太芯片切换至内环模式的内环模式切换指令和用于指示所述以太芯片切换至混杂模式的混杂模式切换指令。所述以太芯片,还用于:根据所述内环模式切换指令,切换至内环模式;并根据所述混杂模式切换指令,切换至混杂模式。

本申请实施例中,以太芯片响应处理器发来的内环模式切换指令切换至内环模式,使以太芯片能够在对从内存中读取的目标数据进行发送后自身接收该目标数据,进而将该目标数据重新发送回内存。以太芯片响应处理器发来的混杂模式切换指令切换至混杂模式,以使以太芯片能够接收处理器发送的所有类型的数据,确保以太芯片正常接收并发送目标数据。

结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述处理器具体用于:同时向所述以太芯片发送或者分别向所述以太芯片发送所述第一参数指令和所述第二参数指令;在发送完所述第一参数指令和所述第二参数指令后,向所述以太芯片发送所述数据发送指令。

结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述原位置参数包括所述目标数据的起始地址和数据长度。

本申请实施例中,原位置参数为目标数据的起始地址和数据长度,处理器向以太芯片发送目标数据的起始地址和数据长度即可通过以太芯片进行目标数据的读取,相较于传统内存拷贝,处理器向以太芯片发送原位置参数的开销可以忽略不计,提高了内存拷贝的效率。

结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述以太芯片,还用于:在将所述目标数据写入所述对应目标位置之后,产生中断。

本申请实施例中,以太芯片在接收完自身发送的目标数据并将其写入对应目标位置后产生中断,在无处理器干预的情况下将目标数据缓存在对应目标位置,处理器响应该中断,确定目标数据接收完成,结束该次内存拷贝,从而确保每次内存拷贝能够被完整地执行,提高了内存拷贝的准确性。

第二方面,本申请实施例提供了一种内存拷贝方法,所述方法包括:处理器向以太芯片发送第一参数指令、第二参数指令和数据发送指令,所述第一参数指令包括存储目标数据的原位置参数,所述第二参数指令包括待存储所述目标数据的目标位置参数;以太芯片接收所述第一参数指令、所述第二参数指令和所述数据发送指令,根据所述原位置参数从内存中读取所述目标数据,向自身发送并接收所述目标数据,根据所述目标位置参数将所述目标数据写入内存中的对应目标位置。

结合上述第二方面提供的技术方案,在一些可能的实现方式中,在所述处理器向以太芯片发送第一参数指令、第二参数指令和数据发送指令之前,所述方法还包括:所述处理器向所述以太芯片发送用于指示所述以太芯片切换至内环模式的内环模式切换指令和用于指示所述以太芯片切换至混杂模式的混杂模式切换指令;所述以太芯片根据所述内环模式切换指令,切换至内环模式;并根据所述混杂模式切换指令,切换至混杂模式。

结合上述第二方面提供的技术方案,在一些可能的实现方式中,所述处理器向以太芯片发送第一参数指令、第二参数指令和数据发送指令,包括:所述处理器具体同时向所述以太芯片发送或者分别向所述以太芯片发送所述第一参数指令和所述第二参数指令;在发送完所述第一参数指令和所述第二参数指令后,向所述以太芯片发送所述数据发送指令。

第三方面,本申请实施例提供了一种内存拷贝装置,,所述内存拷贝装置包括:指令发送模块,用于向以太芯片驱动模块发送第一参数指令、第二参数指令和数据发送指令,所述第一参数指令包括存储目标数据的原位置参数,所述第二参数指令包括待存储所述目标数据的拷贝的目标位置参数;以太芯片驱动模块,用于接收所述第一参数指令、所述第二参数指令和所述数据发送指令,指示以太芯片根据所述原位置参数从内存中读取所述目标数据,向自身发送并接收所述目标数据,根据所述目标位置参数将所述目标数据写入内存中的对应目标位置。

结合上述第三方面提供的技术方案,在一些可能的实现方式中,所述指令发送模块,还用于在向以太芯片驱动模块发送第一参数指令、第二参数指令和数据发送指令之前,向所述以太芯片驱动模块发送用于指示所述以太芯片切换至内环模式的内环模式切换指令和用于指示所述以太芯片切换至混杂模式的混杂模式切换指令;所述以太芯片驱动模块,还用于接收所述内环模式切换指令和所述混杂模式切换指令,根据所述内环模式切换指令将所述以太芯片切换至内环模式,根据所述混杂模式切换指令将所述以太芯片切换至混杂模式。

第四方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述任一方面所述方法中的步骤。

本发明提供的有益效果是:

通过处理器向以太芯片发送第一参数指令、第二参数指令和数据发送指令控制以太芯片进行目标数据的读取和写入从而完成内存拷贝,使处理器不必全程参与内存拷贝过程,在整个内存拷贝过程中进行数据复制,减少了内存拷贝工作对cpu的计算资源的占用,极大地提高了cpu的工作效率。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明第一实施例提供的一种电子设备的结构示意图;

图2为本发明第一实施例提供的一种以太芯片的连接示意图;

图3为本发明第二实施例提供的一种内存拷贝方法的流程示意图。

图标:10-电子设备;11-处理器;12-以太芯片。

具体实施方式

现有技术中的内存拷贝方式,当cpu进行内存拷贝操作的时候,每个字节都是由cpu进行复制的,cpu在复制数据的时候不能干任何其它事情,因而会对cpu的性能造成巨大的损耗。

以上现有技术中的方案存在的缺陷,均是本发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本申请实施例针对上述问题所提出的解决方案,都应该是发明人在本申请过程中对本申请做出的贡献。

基于上述研究,本申请实施例提供了一种电子设备、内存拷贝方法及装置。该电子设备执行该内存拷贝方法通过处理器向以太芯片发送第一参数指令、第二参数指令和数据发送指令控制以太芯片进行目标数据的读取和写入完成内存拷贝,使处理器不必全程参与内存拷贝过程,在整个内存拷贝过程中进行数据复制,减少了内存拷贝工作对cpu的计算资源的占用,极大地提高了cpu的工作效率。

下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

下面对发明以下实施例中可能涉及的专业术语进行说明:

混杂模式,是指一个设备或组件能够接收所有经过它的数据流,而不论其目的地址是否是他,是相对于通常模式(又称“非混杂模式”)而言的。通俗的讲,混杂模式就是接收所有经过网卡的数据包,包括不是发给本机的数据包。默认情况下网卡只把发给本机的包(包括广播包)传递给上层程序,其它的包一律丢弃。简单的讲,混杂模式就是指网卡能接受所有通过它的数据流,不管是什么格式,什么地址的。事实上,计算机收到数据包后,由网络层进行判断,确定是递交上层(传输层),还是丢弃,还是递交下层(数据链路层、mac子层)转发。

直接内存访问(dma,directmemoryaccess)控制器是一种在系统内部转移数据的独特外设,可以将其视为一种能够通过一组专用总线将内部和外部存储器与每个具有dma能力的外设连接起来的控制器。它之所以属于外设,是因为它是在处理器的编程控制下来执行传输的。一般而言,dma控制器将包括一条地址总线、一条数据总线和控制寄存器,高效率的dma控制器将具有访问其所需要的任意资源的能力,而无须处理器本身的介入,它必须能产生中断,最后,它必须能在控制器内部计算出地址。

pci-express(peripheralcomponentinterconnectexpress)是一种高速串行计算机扩展总线标准,pcie属于高速串行点对点双通道高带宽传输,所连接的设备分配独享通道带宽,不共享总线带宽,主要支持主动电源管理,错误报告,端对端的可靠性传输,热插拔以及服务质量(qos)等功能。它的主要优势就是数据传输速率高,目前最高的16x2.0版本可达到10gb/s,而且还有相当大的发展潜力,pcie3.0接口的比特率为8gbps,约为上一代产品带宽的两倍,并且包含发射器和接收器均衡、pll改善以及时钟数据恢复等一系列重要的新功能,用以改善数据传输和数据保护性能。

第一实施例

请参阅图1,图1为本发明第一实施例提供的一种电子设备的结构示意图。

本申请实施例提供了一种电子设备10,电子设备10包括处理器11、内存和以太芯片12,所述处理器11、所述内存和所述以太芯片12通过总线通信连接。电子设备10可以为计算机、智能手机或其他包括处理器、内存和以太芯片、具备内存拷贝功能的处理设备。

处理器11可能是一种集成电路芯片,具有数据的处理能力。上述的处理器11可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等。可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器11也可以是任何常规的处理器等。

处理器11可从可读取存储介质中读取并运行所述计算机程序指令。通过执行存储器中存储的计算机程序,处理器11可通过总线向以太芯片12发送第一参数指令、第二参数指令和数据发送指令,所述第一参数指令包括存储目标数据的原位置参数,所述第二参数指令包括待存储所述目标数据的目标位置参数。

原位置参数用于定位所述内存中存储的目标数据的存储位置,该原位置参数可以是包含有目标数据的起始地址和数据长度的信息,还可以是包含有目标数据的起始地址和终止地址的信息,在其他实施例中还可以是能够确定目标数据存储位置的其它信息。

请参考图2,图2为本发明第一实施例提供的一种以太芯片的连接示意图。

以太芯片12通过总线接收处理器11发送的第一参数指令、第二参数指令和数据发送指令,根据第一参数指令中的原位置参数从内存中读取所述目标数据,向自身发送所述目标数据,并接收所述目标数据,根据第二参数指令中的目标位置参数将所述目标数据写入目标待存储位置。

应当理解的是,以太芯片12可以是处理器11内部集成的以太网控制器,也可以是由处理器11外部总线扩展的以太芯片,如pcie总线扩展的pcie网卡,还可以是外设部件互连标准(pci,peripheralcomponentinterconnect)网卡等。同时,在电子设备10中能够正常加载以太芯片12的驱动程序,以使以太芯片12能够正常工作、正常与处理器11通信,且能够正常进行数据的收发。

以太芯片12在接收到处理器11发送来的第一参数指令、第二参数指令和数据发送指令之后,基于该第一参数指令中的原位置参数和第二参数指令中的目标位置参数,根据所述原位置参数从所述内存中读取所述目标数据,基于该目标发送指令向自身发送所述目标数据,并接收所述目标数据,根据所述目标位置参数将所述目标数据写入所述目标带存储位置。其中,目标数据在内存和总线间的传输均是由以太芯片12上的dma控制器实现的,不需要处理器11的参与。

可选地,处理器11向以太芯片12发送第一参数指令和第二参数指令时,可以是同时发送,也可以是分别发送。进一步地,该数据发送指令应当在处理器11向以太芯片12发送完第一参数指令和第二参数指令之后再进行发送。

本申请实施例中,处理器11向以太芯片12发送第一参数指令、第二参数指令和数据发送指令控制以太芯片12进行目标数据的读取和写入完成内存拷贝,使处理器11不必全程参与内存拷贝过程,在整个内存拷贝过程中进行数据复制,减少了内存拷贝工作对处理器11的计算资源的占用,极大地提高了处理器11的工作效率。

作为一种实施方式,处理器11还用于:在向所述以太芯片12发送第一参数指令、第二参数指令和数据发送指令之前,向所述以太芯片12发送用于指示所述以太芯片12切换至内环模式的内环模式切换指令和用于指示所述以太芯片12切换至混杂模式的混杂模式切换指令;以太芯片12,还用于:根据所述内环模式切换指令,切换至内环模式;并根据所述混杂模式切换指令,切换至混杂模式。

处理器11可以通过修改以太芯片12的驱动程序并向以太芯片12发送内环模式切换指令,以使以太芯片12被设置为内环模式,进而让以太芯片12发送从内存中读取的目标数据并接收自身发送的该目标数据。

处理器11可以通过修改以太芯片12的驱动程序并向以太芯片12发送混杂模式切换指令,以使以太芯片12被设置为混杂模式,进而让以太芯片12能够接收经过自身的任何数据类型的数据,避免在目标数据的格式不符合非混杂模式时以太芯片12无法对该目标数据进行接收和发送,提高了以太芯片12进行内存拷贝的兼容性。

作为一种实施方式,以太芯片12,还用于:在将所述待拷贝数据写入所述目的内存地址之后,产生中断;处理器11,还用于:在将所述目标数据写入所述对应目标位置之后,产生中断。

以太芯片12在将目标数据写入目标位置后产生中断,以使处理器11确认该次内存拷贝完成,从而确保每次内存拷贝能够被完整地执行,提高了内存拷贝的准确性。

对本申请实施例提供的电子设备10进行内存拷贝的过程进行举例说明:用户触发对目标数据的内存拷贝,处理器11向以太芯片12发送内环模式切换指令和混杂模式切换指令,以太芯片12接收该内环模式切换指令和该混杂模式切换指令后切换至内环模式和混杂模式。处理器11确定需要将该目标数据拷贝至目标位置参数为078ffh的内存中目标位置,将目标位置参数为078ffh加入第二参数指令,并读取该目标数据的起始地址为06800h,该目标数据的长度为32字节,并将起始地址06800h以及数据长度32字节作为原位置参数加入第一参数指令,处理器11将该第一参数指令和第二参数指令发送至以太芯片12,再对以太芯片12发送数据发送指令以使以太芯片12基于目标数据的起始地址06800h、长度32字节和目标位置参数078ffh利用dma控制器将该目标数据复制至目标位置参数为078ffh的内存中目标位置,然后以太芯片12产生中断指示处理器11结束本次拷贝。

第二实施例

请参考图3,图3为本发明第二实施例提供的一种内存拷贝方法的流程示意图。

本申请实施例提供了一种内存拷贝方法,该内存拷贝方法包括如下步骤:

步骤s33:处理器向以太芯片发送第一参数指令、第二参数指令和数据发送指令,所述第一参数指令包括存储目标数据的原位置参数,所述第二参数指令包括待存储所述目标数据的目标位置参数。

步骤s34:以太芯片接收所述第一参数指令、所述第二参数指令和所述数据发送指令,根据所述原位置参数从内存中读取所述目标数据,向自身发送并接收所述目标数据,根据所述目标位置参数将所述目标数据写入内存中的对应目标位置。

可选的,对于步骤s33,所述“处理器向以太芯片发送第一参数指令、第二参数指令和数据发送指令”的步骤具体可以是:所述处理器11具体同时向所述以太芯片12发送或者分别向所述以太芯片12发送所述第一参数指令和所述第二参数指令;在发送完所述第一参数指令和所述第二参数指令后,向所述以太芯片12发送所述数据发送指令。

作为一种可选的实施方式,考虑到在进行内存拷贝前还需要将以太芯片12调整至合适的状态,本实施例中在步骤s33之前,该内存拷贝方法还可以包括如下步骤:

步骤s31:处理器向以太芯片发送用于指示所述以太芯片切换至内环模式的内环模式切换指令和用于指示所述以太芯片切换至混杂模式的混杂模式切换指令。

步骤s32:以太芯片根据所述内环模式切换指令,切换至内环模式;并根据所述混杂模式切换指令,切换至混杂模式。为了配合上述应用于处理器11的内存拷贝方法,本申请实施例提供了一种内存拷贝装置,该内存拷贝装置包括指令发送模块和以太芯片驱动模块。

指令发送模块,用于向以太芯片驱动模块发送第一参数指令、第二参数指令和数据发送指令,所述第一参数指令包括存储目标数据的原位置参数,所述第二参数指令包括待存储所述目标数据的拷贝的目标位置参数。

以太芯片驱动模块,用于接收所述第一参数指令、所述第二参数指令和所述数据发送指令,指示以太芯片12根据所述原位置参数从内存中读取所述目标数据,向自身发送并接收所述目标数据,根据所述目标位置参数将所述目标数据写入内存中的对应目标位置。

可选地,该指令发送模块还用于在向以太芯片驱动模块发送第一参数指令、第二参数指令和数据发送指令之前,向所述以太芯片驱动模块发送用于指示所述以太芯片12切换至内环模式的内环模式切换指令和用于指示所述以太芯片12切换至混杂模式的混杂模式切换指令;所述以太芯片驱动模块,还用于接收所述内环模式切换指令和所述混杂模式切换指令,根据所述内环模式切换指令将所述以太芯片12切换至内环模式,根据所述混杂模式切换指令将所述以太芯片12切换至混杂模式。

需要说明的是,由于所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本领域内的技术人员应明白,本发明实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

综上所述,本发明实施例提供了一种电子设备、内存拷贝方法及装置,所述电子设备包括处理器、内存和以太芯片,所述处理器、所述内存和所述以太芯片通过总线连接。所述处理器,用于向所述以太芯片发送第一参数指令、第二参数指令和数据发送指令,所述第一参数指令包括存储目标数据的原位置参数,所述第二参数指令包括待存储所述目标数据的目标位置参数;所述以太芯片,用于接收所述第一参数指令、所述第二参数指令和所述数据发送指令,根据所述原位置参数从内存中读取所述目标数据,向自身发送并接收所述目标数据,根据所述目标位置参数将所述目标数据写入内存中的对应目标位置。

通过处理器向以太芯片发送第一参数指令、第二参数指令和数据发送指令控制以太芯片进行目标数据的读取和写入从而完成内存拷贝,使处理器不必全程参与内存拷贝过程,在整个内存拷贝过程中进行数据复制,减少了内存拷贝工作对cpu的计算资源的占用,极大地提高了cpu的工作效率。

以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1