вар_50 (1074750), страница 2
Текст из файла (страница 2)
4. Списки слов, микроопераций и логических условий.
Обобщённый список слов, полей, логических условий и управляющих сигналов может быть составлен как на основании микропрограмм машинных операций (рисунки 2-8), так и на основании обобщенной микропрограммы (схема «Граф обобщенной микропрограммы»).
Построение таблицы микроопераций, осуществляется следующим образом. Выписываются все использованные виды микроопераций, каждому виду микроопераций ставится в соответствие индекс – Уi, который является обозначением управляющего сигнала, закрепленного за данным видом микроопераций. Вид микроопераций объединяет все одинаковые микрооперации, встречающиеся в микропрограммах (или обобщенной микропрограмме).
Таблица (Список управляющих сигналов)
Вид микрооперации | Управляющий сигнал |
А:=^A+1 | Y1 |
А:=Швх | Y2 |
A(7:6)=0 | Y3 |
A:=B | Y4 |
A:=R | Y5 |
В:=Швх | Y6 |
В:=^B+1 | Y7 |
B:=R | Y8 |
B:=B-1 | Y9 |
B:=^B | Y10 |
В:=R1(ЗнА:А) | Y11 |
В:=L1(0:A) | Y12 |
R:=A | Y13 |
R:=B | Y14 |
R:=A-B | Y15 |
R:=A+B | Y16 |
R:=A*B | Y17 |
R:=^B | Y18 |
R:=^A | Y19 |
R:=Швх | Y20 |
Швых:=R | Y21 |
ГОТ:=0 | Y22 |
ГОТ:=1 | Y23 |
ЗАН:=0 | Y24 |
ЗАН:=1 | Y25 |
ЗАПР:=0 | Y26 |
ЗАПР:=1 | Y27 |
ЗнА:=A(7:6) | Y28 |
ЗнB:=B(7:6) | Y29 |
РЕЗ:=0 | Y30 |
РЕЗ:=1 | Y31 |
Сч:=Сч-1 | Y32 |
Сч:=0 | Y33 |
Сч:=K(4:7) | Y34 |
Список используемых в микропрограмме слов и полей составляется следующим образом. Выписываются все слова, а также самостоятельно использующиеся при выполнении микроопераций поля слов. Затем каждому слову ставится в соответствие регистр. В результате получается таблица, в которой перечислены все используемые в микропрограмме слова, самостоятельно используемые поля этих слов, а также названия регистров, поставленных в соответствие каждому из этих слов.
Список используемых в микропрограмме слов и полей
Наименование и формат слова | Поля | Соответствующий регистр |
А(7:0) | Знак=А(0:0) | РгА |
В(7:0) | Знак=В(0:0) | РгВ |
R(7:0) | Знак=R(0:0) | РгR |
Сч(3:0) | РгСч | |
С(7:0) | Знак=С(0:0) | РгС |
Составление списка логических условий осуществляется следующим образом. Выписываются все виды логических условий, использованных при составлении микропрограмм операций (обобщенной микропрограммы) и поставить каждому из них в соответствие индекс хi, который является, обозначение соответствующего осведомительного сигнала, закрепленного за данным видом логических условий. Вид логических условий объединяет все одинаковые логические условия, встречающиеся в микропрограммах (или обобщенной микропрограмме).
Список логических условий
Логическое условие | Осведомительный сигнал |
____ ПРГОТ & ЗАН & (ША=N) | X1 |
КОП | Х2 |
Данные | Х3 |
В1 | Х4 |
В2 | Х5 |
В3 | Х6 |
В4 | Х7 |
В5 | Х8 |
В6 | Х9 |
В7 | Х10 |
КОП(3) | Х11 |
Сч=0 | Х12 |
ЗнА=1 | Х13 |
ЗнВ=1 | Х14 |
ПРРЕЗ | Х15 |
5. Закодированный граф обобщенной микропрограммы
В соответствии с перечисленными управляющими сигналами и условиями строим закодированный граф обобщенной микропрограммы.
Закодированный граф микропрограммы составляется путем подстановки нужных управляющих сигналов yi в соответствии с текущей микрооперацией в каждый узел графа и замены логических условий соответствующими им индексами xj. После этого каждому узлу (состоянию) полученного графа присваивается индивидуальный порядковый номер - номер состояния - аi. Закодированный граф микропрограммы представлен на чертеже «Закодированный граф обобщенной микропрограммы» Лист 2.
6. Разработка структурной схемы операционного автомата.
Разработка структурной схемы операционного автомата выполняется на основании списков операций и логических условий. При этом должны учитываться особенности конкретных микросхем.
Код операции должен фиксироваться в регистре К. Три его младших разряда должны поступать на дешифратор, который формирует сигналы B1-B7. Разряд К(3) принимает участие в формировании информационного сигнала x4. Разряды из поля K(4:7) поступают на мультиплексор счетчика для того, чтобы устанавливать в него количество сдвигаемых разрядов.
Должна быть схема сравнения значения, появившегося на адресной шине, со значением, выставленном на тумблерном регистре. По результатам этого сравнения и на основании сигналов ПРГОТ и ЗАН должно вычисляться условие запуска МП (x1).
Счетчик должен предусматривать установку значения 7, значения из регистра кода операции и декремент. На его выходе должна быть схема сравнения, формирующая сигнал Сч=0 (x12).
Регистр занятости предназначен для хранения состояния занятости устройства. Его выход должен подключаться к сигнальной шине интерфейса. Он должен предусматривать установку и сброс.
Регистры А, В и R, а также ALU, участвуют во всех вычислениях. Поэтому их разрядность равна 16 бит.
В регистр А информация может поступать из двух источников: со входной шины данных и из регистра R. Поэтому на его входе предусмотрен мультиплексор разрядностью 16 бит. Сам регистр А должен поддерживать операции записи и обнуления.
В регистр В информация может поступать только со входной шины. Но, при подготовке к выполнению операции «Сдвиг арифметический», в регистр В должен заноситься модуль множителя. А знак множителя должен участвовать в образовании знака результата. Для этого знаковый разряд подается на вход регистра через элемент, обнуляющий его при необходимости.
АЛУ используется для выполнения арифметических и логических операций. Его разрядность равна 16 битам. Последний 16 бит не используется.
Регистр R принимает результаты операции из АЛУ. С выхода этого регистра информация поступает на вход мультиплексора рег. А.
Выходной мультиплексор позволяет выдавать раздельно старшее и младшее слово результата на выходную шину.
Регистр знака хранит знак.
Сигналы ПРГОТ, ЗАН, КОП, ДАННЫЕ, ПРРЕЗ берутся непосредственно с входной шины.
Сигналы ГОТ, ЗАПР, РЕЗ необходимо держать в течении всего одного такта, поэтому они формируются напрямую из управляющих сигналов и, при переходе к следующему такту, автоматически обнуляются.
7. Синтез операционных элементов.
7.1. Регистр кода операции.
Для синтеза регистра К используем микросхему КР1533ИР13, восьмиразрядный реверсивный сдвиговый регистр. По сигналу y20 он должен записывать код операции со входной шины данных.
Упр. cигнал | Микрооперация | Сигналы на входах | ||
S1 | S0 | C | ||
Y20 | R=ШВх | 1 | 1 | СИ |
К выходам этого регистра присоединяем дешифратор КР1533ИД7, который будет формировать условия B1-B7. На входы D1-D3 дешифратора подаем разряды R0-R2 регистра R, С1=1, С2=0 (входы разрешения). С выходов Q1-Q7 снимаем инвертированные сигналы B1-B7. Разряды R4-R7 поступают на счетчик.
7.2. Счетчик.
Счетчик должен считать разряды во время сдвига в операции умножения и во время выполнения операции «сдвиг арифметический». Он должен хранить 4-х разрядное число. Для реализации счетчика используем микросхему КР1533ИЕ7.
Упр. сигнал | Микрооперация | Сигналы на входах. | ||||
+1 | -1 | C | D0-D2 | R | ||
Y33 | Сч=0 | 1 | 0 | 0 | 0 | 0 |
Y32 | Сч=Сч-1 | 1 | 0®1 | 1 | * | 0 |
Y34 | Сч=R(4:7) | 1 | 0 | 0 | R(4:7) | 0 |
На входы данных счетчика поступает значение с выхода мультиплексора счетчика, на вход R - 0.
Сигнал на входе –1: Y32
Сигнал на входе С: ù (Y33 Ú Y32).
Мультиплексор счетчика организуем на основе четырехразрядного мультиплексора 2®1. На группу входов 0 подадим значение 0, а на группу входов 1 поле R(4:7) регистра команд. Переключение будет производиться по сигналу Y34.
7.3. Мультиплексор регистра А.
Для построения 16 разрядного мультиплексора 2®1 используем 4 микросхемы КР1533КП11А. На группу входов 0 подаем сигналы с шины входа, а на группу 1 – с выхода регистра R.
Упр. сигнал | Микрооперация | Сигналы на входах. | |
ùEZ | SE | ||
Y2 | А=ШВх | 0 | 0 |
Y5 | А=R | 0 | 1 |
Схема управления мультиплексором:
SE=Y5. В противном случае на вход регистра А всегда будет включена ШВх.