Труды института системного программирования РАН
RUS  ENG    ЖУРНАЛЫ   ПЕРСОНАЛИИ   ОРГАНИЗАЦИИ   КОНФЕРЕНЦИИ   СЕМИНАРЫ   ВИДЕОТЕКА   ПАКЕТ AMSBIB  
Общая информация
Последний выпуск
Архив

Поиск публикаций
Поиск ссылок

RSS
Последний выпуск
Текущие выпуски
Архивные выпуски
Что такое RSS



Труды ИСП РАН:
Год:
Том:
Выпуск:
Страница:
Найти






Персональный вход:
Логин:
Пароль:
Запомнить пароль
Войти
Забыли пароль?
Регистрация


Труды института системного программирования РАН, 2016, том 28, выпуск 5, страницы 199–214
DOI: https://doi.org/10.15514/ISPRAS-2016-28(5)-12
(Mi tisp76)
 

Задача глобального распределения регистров во время динамической двоичной трансляции

К. А. Батузов

Институт системного программирования РАН
Список литературы:
Аннотация: Распределение регистров оказывает существенное влияние на производительность генерируемого кода. В данной статье исследуется задача распределения регистров во время динамической двоичной трансляции. Так как существующие алгоритмы распределения регистров рассчитаны на использование в компиляторах, они плохо подходят для использования во время динамической двоичной трансляции. Был разработан новый алгоритм, который определяет, какие переменные должны располагаться на каких регистрах в начале и в конце базового блока (назовем эти ограничения пред- и постусловиями данного базового блока), а затем решает задачу локального распределения регистров в данных ограничениях. Для обеспечения корректности ограничений алгоритм должен работать так, чтобы бля любого базового блока b', предшествующего блоку b, постусловия блока b' совпадали с предусловиями блока b. Этого можно достичь, если выделить в графе потока управления группы дуг, на всех концах которых ограничения должны быть неизменны. Такие дуги называются точками синхронизации. Точки синхронизации являются связными компонентами в неориентированном графе, вершинами которого являются дуги графа потока управления, а ребрами соединены те дуги-вершины, которые либо входят, либо выходят из одного базового блока. Данное утверждение позволяет эффективно находить точки синхронизации. Для определения того, сколько переменных должно находиться на регистрах в точке синхронизации, количество доступных регистров оценивается с помощью регистрового давления. Затем выбираются конкретные переменные на их частоты использования в данном фрагменте кода. Алгоритм локального распределения регистров был модифицирован, чтобы использовать предусловия и обеспечивать постусловия. В статье приводится эффективный алгоритм для приведения существующего распределения в конце базового блока к требуемым постусловиям и доказывается оптимальность этого алгоритма. Применение описанного алгоритма распределения регистров привело к сокращению времени работы синтетического примера на 29.6%.
Ключевые слова: глобальное распределение регистров, динамическая двоичная трансляция, эмуляторы, QEMU.
Реферативные базы данных:
Тип публикации: Статья
Образец цитирования: К. А. Батузов, “Задача глобального распределения регистров во время динамической двоичной трансляции”, Труды ИСП РАН, 28:5 (2016), 199–214
Цитирование в формате AMSBIB
\RBibitem{Bat16}
\by К.~А.~Батузов
\paper Задача глобального распределения регистров во время динамической двоичной трансляции
\jour Труды ИСП РАН
\yr 2016
\vol 28
\issue 5
\pages 199--214
\mathnet{http://mi.mathnet.ru/tisp76}
\crossref{https://doi.org/10.15514/ISPRAS-2016-28(5)-12}
\elib{https://elibrary.ru/item.asp?id=27679160}
Образцы ссылок на эту страницу:
  • https://www.mathnet.ru/rus/tisp76
  • https://www.mathnet.ru/rus/tisp/v28/i5/p199
  • Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Труды института системного программирования РАН
    Статистика просмотров:
    Страница аннотации:161
    PDF полного текста:84
    Список литературы:40
     
      Обратная связь:
     Пользовательское соглашение  Регистрация посетителей портала  Логотипы © Математический институт им. В. А. Стеклова РАН, 2024