Г Л А В А   7

 

ОРГАНИЗАЦИЯ  НА  УПРАВЛЕНИЕТО

 

 

§ 7.1  Общи положения

 

 

      Както беше изяснено тук, в глава 2, и беше многократно коментирано, изчислителният процес е структурен и неговите елементи на най-ниско ниво са микрооперациите. Микрооперациите се изпълняват от логическите възли на отделните устройства. Микрооперациите, които са функции на логическите възли, се инициират (възбуждат или още заповядват) чрез управляващите сигнали. Управляващите сигнали от своя страна са резултат от изпълнението на дадена микропрограма, която е вложена в управляващия автомат на съответното операционно устройство. Тук бихме искали читателят да си припомни понятието изчислителен автомат или просто автомат и принципа на академик В. М. Глушков за неговата декомпозиция (вижте фигура 2.2.5 и коментарите, свързани с нея). В настоящата глава ще става дума за някои аспекти на структурната организация и функциониране на управляващите автомати.

      От казаното по-горе следва, че микропрограмата, която изразява (представя, описва) функционирането на операционното устройство във времето, се превръща по време на своето изпълнение в последователност от управляващи сигнали. Управляващите сигнали обикновено се появяват в началото на всеки текущ такт и изчезват с началото на следващият такт. Това е в пълно съответствие с концепцията за времето в теорията на крайните автомати, според която то е дискретно – измерва се в брой тактове. Управляващите сигнали (УС) представляват правоъгълни импулси, определяни още като логически сигнали. Те се интерпретират като логически, защото като микрозаповеди имат само две значения:

      Развитието на всеки управляващ сигнал (микрокоманда) преминава през три времеви интервала - на  установяване - 1, на активност - 2 и на изчезване - 3:

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

където с  tmax  е означено времето за превключване на управлявания възел в най-неблагоприятното съчетание на неговите аргументи до достигане на стабилните истинни логически стойности. Последователността от микрокоманди често се описва в тактова терминология.

      Ще припомним още, че съвкупността от едновременно подадените в рамките на текущия такт управляващи сигнали се нарича микрокоманда, а последователността от микрокоманди – микропрограма. Последователността от управляващи сигнали или по-точно от микрокоманди, както е известно, се реализира от специален клас логически устройства, които се наричат крайни автомати или още автомати с памет или просто управляващи автомати. С течение на времето, при функциониране, управляващият автомат се превключва последователно от едно вътрешно състояние към друго. Престоят на автомата в отделните състояния дискретизира времето и неговото функциониране се разглежда в смисъла на абстрактното понятие такт (такт първи, втори и т.н. t= 0,1,2, ... ,k). Времето е неявен аргумент в логическите функции, описващи функционирането на крайните автомати. Според теорията на крайните автомати тези функции са две – функция на преходите J(t) и функция на изходните сигнали V(t).

      Всеки управляващ автомат има едно вътрешно състояние, в което престоява обикновено най-дълго време и то се нарича изходно състояние S(0). След изпълнение на своята функция, управляващият автомат се оказва автоматично отново в изходното си състояние. Удържането на автомата неограничено дълго време в изходно състояние се осигурява от зацикления условен преход, както е показано на фигурата по-долу. От това състояние той може да бъде изваден само чрез външен сигнал, с цел да реализира своята функция за пореден път. Така изходното (началното) състояние може да се определи като състоянието, в което се очаква изпълнението на определени начални условия, които без загуба на общност тук означаваме просто чрез сигнала “Пуск”.

      За всеки управляващ автомат съществува поне още една причина за преход в изходно състояние и това е сигналът за принудителен преход в изходно състояниеReset.

      И така след казаното формално автоматът на Мили се представя чрез системата от логически уравнения от вида:

а автоматът на Мур със системата:

където: S е идентификатор, представящ кодовата комбинация на вътрешното състояние във всеки отделен такт;

             U е идентификатор, представящ кодовата комбинация на оповестяващите сигнали във всеки отделен такт;

             Y е идентификатор, представящ кодовата комбинация на изходните управляващи сигнали във всеки отделен такт

      Така алгоритмично, функционирането на управляващия автомат може да се изрази най-общо чрез следната блок-схемата:

 

Фиг. 7.1.1.  Алгоритмичен израз на управляващия автомат

 

      Когато в алгоритмичното тяло на функцията микрокомандите са описани чрез своите микрооператори, според конструкциите на езика на микрооперациите (вижте глава 2, §2.3), блок-схемата на микропрограмата се нарича съдържателна. Ако блок-схема съдържа само входните оповестяващи и изходните управляващи сигнали, тя се нарича кодирана.

      В случай, че автоматът е многофункционален, условният блок “Очакване на началните условия” може да има достатъчно сложна структура с изходи към всяка една от функциите на автомата. Докато управляващият автомат се намира в изходно състояние, той непрекъснато проверява множеството входни сигнали и логически условия, чрез които те са свързани. Най-тривиален пример за различни функции на автомата е наличието на няколко сигнала от вида “Пуск” – “Пуск1”?, “Пуск2”? и т.н. Ако сигналът “Пуск” е единствен, то за различаване на функциите на автомата, освен него на вход трябва да се подава още код на функцията, с чиято помощ да се реализира конкретният преход.

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

      Когато за този факт, управляваният възел съобщава чрез оповестяващ сигнал сам, се говори, че осъществяваното от автомата управление е асинхронно.

      Когато за този факт се съди по априорни оценки на бързодействието, постигани чрез допълнителен външен сигнал (обикновено периодичен), се говори, че управлението е синхронно. Управлението е синхронно именно с този външен периодичен сигнал.

      Алгоритмично асинхронният метод за управление зависи от условието за край на превключването при всяка микрооперация. Това означава, че алгоритмичните преходи от една микрооперация към друга зависят от оповестяващите сигнали и следва да се изразяват както е показано на следваща фигура (вариант А). Пример за синтез на асинхронен управляващ автомат е даден в книга [3] раздел 4.1.

 

            

Фиг. 7.1.2.  Условия за алгоритмичен преход

      В същия смисъл може да се изрази и алгоритмичният преход при метода за синхронно управление (фигура 7.1.2Б), т.е. преходът се осъществява когато се появи тактов импулс (ТИ). Ето защо, схеми, управлявани синхронно, не се превключват (не работят), ако тактовият генератор не работи. Тъй като условието за всяко превключване (т.е. на всеки такт) в случай на синхронно управление е едно и също, то блок-схемите на микропрограмите обикновено го пропускат и алгоритмичните преходи се изразяват само със стрелка, както е показано на фигура 7.1.2В. Обикновено за този преход говорят, че той е от вида безусловен към следващия по ред, но в истинския смисъл на нещата уверено можем да твърдим, че такива преходи няма, защото те не са възможни – безпричинни (безусловни) преходи не са възможни. В този смисъл тактовият сигнал може да се причисли към множеството на оповестяващите сигнали {U}. Неговата липса, неговото непристигане, замразява логическата схема в състоянието, в което последно е била за дълго време, т.е. докато не се появи необходимата причина за превключване.

      Асинхронният метод за управление може да се реализира и в условията на синхронно управление. Такива случаи на комбиниране на двата метода са удобни, когато болшинството от микрооперациите имат приблизително еднакво време за превключване, а много малка част от тях са значително по-бавни. Периодът на тактовия генератор при синхронно управление на такива схеми обикновено се избира равен на типичната продължителност на микрооперациите. По-дълготрайните изключения се реализират асинхронно, чрез изчакване на оповестяващ сигнал. Алгоритмично това изчакване, което се измерва с броя цели тактове на тактовия генератор, се изразява както е показано на фигура 7.1.2А. Оповестяващият сигнал за края на превключването във възела, където се изпълнява i-тата микрооперация, не е достатъчното условие за превключване на управляващия автомат към следващата микрооперация, а само необходимото. Конюнкцията от това условие с тактовия импулс е единствената причина, която може да реализира прехода. Техническата реализация на този комбиниран метод е изложена подробно в книга [3], раздел 6.

      Като се имат предвид сериозните изисквания, които предявява при своята реализация асинхронният метод за управление (голям брой оповестяващи сигнали, сложна апаратна реализация и твърди изисквания за устойчивост на схемите при превключване), този метод намира твърде ограничено приложение. Това са случаите, когато се реализират управляващи автомати, чиято функция е твърде елементарна (характеризира се с малък брой състояния), а изискванията към тях за високо бързодействие са единствените от значение. В казаното читателят може да се убеди от посочения вече пример – книга [3] раздел 4.

      Основният и масово прилаган метод за управление е синхронният. За реализиране на този метод в структурата на автомата се въвежда тактов генератор, за който се говори, че е двигателят на всяка цифрова система. Тактовите импулси, които нарекохме още синхронизиращи, фиксират моментите на превключване в логическите схеми, които съответно се наричат синхронни. Тактовият генератор синхронизира на първо място моментите на поява и изчезване на управляващите сигнали по един от начините, показани по-долу на фигура 7.1.3.

 

  

  

Фиг. 7.1.3.  Синхронизация на управляващите сигнали

 

А)  по предния фронт на С ;             Б)  по задния фронт на С ;

В)  чрез стробиране с С ;                Г)  чрез стробиране с notC.

 

      Положението на управляващите сигнали от фигура 7.1.3А) и Б) се характеризира със съвпадение на моментите на поява и изчезване на последователно следващите управляващи сигнали. Това съвпадение е предпоставка за очакване на неустойчива работа на управляваните схеми и обикновено се избягва, въпреки изключително простата си реализация. Недостатъкът се състои в това, че при застъпване на фронтовете на управляващите сигнали в един и същи логически възел е възможно да се създаде ситуация с непредсказуемо състояние. Въпросът със синхронизацията на изчислителните процеси в логическите схеми е разгледан по-подробно от изложеното тук в книга [3], раздел 8.

      Отстраняване на вероятността от застъпване на управляващите сигнали се постига чрез стробирането им с правата или с инверсната стойност на синхронния (на тактовия) сигнал, резултатът от което е показан на фигура 7.1.3В) и Г). И в двата случая временните интервали на активното въздействие на управляващите сигнали са дистанцирани. Това естествено води до скъсяване на продължителността им, а от там до налагане на определени изисквания към превключващите се схеми, а така също и към тактовия генератор, който трябва да осигурява точно определен коефициент на запълване.

      Читателят навярно разбира, че предварителното разрешение в рамките на развитието на микрооперацията дава възможност за изпреварващо установяване на истинната стойност на информацията на входа на тригера, в който тя се записва по предния фронт на сигнала от изхода на схемата И (виж фиг. 7.1.4). Подобно управление се характеризира с висока надеждност, но предявява определени изисквания към всяка част от формата на тактовия сигнал.

 

Фиг. 7.1.4.  Еднотактен запис с предварително разрешение

 

      За да не се въвеждат допълнителни логически схеми за целите на управлението, каквато е схемата И в случая от фигура 7.4, тактовите генератори се изпълняват най-често като многофазови генератори, чиято същност е изразена на фигура 7.1.5.

 

Фиг. 7.1.5.  Четирифазов тактов генератор

 

      На фигура 7.1.5 се вижда, че в рамките на тактовия период, четирите изхода на генератора (четири фази: F1, F2, F3 и F4) могат да фиксират чрез предните или/и задните си фронтове четири момента. Това позволява да се интерпретират четири различни начални етапа (Е1, Е2, Е3, Е4) в развитието на микрооперацията.

      Основните изисквания към управляващия автомат се формулират в процеса на синтез на операционното устройство (вижте пак фигура 2.2.5). Тези изисквания, както и самият алгоритъм на функциониране, се изразяват чрез езика на микрооперациите. Така синтезът на управляващия автомат логически следва след синтеза на операционния. Ще припомним кратко изискванията към блок-схемата на алгоритъма:

1. Тя трябва да съдържа само един блок “начало” и само един блок “край”.

2. Във всеки блок трябва да се попада поне по един път, започвайки от блок “начало”.

3. От всеки блок трябва да съществува поне един път до блока “край”.

4. Всички възможни пътища от блок “начало”, които се генерират при различните данни и условия, винаги трябва да стигат до блок “край”.

      Крайният автомат, който интерпретира микропрограмата на операционното устройство, се нарича микропрограмен автомат. Блок-схемата на един и същи алгоритъм може да се интерпретира като автомат на Мили или като автомат на Мур.

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

      1. Започва се с маркиране на вътрешните състояния върху дадената блок-схема.

·        При автомат на Мили вътрешните състояния се маркират на входа на всеки блок, следващ след операционен.

·        При автомат на Мур като вътрешно състояние се маркира всеки операционен блок.

      2. С един и същи идентификатор за състояние се маркира входа на блока след блок “начало” и входа на блок “край”. Така се осигурява автоматичният преход в изходно състояние при изпълнение на функцията на автомата.

      3. При автомат на Мили всички входове след операционните трябва да бъдат маркирани с различни идентификатори. При автомат на Мур всеки операционен блок трябва да бъде маркиран.

      4. Един вход (един операционен блок) трябва да бъде отбелязан само с един идентификатор.

      5. От маркираната блок-схема се построява графът на преходите. Графът трябва да има толкова възли, колкото са маркираните в блок-схемата състояния. Възлите на графа, в които са отбелязани състоянията на автомата, се свързват с насочени дъги. При автомат на Мили около дъгите се записват условията на прехода и изходните управляващи сигнали. При автомат на Мур управляващите сигнали се записват във възлите, а около дъгите – условията за преход.

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

      6. Избира се тригер за паметта на управляващия автомат.

      7. Прави се анализ на графа на преходите и ако е необходимо се добавят вътрешни състояния.

      8. Извършва се кодировка на състоянията. Във връзка с точка 6 и 7 може да се приложи съседно кодиране.

      9. Въз основа на графа на преходите и избрания тригер се построява таблицата на преходите и на изходните сигнали.

      10. Извършва се синтез на логическите функции за възбуждане на входовете на тригерите и на логическите функции на изходните управляващи сигнали.

      11. Извършва се минимизация на логическите функции.

      12. Построява се принципната логическа схема на управляващия автомат.

 

Забележки:

      1. При автомати с голям брой вътрешни състояния и голям брой условия синтезираните логически функции са достатъчно сложни и тяхното минимизиране е твърде затруднено.

      2. Автоматите по структурата на Мили интерпретират микропрограмата коректно само в случаите, когато при всеки преход се изпълнява условието за независимост на логическите условия от резултатите на изпълняваната микрокоманда. С този недостатък може да се борим по три начина:

·        Като приложим временно (на един такт) съхранение на условията;

·        Като въведем допълнителни вътрешни състояния;

·        Като преминем към структура на Мур.

      Синтезираният по изложената методика управляващ автомат може да се представи обобщено чрез следната логическа структура:

 

 

 

Фиг. 7.1.6.  Логическа структура на синхронен управляващ автомат с апаратно закрепена логика

 

      Представените по-горе логически структури напълно съответстват на аналитическото им представяне чрез системите (7.1.2) и (7.1.3). Те съдържат три основни елемента:

·        Памет – реализирана във вид на регистър от избрания тип тригери;

·        Комбинационна схема № 1 – схемата реализира функциите на преходите, т.е. на функциите за възбуждане на входовете на тригерите. Схемата изчислява по същество кода на новото състояние на автомата, макар то да не съществува в явен вид в тази точка;

·        Комбинационна схема № 2 – схемата изчислява стойностите на изходните функции, т.е. на управляващите сигнали.

      Трябва да се обърне внимание на още един факт, който се наблюдава и в двете структури, а именно, че паметта на автомата е обхваната чрез шината на оповестяващите сигнали с обратна връзка. Тази връзка създава неизбежна заплаха от състезания при превключване на автомата от едно състояние в друго, ето защо основен метод за борба със състезанията при синхронни автомати е използването на двутактови (двуетажни) тригери (вижте книга [3], раздел 3) за реализиране на паметта. При асинхронни автомати се прилага методът на съседното кодиране.

      Синтезираните по този начин управляващи автомати се определят като автомати с апаратно закрепена логика. Всеки управляващ сигнал и всяка функция на преход, колкото и пъти да се повтаря по стойност в отделните тактове при функциониране на автомата се преизчислява отново и отново – т.е. стойностите им съществуват само в рамките на съответния такт. Логиката на изчисление на тези стойности е “зашита” твърдо в логическите схеми и в този смисъл възможността да тя бъде променяна е невъзможна. С други думи препрограмирането, т.е. промяна на алгоритъма на функциониране или добавянето на нови функции в структурата на автомата, е свързано с неговото физическо разрушаване.

      Известно опростяване на изказаната методика за синтез на управляващи автомати с апаратно закрепена логика предлага реализацията на структурата на автомата на Мур с помощта на изместващ регистър. Изместващият регистър, който обикновено се построява на D-тригери, има дължината на най-дългата линейна структура в микропрограмата. Така всеки тригер от изместващия регистър съответства на отделно състояние на автомата. Автоматът на Мур с изместващ регистър не притежава дешифратор на кода на състоянието. При добра техника синтезът на структурата с изместващ регистър може да се получи без записване на таблицата на преходите.

      Ние предполагаме, както вече неколкократно споменахме, че читателят е запознат с теорията на автоматите от този тип, както и с методите за синтез и за анализ, ето защо гледаме на изложеното като на кратко припомняне. По-нататък вниманието ни ще бъде насочено предимно към управляващите автомати с програмно закрепена логика.

 

 

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

http://www.tyanev.com/home.php?lang=bg&mid=18&mod=1&b=12&s=395