Предмет:
Тип роботи:
Автореферат
К-сть сторінок:
32
Мова:
Українська
компіляторах, подано формалізації функцій перетворення потоку даних та основні алгоритми генерації коду.)
Куйвашев Д. В. Методики перенацілюваної генерації коду для мікропроцесорних архітектур з нерегулярним довгим командним словом. – Рукопис.
Дисертація на здобуття наукового ступеня кандидата технічних наук за спеціальністю 01. 05. 03 – математичне та програмне забезпечення обчислювальних машин та систем. – Інститут програмних систем НАН України, Київ, 2002.
Дисертацію присвячено розробці оптимізуючого перенацілюваного компілятора для мікропроцесорів цифрової обробки сигналів та мікропроцесорів з довгим командним словом. Особливу увагу приділено поліпшенню існуючих методик генерації коду та інтелектуалізації процесу компіляції за допомогою інтеграції у компілятор знань про парадигму оптимізації та генерації коду для цільової процесорної архітектури.
Досліджено формалізації подання програми у вигляді ієрархічної графової моделі, оптимізацій у вигляді графових продукцій, та формалізацію мікропроцесорної архітектури. Запропоновано методики формалізації знань про процес компіляції у вигляді продукційної експертної системи, які дозволяють інтелектуалізувати процес компіляції. Запропоновано поліпшені методи генерації коду за рахунок введення специфічних для процесорів цифрової обробки оптимізацій; поліпшений метод розподілу регістрів для процесорів з великим регістровим файлом за допомогою сканування вперед графа потоку даних; методику автоматичного розміщення змінних по просторах пам’яті гарвардської архітектури; методика аналізу придатності архітектури мікропроцесора до визначених користувачем прикладних завдань.
У дисертаційній роботі описано прототип компілятора – перенацілюваний оптимізуючий компілятор для процесорів з нерегулярним довгим командним словом та процесорів цифрової обробки сигналів НВРК-2.
Ключові слова: перенацілюваний компілятор, оптимізуючий компілятор, генератор коду, розподіл регістрів, ітеративна компіляція, інтелектуалізована компіляція, процесор цифрової обробки сигналів, довге командне слово, програмний конвеєр.
Куйвашев Д. В. Методики перенацеливаемой генерации кода для микропроцессорных архитектур с нерегулярным длинным командным словом. – Рукопись.
Диссертация на соискание ученой степени кандидата технических наук по специальности 01. 05. 03 – математическое и программное обеспечение вычислительных машин и систем. – Институт программных систем НАН Украины, Киев, 2002.
Диссертация посвящена разработке средств системного программного обеспечения для новых микропроцессорных архитектур, в частности разработке оптимизирующего перенацеливаемого компилятора для микропроцессоров цифровой обработки сигналов и микропроцессоров с длинным командным словом.
При постановке задачи диссертационного исследования описаны основные направления исследований по тематике построения эффективных компиляторов для проблемно-ориентированных микропроцессорных архитектур. Описаны современные микропроцессорные архитектуры с нерегулярным длинным командным словом и существующие решения для повышения эффективности компиляторов для таких микропроцессоров. Описаны наиболее известные разработки в области перенацеливаемой компиляции и одновременной разработки программных и аппаратных средств MIMOLA, RECORD, SUIF-2/AVIV, GCC/LCC, Trimaran, основывающиеся на различных подходах к решению проблемы.
Рассмотрены вопросы формализации алгоритмов оптимизации и генерации кода для использования в перенацеливаемом компиляторе. Предложено использование модели программы, основанной на использовании иерархических графов. Данный метод унифицировано описывает внутреннее представление программы и оптимизации в виде графовых продукций, что позволяет иметь полностью настраиваемый глобальный оптимизатор.
Предложен формализм описания целевой процессорной архитектуры, включающей как описание архитектуры, так и описание знаний про парадигму оптимизации кода для микропроцессора. Методика позволяет включить в комбинационные алгоритмы генерации расписания команд эвристики, присущие человеку, с помощью продукционной экспертной системы. Интегрированная экспертная система позволяет легко расширять компилятор машинно-специфичными оптимизациями. Приведена систематизация знаний об архитектуре целевой платформы для использования в экспертной системе в виде унифицированных продукций. Предложены улучшения алгоритмов составления расписаний команд для кластеризированых регистровых файлов, переключения режимов вычислений, равномерного распределения нагрузки на канал доступа к памяти. Предложен адаптированный для процессоров с большим регистровым файлом метод распределения регистров, основанный на сканировании вперёд графа потока данных.
Разработан метод оптимизации размещения переменных по пространствам памяти для гарвардской архитектуры, основанный на исследовании статистической информации о процессе генерации кода. Для выполнения этой оптимизации и оптимальной программной конвейеризации предложена методика использования итеративной компиляции для улучшения характеристик сгенерированного кода на базе собранной статистической информации. Предложена методика определения наиболее приемлемой процессорной архитектуры для выполнения задач пользователя с помощью алгоритма улучшенного программного конвейера.
Описана реализация прототипа перенацеливаемого компилятора для микропроцессоров с длинным командным словом и процессоров цифровой обработки сигналов – НВРК-2. Предложено описание настроек компилятора с помощью языка гипертекстовой разметки XML. Приведены результаты компиляции тестов DSPstone для задач цифровой обработки и конструкций языков высокого уровня для штатного компиляторов процессора обработки сигналов Analog Devices ADSP-2106x, нейропроцессора Л1879ВМ1 и НВРК-2, в которых НВРК-2, благодаря интеллектуализированной настройке на целевую архитектуру, показал на 50-300% лучшие результаты, которые приближаются к оптимальным.
Ключевые слова: перенацеливаемый компилятор, оптимизирующий компилятор, генератор кода, распределение регистров, итеративная компиляция, интеллектуализированная оптимизация, процессор цифровой обработки сигналов, длинное командное слово, программный конвейер.
D. V. Kuivashev. Retargetable code generation methodizes for microprocessor architectures with irregular very long instruction word. – Manuscript.
Dissertation thesis for a candidate of sciences in technology degree in specialty 01. 05. 03 – mathematics and software of computing machines and systems, Institute of Software Systems of National Academy of Sciences of Ukraine, Kiev, 2002.
Thesis is devoted to investigation of methods and software design of optimizing retargetable compilers for digital signal processors and VLIW microprocessors. Special attention is paid for improving existing code generation techniques and intellectualization of compilation process using integration of knowledge about optimization for target processor and code generation paradigm into retargetable compiler.
Formalisms for representing program as hierarchical graph model and optimizations as graph productions and representation of target microprocessor architecture are investigated. A technique for formalizing knowledge about compilation process with production expert system is proposed, which allows to make compilation process intelligent. Advanced code generation methods, tuned for digital signal processors, which balances traffic between memory and registers are offered. Improved register allocation method, based on forward data-flow graph scanning, for processors with big register file; technique for automatic variable placement into Harvard architecture memory spaces; methodic for investigating in processor suitability for particular applications are offered.
Software prototype of retargetable optimizing compiler HBPK-2 for processors with irregular VLIW and digital signal processors is presented.
Keywords: retargetable compiler, optimizing compiler, code generator, register allocation, iterative compilation, intellectualized compilation, digital signal processor, long instruction word, software pipeline.