Последната актуализация на този раздел е от 2019 година.

 

 

4.1.   АСИНХРОННО УПРАВЛЕНИЕ    ВТОРИ ВАРИАНТ

 

 

      Предидущият пункт завърши с проектиране на вътрешното управляващо устройство ВУУ. Онова, на което тук искаме да обърнем внимание отново е, че представеното там устройство за управление беше проектирано по методиката на апаратно закрепената логика и според изискванията на синхронния метод на управление.

      Ще допълним още, че действията, които изпълнява цялостното устройство под управлението на външната среда, и при представения тук вариант, остават със същата си реализация, т.е. без изменение в реализацията си остават операциите “Зареждане на операнд” и “Прочитане на резултата”. В този смисъл, условното графично означение на проектираното устройство като цяло във варианта, който ще бъде представен по-долу, ще остане същото, като показаното на фигура 4.2. Това което ще бъде представено по-долу се отнася за изпълнението на “собствената функция”, чийто алгоритъм ще бъде заложен във ВУУ.

      В настоящия пункт ще представим проектирането на това устройство според изискванията на асинхронния метод на управление. Така представеният на читателя пример ще бъде според нас по-полезен и поучителен, още повече, че асинхронният метод на управление, като правило, не е илюстриран в литературата.

      Според този метод на управление структурата на УУ не се нуждае от тактова последователност. Като двигател (първопричина) за превключванията на управляващия автомат, се явяват оповестяващите сигнали (вижте книга [1], глава 7). Оповестяващите сигнали са отговорът на операционната част на проектираното устройство на всяко въздействие върху него, извършено от страна на управляващата част и следва да се осигурят от проектанта. Всеки управляващ сигнал, който УУ подава към определен логически възел, стартира в този възел съответната микрооперация. Рано или късно заповедта ще бъде изпълнена и логическият възел заема новото си състояние. За това положение УУ трябва да бъде уведомено и няма кой друг да направи това, освен самият логически възел. Той трябва да формира в отговор на въздействалия му управляващ сигнал, специален оповестяващ управляващото устройство сигнал, смисълът на който не може да бъде друг освен в духа: “прекрати, вече се превключих !”. Така оповестяването за края на всяка микрооперация е в същото време старт за следващата. При такава позиция изводът, който естествено се налага е, че реализираната последователност от управляващи сигнали, т.е. изпълнението на управляващия алгоритъм, е възможно най-бързото. Това всъщност е основното достойнство на този метод на управление. При това разбиране, алгоритъмът на собствената функция на проектираното устройство може да се представи само чрез условни алгоритмични преходи, т.е. чрез явно изразяване на оповестяващите сигнали, както следва (фигура 4.1.1):

      Както може да се забележи, функцията на алгоритъма е същата, като изразената на фигура 4.5,. Все пак има малка, но принципна разлика между двете блок-схеми, която следва да бъде пояснена. Тъй като се има предвид функциониране на устройството в условията на асинхронно управление, след зареждане на буферните регистри Рг.Х и Рг. Y, и стартиране на умножението в схемния умножител УМН, в блок-схемата на алгоритъма не е въведен допълнителен блок от тип “празен такт” за изчакване превключването на последния. На фигура 4.1.1 микрооперацията е една и се осигурява от управляващия сигнал УС8. Необходимото изчакване за превключването на регистрите и след това на умножителя се осигурява от оповестяващия сигнал ОС3. Той е поставен след изпълнимия блок, като условие за по-нататъшен преход. Не така стои обаче управлението на акумулатора, който също изисква допълнителен празен такт. Такъв в блок-схемата от фигура 4.1.1 е осигурен, което е направено, защото избраният суматор е двутактов, т.е. защото по време на “празния такт” неговата структура изисква издаването на специален управляващ сигнал – УС3.

      От изложените съображения, отнасящи се за конкретния пример, могат да бъдат направени някои изводи, които са достатъчно общи, щото да се отнесат към формалната методика за подготовка на микропрограмата при реализацията й в УУ, проектирано според условията на асинхронния метод на управление. На първо място това е възможността за редукция на изпълними блокове, в частност от вида “няма операция”, както съответно и невъзможността за редукция.

      Явно записаните условията за преход след всеки изпълним блок на разглежданата блок-схема, т.е. след всяка микрокоманда, позволяват на този етап да бъдат изявени общо 7 на брой оповестяващи сигнала:

                 Start     - край на очакването;

                 ОС1     - край на нулирането при установяване в начално състояние;

                 ОС2     - край на изваждането в брояча;

                 ОС3     - край умножението в умножителя след предварително зареждане на буферните регистри;

                 ОС4     - край на изчислението на междинната сума в акумулатора;

                 ОС5     - край на разпространението на преносите в акумулатора и формиране на сумата;

                 ОС6     - край на установяването, т.е. на вдигането на флаговете.

 

      Сигналът Start, въпреки че е външен, според формалната теория (вижте книга [1], глава 7) се отнася към групата на оповестяващите сигнали.

      Преди да пристъпим към следващия етап от проектирането на управляващото устройство трябва да споменем изрично, че то ще бъде отново с апаратно закрепена логика. Според методиката на метода за асинхронно управление, паметта на такъв управляващ автомат се реализира чрез асинхронни тригери от тип Latch. Ето защо, преди да определим броя им и да кодираме вътрешните състояния на автомата, трябва да изследваме алгоритъма на функциониране за възникване на състезания, т.е. за самопроизволни превключвания, вследствие на обратните връзки в автомата. За целта най-напред избираме структура за автомата и маркираме в блок-схемата вътрешните му състояния. При същите разсъждения, както в предидущия пункт, за автомата избираме структура на Мур. Състоянията, които могат да бъдат отбелязани върху блок-схемата на алгоритъма, са представени на фигура 4.1.1.

 

Фиг. 4.1.1.  Блок-схема на собствения алгоритъм

 

      След маркирането на блок-схемата се построява графът на преходите, показан на фигура 4.1.2.

 

Фиг. 4.1.2.  Първоначален граф на преходите

 

      Графът от фигура 4.1.2 е наречен първоначален, тъй като е построен непосредствено от блок-схемата на алгоритъма и все още не е изследван за състезания, т.е. неговият вид се счита за неокончателен. Това е така, защото като се има предвид типът на тригерите за реализация на паметта на автомата, с цел предотвратяване на състезанията, за означаване на вътрешните състояния следва да се приложи съседно кодиране. Съседното кодиране на вътрешните състояния на автомата е основен метод за борба със състезанията при асинхронно управление. Съседното кодиране изисква да се изследват всички затворени контури в графа за наличието на четен брой състояния. В така получения граф има два затворени контура – този на вътрешния цикъл (а2/а2) и този на външната цялостна функция (а0/а0). В първия има 4 състояния, а във втория 7. Това означава, че за да бъде възможно съседното кодиране на вътрешните състояния, трябва да се въведе допълнително състояние в контура а0/а0.

      Допълнителното вътрешно състояние, което ще означим а7, може да бъде поставено между преходите: а0/а1; а1/а2; а5/а6 или а6/а0. По принцип е без значение коя от изброените преходни дъги ще бъде разкъсана. В конкретния случай е избрана дъгата на последния преход от а6 в а0. Затова и допълнителното състояние е именувано а7.

      След анализа на първоначалния граф на преходите и взетите решения, на фигура 4.1.3 е представен допълненият граф на преходите.

 

Фиг. 4.1.3.  Допълнен граф на преходите

 

      Тъй като състоянието а7 е въведено единствено с цел предотвратяване на неправилни превключвания на автомата, то в това състояние последния не издава управляващи сигнали и не очаква да получи оповестяващ сигнал. Ето защо дъгата на прехода а7/а0 в графа от фигура 4.1.3 не е маркирана. Въпреки това причина за този преход, т.е. за това превключване, трябва да има. Такава причина следва да се породи вътре в схемата на управляващия автомат, при установяването му в състояние а7.

      Според така определения брой вътрешни състояния дължината на кодовата комбинация се определя чрез формула (4.27) на 3[b], а самите комбинации се разпределят в картата на Карно за три променливи, както е показано на фигура 4.1.4.

 

 

00

01

11

10

0

а0

а1

а2

а3

1

а7

а6

а5

а4

 

Фиг. 4.1.4.  Съседно кодиране на вътрешните състояния

 

      Специално отбелязваме, че изходното състояние а0 е поставено в клетка с координати 0/00, чийто код е удобен за постигане от сигнал Reset. В резултат на представеното разположение на състоянията се получава следната кодова таблица:

 

Таблица  4.1.1  Кодова таблица на вътрешните състояния

Код

Състояние

0   0   0

а0

0   0   1

а1

0   1   0

a3

0   1   1

a2

1   0   0

a7

1   0   1

a6

1   1   0

a4

1   1   1

a5

 

      За реализация на паметта на автомата избираме асинхронен RS-тригер с право управление от тип Latch, чиято логическа структура и УГО са показани в тази книга на фигура 3.1.2. Този тригер се превключва според таблица 4.1.2

 

Таблица  4.1.2

Q(t)

Q(t+1)

R(t)

S(t)

0

0

*

0

0

1

0

1

1

0

1

0

1

1

0

*

 

      След направения избор може да бъде построена таблицата на преходите на автомата (таблица 4.1.3), от която да бъдат синтезирани уравненията на необходимите логически функции.

 

 

Таблица  4.1.3  Таблица на преходите на автомата

Състояние

в момент  (t)

Изходни

сигнали

Условие

за

преход

Състояние

в  момент  (t+1)

Входни сигнали

на тригерите

код

код

а0

0   0   0

 ;

Start

а0

а1

  0       0      0

  0       0      1

*     0

*     0

*     0

*     0

*     0

0     1

а1

0   0   1

УС1,

УС6,

УС9

ОС1

а2

  0       1      1

*     0

0     1

0     *

а2

0   1   1

УС5

ОС2

а3

  0       1      0

*     0

0     *

1     0

а3

0   1   0

УС8

ОС3

а4

  1       1      0

0     1

0     *

*     0

а4

1   1   0

УС2

ОС4

а5

  1       1      1

0     *

0     *

0     1

а5

1   1   1

УС3

а2

а6

  0       1      1

  1       0      1

1     0

0     *

0     *

1     0

0     *

0     *

а6

1   0   1

УС4,

УС7

ОС6

a7

  1       0      0

0     *

*     0

1     0

а7

1   0   0

a0

  0       0      0

1     0

*     0

*     0

 

 

      Според приетата за крайния автомат структура на Мур, изходните управляващи сигнали се синтезират като логически функции от вътрешните му състояния. Така за тях се получават следните изрази:

 

      От таблицата на преходите се синтезират още логическите уравнения на функциите за възбуждане на тригерите на паметта. За разлика от вида на записването им в предидущия пункт, тук тези функции са записани чрез променливите на вътрешните състояния. Както за управляващите сигнали, така и за функциите на възбуждане, в структурата на автомата на Мур с дешифратор на състоянията, е удобно използването на тези променливи. Така се получават следните съвършени нормални дизюнктивни форми:

 

      Получените уравнения изразяваме в инверсна логика, при което се оказва удобно входните за тригерите R и S функции да бъдат инверсни:

 

      Това ни дава основание да сменим вида на тригерите. Вместо тригери с право управление, паметта на автомата ще реализираме чрез тригери с инверсно управление. Това е възможно, тъй като винаги когато е активна правата фаза на дадена функция (според таблица 4.1.3), е активна и нейната инверсна фаза. Принципната логическа схема на ВУУ е представена на фигура 4.1.5.

 

Фиг. 4.1.5.  Принципна логическа схема на ВУУ

 

      На приведената логическа схема се вижда вътрешната обратна връзка, чрез която разпознатите от дешифратора DC (елемент U103) състояния на автомата (а0, а1, … , а7) се подават в качеството си на аргументи на функциите за възбуждане на входовете на тригерите - (елементи обозначени общо U104). Тригерите на паметта (елементи U102, U101, U100) са с инверсно управление, ето защо постигането на изходното състояние а0 е осъществено от инверсната фаза на сигнала Reset (чиято активна стойност е нулата) на инверсните входове на тригерите. Всеки изходен управляващ сигнал е еквивалентен на съответното състояние (според уравнения 4.1.1 – 4.1.6), следователно неговата продължителност е равна на продължителността на съответното състояние на автомата.

      Изходното състояние на автомата е най-продължителното. В това състояние на входовете на тригерите се подават логически единици, които формират за този тип тригери неактивна входна комбинация, при което те продължават да помнят състоянието в което са били поставени след последното превключване, т.е. а0=”000”. В това състояние се очаква външният пускащ сигнал Start. Логическите стойности на собствените оповестяващите сигнали са също нули. В предидущия пункт, където управляващото устройство беше проектирано според условията на синхронния метод за управление, на сигнала Start беше наложено изискване за неговата продължителност, която трябваше да бъде не по-малка от два периода на тактовата последователност С. Сега, в условията на асинхронно управление, на този външен асинхронен сигнал може да се наложи следното изискване за неговата продължителност  tStart  за да се стартира успешно алгоритъма на управление, сигналът Start трябва да успее да предизвика превключване на входните логически елементи (U104), от там и на тригера TL0 (което представлява преход от състояние а0 в състояние а1), както и на изходния дешифратор DC. Тази количествена оценка може да се представи най-ясно от следната времедиаграма (фигура 4.1.6):

 

Фиг. 4.1.6.  Времедиаграма на стартиране

 

      На фигура 4.1.6 е показано достатъчно пресилено последователното превключване на отделните логически елементи и техните закъснения, така че ясно може да се направи следната оценка:

      Стартовият импулс може да се отнеме (да изчезне) още в зоната на зелената ивица, след установяване на тригера в новото състояние, но в случая няма да бъде грешка изчакването на превключването и на дешифратора, с което осигуряваме надеждност на цялото превключване. Продължителността на стартовия импулс може да бъде и по-голяма от посочената (4.1.19), но не трябва да се забравя, че ако е много голяма съществува опасност изчисленията на скаларното произведение междувременно да завършат и тогава да се стартират повторно от все още не изчезналия стартов сигнал. Ето защо в този случай сме длъжни да изведем за продължителността на стартовия импулс следното двустранно отношение (ограничение):

което външната среда ще трябва да осигури и спази, ако иска всеки път да постига надеждно стартиране на устройството.

      В отговор на всяко новопоявило се състояние на управляващия автомат, т.е. на управляващ сигнал, операционната част на проектирания изчислител изпраща съответен оповестяващ сигнал за края на заповяданото превключване, което от своя страна е причина за превключване на управляващия автомат в ново състояние. Този начин на формиране на превключващите сигнали е пояснен специално чрез времедиаграмата от фигура 4.1.7 за онзи участък от алгоритъма (виж фигура 4.1.1), в който автоматът се установява в състояние а1, формира единичен импулс към нулиращия вход на акумулатора АКМ, след което, с пристигането на сигнала ОС1, се превключва в следващото състояние а2.

      От времедиаграмата се вижда, че предният фронт на управляващия сигнал УС1=а1 (вижте по-горе уравнение 4.1.1) е причина за поява на оповестяващия сигнал ОС1, чийто преден фронт е причина за превключване на автомата в следващото състояние а2.

 

Фиг. 4.1.7.  Времедиаграма на превключванията по време на състояние а1

 

      Онова, което още може да Ви направи впечатление, е продължителността на оповестяващия сигнал. На фигура 4.1.7 например, оповестяващият сигнал ОС1 има продължителността на състоянието а1, т.е. той е негово закъсняло копие. Трябва да бъде заявено, че това положение е принципен въпрос, тъй като отговорът му зависи от логическия смисъл и от логическата постановка при синтеза и реализацията на логическите функции на оповестяващите сигнали. За да бъде изяснена до край същността на заявеното току що, следва да се изложи логическият синтез на всеки оповестяващ сигнал, което е направено в следващия пункт.

      И за да завършим с обясненията по функционирането на управляващия автомат ще представим във времето изпълнението на алгоритъма на собствената функция. Изпълнението й е процес на лавинообразно асинхронно превключване след стартиращ импулс, илюстриран на фигура 4.1.8.

 

 

Фиг. 4.1.8.  Времедиаграма на алгоритъма

 

 

      Многократното завъртане на изчисленията в цикъла а2/а2 се намира в защрихованата ивица на времедиаграмата. Изобразени са само първото и последното изпълнение на тялото му (състояния а2, а3, а4, а5). След последното а5 следва преход към а6, тъй като след последното а2 е възникнал признакът EQ. Преминавайки през а7, автоматът се завръща в изходно състояние – а0.

 

 

 

Следващият раздел е:

4.1.1  Функции на оповестяващите сигнали