Проверка состояния многоканального устройства

Состояние МКУ, как и состояние ОКУ, проверяется блоком GATE такого же формата

GATE X A,[B]

Отличие состоит в значениях условного оператора Х, которые могут быть следующими:

  • SE - МКУ, заданное операндом А, пусто;
  • SF - МКУ, заданное операндом А, заполнено;
  • SNE - МКУ, заданное операндом А, не пусто;
  • SNF - МКУ, заданное операндом А, не заполнено;
  • SNV - МКУ, заданное операндом А, не доступно;
  • SV - МКУ, заданное операндом А, доступно. Блок GATE также работает в двух режимах:
  • отказа во входе;
  • разрешении во входе и альтернативном выходе.

Например:

GATE SNF Can,Met5

Если МКУ с именем Can не заполнено, т. е. имеются свободные каналы (элементы памяти), заданное в блоке GATE условие выполняется, и транзакт будет направлен к следующему блоку. Если МКУ заполнено, транзакт будет направлен к блоку с меткой Met5.

Блок GATE позволяет только определить состояние не заполненности МКУ, т. е. наличие свободных каналов, но достаточно ли их для удовлетворения запроса, он не определяет.

Для проверки состояния МКУ могут также использоваться булева переменная и блок TEST [5]. Их использование позволяет расширить возможности по осуществлению проверок состояния, а также сократить машинное время, так как в одном блоке с помощью булевой переменной может проверяться сразу несколько условий.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: