BC/NW 2021№ 1
(37):2.1
ИЗУЧЕНИЕ
ОСОБЕННОСТЕЙ РАЗРАБОТКИ ОПТИМИЗИРУЮЩЕГО КОМПИЛЯТОРА ДЛЯ VLIW-ПРОЦЕССОРА
Мишин А.А.,
Ладыгин И. И.
Архитектура с
«широким командным словом» (VLIW) относится к архитектурам, разработанным для
использования параллелизма на уровне команд. В машинах с архитектурой VLIW
многие статически запланированные, тесно связанные, мелкозернистые операции
выполняются параллельно в рамках одного потока команд. Таким образом можно
считать, что VLIW — это расширение многих текущих архитектур [1]. В ходе данной
работы был разработан оптимизирующий компилятор для гипотетического
VLIW-процессора. Характеристики целевого устройства, такие как количество и
назначение функциональных блоков, временные задержки обработки команд и прочие
передаются компилятору в качестве параметров. Псевдокод описания входной
программы представляет собой контекстно-независимый язык и его порождающая
грамматика задается в расширенной форме Бэкуса–Наура [2]. Для токенизации
псевдокода применяется лексер с поддержкой регулярных выражений, а для
формирования абстрактного синтаксического дерева из получившегося потока
токенов используется LARL(1)-парсер. Результирующее дерево обходится в глубину
по алгоритму прямого обхода и в результате его обработки получается
последовательность машинных инструкций. Из них, в свою очередь, и формируется
непосредственно широкое командное слово путем их объединения с учетом
отсутствия между ними зависимостей «чтение-после-записи», «записьпосле-чтения»
и «запись-после-записи». Каждый этап работы компилятора сопровождается
генерацией отчета о работе обеспечивая наглядность всего процесса.
Разработанный компилятор может применяться в образовательном процессе для
получения обучающимися знаний о принципах работы современных методов
компиляции.
Литература
1.
Joseph A. Fisher. Very Long Instruction Word architectures and the ELI-512. SIGARCH
Comput. Archit. News 11, 3 (June 1983), 140–150. DOI: https://doi.org/
10.1145/1067651.801649
2. Альфред В. Ахо, Моника С. Лам, Рави Сети, Джеффри Д. Ульман. Компиляторы:
принципы, технологии и инструментарий. — 2 изд. — М.: Вильямс, 2008. — ISBN
978-5-8459-1349-4.