Quality Optimization Method of Dynamic Binary Translation Code Targeting for RISC-V

被引:0
|
作者
Yu Z. [1 ]
Chen L. [1 ]
Sun N. [1 ]
Bao Y. [1 ]
机构
[1] State Key Lab of processors, Institute of Computing Technology, Chinese Academy of Sciences), Beijing 100190), University of Chinese Academy of Sciences, Beijing
基金
中国国家自然科学基金;
关键词
dynamic binary translation; instruction set; optimization; RISC-V; translation quality;
D O I
10.7544/issn1000-1239.202220296
中图分类号
学科分类号
摘要
Dynamic binary translation is a mainstream technology to solve the problem of an instruction set facing ecological barriers. By translating the binary program of the source instruction set into the target instruction set, the application program of the source instruction set can be run on the processor of the target instruction set. A major challenge of dynamic binary translation technology is how to generate high-quality target instruction sequences, especially when there are differences between the source instruction sets and the target instruction sets. In order to explore this problem, We take RISC-V64 instruction set as the target instruction, and analyze the factors that affect the translation quality of dynamic binary translation technology when RISC-V64, RISC-V32, MIPS32 and x86 are used as source instructions respectively. In view of these factors, We propose corresponding optimization methods, and improve the translation quality with the help of some instructions in RISC-V B extension and P extension. Finally, We propose a new dynamic binary translation program DBT-FEMU and implement the above optimization technique, DBT-FEMU is evaluated in the simulator and FPGA. The evaluation data show that when running the SPEC CPU2006 integer benchmark, the above optimization techniques can reduce the number of dynamic instructions executed by the target program by an average of 57%, and the average performance of the translated target program is 4.12 times that of QEMU-i386. © 2023 Science Press. All rights reserved.
引用
收藏
页码:2322 / 2334
页数:12
相关论文
共 31 条
  • [1] RISC-V port of Debian [EB/OL]
  • [2] Henning J., SPEC CPU2006 benchmark descriptions[J], ACM SIGARCH Computer Architecture News, 34, 4, pp. 1-17, (2006)
  • [3] RISC-V bit-manipulation ISA-extensions
  • [4] RISC-V "P" extension proposal [EB/OL]
  • [5] Klaiber A., The technology behind Crusoe processors [R/OL], (2000)
  • [6] Cmelik B, Keppel D., Shade: A fast instruction-set simulator for execution profiling [C], Proc of the 1994 ACM SIGMETRICS Conf on Measurement and Modeling of Computer Systems, pp. 128-137, (1994)
  • [7] Dehnert C, Grant K, Banning P, Et al., The transmeta code morphing software: Using speculation, recovery, and adaptive retranslation to address real-life challenges [C], Proc of the 2003 Int Symp on Code Generation and Optimization, pp. 15-24, (2003)
  • [8] Chernoff A, Herdeg M, Hookway R, Et al., Fx! 32: A profile-directed binary translator[J], IEEE Micro, 18, 2, pp. 56-64, (1998)
  • [9] Ebcioglu K, Altman E., Daisy: Dynamic compilation for 100% architectural compatibility [C], Proc of the 24th Annual Int Symp on Computer Architecture, pp. 26-37, (1997)
  • [10] Gschwind M, Altman E, Sathaye S, Et al., Dynamic and transparent binary translation[J], Computer, 33, 3, pp. 54-59, (2000)