[发明专利]数据处理装置及其内存数据处理方法有效
| 申请号: | 201210113652.7 | 申请日: | 2012-04-17 |
| 公开(公告)号: | CN102662678A | 公开(公告)日: | 2012-09-12 |
| 发明(设计)人: | 黄卫军;许国昌;何曌君;杨冲;夏颖;胡秋立 | 申请(专利权)人: | 中标软件有限公司 |
| 主分类号: | G06F9/44 | 分类号: | G06F9/44 |
| 代理公司: | 北京聿宏知识产权代理有限公司 11372 | 代理人: | 钟日红;张宇峰 |
| 地址: | 200030 上海市徐汇*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据处理 装置 及其 内存 方法 | ||
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种数据处理装置及其内存数据处理方法。
背景技术
各种数据处理设备中,经常利用内存进行数据处理(以下简称内存数据处理),例如,进行内存数据拷贝、删除、移动等处理,用于执行这些处理的函数采用C语言来实现。CPU(Central Processing Unit,中央处理器)通过各种内存处理函数处理一个字节的数据和处理一个机器字的数据一样,都是在一条指令、一个CPU时钟周期内完成的。但是,这种处理方式并不能有效利用数据设备的硬件性来提高内存数据处理效率。
例如,在Linux系统中,Glibc库是最底层的函数库,为其上的应用程序提供系统接口以及其它功能函数,Linux系统上的其它函数库都需要直接或间接依赖于Glibc库。此外,Glibc库还是以C语言构建开发程序时使用的基本函数库。例如,作为基本函数库中函数之一的memcpy即为通过C语言来实现的内存数据拷贝函数。
以龙芯3A处理器为例,龙芯3A处理器实现了64位的MIPS(millions of instructions per second,百万条指令/秒)III指令集,整数寄存器和浮点寄存器均为64位,指令流水线每个时钟周期取四条指令进行译码,将译码后的指令动态地发射到五个全流水的功能部件中。
龙芯3A处理器包含两级Cache(高速缓冲存储器)结构,一级Cache中包括数据或指令,为64kB;二级Cache是混合Cache,其中同时包括指令和数据,为64kB。一级Cache和二级Cache都采用四路组相联结构,均采用随机替换算法,每个Cache行大小均为32字节,即可以存放8个字。
目前,在龙芯3A处理器中,内存处理函数通常按照机器字长逐字进行数据操作,以机器字为单位,每次处理机器字数量的数据,直至剩余数据少于机器字数量的数据。然后,以字节为单位进行数据处理,直至将数据处理完毕。在32位机中,一个机器字等于4个字节。
可见,对于高速缓冲存储器及寄存器均已为64位的龙芯3A,在内存拷贝过程中仍然统一采取以机器字或者字节为单位并不能充分利用硬件能力,效率比较低。
此时,如果采用C语言来实现内存拷贝等处理,在龙芯3A处理器的数据处理过程,需要通过编译器将C语言编译成汇编语言,在此编译过程中编译器可能产生低效、冗余的代码,且会按编译器的方式进行编译和优化,即使对小数据量的拷贝也难以高效进行。
发明内容
本发明所要解决的技术问题之一是需要提供一种能够提高内存数据处理效率的数据处理装置及其内存数据处理方法。
为了解决上述技术问题,本发明提供了一种数据处理装置的内存数据处理方法,该方法包括:
第一确定步骤,确定待处理数据的数据量;
第二确定步骤,根据所述数据处理装置的机器字长和所述待处理数据的数据量来设定单次数据处理量,其中,所述单次数据处理量小于等于所述待处理数据的数据量;
处理步骤,通过执行n次数据处理子任务来完成对所述待处理数据的数据量的一部分,其中,n等于所述待处理数据的数据量与所述单次数据处理量的商,所述单次数据处理量为每执行一次所述数据处理子任务所处理的数据量。
根据本发明的另一方面的内存数据处理方法,还包括:
若所述待处理数据中还存在未被处理的数据,则将所述待处理数据更新为经过所述处理步骤后仍未被处理的数据,并返回所述第一确定步骤。
根据本发明的另一方面的内存数据处理方法,在根据所述数据处理装置的机器字长和所述待处理数据的数据量来设定单次数据处理量的步骤中,
当所述待处理数据的数据量大于等于所述数据处理装置的一个机器字长时,将所述单次数据处理量设置小于等于待处理数据的数据量且为所述数据处理装置的机器字长的整数倍。
根据本发明的另一方面的内存数据处理方法,在根据所述数据处理装置的机器字长和所述待处理数据的数据量来设定单次数据处理量的步骤中,
当待处理数据的数据量大于等于所述数据处理装置的一个机器字长时,使得单次数据处理量小于等于待处理数据的数据量且为所述数据处理装置的机器字长的2的整数次幂倍。
根据本发明的另一方面的内存数据处理方法,在根据所述数据处理装置的机器字长和所述待处理数据的数据量来设定单次数据处理量的步骤中,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中标软件有限公司,未经中标软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210113652.7/2.html,转载请声明来源钻瓜专利网。





