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

кандидата технических наук
Корнеенкова, Анна Викторовна
город
Москва
год
2006
специальность ВАК РФ
05.13.11
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Разработка метода и средств программной эмуляции семейства бортовых вычислительных машин с открытой системой команд»

Автореферат диссертации по теме "Разработка метода и средств программной эмуляции семейства бортовых вычислительных машин с открытой системой команд"

МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ (ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)

МАИ

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

КОРНЕЕНКОВА Анна Викторовна

РАЗРАБОТКА МЕТОДА И СРЕДСТВ ПРОГРАММНОЙ ЭМУЛЯЦИИ СЕМЕЙСТВА БОРТОВЫХ ВЫЧИСЛИТЕЛЬНЫХ МАШИН С ОТКРЫТОЙ

СИСТЕМОЙ КОМАНД Специальность 05.13.11 — «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей»

Автореферат

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

Москва 2006

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

КОРНЕЕНКОВА Анна Викторовна

РАЗРАБОТКА МЕТОДА И СРЕДСТВ ПРОГРАММНОЙ ЭМУЛЯЦИИ СЕМЕЙСТВА БОРТОВЫХ ВЫЧИСЛИТЕЛЬНЫХ МАШИН С ОТКРЫТОЙ

СИСТЕМОЙ КОМАНД Специальность 05.13.11 — «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей»

Автореферат

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

Москва-2006

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

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

заслуженный деятель науки РФ, доктор технических наук, профессор О.М. Брехов.

Официальные оппоненты:

доктор физико-математических наук, профессор A.C. Марков, кандидат технических наук, доцент Ю.Г. Зайко.

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

Институт проблем управления РАН

Защита состоится 7 ноября 2006 г. в 14 час. 00 мин. на заседании диссертационного совета Д 212.125.01 при Московском авиационном институте (государственном техническом университете) по адресу: 125993, г. Москва, А-80, ГСП-3, Волоколамское шоссе, д. 4.

Отзыв на автореферат в одном экземпляре, заверенный печатью, просим высылать по адресу: 125993, г.Москва, А-80, ГСП-3, Волоколамское шоссе, д.4, Ученый Совет, ученому секретарю диссертационного совета Д 212.125.01.

Автореферат разослан «£^>> C£¿c5~uejfa 2006 г.

Ученый секретарь диссертационного совета, кандидат технических наук, доцент

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность темы

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

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

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

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

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

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

В качестве заменяемого вычислительного модуля в работе рассматривается

ч

семейство БЦВМ с открытой системой команд (БЦВМ ОСК). Системы команд указанного семейства БЦВМ определяется базовым набором операторов, который может быть изменен введением на микропрограммном уровне нового оператора, что является особенностью открытой системы команд. Поэтому система эмуляции должна быть ориентирована на эмуляцию не только базовой системы команд, но и на эмуляцию с учетом появления нового оператора.

Таким образом, необходимость создания метода и средств эмуляции семейства БЦВМ ОСК определяет актуальность решаемых в диссертационной работе задач.

Цель диссертационной работы состоит в исследовании и разработке метода, методики и языковых описаний для программной эмуляции семейства БЦВМ ОСК, а также в практической реализации программного комплекса эмуляции семейства БЦВМ ОСК на основе разработанной методики.

Задачи диссертационной работы. Для достижения поставленной цели решаются следующие основные задачи:

1. Анализ и определение системы программной эмуляции семейства БЦВМ ОСК;

2. Разработка метода трансляции на промежуточный язык с учетом эмуляции систем ввода-вывода, диспетчеризации и аппарата синхронизации;

3. Разработка методики программной эмуляции семейства БЦВМ ОСК;

4. Разработка модели оценки времени транслирования программного обеспечения семейства БЦВМ ОСК;

5. Разработка и реализация языка описания ОСК;

6. Разработка и реализация программного комплекса эмуляции семейства БЦВМ ОСК. Методы исследования.

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

Научные результаты и их новизна. В диссертационной работе получены и обоснованы следующие научные результаты:

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

2. Разработана методика организации программной эмуляции семейства БЦВМ ОСК.

3. Разработана модель оценки времени транслирования программного обеспечения семейства БЦВМ ОСК.

4. Разработан язык описания операторов ОСК.

Практическая значимость результатов работы. В диссертационной работе получены следующие практические результаты:

1) разработанный язык описания операторов обеспечивает компактное функциональное представление операторов ОСК, в том числе и нового оператора;

2) спроектирован и реализован программный комплекс, позволяющий осуществлять эффективную эмуляцию программного обеспечения семейства БЦВМ ОСК;

3) разработанная модель оценки времени трансляции, метод трансляции на промежуточный язык, язык описания операторов и программный комплекс эмуляции могут быть использованы для изучения системы команд семейства БЦВМ ОСК.

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

1. Метод трансляции на промежуточный язык программного обеспечения семейства БЦВМ ОСК с учетом эмуляции систем ввода-вывода, диспетчеризации и аппарата синхронизации;

2. Методика программной эмуляции семейства БЦВМ ОСК;

3. Модель оценки времени транслирования программного обеспечения семейства БЦВМ ОСК;

4. Язык описания операторов ОСК, позволяющий компактно описывать их структуру и функции поведения.

Внедрение результатов работы

Основные практические и теоретические результаты диссертационной работы, а именно: программный комплекс эмуляции семейства БЦВМ ОСК, реализованный на основе разработанной методики и средств эмуляции, внедрены на предприятии ОАО НИИ Приборостроения им. В.В.Тихомирова при реализации системы «1И-101» на базе БЦВМ с языком программирования С++, что подтверждается соответствующим актом. Апробация работы

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

1. научно-технической конференции «Научная сессия МИФИ-2002» (Москва, 2002);

2. на научных семинарах каф. 304 "Вычислительные машины и системы", МАИ (Москва, 2002-2006).

Публикации

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

Структура диссертации

Диссертационная работа состоит из 4 глав, введения и заключения. Общий объем работы - 155 страниц, в том числе 38 рисунков и 24 таблицы. Список литературы включает 91 наименование.

СОДЕРЖАНИЕ РАБОТЫ

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

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

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

Использование промежуточного кода совместно с трансляторами обеспечивает переносимость программ и независимость транслятора от архитектуры инструментальной ЭВМ.

При использовании в качестве промежуточного языка традиционных индустриальных языков, например, языка высокого уровня (ЯВУ) С++, в качестве компилятора для целевой БЦВМ, может быть использован стандартный компилятор, например, компилятор ЯВУ С++, с добавлением дополнительных библиотек для обеспечения совместимости с целевой БЦВМ. Такой подход значительно упрощает организацию системы программной эмуляции, которая сводится к вопросам трансляции на промежуточный индустриальный язык, что и рассматривается в работе.

Определена постановка задач, решаемых в диссертационной работе.

Рис. 1. Система программной эмуляции транслирующе-компилирующего типа

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

Формирование адресной трассы может быть выполнено с помощью следующих способов:

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

УП (БП) промежуточного языка

следующего оператора

Рис. 2. Формирования адресной трассы при последовательном анализе памяти

УП (БП) ОСК К

замена]]

/

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

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

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

а) б)

Рис. 3. Формирования адресной трассы по функциональным задачам

При использовании данного способа может произойти ситуация игнорирования оператора безусловного перехода в случае, если оператор не обрабатывался (рис. З.а), и ситуация дополнительного использования команды безусловного перехода промежуточного языка, когда следующий оператор уже был обработан (рис З.б). При трансляции операторов условного перехода используется стековый механизм для хранения базовых адресов и адресов переходов. Адрес следующего транслируемого оператора в случае трансляции линейных операторов будет определяться так же, как и в первом способе, а в случае нелинейных операторов какЛ,+/= М, где: А,+, - адрес следующего транслируемого оператора; М - метка или адрес перехода, задаваемый в текущем операторе с помощью непосредственной или базовой адресации.

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

Предложены и описаны способы распознавания оператора ОСК:

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

2) способ распознавания оператора по его функциональному представлению, основанный на замене оператора его функциональным представлением на языке описания операторов и дальнейшем переводе на промежуточный язык. Появляется возможность конструировать новый оператор на специализированном языке описания. Использование данного способа дает возможность автоматической трансляции ПО при наличии нового оператора. При этом исполнительный модуль транслятора остается постоянным и не зависит от изменения ОСК, что является достоинством системы. Недостатком способа является большее время работы транслятора. Пренебрегая временем работы транслятора для организации трансляции на промежуточный язык предлагается использовать способ распознавания оператора по его функциональному представлению, как эффективного способа, позволяющего осуществлять автоматическую трансляцию при появлении нового оператора.

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

Имеется функциональная задача, состоящая из последовательности и операторов, каждый из которых может быть разбит на некоторые операции. В процессе трансляции на промежуточный язык /'-ая операция заменяется на эквивалентный ей код на промежуточном языке. Функции интерпретации операций транслируемой системы команд могут быть организованы двумя способами:

1) каждой операции ставится в соответствие своя интерпретирующая функция, организованная в виде макроса (М) (рис. 4).

Условные обозначения:

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

где:

кщ - количество простых инструкций, необходимых для реализации

Рис. 4. Организация функций интерпретации сложного оператора в виде макроса

М| - макрос, интерпретирующий операцию ¡-ого типа к| - количество команд,

необходимых для реализации операции ¡-ого типа 0| - обращение к операции ¡-ого типа

г.

и

операции /-го типа в случае использования макроса;

ту — количество обращений к вычислительной операции /-го типа в операторе /-го типа;

И; — количество операторов /-го типа в функциональной задаче; Ь - количество типов операций; И— количество разновидностей типов операторов. 2) с помощью универсальных интерпретирующих функций, через комбинацию которых можно реализовать все операторы ОСК с учетом нового оператора (рис. 5).

Условные обозначения: ПП| - универсальная подпрограмма, интерпретирующая операцию ¡-ого типа к| - количество команд, необходимых для реализации

универсальной функции операции ¡-ого типа В| - вызов унив. подпрограммы, интерпретирующей операцию ¡-ого типа 0| - обращение к операции 1-ого типа Команда возврата из ПП|

Рис. 5. Организация функций интерпретации сложного оператора в набора универсальных функций

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

Ууф = +• тч+1»

i-í i-i ¡•i

где:

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

Для определения км> и куф/ были определены следующие виды простых инструкций, необходимые и достаточные для представления любого вычислительного оператора: бинарная операция, унарная операция, сравнение, возвращение значения и обращение к функции. Исследование способов представления операторов на промежуточном языке было проведено на примере операций типа "сложение", "вычитание", "деление", "умножение" и "блокировка переполнения" с помощью полученных формул в объеме полного функционального обеспечения (рис. 6).

- —♦— Макросы -»— Универсальные функции

>з т

5 «

Количество операций типа "сложение", "вычитание", "умножение", "деление", "блокировка переполнения" в функциональной задаче

Рис. 6. График зависимости количества "инструкций" от количества вычислительных операций

в функциональной задаче

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

Для непосредственной реализации функций интерпретации операций рассмотрена эмуляция дробной арифметики (или чисел с фиксированной запятой перед старшим разрядом), характерная семейству БЦВМ ОСК. По критериям быстродействия и памяти предлагается использовать следующий подход эмуляции, а именно:

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

2) при интерпретации вычислительных операций типа «умножение/деление» использовать числа с плавающей точкой, при этом необходимо выполнение преобразование форматов данных.

Для организации функций интерпретации операторов ввода-вывода необходимо определить схему программной эмуляции системы ввода-вывода. При ограничении входных и выходных линий канала ввода-вывода целевой БЦВМ для осуществления программной эмуляции системы ввода-вывода БЦВМ ОСК рассмотрены следующие схемы:

1) при модульной структуре организации системы ввода-вывода использовать два или более модулей, соединенных посредством коммутатора (см. рис. 7);

2) передавать две и более порции информации по одной и той же линии за один цикл передачи данных, если это позволяет частота работы канала целевой БЦВМ (см. рис. 8).

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

Планирование реального времени БЦВМ ОСК относится к классу статического вытесняющего планирования на основе приоритетов, которые назначаются заданиям на основе их периодов.

Введем понятие общего диспетчера (Д), который запускает частотные пакеты через каждый период Т времени, и диспетчер по готовности (ДГ)> который запускается по запросу внешнего устройства. В работе рассмотрена организация Д, ДГ и частотных пакетов на основе свойств операционной системы целевой БЦВМ, таких как: многозадачность и многопрограммность. Данный подход дает

возможность безболезненного совмещения эмулируемого и разрабатываемого ПО на целевой БЦВМ.

Многозадачность дает возможность использования нескольких способов организации системы диспетчеризации. Возможна организация Д, ДГ и частотных пакетов в виде задач, а также Д, ДГ - в виде задачи, а частотных пакетов - в виде подпрограмм. Второй способ организации предполагает и-кратное создание задачи диспетчера, в зависимости от разновидности частотных пакетов.

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

Рис.7. Программная эмуляция системы ввода-вывода БЦВМ ОСК при модульной структуре системы ввода-вывода целевой БЦВМ

Условные обозначения:

к1 - количество тактов, необходимое для передачи одной порции информации за один цикл;

1 кг • количество тактов между передачами порций информации;

Т - такт ЦП.

"I

Рис. 8. Программная эмуляция системы ввода-вывода на целевой БЦВМ При реализации системы диспетчеризации с использованием многопрограммности Д, ДГ и частотные пакеты должны быть реализованы в виде самостоятельных приложений, работающих с одной и той же областью памяти. Но при таком подходе время переключения контекста задач больше, чем при реализации системы диспетчеризации с использованием многозадачности. Поэтому целесообразнее использовать первый подход.

Целевая БЦВМ должна быть адаптирована под систему реального времени промышленных образцов, которая требует наличия аппарата синхронизации на входе и на выходе при выполнении оператора, группы операторов или пакетов функциональных задач. Аппарат синхронизации может быть организован следующими способами: либо синхронизировать каждый оператор, либо синхронизировать группу операторов, т.е. разбить всю программу на функционально законченные части (подпрограммы, состоящие из нескольких операторов), либо синхронизировать процессы с помощью настраиваемого экрана. Под настройкой экрана понимается следующая процедура: сначала необходимо сделать прогон функционального обеспечения БЦВМ ОСК с целью получения образа временной диаграммы выполнения процессов. Зафиксировав моменты готовности и передачи данных между процессами, можно использовать полученный образ при синхронизации процессов на целевой БЦВМ. Режим ожидания может быть реализован задержкой с помощью программируемого таймера, встроенного в целевую БЦВМ. Наиболее эффективной по критерию

(К1<кг)Т

I

I I

(к.»к=ГТ

(2*М

I , к,*Т . I к/Т «ТТ<--»

(2-к1*кг)Т

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

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

На основе предложенного метода разработана методика программной эмуляции семейства БЦВМ ОСК, которая заключается в следующем:

1) Определение промежуточного индустриального языка.

2) Определение адресной трассы по функциональным задачам.

3) Представление базовой ОСК на языке описания операторов.

4) Определение схемы программной эмуляции системы ввода-вывода и диспетчеризации, а также аппарата синхронизации.

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

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

7) Компиляция полученного ПО на промежуточном языке под целевую БЦВМ. Разработана модель оценки времени транслирования программного

обеспечения семейства БЦВМ ОСК с учетом появления нового оператора.

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

где: Тиов - время обработки транслятором нового оператора; т - количество транслируемых операторов; п - количество операторов транслируемой системы команд; Т> - время обработки транслятором г- ого оператора; ш, - количество появлений /'-го оператора в функциональной задаче.

Введем следующие характеристики:

рИОв - вероятность того, что новый оператор представлен любыми операторами эмулируемой системы команд в количестве г,

Тнов' - время обработки нового оператора, представленного любыми операторами эмулируемой системы команд в количестве г; г=(1^п).

Тогда:

п

Тщя = -Т' Юв

л|

(>»-1)! 1 л IV- 1_и1_1У"'Ук"-4)| ут т *_(*-1)1-(и-*)1 яЧ п) лЧ »] к '

нов ~ ^ '

где 2¿к ¿п.

Зная время обработки транслятором /-ого оператора, и количество операторов транслируемой системы команд, можно оценить среднее время трансляции с учетом появления нового оператора.

В третьей главе с целью учета появления в процессе трансляции нового оператора в ОСК для описания функционального представления и формата оператора был разработан и реализован язык описания операторов ОСК. Наряду с принятыми требованиями исходя из архитектуры семейства БЦВМ ОСК и структуры самих операторов определены основные требования к разработанному языку описания операторов ОСК, который должен обеспечить:

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

2) обращение к нескольким видам памяти (логической, оперативной, постоянной, буферной и регистровой).

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

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

с

^-эквивалентность (~) - отношение эквивалентности на множестве функций, определяемое следующими правилами:

1) терминальные элементы (константы и переменные) эквивалентны, если они совпадают,

2) функции j\(х\,...,х'„) и /¡(х!где х'.-.х', и х',,...,х' - входные параметры функций /, и /, соответственно, эквивалентны, если fl и /, совпадают.

Данное отношение определяет тождественно равные функции и используется при сопоставлении с образцом.

Сопоставление (:) записывается следующим образом:

£.-/,<=> В подстановка Б переменных в Ь, такая, что Е~Ь.

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

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

В диссертационной работе было произведено моделирование языка описания операторов ОСК средствами ЯВУ С++. Разработаны структура и синтаксис языка, задан алфавит, словарь языка и объекты, используемые в языке, определена грамматика языка. Представлены операторы языка, средства обращения к памяти, описано представление данных и формальные параметры операторов. Реализована организация арифметических, логических операций, комментариев и обращения к функциям. Приведено доказательство полноты средств языка.

В четвертой главе представлен разработанный программный комплекс эмуляции семейства БЦВМ ОСК. В данной главе приводятся результаты проводившейся в течение нескольких лет работы по практической реализации программного комплекса эмуляции семейства БЦВМ ОСК на основе предложенной методики программной эмуляции, а также языка описания операторов. Дана структура программного комплекса, функционирующего под управлением операционных систем Windows 2000/ХР на платформе Intel Pentium, описан процесс и алгоритм программной эмуляции на промежуточный язык ЯВУ С++. Представлено функциональное описание компонентов комплекса.

Программный комплекс является объектно-ориентрованным приложением, для реализации которого использовались средства быстрой разработки приложений Borland С++ 5.2 и Borland С++ Builder 6.0. Объем приложения составляет приблизительно 15 тысяч строк кода.

Также получена оценка работы программного эмулятора по критерию быстродействия и точности вычислений на примере эмуляции функционального программного обеспечения БЦВМ ОСК Ц100-03 под платформу БЦВМ Багет-54.

Абсолютная погрешность оценки времени обработки программным эмулятором операторов с учетом появления нового оператора на примере программной эмуляции БЦВМ Ц100-03 составляет 0,02 мс. Относительная погрешность оценок, полученных при использовании разработанной модели и экспериментальным способом, находится в пределах 1%.

В работе получен результат оценки точности вычислений на примере конкретных функциональных задач БЦВМ Ц100-03, который подтвердил

правильность работы оттранслированных на ЯВУ С++ операторов.

В приложении 1 приведен листинг основных компонентов транслятора.

Приложение 2 содержит диаграммы переходов для организации процесса трансляции на промежуточный язык С++.

В приложении 3 представлены токены стандартных синтаксических конструкций исходного языка и их атрибуты.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ

В диссертационной работе исследовалась и решалась проблема построения метода, методики и языковых описаний для эмуляции семейства БЦВМ ОСК, а также проблема их практической реализации.

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

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

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

3. Разработана методика программной эмуляции семейства БЦВМ ОСК.

4. Разработана модель оценки времени транслирования программного обеспечения семейства БЦВМ ОСК, на основе которой получена оценка времени транслирования некоторых функциональных задач. Относительная погрешность оценок, полученных при использовании разработанной модели и экспериментальным способом находится в пределах 1%.

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

6. Спроектирован и реализован программный комплекс эмуляции семейства БЦВМ ОСК.

ПУБЛИКАЦИИ

1. Брехов О.М., Корнеенкова A.B. Разработка модели аппаратно-программного эмулятора бортовой машины // Научная сессия МИФИ-2002, материалы 5-й Московской международной телекоммуникационной конференции студентов и молодых ученых, Москва, МИФИ, 2002 г., стр.154-155.

2. Брехов О.М., Корнеенкова A.B. Разработка аппаратно-программного эмулятора бортовой машины // Теоретические и прикладные вопросы современных информационных технологий, материалы III Всероссийской научно-технической конференции ТиПВСИТ'2002, ВСГТУ, г. Улан-Удэ, 2002 г., стр. 158-163.

3. Корнеенкова A.B. Разработка подходов при интерпретации системы команд переменной длины // Современные технологии в задачах управления, автоматики и обработки информации, материалы международного научно-технического семинара, г. Алушта, 2002 г., стр. 366-367.

4. Корнеенкова A.B. Интерпретаторы в системах управления // Информационные средства и технологии, материалы международной конференции, М.: Станкин, 2004 г., стр. 154-157.

5. Корнеенкова A.B. Оценка времени трансляции программного обеспечения бортовых вычислительных машин с изменяемой системой команд // Проблемы передачи и обработки информации в сетях и системах телекоммуникаций, материалы 13-ой Международной научно-технической конференции, Рязанская государственная радиотехническая академия, Рязань, 2004 г., стр. 118-119.

6. Брехов О.М., Корнеенкова A.B. Особенности программной эмуляции семейства бортовых вычислительных машин с открытой системой команд // Электронный журнал «Труды МАИ», № 25,2006 г.

7. Отчет по НИР «Интерпретатор»: «Разработка концепции примейения БЦВМ-486 для разработки аппаратно-программного эмулятора БЦВМ Ц-100» -М.:МАИ, Инв. № 02.2.006 04844, Per. № 01.2.006 07673, 2001.

8. Отчет по Этапу 1 НИР «Разработка аппаратно-программного эмулятора БЦВМ Ц100-03»: «Разработка концепции по согласованию протоколов обмена информацией между АПЭ БЦВМ Ц-100-03 и внешними абонентами БЦВМ-486» - М.:МАИ, Инв. № 02.2.006 04842, Per. № 01.2.006 07672, 2002.

9. Отчет по Этапу 2 НИР «Разработка аппаратно-программного эмулятора БЦВМ Ц100-03»: «Разработка программного обеспечения АПЭ БЦВМ Ц-100-03 для интерпретации и отладки операторов пользователя и операторов ядра, обеспечивающих вычислительный процесс» - М.:МАИ, Инв. № 02.2.006 04841, Per. № 01.2.006 07672, 2002.

10. Отчет по Этапу 3 НИР «Разработка аппаратно-программного эмулятора БЦВМ Ц100-03»: «Разработка программного обеспечения АПЭ БЦВМ Ц-100-02 для интерпретации и отладки операторов пользователя и операторов ядра, обеспечивающих вычислительный процесс» - М.:МАИ, Инв. № 02.2.006 04843, Per. № 01.2.006 07672, 2003.

11. Отчет по Этапу 1 НИР «Разработка аппаратно-программного эмулятора БЦВМ Ц-100-03 для реализации системы «Ш-101» на базе БЦВМ с языком программирования С++»: «Разработка программного обеспечения АПЭ БЦВМ Ц-100-03 в части интерпретации операторов пользователя и операторов ядра, обеспечивающих вычислительный процесс, под RISC архитектуру БЦВМ БАГЕТ-54» - М.:МАИ, Инв. № 02.2.006 04846, Per. № 01.2.006 07674,2004.

12. Отчет по Этапу 2 НИР «Разработка аппаратно-программного эмулятора БЦВМ Ц-100-02 для реализации системы «Ш-101» на базе БЦВМ с языком программирования С++»: «Разработка ПО АПЭ БЦВМ Ц-100-03 в части

интерпретации операторов операционной системы под RISC архитектуру БЦВМ БАГЕТ-54» - М.:МАИ, Инв. № 02.2.006 04845, Per. № 01.2.006 07674,2004.

13. Отчет fro Этапу 3 НИР «Разработка аппаратно-программного эмулятора БЦВМ Ц-100-02 для реализации системы «Ш-101» на базе БЦВМ с языком программирования С++»: «Разработка ПО АПЭ БЦВМ Ц-100-03 в части интерпретации операторов, обеспечивающих ввод-вывод информации, под RISC архитектуру БЦВМ БАГЕТ-54» - М.:МАИ, Инв. № 02.2.006 04849, Per. № 01.2.006 07674,2005.

14. Отчет по Этапу 4 НИР «Разработка аппаратно-программного эмулятора БЦВМ Ц-100-02 для реализации системы «Ш-101» на базе БЦВМ с языком программирования С++»: «Разработка ПО АПЭ БЦВМ Ц-100-03 в части эмуляции системы прерывания БЦВМ Ц-100-03 под RISC архитектуру БЦВМ БАГЕТ-54» - М.:МАИ, Инв. № 02.2.006 04847, Per. № 01.2.006 07674, 2005.

15. Отчет по Этапу 5 НИР «Разработка аппаратно-программного эмулятора БЦВМ Ц-100-02 для реализации системы «Ш-101» на базе БЦВМ с языком программирования С++»: «Тестирование и отладка разработанного ПО АПЭ БЦВМ Ц100-03 с помощью Отладчика на стенде» - М.:МАИ, Инв. № 02.2.006 04848, Per. № 01.2.006 07674, 2005.

Подписано в печать 19.09.2006 Бум. офсетная, Формат 60x84 1/16. Печать офсетная. Усл. печ. л. 1,39. Тираж 100 Заказ 835 ЗАО «Копи Центр» Павелецкая пл., д.2, стр.1

Оглавление автор диссертации — кандидата технических наук Корнеенкова, Анна Викторовна

Оглавление.

Введение.

ГЛАВА 1. Эмулирование бортовых вычислительных машин с открытой системой команд.

1.1. Структура бортовых вычислительных систем.

1.2. Системы эмуляции бортовых вычислительных машин.

1.3. Обзор систем эмуляции бортовых вычислительных машин.

1.4. Способы организации системы программной эмуляции.

1.4.1. Способ организации системы эмуляции на основе интерпретатора.

1.4.2. Способ организации системы эмуляции на основе компилятора.

1.4.3. Способ организации системы эмуляции транслирующе-компилирующего типа

1.5. Выводы.

1.6. Постановка задач исследования.

ГЛАВА 2. Разработка метода трансляции на промежуточный язык с учетом эмуляции систем ввода-вывода, диспетчеризации и аппарата синхронизации и методики программной эмуляции семейства БЦВМ ОСК.

2.1. Определение возможности программной эмуляции.

2.2. Метод трансляции на промежуточный язык с учетом эмуляции систем ввода-вывода, диспетчеризации и аппарата синхронизации.

2.2.1. Способы формирования адресной трассы.

2.2.1.1. Способ формирования адресной трассы при последовательном анализе памяти операторов.

2.2.1.2. Способ формирования адресной трассы по функциональным задачам.

2.2.2. Способы распознавания операторов ОСК.

2.2.2.1. Способ распознавания оператора по коду операции.

2.2.2.2. Способ распознавания оператора по функциональному представлению.

2.2.3. Способы представления оператора на промежуточном языке.

2.2.4. Особенности трансляции вычислительных операторов ОСК.

2.2.5. Схемы программной эмуляции системы ввода-вывода и аппарата синхронизации.

2.2.6. Схемы программной эмуляции системы диспетчеризации.

2.3. Методика программной эмуляции семейства БЦВМ ОСК.

2.4. Модель оценки времени транслирования программного обеспечения семейства БЦВМ ОСК с учетом появления нового оператора.

2.5. Выводы.

ГЛАВА 3. Разработка средств программной эмуляции семейства БЦВМ ОСК.

3.1. Основные концепции построения языка описания операторов для представления эмулируемой системы команд.

3.1.1. Структура и синтаксис языка.

3.1.2. Алфавит и словарь языка.

3.1.3. Объекты, используемые в языке.

3.1.4. Представление данных.

3.1.5. Операторы языка.

3.1.6. Грамматика языка описания операторов.

3.2. Доказательство полноты средств языка.

3.3. Выводы.

ГЛАВА 4. Программный комплекс эмуляции семейства БЦВМ ОСК.

4.1. Структура программного комплекса.

4.1.1. Конструктор представления системы команд.

4.1.2. Модуль инициализации.

4.1.3. Модуль имитации.

4.1.4. Модуль трансляции.

4.1.5. Модуль визуализации результатов.

4.2. Процесс и алгоритм эмуляции.

4.3. Реализация программного комплекса.

4.4. Оценка эффективности работы программного комплекса.

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

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

4.5. Выводы.

Введение 2006 год, диссертация по информатике, вычислительной технике и управлению, Корнеенкова, Анна Викторовна

Актуальность темы.

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

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

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

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

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

В качестве заменяемого вычислительного модуля в работе рассматривается семейство БЦВМ с открытой системой команд (БЦВМ ОСК). Системы команд указанного семейства БЦВМ определяется базовым набором операторов, который может быть изменен введением на микропрограммном уровне нового оператора, что является особенностью открытой системы команд. Поэтому система эмуляции должна быть ориентирована не только на базовую системы команд, но и учитывать появление нового оператора.

Таким образом, необходимость создания метода и средств эмуляции семейства БЦВМ ОСК определяет актуальность решаемых в диссертационной работе задач.

Цель диссертационной работы состоит в исследовании и разработке метода, методики и языковых описаний для программной эмуляции семейства БЦВМ ОСК, а также в практической реализации программного комплекса эмуляции семейства БЦВМ ОСК на основе разработанной методики.

Задачи диссертационной работы. Для достижения поставленной цели решаются следующие основные задачи:

1. Анализ и определение системы программной эмуляции БЦВМ ОСК;

2. Разработка метода трансляции на промежуточный язык с учетом эмуляции систем ввода-вывода, диспетчеризации и аппарата синхронизации;

3. Разработка методики программной эмуляции;

4. Разработка модели оценки времени транслирования программного обеспечения семейства БЦВМ ОСК;

5. Разработка и реализация языка описания ОСК;

6. Разработка и реализация программного комплекса эмуляции семейства БЦВМ ОСК.

Научные результаты и их новизна. В диссертационной работе получены и обоснованы следующие результаты: б

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

2. Разработана методика организации программной эмуляции семейства БЦВМ ОСК.

3. Разработана модель оценки времени транслирования программного обеспечения семейства БЦВМ ОСК.

4. Разработан язык описания операторов.

Практическая значимость результатов работы. В диссертационной работе получены следующие практические результаты:

1) разработанный язык описания операторов обеспечивает компактное функциональное представление операторов ОСК, в том числе и нового оператора;

2) спроектирован и реализован программный комплекс, позволяющий осуществлять эффективную эмуляцию программного обеспечения семейства БЦВМ ОСК;

3) разработанная модель оценки времени трансляции, метод трансляции на промежуточный язык, язык описания операторов и программный комплекс эмуляции могут быть использованы для изучения системы команд семейства БЦВМ ОСК.

Основные положения, выносимые на защиту.

1. Метод трансляции на промежуточный язык программного обеспечения семейства БЦВМ ОСК с учетом эмуляции систем ввода-вывода, диспетчеризации и аппарата синхронизации;

2. Методика программной эмуляции семейства БЦВМ ОСК;

3. Модель оценки времени транслирования программного обеспечения семейства БЦВМ ОСК;

4. Язык описания операторов, позволяющий компактно описывать их структуру и функции поведения.

Внедрение результатов работ.

Основные практические и теоретические результаты диссертационной работы, а именно: программный комплекс эмуляции семейства БЦВМ ОСК, реализованный на основе разработанной методики и средств эмуляции, внедрены на предприятии ОАО НИИ Приборостроения им. В.В.Тихомирова при реализации системы «Ш-101» на базе БЦВМ с языком программирования С++, что подтверждается соответствующим актом.

Апробация работы.

Результаты диссертационной работы докладывались и обсуждались на научно-технических конференциях:

1. научно-технической конференции «Научная сессия МИФИ-2002» (Москва,

2002);

2. на научных семинарах каф. 304 "Вычислительные машины и системы",

МАИ (Москва, 2002-2006).

Публикации.

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

Структура диссертационной работы.

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

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

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

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

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

Разработана методика программной эмуляции семейства БЦВМ ОСК.

Предложена модель оценки времени транслирования программного обеспечения семейства БЦВМ ОСК с учетом появления нового оператора.

В третьей главе показана актуальность разработки языка описания операторов ОСК. На основе архитектур семейства БЦВМ ОСК, а также функций поведения операторов определены требования, предъявляемые к разрабатываемому языку описания операторов. Разработаны структура и синтаксис языка, алфавит и словарь языка, объекты, используемые в языке. Представлены операторы языка, средства обращения к памяти, описано представление данных и формальные параметры операторов. Реализована организация арифметических, логических операций, комментариев и обращения к функциям. Приведено доказательство полноты средств языка.

В четвертой главе представлен разработанный программный комплекс эмуляции семейства БЦВМ ОСК. Дана структура программного комплекса, описан процесс и алгоритм программной эмуляции на промежуточный язык высокого уровня С++. Приведена реализация компонентов программного комплекса.

Получена оценка времени трансляции программного обеспечения БЦВМ ОСК и точности вычислений на примере программной эмуляции функциональных задач программного обеспечения БЦВМ ОСК типа БЦВМ Ц100-02 и Ц100-03 под целевую БЦВМ Багет-54. ю

Заключение диссертация на тему "Разработка метода и средств программной эмуляции семейства бортовых вычислительных машин с открытой системой команд"

4.5 Выводы

В четвертой главе приведены основные результаты разработки программного комплекса эмуляции семейства БЦВМ ОСК.

1. На основе разработанной методики программной эмуляции семейства БЦВМ ОСК разработан и реализован программный комплекс эмуляции, производящий эффективную эмуляцию семейства БЦВМ ОСК с учетом появления нового оператора. Спроектирована структура программного комплекса и отдельные его компоненты.

2. На основе предложенной модели оценки времени трансляции получена относительная погрешность вычислений времени трансляции ПО БЦВМ Ц100-03 с учетом появления нового оператора, которая составила 1%.

3. Оценка эффективности интерпретации вычислительных операций по критерию точности вычислений показал, что относительные погрешности вычислений выходных параметров функциональной задачи БЦВМ Ц100-03 находятся в среднем в пределах от 0% до 3,6%, которые являются допустимыми.

Заключение

В диссертационной работе исследовалась и решалась проблема построения метода, методики и языковых описаний для эмуляции семейства БЦВМ ОСК, а также проблема их практической реализации.

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

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

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

3. Разработана методика программной эмуляции семейства БЦВМ ОСК.

4. Разработана модель оценки времени транслирования программного обеспечения семейства БЦВМ ОСК, на основе которой получена оценка времени транслирования некоторых функциональных задач. Относительная погрешность оценок, полученных при использовании разработанной модели и экспериментальным способом находится в пределах 1%.

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

6. Спроектирован и реализован программный комплекс эмуляции семейства БЦВМ ОСК.

Основные практические и теоретические результаты диссертационной работы, а именно: программный комплекс эмуляции семейства БЦВМ ОСК, реализованный на основе разработанной методики и средств эмуляции, внедрены на предприятии ОАО НИИ Приборостроения им. В.В.Тихомирова при реализации системы «Ш-101» на базе БЦВМ с языком программирования С++, что подтверждается соответствующим актом.

Библиография Корнеенкова, Анна Викторовна, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

1. Алан Джок. Компиляторы, интерпретаторы и байт-код, "Открытые системы", #06, 2001, //Издательство "Открытые системы", http://www.osp.ru/cw/2001/06/0290.htm

2. Автоматизация проектирования вычислительных систем. Языки, моделирование и базы данных. / Под ред. М. Брей ера. М.: Мир, 1979, - 464 е.: ил.

3. Альфред Ахо, Равви Сети, Джеффри Ульман. Компиляторы: принципы, технологии и инструменты. : Пер. с англ. М.: Издательский дом «Вильяме», 2001. - 768 с.:ил. - Парал. тит. англ.

4. Альянах И.Н. Моделирование вычислительных систем.- JL: Машиностроение, 1988.-223 с.

5. Армстронг Дж. Р. Моделирование цифровых систем на языке VHDL: Пер. с англ. -М.:Мир, 1992.-175 е.: ил.

6. Афанасьев А.Н. Формальные языки и грамматики: Учебное пособие. -Ульяновск:УлГТУ, 1997,- 84 с.

7. Баскаков А.Г. О бинарных отношениях и фактор-множествах, Соросовский образовательный журнал, № 6, стр. 112-115, 1998

8. Бортовые цифровые вычислительные машины семейства БЦВМ-386/486. Руководство программиста КМИВ.00235-01 33 01, Раменское, 2000 г.

9. Бржезовский А.В., Фильчаков В.В. Концептуальный анализ вычислительных систем. СПб.: ЛИАП, 1991. - 78 с.

10. Бродин В., Калинин А., Хохлов JL. Внутрисхемный симулятор для микроконтроллеров PIC16/17. // Chip News № 3, 1999. с. 18-22.

11. Бродин В., Калинин А., Мальцев В. Комплекс средств программирования и отладки для микроконтроллеров AYR. // Chip News № 5, 1999. с. 18-19.

12. Бродин В., Калинин А. Схемные эмуляторы на универсальной платформе. // Chip News№5, 1998.-е. 24-31

13. Бродин В., Калинин А. Эмуляторы 8-разрядных ОЭВМ к IBM PC. Библиотека информационных технологий: Сб. статей. Вып. 3. - М.: ИнфоАрт, 1991.-е. 222229.

14. Буданов Н.В. Средства разработки и отладки программногообеспечения промышленных контроллеров на базе 8/16- разрядных микропроцессоров фирмы Motorola// Chip News № 5, 1999. с. 32-35.

15. Вархол П. Современный подход к разработке ПО встраиваемых систем // Мир компьютерной автоматизации № 4, 1998. с. 41-45.

16. Вирт Н. Аппаратная компиляция // Открытые системы № 4-5 1998г., ее. 7-12

17. Волкова И.А., Руденко Т.В. Формальные языки и грамматики. Элементы теории трансляции. М.: Диалог-МГУ, 1999. - 62 с.

18. Глушков В.М., Капитонова Ю.В., Летичевский А.А. Автоматизация проектирования вычислительных машин. К.: Наукова думка, 1975.-232с.19. ГОСТ 26765.51-8620. ГОСТ 18977-7921. ГОСТ 18977-7922. ГОСТ 18145-81

19. Гордеев А.В., Молчанов А.Ю. Системное программное обеспечение, СПб.: Питер, 2001. - 736 е.: ил.

20. Грис Д. Конструирование компиляторов для цифровых вычислительных машин. -М.: МИР, 1979.-544 с.

21. Дао Л. Программирование микропроцессора 8088: Пер. с англ. М.: Мир, 1998. -357 е.: ил.

22. Дейкстра Е. Взаимодействующие последовательные процессы // Языки программирования (под ред. Ф.Женюи). -М.: Мир, 1972

23. Домнин С.Б., Е.А. Иванов, Муренко Л.Л. Средства комплексной отладки микропроцессорных устройств. -М.: Энергоатомиздат, 1988, 144 е.: ил.

24. Долинский Н. Инструментальный комплекс для разработки встроенных систем //Инженерная микроэлектроника. №1, 1998 г. ее 53-57

25. Дробинцев Д.Ф., Котляров В.П., Самочадин А.В. Программное обеспечение систем на микропроцессорах и микро-ЭВМ. Учебное пособие / Под. ред. Н.Д. Бутомо. Л.: Изд. ЛПИ, 1983,- 72 с.

26. Жаков В.И., Коровинский В.В., Фильчаков В.В. Синтаксический анализ и генерация кода. СПб.: ГААП, 1993э - 26 с.

27. Жданов А.А. Современный взгляд на ОС реального времени. // Мир компьютерной автоматизации № 1, 1999. с. 54-60.

28. Ж.-JI.JIopbep. Системы искусственного интеллекта / Пер. с франц. В.Л.Стефанюка. -М.: Мир, 1991 -568 е.: ил.

29. Иванников А.Д. Моделирование микропроцессорных систем. — М.: Энергоатомиздат, 1990. 144 с,: ил.

30. Изделие БЦВМ "Багет-54" Инструкция по применению и программированию ВИАМ.466226.001И21, М.: 2003.

31. Имитационная среда моделирования персональной вычислительной техники ЕХАМ-РС / Петрухин Б.С., Седунов В.М., Степченков В.М., Шашков Л.Е. // Автоматика и вычислительная техника. №4, 1994 г. ее 65-73

32. Ицыксон В.М. Эмуляция работы вычислительных систем с помощью специализированного языка описания устройств/УТруды СПбГТУ № 469, Санкт-Петербург, 1997г. с. 139-142.

33. Кейлингерт П. Элементы операционных систем. Введение для пользователей / Пер. с англ. Б.Л.Лисса и С.П.Тресковой. М.: Мир, 1985 - 295 с.

34. Киндлер Е. Языки моделирования: Пер. с чеш. М.: Энегроатомиздат, 1985. с. 288.

35. Компаниец Р.И., Маньков Е.В., Филатов Н.Е. Системное программирование. Основы построения трансляторов / Учебное пособие для высших и средних учебных заведений. МПб.: КОРОНА принт, 2000 - 256 с.

36. Кристиан К. Руководство по программированию на языке Модула-2: Пер. с англ. М.: Мир, 1989. - 463с., ил.

37. Кэпс Ч., Стаффорд P. VAX: Программирование на языке ассемблера и архитектура: Пер. с англ. М.: Радио и связь, 1991. - 416 е.: ил.

38. Лебедев В.Н. Введение в системы программирования. М.: Статистика, 1975. -312 с.:ил.

39. Лекарев М.Ф., Мелехин В.Ф. Автоматизированное проектирование структур цифровых устройств. Учебное пособие, Л.: ЛПИ, 1984. 76 с.

40. Лин В. Архитектура ЭВМ и программирование на языке ассемблера. Пер. с англ. М.: Радио и связь, 1989. 316 е.: ил.

41. Малые ЭВМ высокой производительности. Архитектура и программирование./Г.П. Васильев, Г.А. Егоров, B.C. Зонис и др.; Под ред. Н.Л. Прохорова. М.: Радио и связь, 1990. - 256 е.: ил.

42. Манита А.Д. Терия вероятностей и математическая статистика. М.: УНЦ ДО Московского университета, 2001.

43. Марков С. Цифровые сигнальные процессоры. Книга 1. М.: фирма МИКРОАРТ, 1996.-144 с. Ил.

44. Методология проектирования на системном уровне. Ф. Дж. Реммиг // VHDL для I, синтеза и формальной верификации аппаратуры. Пер. с англ. М.: и связь, 1995.ee. 281-303

45. Миков А.И. Моделирование вычислительных систем. Учебное пособие по спецкурсу. Пермь: Изд-во Перм. ун-та, 1982. - 96 с.

46. Описание языка операторов БЦВМ Ц-100 ОЯ.08000-01 35 01, М.: 1981.

47. Оре. О. Теория графов. М.: Наука, 1968. 352 с.

48. Орловский Г.В. Введение в архитектуру микропроцессора 80386. СПб.: Сеанс-Пресс LTD, 1992.-240 с.

49. Паппас К., Марри У. Микропроцессор 80386: Пер. с англ.- М.: Радио и связью 1993.-320 е.: ил.

50. Полетаева И.А. Методы трансляции: Конспект лекций. Новосибирск: Изд-во НГТУ, 1998 - 4.2. - 51 с.

51. Последовательное проектирование применение программного метода высокоуровневого проектирования аппаратуры с помощью VHDL. А. Холь //VHDL для моделирования, синтеза и формальной верификации аппаратуры. Пер. с англ. М.: Радио и связь, 1995, ее. 305-321

52. Пратт Т., Зелковиц М. Языки программирования: разработка и реализация / Под общей ред. А.Матросова. СПб.: Питер, 2002. - 688 е.: ил.

53. Программные средства моделирования непрерывно-дискретных систем./В.М. Глушков, В.В. Гусев, Т.П. Марьянович, М.А. Сахшок; Под. ред. В.М. Глушкова, -Киев: Наукова думка, 1975,- 152 с.

54. Птицына Л.К., Цыган В.Н. Программное обеспечение ЭВМ: Учеб. пособие. Л.: ЛГТУ, 1991.92с.59. РТМ 1495-75

55. Руководство по технической эксплуатации БЦВМ Ц-100 ОЯ1.700.048 03 РЭ, М.: 1983 г.

56. Руководство по применению и программированию БЦВМ-386-6, утвержд. Зам. Главного конструктора К.В. Шелепень, Раменское, 1997 г.

57. Руководство программиста БЦВМ Ц-100 ОЯ.08000-01 33 01, М.: 1981 г.

58. Средства автоматизации программирования микропроцессорных устройств / А.М.Белов, Е.А.Иванов, Л.ЛМуренко; под ред. В.Г.Домарачева. М.: Энергоатомиздат, 1988. - 120 е.: ил.

59. СингерМ. Мини-ЭВМ PDP-11: Программирование на языке ассемблера и организация машины: Пер. с англ. М.: Мир, 1984. — 272 е., ил.

60. Столингс Вильям. Операционные системы, 4-е издание.: Пер. с англ. М.: Издательский дом «Вильяме», 2002. - 848 е.: ил. - Парал. тит. англ.

61. Темпоральная логика действий / Л. Лампорт // Системная информатика. Вып. 3. Программные и вычислительные системы: методы и языки анализа. -Новосибирск: ВО «Наука». Сибирская издательская фирма. 1993.

62. Теория и методы автоматизации проектирования вычислительных систем./Под ред. М. Брейера. М.: Мир, 1977. - 284 е.: ил.

63. Технология системного моделирования / Е.Ф. Аврамчук, А.А. Вавилов, С.В. Емельянов, и др. ; под общей редакцией С.В. Емельянова и др. М.: Машиностроение; Берлин: Техник, 1998 - 520 е.: ил.

64. Тиммерман М., Бенеден Б.В., Урс Л. Расширение реального времени для Windows NT: оценка. // Мир компьютерной автоматизации № 1, 1999. с. 51-68

65. Тормасов А. Виртуализация операционных систем, "Открытые системы", #01, 2002 год // Издательство "Открытые системы", http://www.osp.ru/os/2002/01/027.htm

66. Федорцов А. Универсальный эмулятор микропроцессоров и микроконтроллеров, ChipNews, #1, 2000г, http://chipnews.gaw.ru/html.cgi/arhiv/0001/stat-18.htm

67. Хантер Р. Проектирование и конструирование компиляторов. М.: Мир, 1984. — 212с.

68. Холленд Р. Микропроцессоры и операционные системы: Краткое справочное пособие: Пер. с англ. М.: Энергоатомиздат, 1991. - 192 е.: ил.

69. Черняк JI. Динамическая трансляция для встроенных систем, "Открытые системы", #11, 2001 // Издательство "Открытые системы", http://www.osp.ru/os/2001/11/015 .htm

70. Яковлев Е.И. Машинная имитация. М.: Наука, 1975. 158 е., ил.

71. Erik R. Altaian, Kemal Ebcioglu, Michael Gschwind, Senior Member, Sumedh Sathaye. Advances and Future Challenges in Binary Translation and Optimization, Proceedings of the IEEE, VOL. 89, NO. 11, pp. 1710-1722, November 2001

72. Ertl M. A., Gregg D. Optimizing indirect branch prediction accuracy in virtual machine interpreters // PLDI2003: 278-288.

73. Developments in concurrency and communication / Ed. by C.A.R. Hoare. Adisson-Wesley, 1990.-335 p.

74. Guido Albertengo, Stefano Petroianni. On the Emulation of Geostationary Earth Orbit Satellite Systems // Proceedings of the Seventh International Symposium on Computers and Communications, February 2002

75. ISaGRAF PRO. Interface Reference. AlterSys, Inc. http://www.altersys.com

76. IA-32 Intel® Architecture Optimization. Reference Manual. http://developer.intel.com82. http://www.cs.ucr.edu/~dalton/i8051/. Synthesizeable VHDL Model of 8051

77. Lindholm Т., Yellin F. The Java Virtual Machine Specification, 2nd Edition. Addison-Wesley Publishing Company, Reading, Massachusetts, 1999.

78. MAX+PLUS-II. Programmable Logic Development System. AHDL. 1995

79. OpenPCS 2004 Automation Suite. Infoteam Software GmbH. http://www.infoteam.de

80. Romer Т. H., Lee D., Voelker G. M., Wolman A., Wong W. A., Baer J-L., Bershad B. N., Levy H M.: The Structure and Performance of Interpreters. ASPLOS 1996: 150-159

81. R.F.FIobson, J.D.Iioskin, J.L.Simmons, R.W.Spilsbury. SAM-1: a prototype machine for dynamic, array-oriented programming languages //IEEE Proceedings-E, Vol. 139, No. 4, pp. 335-347, July 1992

82. Siewiorek D., Bell C., Newell A., Computer Structures: Principles and Examples, McGraw-Hill, 1971.

83. VHDL'92. Новые свойства языка описания аппаратуры VHDL: Пер. с англ. / Ж.

84. М. Берже, А. Фокнуа, С. Мажино, Ж. Руайаг, М.: Радио и связь, 1995. - 256 е.:ил.

85. Xilinx-ABEL Design Software Reference Manual, Data I/O Corp., 1993

86. Система автоматизации программирования БЦВМ Ц100-04. Транслятор. Описание языка., М.: 1993 г.