Математические модели в проектировании аппаратно-программных реализаций алгоритмов, заданных текстами программ
Исследование информационной структуры алгоритма, которая вычисляет функции в исходной программе. Анализ модели синхронизации процессов в аппаратной и программной частях, буферной памяти. Суть многопроцессорных и конвейерных разложений концепции.
Рубрика | Экономико-математическое моделирование |
Вид | автореферат |
Язык | русский |
Дата добавления | 25.07.2018 |
Размер файла | 1,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
На правах рукописи
Специальность - 05.13.18
Математическое моделирование, численные методы и
комплексы программ
Автореферат
диссертации на соискание ученой степени кандидата физико-математических наук
МАТЕМАТИЧЕСКИЕ МОДЕЛИ В ПРОЕКТИРОВАНИИ АППАРАТНО-ПРОГРАММНЫХ РЕАЛИЗАЦИЙ АЛГОРИТМОВ, ЗАДАННЫХ ТЕКСТАМИ ПРОГРАММ
Лялин Александр Сергеевич
Москва - 2008
Работа выполнена на кафедре информатики Московского физико-технического института (государственного университета).
Научный руководитель:
доктор физико-математических наук, профессор Столяров Лев Николаевич
Официальные оппоненты:
доктор физико-математических наук, профессор Семёнов Виталий Адольфович кандидат технических наук, Бутузов Александр Валерьевич
Ведущая организация:
Институт точной механики и вычислительной техники им. С.А.Лебедева РАНЗащита состоится _20_ ноября 2008 г. в 12.00 часов на заседании диссертационного совета Д 212.156.05 при Московском физико-техническом институте (государственном университете) по адресу: 141700, Московская обл., г. Долгопрудный, Институтский пер., 9, ауд. 903 КПМ.
С диссертацией можно ознакомиться в библиотеке Московского физико-технического института (государственного университета).
Автореферат разослан 17 октября 2008 г.
Ученый секретарь диссертационного совета Федько О.С.
1. ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ
Актуальность работы. В настоящее время все известные системы автоматизированного проектирования (САПР) построены на принципе заранее придуманной проектировщиком аппаратно-программной реализациии некоторого алгоритма на специальном формальном языке (например, на языках Си, Verilog или VHDL).
В работе рассматривается возможность построения САПР, основанной на совершенно ином принципе. Алгоритм, заданный обычной программой, автоматически преобразуется в специальную визуальную форму, удобную для проектировщика, на которой он выделяет области для аппаратного и программного (на специальных процессорах) исполнения. САПР автоматически проверяет правильность (реализуемость) такого разбиения и строит схему синхронизации процессов, протекающих в аппаратной и программной частях, буферную память и систему управления.
Такая автоматизированная технология проектирования, названная в работе «от программы к аппаратно-программной реализации», даёт возможность, по сравнению с существующими САПР, вовлечь в поле проектирования огромный запас уже созданных программ на алгоритмических языках.
Цель работы состоит в построении математических моделей, которые могут использоваться для описания этапов проектирования аппаратно-программных реализаций (АПР), и в оценке возможностей их автоматической поддержки системами автоматизации проектирования.
Научная новизна заключается в том, что в диссертации построены и исследованы формальные модели и методы анализа программ, которые могут использоваться для решения задачи проектирования их аппаратно-программной реализации. В работе решаются две основные задачи: 1) задача выделения из программы информационной структуры алгоритма, 2) задача разбиения информационной структуры на фрагменты, которые могут выполняться аппаратно и программно на специализированных или универсальных процессорах.
Для решения этих задач использованы следующие формальные модели: 1) логическая структура алгоритма (ЛСА), которую задаёт исходная программа, 2) информациионная структура алгоритма (ИСА), которая вычисляет функции в исходной программе, 3) визуальные формы ИСА, удобных для анализа: ярусно-параллельные формы (ЯПФ), многопроцессорные и конвейерные разложения ИСА, 4) модель синхронизации процессов в аппаратной и программной частях, буферной памяти, 5) модель информационной структуры управления процессами (ИСR).
Доказаны утверждения (леммы) о свойствах этих моделей, которые позволяют строить автоматические процедуры анализа, преобразований и конструирования аппаратно-программной реализации алгоритма, описанного исходной программой. Объединение лемм представляет собой конструктивно доказанную теорему, устанавливающую функциональную эквивалентность исходной программы и построенной аппаратно-программной реализации (АПР).
Теоретическая и практическая значимость работы. Теоретическая ценность работы заключается в сформулированной и конструктивно доказанной теореме о построении аппаратно-программного представления алгоритма, заданного исходной программой, и разбиениях, заданных проектировщиком. Исследованы правила разбиения ИСА, которые разделяют алгоритм для вычисления на аппаратно-программной системе. Практическая ценность работы заключается в том, что исследованы этапы процедуры преобразования алгоритма в аппаратное и программное обеспечение. Даны оценки возможности автоматической поддержки процедур и организации САПР для массового проектирования АПР для алгоритмов, записанных на языках процедурного программирования.
Апробация работы. Результаты диссертации докладывались на следующих научных конференциях и семинарах: XLVII и XLVIII научные конференции Московского физико-технического института (2004, 2005); 10-я Байкальская Всероссийская конференция с международным участием «Информационные и математические технологии в науке, технике и образовании» (2005); 12-я Всероссийская межвузовская конференция студентов и аспирантов «Микроэлектроника и Информатика - 2005»; X Международная научно-техническая конференция и молодёжная школа-семинар «Актуальные проблемы твердотельной электроники и микроэлектроники», ПЭМ-2006 (2006); 4-я международная научно-техническая конференция «Фундаментальные проблемы радиоэлектронного приборостроения» (2006); 9-я международная конференция «Методы проектирования и использования систем САПР в микроэлектронике CADSM-2007»; научные семинары кафедры информатики Московского физико-технического института (2003-2007 гг.).
Результаты работы были использованы в проекте РФФИ № 05-07-90406 «Экспертная система для информационной поддержки проектирования энергосберегающих вычислительных архитектур».
Публикации. По теме диссертации опубликовано 11 работ, в том числе одна - из списка изданий, рекомендованных ВАК РФ [11].
Структура и объем диссертации. Диссертация изложена на 98 страницах, состоит из введения, четырех глав, заключения и списка использованных источников, насчитывающего 40 наименований.
2. СОДЕРЖАНИЕ РАБОТЫ
Введение содержит обоснование актуальности темы диссертационной работы. Сформулированы цели, задачи исследования и научная новизна полученных результатов, их практическая значимость, указаны положения, выносимые на защиту.
В первой главе уточняется основная задача диссертации. Указываются недостатки существующих систем проектирования. Рассматриваются формальные модели теории схем программ, которые определяют автоматические процедуры перехода от программы к аппаратно-программной реализации.
Рассматриваются особенности алгоритмов, заданных программой на процедурном языке (например, Алгол, Паскаль, Си). Кратко излагается идея построения аппаратной реализации алгоритма в виде, так называемой, информационной структуры алгоритма (ИСА), которая выделяется из программы, и задача разбиения ИСА на две части, которые реализуются аппаратно и набором специализированных процессоров.
1.1 Информационная структура алгоритма (ИСА) представляет собой сложную функцию, заданную графом подстановок из элементарных функций. Пример ИСА показан на рис.1. Ребра графа фактически представляют собой «провода», соединяющие аппаратные операционные элементы.
Рис.1. Информационная структура алгоритма (ИСА):
a) граф ИСА, б) формулы ИСА.
1.2 Аппартно-программная реализация. На рис. 3 схематично представлена очень простая задача проектирования алгоритма, заданного своей программой (рис.2) вычисления функции ИСА (рис.1). На рис.3 показано, что аппаратно-программная реализация (АПР) требует специальную буферную память и синхронизацию между аппаратной и программной системами.
1.3 Процедура проектирования аппаратно-программной реализации разбивается на несколько этапов. На каждом этапе строится некоторая формальная модель, которая может (или не может) быть поддержана автоматической процедурой в системе автоматизированного проектирования.
Рис.2. Алгоритм задан своей программой. Рис.3. Разбиение ИСА на процессорную реализацию (ПР) и аппаратную реализацию (АР) и их совместной работы.
1.4 Существующие системы поддержки проектирования. Известны зарубежные системы поддержки проектирования, которые используют программу алгоритма, описанную на языке Си, для реализации аппаратного обеспечения. Например, зарубежный коммерческий программный продукт ImpulsеC и академический проект Spark Стэнфордского университета. Недостатком систем является существенные ограничения на используемые языковые конструкции. Также известны системы проектирования от компаний Cadence, Mentor Graphics и Synopsys. В настоящее время ведутся исследования в ИТМ и ВТ им. С.А.Лебедева, в ЗАО «МЦСТ», в ЗАО НТЦ «Модуль» и ГУП НПЦ «Элвис», которые посвящены, в основном, развитию архитектуры процессоров общего и специализированного назначения. Все они используют Си-подобный язык (SystemC, Verilog). Программа на таких языках уже содержит описание схемной реализации, буферной памяти и синхронизации, выбираемых проектировщиком. Таким образом, существующие техники проектирования значительно отличаются от рассматриваемой в диссертации содержательной задачи.
1.5 Основные результаты теории схем программ. Идея схематизации алгоритмов и программ принадлежит А.А. Ляпунову (1953). Первое систематическое рассмотрение свойств схем программ было сделано Ю.И. Яновым (1956 год). Пример схемы Янова показан на рис. 4a и фактически представляет собой блок-схему алгоритма (программы). Ю.И. Яновым был исследован вопрос эквивалентных преобразований блок-схемы программы и построена полная система преобразований, содержащая 14 аксиом и 3 правила вывода. А.П. Ершов рассмотрел теорию Янова в терминах граф-схем, что позволило уменьшить количество аксиом до 6 и упростить правила вывода.
Рис. 4. а). Схема Янову (блок-схема алгоритма).
В теории стандартных схем объектом исследования была не только блок-схема программы, а также и информационные взаимосвязи между операторами через общие переменные. А.П.Ершов ввёл понятие графа информационных связей алгоритма (ИСА) и решил проблему выделения памяти для реализации ИСА в виде подстановок из элементарных функций. Результат был сформулирован в теореме Ершова о максимальном разрезе ИСА.
1.6 Основные результаты главы 1. Теория схем программ в виде ЛСА может быть использована для разработки автоматических процедур проектирования АПР. Алгоритм, заданный в исходной программе, который вычисляет некоторую систему функций, может быть представлен в виде своей Информационной структуры (ИСА). Специальная процедура профилирования выделяет в программе элементарные функции и их взаимосвязи (подстановки), «спрятанные» в линейных участках программы. Преобразование программы в форму ИСА является функционально эквивалентным преобразованием. ЛСА и ИСА являются формальными моделями, которые могут быть использованы в разработке автоматических процедур проектирования.
Во второй главе рассматриваются формальные модели Информационной структуры алгоритма (ИСА) и Логической структуры алгоритма (ЛСА).
2.1 ЛСА является конечным автоматом SM = {S, R, P, D, ?}, где S = {S1, S2, S3, … Sk} - конечное множество состояний, R = {(R+1, R-1), (R+2, R-2)… (R+n, R-n)} - конечное множество условий переходов в виде предикатов, определённых на конечном множестве элементарных предикатов P = {p1, p2 .. , pm}, D = {D1, D2, D3 … Dk} - конечное множество действий, ? = {Si, Ri > Sj, Dj} , i = j = 1…n - конечное множество правил перехода. В западной литературе более употребляем эквивалентный термин - «машина состояний» (SM) или State Machine. Условия переходов SM генерируются внутри машины, а не во внешней среде. На рис.4б представлена SM, которой соответствует ЛСА в виде схемы Янова (рис.4a).
2.2 Совершенное регулярное выражение ЛСА. Каждой ЛСА (SM) соответствует регулярное выражение. Пример такого выражения для SM рис. 4б в виде совершенной регулярной формы (СРВ) приведён на рис. 5. СРВ представляет собой регулярное выражение с полностью раскрытыми скобками в соответствии в алгеброй Клини.
2.3 ИСА. Информационная структура алгоритма является композицией функций и данных. Она представляет собой ориентированный граф I=<X, V>, где Х - множество вершин, интерпретированных именами переменных x и именами функций (операциями) f, которые вычисляют эту переменную (x, f) є X : V - направленные дуги (<(x1, f1), (x2, f2)>), каждая дуга интерпретируется, как элементарная подстановка. Пример элементарной ИСА представлен на рис.1. ИСА является составной функцией g и задаёт схему подстановок между элементарными функциями (f1, f2 , f3 ...) для вычисления g: y = g (x1, x2, x2), g = f1( f3( f1(x1, x2)), f2(x1, x3)).
Рис. 5. Совершенное регулярное выражение (СРВ) для ЛСА рис. 4б.
2.4 Примитивно-рекурсивная ИСА. Существуют функции с ИСА, фрагменты которых могут повторяться бесконечно. Для описания таких схем подстановок вводятся специальные рекурсивные конструкции. Функции с такой ИСА называются примитивно-рекурсивными (ПРФ).
Рис.6. ИСА функции Фибоначчи.
Примитивно-рекурсивная функция задаётся бесконечной схемой подстановок:
f (x1, ..., xn, 0) = g(x1, ..., xn);
f (x1, ..., xn, y+1) = h(x1, ..., xn, y, f(x1, ..., xn, y));
где f - функция, которую нужно сконструировать, g, h - ПРФ, которые уже были сконструированы или являются базовыми, y - параметр рекурсии. Примером простейшей примитивно-рекурсивной ИСА является функция Фибоначчи, показанная на рис. 6. В диссертации рассматривается класс программ, реализующих примитивно-рекурсивную ИСА. Более общий класс рекурсивных ИСА, когда информационная структура вычисляется (строится) по мере выполнения программы, не рассматривается, так как функции такого класса не могут быть реализованы аппаратно.
2.5 Информационные связи между действиями в исходной программе описываются матрицей <Di, Dj>, i, j = 0…k и выделяются из исходной программы применением известной профилирующей процедуры.
2.6 Ярусно-параллельная форма ИСА. Понятие Ярусно-параллельной формы (ЯПФ) представления ИСА было введено Д.А.Поспеловым. На каждом ярусе расположены элементарные функции, которые вычисляются независимо друг от друга. На каждой паре соседних ярусов <Яi, Яi+1> находятся «поставщики» информации и только для функций яруса Яi+1. В ЯПФ вводится дополнительная функция «хранения информации» на ярусе (обозначена как «=»). На рис. 7а показана ИСА некоторой функции, на рис. 7б показана ИСА в форме ЯПФ с интерпретацией ИСА именами переменных 1, 2, ... . На рис. 7в показана ЯПФ с памятью, причём количество памяти минимизировано по теореме Ершова для ИСА рис.7а. На рис.7г показана ЯПФ с максимальным количеством памяти, равном количеству переменных ИСА рис.7а.
2.7 Выделение фрагментов ЯПФ для аппаратного или программного исполнения. Синхронизация процессов. Вычисление функции ИСА можно
Рис. 7. Ярусно-параллельные формы ИСА.
Рис.8. Двухпроцессорное разбиение ИСА.
проводить не только на одном процессоре (вычислительном устройстве). На рис. 8а показано произвольное разбиение ИСА, действия 1, 2, 6 вычисляются на процессоре П1, остальные действия на процессоре П2. Для синхронизации вычислений необходимы буферные регистры и синхронизаторы передачи информации между процессами в разных процессорах. Пример разбиения ИСА представлен на рис. 8а, двухпроцессорное взаимодействие на рис.8б, модели синхронизаторов конвейеров, описываемые сетями Петри, на рис. 8в, 8г. Функционирование сети Петри описывается пусковыми и флаговыми функциями, которые могут использоваться для реализации синхронизаторов.
2.8 Основные результаты главы 2. В главе были рассмотрены основные формальные модели и соответствующие автоматические процедуры, которые будут составлять технологию проектирования «От программы к аппаратно-программной реализации»: 1) Совершенное регулярное выражение (СРВ) для ЛСА исходной программы, которая определяет последовательность «склеивания» ИСА из отдельных блоков, 2) эквивалентные преобразования ЯПФ ИСА в конвейерные и многопроцессорные разложения.
В третьей главе описана технология разбиения алгоритма, заданного исходной программой, на аппаратную и программную часть. При этом ИСА разбивается, вообще говоря, произвольным образом на фрагменты, элементарные функции каждого из них могут вычислятся аппаратно, либо программно на универсальном (специализированном) процессоре. Технология проектирования «От программы к аппаратно-программной реализации» демонстрируется на примере ЛСА, граф которой представлен на рис.9. Выделяются общие свойства формальных моделей, для чего доказываются леммы. информационный синхронизация буферный память
Для удобства действия в ЛСА (рис. 4б) будем обозначать натуральными числами (рис.9а). Действие 0 задаёт начальные значения переменных, действие
Рис. 9. ЛСА и цепочки СРВ.
5 - «читает» результаты вычисления из переменных. Выражения, объединённые операцией разделённого «или», называются цепочками СРВ.
3.1 Анализ возможных связей ЛСА. Каждая цепочка СРВ для действий представима своей примитивно-рекурсивной ИСА, в которой между действиями ЛСА устанавливаются информационные связи.
Лемма 1. О необходимых условиях информационных связей между действиями ЛСА. Между действиями ЛСА {Di, Dj}, i, j=0..k возможна информационная связь, если Dj следует за Di хотя бы в одной из цепочек СРВ.
3.2 Восстановление ИСА. Процедура восстановления ИСА заключается в исключении из полученных цепочек СРВ действий, которые не связаны информациионно с другими действиями. Процедура описывается следующей последовательностью преобразований:
1). Раскрывается каждая операция «звезда Клини» для цепочек СРВ по правилу (R)* > R*R+Ш, где R - регулярное выражение. Например, цепочка Ц1 (рис.9) раскрывается следующим образом: 0 * 1 * (3 * 2 * 1)* * 4 * 5 > 0 * 1 * 3 * 2 * 1 * 3 * 2 * 1 * 4 * 5 + 0 * 1 * 4 * 5.
2). Получаемое регулярное выражение снова представляется в виде совершенной формы, для цепочек которой строится конвейерное разложение. Пример для выражения 0 * 1 * 3 * 2 * 1 * 3 * 2 * 1 * 4 * 5, получаемого из цепочки Ц1, показан на рис. 10a. Действие D3 по лемме 1 может быть информационно связано с D4, но между ними не устанавливается фактическая информационная связь в конвейере (рис.10a). В диссертации формулируется и доказывается лемма:
Лемма 2. О достаточных условиях информационных связях между действиями. Выражения, полученные из цепочек СРВ в процедуре (2), задают фактические информационные связи между действиями в ИСА.
Рис. 10. Конвейерное разложение для выражения 0*1*3*2*1*3*2*1*4*5.
Таблица фактических информационных связей представлена в табл.1б и получена при интерпретации ИСА каждого действия.
3.4 Интерпретация ИСА. Действия ИСА могут быть интерпретированы через некоторый набор элементарных функций (рис. 11).
Рис. 11. Интерпретация ИСА. Действия содержат ИСА, которые интерпретированы элементарными функциями.
Примитивно-рекурсивная ИСА каждой из цепочек СРВ преобразуется соответственно интерпретации действий. Например, ИСА для выражения 0 * 1 * 2 * 1 * 4 * 5 представлена на рис. 11.
3.5 Задача разбиения ИСА на фрагменты формально определяется следующим образом. Каждой вершине графа ИСА однозначно ставится в соответствие элемент из множества фрагментов U = {б1, б2, б3 …}. Фрагменты объединяются в группы G = {ц1, ц2, ц3 …}. Фрагменты могут быть функционально эквивалентны друг другу, то есть являться эквивалентными подстановками элементарных функций ИСА. Группа - ничто иное, как множество фрагментов ИСА, функции которых будут вычисляться на одном и том же АР или ПР (см. определения АР и ПР на рис.3).
3.3 Необходимое условие правильного разбиения. В работе доказывается:
Лемма 3. О необходимом условии правильного разбиения ИСА. Для любых двух фрагментов б1 и б2, принадлежащих одной группе ц и вершин ИСА {x1, x2, y1, y2}, таких, что x1, x2 є б1; y1, y2 є б 2, в случае, если существует дуга ИСА <x1, y1>, необходимо, чтобы отсутствовала дуга <y2, x2>.
На рис.12a представлена ИСА некоторого вычислительного алгоритма, на рис.12б разбиение ИСА на фрагменты б01 и б02, на рис.12в ИСА разбивается на другие фрагменты б11 и б12. Разбиение рис.12а нарушает необходимое условие, функции фрагментов б01 и б02 не могут быть вычислены одним и тем же процессором или аппаратным блоком. Разбиение рис.12в не нарушает это условие.
Рис.12. a). Пример ИСА. б). Пример неправильного разбиения ИСА.
3.4 Конструирование управляющей схемы. Упраляющая схема задаётся 2-мя таблицами 1). (p1 … pn) x (R1, R2...Rl) - матрица вхождения элементарных предикатов в распознаватели и 2). (p1 … pn) x (D1, D2...Dk) - матрица вычислений элементарных предикатов в соответствующих действиях. Для ЛСА рис. 9a с множеством элементарных предикатов {p1, p2}, множеством распознавателей {R1, R2, R3, R4} и множеством действий {D0, D1, D2, D3, D4, D5} соответствующие таблицы показаны в табл.2 и 3. Для создания информационной системы управления вводятся преобразования, правильность которых определяется леммой 4.
Лемма 4. О перестановке распознавателей. Если в цепочке СРВ присутствует подвыражение Ri * Di * Rj * Dj и предикаты (pj1, pj2, pj3…), входящие в распознаватель Rj, не вычисляются в действии Di, то ИСА цепочки Rн * Di * Dj будет функционально эквивалентна ИСА цепочки Ri * Di * Rj * Dj, при этом Rн= Ri & Rj, где операция & - есть операция конъюкции над предикатами распознавателей Ri и Rj.
Аналог конвейерного разложения для управляющей структуры для цепочки СРВ показан на рис. 13. Действия D2 и D1 могут быть объединены на одном ярусе, так как D2 не вычисляет элементарные предикаты, входящие в распознаватель, задающий условие вычисления D1.
Рис.13. Конвейерное разложение схемы управления.
3.5 Дополнительные условия правильного разбиения. Пусть ИСА разбита на фрагменты U = {б01, б02, б13 …}. Для удобства верхний индекс фрагмента означает его принадлежность соответствующей группе G = {ц1, ц2, ц3 …}, см. пример (рис. 14). Пусть разбиение отвечает необходимому условию правильного разбиения. Тогда между фрагментами, принадлежащей группе, устанавливается частичный порядок, соответствующий дугам вершин ИСА, которые входят в фрагменты. Например, если существует дуга <x1, y1> и x1 є б11, y1 є б16, отношение порядка будет б11<б16. Частичный порядок устанавливает возможные последовательности «вычислений» фрагментов на АР или ПР группы (рис.15). Звезда Клини означает на рис.15 возможную рекурсию в ИСА. При восстановлении ИСА из СРВ каждой вершине x графа примитивно-рекурсивной ИСА можно поставить в соответствие распознаватель, который ему предшествует (если такой имеется). Поэтому каждому фрагменту соответствует некоторое множество распознавателей, соотнесённых вершинам фрагмента. Поэтому частичный порядок на множестве фрагментов определяет также частичный порядок выполнения распознавателей.
Рис. 14. Разбиение ИСА на фрагменты Рис. 15. Возможный порядок «вычисления» фрагментов
Лемма 5 о достаточном условии правильного разбиения ИСА на фрагменты определяется четырьмя правилами. 1 правило. Для выбранных фрагментов выполняется необходимое условие правильного разбиения. 2 правило. Множество распознавателей, соответствующее одному фрагменту должно совпадать с множеством распознавателей, которые можно объединить по лемме о перестановке распознавателей операцией конъюкции для вершин фрагмента. 3 правило. По крайней мере одна последовательность распознавателей, допустимая частичным порядком выполнения, должна входить в регулярное выражение для распознавателей, соответствующее ЛСА. 4 правило. Если условия 1, 2 и 3 выполняются для всех цепочек СРВ и заданных фрагментов, то выбранное разбиение является правильным.
1-e правило проверяет «связанность» вычислений по данным. 2-е правило означает, что условия для вычисления фрагмента должны быть «вычислены заранее». 3-е правило означает, что управление вычислениями элементарных функций фрагментов в АР или в ПР должно быть синхронизировано с управлением, задаваемым ЛСА. Для примера ЛСА рис.9a для вершин D1 и D3 можно задать вид возможного фрагмента (рис.16). Фрагмент не нарушает необходимое условие правильного разбиения, но нарушает достаточное (условие 2), так как для управляющей структуры рис.13б элементарный предикат p1, входящий в распознаватель R2, вычисляется в действии D1 и не может быть вычислен «заранее». Для вершин D1 и D2 составлен фрагмент, который удовлетворяет необходимому условию (рис.17).
Рис. 16. Фрагмент состоит из информационной структуры элементарных функций, выбраной из D1 и D3. Рис. 17. Фрагмент состоит из информационной структуры элементарных функций, выбранных из D1 и D2
3.6 Основные результаты главы. Технология «От алгоритма к аппаратно-программной реализации» представляет собой последовательность процедур, основанных на восьми формальных моделях: 1) логическая структура алгоритма (ЛСА), 2) информационная структура алгоритма (ИСА), 3) ЛСА в виде совершенных регулярных выражений (СРВ), 4) ярусно-параллельная форма (ЯПФ) ИСА, 5) многопроцессорные и конвейерные разложения ИСА, 6) модель синхронизации в виде сети Петри, 7) модель системы управления в виде информационной структуры вычисления предикатов, 8) модель правильного разбиения ИСА. Возможность применения процедур проектирования АПР обусловлена доказательством лемм: леммы 1 о необходимых условиях информационных связей между действиями ЛСА, леммы 2 о достаточных условиях информациионных связях между действиями ЛСА, леммы 3 о необходимых условиях правильного разбиения ИСА, леммы 4 о перестановке распознавателей в ЛСА, леммы 5 о достаточных условиях правильного разбиения ИСА. Фактически глава 3 содержит конструктивное доказательство теоремы о построении аппаратно-программного представления алгоритма, заданного исходной программой, и разбиениях, заданных проектировщиком. Теорема обеспечивает функциональную эквивалентность двух реализаций - реализации исходной программы и аппаратно-программной реализации.
В четвёртой главе представлены примеры разбиения на фрагменты и использования формальных моделей для проектирования АПР.
4.1 1-й пример разбиения ИСА продемонстрирован на алгоритме Быстрого преобразования Фурье (БПФ) из 8 точек. ИСА алгоритма представлена на рис.18. Вершины графа ИСА перегруппированы (см. рис.19) в соответствии с заданным разбиением ИСА на фрагменты. ИСА разбивается на функционально эквивалентные фрагменты, выделенные пунктиром. ИСА таких фрагментов называется шаблоном. Выбираемое разбиение является правильным, алгоритм БПФ может вычислить процессор с операцией шаблона. Производится конвейерное однопроцессорное разложение ИСА по выбранному шаблону и реализуется схема процессора.
В табл.4 сравнивается энергопотребление, площади схемной реализации и частоты для технологии 0,18 микрон, соответсвующие процессорной схеме и схеме, в которой ИСА БПФ-8 реализуется аппаратно в виде конвейера. Рассматриваемые реализации имеют равную производительность.
Рис. 18. ИСА БПФ 8 точек. Рис.19. Разбиение ИСА.
4.2 2-й пример перехода от программы к программно-аппаратной реализации. Рассматривается алгоритм сжатия изображений JPEG2000. В программе алгоритма был выделен блок, который решено было реализовать в виде аппаратуры. С помощью специального программного обеспечения Spark из программы был выделен граф ЛСА блока. С помощью библиотеки Graphviz на языке Perl была написана программа преобразования ЛСА в ИСА. В процессе разработки программы были использованы разработанные в диссертации формальные модели и соответствующие им автоматические процедуры. Модель ИСА была автоматически спроектирована в виде АР, описанной на SystemC. Остальная часть алгоритма исполнялась как обычная программа на C. Полученная АПР была протестирована на большом количестве изображений, чтобы убедиться в правильности преобразований программы на языке Perl. Все изображения были успешно закодированы в стандарте JPEG2000.
В заключении сформулированы основные научные и практические результаты диссертации.
ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ
Для решения задачи проектирования аппаратно-программной реализации алгоритма, заданного исходной программой, в диссертации решены две основные задачи: 1) восстановления из программы информационной структуры алгоритма, 2) проверки правильности разбиения информационной структуры на фрагменты, которые могут выполняться аппаратно и программно на специализированных или универсальных процессорах. Для решения этих задач сформулированы и доказаны пять лемм, которые конструктивно доказывают теорему о построении аппаратно-программного представления алгоритма, заданного исходной программой, и разбиениях, заданных проектировщиком. Теоретические результаты и практика их применения для некоторых алгоритмов показывают, что на этом теоретическом фундаменте могут быть построены САПР, ориентированные на широкий класс алгоритмов, заданных исходной программой.
ОСНОВНЫЕ РЕЗУЛЬТАТЫ ДИССЕРТАЦИИ ОПУБЛИКОВАНЫ В РАБОТАХ
1. А.С.Лялин. Информационная технология «От алгоритма к аппаратуре» на примере аппаратной реализации БПФ. // Моделирование процессов управления. Сб. научных трудов. / Моск. физ.-тех. ин-т. -М., 2004. - C.203-210.
2. А.С.Лялин. Принцип асинхронного проектирования и информационная структура алгоритма. // Труды 12-й Всероссийской межвузовской конференции студентов и аспирантов «Микроэлектроника и Информатика» - 2005” / Моск. ин-т элек.-тех. - M., 2005. - C.223.
3. А.С.Лялин. Возможности асинхронного взаимодействия процессов для уменьшения энерговыделения при проектировании цифровой аппаратуры // Труды X Байкальской Всероссийской конференции «Информационные и математические технологии в науке технике и образовании» / ИСЭМ СО РАН. - Иркутск, 2005. - Часть 1 - C.249-251.
4. А.С.Лялин. Информационный анализ программных алгоритмов для реализации энергосберегающих вычислений // Моделирование процессов управления. Сб. научных трудов. / Моск. физ.-тех. ин-т. -М., 2006. - C.243-249.
5. А.С.Лялин. Возможности алгоритмического анализа для проектирования аппаратуры. // Труды десятой международной научной конференции «Актуальные проблемы твердотельной электроники и микроэлектроники» / ТРТУ-Таганрог, 2006, C.149-152.
6. A.C.Лялин. Алгоритмический анализ для проектирования цифровой аппаратуры: автоматический подход // Труды 49-й научной конференции МФТИ, секция информатики / Моск. физ.-тех. ин-т. -М., 2006. - C.63-64.
7. A.C.Лялин. Автоматический алгоритмический анализ для проектирования цифровой аппаратуры // Труды IV международной научно-технической конференции «Фундаментальные проблемы радиоэлектронного приборостроения» / Моск. ин-т рад., элект. и авт., Москва, 2006. - Часть 2 - С.176-179.
8. А.С.Лялин. Методика проектирования вычислительных систем с аппаратно-программной архитектурой // Моделирование процессов обработки информации. Сб. научных трудов. / Моск. физ.-тех. ин-т. -М., 2007. - C.242-245
9. Alexander Lyalin. Formal methods of algorithm analysis for decreasing RTL-verification complexity // 9th International Conference «The experience of designing and application of CAD systems in microelectronics», CADSM 2007, Proceedings / Polyana, Ukraine, 2007 - P. 101-103.
10. A.C. Лялин. Скрытые возможности интеллектуализации тестирования электронных цифровых систем // Информационные технологии моделирования и управления - 2007, №1(35) - C.105-112.
11. A.C. Лялин Скрытые возможности интеллектуализации проектирования электронных цифровых систем. // Системы управления и информационные технологии -2007, №4.1(30). - С. 166-169.
Размещено на Allbest.ru
...Подобные документы
Основные математические модели макроэкономических процессов. Мультипликативная производственная функция, кривая Лоренца. Различные модели банковских операций. Модели межотраслевого баланса Леонтьева. Динамическая экономико-математическая модель Кейнса.
контрольная работа [558,6 K], добавлен 21.08.2010Построение имитационной модели бизнес-процесса "Управление инцидентами" компании "МегаФон" с целью прогнозирования совокупной стоимость ИТ-сервиса по обслуживанию инцидентов. Разработка моделирующих алгоритмов для реализации компьютерных программ модели.
курсовая работа [2,6 M], добавлен 09.04.2012Определение понятий "функциональные и структурные математические модели", рассмотрение их значение, главных функций и целей. Составление модели "черного ящика", простейшее отображение реальной системы. Метод исследования объектов с помощью их моделей.
реферат [13,2 K], добавлен 17.11.2015Моделирование экономических систем: основные понятия и определения. Математические модели и методы их расчета. Некоторые сведения из математики. Примеры задач линейного программирования. Методы решения задач линейного программирования.
лекция [124,5 K], добавлен 15.06.2004Характеристика российской модели переходной экономики. Математические модели социально-экономических процессов, факторы и риски экономической динамики, посткризисные тренды. Роль Краснодарского края в экономике РФ, стратегия его экономического развития.
дипломная работа [385,0 K], добавлен 21.01.2016Построение математической модели, максимизирующей прибыль фирмы от реализации всех сделок в виде задачи линейного программирования. Сущность применения алгоритма венгерского метода. Составление матрицы эффективности, коэффициентов затрат и ресурсов.
контрольная работа [168,7 K], добавлен 08.10.2009Сущность метода наименьших квадратов. Экономический смысл параметров кривой роста (линейная модель). Оценка погрешности и проверка адекватности модели. Построение точечного и интервального прогноза. Суть графического построения области допустимых решений.
контрольная работа [32,3 K], добавлен 23.04.2013Построение корреляционной матрицы. Проведение теста на наличие мультиколлинеарности. Расчет частного коэффициента эластичности для прогноза экономических процессов. Расчет доверительного интервала. F-статистика Фишера проверки модели на адекватность.
контрольная работа [1,7 M], добавлен 09.07.2014Разработка программной имитационной модели работы билетной кассы железнодорожного вокзала на языке GPSS World. Описание пошаговой работы программы и плоскости отклика модели. Исследование функционирования модели на чувствительность изменения факторов.
курсовая работа [1,3 M], добавлен 22.06.2015Определение экономических рисков разными авторами. Основные способы анализа чувствительности модели. Суть и технология анализа чувствительности модели как способ восстановления финансового равновесия, принятия оптимального решения, недостатки метода.
курсовая работа [205,0 K], добавлен 27.05.2009Модели зависимости спроса от дохода (кривые Энгеля). Эластичность спроса по доходу. Модели производственных затрат и прибыли предприятия, точка безубыточности. Оптимизационные задачи с линейной зависимостью между переменными. Модель мультипликатора.
презентация [592,2 K], добавлен 07.08.2013Методы и модели анализа динамики экономических процессов. Эластичность в экономическом анализе. Коэффициент корреляции, его свойства. Динамические ряды и временные ряды, тренд, их компоненты. Решение задачи потребительского выбора и его свойства.
курс лекций [399,8 K], добавлен 15.06.2015Модели распределения доходов. Количественный подход к анализу полезности и спроса. Кривые безразличия, решение задачи об оптимальном выборе потребителя. Функции спроса и коэффициент эластичности. Предельная полезность и предельная норма замещения.
презентация [470,8 K], добавлен 28.04.2013Модели распределения доходов. Количественный подход к анализу полезности и спроса. Отношение предпочтения и функция полезности. Кривые безразличия, решение задачи оптимального выбора потребителя. Функции спроса, изменение цен и коэффициент эластичности.
курсовая работа [412,7 K], добавлен 11.02.2011Построение одноиндексной математической модели задачи линейного программирования, ее решение графическим методом. Разработка путей оптимизации сетевой модели по критерию "минимум исполнителей". Решение задачи управления запасами на производстве.
контрольная работа [80,8 K], добавлен 13.12.2010Создание бизнес-модели процесса выдачи потребительских кредитов. Организационное обеспечение кредитного процесса. Моделирование и документирование бизнес-процессов в программе BPwin. Построение модели AS IS. Предложение по автоматизации бизнес-процесса.
курсовая работа [401,5 K], добавлен 07.01.2012Метод развертки вслепую. Понятия и построение модели для простейшего случая. Подгонка параметров: целевая функция, подбор независимых компонент и функции нелинейности. Настройка процесса обучения. Адаптация алгоритма под реалии рынка обмена валюты.
курсовая работа [1,1 M], добавлен 17.10.2016Методы многокритериальной оптимизации и управления запасами. Методика административного наблюдения, основанная на определении той части запасов предприятия, которая требует внимания со стороны отдела снабжения. Модель оптимального размера заказа.
лекция [569,7 K], добавлен 15.01.2011Статические и динамические модели. Анализ имитационных систем моделирования. Система моделирования "AnyLogic". Основные виды имитационного моделирования. Непрерывные, дискретные и гибридные модели. Построение модели кредитного банка и ее анализ.
дипломная работа [3,5 M], добавлен 24.06.2015Построение и анализ однофакторной и многофакторной эконометрической модели. Вычисление парных и частичных коэффициентов корреляции. Проверка адекватности модели по критерию Фишера. Исследование наличия мультиколлениарности по алгоритму Феррара-Глобера.
контрольная работа [172,4 K], добавлен 28.05.2010