Операционный_синтез_цифровых_устройств (775248), страница 5
Текст из файла (страница 5)
Рис. 7. Алгоритм работы операционного устройства
Запишем алгоритм в виде микропрограммы.
МИКРОПРОГРАММА ЕДИНИЦЫ В ГРУППЕ (А, РЕГ) ПЕРЕМЕННЫЕ
ВНЕШНИЕ: А{1:64}, РЕГ{1:7}
ВНУТРЕННИЕ: РЕГА{1:64}, РЕГ{1:7}, СЧ{1:7}, СЧЦ{1:7}.
ПРОЦЕДУРА
УН1: РЕГ{1:7}=0
УН2: СЧ{1:7}=0
УНЗ: СЧЦ{1:7}=0
УВВ: РЕГА{1:64}= А{1:64}
М3 ЕСЛИ Р0 ТО Ml ИНАЧЕ М2
Ml УСЧ1: СЧ{1:7}= СЧ{1:7}+1
М8 УСЧ2: СЧЦ{1:7}= СЧЦ{1:7}+1
УСДВ: РЕГА{1:64}= РЕГА{2:64}.0
ИДТИ К М3
М2 ЕСЛИ P1 ТО М4 ИНАЧЕ М5
М4 УЗАП: РЕГ{1:7}= СЧ{1:7}
М5 ЕСЛИ Р2 ТО Мб ИНАЧЕ М7
М7 УН2: СЧ{1:7}=0
ИДТИ К М3
М6 КОНЕЦ
ОПЕРАТОР ПРИЗНАКИ (Р0, Р1, Р2, РЕГА, СЧ, РЕГ, СЧЦ)
ПЕРЕМЕННЫЕ
ВНЕШНИЕ: Р0, Р1, Р2, РЕГА{1}, СЧ{1:7}, РЕГ{1:7}, СЧЦ{1:7}.
ВНУТРЕННИЕ: P0, P1, P2
Р0 РЕГА{1}
P1 СЧ{1:7} > РЕГ{1:7}
Р2 СЧЦ{1:7} ∞ 64
Минимизация операционной части ОУ связана, в первую очередь, с определением эквивалентных управляющих сигналов. До первого оператора перехода мы имеем четыре микрооперации, три из которых могут инициироваться одним управляющим сигналом. Управляющий сигнал УН2 не может входить в группу эквивалентных сигналов, поскольку в конце операционного описания он появляется отдельно. Итак:
УН1 = УН3 = УВВ = УЭ1
Между двумя следующими операторами перехода мы можем принять за эквивалентные сигналы УСЧ2 и УСДВ, поскольку операции счета циклов и сдвига являются информационно независимыми и могут выполняться одновременно:
УСЧ2 = УСДВ = УЭ2
Дальнейшая минимизация определяется возможностью упрощения схем формирования признаков P1 и Р2.
Нетрудно видеть, что признак Р2 становится равным единице только тогда, когда код счетчика циклов достигает 64. Это соответствует появлению единицы в старшем разряде кода счетчика, который и может быть использован в качестве признака последнего цикла:
Р2 = СЧЦ{1}
Специализированных схем сравнения на "больше" среди интегральных схем серии K155 нет. Поэтому эту схему можно либо синтезировать из простейших логических элементов [4], либо заменить готовой схемой комбинационного сумматора. Организуем работу сумматора в дополнительном коде. Тогда знаковый разряд разности кодов регистра и счетчика может рассматриваться как признак сравнения кодов P1 на "больше":
СМ {1:8} = 0.РЕГ{1:7} + 1.1 СЧ{1:7} + 1
P1 = СМ{1}
Инвертированное значение кода счетчика сформируем по инверсным сигналам триггеров его разрядов; прибавление единицы младшего разряда будем интерпретировать как принятие переноса в младший разряд сумматора за константу единицы (П7 = 1).
Минимизированная структурная схема операционной части ОУ приведена на рис. 8.
Рис. 8. Структурная схема операционной части ОУ
Глава 3. СТРУКТУРНЫЙ СИНТЕЗ УПРАВЛЯЮЩЕЙ ЧАСТИ ОПЕРАЦИОННОГО УСТРОЙСТВА
3.1. ПРЕДВАРИТЕЛЬНЫЕ ЗАМЕЧАНИЯ
Управляющая часть операционного устройства предназначена для генерирования управляющих сигналов, организующих обмен информацией между элементами операционной части (ОЧ) и инициирующих выполнение всех регистровых операций.
Исходными данными для синтеза служит ПРОЦЕДУРА микропрограммы, которая устанавливает характер управляющих сигналов и порядок их следования.
Рассматривают два способа построения управляющей части УО:
-
управляющие устройства с жесткой логикой, когда их структура однозначно определена решаемой задачей;
-
управляющие устройства с программируемой логикой, когда их структура постоянна, а решавшая задача определяет значение специальных управляющих кодов - микрокоманд.
Вне зависимости от способа построения управляющие устройства генерируют сигнала под воздействием одной или нескольких синхронизирующих тактовых последовательностей и тех сигналов-признаков, которые вырабатываются в операционной части ОУ. Начало работы управляющих устройств соответствует приходу внешнего сигнала НАЧАЛО или ПУСК, конец работы - появлению внешнего сигнала СТОП или внутреннего сигнала признака окончания процесса.
3.2. ПОСТРОЕНИЕ УПРАВЛЯЮЩЕГО УСТРОЙСТВА
С ЖЕСТКОЙ ЛОГИКОЙ В ВИДЕ КОНЕЧНОГО АВТОМАТА
Управляющие устройства с жесткой логикой могут быть построены в виде классических автоматов Мура или Мили, в которых выходные сигналы У генерируются по совокупности состояния триггеров автомата Q , признаков Р и синхронизирующих тактовых последовательностей:
У{1:n} = F(τ{1:к} . Р{1.L} . Q{1:m})
Рассмотрим построение управляющего устройства на примере решения задачи 2.
Воспользуемся описанием ПРОЦЕДУРЫ микропрограммы и преобразуем его к форме, где указываются только управляющие сигналы и порядок их следования. Для этого из предложений регистрового преобразования исключим операционную часть и оставим метки и управляющие сигналы. Одновременно учтем эквивалентность и совместимость управляющих сигналов.
МЕТКА | УПРАВЛЯЮЩИЕ СИГНАЛ | ПЕРЕХОД |
УН2, УЭ1 | ||
М3 | ЕСЛИ Р0 ТО Ml ИНАЧЕ М2 | |
М1 | УСЧ1 | |
М8 | УЭ2 | |
ИДТИ К M3 | ||
М2 | ЕСЛИ P1 ТО М4 ИНАЧЕ М5 | |
М4 | УЗАП | |
М5 | ЕСЛИ P2 ТО Мб ИНАЧЕ М7 | |
М7 | УН2 | |
ИДТИ К М8 | ||
М6 | КОНЕЦ |
Граф автомата Мура, определенный на множества входных сигналов Х(ПУСК, Р0, Р1, Р2), выходных сигналов Z (УЭ1, УЭ2, УН2, УЗАП, УСЧ1) и внутренних состояний S оказывается чрезмерно громоздким и трудным для восприятия. Для упрощения понимания графа можно рекомендовать построение "синтетического" графа, в котором состояния являются элементами множества состояний абстрактного автомата, а входные и выходные сигналы - комбинацией реальных двоичных переменных. Граф автомата, построенный по упрощенному варианту записи операционного описания, изображен на рис. 9,а.
Рис. 9. Граф автомата Мура: а - исходный; б - упрощенный
Граф требует некоторых пояснений. В начальном состоянии автомат не генерирует управляющих сигналов; переход от S0 к S1 осуществляется под воздействием внешнего сигнала ПУСК длительностью не более одного такта работы автомата; возврат к S0 происходит при появлении признака последнего цикла Р2; состояния S1, S3, S4, S6, S8 используются для генерации управляющих сигналов; состояния S2, S5 и S7 - для организации условных переходов. На некоторых переходах не указан входной сигнал. Это означает, что переход осуществляется "безусловно" под воздействием единичного с: гнала синхронизирующей тактовой последовательности. Граф автомата может быть несколько упрощен, если из него исключить состояния, используемые для организации условных переходов. Для этого достаточно переходы между состояниями вызвать воздействием совокупности признаков, как это показано на рис. 9,б.
Управляющее устройство может быть построено и в виде автомата Мили. Его граф, эквивалентный графу автомата Мура (рис. 9,б), изображен на рис. 10. При построении этого графа было принято во внимание, что управляющие сигналы УЭ2 и УН2 на переходе
S3'->S1' могут рассматриваться как совместимые.
Рис. 10. Граф автомата Мили
Сравнение графов автомата Мура и Мили позволяет сделать вывод о целесообразности построения управляющего устройства как автомата Мили, поскольку последний имеет всего 4 внутренних состояния. Воспользуемся процедурой синтеза автомата, описанной в работе [5] . Для этого пройдем весь путь, начиная от построения таблицы переходов и выходов автомата и кончая получением логических выражений сигналов возбуждения триггеров и выходных сигналов. Воспользуемся графом, изображенным на рис. 10, и построим таблицу переходов и выходов автомата:
Воспользуемся таблицей кодирования внутренних состояний автомата
и построим кодированную таблицу переходов и выходов:
Выходные сигналы автомата формируются по выражениям:
УЭ1 = ┐Q1 & ┐Q2 & ПУСК
УН2 = ┐Q1 & ┐Q2 & ПУСК ν ┐Q1 & Q2
УЭ2 = Q1 & Q2 & ┐P0 & ┐P1 ν Q1 & ┐Q2 ν ┐ Q1 & Q2
УСЧ1 = Q1 & Q2 & P0
УЗАП = Q1 & Q2 & ┐PO ν P1
Будем использовать в автомате триггеры R-S типа. Сигналы управления триггерами (R1, S1, R2, S2) могут быть определены по переходам триггеров Q1 и Q2 из нулевого состояния в единичное и обратно.
Сигнал R1 вызывает переход 1->0 в триггере Q1 :
R1= НУСТ v ┐Р0 & Р1 v P2
Сигнал S1 вызывает переход 0->1 в триггере Q1 :
S1 = ПУСК v ┐Q1 & Q2
Сигнал R2 вызывает переход 1->0 в триггере Q2 :
R2= HУCT v P0 v P2
Сигнал S2 вызывает переход 0->1 в триггере Q2 :
S2= ПУСК v Q1 & ┐Q2
При подключении устройства управления к источнику питания его триггеры устанавливаются в произвольное состояние, из которого они выводятся по входам специальным установочным сигналом обнуления (НУСТ). Для построения принципиальной схемы управляющего устройства в виде автомата Мили необходимо обратиться к работе [4].
3.3. ПОСТРОЕНИЕ УПРАВЛЯЩЕГО УСТРОЙСТВА
С ПРОГРАММИРУЕМОЙ ЛОГИКОЙ
3.3.1. Микропрограммное управление управляющего устройства
Управляющие устройства с программируемой логикой используются при создании операционных устройств достаточно высокой сложности, решающих, как правило, несколько задач, В таких устройствах управляющие сигналы генерируются по значениям специальных управляющих кодов - микрокоманд, объединенных в совокупность микрокоманд - микропрограммы. Каждая задача реализуется на ОУ при выполнении соответствующей микропрограммы, которая вызывается кодом выбора задачи.
Обычно микропрограммы не изменяются в процессе эксплуатации операционного устройства, они постоянны и поэтому хранятся в постоянном запоминающем устройстве (ПЗУ) [4]. Программирование ПЗУ может осуществляться либо на заводе-изготовителе (масочное программирование), либо в лабораторных условиях, разработчиком операционного устройства (электрическое программирование). При записи микропрограммы в ПЗУ каждая микрокоманда фиксируется в отдельной ячейке ПЗУ, отличающейся своим номером (адресом). Микропрограмма как совокупность микрокоманд помещается в сегмент ПЗУ, из которого выделяют ячейку начального и конечного адреса микропрограммы. Постоянное запоминающее устройство можно рассматривать как дешифратор, преобразующий код адреса в код микрокоманды. Поэтому в последнее время ПЗУ стали строить в виде программируемых логических матриц, формирующих код микрокоманды как совокупность логических булевских функций разрядов микрокоманды от разрядов кода адреса.
Каждая микрокоманда решает две задачи:
-
Какие управляющие сигналы должны генерироваться в текущем такте работы управляющего устройства ?
-
Какая микрокоманда должна выполняться следующей или, другими словами, чему равен адрес следующей за текущей микрокоманды ?
Для решения этих задач микрокоманда разделяется на два поля - операционное и адресное. В простейшем случае операционное поле включает в себя столько бит, сколько разных (не эквивалентных) управляющих сигналов должно генерировать устройство управления. Каждый бит операционного поля закрепляется за определенным управляющим сигналом. Появление единицы в бите вызывает генерацию соответствующего управляющего сигнала. Адресное поле служит для формирования адреса следующей микрокоманды в безусловном или условном переходе. Для этого в нем выделяется поле признаков, код которого указывает, какой из признаков, вырабатываемых в операционной части ОУ, принимает участие в формировании условного перехода и поля адресов A1 и А2 микрокоманд. Им передается управление в следующем такте работы УУ в зависимости от значения выбранного в текущем такте признака.
Построенная таким образом микрокоманда используется в УУ с принудительной адресацией. Слово "принудительная" подчеркивает тот факт, что текущая микрокоманда сама вынуждает (принуждает) ПЗУ выбирать следующую за ней микрокоманду.
Формат микрокоманда изображен на рис. 11. Такая микрокоманда генерирует L управляющих сигналов, организует переход по т сигналам признаков и адресует 2n ячеек ПЗУ. Если выбранный признак равен единице, условимся считать, что управление передается микрокоманде по адресу A1, в противном случае - микрокоманде по адресу А2. Примем, что безусловный переход организуется в случае нулевого значения кода в поле признака микрокоманды. Безусловный переход можно рассматривать как условный при обязательном равенстве единице значения выбранного признака. Это означает, что при безусловном переходе управление всегда передается микрокоманде по адресу A1.