[发明专利]一种加快内存拷贝速度的方法有效
申请号: | 201010133607.9 | 申请日: | 2010-03-26 |
公开(公告)号: | CN101808186A | 公开(公告)日: | 2010-08-18 |
发明(设计)人: | 孙红兵 | 申请(专利权)人: | 四川长虹电器股份有限公司 |
主分类号: | H04N5/00 | 分类号: | H04N5/00;H04N5/44 |
代理公司: | 成都虹桥专利事务所 51124 | 代理人: | 李顺德 |
地址: | 621000 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 加快 内存 拷贝 速度 方法 | ||
技术领域
本发明涉及嵌入式软件领域,具体的说是涉及一种加快内存拷贝速度的方法。
背景技术
目前随着数字电视飞速发展,应用的不断增加,使得机顶盒的运行速度变得比较慢,人 们对数字机顶盒反应速度的要求越来越高。而机顶盒软件中用到了非常多的标准C内存拷贝 库函数memcpy,因此,内存拷贝的速度将影响机顶盒的反应速度。传统方法中是采用while 循环一个一个字节的赋值方式来实现内存间的拷贝,即拷贝1M的内存,需要执行1024*1024 次循环条件判断,速度比较慢,不能满足人们对数字机顶盒快速反应的需要。
发明内容
本发明所要解决的技术问题是:提出一种加快内存拷贝速度的方法,解决现有技术中内 存拷贝速度慢导致数字机顶盒反应慢的问题。
本发明解决上述技术问题所采用的技术方案是:一种加快内存拷贝速度的方法,包括以 下步骤:
a.判断要拷贝的字节数是否小于16,如果是,则执行步骤b,否则执行步骤c;
b.进行单字节赋值,返回步骤a;
c.对目标地址进行4字节对齐操作:如果目标地址对4取模不为0,则采取单字节赋值 方式,直到目标地址移位到对4取模为0;
d.对源地址进行4字节对齐操作,包括:
d1.如果源地址对4取模为0,且要拷贝的字节数大于等于64字节,每次进行4个字节 的赋值,连续进行16次,不足64字节的,按每4个字节赋值,不足4个字节的,采用单字 节赋值;
d2.如果源地址对4取模不为0,且要拷贝的字节数大于等于48个字节,每次进行4个 字节的赋值,连续进行12次,不足48字节的,按每4个字节赋值,连续赋值2次,不足8 个字节的,采用单字节赋值。
本发明的有益效果是:加快内存拷贝速度,进而提高数字机顶盒反应速度。
附图说明
图1为本发明的方法流程图。
具体实施方式
下面结合附图本发明作进一步的描述。
本发明提出一种加快内存拷贝速度的方法,解决现有技术中内存拷贝速度慢导致数字机 顶盒反应慢的问题,其主要改进点在于:采用一次多字节赋值,多字节移位的方式减少循环 条件判断语句的执行来实现加快内存拷贝速度,特别对于较大内存的拷贝速度提高非常明显。
如图1所示,本发明中的加快内存拷贝速度的方法,采用以下步骤实现:
1.判断要拷贝的字节数是否小于16,如果小于16则无需进行一次多字节赋值,执行步 骤2,如果大于16则需要进行一次多字节赋值,执行步骤3;
2.进行单字节赋值,返回步骤1;
3.对目标地址进行4字节对齐操作,主要是因为有的嵌入式软件的操作系统有4字节对 齐的要求,不对齐将出错;如果目标地址对4取模不为0,则采取单字节赋值方式,直到目 标地址移位到对4取模为0;
4.对源地址进行4字节对齐操作,如果源地址对4取模为0,且要拷贝的字节数大于等 于64字节,则执行步骤5,否则执行步骤8;
5.每次进行4个字节的赋值,连续进行16次;
6.不足64字节的,按每4个字节赋值;
7.不足4个字节的,采用单字节赋值;
8.如果源地址对4取模不为0,且要拷贝的字节数大于等于48个字节,每次进行4个字 节的赋值,连续进行12次;
9.不足48字节的,按每4个字节赋值,连续赋值2次;
10.不足8个字节的,采用单字节赋值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川长虹电器股份有限公司,未经四川长虹电器股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010133607.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:图像处理装置及图像处理方法
- 下一篇:快速平面透射图像采集器