Студентам > Курсовые > Методичка для курсового проектирования по ПТЦА
Методичка для курсового проектирования по ПТЦАСтраница: 1/5
УПРАВЛЯЮЩИЕ АВТОМАТЫ.
ОСНОВНЫЕ СПОСОБЫ АДРЕСАЦИИ МИКРОКОМАНД
Начнем с рассмотрения простейшего варианта
управления, в
котором не участвуют предикатные функции (переменные),
т.е. в
микропрограмме переходы только безусловные. В таком
случае УА
является автономным синхронным автоматом.
В более общем случае функция переходов УА
зависит от
предикатных переменных, но УА должен быть автоматом Мура.
Условимся о некоторых ограничениях, позволяющих
упрос-
тить схему на начальных этапах проектирования (от
которых
легко впоследствии и отказаться):
- на каждом шаге процесса вычислений ветвление может
осу-
ществляться только по одной двузначной предикатной
перемен-
ной (т.е. разветвление возможно лишь на два
направления);
- начальные значения всех регистров УА являются
нулевыми.
Впредь на схемах УА не будем показывать цепей установки
на-
чальных значений.
Для реализации в самом общем случае микропрограмм
произ-
вольной структуры будем строить УА так, чтобы основным
мате-
риальным носителем управляющей (автоматной) компоненты
мик-
ропрограммы являлась бы управляющая память
(реализованная,
например, в виде ПЗУ). В этом случае структура слова
управля-
ющей памяти - МИКРОИНСТРУКЦИЯ - состоит из двух
составных
частей: микрокоманды и адресной части.
Адресная часть микроинструкции содержит информацию,
поз-
воляющую в следующем такте работы выбрать ( указать )
новый
адрес управляющей памяти. Реализация именно этого момента
яв-
ляется основным предметом дальнейшего рассмотрения и
опреде-
ляет, в основном, структуру, объем аппаратуры и
быстродей-
ствие УА. При этом подлежит рассмотрению реализация следующих
типов переходов как между шагами алгоритма, так,
соот-
ветственно, и между микроинструкциями:
- безусловный переход,
- условный переход,
- функциональный переход,
- переход к микроподпрограмме с возвратом.
Будем изучать работу управляющих автоматов
различной
структуры, демонстрирующие основные применяемые варианты
ад-
ресации микроинструкций, на следующем алгоритме:
███
┌───┐│
│ ┌VV─┐
n1│ │m1 │ n1 { m1
}
│ └─┬─┘
│ ┌─V─┐ n2
{ m2 }
n2│ │m2 │
│
└─┬─┘ g1
<<GO(a;g1,n3)>>
│ │<──┐
│ ┌V┐ 0│
n3 { m3 }
g1│ < a >─┘
│ └┬┘
n4 { m4 }
│
1│<────┐
│
│┌───┐│ g2
<<GO((a,b);n5,n3,n1,n1)>>
│ ┌─VV┐ ││
n3│ │m3 │
││ n5 { m5 }
│ └─┬─┘
││
│ ┌─V─┐
││ g3 <<GO(a;n5,n3)>>
n4│ │m4 │ ││
│ └─┬─┘
││
│10 ┌V┐ 01││
g2└──<
ab>──┘│
11 └┬┘ │
00│┌───┐│
┌─VV┐ ││
n5 │m5 │ ││
└─┬─┘ ││
┌V┐ 0 ││
g3 < a >──┘│
└┬┘ 1 │
└─────┘
Укажем на некоторые особенности этого алгоритма:
Опера-
тор перехода (предикатная вершина), помеченный меткой
g1,
называют ждущим. Оператор, помеченный меткой g2,
использует
для перехода 4-значный предикат, что не удовлeтворяет
выше-
указанному ограничению. Поэтому потребуются
эквивалентные
преобразования алгоритма для того, чтобы удовлетворить
этому
ограничению.
Алогоритмы эквмвалентны, если они преобразуют
информа-
цию одинаковым образом. Наиболее распространенным приемом
эк-
вивалентного преобразования алгоритмов и микропрограмм
явля-
ется включение микроблоков и, соответственно, тактов, в
кото-
рых не выполняется модификация памяти ОА - "нет
операции".
Но и это преобразование может быть не эквивалентным -
см.при-
мер при определении понятия "микроблок"; кроме
того, следует
учесть различное поведение во времени предикатных
переменных
типа "РА" и "РВ" - см. раздел
"Взаимодействие ОА и УА".
( Запретить модификацию памяти можно, вводя
условную
синхронизацию ОА, но для этого должна быть изменена
микроко-
манда, предшествующая добавляемому такту.)
СХЕМА С АДРЕСНЫМ ПЗУ
Начнем рассмотрение с управляющего автомата,
структура
которого совпадает с канонической структурой автомата
Мура.
┌───┐
┌───┐
┌┬──┬┐
┌───┐
│MUX│ q │ROM│
││RG││ │ROM│
a─>┤0
├──>┤ │ S' ││ ││ S
│ │ Y
b─>┤1 │ │
╞═══>╡│
│╞═╦>╡ ╞══>
│ │ ╔>╡
│ ││ ││ ║ │
├─┐
│А │ ║ │ 2 │
C││ ││ ║ │ 1 │ │
└A──┘ ║
└───┘
─/┴┴──┴┘ ║
└───┘ │
│ H
╚═════════════════╝
│
└──────────────────────────────┘
Функцию перехода и функцию выхода реализуем в виде
ПЗУ.
В литературе, рассматривающей микропрограммные устройства
уп-
равления, УА с такой структурой называют микропрограммным
ав-
томатом Уилкса.
В ПЗУ (ROM_1), реализующем функцию выхода, следует
раз-
местить микрокоманды; при этом их распределение по
определен-
ным адресам совершенно произвольно, за исключением
начальной
микрокоманды, которая в силу вышеуказанного ограничения
дол-
жна располагаться по нулевому адресу.
ПЗУ (ROM_2), реализующее функцию переходов
автомата,
можно трактовать как адресное ПЗУ. Ячеек в адресном ПЗУ в
два
раза больше, чем в ПЗУ микрокоманд. Каждой ячейке ПЗУ
микро-
команд соответствуют две ячейки в адресном ПЗУ, в которых
за-
писываются два альтернативных адреса.
n1 { m1 } S│ Y
H│ S q│S'│
─┼────┤
───┼──┤
n2 { m2 } 0│m1
x│ 0 0│ 1│
│
│ 0 1│ 1│
<<GO(a;d1,n3)>>
│ │ │ │
1│m2
0│ 1 0│ 2│
d1 { m0 } │
│ 1 1│ 3│
│
│ │ │
<<GO(a;d1,n3)>>
2│m0 0│ 2 0│ 2│
│
│ 2 1│ 3│
n3 { m3 } │
│ │ │
3│m3
x│ 3 0│ 4│
n4 { m4 } │
│ 3 1│ 4│
│
│ │ │
<<GO(a;d2,n1)>>
4│m4 0│ 4 0│ 5│
│
│ 4 1│ 0│
d2 { m0 } │
│ │ │
5│m0
1│ 5 0│ 6│
<<GO(b;n5,n3)>>
│ │ 5 1│ 4│
│
│ │ │
n5 { m5 } 6│m6
0│ 6 0│ 6│
│
│ 6 1│ 4│
<<GO(a;n5,n3)>>
─┴────┘
───┴──┘
Конвейерный вариант схемы с таким же способом
адресации
должен программироваться с учетом замечаний, сделанных в
раз-
деле "Взаимодействие ОА и УА". Кроме того,
ограничения на
расположение микрокоманд в ROM_1 выглядят несколько
иначе: по
0-адресу в ROM_1 можно расположить микрокоманду, после
кото-
рой безусловно выполняется начальная микрокоманда.
┌───┐ q
┌───┐ ┌───┐
┌┬──┬┐
│MUX├──────────>┤ROM│
│ROM│Y ││RG││ Y'
a─>┤0 │ C │
│ S │ ╞══>╡│
│╞══>
b─>┤1 │
─/┬┬──┬┐ │
╞═╦>╡ │H ││ ││
│ │
╔>╡│RG│╞═>╡ │ ║
│ ├──>┤│ │├┐
│А │ ║ ││
││S'│ 2 │ ║ │ 1 │ C││
│││
└A──┘ ║
└┴──┴┘ └───┘
║ └───┘
─/┴┴──┴┘│
│H'
╚═══════════════╝
│
└────────────────────────────────────┘
|