Стандартные числовые атрибуты (СЧА)


 

В процессе моделирования может понадобиться текущая информация о состоянии устройств, очередей и т.д. Указанной текущей информацией являются некоторые признаки этих объектов. Их называют СТАНДАРТНЫМИ ЧИСЛОВЫМИ АТРИБУТАМИ.

 

СЧА для приборов

 

Fj равняется 0, если j-ый прибор не занят и равняется 1, если j-ый прибор занят.

FCj-содержит значение равное числу занятий прибора.

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

FTj-целая часть значения среднего времени задержки транзакта на приборе.

 

СЧА для многоканальных устройств.

Rj-емкость незаполненной части многоканального устройства.

Sj-емкость заполненной части многоканального устройства.

 

СЧА для очереди.

Qj-характеризует текущее значение длины очереди.

QMj-максимальное значение очереди.

 

Если имеется следующая запись:

 

A SEIZE ................
B GENERETE ................

 

То W$A-показывает сколько транзактов находится сейчас в этом блоке;

N$B-значение счетчика входов для блока В.

 

Лекция № 5

Пример 5.1: Пример использования стандартного числового атрибута (сокращенно СЧА) .

 
 


Будем считать, что команда от ОП к ЦП осуществляет переход за некоторое время,причем это время зависит от текущего состояния БП(от количества команд в БП).Это можно сделать за счет атрибута.

 

B STORAGE
BUFF FUNCTION S$B,D4

0,1/2,3/7,5,15,6

EXPON FUNCTION RN1,C24

0,0/.1,.104/.2,.222/..../.9998,8

* В блоке GENERATE время появления следующего транзакта определяется

* умножением 12 на значение функции EXPON (поскольку на месте операнда B

* стоит значение функции). Результат округляется.

  GENERATE 12,FN$EXPON
  ENTER B
  ADVANCE FN$BUFF,FN$EXPON
  SEIZE C
  LEAVE B

* Этот блок определяет время обслуживания в ЦП. Время задержки транзакта

* будет определяться умножением 15 на значение функции EXPON.

  ADVANCE 15,FN$EXPON
  RELEASE C  
FIN TERMINATE  
  START  

 

В блоке GENERATE параметр 12 означает значение 1/l экспоненциального распределения, то есть математическое ожидание .

Транзакт встает в очередь к устройству, если оно занято. Пусть,если БП заполнено,то транзакт теряется. Для этого необходимо вставить блок :

TRANSFER BOTH,,FIN - делается попытка перейти в следующий по расположению блок, если блок занят, то осуществляется переход на блок FIN.

Добавим также ещё один блок:

PRIORITY 1

PRIORITY A - задает приоритет транзакта, проходящего через этот блок, и в цепи текущих событий транзакт становится на последнее место среди транзактов с тем же приоритетом.

С учетом вставляемых блоков программа примет вид :

 

B STORAGE
BUFF FUNCTION S$B,D4

0,1/2,3/7,5,15,6

EXPON FUNCTION RN1,C24

0,0/.1,.104/.2,.222/..../.9998,8

  GENERATE 12,FN$EXPON  
  PRIORITY  
  TRANSFER BOTH,,FIN  
  ENTER B  
  ADVANCE FN$BUFF,FN$EXPON  
  SEIZE C  
  LEAVE B  
  ADVANCE 15,FN$EXPON
  RELEASE C  
FIN TERMINATE    

 

Работа GENERATE :

GENERATE генерирует очередной транзакт. Как только этот транзакт покинет этот блок, GENERATE сразу же планирует в какой момент появится следующий транзакт. Этот будущий транзакт существует в цепи будущих событий и в нашей программе имеет приоритет 0. А транзакт, который вышел из GENERATE получает приоритет 1. Этот прием позволяет избежать ситуации, когда поступающий транзакт не может занять устройство(транзакт становится в очередь), поскольку его еще не освободил другой транзакт, который должен освободить это устройство в тот же такт машинного времени.

 



Дата добавления: 2016-11-04; просмотров: 1721;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.009 сек.