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 条
  • [21] Xuan Guo, Mullins R., Accelerate cycle-level full-system simulation of multi-core RISC-V systems with binary translation [J], (2020)
  • [22] Marshall B, Daniel P, Thinh P., Implementing the draft RISC-V scalar cryptography extensions [C/OL], Proc of the 2020 Hardware and Architectural Support for Security and Privacy, (2020)
  • [23] Marshall B, Daniel P, Thinh P., A lightweight ISE for ChaCha on RISC-V [C], Proc of the 32nd IEEE Int Conf on Application-specific Systems, Architectures and Processors (ASAP), pp. 25-32, (2021)
  • [24] Babu S, Snehashri S, Deepa S, Et al., Evaluation of bit manipulation instructions in optimization of size and speed in RISC-V [C], Proc of the 34th Int Conf on VLSI Design (VLSID), pp. 54-59, (2021)
  • [25] Chen Y, Hui-Hsin L, Chia-Hsuan C, Et al., Experiments and optimizations for TVM on RISC-V architectures with P extension
  • [26] Proc of the 2020 Int Symp on VLSI Design, Automation and Test (VLSI-DAT), (2020)
  • [27] RISC-V calling conventions [EB/OL]
  • [28] Waterman A, Lee Y, Patterson D, Et al., The RISC-V instruction set manual, volume I: User-level ISA, version 2, UCB/EECS-2011−62, (2011)
  • [29] Spike RISC-V ISA simulator [EB/OL]
  • [30] Zhao J, Korpan B, Gonzalez A, Et al., Sonicboom: The 3rd generation Berkeley out-of-order machine [C/OL], Proc of the 4th Workshop on Computer Architecture Research with RISC-V (CARRV), (2020)