- •Ответы к экзамену по курсу «Моделирование»
- •Общая методология моделирования. Принципы моделирования.
- •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. Самотестирующиеся схемы
8. Организация ветвлений в gpss.
Организация ветвлений в GPSS
В GPSS программе операторы или блоки выполняются последовательно один за другим в порядке их описания. Для нарушения порядка используется блок TRANSFER A,B,C.
Наиболее часто используется 3 формы оператора:
Безусловный переход TRANSFER , < метка >
При поступлении транзакта в данный блок он автоматически перенаправляется в блок с именем <метка>.
Условный переход TRANSFER BOTH, <имя_1>, <имя_2>
Для организации условного перехода используется в качестве операнда A условие BOTH, транзакт поступив в блок пытается перейти в блок с именем 1, если ему не удается, он пытается перейти в блок с именем 2, если и это не удается, он стается в блоке TRANSFER.
Статистическая передача управления. Часто необходимо передать транзакт в один из блоков с некоторой вероятностью. Для этого используется статистическая передача управления. TRANSFER <вероятность>, <имя_1>, <имя_2>
В качестве вероятности используется дробное число с 3 знаками после запятой. Данная вероятность соответствует передачи в блок с именем 2 и с вероятностью 1-p в блок с именем 1.
17. Ансамбли и группы транзактов в gpss.
При моделировании систем часто возникает задача размножения транзактов. Ситуация размножения транзактов определяется блоками Split A, B, [C]
А – количество размножаемых транзактов
В – метка блока, куда переходят размножаемые транзакты
С – необязательный блок, который может задать номера размножаемым сегментам
Все транзакты порождаемые блоком Split, порождают ансамбли, которые в дальнейшем могут интерпретироваться как единое целое. Как правило, работа с ансамблями требует использование специфических блоков:
Assemble A – собирает определенное количество транзактов одного ансамбля. Имеет один операнд – количество собираемых транзактов. Данный блок дожидается пока в него не придет еще сколько то транзактов этого семейства и пропускает на выход один транзакт.
Gather A – работает аналогично Assemble, но на выход пропускаются все собранные транзакты
Match – используется для синхронизации движения двух транзактов. Типичная схема использования:
<имя 1>Match<имя 2>
……………………….. сопряженные блоки
<имя 2>Match<имя 1>
Транзакт попадает в первый блок Match, далее немедленно проверяется, имеется ли транзакт этого семейства в сопряженном блоке. Если нет то транзакт в блоке задерживается, как только транзакт семейства попадает в блок Match 2 мгновенно проверяется наличие транзакта этого семейства в Match 1 и если он там присутствует, то транзакт проходит.
Пример: построить программу обработки 100 узлов, которые поступают с равномерным законом распределения в интервале 8±2. Обработка осуществляется двумя рабочими параллельно, каждый из которых выполняет свои операции независимо от другого со временем 5±3.
Generate 8, 2
Split 1, This
Seize 1 ; 1 рабочий
Advance 5, 3
Release 1
Transfer, That
This Seize 2 ; 2 рабочий
Advance 5, 3
Release 2
That Assemble 1
Terminate
Построить модель обработки подшипника состоящего из обоймы и 8 шариков. На обработку обоймы затрачивается время 4±1. Обработка шарика занимает 2±1 единиц времени. Обойма и шарики поступают на конвейер с интервалом 25±4. Операция сборки шариков в обойме осуществляется за время 4±2.
Generate 25, 4
Split 8, That |
Seize 1 | Обработка
Advance 4, 1 | обоймы
Release 1 |
Transfer ,Final
That Seize 2 |
Advance 2, 1 | Обработка
Release 2 | шариков
Gather 8 |
Final Assemble 9
Seize 3 |
Advance 4, 2 | Сборка
Release 3 |
Terminate