Схема управления СУ (в некоторых вариантах УА она может отсутствовать) разрешает работу ДШУ или ДШХ в зависимости от содержимого служебной части Р формата команд. В последнем такте выполнения микропрограммы на выходе ДШК вырабатывается дополнительный сигнал ум+1, используемый как сигнал F, останавливающий работу автомата и осуществляющий сброс всех его триггеров.
Таким образом, структура УА с хранимой в ПЗУ логикой стандартна, и в этом заключается одно из преимуществ рассматриваемой реализации автомата. Поэтому основные усилия направляются не на получение структурной схемы, а на составление кодированной микропрограммы, которая записывается в ячейки ПЗУ, т.е. центр тяжести при разработке УА смещается с аппаратных на программные средства.
Процедура построения УА с хранимой логикой по имеющейся ГСА заключается в следующем.
1. Выбирают способ адресации и формат микрокоманд, причем стремятся сократить число двоичных разрядов в формате МК, что, как правило, позволяет уменьшить объем оборудования ПЗУ. При этом учитывают реальное быстродействие отдельных узлов УА и необходимость обеспечения заданного быстродействия автомата в целом. При необходимости используют структурные методы повышения быстродействия УА.
2. Производят разметку ГСА в соответствии с правилами, которые определяются выбранным способом адресации.
3. Составляют кодированную микропрограмму в виде таблицы, строки которой соответствуют отметкам на ГСА.
4. Выбирают типы необходимых микросхем и составляют структурную и принципиальную схемы автомата.
Выполнив перечисленные этапы, переходят к технической реализации УА, которая во многом зависит от способа записи информации в используемое ПЗУ.
Рассмотрим особенности выполнения отдельных этапов указанной процедуры.
При построении УА используются главным образом два вида адресации:
а) принудительная (в каждой МК указывается адрес следующей МК);
б) естественная (адрес следующей МК в явном виде указывается лишь в некоторых МК, а в остальных случаях он принимается равным увеличенному на единицу адресу предыдущей микрокоманды).
Формат МК при принудительной адресации может содержать как два адресных поля АО, А1, (рис. 7. а) так и одно АО (рис. 7.б).
У1 m | X1 L | АО1 Р | А11 Р |
а)
У1 m | X1 L | A1 Р |
б)
Рисунок 7
В первом случае адрес следующей МК определяется в зависимости от значения проверяемого в данном такте условия Xi следующим образом: в качестве адреса используется содержимое поля АО, если Xi =0, и поля A1 – если Xi = 1; безусловные переходы осуществляются по адресу АО.
Во втором случае переходы при xi = 0, а также безусловные переходы осуществляются по адресу АО, а переходы при Xi = 1 осуществляются к ячейке ПЗУ с адресом А1= АО + 1. Добавление единицы к АО может быть осуществлено с помощью комбинационной схемы инкрементора в блоке УФАМК.
При использовании двух адресных полей АО и А1 разметка ГСА осуществляется следующим образом.
1. Начальная вершина отмечается символом s0.
2. Каждая операторная вершина, а также конечная вершина отмечаются символом Si, отличным от других вершин. Если число выходных сигналов yj, записанных в некоторой вершине, превышает число операционных полей в формате команды, то число отметок у такой вершины увеличивают соответствующим образом.
3. Отмечается также каждая условная вершина, если ее вход связан с входом другой условной вершины; это вызвано тем, что в каждом такте анализируется только одно логическое условие xi.
Далее каждой отметке si сопоставляется ячейка ПЗУ с тем же адресом (номером) и таким образом составляется таблица содержимого ПЗУ. Эта таблица является основным результатом логического проектирования автомата наряду с принципиальной схемой УА.
Разметка ГСА при использовании единственного адресного поля АО осуществляется по этим же правилам, к которым добавляется еще одно:
4. Присваиваются дополнительные отметки s', и s», и т.д. каждой условной вершине, к которой подходит несколько стрелок от других условных вершин, так чтобы общее число отметок у такой вершины было равно числу упомянутых стрелок.
Необходимость увеличения числа отметок и числа используемых ячеек ПЗУ обусловлена ограничениями в расположении микрокоманд в ячейках ПЗУ из-за взаимной связи адресов АО и A1 = A0 + 1. Быстродействие УА несколько снижается по сравнению со случаем использования двух адресных полей за счет расхода времени на работу инкрементора. Однако исключение поля Л, из формата МК позволяет уменьшить разрядность ПЗУ.
Дальнейшее сокращение разрядности ПЗУ достигается путем перехода к естественной адресации микрокоманд, при которой обычно используются МК двух типов: операционные и управляющие. (рис. 8., а, б). Типы МК различаются по значению одноразрядного поля признака Р: {0, если МК операционная и 1, если МКуправляющая
0 | Y1 | Y2 |
а) операционная микрокоманда
1 | X | A |
б) управляющая микрокоманда
Рисунок 8
Вычисление адреса следующей МК производится с помощью счетчика микрокоманд (СМК), который предусматривается в структурной схеме УА (рис. 9.). Операционная МК задает коды вырабатываемых сигналов уj и после ее выполнения автомат переходит к следующей МК по порядку их расположения в ячейках ПЗУ, т.е. осуществляет переход по адресу (СМК)+1, где СМК обозначает содержимое счетчика микрокоманд.
Рисунок 9-Структурная схема УА на основе ПЗУ при использовании естественной адресации
Управляющая МК, содержащая поле логического условия Х и адресное поле А, используется для изменения естественного порядка выполнения МК, т.е. для осуществления условных и безусловных переходов в соответствии со значением проверяемого условия Xi. Если Хi=1, то переход осуществляется по адресу, записанному в поле А, для чего его содержимое переписывается в СМК. Если Xi = 0 или осуществляется безусловный переход, то следующую МК выбирают по адресу (СМК)+1. Таким образом, каждый такт работы УА разделяется на ряд микротактов, в течении которых выполняются действия по формированию выходных сигналов yj и выработке адреса следующей МК.
Разметку ГСА осуществляют по правилам, в которых учитывается то обстоятельство, что анализ Xi и выработка сигналов yj происходят теперь в разных тактах: начальная вершина отмечается символом s0, каждая из остальных вершин получает отличную от других отметку si; каждая вершина, к которой подходит h стрелок, получает дополнительные отметки sij (1=1,2,…, h-1) так, чтобы общее число отметок у этой вершины стало равным h.
При составлении микропрограммы основной отметке каждой операционной вершины ставится в соответствие операционная МК, а основной отметке каждой условной вершины – управляющая МК, реализующая условный переход. Каждой дополнительной отметке sij ставится в соответствие управляющая МК, реализующая безусловный переход в ячейку ПЗУ, соответствующую основной отметке si.
Составление таблицы начинают с отметки s1 и последовательно рассматривают вершины ГСА в направлении стрелок. При проходе через условную вершину сначала двигаются по направлению стрелок, отмеченных нулем (поскольку такому движению соответствует естественная адресация МК). Адресные поля управляющих МК временно остаются незаполненными. Дойдя до конечной отметки, возвращаются вверх по таблице до первой управляющей МК незаполненным адресным полем и записывают в это поле адрес следующей по порядку свободной ячейки. Далее продолжают движение по ГСА от условной вершины, которой соответствует данная управляющая МК, в направлении дуги, отмеченной единицей. Описанную процедуру возвращения вверх по таблице повторяют до заполнения адресных полей всех управляющих МК, обеспечивая тем самым прохождение всех путей на ГСА.
Сравнение рассмотренных трех вариантов реализации УА на основе ПЗУ с принудительной адресацией и двумя адресными полями, с принудительной адресацией и одним адресным полем, с естественной адресацией показывает, что наименьшую разрядность ПЗУ обеспечивает вариант с использованием естественной адресации. При этом время реализации заданного алгоритма оказывается наибольшим, в основном из-за увеличения общего числа выполняемых микрокоманд. Если при выбранном способе адресации объем оборудования построенного УА оказывается чрезмерным или же быстродействие автомата недостаточно, то можно принять некоторые дополнительные меры.
Так, для уменьшения объема ПЗУ находят рациональное разбиение полного множества выходных сигналов yj на подмножества, каждому из которых выделяется свое операционное поле У так, чтобы общее число разрядов операционной части формата МК было наименьшим. Сокращение длины адресной части формата МК можно получить страничной организацией (сегментацией) ПЗУ.
При этом ПЗУ разбивается на сегменты по 2q ячеек в каждом и адрес каждой формируется из двух частей: из адреса (номера) соответствующего сегмента и адреса ячейки в нем. Специальной микрокомандой адрес сегмента, в пределах которого осуществляется работа, записывается в отдельный регистр или счетчик, а в последующих МК указывается лишь адрес ячейки в сегменте.
Основным средством повышения быстродействия УА является организация опережающей выборки микрокоманд, т.е. организация конвейерного режима работы микропрограммного ДУ. При этом процесс выборки и дешифрации следующей МК совмещается во времени с процессом выполнения предыдущей МК в ОА.