Теория автоматов • Абстрактные цифровые автоматы • Структурные цифровые автоматы • Канонический метод структурного синтеза • Работа автомата и обеспечение устойчивости функционирования • Операционные устройства • Интерпретационный метод синтеза • Синтез УА на ПЛУ • УУ с программируемой логикой Предмет теории автоматов • Теория автоматов ─ раздел теории управляющих систем, изучающий математические модели преобразователей дискретной информации, называемых автоматами. • Автомат 1. Некое устройство, выполняющее свои функции без участия человека (цифровые ─ устройства для преобразования цифровой информации). 2. Математическая модель реальных технических устройств. Как математическая модель, автомат рассматривается как чёрный ящик, имеющий конечное число входов и выходов и некоторое множество внутренних состояний, в которые он переходит практически мгновенно под действием входных сигналов. • В ТА математические модели создаются с целью решения задач: - анализа; - синтеза. • Под анализом автомата понимают определение закона его функционирования при заданной структуре автомата. • Под синтезом – построение, проектирование автомата из более простых, элементарных автоматов по заданному закону функционирования. • Цель ТА: – изучение принципов построения и методов синтеза операционных устройств, представляемых в виде композиции операционного и управляющего автоматов и ориентированных на использование в вычислительной технике и устройствах автоматики. Схема операционного устройства (ОУ) ◆ УА – управляющий автомат ◆ ОА – операционный автомат ❖ УА вырабатывает распределённую во времени последовательность управляющих сигналов (Y), порождающих в ОА нужную последовательность микроопераций. ❖ ОА принимает из внешней среды операнды, преобразовывает их и выдает результаты преобразования, формирует по результатам обработки осведомительные сигналы (Х). ОУ Команды УА X Y Операнды ОА Результаты Абстрактные цифровые автоматы (АЦА) АЦА - это математическая модель дискретного цифрового устройства S = (A, Z, W, δ, λ, aнач ) ◆ A - множество состояний автомата: А = {a1, … , аM} - множество входных сигналов: Z = {z1, … , zF} ◆ W - множество выходных сигналов: W = {w1, … , wG} ◆ δ - функция переходов автомата. Определяет состояние автомата в следующий момент времени в зависимости от состояния am и входного сигнала zf в момент времени t : as = δ (am, zf) ◆ λ - функция выходов. Определяет выходной сигнал wg в зависимости от состояния am и входного сигнала zf : wg = λ (am, zf) ◆ aнач = a1 - начальное состояние автомата в начальный момент времени ◆ Z Цифровой автомат – математическая модель некоторого устройства, предназначенного для преобразования (приём, хранение, обработка, передача) информации. Свойства ЦА: ➢ дискретность входной информации; ➢ дискретность выходной информации; ➢ дискретность состояний; ➢ дискретность времени; ➢ конечность. Вход ЦА Выход Задача: УУ осуществляет сканирование входного текста посимвольно и выполняет запись на магнитный носитель последовательностей символов, ограниченных двумя символами решетки: …##<text1>##...#... ##<text2>##... Z: z1 - любой символ, кроме ‘#’ z2 - символ ‘#’ текст W: w1 - включение накопителя w2 - выключение накопителя w3 - пусто A: a1 - aнач - ожидание первого символа # a2 - ожидание второго подряд символа # a3 - ожидание конца сообщения a4 - ожидание второго подряд символа # УУ вкл/ выкл МН Задача: УУ осуществляет сканирование входного текста посимвольно и выполняет запись на магнитный носитель последовательностей символов, ограниченных двумя символами решетки: …##<text1>##... …#... ##<text2>## amzf as wg комментарии a1 z1 a1 w3 z1/w3 a1 z2/w2 z2/w3 z1/w3 a1 z2 a2 w3 a2 z2/w1 a2 z1 a1 w3 a2 z2 a3 w1 включение накопителя a3 z1 a3 w3 запись z2/w3 a4 z1/w3 a3 z1/w3 нет записи a3 z2 a4 w3 a4 z1 a3 w3 a4 z2 a1 w2 выключение накопителя Классы абстрактных автоматов (АА) ◆ Классификация АА по свойствам: – детерминированным называется автомат, для которого выполняется условие однозначности функции перехода. Автомат под действием любого входного сигнала не может перейти более чем в одно другое состояние; – вероятностный автомат – автомат, у которого функция переходов может принимать различные значения. as/p1 p1, p2 - вероятность δ (am, zf) = a /p as, ak - состояния k 2 ◆ По свойствам входных/выходных сигналов и множеству состояний: – конечный – автомат, у которого множества A, Z, W конечные (счетные); – бесконечный – автомат, у которых хотя бы одно из множеств A, Z, W бесконечно. Классы абстрактных автоматов ◆ По количеству различных состояний, в которых будет находиться АА: – с памятью – имеет более чем одно состояние; – тривиальный – имеет только одно состояние. А={a1} => S*= (Z, W, λ) λ - функция выхода, S* - комбинационная схема ◆ По области определения функций переходов и выходов: – полностью определенный автомат, если функции переходов и выходов определены для всех возможных пар состояний и входных сигналов; – частичный - функции переходов и выходов определены не для всех пар состояний и входных сигналов. ◆ По наличию начального состояния: – инициальный – для автомата определено начальное состояние; – неинициальный – автомат начинает свою работу из любого из возможных состояний. Классы абстрактных автоматов ◆ По устойчивости состояний: – асинхронный автомат - все состояния устойчивы; – синхронный - если существует хотя бы одно неустойчивое состояние. ❖ Устойчивое состояние автомата - если при поступлении любого входного сигнала, вызывающего переход в это состояние, автомат остается в том же самом состоянии. δ (am, zf) = as δ (as, zf) = as zf zf as ❖ Неустойчивое состояние (существует риск проскока). δ (am, zf) = as δ (as, zf) = ak zf as zf ak Классификация АА по способу формирования выходных сигналов ◆ Автомат Мили (Mealy) ❖Выходной сигнал зависит и от состояния и от входного сигнала w (t) = λ (a(t), z(t)) a(t+1)= δ (a(t), z(t)) ◆ Автомат Мура (Moore) ❖Выходной сигнал в текущий момент зависит только от состояния w (t) = λ (a(t)) a(t+1)= δ (a(t),z(t)) Модель С-автомата Z АА W ❖ Выходной сигнал I рода U ❖ Выходной сигнал II рода ❖Имеет 2 выходных канала: по одному формируются выходные сигналы автомата Мили, а по другому – выходные сигналы автомата Мура a (t+1) = δ (a(t), z(t)) w (t) = λ1 (a(t), z(t)) u (t) = λ2 (a(t)) Языки задания АА • Начальные языки • Автоматные языки Способы явного задания функций переходов и выходов ❖Табличный ❖Графический ❖Матричный Табличный способ задания ◆ Таблица переходов δ: a: z: z1 z2 ◆ Таблица выходов a1 a2 a3 a4 a1 a2 a1 a3 a3 a4 a3 a1 λ: a: a1 a2 a3 a4 z: z1 w3 w3 w3 w3 z2 w3 w1 w3 w2 ◆ Совмещенная таблица переходов и выходов для автомата Мили δ/λ: a: z: a1 a2 a3 a4 z1 a1/w3 z2 a2/w3 a3/w1 a4/w3 a1/w2 a1/w3 a3/w3 a3/w3 Отмеченная таблица переходов автомата Мура w1 w2 w3 w1 a1 a2 a3 a4 z1 a2 a3 a4 a1 z2 a3 a4 a1 a2 z3 a4 a1 a2 a3 δ: a: z: Графический способ задания функций переходов и выходов Автомат задается с помощью графа переходов ориентированного связного графа, вершины которого соответствуют состояниям, а дуги - переходам между ними. z3 w1 a1 z2 z2 z3 w1 a4 a2 z1 z2 z3 w2 z1 z3 z1 a3 z1 w3 z2 Пример: Отец, в зависимости от того, какие оценки сын приносит домой, выбирает разные методы воспитания. Сын может приносить только двойки или пятерки. Z: z2 – сын принес «2» z5 – сын принес «5» ◆ Граф автомата, моделирующий умное поведение родителя z5/w4 z2/w3 a2 z2/w2 z2/w3 a3 z2/w1 W: w1 – брать ремень w2 – ругать сына w3 – успокаивать сына w4 – надеяться w5 – радоваться w6 – ликовать a1 z5/w5 z5/w4 a4 z5/w6 Табличный способ задания ◆ Таблица переходов δ: a: z: z2 z5 ◆ Таблица выходов a1 a2 a3 a4 a2 a4 a3 a1 a3 a1 a2 a4 λ: a: a1 a2 a3 a4 z: z2 w3 w2 w1 w3 z5 w5 w4 w4 w6 ◆ Совмещенная таблица переходов и выходов для автомата Мили δ/λ: a: z: a1 a2 a3 a4 z2 a2/w3 a3/w2 a3/w1 a2/w3 z5 a4/w5 a1/w4 a1/w4 a4/w6 Матричный способ задания − − z1 / w 3 z 2 / w 3 z / w − z / w − 1 3 2 1 ◆ Матрица связей для C= − автомата Мили − z1 / w 3 z 2 / w 3 − z1 / w 3 − z 2 / w 2 ◆ Матрицы, описывающие автомат Мура Матрица соединений − z1 z 2 z 3 z − z z 3 1 2 C= z 2 z 3 − z1 z1 z 2 z 3 − Матрица-столбец выходных сигналов w1 w 2 / C = w 3 w1 Преобразование автомата Мура в автомат Мили ◆ S1 = (Z1, W1, A1, δ1, λ1, a11 ) - автомат Мура ◆ S2 = (Z2, W2, A2, δ 2, λ 2, a12 ) - автомат Мили Z2 = Z1 W2 = W1 Эквивалентные автоматы Для эквивалентности требуется, чтобы реакции на любую входную последовательность совпадали: ❖ выбираем множество состояний исходного автомата A2 = A1; ❖ в качестве функций переходов берем ту же функцию δ2= δ1; ❖ в качестве начального состояния - то же состояние a12= a11. Преобразование автомата Мура в автомат Мили ❖ Из условий δ1 (am, zf) = as λ1 (as ) = wg zf am as wg λ2 (am, zf) = wg zf /wg am as Преобразование автомата Мили в автомат Мура ◆ S1 = (Z1, W1, A1, δ1, λ1, a11 ) - автомат Мили ◆ S2 = (Z2, W2, A2, δ 2, λ 2, a12 ) - автомат Мура Z2 = Z1 W2 = W1 Эквивалентные автоматы Каждому состоянию автомата Мили A1 поставлено в соответствие множество пар As={(as,wg)} As = {(as,w1),(as,w2),(as,w3)} M A = AS 2 S =1 δ1 (am, zf) = as λ1 (am, zf) = ws Преобразование автомата Мили в автомат Мура z1/wi z2/wj zf /wk as am z3/wn zf as/wk am/wi Am am/wj zf As as/wn Эквивалентность автоматов Автоматы с одинаковыми наборами входных и выходных сигналов называются эквивалентными, если после установки в начальное состояние их реакции на любые входные воздействия совпадают. • Совмещенная таблица переходов и выходов автомата Мили S1 a: a1 z: a2 • Отмеченная таблица переходов автомата Мура S2 w1 w1 w1 w2 w3 a3 a: a1 a2 a3 a4 a5 z1 a2/w1 a3/w3 a2/w3 z: z2 a3/w2 a2/w1 a1/w1 z1 a2 a5 a5 a3 a2 z2 a4 a2 a2 a1 a1 z1 S1: z2 z1 z2 z2 w1 w1 w3 w1 w2 a2 a2 a3 a1 a3 S2: w1 w1 w1 w3 w1 w2 a1 a2 a2 a5 a1 a4 Задача минимизации АА ◆ Задача нахождения автомата с минимальным числом внутренних состояний в классе эквивалентных между собой автоматов ◆ Два автомата одного типа эквивалентны, если для каждого состояния am первого автомата существует эквивалентное состояние ak второго автомата и наоборот ◆ Два состояния эквивалентны, если для всевозможных входных слов реакции автоматов в этих состояниях совпадают Класс SA=SB MA≠MB a A = m a B s ... a B k эквивалентных состояний Структурные цифровые автоматы (СЦА) • • • СЦА описывает реальное устройство как сложный объект, состоящий из совокупности определенным образом связанных более простых узлов - элементарных автоматов Задание СЦА 1) описание поведения и свойств элементарных автоматов; 2) задание схемы соединения автоматов между собой. Особенности задания СЦА ▪ наличие нескольких входных/выходных каналов; ▪ работа со структурными входными/выходными дискретными сигналами; ▪ определение состояния автомата, как набора состояний составляющих СЦА элементарных автоматов. Структурные цифровые автоматы (СЦА) x . 1 . . СЦА . . . yN . . . xL y1 r1 rD y - выходные сигналы первого рода (автомат Мили) r - выходные сигналы второго рода (автомат Мура) Закон функционирования СЦА {x l } СЦА {y n } {rd } a(t + 1) = ({ x l (t ), a(t )}) y n (t ) = 1 ({ x l (t )}, a(t )) rd (t ) = 2 (a(t )) Установление соответствия абстрактных и структурных сигналов • Установление соответствия абстрактных и структурных сигналов выполняется кодированием: – выбрать количество структурных каналов; – закодировать абстрактные сигналы в структурные. • Определение количества каналов: • L ≥ log2F = ] log2F [ F - число абстрактных входных сигналов • N ≥ log2G = ] log2G [ G - число абстрактных выходных сигналов первого рода • D ≥ log2H = ] log2H [ H - число абстрактных выходных сигналов второго рода • Кодирование сигналов: • произвольное; • оптимизирующее: • уменьшающее затраты оборудования; • обеспечивающее устойчивость функционирования. Пример установления соответствия между сигналами • Определение количества каналов (разрядности входных/выходных сигналов) L = ] log23 [ = 2 N = ] log25 [ = 3 D = ] log24 [ = 2 Z = {z1, z2, z3} W = {w1, w2, w3, w4, w5} U = {u1, u2, u3, u4} • Произвольное кодирование Z z1 z2 x1 x2 0 0 0 1 z3 1 0 W w1 y1 0 y2 0 y3 0 w2 w3 0 0 0 1 1 0 w4 w5 0 1 1 0 1 0 U u1 u2 u3 u4 r1 r2 0 0 0 1 1 0 1 1 Методы структурного синтеза ЦА Основой всех методов является каноническая структура ЦА 1. 2. 3. 4. Канонический метод структурного синтеза. Графический метод структурного синтеза. Интерпретационный метод структурного синтеза. Группа методов структурного синтеза, ориентированных на использование больших интегральных схем (БИС). Канонический метод структурного синтеза • Основой метода является сведение задачи синтеза структурной схемы к задаче синтеза комбинационной схемы (КС) • Этапы – получение канонической структуры ЦА; – синтез КС. • Обобщенная каноническая структура {xl} КС1 {yn} { r } П { r } КС2 {rd} Типовая каноническая структура ЦА y n = f ny ({ ij }, {x l }) rk = fr,k ({ ij }, {x l }) x1. . . xl rd = fdD ({ ij }) ... КС1 ... 1 r 1 ... r 2 Пr r1 r КС2 ... П1 ... 12 ... y1. . . yn 11 rd Синтез автомата на триггерах • Триггер - физический прибор, имеющий 2 устойчивых состояния, в каждом из которых он может находиться в течение заданного промежутка времени. • С точки зрения ТА, триггер - это автомат Мура с полной системой переходов и выходов. Асинхронный RS-триггер R 0 01 1 Синхронный RS-триггер S & & & C 1 S 01 S R 10 T R & S – установка R – сброс С – синхроимпульс Виды стандартных триггеров • По логике работы и количеству входов различают следующие стандартные триггеры ❖ D-триггер - триггер-задержка; ❖ T-триггер - со счетным входом; ❖ RS-триггер - с раздельными входами установки и сброса; ❖ JK-триггер - универсальный с раздельными входами установки и сброса. D-триггер D D-триггер - повторяет входной сигнал: D T через время срабатывания триггер - устанавливается в состояние, CИ С соответствующее входному сигналу • У D-триггера закодированная • Граф переходов D-триггера таблица переходов автомата 1 совпадает с закодированной 1 0 1 0 0 таблицей функций возбуждения • Функция входов D-триггера • Таблица переходов D-триггера τ исх D τ пер τ δ: 0 0 0 0 1 D 0 1 1 0 0 0 1 0 0 1 1 1 1 1 1 • T-триггер • • T T-триггер - меняет свое состояние на противоположное при поступлении “1”-го сигнала У T-триггера оба состояния неустойчивы: синхронизация обязательна • 0 T CИ T - С Граф переходов T-триггера 1 0 1 1 • Таблица переходов T-триггера δ: τ • Функция входов T-триггера τ исх T τ пер 0 1 0 0 0 0 0 1 0 1 1 1 1 0 1 1 0 1 0 1 T 0 RS-триггер S S CИ T Таблица переходов RS-триггера δ: - C R • • R Функция входов RS-триггера τ 0 1 00 0 1 01 1 1 10 0 0 11 ─ ─ RS τ исх RS τ пер τ исх RS τ пер 0 00 v 10 0 0 ─0 0 0 01 1 0 01 1 1 10 0 1 10 0 1 00 v 01 1 1 0─ 1 JK-триггер J Таблица переходов JK-триггера δ: - C K • T J CИ • K Функция входов JK-триггера τ 0 1 00 0 1 01 0 0 10 1 1 11 1 0 JK τисх JK τпер τисх JK τпер 0 00 v 01 0 0 0─ 0 0 10 v 11 1 0 1─ 1 1 01 v 11 0 1 ─1 0 1 00 v 10 1 1 ─0 1 Минимизация комбинационной части автомата • Цель минимизации – уменьшение затрат оборудования при последующей реализации канонических уравнений. • Основные направления минимизации – классическая (в классе нормальных форм) по СДНФ получаем МДНФ; – доопределение функций с целью их последующей минимизации; – получение абсолютно минимальных форм. Классическая минимизация СДНФ(СКНФ) => МДНФ(МКНФ) Нормальная форма ДНФ => МДНФ ДНФ => СДНФ => МДНФ y = x 1 x 3 x 1 x 2 = x 1 x 3 ( x 2 x 2 ) x1 x 2 ( x 3 x 3 ) = = x1 x 2 x 3 x1 x 2 x 3 x1 x 2 x 3 x 1 x 2 x 3 ❖ Минимизации подлежат системы булевых функций ❖ Чаще всего для минимизации булевых функций используются карты Карно или диаграммы Вейча Получение абсолютных минимальных форм (АМФ) • АМФ - форма представления булевой функции, содержащая минимально возможное число букв в рамках заданной функционально полной системы логических функций f = x1 x 2 x 3 x 4 x1 x 2 x 3 x 4 x1 x 2 x 3 x 4 = = x1 x 2 x 3 x1 x 2 x 4 МДНФ f = x1 x 2 ( x 3 x 4 ) АМФ x1 x2 x3 x4 Цена схемы по Квайну С=8 & & f 1 Цена схемы по Квайну С=6 Упрощенная методика получения АМФ • Факторизация = 1 2 3 x1x 2 x 3 1 2 3 x1 x 2 x 3 1x 3 = ◆ С = 17 ◆ 2τ - задержка = 1 3 x1 x 3 ( 2 x 2 2 x 2 ) 1 x 3 = = 1 ( 3 x1 x 3 ( 2 x 2 2 x 2 ) x 3 ) 2 & x2 2 x2 3 x1 x3 ◆ С = 15 ◆ 5τ - задержка 1 & & 1 & & x3 1 Упрощенная методика получения АМФ • Декомпозиция 5 = 1 2 x1 2 = 1 2 C=5 1 2 & 2 & 5 x1 z = 1 2 5 = z x1 2 = z C=4 1 2 x1 =1 & & 2 5 =2 Кодирование сигналов и состояний Сложность комбинационной части автомата • Сложность КЧ автомата зависит от выбранного варианта кодирования сигналов и состояний • Кодирование выходных сигналов, уменьшающее сложность КС 1) для каждого выходного сигнала подсчитывается число появлений в таблице выходов 2) выходные сигналы упорядочиваются по убыванию частоты их появления в таблице выходов 3) поставить в соответствие выходным сигналам коды: сначала “0” код, затем коды, содержащие одну “1”, затем коды, содержащие две “1” и т.д. ◆ Произвольное кодирование λ: u1 u2 u1 a1 a2 a3 w3 w4 w2 w3 w1 w2 w3 a z z1 z2 z3 w1 w2 w3 w4 u1 u2 00 01 10 11 0 1 λ: τ1 τ2 x1x2 00 01 10 0 1 0 00 01 10 10 11 01 y1y2 4 3 10 00 01 10 ◆ Оптимизирующее кодирование - самый популярный сигнал использует коды с меньшим числом единиц λ: a z z1 z2 z3 u1 u2 u1 a1 a2 a3 w3 w4 w2 w3 w1 w2 w3 1 2 3 1 2 1 w1 w2 w3 w4 u1 u2 10 01 00 11 0 1 λ: τ 1 τ2 x1x 2 00 01 10 0 1 0 00 01 10 00 11 01 y1y2 2 3 00 10 01 00 Задача: построить СЦА на основе заданной таблицы переходов и выходов ❖ АА задан таблицей переходов и выходов δ: a a2 a3 λ: u1 u2 u1 a2 a3 z a1 z1 a2 - a1 z a1 z2 a3 a1 - z1 w3 - w2 z3 a2 a3 a3 z2 w4 w3 - z3 w2 w1 w3 a ❖ Выбранный элемент памяти — T-триггер L = ] log23 [ = 2 - количество входных сигналов N =] log24 [ = 2 - количество выходных сигналов I рода D =] log22 [ = 1 - количество выходных сигналов II рода R =] log23 [ = 2 - число элементов памяти ❖ Кодирование ◆ Кодирование выходных сигналов I рода по частоте ◆ Произвольное кодирование входных сигналов W y 1y 2 Z x1x2 1 w1 10 z1 00 2 w2 01 z2 01 3 w3 00 z3 10 1 w4 11 ◆ Кодирование выходных сигналов II рода по частоте ◆ Произвольное кодирование состояний автомата A τ1τ2 U r a1 00 2 u1 0 a2 01 1 u2 1 a3 10 ❖ Закодированная таблица выходов ◆ Система канонических τ1τ2 0 1 0 λ: уравнений для выходных 00 01 10 x1x2 сигналов 00 00 01 01 10 11 01 00 10 y1 = x1x2 12 x1x2 1 2 y 2 = x1x2 1 2 x1x2 1 2 x1x2 12 r1 = 1 2 00 y1y2 2 3 ◆ Карта Карно для выходных сигналов y 1: τ1τ2 x1x2 00 01 11 10 00 0 - - 0 01 1 0 - 11 - - - 10 0 1 - 0 y1 =x2 2 x1 2 =1 2 α1 α2 τ1τ2 r: τ2 x1x2 00 01 11 10 τ1 0 1 00 0 - - 1 0 0 1 01 1 0 - 1 0 11 - - - r1 = 2 10 1 0 - 0 y 2 = x 2 2 x11 x1 1 2 = 1 3 4 y2: α1 α3 α4 ❖ Получение функций возбуждения, используя таблицу переходов и функцию входов ◆ Закодированная таблица переходов ◆ Функция входов T-триггера τ1τ2 δ: x1x2 ◆ 00 01 10 τисх T τпер 0 0 0 00 01 - 00 0 1 1 01 10 00 - 1 1 0 10 01 10 10 1 0 1 Закодированная таблица функций возбуждения φ: τ1τ2 00 01 10 T1 = x1x2 12 x1x2 12 x1x2 12 00 01 - 10 T2 = x1 x 2 1 2 x1 x 2 1 2 01 10 01 - 10 01 11 00 x1 x 2 1 2 x 1 x 2 1 2 x1x2 T1T2 3 4 ❖ Карта Карно для функций возбуждения T1: τ1τ2 x1x2 00 01 00 0 - T2: 11 10 - 1 11 10 - 0 01 1 0 - - 01 0 1 - - 11 - - - - 11 - - - - 10 0 1 - 0 10 1 1 - 0 T1 = x 2 2 x1 2 x11 = 1 2 3 α1 τ1τ2 x1x2 00 01 00 1 - α2 α3 T2 = x2 1 2 = 5 2 α5 Каноническая структура ЦА x1 x2 1 2 3 4 КС1 T1 y1 T T 1 1 1 2 2 y2 C T2 СИ 1 T T C 2 2 3 3 4 4 КС2 r1 Функциональная схема УУ x1 5 1 7 6 4 5 3 6 & 1 1 1 2 3 & 2 2 6 & 3 3 1 x2 1 7 5 2 8 4 8 1 10 1 5 1 & & 4 1 4 2 1 1 5 5 3 2 4 СИ 9 3 6 6 y1 =x2 2 x1 2 =1 2 T1 10 T2 11 y1 y2 T 1 TT 2 9 11 1 C 1 T TT 2 3 4 9 C 2 r1 y 2 = x 2 2 x11 x1 1 2 = 1 3 4 T1 = x 2 2 x1 2 x11 = 1 2 3 T2 = x2 1 2 = 5 2 Работа автомата и обеспечение устойчивости функционирования Двоичные сигналы и уровни их представления ◆ Сигнал - значение некоторой физической величины, характеризующее состояние какого-либо процесса в заданный момент времени. ◆ Уровни представления сигнала: – физический; – структурный; U – абстрактный. ◆ Реальный физический сигнал t ❖ При работе со структурными сигналами используется их квантование как по уровню, так и по времени ◆ Вводится 2 уровня a и b: U – U ≥ a - S=1 || S=0 – U ≤ b - S=0 || S=1 a ◆ Время переключения из 0 в 1: – θ1 = t2 - t1 ◆ Время переключения из 1 в 0: b – θ0 = t4 - t3 t1 t2 t3 t4 t ◆ Среднее время переключения: 0 – θср =(θ1 + θ2 )/2 U U 1 1 0 0 t1 t2 t3 t4 t ◆ t Идеальный двоичный сигнал ◆ В абстрактном сигнале к квантованию по уровню добавляется квантование по времени U 1 0 1 t Распространение сигнала в схеме ◆ Распространение сигнала в схеме – сигнал в реальной схеме всегда распространяется с задержкой, которая и определяет быстродействие схемы x Входной Выходной t t y 1 0 τ 0 θ 0 t t τ1 θ1 τ0 θ0 Задержка распространения на элементах памяти СИ t t t t τ 1 τ 0 Синхронизация • Под синхронизацией ЦА понимается управление моментами смены состояния устройства с помощью специальных внешних сигналов, называемых синхроимпульсами или тактовыми импульсами • Цель введения синхронизации —обеспечение правильного взаимодействия цифровых автоматов между собой по входу-выходу —обеспечение устойчивости функционирования ЦА {x } 3 2 1 S1 {x } 1 {y } S2 {x } 2 {y } S3 Способы введения синхронизации в схему ЦА Возможны 4 способа введения синхронизации С x КЧ y r С1 С С П I. Синхронизация функций возбуждения 1 & 1 T ❖Недостатки C 1 – усложнение схемы автомата: вводится ... дополнительная линейка конъюнкторов ... ... – используется только для тех элементов k & Ck памяти, которые не меняют своих СИ состояний при “0” входных сигналах II. Синхронизация элементов памяти ... T C ... k T СИ C T 1 ❖ Достоинство – отсутствует необходимость 1 усложнять КЧ автомата ... ❖ Недостаток k – необходимо использовать только синхронизированные k триггеры (несущественно) ... III. Синхронизация состояний ❖ Недостатки 1 & С 1 – усложнение КЧ автомата ... – снижение быстродействия k С & – существование сигналов k обратной связи только при СИ наличии синхроимпульсов ... ... IV. Синхронизация КЧ автомата ❖ Достоинство {x}, {} & – позволяет реализовать 1 многофазную y i , j , rd синхронизацию ... ❖ Недостаток & {x}, {} – существенное СИ усложнение КЧ автомата ... Факторы неустойчивой работы ЦА 1. 2. 3. Неодновременное поступление входных сигналов. Неустойчивость состояний. «Гонки» («состязания») в автомате. Источники неустойчивости работы ЦА 1. 2. 3. Взаимодействия с другими автоматами по входувыходу. Особенности работы самого ЦА (синхронные и асинхронные автоматы). Различные задержки распространения сигналов в схеме. Синхронные и асинхронные ЦА ❖ Условия устойчивости состояния zk zf as zk ❖ Условно-устойчивые состояния ❖ При некоторых условиях условно-устойчивые состояния могут вести себя, как неустойчивые zf ak as zf as zf zf zf am Временная диаграмма работы автомата с неустойчивым состоянием zf zf ak as СИ t За один такт автомат t переходит из состояния ak в состояние am, проскакивая t состояние as {x} {} { } ak as am t am Работа асинхронного автомата без введения синхронизации • Рассматриваем – С-автомат – с канонической структурой – обеспечена устойчивость функционирования автомата – смена значений входных сигналов осуществляется в моменты автоматного времени t =1, 2, 3… – подача входных сигналов осуществляется в начале каждого следующего такта ◆ Обобщенная каноническая структура Временная диаграмма Т t2 А {x } l • ТА - такт автомата • τφ - задержка формирования функции возбуждения t • {y n } переключения памяти относительно момента формирования φ t {r } t • • • τзап - запас времени t { } t { П Тмин } {r } { зап } τr - задержка от момента формирования нового сигнала Тмин - минимально необходимый период времени {r } {r } d τп - задержка Согласование автоматов по входу-выходу x1 ЦА x2 {y} ◆ x1 : 0 → 1 ◆ x2 : 1 → 0 {r} ◆ Предположим: 01 01 am am 11 10 10 x1 – изменится быстрее; x2 – запаздывает. as ◆ При неодновременном as 10 ak 10 aj поставлении входных сигналов нарушается закон функционирования ЦА: существует риск сбоя и возможность с большей вероятностью перейти в другое состояние Диаграмма перехода в другое состояние при неодновременной подаче входных сигналов 01 11 01 10 am 11 x1 10 10 ak t x2 t {y },{} t {r } am ak aj t as 10 aj Причины нарушения Наличие разброса моментов переключения входных сигналов Влияние функций переходов автомата Различные задержки формирования сигналов в схеме автомата ◆ Правильная работа ЦА при неодновременном поступлении входных сигналов обеспечивается введением синхронизации в схему автомата Методы обеспечения устойчивости состояний • Ограничить длительность синхроимпульса – импульсная синхронизация • Многофазная синхронизация, то есть синхронизация автомата несколькими сериями синхроимпульсов, сдвинутых друг относительно друга • Использование двухступенчатых элементов памяти • Использование элементов памяти (триггеров) с динамическим управлением по входу синхронизации I. Импульсная синхронизация СИ n max СИ n min + min t { } t {} П ❖ t r Недостатки импульсной синхронизации 1. Высокие требования к параметрам генератора синхроимпульсов 2. Сложность обеспечения требуемой длительности II. Многофазная синхронизация • Синхроимпульсы вводятся в . & {}, {} .. схему непосредственно на 1 конъюнкторы, ... обеспечивающие . & . . { }, { } формирование сигналов СИ1 r возбуждения памяти. {}, {} ... & СИ2 ... {}, {} .. & СИ1 . СИ2 СИ1 zf СИ2 am zf as ТА ТА II. Многофазная синхронизация • Возможность использования многоступенчатой синхронизации зависит от графа перехода автомата. В нем не должно быть замкнутых контуров с нечетным количеством вершин. ◆ Попадание и выход из состояния ◆ Искусственная развязка контуров под действием одной и той же с нечетным числом вершин путем синхронизации введения новых вершин СИ1/y1 СИ1/y1 am as am as СИ2/y2 СИ2/- СИ1/y3 ◆ ak СИ2/y2 ak ag Недостаток - увеличивается число состояний ✓ дополнительные затраты оборудования ✓ при работе появляются пустые такты СИ1/y3 III. Использование двухступенчатых элементов памяти ● Достоинство: обеспечивает стабильную работу автомата ● Недостаток : затраты оборудования & { } & S R T 1 & & S R T 2 1 СИ S C R TT { } { } { } III. Использование двухступенчатых элементов памяти ◆ Принцип действия основан на разделении во времени процесса смены состояний автомата и формирования новых значений функций возбуждения ◆ Когда отсутствует СИ, вторая ступень закрыта и на выходе не изменяются сигналы, при этом через инвертор открывается 1-ая ступень и под действием не изменившихся функций возбуждения в 1-ой ступени формируется новое состояние (на выходе - старое) ◆ По приходу СИ первая ступень закрывается, но открывается вторая и новое состояние переписывается из первой ступени во вторую. На выходе появляются новые сигналы состояний, по цепи обратной связи формируют новые функции возбуждения, но первая ступень все ещё закрыта и повторного переключения памяти не происходит Временная диаграмма введения синхронизации элементов памяти Тси=ТА max max Tси max( max ; ) + x / си П / си / x ,П СИ t ◆ Тси – длительность {x} t {} t {y },{} t {r} r y , t такта ЦА ◆ - задержка r выходных сигналов II рода ◆ y , - задержка выходных сигналов I рода IV. Использование триггеров с динамическим управлением по входу синхронизации D C TT • D - меняет своё состояние только по определенному фронту СИ C – по переднему или – по заднему Задний фронт D TT C t D t t ◆ Предельный случай импульсной синхронизации – анализируется или передний, или задний фронт СИ Гонки в автомате • Гонки могут возникать только на тех переходах, которые связаны с одновременным переключением двух и более элементов памяти. Если переходы только из состояния в состояние, то никаких гонок нет { x} КС1 {} П { } K155 n <= 500 нс {50 <= n<= 500} ◆ Причины возникновения гонок – разное время срабатывания элементов памяти – разное время формирования функций возбуждения Гонки в автомате • В частичных автоматах, где используются не все коды состояний , гонки могут приводить к появлению промежуточных ходов, соответствующих несуществующим состояниям. Дальнейшее поведение автомата определяется поведением функции возбуждения 1) - некритические 1001 1010 f 2) - критические z am aj zf 1000 zf 1 ak 1011 as zf 2 ai Способы устранения гонок Аппаратные импульсная синхронизация использование двухступенчатых элементов памяти использование триггеров с динамическим управлением по входу синхронизации Структурные – использование специальных методов кодирования состояния соседнее кодирование кодирование с учетом условий развязки пар переходов Соседнее кодирование • Условия возможности соседнего кодирования – отсутствие в графе автомата контуров с нечетным числом вершин – два соседних состояния второго порядка не должны иметь более двух состояний, лежащих между ними • Замечание – графы, не допускающие соседнее кодирование, могут быть преобразованы к виду с четным числом вершин в контурах, путем введения новых вершин am zk / wd am as zk / wd zs / wh zf / zf / wg ak zs / wh as an zf / wg ak Пример соседнего кодирования 000 • На всех переходах должен меняться только 1 разряд a1 100 001 a 2 • Применение кодирования, близкого к соседнему, проблему гонок не решает a3 101 a4 111 a5 011 a6 010 a7 τ2τ3 τ1 00 01 11 00 0 a1 a2 a6 a7 1 a3 a4 a5 - Кодирование с учетом условий развязки пар переходов Теорема гонки в автомате отсутствуют, когда для любых двух пар переходов, происходящих под действием одного и того же сигнала, соответствующие пары кодов состояний развязываются пары кодов состояний называют развязанными, если какой-либо разряд кода принимает одно значение в первой паре и противоположное в другой zf (a m , a s ) zf (ak , an ) 0010 1110 0111 1101 ◆ Методика – выявить все пары переходов, происходящих под действием одних входных сигналов – закодировать состояния взаимно развязанными парами кодов Операционные устройства • ОУ предназначено для выполнения набора операций (F) над множеством входных слов (D) с целью вычисления слов результатов (R) F D ОУ R ◆ Работа ОУ осуществляется на основе принципа программного управления по хранимой в памяти программе Концепция операционного и управляющего автоматов • Y={ym} – управляющие сигналы для задания Данные микроопераций g • X={xℓ} – набор ОУ осведомительных сигналов, формируемых УА по значению операндов • D - множество входных X шин, по которым Y поступают словаD R операнды ОА Результаты • R - множество выходных Данные шин, на которые выставляются словарезультаты Концепция операционного и управляющего автоматов D Y R ОА X g X УА Y • ОА предназначен для непосредственного выполнения действий над словами информации • ОА осуществляет – хранение слов – выполнение над ними микроопераций – вычисление логических условий • УА предназначен для управления порядком следования микроопераций во времени • Основная функция УА – реализация управляющего алгоритма Операционный элемент (ОЭ) • Операционный элемент - устройство, предназначенное для выполнения совокупности микроопераций над одним словом информации D d1 . ОЭ . . di А ... ... r1 R yn yk ... rq ОЭ xj xm X ОЭ yf Y ОЭ Структура ОЭ d1 ... di yt ... yd Рг 1 n R ... ОЭ xm xp Типовые микрооперации, выполняемые ОЭ с памятью ❖ Прием слов 1 B D 32 25 1 C 1 32 32 y1 y2 y3 16 y1 y2 y3 E 32 25 32 ◆ y1: C := D ◆ y2: C := B ◆ y3: C{25:32} := E{25:32} ❖ Установки 1 A ◆ y1: A := 0 ◆ y2: A := 2910 ◆ y3: A{1:8} := FF16 ❖ Сдвиги 1 A 8 y1 y2 y3 y4 ◆ y1: A := L1(A).0 ◆ y2: A := 10.R2(A) ◆ y3: A := L3(A).A{1:3} ◆ y4: A{1:4} := 0.R1(A{1:4}) Aисх 1111 1111 0000 0001 0001 1100 1111 0000 Aконеч L1(A).0 10.R2(A) L3(A).A{1:3} 0.R1(A{1:4}) 1111 1110 1000 0000 1110 0000 0111 0000 ❖ Инверсия - изменение значения разряда слова на противоположное A 1 ◆ y1: A := ¬A 16 y1 y2 ◆ y1: 8 y1 y2 y3 ◆ y2: A{5:15} := ¬A{5:15} ❖ Счет 1 Сч x1 Сч := 0 ◆ y2: Сч := Сч + 1 ◆ y3: Сч := Сч – 1 ◆ x1: Сч = 0 Формирование логических условий А 1 1 32 30 31 32 ◆ x 1: x7 ◆ x 2: x1 КС1 ◆ x 3: ◆ x 4: ◆ x 5: x2 ◆ x 6: DC x3 x4 x5 x6 ◆ x 7: A{1} A=0 A{30:31}=00 A{30:31}=01 A{30:31}=10 A{30:31}=11 A{32} Типовые ОЭ комбинационного типа (без памяти) ❖ Схемы сравнения 1 A 16 1 B 1 16 Сх. Ср. x1 x2 32 ◆ x1: A > B{1:16} ◆ x2: A = B{1:16} ❖ Сумматоры ❖ 1 Комбинационный сумматор A 16 1 1 16 1 1 C 2 B 1 16 16 17 y1 y2 y3 ∑ = A +B 17 ◆ y2: ∑ = C{2:17} + B 17 ◆ y3: ∑ = A + 1.¬B{2:16} + 1 ◆ y1: ❖ Накапливающий сумматор A 1 1 16 1 16 1 1 1 Cм 2 B 16 16 17 y1 y2 17 17 См : = A + B ◆ y2: См : = А + См{2:17} ◆ y1: ❖ Арифметико-логическое устройство (АЛУ) Y X 1 16 АЛУ y1 16 16 ... 1 1 yn Z Z = X + Y; Z = X Y; Z = X Y; Z = X Y; Z = X + 1.Y{2 : 16} + 1; Z = 1.X{2 : 16} + Y. Использование закодированных микропрограмм 1. Используют при минимизации микропрограмм y10 ... y10 ... y10 y10 2. Используют для объединения отдельных микропрограмм 3. При синтезе микропрограммных автоматов x1 0 1 yk, yn x1 1 0 Совместимость микроопераций • Совместимость микроопераций - свойство микроопераций, гарантирующее их параллельное совместное выполнение ◆ Алгоритмическая ◆ Структурная B D Совместимые - имеют индивидуальные шины A := B C := D A C A := B C := D Несовместимые B D Совместимые C := B B := B + 1 A Несовместимые - система связей с общей шиной C A := B C := D Объединение и минимизация микропрограмм • Цель – получение минимальной с точки зрения затрат оборудования микропрограммы • Для того, чтобы УА был минимальным необходимо – кодирование операций – получение объединенной микропрограммы – минимизация микропрограммы 1. Кодирование K = log 2 G ─0 01 11 f1 f2 f3 P2 + * / P1 0 1 0 f1 ─ 1 f2 f3 2. Получение объединенной микропрограммы P1P2 00 01 10 f + * 11 / начало B 0 1 0 0 "+" P2 P1 1 1 0 "-" "*" конец P2 1 "/" 3. Минимизация объединенной микропрограммы возможна, если для реализации однотипных действий используются одинаковые ОЭ и микрооперации P1 A − B = A + ( − B) 1 0 B := B + 1 "+" ❖ Существуют специальные методы минимизации ❖ методы минимизации числа условных вершин ❖ методы минимизации числа операторных вершин Интерпретация микропрограммы автоматом Мили • Отметка закодированного графа микропрограммы (ГМП) получение множества состояний автомата • Порядок отметки 1. a1 - отметка входа в вершину, следующую за начальной, и входа конечной вершины 2. Входы всех вершин, следующих за операторными отмечаются: a2, a3,… 3. Вход вершины может быть отмечен только одним символом 4. Входы различных вершин, за исключением конечной, отмечаются различными символами Содержательный граф микропрограммы начало A 0 1 B B{32} 1 A:=d1 B:=d2 1 0 A{1}=B{1} C{1}:=0 0 C:=C+A{2:32} C:=R1(C) B:=C{32}.R1(B) Сч:=Сч-1 C{1}:=1 Сч=0 1 Сч:=31 C{2:32}:=0 C:=R1(C) B:=C{32}.R1(B) A конец 0 Закодированный ГМП. Пример отметки ГМП начало a1 B A 0 1 a4 x2 1 y1 , y2 a2 1 a5 0 y8, y9, y10 x1 y3 0 y7 y4 a6 x3 a3 1 y8 , y 9 y5 , y6 A a1 конец 0 y 1 : A := d1 начало a1 B 0 a4 1 y 3 : A{1} := 0 x2 y 4 : A{1} := 1 0 y7 1 a2 x1 0 a6 a3 y 5, y 6 A y 6 : С{2 : 32} := 0 y8, y9, y10 y4 y3 y 5 : Cч := 31 a5 y1, y2 1 y 2 : B := d 2 A a1 x3 y 7 : С := С + A{2 : 32} 0 y 8 : С := R1(C) 1 y 9 : B := C{32}.R1(B ) y8, y9 y 10 : Сч := Сч - 1 конец x1 : A{1} = B{1} x 2 : B{32} x 3 : Cч = 0 Пути перехода в ГМП ◆ Путь перехода в общем виде 1) a i ~ x ...~ x y k ...y z a j = = a i X(a i , a j )Y(a i , a j )a j ai ◆Путь перехода, не проходящий через условные вершины 2) a i y k ...y z a j = a i Y(a i , a j )a j x , x = 1, ~ x = x , x = 0. x 0 1 yk...yz ... x 1 yk...yz aj ai 0 aj Пути перехода в ГМП. Исключения ◆Путь перехода в отметку а1, не содержащий операторных вершин 3) ai ~ x ...~xa1 = ai X(ai , a1 )a1 предшествующей последовательности условных вершин в ту же отметку 4) ai ~x ...~xai = ai X(ai , ai )ai x x 0 ai 1 ... ai ◆Путь перехода из отметки, 0 xg 1 ... x 1 0 xf 1 a1 1 ... конец 0 0 x 1 0 Работа с оперативной памятью А А РАОП РАРОН Чт Зп ОП xОП РДРОН РДОП Чтение Запись РАОП:=А РАОП:=А 0 Запись РАРОН:=А РАОП:=А Чт РДОП:=Д С:=РДОП Зп Зп 1 С:=РДОП Чтение РДОП:=Д Чт xОП Чт Зп РОН xОП 1 0 Интерпретация микропрограммы автоматом Мили B / y 1y 2 B /− x1 / y 4 a2 x1 / y 3 a1 x3 / y 8y 9 x2 / y 8 y 9 y 10 a6 x3 x2 / y 8 y 9 y 10 a3 1 / y 5y 6 1 / y 8 y 9 y 10 a4 a5 x2 / y 7 x3x2 / y 7 Корректность интерпретации микропрограммы автоматом Мили • Корректная интерпретация микропрограммы автоматом Мили возможна при выполнении условия независимости функций перехода от результатов выполнения микроопераций yij, соответствующих этому переходу, для всех переходов автомата X(a i a j ) f {Y(a i a j )} • Если на некотором переходе есть функциональная зависимость x = f {Y(a i a j )} выполнение микрокоманды функционального оператора Y(aiaj) может привести к изменению логического условия xρ • Проверить корректность интерпретации микропрограммы автоматом Мили можно путем анализа распределения сдвигов, определяющего для каждого функционального оператора Y(aiaj) подмножество осведомительных сигналов, которые могут меняться при его выполнении Yi Bi = {xk ,..., xn } Распределение сдвигов y 1 : A := d1 y 2 : B := d 2 y 3 : A{1} := 0 y 4 : A{1} := 1 a1 a2 1 y3 y 6 : С{2 : 32} := 0 a3 y 8 : С := R1(C) y 9 : B := C{32}.R1(B ) y 10 : Сч := Сч - 1 x1 : A{1} = B{1} x 2 : B{32} x 3 : Cч = 0 B a4 0 x2 0 y7 y1, y2 x1 A 1 1 y 5 : Cч := 31 y 7 : С := С + A{2 : 32} начало 0 a5 y , y , y a6 0 8 y4 9 10 x3 1 y5, y6 A → Y2 = {y 3 } → Y3 = {y 4 } → Y4 = {y 5 , y 6 } → Y5 = {y 7 } → Y6 = {y 8 , y 9 , y 10 } → Y1 = {y 1 , y 2 } a1 y8 , y 9 конец B1 = { x1 , x 2 } B 2 = { x1 } B 3 = { x1 } B 4 = {x 3 } B5 = B 6 = { x1 , x 2 , x 3 } Интерпретация микропрограммы автоматом Мура a1 начало B A 0 1 1 a2 a6 y1 , y2 1 a 7 y8, y9, y10 0 y3 0 y7 x1 a3 x2 y4 a4 x3 1 a5 y5 , y6 a8 y8 , y 9 A a1 конец 0 Пути перехода в ГМП. Исключения ◆ Путь перехода в общем виде 1) a i ~x ...~xa j = a i X(a i , a j )a j через условные вершины x , x = 1, ~ x = x , x = 0. ai x 0 1 ... x 1 aj ◆Путь перехода, не проходящий yk...yz 0 2) a i a j ai yn...yt aj yk...yz Пути перехода в ГМП. Исключения ◆Путь перехода из отметки, предшествующей последовательности условных вершин в ту же отметку 3) ai ~x ...~xai = ai X(ai , ai )ai ai 1 ... x 0 xg 0 1 xf 1 ... 0 x 1 0 Прямая таблица переходов начало a1 B A 0 1 x2 0 Состояние перехода ai aj a1 a1 a2 y7 1 a2 x1 y3 y8, y9, y10 0 a6 y4 x3 y8, y9 A a1 конец Управляющие сигналы X(ai , aj ) Y(ai , aj ) B B - y1 y2 y3 a3 a3 a4 1 y5 y6 a4 a5 y7 y8 y9 y10 y8 y9 y10 a3 a4 a5 x2 x2 x2 a5 a6 1 a6 a1 a6 1 a3 y 5, y 6 0 Осведомительные сигналы x1 x1 a2 a5 y1, y2 1 a4 Исходное состояние a5 a6 y4 - x3 y8 y9 x2 x3 y7 x 2 x 3 y8 y9 y10 Обратная таблица переходов начало a1 B A 0 y1, y2 1 x1 y3 1 ai aj a1 a1 Осведомительные сигналы Управляющие сигналы X(ai , aj ) Y(ai , aj ) B - x3 y8 y9 a6 a5 a1 a2 B y1 y2 a2 a3 x1 x1 y3 1 y5 y6 y8, y9, y10 0 a6 a3 A Состояние перехода y7 y4 y 5, y 6 x2 0 1 a2 a4 Исходное состояние a1 a2 x3 0 a3 a4 1 a4 a5 y8, y9 a6 конец y4 x2 x2 x3 x2 y8 y9 y10 a5 1 y8 y9 y10 a6 x2 x3 y8 y9 y10 a4 a6 y7 y7 Структурная организация ЦА с жесткой логикой Структура ЦА с жесткой логикой ❖ Каноническая структура автомата Мили на практике модифицируется введением в схему дешифратора (ДШ) состояний ❖ { x} ДШ - это комбинационная схема, преобразующая позиционный код в унитарный КС1 {y } { } П { } ДШ {a } {r } КС2 Синтез УА с жесткой логикой ❖ Исходными данными являются закодированный граф микропрограммы со списком микроопераций и списком логических условий. Основные методы синтеза Канонический Интерпретационный Интерпретационный метод синтеза • Метод синтеза, основанный на непосредственной интерпретации ГМП элементами КС 1. Синтез КС по обратной структурной таблице переходов. КС автомата разбивается на ряд подсхем { x} {a } { } Сх Т КС мпа {T} Сх Y {Y} Сх { } Получение сигналов термов φ(ai , aj ) Ti ai K(ai ) aj K(aj) X(ai , aj ) Y(ai , aj ) T1 a3 1011 a8 0101 T2 a5 1110 T3 a7 0010 Сх T a3 x1 x2 a5 x1 x3 a7 x2 x3 & & & T1 T2 T3 1 1 2 3 1 2 x1 x 2 x1 x 3 x2x3 y1 y4 y7 y1 y4 y5 R1 S2 R3 * R1 * R3 S4 y1 y7 * S2 R3 S4 Сх Сх Y 1 1 y1 y4 2 3 2 1 y5 1 3 1 y7 1 2 1 3 1 2 3 2 3 1 R1 1 S2 1 R3 1 S4 Дешифратор 1 2 3 τ1 τ2 τ3 f0 f1 f2 f3 f4 f5 f6 f7 f0 f1 ДШ f6 f7 0 0 0 1 0 0 0 0 0 0 0 f 0 = 1 2 3 0 0 1 1 0 0 0 f1 = 1 2 3 0 0 … 0 0 ... … 1 1 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 1 ... • ДШ - КС, преобразующая позиционный двоичный код в унитарный • Унитарный код - код, в любой кодовой комбинации которого содержится одна единица f 6 = 1 2 3 f 7 = 1 2 3 Схема дешифратора 1 1 1 2 3 4 5 f0 & f1 1 5 1 6 3 6 1 3 5 & & f6 f7 0 1 ... 4 ... 4 2 & ... 1 3 1 2 4 2 6 2 ДШ 8 14 15 f 0 = 1 2 3 f1 = 1 2 3 ... f 6 = 1 2 3 f 7 = 1 2 3 Трехразрядный дешифратор a1 a2 a3 a4 a5 000 100 001 111 011 τ2τ3 τ1 00 01 11 10 0 1 a1 a3 a5 a2 - a4 - С=10 a1 a2 a3 a4 a5 1 3 1 2 2 3 1 2 1 2 a1 a2 a3 a4 a5 1 3 1 3 1 2 3 1 3 2 С=15 τ2τ3 τ1 00 01 11 10 0 1 a1 a3 a5 a2 a4 - С=9 - Построение двухступенчатого ДШ 3 4 5 & 1 1 & 2 & a8 & a9 2 3 4 5 & 2 1 & 1 2 & a1 τ3τ4τ5 β1 β2 β3 τ1τ2 000 001 011 α1 00 α2 01 … … α4 11 β8 … 111 a1 … a8 a9 … … … Выходная ступень дешифратора состояний Преддешифратор состояний … … … Предварительное объединение сигналов термов • Предварительное объединение - декомпозиция схемы формирования выходных сигналов I рода и функций возбуждения путем вынесения общих частей дизъюнкторов C=5 T1 T2 T3 1 1 C=4 yk T1 T2 yn T3 =1 y k = T1 T2 = Z y n = T1 T2 T3 = Z T3 yk 1 1 yn =2 Доопределение функций возбуждения Ti K(ai ) aj K(aj) X(ai , aj ) Y(ai , aj ) φ(ai , aj ) T1 0000 a8 0100 y4 y7 y8 R 1 S2 R 3 R 4 T2 0001 x1 x1 y4 y7 y8 R 1 S2 R 3 R 4 T3 0010 x 2 x3 y4 y7 y8 R 1 S2 R 3 R 4 T4 1010 x4 y4 y7 y8 R 1 S2 R 3 R 4 T5 1100 y4 y7 R 1 S2 R 3 R 4 T6 0011 x 5 x8 x6 x7 y3 R 1 S2 R 3 R 4 T1 T2 T3 T4 T5 T6 1 ... 1 ... 1 ... 1 1 ... 1 2 1 2 1 2 6 6 y4 2 y7 1 6 y8 1 6 y3 1 6 ... 1 ... 1 ... 1 ... 1 R1 S2 R3 R4 Узлы в схеме алгоритма n ... af as X(af ,Qk) as X(as,Qk) Qk Qk ◆ Минимальный X(Qk,ap) узел Y(Qk,ag) Y(Qk,ap) ap X(Qk,ag) ... m ag Выигрыш при использовании узлов • Таблица переходов графа без введения узлов n ai ... af as X(af ,Qk) X(as,Qk) n Qk af aj X(ai , aj ) Y(ai , aj ) φ(ai , aj ) ap X(af ,Qk)/\ X(Qk,ap) Y(Qk,ap) φ(Qk,ap) … … … … as X(as,Qk)/\ X(Qk,ap) Y(Qk,ap) φ(Qk,ap) X(af ,Qk)/\ X(Qk,ag) Y(Qk,ag) φ(Qk,ag) … X(Qk,ap) X(Qk,ag) n Y(Qk,ag) Y(Qk,ap) ap ... ag af ag … … as X(as,Qk)/\ X(Qk,ag) … m … … Y(Qk,ag) φ(Qk,ag) n*m Выигрыш при использовании узлов • Таблица переходов графа с введением узлов n ... af X(af ,Qk) aj X(as,Qk) af Qk X(a ,Q ) f k n … as Qk X(Qk,ap) X(Qk,ag) m Y(Qk,ag) Y(Qk,ap) ap ... m ag X(ai , aj ) Y(ai , aj ) φ(ai , aj ) ai as — — … — — X(as ,Qk) — — Qk ap X(Qk,ap) Y(Qk,ap) φ(Qk,ap) … … Qk a g … … … X(Qk,ag) Y(Qk,ag) φ(Qk,ag) n+m Пример отметки ГМП с использованием узлов начало a1 B A a4 1Q1 0 x2 1 y1 , y2 a2 1 a5 y , y , y 0 8 x1 y3 0 y7 y4 9 a6 a3 x3 1 y8 , y 9 y5 , y6 A a1 конец 10 0 Обратная таблица переходов с учетом узла Q1 начало a1 B A 0 a4 Q11 x2 1 a2 1 x1 y3 0 a5 y4 a6 y 5, y 6 A a1 ai aj a4 Q1 a1 a1 a6 y8, y9, y10 a3 Состояние перехода a6 0 y7 y1, y2 Исходное состояние x3 0 Осведомительные сигналы Управляющие сигналы X(ai , aj ) Y(ai , aj ) 1 - x3 - B - x3 y8 y9 a1 a2 B y1 y2 a2 a3 x1 x1 y3 a2 y4 1 a3 a4 1 y5 y6 y8, y9 Q1 a5 x2 y7 конец a5 a6 1 y8 y9 y10 x2 y8 y9 y10 Q1 Учет узлов при построении комбинационной части автомата af T1 ... & & X(Qk,ag) ... ... X(as,Qk) 1 ... as & X(Qk,ap) ... X(af ,Qk) & Tm • Использование узлов позволяет уменьшить цену схемы • Но уменьшает быстродействие Функции возбуждения на переходах из узлов • Функции возбуждения при переходе из узла в состояние могут формироваться двумя способами – с учетом всех переходов в узел – по коду состояния перехода ai K(ai ) aj K(aj) 0110 as 0010 Qk ─ an ... ─ am 1011 an φ(ai , aj) am ... Qk ─ ─ ─ ap 1. R1 R2 S4 0011 (2. R1 R2 S3 S4) Qk ap as Начальная установка автомата 1 1 8 2 2 7 3 3 7 {φ} 4 4 8 5 5 8 6 6 7 & 9 8 15 C 10 10 1 11 1 11 S T 15 C 12 12 & 13 13 15 1 14 15 14 a1 = 010 T R & СИ 1 S 1 7 R 9 R 2 S T • Триггеры с дополнительными асинхронными входами 3 S S {φ } S C R C R R R T Запуск автомата Реализация запуска автомата : на микропрограммном уровне; на аппаратном уровне. начало a1 B 1 ГСИ R 1 B a1 aj X(ai , aj) a1 a1 B a1 a2 B СИ & СИУА z1 1 1 0 ai z2 1. R=0, B=0, a1=1, z2=0 2. R=0, B=1, a1=1, z1=z2=1 3. R=B=0, a1=0, → z2=1 4. R=1, → z1=0 Схема запуска автомата на триггере СИ G & S B 1 & R R a1 1 T СИУА Пример синтеза УА интерпретационным методом начало a1 x1 0 B y1 1 a2 y8 x4 0 Q2 0 0 1 0 x3 x2 1 y2 1 a3 1 0 y3,y4 x4 Q3 1 y5 a4 1 x5 0 y5,y6 a5 x2 0 1 y7 1 a6 x6 Q1 0 a1 y8 конец Обратная структурная таблица переходов № ai K(ai ) aj K(aj) X(ai , aj) Y(ai , aj) φ(ai , aj) 1 a4 011 Q1 ─ ─ ─ 2 a5 110 ─ x5 x2 ─ ─ 3 a6 111 ─ 1 ─ ─ 4 Q1 ─ ─ ─ ─ 5 a1 000 ─ x6 Bx1x 2 ─ ─ 6 a2 001 ─ 1 ─ ─ 7 Q2 ─ ─ x3 ─ ─ 8 a3 100 ─ 1 ─ ─ 9 a5 110 ─ ─ ─ 10 Q1 ─ a1 000 y8 R1 R2 R3 11 a1 000 a2 001 y1 S3 12 a1 000 a3 100 y2 S1 13 Q2 ─ a4 011 y3 y4 R1 S2 S3 14 Q3 ─ y5 R1 S2 S3 15 Q3 ─ a5 110 y5 y6 S1 S2 R3 16 Q2 ─ a6 111 y3 S1 S2 S3 17 a4 011 x2 x6 Bx1 Bx1x 2 x3x4 x4 x4 x 3 x4 x5 y7 S1 Q2 Q3 Системы канонических уравнений ❖ Кодирование состояний a1 a2 a3 a4 a5 a6 4 1 1 2 2 1 a1 = 1 3 a 4 = 1 2 a5 = 2 3 a2 = 2 3 a 3 = 1 2 a 6 = 1 3 τ2τ3 τ1 00 01 11 10 0 1 a1 a2 a4 a3 ─ y 1 = T11 y 2 = T12 y 3 = T13 T16 y 4 = T13 y 5 = T14 T15 y 6 = T15 y 7 = T17 y 8 = T10 ─ a6 a5 Системы канонических уравнений Q 1 = a 6 a 1 x 5 a 5 x 2 Q 2 = a 2 a1Bx1 x 2 Q1x 6 Q = a Q x a x 3 2 3 5 1 3 F4 = T13 T14 F6 = T16 T17 R 1 = R T10 F4 = R 2 F 4 R 2 = R T10 R = R T T = R T 10 15 2 15 3 S1 = (T12 T15 F6 ) R S 2 = (F4 T15 F6 ) R S 3 = (T11 F4 F6 ) R Управляющий автомат x1 1 10 7 11 19 & 1 12 9 13 12 & 1 14 7 15 24 1 16 10 17 13 x2 x3 x4 x5 x6 R B СИ 18 40 1 19 20 1 20 41 21 14 22 9 1 23 11 24 1 25 5 & 30 36 1 Q1 30 31 31 37 1 Q2 32 32 33 38 & & 34 41 1 Q3 34 33 35 4 40 & 42 a2 37 5 & & 35 1 & a3 38 4 36 Q1 = a6 a1x5 a5 x 2 Q2 = a 2 a1Bx1x2 Q1x6 40 21 7 24 11 7 24 10 12 41 15 16 42 17 42 16 41 15 17 8 18 & & T10 50 T11 51 a2 = 2 3 & T12 & 52 T13 53 & T14 54 & T15 55 T16 56 T17 57 & & a1 = 1 3 a 3 = 1 2 a 4 = 1 2 a5 = 2 3 a 6 = 1 3 Q3 = a 3 Q2 x 3 a5 x1 y 1 = T11 Управляющий автомат 53 1 F4 60 52 54 56 F6 61 57 22 1 1 61 68 R1 63 53 51 1 y3 55 52 53 56 54 68 R3 64 61 55 1 y5 55 57 50 23 1 60 1 67 1 67 23 51 69 & y1 y2 y4 y6 y7 y8 & & S S1 69 25 C 63 70 R S 23 R2 62 60 60 62 61 55 50 62 66 66 55 1 y 2 = T12 1 S2 70 25 S3 71 62 71 25 64 TT 1 TT C R S 2 & 2 6 3 2 & a1 7 a4 8 4 3 1 TT C R 1 5 6 3 & 6 1 R 1 = R T10 F4 = R 2 F 4 R 2 = R T10 R = R T T = R T 10 15 2 15 3 S1 = (T12 T15 F6 ) R S 2 = (F4 T15 F6 ) R S 3 = (T11 F4 F6 ) R y 3 = T13 T16 y 4 = T13 y 5 = T14 T15 y 6 = T15 a5 9 y 7 = T17 y 8 = T10 a1 = 1 3 a 4 = 1 2 a5 = 2 3 F4 = T13 T14 F6 = T16 T17 Синтез УА на программируемых логических устройствах ПЛУ с матричной структурой +E • В местах пересечения – диоды x1 1 x2 1 x3 P1 = x1 x 2 x 3 1 P1 P2 P3 P4 ◆ Схема реализует конъюнктивные матрицы P2 = x1 x 3 P3 = x1 x 2 P4 = x 2 ПЛУ с матричной структурой • Схема реализует дизъюнктивные матрицы ◆ В местах пересечения – транзисторы P1 P2 P3 P4 +E y1 y2 y 1 = P1 P2 P3 y 2 = P2 P4 ПЛУ с матричной структурой +E x1 x2 x3 x1 1 x2 1 M1 P1 P2 P3 P4 x3 1 M2 P1 P2 P3 y1 y2 P4 P1 P2 P3 P4 y1 y 1 = x1 x 2 x 3 x 1 x 3 x 1 x 2 y2 y 2 = x1 x 3 x 2 Организация ПЛУ с матричной структурой 1 & ... M & ... 1 M1 1 ... q s s Программируемые инверторы M2 ... q 1 1 t & 1 1 ... ... s ... 1 1 q t ПЛМ • ПЛМ (S, t, q): Sплм = S(M1 ) + S(M 2 ) = 2S q + q t = q( 2S + t ) • Система булевых функций: y 1 = x1 x 3 x 4 x1 x 2 x 4 x 2 x 4 ... y N = f N ( x1 , x 2 ,..., x L ) LS Nt Bq x1 y1 y2 y3 x1 x2 x3 x4 y1 y2 y3 1 ─ 0 1 1 • 1 1 1 ─ 0 1 • • ─ 0 ─ 1 1 • • ─ 1 ─ 1 • 1 • ─ ─ 1 0 • 1 • 1 ─ 0 0 • • 1 y 1 = f1 ( x1 , x 2 ,..., x L ) x2 x3 x4 y 2 = x 2 x4 x 3 x4 y 3 = x1 x 3 x 4 x1 x 3 x 4 ПЗУ • Дешифратор имеет 2s выходов S ПЗУ = 2S 2 + 2 t = 2 ( 2S + t ) S S S y 1 = x1x2 x3 x1x 2 x3 x1x 2 x3 0 2 6 5 x1 y 2 = x1x 2 x3 x1x2 x 3 2 Адрес 0 2 y1 1 1 y2 • 1 5 6 • 1 1 • x2 x3 0 1 2 ДШ 3 4 5 6 7 Использование ПЗУ в качестве запоминающего устройства A S ПЗУ 0 1 DC 1 ... 2s-1 1 1 t t • Характеристики S E = 2 – емкость – разрядность n = t t ... MUX 1 t 1 A ПЗУ D s y1 t D Чт 1 Рг A s y1 ПЗУ 1 Рг D t y2 y 1 : РгА := d1 y 2 : РгД := ПЗУ ( РгА ) Синтез УА на ПЛМ I. Одноуровневая тривиальная реализация на 1 ПЛМ R q 1 п ... xL ... ... x1 1 ... & 1 R ... y1 y N (R + L) S (N + k R ) t Bq 1 − одновходовые триггеры k= 2 − двухвходовые триггеры Пример синтеза на ПЛМ ai K(ai) a1 000 a2 001 a3 011 a4 010 aj K(aj) X(ai , aj) Y(ai, aj) φ(ai , aj) a1 000 — — a2 001 y1 y2 S3 a3 011 B B x1 y3 S2 a3 011 x1 y4 S2 a4 010 1 y5 y6 R3 a5 100 x2 y7 S1 R2 a6 110 x2 y8 y9 y10 S1 τ1 τ2 τ3 B x1 x2 x3 x4 y1 y3 y4 y5 y7 y8 y10 R1 S1 R2 S2 R3 S3 y2 y6 y9 2 0 0 0 1 ─ ─ ─ ─ 1 • • • • • • • • • • • 1 3 0 0 1 ─ 0 ─ ─ ─ • 1 • • • • • • • • 1 • • 4 0 0 1 ─ 1 ─ ─ ─ • • 1 • • • • • • • 1 • • 5 0 1 1 ─ ─ ─ ─ ─ • • • 1 • • • • • • • 1 • 6 0 1 0 ─ ─ 1 ─ ─ • • • • 1 • • • 1 1 • • • 7 0 1 0 ─ ─ 0 ─ ─ • • • • • 1 1 • 1 • • • • II. Одноуровневая тривиальная реализация на нескольких ПЛМ 1) Собственно одноуровневая {x l } { r } X* = {x l }*, l = 1, L * {y n } {r } Y* = {y n }*, n = 1, N * ... 1 r & ... x1 xL 1 Система уравнений { } q ... y1 y N П { } L* S N* t B q L* = L + R N* = N + k R II. Одноуровневая тривиальная реализация на нескольких ПЛМ 2) Расширение ПЛМ по входам & x1 1 ... ... xL Система уравнений Y1 q ПЛМ 1 ... & 1 ... ... q ПЛМ H YH L* S N* t B q L* = L + R N* = N + k R Y = Y1 Y2 ... YH Yi Yj = 0 i , j = 1, H II. Одноуровневая тривиальная реализация на нескольких ПЛМ 3) Расширение ПЛМ по внутренним шинам & 1 ... ... X* Y* Система уравнений q ПЛМ 1 L* S N* t B q ... & 1 ... ... q ПЛМ H * 4) L S a f a b 1 b Одноуровневая тривиальная реализация невозможна f III. Одноуровневая нетривиальная реализация на одной или нескольких ПЛМ 1 ... ... ... X1 & Y1 q ПЛМ 1 Y* ... X* & 1 ... ... XL • Функции на выходе зависят не от всех входных переменных q ПЛМ H YH X* = X1 X 2 ... X H Y* = Y1 Y2 ... YH Пример одноуровневой нетривиальной реализации L1 = 3 (x 2 x 4 x 5 ) y 1 = x 2 x4 x5 x4 x5 y 2 = x1 x 3 x 5 x1 x 3 x 5 y 3 = x 1 x 3 x1 x 3 L 2 = 3 (x1 x 3 x 5 ) L 3 = 2 (x1 x 3 ) y 4 = x 2 x4 x 2 x4 x5 L 4 = 3 (x 2 x 4 x 5 ) L =53 Lmax = 3 * ПЛМ (3, 2, 4) x2 x4 x5 x1 x3 & 1 Задачи, решаемые при реализации y1 4 y4 & 1 y2 4 y3 1. Преобразование системы канонических уравнений к виду, отвечающему условию Lmax ≤ s 2. Распределение уравнений по различным ПЛМ таким образом, чтобы для каждой ПЛМ выполнялось условие Li ≤ Lmax (≤ s) IV. Многоуровневая реализация • В КЧ автомата сигнал от входа к выходу проходит более чем через одну ПЛМ • Используется – если систему уравнений нельзя свести к виду Lmax S – если одноуровневая реализация слишком избыточна 1) Схема с обратной связью ... ... q 1 ... ... X* & Y* IV. Многоуровневая реализация 2) Собственно многоуровневая & ... X1 1 q ... Y* ... & Y* 1 ... XH & 1 q q 3) Комбинированная & 1 ... ... X1 & 1 q q 1 ... ... XH & q Устройство управления с программируемой логикой • Структура микрокоманды Операционная часть Адресная часть Дополнительные поля • Хранение микропрограммы – используется запоминающее устройство микропрограммы (ЗУМП), в качестве которого могут использоваться ОП или ПЗУ 1 A s 1 D s z1 t z2 ПЗУ ПЗУ 1 Рг A t микрокоманда 1 Рг D Структура УУ с программируемой логикой z1 РМК 1 ОЧ k k+1 АЧ n k 1 k+1 n {xl} СхФУС ... СхФАМ yl yn yf R B АМК ВУА 1 А nA ЗУМП 1 z1 n Организация операционной части • В общем случае ОЧ состоит из нескольких полей ... Y1 ... Yk YH • Кодирование наборов микроопераций 1 Y 1 n1 ... 1 Yk nk ... ... Ym 1 YH n H 1 СхФУС DC1 DC2 DCH ... ... ... Y1={yi} {yk} ym yF {yH} Кодирование наборов микроопераций • УА осуществляет кодирование микрокоманд, состоящих из набора совместимых микроопераций. Микрооперации, входящие в каждую микрокоманду, описываются булевой матрицей вхождения YH – микрокоманда; yM – микрооперация. Y = {Y1 , Y2 ,..., YH } Yi = {y , y ,..., y } k 11 k 12 ... k 1M k 21 k 22 ... k 2 M K= . . . k N1 k N 2 ... k NM 1 Код микрокоманды n АЧ СхФУС 1 А n ПЗУ 1 M ... yl y2 yM yF Способы организации адресной части (АЧ) автомата • Принудительная адресация с двумя адресами 1 Y nY 1 l , X{1 : n x } = 0 X A1 , АМК = A2 , A1 nA 1 1 l L n x = log (L + 1) 2 nX 1 x = 0, ( x = l ) ( x l = 0) ( x = l ) ( x l = 1) A2 nA Принудительная адресация с двумя адресами {xl} z 1: РМК := ЗУМП СхПрЛУ 0 Y 1 nY 1 nx 2 −1 X nX 1 A1 1 СИ xL 1 yF nA 1 A2 nA 1 СхФУС B 1 X* & nX nY {ym} & ... DC 1 1 ... z 2: АМК = А1 z 3: АМК = А 2 x1 nA МПА z2 А z3 nA ЗУМП ВУА 1 z1 z1 nA n 1 Мультиплексор – схема коммутации xl x{1 : n x } D МП X* S n x = log 2 (L + 1) n = n y + n x + 2n А n А = log 2 P Р – общее число микрокоманд в микропрограмме – длина микропрограммы Пример разработки микропрограммы ◆ Распределение микроопераций по начало совместно-кодированным полям Y1 = {y 1 , y 3 , y 4 } y1, y2 0 Y2 = {y 2 , y 5 , y F } x1 Y3 = {y 6 } 1 y3 y4, y5, y6 x2 1 конец 0 y 1 − 01 Y1 = y 3 − 10 y − 11 4 Y3 = y − 1 6 y 2 − 01 Y2 = y 5 − 10 y − 11 F x1 − 01 X= x 2 − 10 Пример разработки микропрограммы ◆ Структура микрокоманды начало 1 Y1 2 ⧫ Операционная часть 1 ❖ Микропрограмма y3 Адрес Y1 Y2 Y3 X y4, y5, y6 000 01 01 0 00 001 000 001 00 00 0 01 011 010 -/переход по x1 010 10 00 0 00 011 000 y3/БП 011 11 10 1 10 001 100 y4 y5 y6/переход по x2 100 00 11 0 00 000 000 yF y1, y2 0 x1 x2 1 конец 0 • Исходные данные 1 Y2 2 Y3 X 1 1 ⧫ A1 2 1 A1 3 1 A2 3 Адресная часть A2 Комментарии y1 y2 /БП Принудительная адресация с одним адресом ОЧ X 1 nA ( + )x l Сч А 1 x l = 0 A = x l = 1 A = + x l 1 А ЗУМП СхПрЛУ nA n Принудительная адресация с одним адресом ◆ Структура микрокоманды начало y1, y2 0 x1 Y1 2 ⧫ Операционная часть 1 Y2 2 Y3 1 1 ⧫ X 2 1 A1 3 Адресная часть ◆ Микропрограмма 1 y3 y4, y5, y6 x2 1 0 1 конец • Исходные данные Адрес Y1 Y2 Y3 X A1 Комментарии 000 01 01 0 00 001 y1 y2/БП 001 00 00 0 01 010 -/проверка x1 010 11 10 1 10 100 y4 y5 y6/ проверка x2 011 10 00 0 00 010 y3/БП 100 00 00 0 00 001 -/БП 101 00 11 0 00 000 yF Естественная адресация • При естественной адресации используют микрокоманды двух типов ❖ Микрокоманды ❖ Операционные ПТ 0 ◆ 1 Y ❖ Управляющие Задают набор микроопераций и неявно полагают адрес следующей микрокоманды равным А+1, где А – адрес текущей микрокоманды A = A+1 ПТ 1 nY ◆ 1 X nX 1 nA Используются для изменения естественного порядка следования микрокоманд путем реализации условных переходов X{1 : n x } = l x l = 0 A = A + 1 x l = 1 A = и безусловных переходов X 0 A= Естественная адресация z 1: РМК := ЗУМП(СчА ) "1" z 2: СчА := СчА + 1 xl D MUX X* SD z 3: СчА := CE nX 1 1 X ПТ z1 Y nY nA 1 1 1 СхФУС {ym} X* B yF 1 СчА 1 А ВУА ЗУМП 1 {zi} nA z2 z3 nA n z1 Работа ВУА начало a1 a3 B 0 1 РМК:= ЗУМП(СчА) a2 ПТ 1 0 yF a1 1 конец X 0 * 1 0 СчА:=СчА+1 α СчА:=__ Пример разработки микропрограммы n = max{ n y , (n X + n A )} + 1 0 начало ПТ 0 1 y1, y2 ПТ 1 1 x1 Y1 X Адрес ПТ 1 y3 y4, y5, y6 x2 0 1 конец • Исходные данные 2 Y1 1 Y2 2 1 Y2 Y3 α X Y3 2 1 3 Комментарии 000 0 01 01 0 y1 y2 001 1 01 01 1 проверка x1 010 1 00 10 0 БП 011 0 10 00 0 y3 100 0 11 10 1 y4 y5 y6 101 1 10 11 1 проверка x2 110 1 00 00 1 БП 111 0 00 11 0 yF Сегментация адреса микрокоманд z 1: РМК := ЗУМП( РгА ) X* {xl} z 2: РгА {1 : n A } := A 1 СхПрЛУ z 3: РгА {1 : n A } := A 2 z 4: РгА {1 : n S } := S РМК ОЧ XS 1 nX X A1 1 nA 1 A2 nA S 1 nS 1 nS 1 nA yF X * X S 1 B ВУА 1 1 nS 1 РгА nA nA nA ЗУМП {zi} z1 1 n z2 z3 z4 z1 Работа ВУА начало a1 B a3 0 1 РМК:= ЗУМП(РгА) Xs 1 РгА{1:nS}:= SРМК 0 a2 X* yF a1 1 конец 0 1 0 РгА{1:nA}:= A1 РгА{1:nA}:= A2