Аннотация:
Рассмотрена классификация программных циклов для оптимизирующего компилятора на процессор с программируемым ускорителем. Такой процессор
может быть системой на кристалле, содержащем одновременно и вычислительные ядра, и программируемую схему.
Программируемый ускоритель настраивается на архитектуру реконфигурируемого конвейера.
Уточнена классификация по регулярным информационным зависимостям.
Для каждого класса циклов рассмотрена возможность конвейерного выполнения.
Если непосредственное конвейерное выполнение невозможно, то обсуждён вопрос
о преобразованиях такого цикла к конвейеризуемому виду с помощью ОРС (Оптимизирующая распараллеливающая система).
Информационные зависимости в цикле влияют на архитектуру конвейера, реализующего цикл.
Рассматриваемый компилятор отличатся от обычных наличием конвертора с языка программирования высокого уровня в язык описания электронных схем.
В нём должна быть библиотека драйверов для передачи данных с ЦПУ на ПЛИС и обратно.
Численный эксперимент для одного из классов циклов показал двукратное ускорение.
Ключевые слова и фразы:классификация циклов, информационные зависимости, конвейерные вычисления, реконфигурируемая архитектура, распараллеливающий компилятор, высокоуровневое внутреннее представление, ПЛИС, HDL.
УДК:
519.685.3
Поступила в редакцию: 04.09.2017 Подписана в печать : 28.09.2017