- •Лекция №1 Имитационное моделирование
- •Основные и вспомогательные события
- •Обработка событий в представленной системе
- •Работа системного таймера
- •Одновременные события.
- •Получение значений случайных чисел.
- •Равномерное распределение
- •Лекция №2 Создание модели в системе gpss
- •Лекция №3 Листинги, которые появляются в процессе моделирования.
- •Логика работы интерпретатора
- •Модификация параметров при моделировании
- •Различные законы распределения вероятности появления транзактов в модели
- •Лекция № 4 Задание функций.
- •Многоканальные устройства
- •Модель многопроцессорной системы
- •Лекция № 5
- •Параметры транзактов
- •Лекция №6 Выбор элементов по их состояниям
- •Арифметические переменные
- •Формирование случайных чисел, распределенных по нормальному закону
- •Лекция № 7 Сохраняемые величины
- •Initial имя сохраняемой величины, ее значение/имя, значение/...
- •Управление последовательностью событий
- •Лекция № 8 Логический переключатель
- •Блок select в логическом режиме
- •Организация цикла
- •Булевские переменные
- •Блок buffer
- •Лекция № 9
- •Косвенная адресация
- •Лекция № 10 Цепи пользователя
- •Лекция № 11 .
- •Условный вывод транзактов из цепи пользователя
- •Лекция №12
- •Захват устройства
- •Лекция №13
- •Ансамбли транзактов
- •Использование таблиц
- •Лекция №14
- •Сча таблиц.
- •Дополнительные режимы использования таблиц.
- •2) Rt (Rate – интенсивность) – режим.
- •Время моделирования.
- •Некоторые сведения из Теории вероятностей
Обработка событий в представленной системе
При обработке событий существует ряд этапов:
1. определение времени наступления ближайшего события;
2. увеличение таймера модели (счетчика времени) до значения времени ближайшего события;
3. определение типа основного события: 1-ый, 2-ой или 3-ий (завершение моделирования);
4. если 1-ый тип основного события, то выполняются действия, связанные с обработкой этого события и далее осуществляется переход к п.1.
5. если 2-ой тип - то аналогично 1-ому типу (см.п.4);
6. если 3-ий тип, то необходимо выдать результаты моделирования и завершить процесс.
Работа системного таймера
1 .
1 t1
2 .
1 t2 t3
Пусть в первый момент времени произошло событие 1-ого типа и планируется момент следующего появления события 1-ого типа (t1). Процессор планирует время выполнения этой команды (t2). Пусть вся модель моделируется в течение времени t3. В этой ситуации таймер получит значение min(t1,t2,t3). Так как ЦП может находиться в состоянии покоя (например при t1=25,t2=20) ,то для него время моделирования назначается t3+1.
Одновременные события.
Если оба события происходят одновременно, то возникает вопрос - зависит ли результат моделирования от порядка их обработки? Да зависит, так как машина выполняет команды последовательно, хотя сами процессы параллельные. Рассмотрим на примере, как порядок моделирования влияет на статистику.
Пример: Пусть поступление команды из ОП (событие 1-ого типа) происходит одновременно с окончанием обслуживания команды в ЦП(событие 2-ого типа).
1 вариант. Если сначала будет выполняться событие 1-ого типа, то к моменту появления команды из памяти процессор будет занят, и команда поступит в БП. Затем начнется обработка 2-ого события, то есть ЦП обратится к буферу и возьмет из него команду.
2 вариант. Если сначала будет выполняться событие 2-ого типа, то ЦП, закончив обработку очередной команды, будет ждать событие 1-ого типа, после чего процессор приступит к обработке следующей команды.
Этот пример показывает, как искажается статистика при моделировании тракта - в 1 варианте фиксируется пребывание команды в буферной памяти в течение нулевого времени, во 2-ом - ЦП находится нулевое время в состоянии покоя.
Получение значений случайных чисел.
В системе моделирования существует возможность получить значение случайной величины в полуинтервале [0,1), причем появление того или иного числа равновероятно. Для того, чтобы получить такие числа, существуют два подхода: аппаратурный и программный. Аппаратурный - существует соответствующая аппаратура, которая выдает случайное число в зависимости от значений на своих внутренних регистрах.
В GPSS используется программный подход. Рассмотрим получение случайных чисел на примере.
Пр.: берем два целых числа М и К. Пусть М=5167, а К=К0=3729
1) М*К0=19267743 К1=7743 (младшее четырехразрядное десятичное число)
0.2677 - первое случайное число (2-ой и 1-ый разряд четырехразрядного десятичного числа).
2) М*К1=5167*7743=40008081 К2=8081
0.008
и так далее, пока на каком-то шаге р Кр=Кс при р>c, следовательно числа будут повторяться и можно говорить о периоде повторения случайных чисел. Найдем максимальный период из теории умножения целых чисел:
1) Возьмем числа от 0 до 9999. Из них - 5 тыс.чисел - нечетные. Возьмем эти числа.
2) если Кр оканчивается на 5, то Кр+1 тоже окончится на 5 (мы уже убрали четные числа) следовательно максимальный период будет равен 4 тыс.
Случайные числа, описанные выше, называются квазислучайными.