Эволюция структур СФАМ.
Секции управления и устройства управления
Все управляющие устройства в составе многокристальных микропроцессоров реализуются как устройства управления с программируемой логикой (УУПЛ), классическая структура которых подробно описана в литературе, например [22].
УУПЛ включает в себя ПЗУ микрокоманд, регистр микрокоманд с дешифраторами микроопераций и схему формирования адреса микрокоманды (СФАМ). Последняя представляет собой наиболее сложную и нерегулярную часть УУПЛ, причем структура СФАМ во многом определяет функциональные возможности УУПЛ.
Рассмотрим варианты организации СФАМ и их реализацию на различных типах БИС.
1) Простейшей дисциплиной адресации микрокоманд является принудительная, когда в составе каждой считанной из ПЗУ микрокоманды (МК) находится поле (A), содержащее адрес следующей МК.
Использование принудительной адресации предоставляет разработчику широкие возможности по размещению МК в ПЗУ, однако при этом не исключается повторение МК и даже участков микропрограмм, что приводит к нерациональному использованию памяти.
Начальный адрес микропрограммы (D) задается извне, а специальное поле МК (F) определяет источник адреса.
Рис. 10.5. Принудительная адресация микрокоманд
2) Организация последовательности адресов путем инкрементирования текущего адреса не требует выделения специального поля A в МК, но накладывает ограничение на расположение микрокоманд в памяти - последовательно выполняемые МК должны располагаться в соседних ячейках. В этом случае, например, для реализации умножения как линейной микропрограммы потребуется n или 2×n МК (n - разрядность операндов).
Сочетание вариантов адресации (1) и (2) позволяет осуществлять адресацию с инкрементом на линейных участках микропрограмм и принудительную адресацию на переходах (Рис. 10.6). При этом операционные МК и МК переходов должны иметь разные форматы.
Рис. 10.6. Адресация с инкрементом
3) Для организации модульного микропрограммирования полезно ввести в состав СФАМ стек адресов (Рис. 10.7). При этом появляется возможность использовать одни и те же микроподпрограммы при выполнении различных команд, что резко сокращает объем используемого ПЗУ.
Рис. 10.7. Использование стека адресов
4) Следующий шаг в развитии архитектуры СФАМ - замена инкрементора полноразрядным сумматором и введение в состав СФАМ счетчика циклов (Рис. 10.8). Наличие сумматора позволяет осуществлять смещение адресов МК на произвольное число ячеек, задаваемое по шинам D или Y. Это позволяет программисту индексировать самоперемещающиеся микропрограммы.
Наличие счетчика циклов позволяет существенно сократить затраты памяти и времени при обработке циклических микропрограмм.
Рис. 10.8. СФАМ с полноразрядным сумматором и счетчиком циклов
В серийно выпускаемых БИС, предназначенных для построения УУПЛ, таких как К589ИК01, К584ВУ1, К588ВУ2, К1800ВУ1 и др. можно встретить характерные элементы, рассмотренные выше.
Наиболее универсальными и обладающие широкими функциональными возможностями являются БИС для построения УУПЛ серии К1804. Ниже рассмотрены характерные БИС этого семейства.