118 (1075087), страница 2
Текст из файла (страница 2)
Закодированный граф микропрограммы составляется путем подстановки нужных управляющих сигналов yi в соответствии с текущей микрооперацией в каждый узел графа и замены логических условий соответствующими им индексами xj. После этого каждому узлу (состоянию) полученного графа присваивается индивидуальный порядковый номер - номер состояния - аi. Начальное и конечное состояния имеют метку а0.
Закодированный граф микропрограммы представлен в приложении на рисунке 2 «Закодированный граф микропрограммы». Он понадобится в дальнейшем для проектирования управляющего автомата.
6. Разработка структурной схемы операционного автомата.
Разработка структурной схемы операционного автомата выполняется на основании списков операций и логических условий. При этом должны учитываться особенности конкретных микросхем.
Код операции должен фиксироваться в регистре D. Три его младших разряда должны поступать на дешифратор, который формирует сигналы B1-B7. Разряд D(3) принимает участие в формировании информационного сигнала x19. Разряды из поля D(4:7) поступают на мультиплексор счетчика для того, чтобы устанавливать в него количество сдвигаемых разрядов.
Должна быть схема сравнения значения, появившегося на адресной шине, со значением, выставленном на тумблерном регистре. По результатам этого сравнения и на основании сигналов ПРГОТ и ЗАН должно вычисляться условие запуска МП (x1).
Счетчик должен предусматривать установку значения 7, значения из регистра кода операции и декремент. На его выходе должна быть схема сравнения, формирующая сигнал Сч=0 (x16).
Регистр занятости предназначен для хранения состояния занятости устройства. Его выход должен подключаться к сигнальной шине интерфейса. Он должен предусматривать установку и сброс.
Регистр E служит для хранения одного из множителей, при выполнении операции «Умножение». Он участвует в формировании знака результата. Кроме того, он должен выполнять операцию сдвига вправо, его нулевой разряд используется для формирования условия x15.
Регистры А, В и С, а также ALU, участвуют во всех вычислениях, включая умножение. Поэтому их разрядность равна 16 бит.
В регистр А информация может поступать из двух источников: со входной шины данных и из регистра R. Поэтому на его входе предусмотрен мультиплексор разрядностью 16 бит. Сам регистр А должен поддерживать операции записи, сдвига вправо-влево и обнуления.
В регистр В информация может поступать также из шины и регистра С. Он должен поддерживать запись, сдвиг влево.
На входе регистров А и В стоят логические элементы, которые в зависимости от сигналов у33 и у34 обнуляют седьмой разряд регистра.
АЛУ используется для выполнения арифметических и логических операций. Его разрядность равна 16 битам. Последний 16 бит не используется, так как даже при умножении до него результат не доходит.
Регистр С принимает результаты операции из АЛУ.. На 15 разряд подается знак результата умножения из регистра знака. С выхода этого регистра информация поступает на вход мультиплексора рег. А. Кроме того старшее и младшее слово раздельно поступают на вход выходного мультиплексора, для выдачи на выходную шину.
Выходной мультиплексор позволяет выдавать раздельно старшее и младшее слово результата на выходную шину. Если результат не выдается, выходы мультиплексора должны переводиться в высокоимпедансное состояние.
Регистр знака хранит знак результата при умножении. На его входе находится схема, которая этот результат вычисляет.
Сигналы ПРГОТ, ЗАН, КОП, ДАННЫЕ, ПРРЕЗ берутся непосредственно с входной шины.
Сигналы ГОТ, ЗАПР, РЕЗ необходимо держать в течении всего одного такта, поэтому они формируются напрямую из управляющих сигналов и, при переходе к следующему такту, автоматически обнуляются.
Разработанная структурная схема операционного автомата приведена в Приложении.
7. Синтез операционных элементов.
7.1. Регистр кода операции.
Для синтеза регистра D используем микросхему КР1533ИР13, восьмиразрядный реверсивный сдвиговый регистр. По сигналу y3 он должен записывать код операции со входной шины данных.
Упр. cигнал | Микрооперация | Сигналы на входах | ||
S1 | S0 | C | ||
Y2 | К=ШВх | 1 | 1 | СИ |
К выходам этого регистра присоединяем дешифратор КР1533ИД7, который будет формировать условия B1-B7. На входы DC1-DC3 дешифратора подаем разряды D0-D2 регистра D, С1=1, С2=0 (входы разрешения). С выходов Q1-Q7 снимаем инвертированные сигналы B1-B7. Разряд D(3) формирует информационный сигнал x8. Разряды D4-D7 поступают на счетчик.
7.2. Счетчик.
Счетчик должен считать разряды во время сдвига в операции умножения и во время выполнения операции «сдвиг логический». Он должен хранить 4-х разрядное число. Для реализации счетчика используем микросхему КР1533ИЕ7.
Упр. сигнал | Микрооперация | Сигналы на входах. | ||||
+1 | -1 | C | D0-D2 | R | ||
Y18 | Сч=7 | 1 | 0 | 0 | 7 | 0 |
Y22 | Сч=Сч-1 | 1 | 01 | 1 | * | 0 |
Y29 | Сч=D(4:7) | 1 | 0 | 0 | К(4:7) | 0 |
На входы данных счетчика поступает значение с выхода мультиплексора счетчика, на вход R - 0.
Сигнал на входе –1: Y22
Сигнал на входе С: (Y18 Y29).
Мультиплексор счетчика организуем на основе четырехразрядного мультиплексора 21. На группу входов 0 подадим значение 7, а на группу входов 1 поле D(4:7) регистра команд. Переключение будет производиться по сигналу Y29.
7.3. Мультиплексор регистра А.
Для построения 16 разрядного мультиплексора 21 используем 4 микросхемы КР1533КП11А. На группу входов 0 подаем сигналы с шины входа, а на группу 1 – с выхода регистра C.
Упр. сигнал | Микрооперация | Сигналы на входах. | |
EZ | SE | ||
Y8 | А=ШВх | 0 | 0 |
Y12 | А=C | 0 | 1 |
Схема управления мультиплексором:
SE=Y12 В противном случае на вход регистра А всегда будет включена ШВх.
7.4. Регистр А.
Разрядность этого регистра должна быть равна 16 битам. Он должен выполнять операции записи значения и обнуления. Для его реализации используем микросхему КР1533ИР13 (Восьмиразрядный реверсивный сдвиговый регистр).
Упр. cигнал | Микрооперация | Сигналы на входах | ||||||
S1 | S0 | C | R | ABS | EX1 | EX2 | ||
Y8 | А=ШВх | 1 | 1 | СИ | 1 | * | * | * |
Y17 | А=0 | * | * | * | 0 | * | * | * |
Y12 | А=С | 1 | 1 | СИ | 1 | * | * | * |
Y30 | A=R1(0.A) | 1 | 0 | СИ | 1 | * | 0 | * |
Y31 | A=L1(A.0) | 0 | 1 | СИ | 1 | * | * | 0 |
Y33 | A=|ШВХ| | 1 | 1 | СИ | 1 | 1 | * | * |
Получаем следующие функции для входов устройства.
S1=S0=C=Y8Y17Y30Y31Y33.
R=Y17.
7.5. Регистр В и схема его загрузки.
Разрядность этого регистра равна 16 битам. Он должен выполнять операции записи значения, обнуления и сдвига, поэтому для него тоже используем микросхему КР1533ИР13.
Упр. cигнал | Микрооперация | Сигналы на входах | ||||||
S1 | S0 | C | R | ABS | EXT1 | EX2 | ||
Y9 | В=ШВх | 1 | 1 | СИ | 1 | * | * | * |
Y16 | В=C | 1 | 1 | СИ | 1 | * | * | * |
Y20 | В=L1(B.0) | 0 | 1 | СИ | 1 | * | * | 0 |
Y34 | B=|ШВХ| | 1 | 1 | СИ | 1 | 1 | * | * |
Сигнал ABS подается на вход логического элемента, который отсекает знак при необходимости. Тогда управление регистром В можно представить следующим образом:
S1= | Y9 Y16 Y34 |
S0= | Y9 Y16 Y34 |
R= | 1 |
ABS= | Y34 |
EX2= | 0 |
Со знакового разряда снимается сигнал знака. Кроме того, к выходам подключена схема, участвующая в формировании сигнала x4.
7.6. Арифметико-логическое устройство.