[发明专利]一种DSP数据区动态管理方法有效
申请号: | 201010291189.6 | 申请日: | 2010-09-26 |
公开(公告)号: | CN101950273A | 公开(公告)日: | 2011-01-19 |
发明(设计)人: | 王希敏;蔡志明;姚直象;郭瑞;张卫;幸高翔 | 申请(专利权)人: | 中国人民解放军海军工程大学 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 武汉开元知识产权代理有限公司 42104 | 代理人: | 黄行军 |
地址: | 430033 湖北省武汉市*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 dsp 数据 动态 管理 方法 | ||
技术领域
本发明涉及信号处理技术领域,尤其涉及一种DSP数据区动态管理方法。
背景技术
随着嵌入式实时系统在各个领域的广泛应用,嵌入式软件的开发也受到越来越多的瞩目。在满足系统实时性要求的前提下,如何提高内存分配的快速性、可靠性和高效性,是嵌入式软件系统面临的一个重大问题。内存分配的快速性从嵌入式系统对实时性的要求出发,要求内存在分配过程中尽可能的快,因此在嵌入式系统中,不可能采用通用操作系统中复杂而繁琐的内存分配策略,一般都采用简单、快速的内存分配方案;内存分配的可靠性则要求内存分配的请求必须得到满足;而内存分配的高效性,则要求内存分配尽可能地减少浪费。
实时性通常要求嵌入式系统具有强大的并行计算能力与足够的数据吞吐量,通常由多片专用DSP构成高效互联的并行机来实现。而通用性就意味着系统处理的数据或对象的大小及数目是动态可变的,要求动态分配DSP数据区。在没有通用操作系统支撑的DSP上,编制的应用软件很难管理硬件资源,一般的DSP应用软件与底层硬件紧耦合,与底层硬件紧耦合的DSP一般应用软件则要求在设计时必须确定各种数据或对象在存储器中的分布,无法适应动态的变化,无扩展通用性。
目前,一般的嵌入式系统采用的内存管理方法通常是在设计时将内存分成若干个内存区,每个内存区中的多个内存块大小相同,不同内存区中的内存块的大小不同,并且不同内存区中的内存块的大小满足k*2n,其中,n和k为自然数。这种方法通常存在以下缺点:
1、各内存区域的大小是预先估计得到的,与应用的数据块大小不匹配,应用需要申请内存时,往往需要根据所申请内存的大小搜索各内存区,从中找到大小合适的内存块,因而会产生内存碎片。
2、由于内存区中的内存块的大小与应用的数据块大小不匹配,当所申请的内存块小于内存区中空闲块时,将合并小内存块;当所申请的内存块大于内存区中空闲块时,将分割大内存块,因此,内存申请效率低下。
因此,亟待提供一种DSP数据区动态管理方法以克服上述缺陷。
发明内容
本发明要解决的技术问题在于提供一种DSP数据区动态管理方法,该方法可以根据实际应用的需要动态管理DSP的内存数据区,高效且没有内存碎片。
为了解决上述技术问题,本发明提供了一种DSP数据区动态管理方法,其包括以下步骤:
根据DSP节点上对象数据的类型和每类对象数据的存储需求将DSP数据区的地址空间分区,每个分区对应一个内存资源对象;
在每个所述内存资源对象中创建对象数据池,同一所述对象数据池中的数据块大小相同且所述数据块的大小与存入所述对象数据池的对象数据的存储需求相应;
建立所述分区与对应的所述对象数据池的关联并初始化所述对象数据池的控制信息;以及
执行所述对象数据池中的数据块的分配与释放。
与现有技术相比,本发明的DSP数据区动态管理方法根据需要划分DSP内存数据区,系统执行时,可以按需动态分布对象数据,适应通用性的需求。并且,由于将不同的对象数据分类存放,每一类的数据池结构统一,减少了对象数据的存储时间,有效提高了系统运行的效率。此外,由于是根据应用中的各类对象数据的存储需求确定数据块的大小,也就是说,数据块的大小与应用需求相匹配,数据块不需要分割与合并的操作,因而对象数据池中不会产生内存碎片,DSP数据区的内存利用率高。再者,先将DSP数据区的空间地址分区、创建对象数据池,然后再建立所述分区和所述对象数据池之间的联系,这样,内存资源和对象数据池的管理可以独立变化,便于在各种类型DSP芯片的地址空间或者某个DSP芯片的任何地址区间中创建所需的对象数据池。
优选地,建立所述分区与对应的所述对象数据池的关联并初始化所述对象数据池的控制信息的步骤具体包括:将所述对象数据池的数据结构定义为连续的数据块链表并建立数据池索引表,所述对象数据池的控制信息包括链表头和数据块头,所述链表头用于存储相应的对象数据池中已分配数据块存储空间指针、相应的对象数据池中空闲数据块存储空间指针及对象数据池中剩余数据块的个数,所述数据块头存储有对应数据块的大小、数据指针以及下一个数据块的指针。采用连续的数据块链表表示对象数据池,便于实现多个对象数据池的管理,提高存储效率。两级的索引结构可以进一步加快数据块的分配。
优选地,所述DSP数据区动态管理方法还包括将位图与所述对象数据池相关联,用于表示相应的对象数据池的空闲或非空闲状态,以便于非正常使用时能快速返回错误信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军海军工程大学,未经中国人民解放军海军工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010291189.6/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置