Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Исследование и проектирование моделей и программных средств эмуляции вычислительных систем Ицыксон, Владимир Михайлович

Исследование и проектирование моделей и программных средств эмуляции вычислительных систем
<
Исследование и проектирование моделей и программных средств эмуляции вычислительных систем Исследование и проектирование моделей и программных средств эмуляции вычислительных систем Исследование и проектирование моделей и программных средств эмуляции вычислительных систем Исследование и проектирование моделей и программных средств эмуляции вычислительных систем Исследование и проектирование моделей и программных средств эмуляции вычислительных систем Исследование и проектирование моделей и программных средств эмуляции вычислительных систем Исследование и проектирование моделей и программных средств эмуляции вычислительных систем Исследование и проектирование моделей и программных средств эмуляции вычислительных систем Исследование и проектирование моделей и программных средств эмуляции вычислительных систем Исследование и проектирование моделей и программных средств эмуляции вычислительных систем Исследование и проектирование моделей и программных средств эмуляции вычислительных систем Исследование и проектирование моделей и программных средств эмуляции вычислительных систем
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Ицыксон, Владимир Михайлович. Исследование и проектирование моделей и программных средств эмуляции вычислительных систем : диссертация ... кандидата технических наук : 05.13.13.- СПб, 1999

Содержание к диссертации

ВВЕДЕНИЕ

ГЛАВА 1. МОДЕЛИРОВАНИЕ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ И КРОСС-
РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
13

1.1. Иерархия уровней моделирования 13

  1. Кремниевый уровень 15

  2. Схемный уровень 15

  3. Уровень логических элементов 15

  4. Регистровый уровень 16

  5. Уровень интегральных схем 16

  6. Архитектурный уровень 17

  7. Системный уровень 18

1.2. Обзор языков моделирования и описания аппаратуры 21

  1. Система ЛМ 21

  2. Язык AHDL 22

  3. Язык ABEL 24

  4. Система Triad 26

  5. Язык DDL 28

  6. Система МОДИС 29

  7. Язык Verilog HDL ЗО

  8. Системы, основанные на языке VHDL 31

1.3. Классификация систем эмуляции 36

  1. Эмуляторы микропроцессоров 36

  2. Эмуляторы микропроцессорных комплектов 37

  3. Эмуляторы вычислительных систем 37

1.4. Обзор систем эмуляции 38

  1. Кросс-система разработки и отладки ПО КСИ-1 38

  2. Комплексы кросс-средств для однокристальной микро-ЭВМ К1816ВЕ48 и для микропроцессоров серии К1810ВМ86 39

  3. Отладчики-эмуляторы PDS-51, PDS-196 и PDS-PIC 39

  4. Внутрисхемный эмулятор АСЕ-52С 40

  5. Имитационная среда моделирования ЕХАМ-РС 41

  6. Средства разработки и отладки ПО промышленных контроллеров HI-WAVE 41

  7. Набор инструментальных средств SingleStep Solution 42

  8. Система VMWare 43

1.4. Выводы и постановка задач исследования 44

ГЛАВА 2. МОДЕЛЬ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ 46

  1. Компоненты модели вычислительных систем 46

  2. Устройства 48

  1. Интерфейс устройства 50

  2. Ресурсы устройства 51

  3. Поведение устройства 51

2.3. Коммуникации 52

  1. Шины 54

  2. Сигналы 55

  1. Динамика функционирования модели 56

  2. Коммутаторы 59

  3. Итоговая модель вычислительных систем 71

  4. Выводы 73

ГЛАВА 3. ЯЗЫК МОДЕЛИРОВАНИЯ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ DSDL 74

  1. Организация системы моделирования 74

  2. Определение требований, предъявляемых к языку моделирования 77

3.2. Основные концепции построения языка моделирования 82

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

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

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

3.3. Спецификация языка 85

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

  2. Описание устройств 86

3.3.3 Структурирование программ устройств 98

  1. Описание коммутаторов 99

  2. Описание архитектуры 101

  1. Использование внешних встраиваемых модулей для моделирования работы периферийных устройств 103

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

  3. Полнота модели для описания вычислительных систем 117

  4. Сравнение разработанного языка с другими языками моделирования 119

  5. Выводы 122

ГЛАВА 4. ПРИМЕНЕНИЕ РАЗРАБОТАННЫХ МОДЕЛЕЙ ПРИ МОДЕЛИРОВАНИИ
И ПРОЕКТИРОВАНИИ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
124

  1. Моделирование реконфигурируемых вычислительных систем 124

  2. Моделирование вычислительных систем со сбоями и отказами 130

  3. Переход от моделей архитектурного уровня к моделям нижних уровней 131

  4. Выводы 135

ГЛАВА 5. РЕАЛИЗАЦИЯ ЭМУЛЯТОРА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ НА
РАЗЛИЧНЫХ АРХИТЕКТУРАХ
136

  1. Оценивание эффективности эмуляции 136

  2. Реализация эмулятора на однопроцессорной ЭВМ 143

  1. Организация системы эмуляции на основе интерпретатора 144

  2. Организация системы эмуляции на основе компилятора 145

  3. Организация вычислительного процесса для реализации параллельного взаимодействия компонентов ; 146

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

  5. Организация функционирования программ устройств с помощью многопоточности 153

  6. Организация функционирования программ устройств с помощью сопрограмм 154

  1. Реализация эмулятора на многопроцессорной ЭВМ 158

  2. Универсальный программно-аппаратный эмулятор 158

  1. Архитектура универсального программно-аппаратного эмулятора 159

  2. Проецирование архитектуры моделируемой ВС 161

  3. Оценка временных характеристик универсального эмулятора 165

  1. Реализация эмулятора с помощью компьютерной сети 168

  2. Выводы 169

ГЛАВА 6. ПРОГРАММНЫЙ КОМПЛЕКС ЭМУЛЯЦИИ ВЫЧИСЛИТЕЛЬНЫХ
СИСТЕМ
171

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

6.1.1. Графический редактор архитектур 172

  1. Компилятор языка моделирования 173

  2. Подсистема моделирования 174

  3. Метаассемблер 175

  4. Система визуализации 176

  5. Интегрированная среда эмуляции 176

  1. Процесе эмуляции ВС 177

  2. Алгоритм эмуляции ВС 179

  3. Автоматическая генерация структуры программы устройств 182

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

  5. Выводы 186

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

  1. Эмуляция систем на основе микропроцессора DP32 187

  2. Эмуляция однокристальной ЭВМ серии МК51 191

  3. Выводы 193

ЗАКЛЮЧЕНИЕ 194

ПУБЛИКАЦИИ ПО ТЕМЕ ДИССЕРТАЦИИ 196

ЛИТЕРА ТУРА 198

ПРИЛОЖЕНИЕ 1. ГРАММАТИКА ЯЗЫКА DSDL 205

ПРИЛОЖЕНИЕ 2. ШАБЛОН ПРОГРАММЫ, СГЕНЕРИРОВАННЫЙ ПО
СПЕЦИФИКАЦИИ МИКРОПРОЦЕССОРА КР580
215

ПРИЛОЖЕНИЕ 3. СООТВЕТСТВИЕ ЯЗЫКОВЫХ КОНСТРУКЦИЙ DSDL И VHDL219

ПРИЛОЖЕНИЕ 4. ОПИСАНИЕ ВС НА ОСНОВЕ МИКРОПРОЦЕССОРА DP32 226

ПРИЛОЖЕНИЕ 5. ОПИСАНИЕ ВС НА ОСНОВЕ МК51 232

ПРИЛОЖЕНИЕ 6. ДОКУМЕНТЫ, ПОДТВЕРЖДАЮЩИЕ ВНЕДРЕНИЕ

РЕЗУЛЬ ТА ТОВ ДИССЕРТАЦИОННОЙ РАБОТЫ 247

Введение к работе

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

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

Основным способом разработки программного обеспечения в условиях отсутствия функционирующей аппаратуры является использование отладочных программных моделей. С помощью специальных программных средств -эмуляторов, кросс-трансляторов и кросс-отладчиков [6-12, 24, 26, 27, 29, 31, 35,36, 65, 69, 74, 75] - осуществляется имитация выполнения программ целевой вычислительной системы. Такие кросс-средства выпускаются всеми фирмами, производящими микропроцессоры, микроконтроллеры, сигнальные процессоры и транспьютеры. Особенностью этих штатных средств разработки является их жесткая ориентация на конкретный микропроцессор или класс микропроцессоров.

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

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

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

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

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

Предметом исследования диссертации являются модели вычислительных систем (ВС), позволяющие адекватно представлять реально существующие или проектируемые системы с точки зрения возможности выполнения с их помощью

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

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

практической реализации разработанных концепций. г

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

  1. Разработка концепций построения структурно-поведенческих моделей ВС.

  2. Разработка языка моделирования ВС.

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

  4. Построение методов определения эффективности систем эмуляции, реализуемых на различных архитектурах.

  5. Анализ и выбор эффективных способов реализации систем эмуляции.

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

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

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

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

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

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

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

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

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

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

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

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

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

Реализация результатов. Разработанные методы моделирования ВС и программный комплекс эмуляции используются в процессе проектирования аппаратных и программных средств ЦНИИ «МорФизПрибор».

Материалы диссертационной работы используются в учебном процессе кафедры автоматики и вычислительной техники СПбГТУ.

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

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

  2. Язык моделирования вычислительных систем, позволяющий компактно описывать как архитектуру ВС, так и структуру, и поведение ее компонентов.

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

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

  5. Архитектура универсального программно-аппаратного эмулятора, обеспечивающая массовое распараллеливание вычислительного процесса эмуляции.

Публикации. По теме диссертации опубликовано 10 печатных работ.

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

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

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

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

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

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

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

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

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

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

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

Похожие диссертации на Исследование и проектирование моделей и программных средств эмуляции вычислительных систем