автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Языковой интерфейс для систем автоматизации микропрограммирования

кандидата физико-математических наук
Погудин, Юрий Михайлович
город
Новосибирск
год
1994
специальность ВАК РФ
05.13.11
Автореферат по информатике, вычислительной технике и управлению на тему «Языковой интерфейс для систем автоматизации микропрограммирования»

Автореферат диссертации по теме "Языковой интерфейс для систем автоматизации микропрограммирования"

Г6 од

Российская Академия Наук 3 Сибирское отделение

Институт Систем Информатики

На правах рукописи

Погудин. Юрий Михайлович

Языковой интерфейс для систем автоматизации микропрограммирования

05.13.11. —математическое и программное обеспечение вычислительных машин, комплексов, систем и сетей

Автореферат диссертации на соискание ученой степени кандидата физико-математических наук

Новосибирск 1994

Научный руководитель: Официальные оппоненты:

Ведущая организация:

И.В.Поттосин,

доктор физико-математических наук

Б.М.Глинский,

доктор технических наук

В. И. Константинов,

кандидат физико-математических наук

НИИ ММ Санкт-Петербургского Государственного Университета

Защита диссертации состоится "_3_"_июня_ 1994 г. в 14.30 на

заседании специализированного совета К003.93.01 в Институте систем информатики Сибирского отделения РАН по адресу:

630090, Новосибирск, просп. Лаврентьева, 6.

С диссертацией можно ознакомиться в читальном зале библиотеки ВЦ СО РАН (просп. Лаврентьева, 6).

Автореферат разослан "29" апреля 1994 г.

Ученый секретарь

специализированного совета К003.93.01

к.ф.-м.н. М.А.Бульонков

Российская Академия Наук Сибирское отделение Институт Систем Информатики

На правах рукописи

Погудин Юрий Михайлович

Языковой интерфейс для систем автоматизации микропрограммирования

05.13.11. — математическое и программное обеспечение вычислительных машин, комплексов, систем и сетей

Автореферат диссертации на соискание ученой степени кандидата физико-математических наук

Новосибирск 1994

Научный руководитель: И.В.Поттосин,

доктор физико-математических наук

Официальные оппоненты: Б.М.Глинский,

доктор технических наук В.И.Константинов,

кандидат физико-математических наук

Ведущая организация:

НИИ ММ Санкт-Петербургского Государственного Университета

Защита диссертации состоится _июня_ 1994 г. в 14.30 на

заседании специализированного совета К003.93.01 в Институте систем информатики Сибирского отделения РАН по адресу:

630090, Новосибирск, просп. Лаврентьева, 6.

С диссертацией можно ознакомиться в читальном зале библиотеки ВЦ СО РАН (просп. Лаврентьева, 6).

Автореферат разослан "_" _ 1994 г.

Ученый секретарь

специализированного совета К003.93.01

к.ф.-м.н.

М.А.Бульонков

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

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

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

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

3

решения ряда задач из этой области, актуальных как с практической, так и с общеметодологической точки зрения.

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

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

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

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

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

Практическим результатом работы является реализация двух промышленных (КОМПРОМИСС-589 и МИАСС) и двух экспериментальных (СИМ и ALT) систем автоматизации микропрограммирования. Начиная с 1988 года система автоматизации прикладного микропрограммирования для микроконтроллеров МИАСС была перенесена на 5 различных платформ, внедрена в практику проектирования более чем 30 организаций на территории бывшего СССР и до сих пор применяется на некоторых из них (таких как НИИ "МорФизПрибор", в Санкт-Петербурге, НИИ Автоматики и Гидравлики в Москве, НИИ Многопроцессорных Вычислительных Систем в Таганроге, ОКБ "Контур" в Пятигорске). Системы СИМ и ALT активно используются в качестве систем моделирования параллельных микропрограмм в лаборатории параллельных алгоритмов и структур Вычислительного Центра СО РАН, обеспечивая потребности автоматизации ряда научных экспериментов.

Апробация работы и публикации. По теме диссертации опубликовано 8 работ. Основные результаты работы докладывались и обсуждались на Международной конференции САПР СВТ'89 (Ленинград, 1989), заседании Рабочей группы по языкам и системам программирования (Ленинград, 1990) и конференции "Высокопроизводительные вычислительные системы для комплексных центров математического моделирования" (Новосибирск, 1991).

Структура и объем диссертации. Работа состоит из введения, четырех глав, заключения, списка литературы из 154 наименований и 7 приложений. Общий объец работы, включая список литературы и приложения составляет 197 страниц текста.

Содержание работы

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

5

программирования. Перечисляются основные положения принятой автором экспериментальной методики построения языкового интерфейса для систем автоматизации микропрограммирования.

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

В разделе 1.1 прослеживается эволюция понятия микропрограммирования и постепенное расширение сферы его практического применения. Тем самым очерчивается фактическая граница объекта исследования. Выделяется особая роль прикладного микропрограммирования для микроконтроллеров, представляющего в настоящее время наиболее массовую форму микропрограммирования и подчеркивается значение метода параллельного

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

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

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

Особо подчеркиваются особенности описания параллелизма вычислений класса fine grained, программирования массовых регулярных и квазирегулярных вычислений, манипуляций со структурами типа "пирамид" или "иерархий регулярностей", а также необходимость считаться с топологическими ограничениями, придающая параллельному микропрограммированию существенно "геометрический" характер. На такой основе дополнительно формулируются 14 общетехнологических и специальных требований к языкам микропрограммирования.

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

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

1) принципиальной ориентации на многоязыковой и многоуровневый подход при построении языкового интерфейса;

2) использования языков АМДАСМ и Си как базовых прототипов;

3) применения принципа алгоритмически обусловленного синтеза микроархитектуры;

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

5) интегрирования текстовых и графических форм исходного представления параллельных микропрограмм;

6) разделения схем параллельных микропрограмм и функционального наполнения в исходном представлении;

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

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

Вторая глава описывает опыт разработки языкового интерфейса для двух систем автоматизации прикладного микропрограммирования для микроконтроллеров и спецвычислителей, одна из которых (КОМПРОМИСС-589) является узко специализированной системой , а вторая (МИАСС) - универсальной системой мета-микроассемблерного типа.

Раздел 2.1 посвящен средствам языковой и инструментальной поддержки микропрограммирования для микропроцессорного комплекта (МПК) К589 в системе КОМПРОМИСС-589, реализованной для платформ ДОС СМ-3 и RSX-11 СМ-4 в 1982 году. Рассматривается проблема распределения управляющей микропрограммной памяти для МПК К589, кратко описывается язык специализированного микроассемблера и технология прикладного микропрограммирования для спецвычислителей на базе МПК К589, реализованная в системе КОМПРОМИСС-589 и основанная на применении кросс-микроассемблера, вокруг которого группируются функциональный имитатор, загрузчик микрокода в память макета, макетный отладчик, дизмикроассемблер, редактор объектного микропрограммного кода и кодировщик перфолент для программатора ПЗУ.

Раздел 2.2 посвящен реализации популярного среди практикующих микропрограммистов языка АМДАСМ в системе МИАСС, разработанной в 1985 году для платформы RSX-11 СМ-4 и-впослеДствии адаптированной к платформам RT-11 для Электроники-60 и ДВК-3, UNIX для Labtam-2000, VAX/VMS для MicroVAX, MS-DOS для IBM PC. Язык АМДАСМ поддерживает возможности настройки на

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

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

Третья глава описывает опыт разработки экспериментального языка параллельного микропрограммирования высокого уровня СИМ и опыт его практического применения в качестве входного языка системы функционального моделирования параллельных микропрограмм, реализованной в форме компилятора квазипараллельных моделей для платформ RSX-11 СМ-4 и MS-DOS IBM PC в 1988 году.

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

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

• АПП отображает распределение вычисления как во времени, так и в пространстве, в частности одновременное выполнение множе ства различных независимых преобразований (параллельность) над множеством рассредоточенных в пространстве объектов данных (повсеместность).

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

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

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

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

Для воспроизведения свойств модели АПП в рамках семантики языка параллельного микропрограммирования высокого уровня предлагается использовать три следующих обобщенных языковых механизма:

• механизм систематических задержек побочных эффектов базовых операций (как основное средство программирования параллелизма микроопераций);

• механизм параметризующих покрытий объектов объектами (как специальное средство программирования повсеместности микроопераций);

• механизм явной спецификации субъектов вычисления (как факультативное средство контроля над распределением потока управления среди активных элементов микроархитектуры).

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

Раздел 3.2 описывает конкретный способ реализации специальных языковых механизмов в форме конструктов языка СИМ, построенного как расширение широко распространенного языка программирования Си. Подробно описывается следующий набор элементов расширения:

Языковый Механизм

ТИПЫ КЛАССЫ ОПЕРАТОРЫ

ОПЕРАЦИИ

1. Задержка

побочных эффектов вычисления базовых операций

change OBJECT clock

start finish delay

\

[)

$

#

2. Параметризующие REGION покрытия

клеточных массивов AREA

in

3. Спецификация исполнителей

SUBJECT by

@

вычисления

Характерной особенностью языка СИМ является разделение всех переменных на два класса, для одного из которых (ORDINARY) сохраняется семантика вычисления всех базовых операций, характерная для языка-прототипа, а для второго (OBJECT) применяется модифицированная семантика вычисления побочных эффектов базовых операций, реализуемых синхронно для всех операций в пределах тела операторов параллельного соисполнения change, цикла параллельного соисполне-ния clock или исчерпывающего параллельного соисполнения start. Оператор finish обрывает выполнение операторов clock и start, а оператор delay устанавливает точную величину задержки побочных эффектов на фоне таких операторов. Операции :: и \ дублируют возможности операторов change и delay на уровне структуры арифметических выражений. Оператор in строит параметризующие покрытия массивов шаблонами, т.е. массивами меньших размеров. Для описания областей покрытия применяется особый тип данных REGION, а для описания структурного связывания имен обобщенных параметров на шаблонах служит тип AREA. Операция [ ] объявляет имя локально используемого шаблона, а операция $ обозначает динамическое связывание множества обобщенных параметров на конкретном элементе покрытия после чего для ссылки на значения обобщенных параметров достаточно воспользоваться операцией #. Класс SUBJECT служит для спецификации имен исполнителей, а оператор by или операция @ приписывают исполнение фрагмента конкретному исполнителю.

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

Четвертая глава излагает опыт разработки нотационной модели исходного представления параллельных микропрограмм в виде смеси текстовых и графических элементов, воплощающей принцип раздельного представления схемы параллельной программы на специальном языке, текста процедур функционального наполнения схемы на языке Си и описания конфигураций объектов данных и структур на их основе в графической форме. Характерно, что в составе этой модели реализованы все особые языковые механизмы концептуальной модели вычислений языка СИМ.

Система ALT, реализующая указанный подход, разрабатывалась как технологическая альтернатива системе СИМ и предназначалась для кардинального разрешения трудностей пользователя, вынужденного вручную программировать ввод, вывод и действия по оперативному управлению ходом процесса моделирования. Система ALT поддерживает интерпретацию параллельной микропрограммы с автоматической визуализацией хода вычисления непосредственно на исходном представлении. Она интегрирует вокруг многооконного графического интерфейса графический редактор объектов, текстовый редактор, анализатор языка схем, анализатор процедур функционального наполнения на языке Си, функциональный интерпретатор и средства отладки. Система реализована для платформы MS-DOS IBM PC в 1991 году. Предполагается дальнейшее развитие системы для обеспечения возможностей автоматических эквивалентных преобразований исходных описаний параллельных микропрограмм.

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

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

Раздел 4.3 посвящен описанию языка программирования схем параллельных микропрограмм, разработанному и реализованному в рамка* проекта ALT. Принятая концепция раздельного представления

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

• управление последовательностью действий;

• управление параллелизмом действий;

• параметризующие покрытия массивов;

• динамические преобразования состояния объектов;

• динамические преобразования общего пространства объектов;

• манипуляции над структурами объектов;

• управление режимом интерпретации.

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

Заключение содержит перечисление основных результатов работы.

Основные результаты работы

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

15

базе бит-слайсовых МПК; б) проектирование алгоритмов параллельных микропрограмм для нетрадиционных микроархитектур и элементной базы.

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

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

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

5) Практическим результатом работы является реализация двух промышленных (КОМПРОМИСС-589 и МИАСС) и двух экспериментальных (СИМ и ALT) систем автоматизации микропрограммирования.

Основными выводами работы, вытекающими из опыта разработки, реализации и практического использования названных выше инструментальных систем автоматизации микропрограммирования являются следующие положения:

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

2) Для высокоэффективного прикладного микропрограммирования для микроконтроллеров и спецпроцессоров достаточно использования языка класса настраиваемого мета-микроассемблера.

3) Язык высокого уровня в полной мере оправдывает свое применение лишь в целях предварительного проектирования параллельных микропрограмм и микроархитектур по общей схеме: алгоритм->программа-»структура.

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

5) При выборе языка или прототипа для него предпочтение среди подходящих вариантов должно отдаваться наиболее распространенным (популярным) образцам.

6) Чисто текстовая форма описания параллельных микропрограмм не может считаться достаточной. Следует применять смеси графических и текстовых элементов при конструировании исходных описаний алгоритмов и структур.

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

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

9) Требуется ориентация возможностей языкового интерфейса на описание иерархий регулярностей как характерной формы "вертикальных" структур представления элементов нетрадиционных микроархитектур.

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

Публикации по теме диссертации

1. Погудин Ю.М. Автоматизация микропрограммирования для микро-ЭВМ на основе комплекта серии К589 / / Тематический сборник научных трудов ЧПИ, N 273 /Под. ред. Мельникова В.В. - Челябинск: ЧПИ, 1982, С. 118-121.

2. Погудин Ю.М. МИАСС - система микропрограммирования на языке АМДАСМ / / Микропроцессорные средства и системы. -1987. - N5, С.19-23.

3. Погудин 'Ю.М. Инструментальная система микропрограммирования МИАСС. Комплект технической, документации ' для ГосФАП.- Новосибирск, 1988.-(регистрационный номер ГосФАП 50870001255). -168 с.

4. Погудин Ю.М. Инструментальная система микропрограммирования МИАСС / / Алгоритмы и программы (информационный бюллетень ВНЦТИ).-1988.-Ш.-С.8.

5. Погудин Ю.М. СИМ - расширение языка Си для микропрограммньдх приложений / / Информатика и программирование.-Новосибирск: ВЦ СО АН СССР, 1989, С. 4758.

6. Пискунов C.B., Погудин Ю.М. Параллельное микропрограммирование как инструмент проектирования микропроцессорных систем //Докл. междунар.конф. САПР СВТ'89 (Ленинград), Секция 2 - М:1989. - С. 197-205.

7. Маркова В.П., Пискунов C.B., Погудин Ю.М. Архитектурное проектирование параллельных микропроцессорных систем / / Высокопроизводительные вычислительные системы для комплексных центров математического моделирования /Под ред. Миренкова H.H. -Новосибирск: 1991, С. 138-156.

8. Погудин Ю.М. ALT - графическая система параллельного микропрограммирования / / Параллельные алгоритмы и структуры /Под ред. Миренкова H.H.--Новосибирск:

' ВЦ СО АН СССР, 1991, С.77-88.