
- •Ответы к экзамену по курсу «Моделирование»
- •Общая методология моделирования. Принципы моделирования.
- •2.Категории языка gpss. Модельное время в gpss.
- •3.Операторы Generate и Terminate в gpss.
- •4. Равномерный, нормальный, биномиальный и пуассоновский законы распределения случайных величин.
- •5. Цепи текущих и будущих событий в gpss
- •7. Задание дискретных и непрерывных функций распределения в gpss.
- •8. Организация ветвлений в gpss.
- •17. Ансамбли и группы транзактов в gpss.
- •9.Стандартные числовые атрибуты.
- •10.Моделирование многоканальных устройств в gpss. Прерывание работы устройств в gpss
- •11. Приоритеты, недоступные состояния, проверка состояния в gpss.
- •12. Таблицы в gpss
- •13.Резидентное и транзитное время транзактов
- •14.Переменные, операции в gpss. Оператор Select.
- •15. Проверка числовых выражений в gpss. Изменение значений параметров в gpss.
- •16. Сохраняемые величины в gpss.
- •19.Составные части описания устройств в vhdl.
- •20. Типы данных в vhdl
- •21. Понятие сигнала в vhdl. Средство описания сигналов.
- •22.Операторы Process в vhdl.
- •24.Операторы if и Case.
- •25. Структурная и поведенческая модель в vhdl
- •27.Методы асинхронного и синхронного моделирования. Виды состязаний в цифровых схемах.
- •28.Методы выявления статических и динамических состязаний в цифровых схемах.
- •29.Основные понятия технической диагностики. Классы неисправностей цифровых схем.
- •30. Построение контролирующего теста. Метод тфн. Словарь неисправностей.
- •31. Построение контролирующего теста. D-алгоритм Рота.
- •32.Подходы, используемые при контроле последовательностных схем. Построение установочной последовательности.
- •33. Построение переводящей и диагностической последовательностей.
- •34. Построение контролирующего теста с использованием моделирования.
- •35. Самотестирующиеся схемы
11. Приоритеты, недоступные состояния, проверка состояния в gpss.
В GPSS имеется возможность динамического изменения приоритетов транзактов во время их движения. Первоначально он формируется в GENERATE. Для изменения приоритета используется блок PRIORITY A, где A определяет новый приоритет транзакта.
Перевод МКУ в недоступное состояние и последующее восстановление доступа
При моделировании часто возникает ситуация, когда отдельные устройства становятся недоступными. Для моделирования подобных ситуаций имеется блок SUNAVAIL A, где A – имя МКУ. Когда транзакт входит в данный блок МКУ A, он становится недоступным. Если в момент перевода в МКУ находятся транзакты, то они продолжают обрабатываться. Однако, новые транзакты не могут захватить МКУ. Они попадают в специальный список задержки. Состояние недоступности продолжается до тех пор, пока транзакт не войдет в блок SAVAIL A. При этом как только устройство стало доступным, анализируется список задержки. Если он не пуст, то транзакт из него пытается захватить МКУ:
KAN STORAGE 3
GENERATE ,,,3
ENTER KAN
ADVANCE 10
LEAVE KAN
TERMINATE
GENERATE 5,,1
SUNAVAIL KAN
ADVANCE 6
SAVAIL KAN
TERMINATE
МКУ KAN имеет емкость 3. В нулевой момент времени генерируется три транзакта. Они распределяются по МКУ и начинается обработка. В момент времени 5 генерируется транзакт, который блокирует 6-10 такт времени МКУ KAN. После чего, блокировка снимается. Съем блокировки произойдет при +=11.
Проверка состояния МКУ
Состояние МКУ, так же, как и ОКУ выполняется с использованием оператора
GATE X A, [B]
По сравнению с ОКУ, логическое условие X расширено:
SE – МКУ пусто;
SF – МКУ заполнено;
SV – МКУ доступно;
SNE – МКУ не пусто;
SNF – не заполнено;
SNV – не доступно.
GATE SNF BRIF, mark - если BRIF не пусто, то транзакт пропускается в следующий блок, в противном случае уходит по метке “mark”.
12. Таблицы в gpss
В рамках стандартной статически собираемой GPSS фигурирует лишь среднее значение, однако пользователям часто необходимо знать не отдельные среднее значения, а распределение значений, заданных соответствующей гистограммой.
Для представления случайной величины в виде гистограммы необходимо определить форму таблицы:
<имя таблицы> Table A, B, C, D
А – имя переменной или СЧА, которая подлежит описанию с помощью таблицы,
В – первое граничное значение таблицы,
С – ширина интервала таблицы,
D – общее число интервалов, включая крайний левый и правый.
Пример: Описать таблицу, описывающую прибытие автобуса от 1 до 20 мин с интервалом времени в 1 мин: ABT Table A, 1, 1, 22
В статистику попадают в форме таблицы все записанные интервалы, и количество транзактов, попавших в каждый из интервалов. В статистике показывается процент транзактов попавших в интервал относительно их общего количества. Как правило таблица требует своей настройки на начальную точку и на количество интервалов. Настройка считается оптимальной, если в граничные интервалы не попадают транзакты. Если транзакты попадают в левый интервал (крайний), то выдается сообщение: Over Flow <количество>
Часто возникает ситуация, когда самые правые заданные интервалы оказываются пустыми, в этом случае появляется сообщение: Are All Zero
В программе должна быть определена точка, в которой будет вестись сбор данных. Для ее идентификации используется блок: Tabulate <имя таблицы>
Как правило, таблицы используются в двух режимах:
IA – используется, когда необходимо знать статистику о временном прибытии транзактов в определенную точку модели:
<имя> Table IA, B, C, D
Generate
………..
Tabulate <имя>
QTable – используется для исследования очередей, режим определяет статистику (динамику) изменения очереди к МКУ или ОКУ
<имя> QTable <имя очереди> , B, C, D