汇编级内存复制标准库函数的生成方法及装置制造方法及图纸

技术编号:8271273 阅读:258 留言:0更新日期:2013-01-31 03:27
本发明专利技术实施例涉及一种汇编级内存复制标准库函数的生成方法及装置。包括:根据数据搬移要求、目标机器可用数据搬移指令集及其相应的地址对齐要求和当前可用的硬件资源信息,对所述目标机器可用数据搬移指令集进行第一功能筛选,生成满足搬移要求的搬移模式集合;根据每个搬移模式含有的数据搬移指令个数,对所述搬移模式集合进行第一性能筛选,得到最精简搬移模式;根据所述最精简搬移模式生成汇编级内存复制标准库函数,由此确定的汇编级内存复制标准库函数,搬移性能较优,可移植性较好。

【技术实现步骤摘要】
本专利技术涉及微处理器领域,尤其涉及一种汇编级内存复制库函数的生成方法及装置。
技术介绍
在数字信号处理领域,微处理器是面向数据密集型的应用,通常需要完成大量的实时计算。其中,内存复制标准库函数(memcpy标准库函数)是最常用的库函数之一,在微处理器进行多媒体编解码过程中会被频繁调用,属调用密集型函数,对其进行优化有助于提高微处理器数据处理性能。memcpy标准库函数目的是实现内存中任意规模的数据搬移。一般地,对于具有不同硬件特性的微处理器来说,标准库函数在高级语言层面上的实现代 码是一致的。然而,正是因为这种一致性,高级语言层面上的标准库函数很难做到针对特定目标体系结构的彻底优化。基于优化理论,对程序的汇编级进行优化,程序越底层,代码越容易调试,更能有效利用指令集。因此,现代微处理器为了提高处理性能,很多标准库函数都是以汇编的形式内嵌静态库中。memcpy标准库函数的典型实现算法是单字节数据搬移,即单字节从内存中读数,单字节写回内存。这种算法实现简单,当数据规模较小时,性能尚可。然而,当处理器的数据带宽大于8bits,且数据规模较大时,这种单字节的搬移方式,远没有发挥处理器的数据带宽,本文档来自技高网...

【技术保护点】
一种汇编级内存复制标准库函数的生成方法,其特征在于,所述方法包括:根据数据搬移要求、目标机器可用数据搬移指令集及其相应的地址对齐要求和当前可用的硬件资源信息,对所述目标机器可用数据搬移指令集进行第一功能筛选,生成满足搬移要求的搬移模式集合;根据每个搬移模式含有的数据搬移指令个数,对所述搬移模式集合进行第一性能筛选,得到最精简搬移模式;根据所述最精简搬移模式生成汇编级内存复制标准库函数。

【技术特征摘要】
1.一种汇编级内存复制标准库函数的生成方法,其特征在于,所述方法包括 根据数据搬移要求、目标机器可用数据搬移指令集及其相应的地址对齐要求和当前可用的硬件资源信息,对所述目标机器可用数据搬移指令集进行第一功能筛选,生成满足搬移要求的搬移模式集合; 根据每个搬移模式含有的数据搬移指令个数,对所述搬移模式集合进行第一性能筛选,得到最精简搬移模式; 根据所述最精简搬移模式生成汇编级内存复制标准库函数。2.如权利要求I所述的方法,其特征在于,对所述搬移模式集合进行第一性能筛选,若得到多个同样精简的搬移模式,取其中任意一个搬移模式作为所述最精简搬移模式。3.一种汇编级内存复制标准库函数的生成方法,其特征在于,所述方法包括 将搬移任务分解为头部搬移任务、循环搬移任务和尾部搬移任务; 根据所述头部搬移任务、循环搬移任务、尾部搬移任务、目标机器可用数据搬移指令集及其相应的地址对齐要求和所述目标机器当前可用的硬件资源信息,分别对所述目标机器可用数据搬移指令集进行第一功能筛选,并且分别生成第一头部搬移模式集合、第一循环搬移模式集合和第一尾部搬移模式集合; 根据每个搬移模式所含有的数据搬移指令个数,对所述第一头部搬移模式集合、第一循环搬移模式集合和第一尾部搬移模式集合分别进行第一性能筛选,分别生成第二头部搬移模式集合、第二循环搬移模式集合和第二尾部搬移模式集合; 将所述第二头部搬移模式集合、第二循环搬移模式集合和第二尾部搬移模式集合中相应的各个元素进行有序组合得到组合搬移模式集合,根据所述组合搬移模式集合中各个元素含有的各条指令执行代价,对所述组合搬移模式集合进行第二性能筛选,得到满足数据搬移要求的执行代价最小的组合搬移模式; 根据所述组合搬移模式生成汇编级内存复制标准库函数。4.如权利要求3所述的方法,其特征在于,对所述第一循环搬移模式集合进行所述第一性能筛选后生成第二循环搬移模式集合之后,按照循环次数展开进行第二功能筛选,更新所述第二循环搬移模式集合。5.一种汇编级内存复制标准库函数的生成装置,其特征在于,所述装置包括 第一功...

【专利技术属性】
技术研发人员:朱浩应欢王东辉洪缨彭楚
申请(专利权)人:中国科学院声学研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1