Optimizing control transfer in full-system emulators


Optimizing control transfer in full-system emulators

Kostin M.A. (ISP RAS, Moscow, Russia)
Dovgalyuk P.M. (ISP RAS, Moscow, Russia; NovSU, Veliky Novgorod, Russia)
Poletaev D.N. (ISP RAS, Moscow, Russia)
Teys G.N. (ISP RAS, Moscow, Russia)
Fursova N.I. (ISP RAS, Moscow, Russia)

Abstract

Full-system emulators replicate an entire machine’s operation, including its CPU and peripherals. This technology significantly simplifies software development and debugging for various platforms, as it eliminates the need for the corresponding physical hardware. Full-system emulators usually use dynamic binary translation for acceptable performance. The aim of this work is to improve the performance of dynamic binary translation by applying control transfer optimizations. The paper provides an overview of various optimizations, taking into account the constraints of full-system emulators, including cross-page problem. Cross-page block linking and software prediction were chosen for implementation. When analyzing existing solutions, it is proven that one of the methods for cross-page branch validation is incorrect. An improved algorithm, developed with consideration for the specifics of the guest architecture, is proposed for the correct one. Furthermore, the paper proposes a novel approach for software prediction implementation for full-system emulators that keeps the check code simple and increases prediction accuracy. These optimizations were implemented in QEMU full-system emulator. Benchmarks on two different machines showed that QEMU's performance improved by 23.5% and 21.1% on average, with peak improvements reaching 89.9% and 76.9%, respectively.

Keywords

full-system emulation; dynamic binary translation; program optimization; control transfer; QEMU.

Edition

Proceedings of the Institute for System Programming, vol. 38, issue 2, 2026, pp. 129-148

ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).

DOI: 10.15514/ISPRAS-2026-38(2)-9

For citation

Kostin M.A., Dovgalyuk P.M., Poletaev D.N., Teys G.N., Fursova N.I. Optimizing control transfer in full-system emulators. Proceedings of the Institute for System Programming, vol. 38, issue 2, 2026, pp. 129-148 DOI: 10.15514/ISPRAS-2026-38(2)-9.

Full text of the paper in pdf (in Russian) Back to the contents of the volume