【技术实现步骤摘要】
一种多策略内存分段拷贝优化方法、装置及介质
[0001]本专利技术涉及一种多策略内存分段拷贝优化方法、装置及介质,属于字节拷贝
技术介绍
[0002]内存拷贝广泛应用于计算机数据处理。现阶段内存拷贝有多种方法,其中一种有代表性的是高位宽指令优先策略的memcpy函数优化方法,先使用单字节拷贝指令使得源/目的地址至少一个满足系统支持最高位宽指令的对界属性,另一个地址按照当前对界属性能匹配的最高字节长度(不大于系统最高位宽指令)对应指令进行拷贝,这样势必存在该地址使用单字节或两字节等固定字节且较小指令完成循环拷贝的情况。另一种有代表性的是16/64字节分段的内存加速拷贝方法,其中低于16字节采用单字节拷贝,介于16与64之间采用4字节,高于64字节采用4字节连续拷贝16次进行加速。以上研究更多的是考虑高位宽指令或简单分段模式,未充分利用待拷贝数据的长度范围与处理器支持的结构特性进行优化。
[0003]现有技术中,存在相关专利:一种memcpy函数的优化方法;专利申请号:201310408259.5;
[ ...
【技术保护点】
【技术特征摘要】
1.一种多策略内存分段拷贝优化方法,其特征在于,包括以下步骤:步骤1:获取待拷贝数据,根据访存指令特性,判断源目地址对界属性,若目的地址非R字节对界,则使用标量拷贝指令处理至目的地址R字节对界后,再跳转到步骤2,若目的地址R字节对界,则直接跳转到步骤2;步骤2:获取待拷贝数据的长度,并根据待拷贝数据的长度进行区分,针对各区间特性,采用不同优化手段,以实现分段多策略拷贝优化。2.根据权利要求1所述的多策略内存分段拷贝优化方法,其特征在于,根据待拷贝数据的长度进行区分,针对各区间特性,采用不同优化手段,以实现分段多策略拷贝优化,包括:步骤a:判断待拷贝数据的长度与效率阈值A的大小关系,若待拷贝数据的长度小于A,则跳转到步骤b,若大于等于A,则跳转到步骤c;步骤b:针对待拷贝数据的长度len小于A的情况,采用跳转表实现:根据待拷贝数据的长度len进行偏移计算,并结合跳转表基址得到精准的跳转地址,在跳转到相应位置后,结合处理器访存指令完成len字节拷贝;步骤c:判断待拷贝数据的长度与效率阈值B的大小关系,若待拷贝数据的长度小于B,则跳转到步骤d,使用标量访存指令进行内存拷贝;若待拷贝数据的长度大于等于B,则跳转到步骤e,使用向量访存指令进行拷贝;步骤d:针对待拷贝数据的长度len介于A与B之间的情况,将目的地址属性处理至满足标量访存指令的自然对界属性,即低位宽对界属性,采用X字节的标量访存指令为处理单元进行循环拷贝;步骤e:针对待拷贝数据的长度len大于B的情况,将目的地址属性处理至满足向量访存指令的自然对界属性,即高位宽对界属性,引入Y字节向量访存指令为处理单元实现循环加速拷贝。3.根据权利要求2所述的多策略内存分段拷贝优化方法,其特征在于,步骤d中,采用X字节的标量访存指令为处理单元进行循环拷贝,包括:d1.当待拷贝数据的长度大于M*X时,按X字节标量指令为处理单元进行循环拷贝,且每次循环展开M次...
【专利技术属性】
技术研发人员:黄亮明,张静,姜军,蒋丽萍,邓洁,
申请(专利权)人:无锡先进技术研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。