Журнал "Программная инженерия"
Теоретический и прикладной научно-технический журнал
ISSN 2220-3397

Номер 5 2023 год

DOI: 10.17587/prin.14.225-231
УДК: 004.23, 004.4'24, 004.4'42
Алгоритмы улучшения автоматически синтезированного набора команд расширяемого процессора
П. Н. Советов, канд. техн. наук, доц. кафедры, sovetov@mirea.ru, Федеральное государственное бюджетное образовательное учреждение высшего образования «МИРЭА — Российский технологический университет», Москва

Процессоры, имеющие расширяемую систему команд, сегодня все чаще используются в ка­честве программируемых аппаратных ускорителей для различных предметных областей. При расширении RISC-V и других подобных процессорных архитектур возникает потребность в проектировании специализированных команд. Эта задача может быть решена автоматически с помощью применения алгоритмов синтеза команд. В настоящей работе рассмотрены ал­горитмы, которые могут использоваться в дополнение к известным подходам и улучшающие набор синтезированных команд за счет перевычисления общих операций (результат которых востребован несколькими операциями) программы в укрупненных синтезированных командах, а также за счет выявления избыточных (имеющих эквиваленты среди других команд) синте­зированных команд. Представлены экспериментальные оценки для улучшенных реализаций алгоритмов из областей криптографии, а также трехмерной графики, демонстрирующие, в частности, что для теста на основе шифра AES алгоритм кластеризации общих операций позволяет сократить размер скомпилированного кода на 10 %, а алгоритм поглощения функций позволяет сократить набор синтезированных команд в 2,5 раза.

Ключевые слова: синтез набора команд, расширяемые процессоры, RISC-V, высокоуровневое проектирование, анализ графа зависимостей, кластеризация графа, SMT-решатель
Стр. 225–231
Ссылка для цитирования:
Советов П. Н. Алгоритмы улучшения автоматически синтезированного набора команд расширяемого процессора // Программная инженерия. 2023. Том 14, № 5. С. 225—231. DOI: 10.17587/prin.14.225-231.