- •Лекция №1 Имитационное моделирование
- •Основные и вспомогательные события
- •Обработка событий в представленной системе
- •Работа системного таймера
- •Одновременные события.
- •Получение значений случайных чисел.
- •Равномерное распределение
- •Лекция №2 Создание модели в системе gpss
- •Лекция №3 Листинги, которые появляются в процессе моделирования.
- •Логика работы интерпретатора
- •Модификация параметров при моделировании
- •Различные законы распределения вероятности появления транзактов в модели
- •Лекция № 4 Задание функций.
- •Многоканальные устройства
- •Модель многопроцессорной системы
- •Лекция № 5
- •Параметры транзактов
- •Лекция №6 Выбор элементов по их состояниям
- •Арифметические переменные
- •Формирование случайных чисел, распределенных по нормальному закону
- •Лекция № 7 Сохраняемые величины
- •Initial имя сохраняемой величины, ее значение/имя, значение/...
- •Управление последовательностью событий
- •Лекция № 8 Логический переключатель
- •Блок select в логическом режиме
- •Организация цикла
- •Булевские переменные
- •Блок buffer
- •Лекция № 9
- •Косвенная адресация
- •Лекция № 10 Цепи пользователя
- •Лекция № 11 .
- •Условный вывод транзактов из цепи пользователя
- •Лекция №12
- •Захват устройства
- •Лекция №13
- •Ансамбли транзактов
- •Использование таблиц
- •Лекция №14
- •Сча таблиц.
- •Дополнительные режимы использования таблиц.
- •2) Rt (Rate – интенсивность) – режим.
- •Время моделирования.
- •Некоторые сведения из Теории вероятностей
Блок select в логическом режиме
SELECT X A,B,C,,,F
В качестве Х может использоваться либо LS, либо LR.
А- № параметра, который записывается ( № логического переключателя, удовлетворяющего условию либо S, либо R, см. Х );
В,С- нижняя и верхняя границы номеров логических переключателей;
F- может отсутствовать (см. блок SELECT).
Пр.: SELECT LS 3,7,9
Проверяются последовательно переключатели 7.8.9. Если 7 RESET, то смотрят 8, если 8 SET, то №8 становится значением третьего параметра.
Другое использование блока SELECT:
Если Х принимает значение U, NU, то проверяются уже устройства.
Возможные значения операнда Х:
U- используется устройство;
NU- не используется устройство;
SF- многоканальное устройство полностью заполнено;
SNF- многоканальное устройство не полностью заполнено;
SE- многоканальное устройство пусто;
SNE- в многоканальном устройстве что-то есть.
Организация цикла
Можно использовать блок TEST :
-
NEXT
...........................
ASSIGN
2-,1
TEST E
P2,0,NEXT
Каждый раз при прохождении блока ASSIGN из второго параметра вычитается единица. Цикл закончится тогда, когда содержимое параметра №2 станет равно 0.
Можно использовать блок LOOP.
LOOP 2,NEXT
Когда транзакт заходит в этот блок, из второго параметра вычитается единица и получившееся значение сравнивается с 0. Если значение параметра 2 больше нуля. То переход на блок, имеющий метку NEXT.
LOOP A,B
А- имя параметра
В- метка перехода
Булевские переменные
Ранее было введено понятие арифметической переменной:
Имя BVARIABLE булевское выражение
Значением булевской переменной может быть либо TRUE- истина, либо F FALSE- ложь (либо 0, либо 1).
Пр.: Примеры булевских выражений:
Логический переключатель LS5 .(включен, выключен);
SF19 – многоканальное устройство 19 заполнено полностью? (да, нет)
Могут быть отношения:
СЧА1 <оператор отношения> СЧА2
P1 G P2 - если значение параметра 1 больше, чем значение параметра 2, то истина (1).
Блок buffer
В системе моделирования GPSS интерпретатор просматривает транзакты, находящиеся в цепи текущих событий, по порядку, от начала к концу списка. Интерпретатор берет сначала первый транзакт и пытается его продвинуть. Но существуют ситуации, когда интерпретатор вместо того, чтобы рассматривать транзакт, идущий следом за уже обработанным, начинает просмотр с начала очереди, например, после прохождения блока RELEASE. Если транзакт попадает в блок BUFFER, то интерпретатор прекращает продвижение данного события и возвращается обратно в цепь текущих событий за следующим транзактом.
Пример № 8.1: Рассмотрим схему прерываний. На эту схему (на регистр) поступают запросы на прерывание. Будем считать, что операционная система следит за состоянием этого регистра, и если в нем есть запрос, то операционная система начинает его обслуживать. После чего данный запрос обнуляется. Запросы обрабатываются некоторое время.
* Генерация транзактов в соответствии с экспоненциальным законом * распределения
-
GENERATE
300,FN$EXP,,1
QUEUE
A
GATE LS
G1
M
GATE LS
W
DEPART
A
TERMINATE
* Генерируется 1 транзакт
-
GENERATE
,,,1
* Проверка текущего содержимого очереди А на равенство нулю. Если
* равно нулю, то транзакт идет дальше, иначе - блокируется.
-
N
TEST
W$A,0
LOGIC S
C1
ADVANCE
FN$BC
LOGIC S
W
BUFFER
LOGIC R
W
TRANSFER
,N
Аргумент функции ВС должен зависеть от числа сгенерированных транзактов.
BC FUNCTION W$M,C10
За время обработки функции ВС в первом блоке GENERATE будут генерироваться следующие транзакты.