静态存储的分配方法和装置制造方法及图纸

技术编号:6678529 阅读:247 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种静态存储的分配方法和静态存储的分配装置,涉及数据存储技术领域,为解决现有技术中静态存储时仅限于函数内部定义的静态变量进行存储优化的技术问题而发明专利技术。所述方法包括:获取待优化的模块根据所述函数之间的耦合关系,生成一模块模型;获取所述模块的所有的函数调度顺序;获取所述模块在每个所述函数调度顺序下对应的所有变量所需存储空间的下确界;对每一种函数调度顺序,通过遗传算法优化所有变量的地址分配信息;选择优化后所有变量占用的存储空间最小的函数调度顺序;根据选择的所述函数调度顺序和所述函数调度顺序对应的地址分配信息,对所述模块进行编译。本发明专利技术能够根据函数的全局变量进行存储地址的优化。

【技术实现步骤摘要】

本专利技术涉及数据存储
,特别是指一种静态存储的分配方法和装置
技术介绍
静态存储分配是指在程序编译时完成的存储地址的分配,静态存储分配与在程序 运行时完成的动态存储分配不同。静态分配没有运行时的开销,对程序的性能没有影响,不 存在动态分配时可能出现的分配失败等问题。静态存储分配的灵活性差比较差,主要体现在一个变量往往在程序的整个生存 期都一直占据所分配的存储空间,降低了存储空间使用上的灵活性。现有技术中,在htel 8051的一些C语言编译器里,实现了一定程度的存储复用。 例如下面的两个函数fl、f2,如果它们不可能同时处于活动状态(被调用状态),那么可以 将Π、f2里静态分配的变量vl、v2复用同一 100字节的存储空间。若不进行复用,则需要 200个字节的存储空间。void fl(){static char vl;}void f2 (){static char v2;}上述复用技术仅限于函数内部定义的静态变量,而不能处理函数的全局变量。
技术实现思路
本专利技术要解决的技术问题是提供一种静态存储的分配方法和装置,能够减少对存 储空间的需求。为解决上述技术问题,本专利技本文档来自技高网...

【技术保护点】
一种静态存储的分配方法,其特征在于,包括:步骤1,获取待优化的模块,所述模块包括至少两个相互耦合的函数;步骤2,根据所述函数之间的耦合关系,生成一模块模型;所述模块模型包括:函数名称和变量,所述变量包括输入变量和输出变量;步骤3,根据所述模块模型,获取所述模块的所有的函数调度顺序;步骤4,获取所述模块在每个所述函数调度顺序下对应的所有变量所需存储空间的下确界;步骤5,对每一种函数调度顺序,通过遗传算法优化所有变量的地址分配信息,使所有变量占用的存储空间的大小趋近或到达所述下确界的最小值;步骤6,选择优化后所有变量占用的存储空间最小的函数调度顺序;步骤7,根据选择的所述函数调度顺序和所述函数调度...

【技术特征摘要】

【专利技术属性】
技术研发人员:厉正吉
申请(专利权)人:意法·爱立信半导体北京有限公司
类型:发明
国别省市:11

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

1