Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции / Уч_пособие_МС.doc
Скачиваний:
319
Добавлен:
20.02.2014
Размер:
10.43 Mб
Скачать

4.3.7. Устройства

Устройства используются при моделировании систем для имитации работы оборудования единичной емкости, например, процессора, кана­лов передачи данных, устройств ввода-вывода, линии связи и т.д. Та­кое оборудование в любой момент времени может обрабатывать только одно сообщение.

4.3.7.1. Блок SEIZE

Блок SEIZE имеет следующий формат:

SEIZE <A>

Операнд А может быть именем, положительным целым или СЧА. Свободный блок SEIZE позволяет вошедшему в него сообщению занять указанное устройство. Блок SEIZE задерживает сообщение, если устройство занято или находится в состоянии недоступнос­ти.

В поле А задается имя занимаемого устройства.

Стандартными числовыми атрибутами, связанными с оператором SEIZE, являются:

F<номер устройства> – возвращает 1, если устройство занято, 0 - если свободно;

FС<номер устройства> – общее число входов в устройство;

FI<номер устройства> – возвращает 1, если устройство обслужи­вает прерывание, 0 в противном случае;

FR<номер устройства> – коэффициент использования устройства, выражается в тысячных долях и возвращает целое число от 0 до 1000;

FT<номер устройства> – среднее время занятости устройства од­ним сообщением;

FV<имя устройства> – возвращает 1, если устройство доступно и 0 – если недоступно.

4.3.7.2. Блок RELEASE

Блок RELEASE имеет следующий формат:

RELEASE <A>

Блок RELEASE предназначен для освобождения устройства тем сообщением, которым оно было занято.

Если сообщение обрабатывается устройством, то с помощью блока RELEASE оно освобождает устройство и переходит к следующему последовательному блоку.

Операция освобождения выполняется немедленно после входа со­общения в блок RELEASE. В поле А задается номер освобождаемого уст­ройства. Операнд А может быть именем, положительным целым или СЧА.

Стандартными числовыми атрибутами, связанными с описываемым оператором, являются те же, что и для SEIZE.

4.3.8. Многоканальные устройства

При моделировании систем объекты GPSS/PC типа "многоканаль­ные устройства" используются для имитации работы объектов реальных систем, параллельно обрабатывающих поступающие заявки.

4.3.8.1. Оператор описания многоканального устройства

Оператор описания многоканального устройства имеет следующий формат:

<NAME> STORAGE <A>

Оператор STORAGE определяет емкость многоканального устройст­ва в текущей модели.

Поле метки определяет имя многоканального устройства. Поле может быть именем. Операнд А определяет объем многоканального уст­ройства. Операнд А может быть положительным целым.

Стандартными числовыми атрибутами, связанными с описываемым оператором, являются:

- S<номер многоканального устройства> – текущее содержимое. Возвращает емкость заполненной части устройства;

- SА<номер многоканального устройства> – среднее содержимое. Возвращает целую часть среднего заполнения устройства;

- SС<номер многоканального устройства> – счетчик числа входов в многоканальное устройство;

- SЕ<номер многоканального устройства> – незаполненность уст­ройства. Возвращает 1, если устройство использовалось не полностью, и 0 – в противном случае;

- SF<номер многоканального устройства> – заполненность уст­ройства. Возвращает 1, если устройство используется полностью, 0 – в противном случае;

- SR<номер многоканального устройства> – коэффициент исполь­зования многоканального устройства, выраженный в долях тысячи. Воз­вращает целое в интервале от 0 до 1000;

- SM<номер многоканального устройства> – максимально занятая емкость устройства;

- SТ<номер многоканального устройства> – среднее время пребы­вания сообщения в устройстве;

- SV<номер многоканального устройства> – доступность устройс­тва. Возвращает 1, если устройство доступно, 0 – в противном слу­чае.

Блоки, связанные с описываемым оператором: ENTER, LEAVE.

4.3.8.2. Блок ENTER

Блок ENTER имеет следующий формат записи:

ENTER <A>,[<B>]

Блок ENTER позволяет вошедшему сообщению использовать много­канальное устройство. Сообщение может быть задержано на входе в блок, если многоканальное устройство заполнено, или имеющейся емкос­ти недостаточно, или устройство в данный момент недоступно.

В поле А указывается номер или имя многоканального устройст­ва, куда входит сообщение. Операнд может быть именем, положительным целым или СЧА.

В поле В содержится число занимаемых единиц многоканального устройства. Если поле В пусто, то предполагается, что занимается од­на единица. Если это значение равно нулю, то сообщение никогда не задерживается на входе, а блок рассматривается как нерабочий. Опе­ранд может быть именем, положительным целым или СЧА.

Стандартными числовыми атрибутами, связанными с описываемым оператором, являются те же, что и для STORAGE и:

  • R<имя многоканального устройства> – емкость незаполненной части устройства.

4.3.8.3. Блок LEAVE

Блок LEAVE имеет следующий формат:

LEAVE <A>,[<B>]

Блок LEAVE освобождает определенное число единиц многоканаль­ного устройства.

Занятый объем многоканального устройства уменьшается на число освобождаемых единиц. Оставшаяся емкость многоканального устройства увеличивается на ту же величину. Счетчик числа входов не изменяет­ся. Недоступность многоканального устройства не влияет на блок LEAVE.

Поле А блока LEAVE определяет номер или имя многоканального устройства. Операнд может быть именем, положительным целым или СЧА.

Поле В - число освобождаемых единиц многоканального устройст­ва. Операнд может быть именем, положительным целым или СЧА. Если это поле пусто, предполагается 1. Число освобождаемых единиц не должно превышать текущее содержимое многоканального устройства.

Стандартные числовые атрибуты, связанные с описываемым опера­тором, те же, что и для ENTER.

4.3.8.4. Блоки GATE SNE, GATE SF, GATE SNF, GATE SE, GATE SV

Блоки GATE имеют следующий формат:

GATE <X> <A>,<B>

Блоки GATE позволяют управлять движением сообщений в модели в соответствии со значением логических операторов, связанных с многоканальным устройством (в поле Х). К этим операторам относятся:

- SNEj – многоканальное устройство j не пусто;

- SEj – многоканальное устройство j пусто;

- SNFj – многоканальное устройство j заполнено;

- SFj – многоканальное устройство j не заполнено;

- SNVj – многоканальное устройство j недоступно;

- SVj – многоканальное устройство j доступно.

Блок GATE может задержать сообщение на входе, если не задан альтернативный выход.

Поле А определяет имя многоканального устройства, состояние которого проверяется. Операнд А может быть именем, положительным целым числом или СЧА.

Поле В – альтернативный блок, если логический атрибут имеет значение "ложь". Операнд В может быть именем, положительным целым или СЧА. Если поле В определено, то оно должно содержать метку бло­ка, допустимую для текущей модели.