|
Разработка компилятора для стековой процессорной архитектуры TF16 на основе LLVM
Л. В. Скворцов, Р. В. Баев, К. Ю. Долгорукова, Е. Ю. Шарыгин Институт системного программирования им. В.П. Иванникова РАН
Аннотация:
Разработка для стековых процессорных архитектур обычно ведётся с использованием устаревших низкоуровневых языков программирования или языка ассемблер. Поэтому актуальна задача поддержки языков программирования высокого уровня для таких архитектур. В этой работе мы рассматриваем процесс разработки и реализации на базе инфраструктуры LLVM/Clang полноценной системы программирования для языка Си для стековой архитектуры TF16. Использование именно LLVM в качестве базовой системы программирования обусловлено большими возможностями адаптации дополнительных компонентов системы программирования, например, таких как дизассемблер, компоновщик и отладчик для использования с новыми архитектурами. Нами были разработаны две версии компилятора. В первой версии компилятора архитектура TF16 рассматривалась как классическая регистровая архитектура, и сгенерированный код не использовал стековые возможности. Эта версия была относительно проста в разработке и служила точкой сравнения для второй версии компилятора. Во второй версии компилятора был разработан и реализован платформо-независимый алгоритм планирования команд с учётом особенностей стековых архитектур. При сравнении двух версий версия компилятора с поддержкой стековых возможностей генерирует код, который в среднем на 35.7% быстрее по времени выполнения и на 50.8% меньше по размеру, чем код, генерируемый версией компилятора без поддержки стековых возможностей. Разработанный алгоритм позволяет реализовать в компиляторе LLVM поддержку других стековых процессорных архитектур.
Ключевые слова:
стековый процессор, компилятор, LLVM.
Образец цитирования:
Л. В. Скворцов, Р. В. Баев, К. Ю. Долгорукова, Е. Ю. Шарыгин, “Разработка компилятора для стековой процессорной архитектуры TF16 на основе LLVM”, Труды ИСП РАН, 33:5 (2021), 137–154
Образцы ссылок на эту страницу:
https://www.mathnet.ru/rus/tisp632 https://www.mathnet.ru/rus/tisp/v33/i5/p137
|
Статистика просмотров: |
Страница аннотации: | 40 | PDF полного текста: | 13 |
|