Оптимизация передачи управления в полносистемных эмуляторах


Оптимизация передачи управления в полносистемных эмуляторах

Костин М.А. (ИСП РАН, Москва, Россия)
Довгалюк П.М. (ИСП РАН, Москва, Россия; НовГУ, Великий Новгород, Россия)
Полетаев Д.Н. (ИСП РАН, Москва, Россия)
Тейс Г.Н. (ИСП РАН, Москва, Россия)
Фурсова Н.И. (ИСП РАН, Москва, Россия)

Аннотация

Полносистемные эмуляторы позволяют имитировать работу всей машины, включая процессор и периферию. Данная технология значительно упрощает разработку и отладку программ под различные платформы, так как она избавляет от необходимости иметь в распоряжении соответствующую аппаратуру. Полносистемные эмуляторы в основном используют динамическую двоичную трансляцию для приемлемой производительности. Целью данной работы является повышение производительности динамической двоичной трансляции путём применения оптимизаций передачи управления. В статье проводится обзор различных оптимизаций с учётом ограничений полносистемных эмуляторов, в том числе рассматривается проблема межстраничных переходов. Для реализации были выбраны межстраничное связывание и программное предсказание. При анализе существующих решений доказывается, что один из методов проверки межстраничных переходов неверен, а для корректного метода предлагается улучшенный алгоритм, составленный с учётом особенностей гостевой архитектуры. Помимо этого, в статье приводится новый подход к реализации программного предсказания в полносистемных эмуляторах, который упрощает проверочный код и увеличивает точность предсказания. Данные оптимизации были реализованы в полносистемном эмуляторе QEMU. Тесты на двух разных машинах показали, что производительность QEMU была улучшена на 23,5% и 21,1% в среднем, а максимум улучшения составил 89,9% и 76,9% соответственно.

Ключевые слова

полносистемная эмуляция; динамическая двоичная трансляция; оптимизация программ; передача управления; QEMU.

Издание

Труды Института системного программирования РАН, том 38, вып. 2, 2026, стр. 129-148.

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

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

Для цитирования

Костин М.А., Довгалюк П.М., Полетаев Д.Н., Тейс Г.Н., Фурсова Н.И. Оптимизация передачи управления в полносистемных эмуляторах. Труды Института системного программирования РАН, том 38, вып. 2, 2026, стр. 129-148. DOI: 10.15514/ISPRAS-2026-38(2)-9.

Полный текст статьи в формате pdf Вернуться к содержанию тома