CN101808186A - 一种加快内存拷贝速度的方法 - Google Patents

一种加快内存拷贝速度的方法 Download PDF

Info

Publication number
CN101808186A
CN101808186A CN 201010133607 CN201010133607A CN101808186A CN 101808186 A CN101808186 A CN 101808186A CN 201010133607 CN201010133607 CN 201010133607 CN 201010133607 A CN201010133607 A CN 201010133607A CN 101808186 A CN101808186 A CN 101808186A
Authority
CN
China
Prior art keywords
byte
assignment
bytes
memory copying
copying speed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 201010133607
Other languages
English (en)
Other versions
CN101808186B (zh
Inventor
孙红兵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN2010101336079A priority Critical patent/CN101808186B/zh
Publication of CN101808186A publication Critical patent/CN101808186A/zh
Application granted granted Critical
Publication of CN101808186B publication Critical patent/CN101808186B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Read Only Memory (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

本发明涉及嵌入式软件领域,具体的说是涉及一种加快内存拷贝速度的方法。本发明公开了一种加快内存拷贝速度的方法,解决现有技术中内存拷贝速度慢导致数字机顶盒反应慢的问题。其技术方案的要点是:一种加快内存拷贝速度的方法,包括以下步骤:a.判断要拷贝的字节数是否小于16,如果是,则执行步骤b,否则执行步骤c;b.进行单字节赋值,返回步骤a;c.对目标地址进行4字节对齐操作:如果目标地址对4取模不为0,则采取单字节赋值方式,直到目标地址移位到对4取模为0;d.对源地址进行4字节对齐操作,每次赋值时采用4字节赋值。本发明的有益效果是:加快内存拷贝速度,进而提高数字机顶盒反应速度。

Description

一种加快内存拷贝速度的方法
技术领域
本发明涉及嵌入式软件领域,具体的说是涉及一种加快内存拷贝速度的方法。
背景技术
目前随着数字电视飞速发展,应用的不断增加,使得机顶盒的运行速度变得比较慢,人们对数字机顶盒反应速度的要求越来越高。而机顶盒软件中用到了非常多的标准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个字节的,采用单字节赋值。

Claims (1)

1.一种加快内存拷贝速度的方法,其特征在于:包括以下步骤:
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个字节的,采用单字节赋值。
CN2010101336079A 2010-03-26 2010-03-26 一种加快内存拷贝速度的方法 Expired - Fee Related CN101808186B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010101336079A CN101808186B (zh) 2010-03-26 2010-03-26 一种加快内存拷贝速度的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010101336079A CN101808186B (zh) 2010-03-26 2010-03-26 一种加快内存拷贝速度的方法

Publications (2)

Publication Number Publication Date
CN101808186A true CN101808186A (zh) 2010-08-18
CN101808186B CN101808186B (zh) 2012-01-25

Family

ID=42609793

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010101336079A Expired - Fee Related CN101808186B (zh) 2010-03-26 2010-03-26 一种加快内存拷贝速度的方法

Country Status (1)

Country Link
CN (1) CN101808186B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473057A (zh) * 2013-09-10 2013-12-25 江苏中科梦兰电子科技有限公司 一种memcpy函数的优化方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05176138A (ja) * 1991-12-25 1993-07-13 Sharp Corp コピー制御方法
JPH09261388A (ja) * 1996-03-18 1997-10-03 Canon Inc 複写制御装置
CN1937720A (zh) * 2005-12-29 2007-03-28 康佳集团股份有限公司 电视机设置信息复制方法和系统
CN1959636A (zh) * 2006-11-17 2007-05-09 迈普(四川)通信技术有限公司 嵌入式设备引导方法
CN101651794A (zh) * 2009-08-11 2010-02-17 深圳同方蓝色数码有限公司 一种拷贝电视机存储器数据的方法及智能拷贝器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05176138A (ja) * 1991-12-25 1993-07-13 Sharp Corp コピー制御方法
JPH09261388A (ja) * 1996-03-18 1997-10-03 Canon Inc 複写制御装置
CN1937720A (zh) * 2005-12-29 2007-03-28 康佳集团股份有限公司 电视机设置信息复制方法和系统
CN1959636A (zh) * 2006-11-17 2007-05-09 迈普(四川)通信技术有限公司 嵌入式设备引导方法
CN101651794A (zh) * 2009-08-11 2010-02-17 深圳同方蓝色数码有限公司 一种拷贝电视机存储器数据的方法及智能拷贝器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473057A (zh) * 2013-09-10 2013-12-25 江苏中科梦兰电子科技有限公司 一种memcpy函数的优化方法

Also Published As

Publication number Publication date
CN101808186B (zh) 2012-01-25

Similar Documents

Publication Publication Date Title
CN105302580B (zh) 一种通过gpu纹理共享实现快速获取游戏图像的方法和系统
WO2010048492A3 (en) Methods and systems for providing a modifiable machine base image with a personalized desktop environment in a combined computing environment
WO2008111049A3 (en) System and method for a virtual hosted operating system
WO2012004450A3 (en) Method and apparatus for aggregating and linking place data
CN102419713A (zh) 基于nandflash的机顶盒的软件升级方法
WO2013189341A3 (zh) 动态修改应用启动图标的方法、消息的发送方法、终端
WO2016036139A3 (ko) 블루투스 le(low energy) 기술을 이용하여 디바이스를 제어하기 위한 방법 및 장치
CN102629240A (zh) 一种串口通信方法与装置
WO2009073156A3 (en) Enhanced data exchange and functionality control system and method
WO2008015446A8 (en) Sparse integral image descriptors with application to motion analysis
CN101808186B (zh) 一种加快内存拷贝速度的方法
WO2017054541A1 (zh) 一种处理器及其处理任务的方法、存储介质
EP2254329A3 (en) Information processing device and method and program
BRPI0512029A (pt) método para a configuração de sinais correspondentes a um formato de pacote adaptativo de sistema mimo-wlan
CN1731374A (zh) 一种高速缓存预取模块及其方法
CN102857819B (zh) 一种纹理图片的加载方法及显示终端、服务器和系统
CN106790347A (zh) 一种基于netty的大规模并发数据转发方法
BR112015012163A2 (pt) método e aparelho para processamento de sinal digital de serviço
JP2011507377A5 (zh)
Kanani et al. A study of the damages to historical monuments due to climatic factors and air pollution and offering solutions
CN102360297A (zh) 在线应用加载的方法
WO2012009150A3 (en) Direct memory access engine physical memory descriptors for multi-media demultiplexing operations
CN106683033B (zh) 一种乱序OpenGL接口处理方法
CN101504613B (zh) 用于受限系统的分布式动态二进制翻译方法
CN103578407A (zh) Led显示屏

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120125

CF01 Termination of patent right due to non-payment of annual fee