Методы и средства автоматизированного синтеза вычислителей на основе микроархитектурных программируемых генераторов аппаратуры тема диссертации и автореферата по ВАК РФ 05.13.12, кандидат наук Антонов Александр Александрович

  • Антонов Александр Александрович
  • кандидат науккандидат наук
  • 2018, ФГАОУ ВО «Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики»
  • Специальность ВАК РФ05.13.12
  • Количество страниц 211
Антонов Александр Александрович. Методы и средства автоматизированного синтеза вычислителей на основе микроархитектурных программируемых генераторов аппаратуры: дис. кандидат наук: 05.13.12 - Системы автоматизации проектирования (по отраслям). ФГАОУ ВО «Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики». 2018. 211 с.

Введение диссертации (часть автореферата) на тему «Методы и средства автоматизированного синтеза вычислителей на основе микроархитектурных программируемых генераторов аппаратуры»

Общая характеристика работы

Актуальность темы исследования.

Специализированные вычислительные платформы (специализированные микросхемы: ASIC, ASSP) и вычислители с программируемой структурой (ПЛИС, гибридные системы-на-кристалле) являются неотъемлемой частью современных встраиваемых и киберфизических систем, совмещающих высокие требования к производительности с жесткими ограничениями по габаритам, энергопотреблению и другим параметрам. Вычислители такого рода позволяют эффективнее организовать вычислительный процесс по сравнению с традиционными процессоро-центричными системами для широкого набора приложений: обработка сигналов, промышленные системы управления, высокоскоростные коммуникации, системы с элементами искусственного интеллекта и пр. Применение данной компонентной базы предполагает в качестве неотъемлемой части процесса проектирования создание специализированных аппаратных вычислителей с мелкогранулярным параллелизмом. Эти вычислители воплощаются либо непосредственно в виде микросхем, либо в виде конфигураций для программируемых структур.

Снижение сроков проектирования, обеспечение качественного исследования пространства проектных решений и продуктивного анализа и синтеза специализированных вычислителей является сложной методологической и технологической проблемой [R. Hartenstein]. Данная проблема включает в себя задачи разработки эффективных решений касательно внутренней организации (микроархитектуры) вычислителей, высокоуровневых проектных абстракций для представления высокопараллельных вычислительных процессов в рамках различных вычислительных моделей, а также методов трансляции спецификаций на базе высокоуровневых абстракций в реализации [L. Jozwiak, G. Martin, B. Bailey, И.А. Каляев, В.Г. Немудров]. Поскольку микроархитектура вычислительных и коммуникационных аппаратных блоков микропроцессоров и систем-на-кристалле (СнК) характеризуется сложностью, многообразием и специализацией [T.M. Austin, W. Dally, M.H. Lipasti, А.К. Ким], актуальной является разработка методов и средств специфицирования, комплексирования и реализации пользовательских микроархитектурных решений и встраивания микроархитектурной генерации в стандартные промышленные маршруты проектирования.

Степень разработанности темы.

Новые методы, модели и артефакты проектирования, нацеленные на повышение эффективности проектирования аппаратных вычислителей и программно-аппаратных систем, предлагаются в рамках ряда методологий, таких как: проектирование «на системном уровне» (Electronic System Level, ESL) [G. Martin, B. Bailey], платформно-ориентированное проектирование (Platform-based Design, PBD) [A. Sangiovanni-Vincentelli, R. Passerone], поведенческий (высокоуровневый) синтез (High-Level Synthesis, HLS) [P. Paulin, G.D. Micheli], сопряженное проектирование аппаратного и программного обеспечения (Hardware/software co-design) [J. Teich], методология высокоуровневого проектирования встраиваемых систем (HLD-методология) [А.Е. Платунов], проектирование на базе «микросхемных генераторов» [J. Bachrach, M. Horowitz]. Данные методологии реализуют различные способы повышения

уровня абстрактности представления решений, согласование методов, моделей и инструментов проектирования программной и аппаратной подсистем, что практично для ухода от излишне шаблонного проектирования, расширения проектного пространства (т.е. пространства возможных решений), придания более высокого приоритета концептуальным (архитектурным) проектным решениям относительно «реализационных» и, в конечном счете, повышения потенциальной эффективности процесса проектирования.

В исследованных методологиях в различном соотношении присутствуют такие проблемы как: ограниченность или невозможность программирования взаимодействия элементов вычислительной нагрузки (итераций вычисления в аппаратном вычислителе), ориентировка на некоторые конкретные, зафиксированные микроархитектурные шаблоны (FSMD, процессорная система+реконфигурируемые регионы, векторно-конвейерные и "УЫ^-вычислители), ограничения функциональной настройки компонентов, реализующих пользовательские микроархитектурных механизмы и шаблоны. Это делает актуальным разработку альтернативных методов и технологий микроархитектурной спецификации и генерации аппаратных вычислителей со сложной внутренней организацией, направленных на решение данных проблем.

Объектом исследования является автоматизированный процесс проектирования микроархитектуры аппаратных вычислителей, организация инструментальных средств для спецификации, комплексирования и реализации микроархитектурных механизмов.

Предметом исследования является решение проблемы нечеткости и неоднозначности описания элементов микроархитектуры проектируемых аппаратных вычислителей и их отображения на процессы и компоненты САПР, обусловленных применением уникальных, проекто-зависимых пользовательских микроархитектурных решений. Решение базируется на принципе использования микроархитектурных механизмов в качестве унифицированной «элементной базы» за счет их абстрагирования от функционального назначения конкретных разрабатываемых вычислителей.

Целью исследования является снижение сложности проектного представления аппаратных вычислителей и повышение степени повторного использования микроархитектурных механизмов за счет использования микроархитектурных программируемых шаблонов как основной проектной абстракции.

Задачи исследования:

1) исследовать типовые абстракции для представления микроархитектуры в существующих методах и инструментальных средствах проектирования аппаратных вычислителей;

2) предложить метод(ы) формализованного представления шаблонов аппаратной микроархитектуры с возможностью функциональной адаптации аппаратных вычислителей, спроектированных на их основе;

3) исследовать подходы к реализации программируемых микроархитектурных шаблонов в виде компонентов САПР;

4) выполнить экспериментальную разработку прототипа среды проектирования на базе программируемых микроархитектурных шаблонов;

5) выполнить экспериментальное исследование эффективности проектирования на базе предложенных методов.

Методы исследования. В работе использовались следующие методы: построение и проверка гипотез, структурная декомпозиция, теория конечных автоматов, теория множеств, оценка сложности систем, структурного и объектно-ориентированное программирование, структурно-функциональное описание аппаратуры.

Достоверность научных положений и результатов, представленных в настоящей диссертации, обеспечена полнотой анализа теоретических и практических исследований, положительной оценкой на конференциях, семинарах и научных конгрессах, результатами экспериментальных исследований и внедрением в производственную деятельность.

Основные защищаемые положения:

1) Метод формального представления шаблонов микроархитектуры аппаратных вычислителей на основе категоризированного перечня микроархитектурных абстракций, описывающих механизмы планирования вычислительного процесса.

2) Метод программно-управляемого синтеза аппаратных вычислителей на основе микроархитектурных программируемых генераторов аппаратуры (МПГА) -«исполняемых» реализаций открытого множества микроархитектурных шаблонов, абстрагированной от функционального назначения вычислителя.

3) Архитектура и реализация прототипа САПР аппаратных вычислителей, обеспечивающей повышение эффективности проектирования аппаратуры за счёт технологии поведенческого программирования МПГА.

Научная новизна результатов исследования:

1) В рамках метода формализованного представления микроархитектурных шаблонов аппаратных вычислителей предложен критерий выделения и категоризации микроархитектурных абстракций на основе их принадлежности к одному из девяти обобщенных подходов к планированию вычислительного процесса - стратегий. Модель стратегий охватывает случаи статического и динамического планирования и следующие уровни представления вычислителей: уровень цифровой схемотехники, уровень аппаратной микроархитектуры, уровень архитектуры, уровень системного программного обеспечения.

2) Микроархитектурные шаблоны, формализованные в рамках модели стратегий, предлагается реализовывать в виде новых компонентов САПР - МПГА. Каждый МПГА реализует некоторый (конкретный) шаблон микроархитектурного уровня, и модель программирования МПГА также адаптируется под данный шаблон. Это позволяет использовать в качестве элементной базы при синтезе вычислителей произвольные правила специфицирования и комплексирования элементов целевой функциональности.

3) При проектировании вычислителей с динамическим планированием вычислений в рамках большинства существующих САПР отмечена проблема комбинируемости свойств системности и высокоуровневости проектного представления вычислителей.

Mill А обеспечивают совмещение свойств системности и высокоуровневости при проектировании вычислителей с динамическим планированием вычислений.

4) В предлагаемой архитектуре САПР предложено выделить в качестве повторно используемого компонента базовое языковое ядро. Данный компонент предоставляет унифицированные средства поведенческого описания аппаратных вычислителей в рамках предлагаемого метода (см. п.2) и выступает в качестве расширяемой платформы для реализации специализированных средств программирования МИГА.

Практической ценностью характеризуются следующие результаты:

1) Модели данных: (1) базового языкового ядра для конструирования расширяемых поведенческих описаний аппаратных вычислителей; (2) конструкторов спецификаций уровня RTL и поведенческого уровня, (3) конструктора спецификаций аппаратных вычислителей с конвейерной микроархитектурой. Данные модели упрощают воспроизведение методов проектирования на основе МИГА в рамках широкого набора существующих объектно-ориентированных языков программирования.

2) Прототип САПР для синтеза аппаратных вычислителей на основе МИГА.

3) МИГА pipe для синтеза аппаратных вычислителей с конвейерной микроархитектурой.

4) СФ-блоки RTL-уровня для систем-на-кристалле, спроектированные на основе предложенного конвейерного МИГА: (1) процессор общего назначения с архитектурой RISC-V; (2) коммуникационная шинная матрица.

Апробация результатов диссертации.

Результаты диссертационной были представлены на 9 конференциях, включая 2 международные:

1) XLV-XLVII научные и учебно-методические конференции Университета ИТМО (Россия, СПб, 2016-2018 г.);

2) VI-VII Конгрессы молодых ученых (КМУ) (Россия, Санкт-Петербург, 2017-2018 г.);

3) VII, IX Научно-практические конференции молодых ученых «Вычислительные системы и сети (Майоровские чтения)» (Россия, Санкт-Петербург, 2015, 2017);

4) 15th SGEM GeoConference on Informatics, Geoinformatics and Remote Sensing (Болгария, Албена, 2015);

5) NorCAS 2017 (IEEE Nordic Circuits and Systems Conference) (Швеция, Линчёпинг, 2017).

Автор был награжден дипломом за лучший доклад на секции «Встроенные системы и

системы на кристалле» на IX Научно-практические конференции молодых ученых «Вычислительные системы и сети (Майоровские чтения)», 2017 г. Название доклада: «Проектирование микроархитектуры вычислителей на базе проблемно-ориентированных языков».

Публикации. Основные результаты отражены в 12 научных публикациях, в том числе в 4-х статьях в изданиях, включенных в перечень ВАК, и 8-ми статьях в изданиях, индексируемых системой Scopus. Зарегистрированы два программных продукта.

Похожие диссертационные работы по специальности «Системы автоматизации проектирования (по отраслям)», 05.13.12 шифр ВАК

Заключение диссертации по теме «Системы автоматизации проектирования (по отраслям)», Антонов Александр Александрович

CONCLUSION

Deeply configurable hardware cores design with user-specified functionality and reuse of certain microarchitectural decisions is not trivial, since this results in development of custom languages that are specific to the project or some its part. Since existing approaches do not provide sufficient trade-off between flexibility and complexity, we have made an attempt to provide the technology that has a potential to enable language-driven design in the sphere of hardware cores creation.

Our system relies on combination of a process-oriented basis with key micro-operations from industrial HDLs and custom domain-specific augmentations that offer control of application of microarchitectural decisions. Support of these augmentations is provided by an hierarchy of Language IP cores - custom domain-specific translators that interact with each other within the overall translation process.

LIP prototype that implements pipeline computational mechanism has been developed. The developed CAD framework and LIP were adopted to the creation of an educational CPU with DLX architecture. Preliminary estimations showed that using the proposed system has produced results that are not worse than hand-coded implementations, while providing means to transparently express pipeline structure and interactions of transactions on the datapath, as well as automated generation of pipeline controls. Our

Список литературы диссертационного исследования кандидат наук Антонов Александр Александрович, 2018 год

REFERENCES

Mi Hürtpnstein R SE Curricula are Unqualified to Cope with the Data Avalanche [OnHrS UGermany, pp 1-20,2017;

[2] Mishra p., Dutt N, Processor Description Languages, Morgan Kaufmann Publishers Inc., ISBN: 9780123742872, 2008;

[3] Nane R. et al, A Survey and Evaluation of FPGA High-Level Synthesis Tools, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, IEEE, vol 35/issue 10, pp 1591-1604, 2015;

[4] Cardoso J., et al, High-Level Synthesis from C vs. a DSL-based Approach, IEEE 28th International Parallel & Distributed Processing Symposium Workshops IEEE 2014;

[5] Hegarty J., et al. Darkroom: Compiling High-Level Image Processing Code into No 144r2014elmeS' Pr0CeedingS 0f ACM SIGGRAPH 2014, Vol. 33, Issue 4, Article

S^thesis^taternationàl ?"T"8 Custoraized ISA Processors using High Level (ReConFig), IEEE 2015- ence on ReConFigurable Computing and FPGAs

[7] Erdweg S. et al Ev 1

Languages, Systems and\d. Uattmg 3nd ComParing Language Workbenches, Computer

[8] Bachrach J et al c, . eS'V°U4'IssuePA,PP24-47,2015;

49th ACM/EDAC/IEEE D^№C^nstructing Hardware in a Scala Embedded Language, t9] Greaves D J L . Automation Conference (DAC), IEEE, 2012;

ïi^E ^ernational C^' Handd-C and ^spec Constmcts on Chisel [10] ^OCODE), lEgg' 2o°5 ence on F°™al Methods and Models for

Processor [Online], ^

25^ lirr-RYanalov-Process consc^

Sensing.Conf 2014- GeoCW international Multidisciplinary Scien )nler^eiv0c^; "ference on Informatics, Geo.nformat.es *

'gs-2014, pp. 287-294