МИКРОПРОГРАММНЫЕ УСТРОЙСТВА УПРАВЛЕНИЯ
1. СТРУКТУРА МИКРОПРОГРАММНЫХ УСТРОЙСТВ
При построении относительно несложных цифровых устройств можно воспользоваться рассмотренными выше методами синтеза. Однако при построении устройств средней и большой сложности применение этих методов неоправдано из-за чрезмерно громоздких и трудоемких процедур синтеза. Для построения таких цифровых устройств целесообразно использовать принцип микропрограммного управления. Обобщенная структурная схема управляющего автомата (УА), реализующего данный принцип, изображена на рис. 6.1 (здесь УУ — узел управления, ОУ — операционный узел).
Операционный узел состоит из устройств, в которых обрабатывается и хранится информация, а именно: счетчиков, регистров, дешифраторов, сумматоров, схем сравнения, блоков памяти и т. п. Используя набор этих устройств, можно производить обработку поступающей информации (x
i+1, ..., xm}. Результатом ее обработки является выходная информация (Z1, Z2, .., Zk).Узел управления координирует работу ОУ. Он формирует управляющие сигналы (y
1, у2, ..., у„) для ОУ, которые выполняют в нем определенные действия. Каждый из этих сигналов реализует в определенном ОУ элементарные действия, которые называются микрооперацией (МО), т. е. микрооперация — это элементарный неделимый акт обработки информации в ОУ, происходящий в течение одного такта. Время, в течение которого выполняется одна команда, называется циклом УУ.Задание последовательности выполнения команд осуществляется в УУ посредством счетчика адреса команд, содержимое которого увеличивается на единицу после выбора очередной команды. Управляющие сигналы в УУ формируются с помощью тактовых импульсов. Одновременно (в одном и том же тактовом периоде) может выполняться некоторая совокупность МО, образующая микрокоманду (МК), т. е. микрокоманда — это совокупность МО, выполняемых одновременно за один такт. Набор МК, реализующих заданный алгоритм, образует микропрограмму.
Формирование МК может быть связано с определенными условиями, т. е. с определенным состоянием ОУ. Эти условия формируются на выходе х
1, x2, ..., хi и подаются на вход УУ. По этим условиям, а также по внешним условиям хi+1, xi+2, ..., хm выполняются условные переходы, а результаты обработки передаются на выход Z1, Z2, ...., Zk.Управляющий автомат, назначением которого является реализация микропрограммы (т. е. управление ее выполнением), называется м и к р о-
Рис. 6.2. Разновидности вершин графов:
и—начальная; б—конечная; в—операторная; г — условная; б—ждущая
программным автоматом (МПА). Последний можно реализовать на принципе “жесткой” (синтезируемой) логики или на принципе программируемой логики.
2. СПОСОБЫ ЗАПИСИ МИКРОПРОГРАММ
Для записи микропрограмм в компактной форме используются граф-схемы алгоритмов (ГСА), которые представляют собой ориентированный связанный граф и имеют пять типов вершин (рис. 6.2). Начальная вершина (рис. 6.2, а) не имеет входов, имеет только один выход и определяет начало микропрограммы. Конечная вершина (рис. 6.2, б) имеет один вход и определяет конец микропрограммы. Операторная вершина (рис. 6.2, б) имеет один выход и один вход; в нее вписывают МО, выполняемые в течение одного машинного такта. Условная вершина (рис. 6.2, г) имеет один вход и два выхода; с ее помощью отождествляется выполнение логического условия (1 или 0). Ждущая вершина (рис. 6.2, д) имеет один вход и два выхода; с ее помощью можно описывать ожидание в работе дискретных устройств.
При составлении ГСА операций необходимо руководствоваться следующими правилами:
1) ГСА должна содержать одну начальную, одну конечную и ко. нечное множество операторных и условных вершин;
2) каждый выход ГСА соединяется только с одним входом;
3) входы и выходы различных вершин соединяются дугами, направленными от выхода ко входу;
4) для любой вершины ГСА существует, по крайней мере, один путь из этой вершины к конечной вершине, проходящей через операторные и условные вершины в направлении соединяющих их дуг;
5) в каждой операторной вершине записываются МО, составляющие МК y
i, где t==\,2,...,n, являющуюся подмножеством множества МО у ==={y1, ••• . yN}, yt
М y;6) в каждой условной вершине записывается один из элементов множества логических условий х =
(x1, x2, ... , хl);7) начальной вершине ставится в соответствие оператор у
0 , а конечной—уn+1 или yk.На рис. 6.3 показан пример микропрограммы, записанной на языке ГСА. Оператор
Y 1 содержит МО y1, y6 , Y2 —y2, Y3 — y3y4y5y7.На
сложность выполняемого устройства влияет количество операторных и ждущих вершин в ГСА. Для минимизации числа операторных вершин разработаны специальные методы.3. СИНТЕЗ МПА С ИСПОЛЬЗОВАНИЕМ “ЖЕСТКОЙ” ЛОГИКИ
Синтез МПА с “жесткой” логикой проще всего рассмотреть на конкретном примере. В качестве такового рассмотрим операцию перемножения двоичных чисел A
1 и A2 без знака. Пусть A1 = 11012,а A2== = 101 г. ТогдаОсобенность формирования произведения в цифровых устройствах состоит в том, что в каждом такте производится суммирование только двух разрядов (т. е. в сумматоре происходит последовательное сложение). При этом произведение будет иметь суммарное число разрядов сомножителей.
Для выполнения операции умножения необходимо выполнить следующие операции:
1. Сумматор установить в нулевое состояние.
2. Прибавить к содержимому сумматора первое частичное произведение.
3. К содержимому сумматора прибавить сдвинутое на разряд вправо второе частичное произведение.
4. Далее аналогично прибавить третье, четвертое и последующие частичные произведения.
После
n тактов суммирования в сумматоре сформируется произведение. Процесс умножения двух чисел отражен в табл. 6.1 (здесь RG2— регистр множимого, RG1—регистр множителя, SM—сумматор). Младшие разряды произведения записываются в разряды RG1, освободившиеся при сдвиге множителя, а старшие хранятся в сумматоре.3.1. Выбор схемы операционного устройства
Задача синтеза (выбора) схемы является неформализованной задачей. Трудность построения эффективного алгоритма выбора операционного автомата связана с многочисленностью алгоритмов выполнения одной и той же операции в машине и многообразием схемных решений, которые могут использоваться для реализации алгоритма. По этой причине выбор структуры операционного автомата носит в основном качественный, эвристический характер. Основной принцип выбора заключается в отборе структуры операционного автомата с минимальными аппаратурными затратами, которая обеспечивала бы выполнение необходимой операции за требуемое время.
Для реализации описанной выше операции умножения необходимы следующие типовые логические узлы:
1) два регистра (регистр множимого
RG2 и регистр множителя RG1);2) сумматор (5М);
3) счетчик (СТ) для подсчета числа суммировании. На рис. 6.4 показаны обозначения этих узлов на схемах. Схема на рис. 6.4 реализует операционный автомат для вычисления произведения без учета знака (здесь у
1— установка SM в нулевое состояние (SM:=0); y2 в сумматор подается сумма, которая суммируется с содержимым второго регистра (SM: = SM + RG2); у3 — пересылка содержимого первого регистра в первый регистр со сдвигом вправо (RG1 = R1 (RG1)); y4 — сдвиг содержимого сумматора вправо (SM := R1 (SM)); y5—перенос младшего разряда сумматора в старший разряд регистра (RG1[n]: = SM [1]); y6 — ввод в счетчик числа п (СТ: = п); y7 — сигнал выполнения операции счета, т. е. в счетчик пересылается сигнал, уменьшающий его показание на единицу (СТ: = СТ— 1).3.2. Синтез УУ как МПД
Устройство управления может быть построено как автомат Мили или как автомат Мура. Так как в большинстве случаев у МПА Мили меньше число внутренних состояний, а следовательно, и меньше число элементов памяти, то предпочтение чаще отдается схеме МПА Мили.
Синтез УУ осуществляется' в следующем порядке:
1) строится содержательная ГСА;
2) строится ГСА с закодированными МО;
3) строятся графы переходов автомата и его структурная таблица;
4) производится кодирование состояний автомата;
5)
выполняется синтез комбинационной схемы автомата;6) составляется структурная схема УУ.
Содержательная ГСА умножения двух чисел изображена на рис. 6.5. ГСА отображает циклическое выполнение операций. Она начинается с блока инициализации цикла. Первый блок устанавливает значение
SM, равным нулю, и значение итераций п (соответствующее числу битов множителя) на счетчик. Во втором блоке производится анализ содержимого младшего разряда RG1 на наличие в нем единицы. При ее наличии в младшем разряде множимого осуществляется переход к третьему блоку, в котором производится суммирование. В случае нулевого значения в младшем разряде RG1 происходит переход к четвертому блоку, где реализуются сдвиг RG1, перенос содержимого младшего разряда сумматора в старший разряд RG1, сдвиг содержимого сумматора и уменьшение показания счетчика на единицу. В пятом блоке анализируется состояние счетчика на наличие в немРис. 6.5. Содержательная ГСА умножения двух чисел
Рис. 6.6. ГСА с закодированными МО
нулей. В противном случае описанный цикл повторяется. Наличие нулей в счетчике свидетельствует об окончании операции умножения. ГСА с закодированными МО показана на рис. 6.6.
Для получения графа МПА граф-схема автомата размечается состояниями МПА. С этой целью выход начальной вершины и вход конечной вершины отмечаются начальным состоянием автомата а
1, а входы всех вершин, следующих за операторными,—состояниями a2, a3, ...., an автомата. Важно, чтобы отмечаемая вершина следовала за операторной. Пример разметки состояний автомата дан на рис. 6.6. На втором этапе синтеза строится граф МПА (рис. 6.7). Каждая отметка в ГСА представляется узлом на графе и характеризует устойчивое состояние автомата. Дугами показываются переходы из одного состояния в другое. Над каждой дугой ставятся условия перехода и выдаваемые сигналы МО. На переходе a4a1 автомат выходных сигналов не вырабатывает, что отмечается в графе прочерком. Далее синтезируется УУ по общим правилам структурного синтеза.При описании автоматов с большим числом состояний и переходов наглядность графического представления теряется. В этом случае МПА задается в виде структурной таблицы. При синтезе МПА по ГСА возможно сразу, минуя граф МПА, строить его структурную таблицу. Такие таблицы могут быть прямыми и обратными. Последние удобнее для синтеза МПА.
Существенное значение при синтезе МПА имеет способ кодирования внутренних состояний, поскольку от него зависит сложность комбинационной схемы МПА. В несложных схемах кодирование близко к оптимальному и реализуется с помощью переборов, а в более сложных — посредством специальных алгоритмов поиска такого кодирования [3].
По графу МПА, изображенному на рис. 6.7, построим структурную таблицу (табл. 6.2), так как с ее помощью проще производить запись аналитических выражений функций возбуждения триггеров и функций выходов.
Таблица 6.2. Структура графа МПА
Исходное состояние |
Код исходного состояния (Qm) |
Состояние перехода |
Код состояния перехода К(а s) |
Входной сигнал x(am, as) |
Входной сигнал y(am, as) |
Функции возбуждения элемента памяти на переходе (am, as) |
|||
Q1, |
Q2 |
Q2. |
Q1 |
R |
S |
||||
a1 |
0 |
0 |
a2 |
0 |
1 |
1 |
y1 |
— |
S1 |
a2 |
0 |
1 |
a3 |
1 |
0 |
x1 |
y2 |
R2 |
S2 |
a3 |
1 |
0 |
a4 |
1 |
1 |
1 |
Уз |
— |
S1 |
a4 |
1 |
1 |
a2 |
0 |
1 |
— |
R2 |
— |
|
a4 |
1 |
1 |
a1 |
0 |
0 |
X2 |
— |
R1R2 |
— |
a2 |
0 |
1 |
a4 |
1 |
1 |
Уз |
— |
S2 |
Рис. 6.8. Функциональная схема умножителя двоичньЙ чисел
Поскольку автомат по ГСА на рис.6.6 имеет только четыре состояния, для их кодирования достаточно применить два элемента памяти
(Q1 и Q2), используя асинхронные элементы типа RS, а кодирование произвести по табл. 6.3.На основании таблицы переходов асинхронного RS-триггера заполняются колонки для R и S. Операторы Y
1 =y1, у6 ; Y3 = y2; Y3= yз, y4, y5, y7Так как структурная табл. 6.2 есть граф МПА, заданный в виде списка, то из нее можно получить выражения функций возбуждения триггеров и функций выходов МО аналогично тому, как это делается при графическом методе структурного синтеза автоматов.
На основании табл. 6.2 имеем:
Проанализировав выражения (6.1), можно прийти к выводу, что в них многократно повторяются конъюнкции выходных сигналов
Q триггеров и входных сигналов х. В связи с этим в схему можно ввести дешифратор состояний автомата со следующими выходными сигналами:,,
Рис. 6.9. Процессорное устройство На основании полученных выраже- ддд выполнения N-то количестваний построим функциональную схему операций умножителя двоичных чисел (рис. 6.8).
В качестве дешифратора
DC используем демультиплексор. На схеме у^—у, — сигналы, поступающие в умножитель; ТЗ, Т4 предназначены для сохранения на входе DC сигналов Qi и Qg B течение всего времени действия синхронизирующего сигнала.В тех случаях, когда процессорное устройство допускает выполнение большого количества операций, для каждой операции в УУ предусматривается отдельная управляющая схема (рис. 6.9).
Дешифратор раскодирует команду и подключает одно из УУ. На выходе УУ формируется определенная последовательность сигналов МК, а в ОУ она выполняется.
Последовательность команд называется программой. Программа хранится в ОП. Из ОП команды выбираются в определенной последовательности и подаются в УУ.
4. МИКРОПРОГРАММНЫЙ ПРИНЦИП УПРАВЛЕНИЯ ОПЕРАЦИЯМИ
Микропрограммирование—
это метод проектирования и реализации функций управления системы обработки данных, опирающийся на последовательность управляющих сигналов, которые служат для интерпретации фиксированных или динамически изменяемых операций обработки данных. Эти управляющие сигналы, представленные в виде слов и хранящиеся в фиксированной или динамически изменяемой памяти УУ, отражают состояния сигналов, которые управляют потоком информации между исполнительными функциональными узлами и задают упорядоченный переход от одних таких состояний к другим [29].Отличие МПА с “жесткой” логикой от МПА с программируемой логикой состоит в том, что в МПА с “жесткой” логикой закон функционирования определяется способом соединения логических элементов, в то время как в МПА с программируемой логикой он задается программой, хранимой в ячейках памяти, называемых управляющей памятью, либо памятью МК.
Выполнение каждой операции расчленяется на последовательность элементарных действий, таких как сдвиг регистра, установка его в ну-
Рис.
6.10. Формат МКРис. 6.11. Обобщенная структурная схема микропрограммируемого УУ
левое состояние, запись в регистр числа, перенос из одного регистра в другой и т.д. Такие элементарные действия, выполняемые с
приходом тактирующего импульса, называются микрооперациями (МО). На каждую МО составляется МК, в которой указывается, в какие из управляющих цепей должны поступать импульсы в данном такте. Совокупность МК называется микропрограммой. Микропрограммы составляются на каждую операцию, которую необходимо выполнить.
Выбирая в определенной последовательности содержимое ячеек памяти, т. е. МК, их подают на вход операционного устройства, где они выполняются. При таком принципе управления операциями в каждом такте определяется адрес в управляющей памяти, откуда должна считываться МК. В этом случае нет необходимости создавать сложные УУ. Программа, выполняемая таким устройством, помещается в ПЗУ либо в ПЛМ.
Микрокоманда, помещаемая в ПЗУ при микропрограммном принципе управления, имеет ряд полей (рис. 6.10).
Обобщенная структурная схема микропрограммного УУ показана на рис. 6.11.
По состоянию полей адреса и условных переходов в текущей МК, а также по значению условий, выдаваемых ОУ в процессе выполнения текущей МК, в блоке микропрограммного управления ЕМУ формируется адрес ячейки памяти микропрограммы, в которой хранится следующая МК. В следующем тактовом периоде МК считывается и поступает в ОУ, который выполняет данную МК, а ЕМУ формирует адрес очередной МК, и так происходит до тех пор, пока не будет выполнена вся микропрограмма. В памяти может храниться несколько микропрограмм для решения различных задач. В зависимости от содержания команды выполняется требуемая микропрограмма. Команда содержит адрес выполняемой МК той микропрограммы, которая будет выполняться, а последующая МК этой микропрограммы определяется автоматически. Такой способ микропрограммного управления называется управлением с естественной адресацией и нашел наиболее широкое распространение в микропроцессорной технике. Упрощенная структурная схема УУ при использовании естественной адресации изображена на рис. 6.12.
При естественной адресации используются МК двух типов: управляющие и операционные (рис. 6.13). Типы МК различаются по зна-
Рис. 6.12. Упрощенная структурная схема УУ с естественной адресацией
чению разряда Р : Р = О, если МК операционная, и Р = 1, если МК управляющая.
Определение адреса следующей МК производится с помощью счетчика адреса микрокоманды СЧАМК- Посредством операционной МК вырабатываются сигналы y
1, у2 ..., yn и автомат переходит к следующему адресу.Управляющая команда предназначена для изменения естественного порядка ее выполнения. С помощью этой МК реализуются условные и безусловные переходы в соответствии со значениями проверяемых условий
xi.Если в поле х есть единица, то проверяется значение соответствующей переменной
xl: при xl == 1 адрес следующей МК соответствует А + 1, при xl = 0 следующий адрес формируется за счет содержания поля В, т. е. происходит безусловная передача управления МК с адресом В.Сигнал Ф2 предназначен для занесения информации в адресный регистр СЧАМК., Ф\ —для считывания МК из ПЗУ и занесения ее в регистр МК.
Синтез автоматов с программируемой логикой состоит из следующих этапов:
1) определение формата операционной части МК;
2) синтез формата адресной части МК;
3) синтез структурной схемы автомата;
4) построение карты программирования ПЗУ или ПЛМ.
В связи с тем, что структура УУ автомата с микропрограммным управлением стандартна, усилия разработчиков должны быть направлены не на получение структурной схемы, а на составление кодированной микропрограммы, которая записывается в ячейки ПЗУ. В качестве примера составления такой микропрограммы рассмотрим программу умножения двух чисел по граф-схеме алгоритма на рис. 6.6.
На рис. 6.14 дано обозначение МК. Формат МК для реализации этой программы показан на рис. 6.15.
Временная диаграмма работы блока процессорного устройства изображена на рис. 6.16. Во время тактового периода Т последовательно производится чтение МК в управляющую память УП, а затем исполнение считанной МК в ОУ. Необходимость выделения в тактовом периоде времени на чтение МК приводит к увеличению длительности тактового периода Т, а следовательно, к снижению быстродействия системы.
Стремление повысить быстродействие процессорного устройства привело к совмещению во времени независимых МК. Способ выполнения микропрограмм, при котором осуществляется частичное наложение нового цикла на предыдущий, называется конвейерным. Временная диаграмма, поясняющая конвейерный принцип работы процессора, показана на рис, 6.17. При конвейерном принципе в одном и том
Таблица 6.4. Кодированная микропрограмма умножения двух чисел МК
с; и |
^ |
Поле условных переходов |
Поле управляющих сигналов |
||||||||
"S "S &“" |
и ^ |
Условный |
|
|
|
|
|
|
|
|
|
5s |
я§ < с |
переход |
х ! |
Xt |
Vi |
Уг |
i/1 |
г/4 |
У-, |
Vi |
У; |
0000 |
0001 |
о |
о |
о |
1 |
о |
о |
о |
о |
1 |
о |
|
) ———————————-, |
|
|
|
|
|
|
|
|
||
|
+ 1 |
|
|
|
|
|
|
|
|
||
0001 |
0010 |
1 |
1 |
о |
0 |
о |
о |
о |
о |
о |
о |
0010 |
0100 |
о |
о |
о |
о |
1 |
о |
1 |
1 |
о |
1 |
ООН |
0010 |
о |
о |
о |
о |
о |
1 |
о |
о |
о |
о |
0100 |
0101 |
о |
о |
о |
о |
о |
о |
о |
о |
о |
о |
|
+ 1 |
|
|
|
|
|
|
|
|||
0101 |
OilO |
1 |
о |
1 |
о |
о |
о |
о |
о |
о |
о |
оно |
0001 |
о |
о |
о |
о |
о |
о |
о |
о |
о |
о |
от |
|
|
|
|
|
|
|
|
|
|
|
Таблица 6.5. Порядок исполнения команд при выполнении программы умножения
же тактовом периоде выполняется n-я МК, в УП формируется
(n + 1)-я МК, а в БМУ формируется (n + 2)-я МК.Кодированная микропрограмма умножения двух чисел приведена в табл. 6.4. Порядок исполнения команд при выполнении программы умножения указан в табл. 6.5. Если в команде есть условные переходы, то адрес очередной МК формируется из содержимого поля адреса этой МК путем замены младшего разряда значением соответствующего признака.
Поле условных переходов
Рис. 6.15, Формат МК для реализации программы умножения
Рис.6.16. Временная диаграмма работы блока процессорного устройства
Рис. 6.17. Временная диаграмма, поясняющая конвейерный принцип работы процессора
Условный переход по признаку х
2 выполняется в БМУ после того, как состояние счетчика уменьшается на единицу. Таким образом, в пятом такте работы БМУ образуется разрыв, который заполняется холостой МК (Х.ОП) операцией, не изменяющей содержания регистров, что приводит к увеличению времени выполнения микропрограммы.Такой принцип исполнения МК требует включения между УП и ОУ конвейерного регистра. При использовании конвейерного принципа из-за уменьшения длительности тактового периода Т растет быстродействие системы, однако (даже используя этот принцип) быстродействие данной системы ниже, чем системы с “жесткой” логикой, что связано с большим объемом микропрограммы.
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Какие существуют способы записи микропрограмм?
2. В каких случаях используется принцип микропрограммного управления?
3. В чем преимущества использования микропрограммного принципа управления?
4. В чем особенность и назначение языка функционального микропрограммирования?
5. В чем суть принципа управления по хранимой программе?
ЗАДАНИЯ ДЛЯ
САМОКОНТРОЛЯ1. Перечислить функции УУ.
2. Перечислить функции блока микропрограммного управления.
3. Изложить концепцию микропрограммирования.
4. Перечислить функции управляющего автомата.
5. Сравнить характеристики управляющих автоматов с “жесткой” и программируемой логикой.