logo
ГОСЫ_ИТОГ_2

Основные элементы языка gpss.

Основные составляющие системы GPSSW

Система GPSSW включает:

• различные типы объектов языка имитационного моделирования GPSS;

• язык программирования высокого уровня PLUS – небольшой, но мощный процедурный язык программирования;

• много блочных инструкций (свыше 50) и команд (свыше 25) и более 35 системных числовых атрибутов;

• строковые, математические, сервисные и другие процедуры;

• функции типовых распределений.

Программа в системе GPSSW представляет собой последовательность операторов языка программирования GPSS, операторов процедуры и эксперимента языка PLUS.

Типы объектов

В системе GPSSW имеются различные типы объектов, которые можно использовать при создании моделей:

• транзакты (Transactions) – обслуживаемые требования (заявки);

• блоки (Blocks);

• каналы (аппараты) обслуживания (Facilities);

• функции GPSS (GPSS Functions);

• логические переключатели (Logicswitches);

• матрицы (Matrixes);

• очереди (Queues);

• накопители (Storages);

• сохраняемые величины (Savevalues);

• табличные цепи пользователя (Tables User Chains);

• переменные (Variables);

• числовые группы (Numeric Groups);

• группы требований (Transaction Groups);

• генераторы случайных чисел (Random Number Generators)

Операторы языка PLUS

Ниже перечислены операторы языка PLUS:

• BEGIN (Начать);

• DO...WHILE (Выполнять…до тех пор, пока);

• END (Закончить);

• EXPERIMENT (Эксперимент);

• GOTO (Перейти к);

• IF...THEN...ELSE… (Если…то…иначе…);

• CALL (Вызвать процедуру);

• RETURN (Вернуть);

• TEMPORARY (Временно).

Строковые процедуры

Система GPSSW имеет богатую встроенную библиотеку процедур для создания

и изменения строк:

• Align (Выровнять) – возвратить копию одной строки, помещенной в другую

и выровненной по правому краю;

• Catenate (Связать) – возвратить копию двух строк, объединенных в одну;

• Copies (Копии) – создать строку из нескольких копий строки;

• Datatype (Строка данных) – возвратить строку, обозначающую тип данных

аргумента;

• Find (Найти) – возвратить смещение одной строки в другой

• Left (Левый) – возвратить копию подстроки, начинающейся слева;

• Length (Длина) – возвратить указанное число символов в строке;

• Lowercase (Нижний регистр) – возвратить представление строки в нижнем

регистре;

• Place (Разместить) – разместить одну строку в другой с выравниванием по

левому краю;

• Polycatenate (Связать) – возвратить копию одной или более строк, объеди

ненных в одну;

• Right (Вправо) – возвратить копию подстроки, начинающейся справа;

• String (Строка) – преобразовать элемент данных в строковый эквивалент;

• StringCompare (Сравнение строки) – возвратить результат целого числа пос

ле сравнения строки;

• Substring (Подстрока) – возвратить копию подстроки аргумента строки;

• Trim (Вырезать) – удалить передние и остаточные пробелы;

• Uppercase (Верхний регистр) – возвратить строку в верхнем регистре;

• Value (Значение) – возвратить числовой эквивалент строки;

• Word (Слово) – возвратить копию одного из слов в строке.

Математические процедуры

Система GPSSW включает небольшую библиотеку математических процедур:

• ABS – абсолютное значение;

• ATN – арктангенс;

• COS – косинус;

• INT – целое;

• EXP – экспонента;

• LOG – натуральный логарифм;

• SIN – синус;

• SQR – квадратный корень;

• TAN – тангенс.

Сервисные процедуры

Система GPSSW имеет дополнительные процедуры для требований, находящихся в очереди:

• QueryXNExist – определяет существование требования;

• QueryXNParameter – восстанавливает значение параметра требования;

• QueryXNAssemblySet – восстанавливает набор ансамбля требования;

• QueryXNPriority – восстанавливает приоритет требования;

• QueryXNM1 – восстанавливает время метки требования.

В систему GPSSW включены также новые сервисные процедуры для поддержки экспериментов:

• DoCommand – транслирует командную строку в глобальном контексте и по

сылает объекту моделирования;

• ANOVA – выполняет дисперсионный анализ.

Функции типовых распределений вероятностей

Система GPSSW включает встроенные функции многочисленных типовых распределений вероятностей:

• Beta – бетараспределение;

• Binomial – биномиальное распределение;

• Discrete Uniform – дискретное равномерное распределение;

• Exponential – экспоненциальное распределение;

• Extreme Value A;

• Extreme Value B;

• Gamma – гаммараспределение;

• Geometric – геометрическое распределение;

• Inverse Gaussian – обратное гауссово распределение;

• Inverse Weibull – обратное распределение Вейбула;

• Laplace – распределение Лапласа;

• Logistic – логистическое распределение;

• LogLaplace – логлапласово распределение;

• LogLogistic – логлогистическое распределение;

• LogNormal – логнормальное распределение;

• Negative Binomial – отрицательное биномиальное распределение;

• Normal – нормальное распределение;

• Pareto – распределение Парето;

• Pearson Type V – распределение Пирсона типа V;

2. Организация прерываний в ЭВМ.

Организация обработки прерываний в ЭВМ

Прерывание - это прекращение выполнения текущей команды или текущей последовательности команд для обработки некоторого события специальной программой - обработчиком прерывания, с последующим возвратом к выполнению прерванной программы. Событие может быть вызвано особой ситуацией, сложившейся при выполнении программы, или сигналом от внешнего устройства. Прерывание используется для быстрой реакции процессора на особые ситуации, возникающие при выполнении программы и взаимодействии с внешними устройствами.

Механизм прерывания обеспечивается соответствующими аппаратно-программными средствами компьютера.

Любая особая ситуация, вызывающая прерывание, сопровождается сигналом, называемым запросом прерывания (ЗП). Запросы прерываний от внешних устройств поступают в процессор по специальным линиям, а запросы, возникающие в процессе выполнения программы, поступают непосредственно изнутри микропроцессора. Механизмы обработки прерываний обоих типов схожи. Рассмотрим функционирование компьютера при появлении сигнала запроса прерывания, опираясь в основном на обработку аппаратных прерываний (рис. 14.1).

Рис. 14.1.  Выполнение прерывания в компьютере: tр - время реакции процессора на запрос прерывания; tс - время сохранения состояния прерываемой программы и вызова обработчика прерывания; tв - время восстановления прерванной программы

После появления сигнала запроса прерывания ЭВМ переходит к выполнению программы - обработчика прерывания. Обработчик выполняет те действия, которые необходимы в связи с возникшей особой ситуацией. Например, такой ситуацией может быть нажатие клавиши на клавиатуре компьютера. Тогда обработчик должен передать код нажатой клавиши из контроллера клавиатуры в процессор и, возможно, проанализировать этот код. По окончании работы обработчика управление передается прерванной программе.

Время реакции - это время между появлением сигнала запроса прерывания и началом выполнения прерывающей программы (обработчика прерывания) в том случае, если данное прерывание разрешено к обслуживанию.

Время реакции определяется для запроса с наивысшим приоритетом.

Приоритет - число, предписанное задаче, процессу или операции и определяющее очередность их выполнения или обслуживания.

Глубина прерывания - максимальное число программ, которые могут прерывать друг друга. Глубина прерывания обычно совпадает с числом уровней приоритетов, распознаваемых системой прерываний.

Прерывания делятся на аппаратные и программные [4].

Аппаратные прерывания используются для организации взаимодействия с внешними устройствами. Запросы аппаратных прерываний поступают на специальные входы микропроцессора. Они бывают:

Программные прерывания вызываются следующими ситуациями:

Каждому запросу прерывания в компьютере присваивается свой номер (тип прерывания), используемый для определения адреса обработчика прерывания.

При поступлении запроса прерывания компьютер выполняет следующую последовательность действий:

Этапы 1-4 выполняются аппаратными средствами ЭВМ автоматически при появлении запроса прерывания. Этап 6 также выполняется аппаратно по команде возврата из обработчика прерывания.

Обработка прерываний в персональной ЭВМ

Микропроцессоры типа х86 имеют два входа запросов внешних аппаратных прерываний:

Единственный вход запроса маскируемых прерываний микропроцессора не позволяет подключить к нему напрямую сигналы запросов от большого числа различных внешних устройств, которые входят в состав современного компьютера: таймера, клавиатуры, "мыши", принтера, сетевой карты и т.д. Для их подключения к одному входу INT микропроцессора используется контроллер приоритетных прерываний.