§ 7.2
Логическа
структура на
управляващи
автомати с
програмно
закрепена
логика
Анализирайки
казаното в
края на
предидущия
параграф, относно
изчисляването
на
логическите
стойности на
функциите на
управляващия
автомат, можем да
направим
следното
заключение, а
именно, че
тези
логически
стойности са
предварително
известни във
всеки един такт
и те са
записани в
блок-схемата
на микропрограмата.
Осмисляйки
този факт,
естествено
достигаме до
идеята, че
вместо
тяхното изчисляване
е възможно да
бъде
организирано
тяхното
прочитане.
Прочитането
на предварително
известни
данни може да
се организира,
ако те са
запомнени в
запомнящо
устройство.
При това
вместо
многократно
изчисляване
при
необходимост
ще имаме
многократно
четене на
едни и същи
данни
(стойности).
И
така,
управляващите
автомати
могат да
бъдат синтезирани
въз основа на
основополагащия
принцип за
програмно
управление.
Според този
принцип, при
синтеза се
изхожда от
алгоритмичната
същност на
управляващия
автомат.
Алгоритмичната
същност се
изразява чрез
блок-схемата
на
микропрограмата
(вижте фигура
7.1.1 в
предходния
раздел), в която
еднозначно е
изразено
управлението.
В този смисъл
и според
посочения
принцип,
цялата
последователност
от
микрокоманди
може да бъде
запаметена в
паметта на
автомата,
където алгоритмичните
преходи се
превръщат в
адресни преходи.
С други думи, логиката
на
алгоритмичните
преходи се превръща
в логика на
адресните
преходи.
При това
положение
паметта на
автомата трябва
да се състои
не от една, а
от много клетки,
в които ще се
съхраняват известните
стойности на
функциите на
изходните
сигнали за
всеки
отделен такт
от микропрограмата.
Така изчезва
необходимостта
от пряка
реализация
на тези
функции във вид
на
комбинационни
схеми и
структурата на
управляващият
автомат
приема
следният общ
вид (фигура 7.2.1):
Фиг.
7.2.1. Обща
структура на
управляващ
автомат с програмно
закрепена
логика
В
изобразената
на фигура 7.2.1
структура
микропрограмната
памет (МПП)
има поне
толкова
клетки,
колкото са
микрокомандите
в блок-схемата
на
микрокомандата,
т.е. обемът й
трябва да е
достатъчен
за да побере
микропрограмния
софтуер.
Текущо
изпълняваните
микрооперации
в
операционното
устройство
се инициират
от
управляващите
сигнали {УС}
на текущата
микрокоманда,
която в
продължение на
текущия такт
се съхранява
в регистъра
на микрокомандата
Рг.МК.
Алгоритмичният
преход към
следващата
микрокоманда
се реализира
чрез
адресния механизъм,
заложен в
схемата за
формиране на адреса
за преход СФАП.
Формираният
от тази схема
адрес Адр отваря
съответната
клетка в
микропрограмната
памет, откъдето
се извлича
следващата
микрокоманда.
Схемата СФАП
формира
адреса за
преход
според
методите за
адресиране.
Тъй
като в
паметта на
управляващия
автомат се
съдържа
цялата
микропрограма,
той се нарича
микропрограмен
управляващ
автомат със
съхранена
микропрограма
(МПУА),
а най-често
се нарича
просто микропрограмен.
Обикновено
тези
автомати са синхронни.
Това
означава, че
появата
(записът) на
микрокомандите
в Рг.МК
е синхронна с
тактовите
импулси.
Всяка микрокоманда
престоява в
този
регистър
поне един
период на тактовата
последователност,
което определя
и времето
(продължителността)
за активност
на
управляващите
сигнали.
Принудителното
установяване
на микропрограмния
управляващ
автомат МПУА в
изходно
състояние по
сигнал “Reset” означава
принудителен
преход по
фиксиран
адрес. От
това следва,
че при
подаване на
този сигнал,
схемата СФАП
формира
някакъв
фиксиран
(константен)
адрес, в
който се
намира
микрокоманда
за условен
преход (вижте
фигура 7.2.1).
Удържането
на автомата в
изходно
състояние
под
непрекъснатата
серия от
тактови
импулси в
случая се
постига с
чисто
програмни
средства.
Програмната
част (вижте
условния
блок в
блок-схемата
от фигура
7.1.1), която
реализира
изходното
състояние на
автомата
може да се
нарече управляваща
или
мониторна.
Основна
задача на
микрокомандата
е да подаде
управляващите
сигнали към
операционното
устройство.
Ето защо една
нейна част е предназначена
за
изобразяване
на множеството
на
управляващите
сигнали {УС} и в
този смисъл
тази част се
нарича операционна.
Освен
тази задача,
по силата на
принципа за програмно
управление,
микрокомандата
има за задача
още да
управлява
адресния
преход към
следващата
(според
алгоритъма)
микрокоманда.
Ето защо в
нейната
структура
има още една,
втора част,
наречена адресна
част. Така
структурата
на
микрокомандата
съответствува
на
структурата
на машинната
команда,
което е
следствие от
принципа на
програмно
управление. С
това обаче се
изчерпва
приликата
между тях.
Много
по-съществена
е разликата в
действието.
Микрокомандата,
която подава
в текущият
такт няколкото
управляващи
сигнала,
записани в
операционната
й част по
нищо не се
отличава в своето
действие от
действието
на предидущата
или от
следващата,
която също
"без емоции"
ще подаде
своите
управляващи
сигнали и на свой
ред ще бъде
изхвърлена
от регистъра
на
микрокомандата
при запис в
него на следващата
микрокоманда.
Важното е тук
отново да
посочим, че
появата на
логическите
стойности на
управляващите
сигнали, не е
свързано с
никакви
изчисления.
Тези сигнали,
като съдържание
на
операционната
част на
микрокомандата,
се прочитат
от
съответната
клетка на МПП.
За
микрокомандата
подаването
на управляващите
сигнали не е
свързано с
никакви действия
– тя просто ги
изхвърля без
емоции, както
се изразихме
по-горе. Така
се получава,
че за
управляващия
автомат
по-важна е задачата
за
определяне
на адреса за
преход към
следващата
микрокоманда.
От гледна точка
на
микропрограмния
софтуер, в
този смисъл
микрокомандите
могат да се
интерпретират
единствено и
само като команди
за управление
на прехода – безусловни
или
условни.
Тяхната
операционна
част издава
заповеди,
чието
изпълнение е
осигурено в
течение на
временния
интервал на
такта в
операционното
устройство.
Микрокомандите
не се различават
толкова по
заповядваните
от тях микрооперации,
колкото по
осъществявания
алгоритмичен
преход, с цел
реализация
на
съответния
ход на
микропрограмата
като цяло.
В
микропрограмната
памет могат
да се съхраняват
много
микропрограми
и в този
смисъл
микропрограмният
автомат е многофункционален.
Стартирането
на една или
друга
функция
(микропрограма)
означава задаване
на нейния
начален
адрес в
микропрограмната
памет.
Началният
адрес е
функция на
външен
сигнал, от
типа на сигнала
“Пуск”.
Тъй
като
функциите на
управляващия
автомат
най-често са
постоянни и
непроменящи
се, то
съдържанието
на паметта на
автомата е
постоянно, от
където
следва, че тя
може да се
реализира
като
постоянна –
от тип ROM.
Структурата
на МПУА
има няколко
забележителни
свойства. На
първо място тя
не е така
силно
зависима от
алгоритъма
на микропрограмите.
Съдържанието
на паметта на
автомата
може винаги
да бъде
сменено, без
да се променя
нещо в
структурата
му, което
означава, че апаратната
реализация
не зависи от
алгоритмичният
"пълнеж" на
паметта.
Смяната на
съдържащата
се в паметта
микропрограма
с друга
означава
смяна на
функцията,
нещо което е
невъзможно
за
автоматите с
твърдо
закрепена
логика. Ето
защо МПУА
се наричат
още автомати
с "мека"
логика или
препрограмируеми.
Единствените
ограничения,
които една
конкретна
апаратна
реализация
на този
автомат може
да наложи на
алгоритмите за
управление,
произтичат
от
конкретните размери
на
микропрограмната
памет. Само в случай,
че
микропрограмата
е толкова
голяма, че не
може да се
побере в
паметта на
автомата, би
се наложила
неговата
преработка. Веднага
обаче следва
да се
отбележи, че
за някои
практически
реализации
тези
ограничения
могат да се
премахнат
чрез така
наречената разрядно-модулна
организация
на структурата.
Разрядно-модулната
организация
е концепция в
някои
микропроцесорни
фамилии.
Проблемите на реализацията на микропрограмния автомат са чисто програмни, ето защо основно внимание при тяхното проектиране се отделя на средствата за реализация на алгоритмичните структури – линейни, разклонени, циклически, подпрограмна техника, техника на прекъсване и др.
В
зависимост
от
приложения
метод за
реализиране
на адресните
преходи,
логическата структура
на МПУА от
фигура 7.2.1 може
да бъде конкретизирана.
При това се
различават
две основни
логически
структури – с
принудителна
адресация и с
естествена
адресация.
Следващият
раздел е:
http://www.tyanev.com/home.php?s=396&lang=bg&mid=18&mod=1&b=12