期刊文献+

基于函数调用图的静态数据分配

Static Data Allocation Based on Function Call Graph
原文传递
导出
摘要 在许多嵌入式设计中,数据存储器是稀缺资源.如何基于静态分配方案,用最少的内存空间来存储程序数据成为嵌入式设计中一个非常重要的问题.如果两个函数之间不存在直接或者间接的调用关系的话,这两个函数的局部变量的生命期就没有重叠.这样的两个函数的局部变量可以共用存储空间而不会影响程序的正确性.基于这个思路,本文提出一种基于函数调用图的拓扑排序的最优静态分配算法(TBA)并证明了该分配算法的最优性.该分配算法通过静态分析技术,构建函数调用图(FCG),基于FCG的拓扑排序,计算每个函数的私有数据段的全局地址以及段内每个符号的全局地址,并根据重定位表更新对这些符号的引用.实验结果表明该算法优于前人提出的启发式算法. Data memory is a scarce resource for many embedded designs.As a result,it is a critical issue to explore a static memory allocation scheme which stores the program data upon the minimum amount of memory.It is observed that the local variables of two functions could share the same memory space,if these two functions neither directly nor indirectly invoke each other during aprogram's execution.Based on this observation,this paper proposes an optimal static memory allocation scheme and proves its optimality.This scheme consists of three steps.First,it constructs the function call graph(FCG)via static analysis.Then,it determines the address of each function's private data segment based on the topologic ordering of FCG.Finally,it determines the addresses of local symbols in private data segments and updates the reference to these symbols based on the relocation table.The optimality of this scheme is proved and the experimental results show that this scheme works better than the previous work.
出处 《武汉大学学报(理学版)》 CAS CSCD 北大核心 2013年第6期528-533,共6页 Journal of Wuhan University:Natural Science Edition
基金 国家自然科学基金(61170022 91118003 61003071 61373039)资助项目
关键词 函数调用图 拓扑排序 编译器 静态数据分配 function call graph topological ordering compiler static data allocation
  • 相关文献

参考文献2

二级参考文献15

  • 1胡定磊,陈书明.低功耗编译技术综述[J].电子学报,2005,33(4):676-682. 被引量:11
  • 2Banakar R, Steinke S,Lee B,et al. Scratchpad memory: A design alternative for cache on-chip memory in embedded systems [ A ]. Proceedings of the Tenth Intemational Symposium on Hardware/Software CoDesign [ C ]. New York, USA: 2002.73 - 78.
  • 3Rajeshwari Banakar, Stefan Steinke, Bo-Sik Lee. Comparison of Cache and Scratch-Pad based Memory Systems with respect to Performance, Area and Energy Consumption [ R ]. Dortmund, Germany: 2001.
  • 4P R Panda, N D Dutt, A Nicolau. On-chip vs. off-chip memory:The data partitioning problem in embedded processor-based systems[ J] .ACM Trans Design Automation of Electronic Systems, 2000,5(3):682 - 704.
  • 5Panda P R, Duti N D, Nicolau A. Local memory exploration and optimization in embedded systems [ J ]. Computer-Aided Design of Integrated Circuits and Systems, 1999, 18( 1 ):3 - 13.
  • 6Ranjan Panda P, Dutt N D, Nicolau A, et al. Data memory organization and opfimizations in application-specific systems[ J]. IEEE Design & Test of Computers, 2001,18(3) :56 - 68.
  • 7Absar M J, Catthoor F. Compiler-based approach for exploiting scratch-pad in presence of irregular array access[ A]. Proceedings of the conference on Design Automation and Test in Europe[C]. ICM, MESSE Munich, G-ermany,2005. 1162 - 1167.
  • 8Marteil F, Julien N, Senn E, et al. A complete methodology for memory optimization in DSP applications[ A]. Euromicro Symposium on Digital System Design[ C]. Rennes,France,2004.98 - 103.
  • 9Issenin I, Dutt N. FORAY-GEN. Automatic generation of affine functions for memory optimizations [ A ]. Proceedings of the conference on Design, Automation and Test in Europe [ C ]. ICM, MESSE Munich, Germany, 2005.808 - 813.
  • 10Kandemir M,Kadayif I, Sezer U. Exploiting scratch-pad memory using presburger formulas[A] .Proceedings. The 14th International Symposium on System Synthesis [C]. Montreal, Quebec, Canada,2001.7- 12.

共引文献10

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部