- •Воронежский государственный технический университет
- •Утверждено Редакционно-издательским советом университета в качестве учебного пособия
- •Введение
- •2. Классификация видов моделирования систем
- •3. Основные математические методы моделирования информационных процессов и систем
- •3.1. Виды математических моделей
- •3.2. Структурные математические модели
- •3.3. Функциональные математические модели
- •3.3.1. Непрерывно-детерминированные модели
- •3.3.2. Непрерывно-стохастические модели
- •3.3.2.1. Анализ работы разомкнутых смо
- •3.3.2.2. Замкнутые смо
- •3.4. Моделирование дискретных систем
- •3.4.1. Конечные автоматы
- •3.4.2. Дискретно-детерминированные модели
- •3.4.3. Вероятностные автоматы
- •3.5. Сетевые модели. Сети Петри (n-схемы)
- •4. Имитационное моделирование информационных процессов
- •4.1. Организация статистического моделирования
- •4.2Моделирование случайной величины с заданным законом распределения
- •4.3 Моделирование равномерно распределенных на отрезке [a,b] случайных чисел
- •4.4. Моделирование показательно распределенных св
- •4.5. Моделирование нормально распределенных случайных чисел
- •4.6. Проверка качества случайных чисел по критерию
- •4.7. Точность статистических оценок
- •4.8. Аппроксимация результатов моделирования
- •5. Формализация и алгоритмизация процессов функционирования систем
- •5.1. Методика разработки и машинной реализации моделей систем
- •5.2. Построение концептуальных моделей систем и их формализация
- •5.3. Алгоритмизация моделей систем и их машинная реализация
- •6. Планирование имитационных моделй с экспериментами
- •6.1. Полный факторный эксперимент
- •6.2. Дробные реплики
- •6.3. Общая схема планирования эксперимента
- •6.3.1. "Крутое восхождение"
- •6.3.2. Этапы планирования эксперимента
- •6.4. Стратегическое планирование
- •6.5. Тактическое планирование
- •7. Оценка точности и достоверности результатов моделирования
- •7.1. Общие положения
- •7.2. Регрессионный анализ
- •7.3. Корреляционный анализ
- •7.4. Экспертные оценки
- •8. Инструментальные средства моделирования систем
- •8.1. Архитектура языков имитационного моделирования
- •8.2. Задание времени в машинной модели
- •8.3. Сравнительный анализ языков моделирования
- •8.4. Примеры прикладных пакетов моделирования и языков моделирования
- •9. Правила построения моделирующих алгоритмов и способы реализации моделей
- •10. Сетевые модели вычислительных систем
- •10.1. Определение: Сеть Петри
- •Объекты, образующие сеть Петри
- •2Расширенная входная Расширенная выходная
- •10.2. Маркировка сети Петри.
- •10.3. Пространство состояний сети Петри
- •10.4. Моделирование параллельных процессов.
- •10.5. Моделирование процессора с конвейерной обработкой
- •10.6. Кратные функциональные блоки компьютера
- •10.7. Сети Петри и программирование
- •10.8. Взаимно исключающие параллельные процессы
- •10.9. Анализ сетей Петри
- •10.10. Дерево достижимости сети Петри
- •В позицию может входить и выходить только одна дуга
- •11. Система имитационного моделирования gpss/pc
- •11.1. Назначение и основные возможности системы
- •11. 2. Состав системы моделирования gpss/pc
- •11.3. Структура операторов языка gpss/pc
- •11.4. Команды среды gpss/pc
- •11.5. Основные операторы языка gpss/pc
- •11.5.1. Начало gpss-модели
- •11.5.2. Комментарии в gpss/pc
- •11.5.3. Имитация потоков событий. Транзакты
- •11.5.4. Имитация типовых узлов смо
- •11.6. Информация о ходе моделирования
- •11.6.1. Окно данных
- •11.6.2. Окно блоков
- •11.6.3. Окно устройств
- •11.6.4. Окно многоканальных устройств
- •11.7. Информация о результатах моделирования
- •11.7.1. Файл результатов моделирования
- •11.7.2. Содержание результатов моделирования
- •11.9. Управление движением транзактов
- •11.10. Дополнительные средства сбора информации о модели
- •11.11. Стандартные числовые атрибуты
- •11.12. Выбор направления движения транзактов с использованием сча
- •11.13. Датчики случайных чисел в gpss/pc
- •11.14. Функции в gpss/pc
- •11.14.1. Дискретные функции
- •11.14.2. Непрерывные функции
- •11.15. Переменные в gpss/pc
- •11.16. Организация циклов
- •11.17. Логические переключатели
- •11.18. Управление движением транзактов в зависимости от состояния элементов модели
- •11.19. Моделирование согласованных процессов на gpss-pc
- •11.19.1. Создание ансамблей транзактов
- •11.19.2. Накопление нескольких транзактов для последующей обработки
- •11.19.3. Объединение нескольких транзактов в один
- •11.19.4. Синхронизация движения транзактов в модели
- •11.20. Время пребывания транзакта в модели
- •11.21. Сбор данных о распределении значений характеристик модели. Таблицы
- •11.22. Изменение имени файла результатов моделирования
- •11.23. Приведение модели к исходному состоянию
- •11.24. Многократное выполнение моделирования
- •11.25. Моделирование нескольких вариантов системы в одной gpss-модели
- •11.26. Время моделирования
- •3 94026 Воронеж, Московский просп., 14
10.6. Кратные функциональные блоки компьютера
Для повышения производительности компьютера в состав процессора часто вводятся дополнительные регистры и другие функциональные блоки (блоки сложения и умножения чисел, логические блоки), позволяющие выполнять несколько инструкций программы одновременно. Организация параллельных вычислений на основе кратных функциональных блоков должна быть такой, что бы результат работы по линейной программе и с использованием кратных блоков был бы одинаков.
Пусть в программе требуется последовательно выполнить две операции a и b. Если для выполнения операции b не требуются данные, полученные при выполнении операции a , то операцию b можно выполнить одновременно или раньше операции a.
Управление программами такого типа основано на использовании таблиц резервирования. В такую таблицу заносятся блоки и регистры, необходимые для выполнения данной операции. Если эти блоки свободны, то такую операцию можно выполнять. Процессор резервирует эти блоки и выдает команду на выполнение этой операции. Если хотя бы один необходимый блок занят, то такая операция не выполняется и процессор ждет, когда возникнут условия, необходимые для выполнения этой операции.
Рис. 10.13. Часть сети Петри, моделирующей устройство управления процессора с кратными функциональными блоками
Такая ситуация может быть промоделирована сетью Петри (рис. 10.13). Поставим в соответствие каждому функциональному блоку и регистру свою позицию. Если регистр свободен, то пометим его фишкой. В кратные регистры поместим соответствующее число фишек.
Перед тем, как выдать очередную команду процессор проверяет, что необходимые для ее выполнения регистры свободны (в них находятся фишки). Если это так, то команда начинает выполняться и подается команда к проверке готовности системы к выполнению следующей команды.
Приведенная схема очень проста и показывает только идеологию параллелизма, основанного на введении кратных функциональных блоков. Понятно, что некоторые функциональные блоки могут использовать общие регистры, а содержимое регистров может управлять порядком выполнения машинных команд.
10.7. Сети Петри и программирование
Сеть Петри является удобным аппаратом для представления работы условных операторов компьютерной программы и позволяет проанализировать порядок выполнения операторов в программе. Обычным способом решения этой задачи является составление блок – схем.
Рассмотрим применение сети Петри на конкретном примере. Запишем простейшую программу, содержащую условные операторы (Паскаль)
begin
input (y1);
input (y2);
y3 := 1;
while y1 > 0
do begin
if odd (y1) \нечетность числа
then begin
y3 := y1 + y2;
y1 := y1 – 1;
end;
y2 := y2*y2;
y1 := y1 – 2;
end;
output (y3);
end;
Операторы в этой программе можно разделить на условные операторы, определяющие логику работы программы, и все остальные. На блок – схеме программы принято условный оператор принято обозначать ромбом, а все остальные – прямоугольником. Нарисуем блок – схему, соответствующую этой программе.
Рис. 10.12. Блок – схема компьютерной программы.
Отметим разницу между блок – схемой и сетью Петри. В блок – схеме действия происходят в узлах (прямоугольниках или ромбах), а в сети Петри действия происходят в переходах. Поэтому для перевода блок – схемы программы в сеть Петри необходимо прямоугольники и ромбы заменить переходами, а на соединяющих их дугах поместить позиции. Правила перевода иллюстрируются на рис. 10.13.
Отметим, что переходам, соответствующим условным операторам, предшествует позиция, содержащая два выхода, один из которых соответствует переходу Да, а второй – Нет.
На рис. 10.14.представлена сеть Петри, соответствующая блок – схеме на рис. 10.12. Для запуска сети Петри необходимо поместить фишку во входную позицию и анализировать ее движение по сети.
Сравнивая эти схемы, составленные для простейшей программы, можно утверждать, что сеть Петри не дает каких либо важных преимуществ при анализе управляющей структуры компьютерной программы. Однако ситуация меняется, если необходимо разработать программу, реализующую процесс параллельных вычислений с использованием общего ресурса.
Рис. 10.13. Правила перевода блок – схемы компьютерной программы в сеть Петри.
Рис. 10. 14. Сеть Петри, соответствующая блок – схеме программы, представленной на рис. 10.12