Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Лекция №12






Продолжим таблицу

 

D E Примечание
СЧА СЧА В этом случае транзакт инициатор обеспечивает условный вывод тех транзактов из цепи пользователя, у которых величина их параметра, указанного в операнде D, равна величине, указанной в операнде E.
BVj BV имя ------ Транзакт выводится из цепи пользователя, если булева переменная с номером j (или с символическим именем) принимает значение TRUE при ее подсчете с использованием приоритета, величин параметра данного транзакта

 

Пример 12.1 Рассмотрим тракт -БП-ЦП

 

БП ЦП

 
 

 


рис 12.1

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

Чтобы решить поставленную задачу необходимо для программы ввести время ее пребывания в буфере, которое можно заменить временем прохождения транзакта от определенного блока А до В

А Dt В t

 

рис 12.2

В системе моделирования есть специальный блок

MARK A,

который определят модельное время пребывания данного транзакта в системе и записывает это значение в параметр, номер которого указан в операнде А и также существует стандартный числовой атрибут (Мрj, где j - номер параметра), который равен интервалу модельного времени с момента прохождения транзактом блока MARK до обращения к данному СЧА. Поясним на примере: если в точке А (рис 12.2) поставить блок MARK 5, а в точке В обратиться к стандартному числовому атрибута МР5, то его значение и будет равно Dt=tB-tA=tB-P5

Теперь ми можем решить поставленную задачу

 

  BVARIABLE MP5 G X1
  ........................  
  MARK  

* У всех транзактов, которые поступают в буфер или напрямую на обра-

* ботку в устройство, в 5 параметре фиксируется системное время

  LINK C1, FIFO, M
M SEIZE PROC
  ADVANCE 100, 5
  PRIORITY PR, BUFFER
  RELEASE PROC

* “ОБГОН”

* Условный вывод транзактов из цепи пользователя по булевской перемен-

* ной; если нет транзактов удовлетворяющих булевскому выражению, то *инициирующий транзакт поступит на метку N и затем из цепи пользовате-

*ля выводится один транзакт на обработку

  TRANSFER , T
  UNLINK C1, M,, BV7, N
T ...........................  

 

 

Пример 12.2 Теперь рассмотрим тракт ОП-БП-ЦП

 

ОП БП ЦП

 

Команда, обрабатывающаяся в ЦП, может быть командой условного перехода следовательно те команды, которые находятся в буфере могут быть неверны, таким образом необходимо уничтожить все команды, находящиеся в буфере. Пусть вероятность появления команды условного перехода с дальнейшем уничтожением команд из буфера равна 0.1.

 

  GENERATE 10, 5, 1
  LINK CP, FIFO, M
M SEIZE PROC
  ADVANCE 100, 5
  RELEASE PROC
  TRANSFER .1, L, K
L UNLINK CP, M, 1
  TRANSFER , N
K UNLINK CP, N, ALL
N TERMINATE  

 

Пусть буфер ограничен сохраняемой величиной Х1. Если при поступлении транзакта буфер заполнен, то данный транзакт теряется. Это достигается путем вставки после первого блока GENERATE блока TEST L CH$CP, X1, N

 

Пример № 12.3 В задаче №2 мы рассматривали команду условного перехода и освобождение буфера, но хотелось бы не только очищать буфер, но и прервать генерацию очередной команды из оперативной памяти.

Для решения поставленной задачи рассмотрим новую тему

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.