[发明专利]数据拷贝的处理方法、装置、电子设备及存储介质有效
申请号: | 201911212805.1 | 申请日: | 2019-12-02 |
公开(公告)号: | CN110990298B | 公开(公告)日: | 2022-03-08 |
发明(设计)人: | 顾希伟;殷时友;彭飞 | 申请(专利权)人: | 龙芯中科(合肥)技术有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F9/54 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 杜叶蕊;臧建明 |
地址: | 230088 安徽省合肥市高新*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 拷贝 处理 方法 装置 电子设备 存储 介质 | ||
本公开提供的一种数据拷贝的处理方法、装置、电子设备及存储介质,应用于RISC精简指令集架构,通过确定数据拷贝请求消息;根据数据拷贝请求消息,确定源数据地址与目标数据地址是否均为16字节对齐;当源数据地址与目标数据地址为16字节对齐时,采用第一访存指令组,对待拷贝的字节以128比特从源数据地址到目标数据地址的拷贝处理,并获取待拷贝的字节中的余下字节;采用逐个字节的拷贝方式或者采用第二访存指令组基于64比特的拷贝处理,对余下字节进行从源数据地址到目标数据地址的拷贝处理。相对于现有技术而言,通过先对地址进行对齐处理,再采用第一访存指令组直接对待拷贝字节进行拷贝,有效提高了对于拷贝数据的处理效率和运行速度。
技术领域
本公开涉及计算机技术,尤其涉及一种数据拷贝的处理方法、装置、电子设备及存储介质。
背景技术
对于利用拷贝函数进行数据拷贝是计算机在处理数据的过程中必不可缺的步骤。
在现有技术中,计算机会利用一些函数指令对数据进行拷贝处理,例如,内存拷贝函数memcpy。具体来说,memcpy函数可用于将待拷贝的n个字节从源数据地址拷贝到目标数据地址。在利用memcpy函数进行数据拷贝时,当目标数据地址在上已存储有若干字节时,在执行该内存拷贝函数之后,这些已存储的字节将被覆盖;此外,当目标数据地址和源数据地址之间存在地址重叠时,在执行该内存拷贝函数之后,存储于源数据地址中重叠地址的待拷贝字节中的部分字节可能被覆盖。也就是说,当源数据地址和目标数据地址存在地址不对齐的情况时,上述的memcpy函数将采用逐个字节的拷贝方式,对待拷贝的n个字节进行拷贝,并在地址对齐后使用cpu字长进行拷贝,cpu字长一般为32bit或64bit。
但是,随着拷贝数据量的增大,利用memcpy函数进行数据拷贝的拷贝效率不能满足数据量的增长需求,不利于计算机对于大数据的数据和运算。
发明内容
针对上述提出的问题,本公开提供了一种数据拷贝的处理方法、装置、电子设备及存储介质。
第一方面,本公开提供了一种数据拷贝的处理方法,应用于RISC精简指令集架构,所述处理方法包括:
确定数据拷贝请求消息,所述数据拷贝请求消息包括:源数据地址、目标数据地址,以及待拷贝的字节;
根据所述数据拷贝请求消息,确定所述源数据地址与所述目标数据地址是否均为16字节对齐;
当所述源数据地址与所述目标数据地址为16字节对齐时,采用第一访存指令组,对所述待拷贝的字节以128比特从源数据地址到所述目标数据地址的拷贝处理,并获取所述待拷贝的字节中的余下字节;
采用逐个字节的拷贝方式或者采用第二访存指令组基于64比特的拷贝处理,对所述余下字节进行从所述源数据地址到所述目标数据地址的拷贝处理。
在其他可选示例中,该处理方法还包括:
当所述源数据地址与所述目标数据地址存在一个16字节不对齐时,对所述待拷贝的字节进行对齐处理,以使所述源数据地址与所述目标数据地址均16字节对齐;
采用第一访存指令组,对所述待拷贝的字节进行从源数据地址到所述目标数据地址的拷贝处理,并获取所述待拷贝的字节中的余下字节。
在其他可选示例中,所述对所述待拷贝的字节进行对齐处理,包括:
当确定源数据地址与所述目标数据地址中的字节不对齐部分超过64位时,采用第二访存指令组对该不对齐部分进行拷贝处理,直至所述源数据地址与所述目标数据地址均16字节对齐。
在其他可选示例中,所述对所述待拷贝的字节进行对齐处理,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科(合肥)技术有限公司,未经龙芯中科(合肥)技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911212805.1/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置