Проект курса «Основы программного моделирования вычислительных систем» в МГУ

Название факультатива: “Основы программного моделирования вычислительных систем”

Семестровый курс в осеннем семестре. Структура: лекции и практические занятия.

Целевая аудитория курса: студенты 1-4 курсов, специализирующиеся в системном и прикладном программном обеспечении. Необходимые для понимания знания: хотя бы один язык программирования высокого уровня (желательно C/C++), понимание принципов работы операционных систем. Желательные, но необязательные знания: хотя бы один язык низкого уровня (ассемблер), понимание принципов организации архитектуры компьютера, умение работать в Unix-подобных ОС.
Краткая аннотация курса

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

Полная аннотация курса

Цель курса — ознакомление слушателей с современными технологиями создания программного обеспечения, используемого для моделирования, тестирования, исследования производительности и свойств вычислительных систем на стадиях раннего проектирования, когда реальные образцы соответствующей аппаратуры ещё недоступны.
Лекционная часть курса посвящена вопросам проектирования, создания и использования программных продуктов для симуляции и виртуализации центральных процессоров, периферийных устройств, полных вычислительных систем и их комплексов.
Практическая часть работы посвящена реализации модели компьютерной платформы, основанной на спецификации OpenRISC 1000. Модель строится на основе API Wind River Simics 4.6 и оформляется как набор модулей и сценариев для данного симулятора.

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

Wind River Simics – программный продукт для программной симуляции, совмещающий в себе возможности прототипирования, моделирования аппаратных вычислительных средств, разработки, отладки и тестирования немодифицированного программного обеспечения ещё до доступности физических образцов аппаратуры. Simics используется в промышленности для ускорения вывода аппаратных и программных продуктов на рынок; в академической среде – для экспериментального исследования перспективных идей в области аппаратного и программного обеспечения, архитектуры ЭВМ, операционных систем, а также для обучения в курсах операционных систем, распределённых и параллельных систем и высокопроизводительных вычислений.
OpenRISC 1000 — дизайн процессора, построенный по философии Open Source как для программного кода, так и для аппаратуры. Важная для лабораторной работы курса черта спецификации OpenRISC 1000 — это опциональность многих частей функциональности, что позволяет ограничиваться только минимально необходимыми для конкретной реализации элементами.

Лекционная часть

  1. Роль симуляции в современном мире IT
  2. Интерпретация. Основная и улучшенные схемы
  3. Моделирование архитектурного состояния
  4. Двоичная трансляция для симуляции
  5. Моделирование полной платформы. Моделирование многопроцессорных систем
  6. Прямое исполнение Современная виртуализация

Темы практических занятий

  1. Установка и запуск Simics. Использование Simics для исследования гостя
  2. Простая модель процессора
  3. Простая модель периферийного устройства
  4. Сборка платформы - языки сценариев Simics и Python

Резервные темы лекций

  1. Потактовая симуляция
  2. Параллельное моделирование многопроцессорных систем
  3. Параллельное моделирование полной платформы
  4. Паравиртуализация
  5. Языки описания моделей

Литература

[1] Речистов Г.С. [и др]. Основы программного моделирования ЭВМ: Учебное пособие. 2-е изд., испр. и доп. 2013. URL

[2] Юлюгин Е.А., Речистов Г.С. Лабораторный практикум по программному моделированию. 2014. URL

[3] Речистов Г.С., Юлюгин Е.А. Презентации курса «Основы программного моделирования ЭВМ». 2015.

[4] Smith J. E., Nair R. Virtual machines – Versatile Platforms for Systems and Processes. — Elsevier, 2005. — ISBN 978-1-55860-910-5


Written by Grigory Rechistov in Uncategorized on 01.08.2015. Tags: msu, simics, simulation,


Copyright © 2019 Grigory Rechistov