12150

Модель 2-х процессорной системы

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторная работа № 4 Модель 2х процессорной системы Блоксхема 2 процессорной системы Код отвечающий за моделирование: Memo2.Lines.Add Начало моделирования while flag0 do begin Memo2. Lines. AddinttostrTime {Проверка процессора 1 на наличие задач и решение з

Русский

2013-04-24

83.5 KB

1 чел.

Лабораторная работа № 4

Модель 2-х процессорной системы

Блок-схема 2 процессорной системы

Код отвечающий за моделирование:

Memo2.Lines.Add('Начало моделирования');

while flag0 do

begin

Memo2.Lines.Add(inttostr(Time)+':');

  {Проверка процессора 1 на наличие задач и "решение" задач}

 If p0[0]<>-1 then

 Begin

 inc(p0[1]);

 If p0[1] = ZTO[p0[0]] then

  begin

  Memo2.Lines.Add('>>Задание '+inttostr(p0[0]+1)+' >> Обработанно процессором №1');

  p0[0]:=-1;

  end;

 end;

   {Проверка процессора 2 на наличие задач и "решение" задач}

 If p1[0]<>-1 then

 Begin

 inc(p1[1]);

 If p1[1] = ZTO[p1[0]] then

  begin

  Memo2.Lines.Add('>>Задание '+inttostr(p1[0]+1)+' >> Обработанно процессором №2');

  p1[0]:=-1;

  end;

 end;

  {Обработка очереди}

 If ochered[0]<>-1 then

 begin

  if p0[0]=-1 then

   begin

    p0[0]:=ochered[0];

    p0[1]:=0;

    Memo2.Lines.Add('>>Задание '+inttostr(ochered[0]+1)+' >> Начало обработки процессором №1 (из очереди)');

    ochered[0]:=-1;

   end

   else

  if p1[0]=-1 then

   begin

    p1[0]:=ochered[0];

    p1[1]:=0;

    Memo2.Lines.Add('>>Задание '+inttostr(ochered[0]+1)+' >> Начало обработки процессором №2 (из очереди)');

    ochered[0]:=-1;

   end;

 end;

 If ochered[0]=-1 then

  If ochered[1]<>-1 then

   begin

   ochered[0]:=ochered[1];

   ochered[1]:=-1;

    If ochered[2]<>-1 then

     begin

     ochered[1]:=ochered[2];

     ochered[2]:=-1;

     end;

   end;

  {Начало цикла просмотра Задач поступивших во время Time, с

   целью распределения по процессорам или местам в очереди}

 For i:=0 to N-1 do

 begin

 if ZTP[i]=Time then

  Begin

  if p0[0]=-1 then

   begin

    p0[0]:=i;

    p0[1]:=0;

    Memo2.Lines.Add('>>Задание '+inttostr(i+1)+' >> Начало обработки процессором №1');

   end

   else

  if p1[0]=-1 then

   begin

    p1[0]:=i;

    p1[1]:=0;

    Memo2.Lines.Add('>>Задание '+inttostr(i+1)+' >> Начало обработки процессором №2');

   end

   else

  if ochered[0]=-1 then

   begin

    ochered[0]:=i;

    Memo2.Lines.Add('>>Задание '+inttostr(i+1)+' >> В очереди (место 1)');

   end

   else

  if ochered[1]=-1 then

   begin

    ochered[1]:=i;

    Memo2.Lines.Add('>>Задание '+inttostr(i+1)+' >> В очереди (место 2)');

   end

   else

  if ochered[2]=-1 then

   begin

    ochered[2]:=i;

    Memo2.Lines.Add('>>Задание '+inttostr(i+1)+' >> В очереди (место 3)');

   end

   else

   Memo2.Lines.Add('>>Задание '+inttostr(i+1)+' >> Не может быть обработанно!');

  end;

 end;

   {Конец цикла просмотра Задач поступивших во время Time, с

    целью распределения по процессорам и местам в очереди}

 inc(Time);

if (Time>strtoint(Edit3.Text)) and (p0[0]=-1)

and (p1[0]=-1) {and (ochered[0]=-1) and (ochered[1]=-1)

and (ochered[2]=-1)}then flag0:=false;

end;

Memo2.Lines.Add('Моделирование завершенно...');

Пример


Прибытие заявки

ачало обслуживания

После завершения

Запись время завершения обработки

Записать время прибытия заявки

Заняты ли ЦПУ?

Перевести процессор в состояние «свободно»

Память =  Память -1

Узнать очередное событие

Перевести процессор в состояние «занято»

Память = Память +1

Память = 0 ?

Да

Нет

Да

Нет


 

А также другие работы, которые могут Вас заинтересовать

1426. Калибровка и термостабилизации 56.5 KB
  Основные этапы настройки системы термостабилизации прибора. Настройка системы термостабилизации. Калибровка шкалы прибора по показателю преломления. Основные этапы калибровки шкалы по показателю преломления.
1427. Будова та використання бурових установок 213 KB
  Прилад СНЗ призначений для визначення статичного допустимого напруження зсуву глинистих розчинів, прилад снз призначення. Для роботи в умовах промислових лабораторій. Обладнання для очистки БР. Обладнання для промивки свердловин.
1428. Вирощування молодняка великої рогатої худоби 507.5 KB
  Закономірності росту органів і тканин у різні вікові періоди тварин і використання їх при вирощуванні ремонтного молодняку. Проектування технології вирощування ремонтного молодняку. Розрахунок потреби в скотомісцях і засобах механізації розміщення поголів'я.
1429. Реконструкция станции технического обслуживания 330 KB
  Наличие подвижного состава на АТП. Подвижной состав АТП с распределением годами выпуска. Технологический процесс ТО и ТР. Управление производством ТО и ремонта в системе ЦУП с использованием элементов АСУ. Характеристика объекта реконструкции (зоны ТР). Общий технологический процесс ТО и ремонта на объекте реконструкции.
1430. Строительство канализационных очистных сооружений производительностью 25 м3/сутки для промплощадки Мокроусского ЛПУМГ ООО Югтрансгаз 129.5 KB
  Цель работы – проектирование канализационных очистных сооружений производительностью 25м3/сутки для промплощадки Мокроусского ЛПУМГ ООО Югтрансгаз ОАО Газпром.
1431. Система управления и контроля радиоприемным устройством 1.07 MB
  Обеспечение функционирования вычислительного комплекса, обнаружения сбоев и отказов модулей и горячего восстановления. Требования к организации и оборудованию рабочих мест с ПЭВМ для взрослых пользователей. Команды буфера интерфейсной информации.
1432. Расчет параметров двигателя 147.5 KB
  При выборе отношения хода поршня к диаметру цилиндра S/D необходимо учитывать следующие обстоятельства. Предназначен для преобразования возвратно-поступательного движения поршня во вращательное движение коленчатого вала.
1433. Проект для строительства завода по ремонту бытовых машин в городе Белово 128.5 KB
  Проект разработан для строительства в городе Белово, преобладающее направление ветров ЮЗ с силой 0.38 кПа. Нормативное значение веса снегового покрова принято 1.5 кПа. Глубина промерзания грунтов 2.2 м. Температура наружного воздуха наиболее холодной пятидневки – 400С.
1434. Экономическое обоснование проектирования двигателя 124.5 KB
  Целью расчетов является обоснование экономической целесообразности создания и применения спроектированного двигателя. Решение принимается на основе расчета экономического эффекта путем сопоставления результатов и затрат по проектируемому и базовому вариантам при условии сопоставимости их по объему