Последната
актуализация
на този
раздел е от 2019
година.
6.
МПУУ
С
ПРОМЕНЛИВА
ПРОДЪЛЖИТЕЛНОСТ НА
МИКРОТАКТА ЗА СТРУКТУРИ С
ПРОГРАМНО ЗАКРЕПЕНА ЛОГИКА
Същността
на
асинхронния
метод за
управление е
изяснена в книга [1] .
Реализацията
му в чист вид
обаче може да
бъде
постигната
само за
сравнително
прости
алгоритми,
които не
довеждат до
силна изява
на неговия
недостатък –
усложняване
на
логическата
структура на
логическите
възли и
увеличаване
на апаратните
разходи.
Стремежът
към този
метод за
управление
обаче е
твърде силен
поради неговите
достойнства.
Ето защо се
търси възможност
за негова,
макар и
частична и не
в чист вид,
реализация.
Такава може
да се постигне
сравнително
лесно при
комбинирането
му със
синхронния
метод за
управление.
При това
комбиниране
на методите
основен е синхронният
метод, но
външно
управлението
има
качествата
на
асинхронния.
Двигател на превключванията
в този случай
е тактов генератор,
който
генерира
непрекъсната
последователност
от тактови
импулси,
имаща период Т, който
е избран
така, щото да
бъде с
продължителност
достатъчна
за
осъществяване
на най-краткото
превключване
в
логическата
структура на управляваното
устройство.
Като едно от
най-кратките
превключвания,
при това
считано за
типично, може
да бъде
избрано например
превключването
на обикновен
регистър при
изпълнение
на
микрооперация
“нулиране”.
Останалите
микрооперации,
свързани с
по-продължителни
превключвания,
като “изместване
съдържанието
на регистър”, “броене”,
“събиране”, “мултиплексиране”
и пр., могат да
бъдат
оценени по
продължителност
чрез така
избраната
най-кратка,
като вид на
няколко тактово
изчакване
или
удължаване.
Оценката на
продължителността
W ще
представлява
цяло
положително
число. Това
число ще
определя
конструкторът,
оценявайки
времето за
превключване
на отделните
логически
възли, като време
за
превключване
в
най-тежкия
случай.
Формално
тази оценка
може да бъде
изразена
както следва:
където
с
е
означено
времето за
превключване
на даден
логически
възел при
изпълнение
на j-тата
микрооперация,
в най-тежкия
за нея
случай.
Така,
при
реализация
на
управляващия
алгоритъм се
получава, че
отделните
микротактове
в него като
цяло ще имат
различна
продължителност.
Тази
продължителност
на отделните
микротактове
обаче е
определена не от
реалните
превключвания,
а от конструктора.
Ето защо
такава
реализация
на
управлението
не постига в
пълна степен
бързодействието
на
алгоритъма,
гарантирано
от идеята на
асинхронното
управление.
В блок-схемата на даден алгоритъм оценката за продължителността на микротактовете трябва да бъде посочена явно във всеки изпълним блок, както е показано на фигура 6.1, чрез един примерен линеен алгоритмичен участък.
Фиг.
6.1. Примерна
продължителност
на микротактовете
Според примера от фигурата, управляващият сигнал УС13 следва да се подава към даден логически възел, където възбужда i-тата микрооперация, в продължение на 4Т. В следващия такт трябва да се подава управляващият сигнал УС72, който възбужда j-тата микрооперация, чиято продължителност е 1Т. Следващият микротакт стартира едновременно две микрооперации - k-тата чрез УС15 и m-тата чрез УС7, но продължителността му се определя от по-дългата, т.е. от m-тата микрооперация, имаща продължителност 6Т.
Как
може да се
реализира
изложената
идея?
Тривиалното
й
реализиране
в
класическите
микропрограмни
структури
представлява
W-кратно
записване на
една и съща
микрокоманда. За
примера от
фигура 6.1, за
първата
микрокоманда
например,
реализацията
може да се
постигне чрез
4-ри кратното
й записване в
4 последователни
клетки на
микропрограмната
памет (с адреси
от a до (a+3)
включително)
по следния
начин:
№ на
такта |
адрес в
МПП |
МК |
сигнал |
1 |
a: |
i-та
микрокоманда |
УС13 |
2 |
a+1: |
i-та
микрокоманда |
УС13 |
3 |
a+2: |
i-та
микрокоманда |
УС13 |
4 |
a+3: |
i-та
микрокоманда |
УС13 |
Така
последователно
изпълняваните
микрокоманди,
извличани от
последователни
клетки, ще
реализират
за
управляващия
сигнал УС13
необходимата
продължителност
от 4Т.
Тази реализация не изисква изменения в структурата на микропрограмното управляващо устройство. Единственият й недостатък е, че удължава текста на микропрограмата, което води до увеличаване обема на микропрограмната памет. И още, този вариант не е достатъчно гъвкав в случай, че се наложи изменение на вече реализираната продължителност.
Идеята,
която ще
реализираме
тук, е
предложена в книга [1].
Нейната
същност е
организиране
на цикъл
от вида с
предварително
известен
брой повторения
(W на брой)
от
елементарни
микротактове
с продължителност
Т.
Тъй
като
продължителността
на всяка микрооперация
се определя
от
конструктора,
т.е. от програмиста,
нейната
оценка в
лицето на
числото W, следва да
се намира в
отделно поле
в структурата
на
микрокомандата.
Тъй като
всяка микрокоманда
престоява в
регистъра на
микрокомандата
поне един
елементарен
такт Т, то в
това поле
следва да се
записва
всъщност
числото (W-1). Тази
стойност ще
се използва
като начална
за един
изваждащ
брояч, с
чиято помощ
се реализира
условието за
край на
микротакта – ”станало
ли е съдържанието
на този брояч
равно на
нула?”
Когато
броячът се
нулира
трябва да се
реализират
две събития:
- Да се
прекрати
изваждането
от брояча;
- В
регистъра на
микрокомандата
да се зареди
следващата
микрокоманда.
Изваждащите импулси следва да се “изрежат” от тактовата последователност чрез условието:
където EQ=1,
когато (Бр.ЕТ)=0, а
записващият
следващата
микрокоманда
сигнал – чрез
условието:
Изказаните
съображения
са
реализирани
в логическата
структура на
микропрограмно
управляващо
устройство,
представена
на фигура 6.2.
Фиг.
6.2. Логическа
структура за
реализация
на променлив
микротакт
Изобразеният
редом с
регистъра на
микрокомандата
Рг.МК
брояч на
елементарните
тактове Бр.ЕТ,
всъщност е
част от
самата
микрокоманда,
т.е. от
състава на
регистъра на
микрокомандата.
Неговата
дължина се
определя
така, че да е
възможно
представянето
и на
най-голямото
число (W-1),
възможно за
дадения
алгоритъм:
Инверсната
фаза not(EQ) на
признака за
нулево
съдържание на
брояча на
елементарни
тактове Бр.ЕТ
маскира
постъпващите
от тактовия
генератор
импулси на
изваждащия
му вход, а
правата му
стойност EQ –
маскира
тактовата
последователност
при достъпът
й към регистъра
на
микрокомандите
Рг.МК.
По този начин
в Рг.МК
се записва
следваща
микрокоманда
само когато
признакът EQ=1 и
тя престоява
в него докато
Бр.ЕТ
не се нулира.
Тук
сме приели,
че
превключванията
на логическите
възли ще се
осъществяват
синхронно по задния
фронт на
импулсите от
тактовия
генератор.
Това означава,
че при запис
в Рг.МК и в Бр.ЕТ по
сигнала “Строб”, тяхното ново
съдържание
се появява на
техните
изходи по
неговия
заден фронт.
Такова е и
превключването
на брояча Бр.ЕТ при
постъпване
на входните импулси
“-1”. Всяко ново
състояние,
резултат от постъпване
на входен
импулс, се
появява по неговия
заден фронт.
Този процес на превключване подробно е представен чрез времедиаграмата от фигура 6.3. На времедиаграмата е изобразен временен участък от три последователни микротакта при функционирането на микропрограма, съдържаща микрооперациите, който са представени на фигура 6.1.
Фиг.
6.3. Времедиаграма
на
микротактове
с различна
продължителност
В
първия такт
микрокомандата
издава
управляващия
сигнал УС13,
който е с
продължителност
4 елементарни
такта (W=4).
Началната
стойност за
брояча – (W-1)=3,
намираща се в
микрокомандата,
се записва в Бр.ЕТ
по задния
фронт на
сигнала “Строб” . В
същото време
пропада
признакът EQ,
тъй като записаното
съдържание в
брояча е
различно от
нула.
Едновременно
с това
възниква
неговата
инверсна
фаза, която
разрешава
изваждащия
вход на
брояча. Така
започва
намаляване
на неговото
съдържание
до пълното му
нулиране,
когато
логическите
стойности на
двете фази на
признака EQ
отново се
сменят и
процесът се
повтаря.
Вторият
микротакт е с
продължителност
един
елементарен
такт (W=1) и
началната
стойност,
която се
записва в Бр.ЕТ е нула.
Тази, втора
по ред
микрокоманда,
издава
управляващия
сигнал УС72, а
следващата
микрокоманда
издава
управляващите
сигнали УС15 и
УС7, които са с
продължителност
6Т (W=6).
Онова,
което следва
да се поясни
още, се отнася
до
изпълнението
на адресните
изчисления и
адресните
преходи.
Всъщност
апаратурата,
която
управлява
продължителността
на
микротакта,
няма никакво
отношение към
формирането
на адреса на
следващата микрокоманда,
ето защо на
фигура 6.2 е
изобразена
само тя.
Онази част от
логическата
структура на
управляващото
устройство,
която е
отговорна за
формирането
на адреса на
следващата
микрокоманда,
т.е. е
отговорна за
изпълнението
на
съответния
алгоритмичен
преход,
трябва само
да успява да
изпълни своята
задача доста
преди
пристигането
на сигнала “Строб”
на
записващия
вход на Рг.МК. Този
сигнал
трябва да
заварва вече
прочетената от
МПП
микрокоманда,
за да може да
я фиксира по
задния си
фронт
надеждно в Рг.МК.
На
практика
обаче (имаме
предвид
реалната елементна
база)
повечето
интегрални
схеми,
реализиращи
регистри или
броячи, се
превключват
по предните
фронтове на
въздействащите
им сигнали –
управляващи
и входни.
Това положение
прави
времедиаграмата
от фигура 6.3
неправилна,
което се
отнася и до
функциите (6.2) и
(6.3). В този
конкретен
случай
правилните
превключвания
са
изобразени
на фигура 6.4, от
която може да
се види, че
уравненията
на
логическите
функции на
сигнала за
запис на
микрокомандата
и на импулса “-1”,
се променят
както следва:
Изваждащите
импулси
следва да се
“изрежат” от
тактовата
последователност
чрез условието:
където
EQ=1, когато (Бр.ЕТ)=0,
а
записващият
следващата
микрокоманда
сигнал – чрез
условието:
Фиг.
6.4. Времедиаграма
при
превключване
от предни
фронтове
В резултат на проведения синтез и новополучения вид на логическите функции (6.5) и (6.6), логическата структура от фигура 6.2 приема следния нов вид:
Фиг.
6.5. Логическа
структура с
възли,
превключващи
се по преден
фронт
Представеното тук решение на задачата за реализация на идеята за асинхронно управление не е единствено. Търсенето на други идеи може да бъде полет на мисълта на читателя. Освен това му препоръчваме да анализира представеното решение в останалите случаи на възможни превключвания (имат се предвид различните фронтове), които могат да се съчетаят при съответните случаи на превключване на логическите възли Рг.МК и Бр.ЕТ.
Смисълът
от
реализацията
на микротакт
с променлива
продължителност
е максималното
доближаване
до
асинхронния
метод за управление
на
логическите
структури.
Приемаме, че
неговите
предимства
са добре
известни на
читателя и
няма да бъдат
допълнително
извеждани
тук.
Реализацията
на
асинхронния
метод обаче
може да бъде
постигната
само за относително
прости
алгоритми,
които не довеждат
до
проявяване
на неговия
основен недостатък
– усложняване
на
логическата
структура на логическите
възли и
увеличаване
на апаратните
разходи, за
което
препоръчваме
на читателя книга [5].
В
духа на
по-горе
направеното
изложение и представените
решения ще
добавим още
едно решение,
което
предлагат
конструкторите.
Става дума за
интегралната
схема Am2925. Това е
тактов
генератор с
вграден
програмируем
на всеки
отделен такт
делител на
основната
тактова
честота.
Продължителността
на
микрокомандата,
в брой
тактове на
основната
честота, се
програмира в
структурата
на
микрокомандата.
Това число
(СО1,СО2,СО3) се
зарежда в
регистъра за
управление
на делението,
който е
3-битов, в края
на изходната
фаза, когато
на изход С1 се
появи ниско
ниво на
сигнала. За
да поясним
функционирането
на
генератора,
ще
разгледаме
неговата
логическа
структура.
Извод
№ |
Обозначение |
Тип
извод |
Функционално
предназначение |
1 |
GND |
- |
Общ |
2 |
RA |
Вход |
Сигнал ”Готов” |
3-5 |
CO1-CO3 |
Входове |
Управление
продълж. на
микроцикъла |
6 |
C1 |
Изход |
Тактов
сигнал, фаза 1 |
7 |
C2 |
Изход |
Тактов
сигнал, фаза 2 |
8 |
C3 |
Изход |
Тактов
сигнал, фаза 3 |
9 |
C4 |
Изход |
Тактов
сигнал, фаза 4 |
10 |
COSC |
Изход |
Режим
на
управление |
11 |
COSO |
Изход |
Режим
на
управление |
12 |
0VGN |
- |
Общ
генератор
на опорната
честота |
13 |
+5VGN |
- |
Напрежение |
14 |
F |
Изход |
Основна
честота |
15 |
FC1 |
- |
За
външен
кварцов
резонатор |
16 |
FC2 |
- |
За
външен
кварцов
резонатор |
17 |
COS |
Вход |
Управление
С1-С4 в
“Установяване” |
18 |
HLT |
Вход |
Спиране
на
изходните
тактове |
19 |
ST |
Вход |
Сигнал
“Пуск” |
20 |
WI |
Изход |
Сигнал
“Очакване” |
21 |
RQWI |
Вход |
Сигнал
“Заявка за
спиране” |
22 |
SR |
Вход |
Първоначално
установяване |
23 |
EWI |
Вход |
Сигнал
“Разрешение
за спиране” |
24 |
UCC |
- |
Напрежение |
Фиг. 6.6. Обобщена структура на генератора
Генераторът извежда 4 тактови последователности (С1,С2,С3,С4). Времедиаграмите на тези тактови последователности зависят от коефициента на деление. Всички те са един и същи период, но единичният импулс в рамките на този период има различно разположение и продължителност, което дава на Конструктора избор за управление на съответния логически възел. Възможностите са 8 и са сведени в следващата таблица.
Таблица на формите на изходните тактови импулси
Код на коефициента С3 С2 С1 |
ФОРМА |
0
0 0 |
|
0
0 1 |
|
1 0
1 |
|
1 1
1 |
|
0 1
1 |
|
0 1
0 |
|
1 1
0 |
|
1 0
0 |
|
Както
се вижда от
горната таблица,
кодът на
коефициента
за деление
(СО3,СО2,СО1) е
3-битов и не
съответства
на съответното
цяло число,
показващо
броя на
елементарните
тактове (от 3.EТF до 10.EТF). При това
положение
потребителят
следва да
програмира
продължителността
на всяка микрокоманда
по формулата
(Ω-3), след
което да
извърши
необходимото
преобразуване
на двоичната
стойност в
цифров код,
както е
посочено в
следващата
таблица.
ЕТ |
NUM |
b2 |
b1 |
b0 |
CO3 |
CO2 |
CO1 |
3 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
4 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
5 |
2 |
0 |
1 |
0 |
1 |
0 |
1 |
6 |
3 |
0 |
1 |
1 |
1 |
1 |
1 |
7 |
4 |
1 |
0 |
0 |
0 |
1 |
1 |
8 |
5 |
1 |
0 |
1 |
0 |
1 |
0 |
9 |
6 |
1 |
1 |
0 |
1 |
1 |
0 |
10 |
7 |
1 |
1 |
1 |
1 |
0 |
0 |
Следва
да се обърне
внимание на
кода (СО3,СО2,СО1),
който е код
на Емери, или
известен още
като съседен.
Достойнството
на този код е
в това, че
засилва
надеждността
на схемата.
Логическата
структура на
микрокомандата
следва да
съдържа
3-битово поле,
в което
програмистът
да записва
кода на
продължителността
(СО3,СО2,СО1). Освен
това поле в
структурата
на микрокомандата
трябва да се
съдържат
всички битове,
чиито
стойности ще
се подават на
съответните
входове на
тактовия
генератор.
Самият той
замества
брояча Бр.ЕТ
в
логическите
структури,
представени
на фигурите 6.2
и 6.5. Ние няма да
представяме
тук всички
онези
подробности,
които трябва
да се съобразят
според
предписанията
на техническата
документация
на схемата на
тактовия
генератор. Ще
добавим само
някои
финални
бележки.
Както
се вижда от
таблицата с
формите на изходните
сигнали, само
във формата
на сигнал С1
винаги се
съдържа
времеви
интервал с продължителност
1.EТF. Това ни
дава
възможността
да формираме
по нов начин
сигнала
“Строб” за
запис на
новата
микрокоманда
в регистъра на
микрокомандите
(вижте
по-горе
фигури 6.2 или 6.5),
който
определя
зависимостта
(6.6), както следва.
Така
според тази
зависимост,
записът на новата
микрокоманда
ще се
извършва от
краткия
единичен
импулс F
на основната
честота, в
края на
текущата микрокоманда,
което е
показано на
следващата
времедиаграма.
Фиг. 6.7. Сигнал “Строб” според зависимостта (6.7)
Следващият
раздел е: