Помощь в написании студенческих работ
Антистрессовый сервис

Математические модели в проектировании аппаратно-программных реализаций алгоритмов, заданных текстами программ

ДиссертацияПомощь в написанииУзнать стоимостьмоей работы

Во второй главе рассматриваются формальные модели информационной структуры алгоритма и логической структуры алгоритма. Логическая структура алгоритма представляется в виде совершенного регулярного выражения (СРВ). Даётся формальное определение информационной структуры алгоритма (ИСА). На примере функции Фибоначчи рассматривается примитивно-рекурсивная информационная структура. Указывается, что… Читать ещё >

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

Содержание

  • ГЛАВА 1. МОДЕЛИ И МЕТОДЫ ПРОЕКТИРОВАНИЯ
    • 1. 1. Возможные реализации алгоритма
    • 1. 2. Традиционные методы проектирования
    • 1. 3. Перспективные методы проектирования
    • 1. 4. Автоматизация проектирования
    • 1. 5. Неформальное изложение технологии проектирования
    • 1. 6. Основные результаты теории схем программ
    • 1. 7. Современные системы компилляции

Задачей проектирования аппаратно-программных систем является переход от описания реализуемых алгоритмов к аппаратно-программной реализации (АПР), которая эти алгоритмы вычисляет (рис. 1).

Рис. 1. Формулировка основной задачи.

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

Рис. 2. От содержательной задачи к аппаратно-программному комплексу.

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

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

Объект исследования.

Объектом исследования являются математические модели, которые могут использоваться для описания этапов проектирования аппаратно-программных реализаций (АПР) и которые могут быть поддержены системами автоматизации проектирования. При этом под аппаратной реализацией (АР) понимается набор схем в виде соединённых между собой функциональных элементов, таких как мультиплексоры, триггеры, элементы «И», «ИЛИ» и т. д.- под программной реализацией (ПР) понимается вычисление части функции алгоритма программой специального или универсального процессора (рис.3).

Рис. 3, поясняющий выбор объекта исследования.

Общие проблемы современных методов проектирования.

Основой традиционной методологии является функциональная спецификация (ФС). В ФС на основании заданного технического задания и своего опыта эксперты описывают модели.

Техническое задание:

• словесное описание алгоритма.

• технические условия.

I Математическая П модель в виде программы.

Функциональная спецификация ппаратная еализация.

Программная)еализация.

Неформальный, неавтоматический переход.

Рис. 4. Переход от описания алгоритма к математической модели.

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

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

Вторая проблема. Алгоритмы, описанные в содержательной задаче, могут иметь различные способы их разделения на аппаратную (АР) и программную реализацию (ПР). В традиционных технологических маршрутах проектирования принято фиксировать в ФС (рис.4) функциональность аппаратного и программного обеспечения, что объясняется тем, что в настоящее время все известные системы автоматизированного проектирования (САПР) построены на принципе заранее придуманной проектировщиком аппаратной и программной реализации (АПР), описанных на специальных формальных языках (например, на языках Си, Уеп^ или УНБЬ). Отсутствие механизмов САПР для поддержки исследования различных АПР алгоритма не позволяет вести поиск лучшей из них.

Решаемые проблемы в диссертации.

Решению перечисленных проблем посвящена данная работа.

• В качестве формального описания алгоритма принимается схема моделирующей алгоритм программы.

• Решается проблема преобразования схемы программы в виде логической структуры алгоритма (ЛСА) в примитивно-рекурсивную информационную структуру алгоритма (ИСА) для тех алгоритмов, которые это допускают.

• Рассматривается модель алгоритма в виде ИСА. Задача разделения алгоритма, заданного программой, сводится к поиску разбиения ИСА, отвечающему набору правил. Совокупность правил формулируется в виде лемм.

Научная новизна работы.

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

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

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

Для решения поставленных задач использованы следующие формальные модели:

1) логическая структура алгоритма (ЛСА), которую задаёт исходная программа,.

2) информационная структура алгоритма (ИСА), которая описывает функцию программы,.

3) визуальные формы ИСА, удобных для анализа: ярусно-параллельные формы (ЯПФ), многопроцессорные и конвейерные разложения ИСА,.

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

5) модель информационной структуры управления процессами (ИСЯ).

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

Представленные результаты получены самостоятельно (являются оригинальными), представляют научную новизну работы и выносятся на защиту.

История исследований.

Исследования над методами и моделями для автоматизации разработки программно-аппаратных комплексов начались в 2003 году и в основном проводились в рамках работы над грантом РФФИ № 05−07−90 406 «Экспертная система для информационной поддержки проектирования энергосберегающих вычислительных архитектур».

Логика построения работы и её краткое содержание.

В первой главе уточняется основная задача диссертации. Рассматриваются традиционные методы проектирования аппаратно-программных реализаций и указываются их недостатки. Кратко описываются перспективные методы проектирования, которые включают в себя языки формальных спецификаций, и использование программы алгоритма в качестве формальной модели алгоритма. Неформально излагается этапы предлагаемой в диссертации технологии проектирования. Рассматриваются основные результаты теории схем программ и делается вывод о возможности использования моделей теории для разработки технологии. Так как современные программы далеки от процедурного описания" программ, исследованных в теории схем программ, рассматриваются современные системы компилляции.

Во второй главе рассматриваются формальные модели информационной структуры алгоритма и логической структуры алгоритма. Логическая структура алгоритма представляется в виде совершенного регулярного выражения (СРВ). Даётся формальное определение информационной структуры алгоритма (ИСА). На примере функции Фибоначчи рассматривается примитивно-рекурсивная информационная структура. Указывается, что примитивная рекурсия реализуема аппаратно в виде обратных связей в аппаратной схеме. Рассматриваются последовательности действий (или операторов), которые может порождать конечный автомат ЛСА, и для последовательностей восстанавливаются информационные связи между действиями. Через восстановление информационных связей: 1) устанавливается функциональная эквивалентность двух последовательностей, 2) «восстанавливается» ИСА последовательности из действий. Конструктивно рассматривается, как из ЛСА можно восстановить примитивно-рекурсивную PICA. Даются формальные определения визуальным формам представления ИСА: Ярусно-паралелльной форме (ЯПФ) и конвейерному разложению. Конструктивно описывается процедура автоматической генерации аппаратной (или программной) реализации из формально определённого конвейерного разложения. Рассматривается выделение фрагментов ЯПФ для аппаратного и программного исполнения.

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

Теоретический материал разбивается на следующие разделы:

1. Анализ возможных связей ИСА. Лемма о необходимом условии информационных связей.

2. Анализ фактических связей ИСА. Лемма о достаточном условии информационных связей.

3. Сведение задачи об аппаратно-программной реализации алгоритма к задаче разбиения примитивно-рекурсивной ИСА на фрагменты.

4. Лемма о необходимом условии правильного разбиения.

5. Управляющая структура алгоритма (HCR).

6. Лемма о перестановках распознавателей в Л CA.

7. Лемма о достаточном условиях правильного разбиения.

Дополнительно рассматривается преобразование «раскрутка» циклов, которая может упростить анализ программы реализуемого алгоритма.

Совокупность сформулированных и доказанных лемм главы является конструктивно доказанной теоремой о построении аппаратно-программного представления алгоритма, заданного исходной программой, и разбиениях, заданных проектировщиком.

В четвёртой главе представлены примеры использования разработанных методов и моделей для разработки АПР некоторых алгоритмов. Рассмотрено влияние различных вариантов разделения алгоритма на физические характеристики получаемых АПР. Даны относительные оценки влияния различных архитектур АПР на энергопотребление и площадь схемной реализации. С теоретической точки зрения исследованы причины превосходства технологии Transmeta Crusoe по сравнению с традиционной архитектурой х86.

4.5. Основные выводы главы 4.

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

Сами преобразования, записанные в виде программы на языке Perl, были опробованы на задаче аппаратно-программной реализации JPEG2000 сжатия.

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

Заключение

.

Основным практическим результатом диссертации является предложенная технология проектирования аппаратно-программных реализация алгоритмов [20, 21]. Этапы технологии представлены на рис.65а. Алгоритм, заданный текстом программы, методами лексического и синтаксического анализа переводится в промежуточное представление. Промежуточное представление с помощью методов, описанных в диссертации, переводится в конечный набор конечных цепочек выполнения действий (операторов) программы. Из конечных цепочек методом интерпретации действий элементарными функциями и конструктивно описанным в диссертации методом восстановления информационных связей строятся «проволочные» информационные структуры цепочек (так называемые Wire Nets). «Проволочные» информационные структуры представляются в виде удобных визуальных форм, на которых экспертом выделяются фрагменты для аппаратного или программного исполнения. Такое разбиение информационной структуры переводится автоматически в аппаратную, программную реализации, систему управления и синхронизации (рис.65а).

Процесс разбиения информационной структуры повторяется несколько раз пока не будет найдена реализация с физическими характеристиками, которые соответствуют техническому заданию. На рис. 656 изображён итеративный процесс поиска эффективной реализации. Эксперт задаёт разбиение, система автоматизированного проектирования автоматически проверяет правильность разбиения, и если оно не правильно, предлагает эксперту задать новое. Если разбиение правильное, автоматически генерируется аппаратно-программное описание, которое моделируется средствами традиционных САПР. В результате могут быть получены физические характеристики системы, которые сравниваются с техническими условиями. В случае, если аппаратно-программная реализация не соответствует техническим условиям — эксперту предлагается задать новое разбиение. а). Этапы технологии.

ИСА а). Поиск аппаратно-программной реализации.

Рис. 65. Технология проектирования.

Основным теоретическим результатом работы является решение двух задач: 1) задача восстановления информационной структуры алгоритма из её логической структуры, 2) задача установления правильности разбиения информационной структуры. Для решения этих двух задач были исследованы свойства математических моделей логической структуры алгоритма и информационной структуры алгоритма. Результаты исследования были сформулированы в пяти леммах. Совокупность сформулированных и доказанных лемм является конструктивно доказанной теоремой о построении аппаратно-программного представления алгоритма, заданного исходной программой, и разбиениях, заданных проектировщиком.

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

Показать весь текст

Список литературы

  1. Ахо А. Теория синтаксического анализа, перевода и компиляции: Пер. С англ. М.: МИР, 1978 — 486 с.
  2. В.И. Автоматное управление асинхронными процессами в ЭВМ и дискретных системах. М.: Наука, 1986. — 400 с.
  3. Д., Ратушняк А., Смирнов М., Юкин В. Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео. — М.: Диалог-МИФИ, 2003−384 с.
  4. А.П. Теория программирования и вычислительные системы — М.: Знание, 1972−64 с.
  5. В.Е. Сети Петри. -М.: Наука, 1984. 160 с.
  6. В.Е., Саберфелъд В. К. Теория схем программ. М.: Наука, 1991. — 248 с.
  7. Дж. Теория сетей Петри и моделирование систем. М.: Мир, 1984−264 с.
  8. В.А., Галочкин М. П., Гончар Д. Р., Фуругян М. Г. Теория и реализация языков программирования М.: МЗ-Пресс, 2003 — 296 с.
  9. Ч. Взаимодействующие последовательные процессы: Пер. с англ-М.: Мир, 1989.-264 с.
  10. А.П. Об операторных схемах над общей и распределённой памятью // Кибернетика. 1968, № 4. — С.63−71.
  11. А.П. Об операторных схемах Янова // Проблемы кибернетики: Сб. Статей, вып. 20 М.: Наука, 1967. -С. 181−200.
  12. А.П. Современное состояние теории схем программ // Проблемы кибернетики: Сб. Статей. вып.27.-М.: Наука, 1973. С. 87−110.
  13. В.Е., Нарилъяни A.C. Асинхронные процессы и компьютерная память. // Кибернетика, 2(3) М, 1966 — С. 64−71
  14. A.C. Информационная технология «От алгоритма к аппаратуре» на примере аппаратной реализации БПФ. // Моделирование процессов управления. Сб. научных трудов. / Моск. физ.-тех. ин-т. -М., 2004. -С.203−210.
  15. A.C. Принцип асинхронного проектирования и информационная структура алгоритма. // Труды 12-й Всероссийской межвузовской конференции студентов и аспирантов «Микроэлектроника и Информатика» 2005″ / Моск. ин-т элек.-тех. — М., 2005. — С.223.
  16. A.C. Информационный анализ программных алгоритмов для реализации энергосберегающих вычислений // Моделирование процессов управления. Сб. научных трудов. / Моск. физ.-тех. ин-т. -М., 2006. -С.243−249.
  17. A.C. Возможности алгоритмического анализа для проектирования аппаратуры. // Труды десятой международной научной конференции «Актуальные проблемы твердотельной электроники и микроэлектроники» / ТРТУ-Таганрог, 2006, С.149−152.
  18. A.C. Методика проектирования вычислительных систем с аппаратно-программной архитектурой // Моделирование процессов обработки информации. Сб. научных трудов. / Моск. физ.-тех. ин-т. -М., 2007. С.242−245
  19. A.C. Скрытые возможности интеллектуализации тестирования электронных цифровых систем // Информационные технологии моделирования и управления — 2007, № 1(35) С.105−112.
  20. A.C. Скрытые возможности интеллектуализации проектирования электронных цифровых систем. // Системы управления и информационные технологии -2007, № 4.1(30). С. 166−169.
  21. А., Эйсымонт Л. Российский суперкомпьютер с глобально адресуемой памятью. // Открытые системы. 2007, № 9. — С. 42−51.
  22. В., Виксне П., Шелухин А., Шевченко П., Панфилов А., Косорукое Д., Черников А. Семейство процессоров обработки сигналов с векторно-матричной архитектурой NeuroMatrix®" //Компоненты и технологии. -2006, № 6, 2006 С. 1−6.
  23. И. Высокопроизводительные вычислительные архитектуры. Возрождение традиций. // Электроника НТБ. 2008, № 4 — С.81−83.
  24. Ю.И. О логических схемах алгоритмов // Проблемы кибернетики: Сб. Статей, вып. 1 -М.: Наука, 1958, С.75−127.
  25. Gupta S., Gupta R., Dutt N., Nicolau A. SPARK: A Parallelizing Approach to the High-Level Synthesis of Digital Circuits. Springer, 2004 — 262 p.
  26. Pellerin D., Thibault S. Practical FPGA Programming in C. Prentice Hall, 2005 — 464 p.
  27. Potop D., Edwards S., Berry G. Compiling Esterel. Springer, 2007 — 335 p.
  28. Halfhill T. Transmeta breaks x86 low power barrier I I Microprocessor Report -2000, 14(2) P.9−18
  29. Benveniste A., Caspi P., Edwards S., Halbwachs N., Le Guernic P., de Simone R. The synchronous languages twelve years later. // Proceedings of the IEEE -2003, 91(1)-P.64−83.
  30. Berry G., Kishinevsky M., Singh S. System level design and verification using synchronous language. // Proceedings of the IEEE/ACM international conference on Computer-aided design -2003 P. 433−449
  31. Boussinot F., de Simone, R. The Esterel language. Proceedings of the IEEE — 1991, 79(9)-P.1293−1304.
  32. Lorenz M., Leipers R., Marwedel P., Drager T., Fettweis G. Low energy DSP code generation using a Genetic Algorithm // Proceedings of the international conference on Computer Design 2001 — P. 431 — 437.
  33. Flautner K., Mudge T. Vertigo: Automatic Performance-Setting for Linux // Proceeding of Symposium on Operating Systems Design and Implementation — ACM, 2002-P. 105−116.
  34. Chakrapani L., Gyllenhaal J., Hwu W., Mahlke S., Palem K., Rabbah R. Trimaran: an Infrastructure for Research in Instruction-Level Parallelism I I In Lecture Notes in Computer Science Springer-Verlag, 2005, Volume 3602, -P.32−41.
Заполнить форму текущей работой