期刊文献+

二进制翻译中代码生成的子图覆盖算法 被引量:1

Subgraph Covering for Efficient Code Generation in Binary Translation
下载PDF
导出
摘要 二进制翻译技术能够有效解决二进制兼容问题,促进新型体系结构的发展,也是虚拟机技术的重要组成部分,具有重要的研究和应用价值,但是其效率仍然有待提升,特别是目标代码生成的效率。设计了一种高效的目标代码生成算法——代码生成的子图覆盖算法(subgraph covering for code generation,SCCG),能够以尽可能少的代价生成精简的目标代码。该算法应用数据流图对二进制代码中的基本块进行建模,获取指令间的数据相关,并采用基于子图覆盖的贪心算法得到目标代码。在TransARM原型系统中进行了实现和测试,结果表明该算法获得了更优质的目标代码,并且成本得到了有效控制。 As an efficient way to solve binary compatibility problem, binary translation can promote the development of novel architecture, and is an important part of virtual machine. Although it has great value in research and appli- cation, its efficiency is a bottleneck, especially the efficiency of its target code generation procedure. This paper designs an efficient code generation algorithm -- subgraph covering for code generation (SCCG), which can gen- erate reduced code with as less cost as possible. It employs data flow graph (DFG) to model basic blocks in binary code and find the dependency between instructions, and applies a greedy algorithm based on subgraph covering to obtain target code. This algorithm is implemented and tested in TransARM prototype system, the results show that it obtains better target code and limits its cost well.
出处 《计算机科学与探索》 CSCD 2011年第7期613-623,共11页 Journal of Frontiers of Computer Science and Technology
基金 国家自然科学基金No.60803041 国家重点基础研究发展规划(973)No.2007CB310901 国防科技大学优秀研究生创新项目No.S090606~~
关键词 二进制翻译 数据流图(DFG) 子图覆盖 代码生成 binary translation data flow graph (DFG) subgraph covering code generation
  • 相关文献

参考文献11

  • 1Dehnert J C, Grant B K, Banning J P, et al. The Transmeta code morphingTM software: using speculation, recovery and adaptive retranslation to address real-life chal- lenges[C]//Proceedings of the 1st International Sympo- sium on Code Generation and Optimization (CGO '03) Washington, DC, USA: IEEE Computer Society, 2003 15-24.
  • 2Ebcioglu K, Altman E R. DAISY: dynamic compilation for 100% architectural compatibility[C]//Proceedings of the 24th International Symposium on Computer Archi- tecture (ISCA '97). New York, NY, USA: ACM, 1997: 26-37.
  • 3Bala V, Duesterwald E, Banerjia S. Dynamo: a transpar- ent dynamic optimization systemiC]l/Proceedings of the 2000 ACM SIGPLAN Conference on Programming Lan- guage Design and Implementation (PLDI '2000). New York, NY, USA: ACM, 2000: 1-12.
  • 4Altman E, Gschwind M, Sathaye S, et al. BOA: the architecture of a binary translation processor, RC21665[R]. IBM T J Watson Research Center, 2000.
  • 5Duesterwald E, Bala V. Software profiling for hot path prediction: less is more[C]//Proceedings of the 9th Inter- national Conference on Architectural Support for Pro- gramming Languages and Operating Systems (ASPLOS '00). New York, NY, USA: ACM, 2000: 202-211.
  • 6Hu Shiliang, Smith J E. Using dynamic binary translation to fuse dependent instructions[C]//Proceedings of the 2nd International Symposium on Code Generation and Opti- mization (CGO '04). Washington, DC, USA: IEEE Comouter Society, 2004: 213-226.
  • 7Clark N, Hormati A, Mahlke S, et al. Scalable subgraph mapping for acyclic computation accelerators[C]//Pro- ceedings of the 2006 International Conference on Com- pilers, Architecture and Synthesis for Embedded Systems (CASES '06), Seoul, Korea, October 23-25, 2006. New York, NY, USA: ACM, 2006: 147-157.
  • 8ARM Corporation. ARM~ architecture reference[Z]. Manual ARMRv7-A and ARMRv7-R, 2009.
  • 9Intel Corporation. Intel 64 and 1A-32 architectures soft- ware developer's manual[Z]. April 2008.
  • 10Chen Huowang, Liu Chunlin, Tan Qingping, et al. Pro- gramming language: compiler construction principles[M]. 3rd ed. Beijing: National Defence Industry Press, 2000.

同被引文献4

引证文献1

二级引证文献3

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

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