Синтез микропрограмного автомата

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 22:24, 6 июня 2016.

Введение

При описании узлов и устройств цифровой обработки их часто представляют в виде композиции управляющей и операционной частей или управляющего и операционного автоматов. Операционный автомат (ОА) выполняет конкретные операции преобразования информации (шифраторы, дешифраторы, регистры и т. д.). Функцией управляющего автомата (УА) является координация работы операционных устройств. Задача УА — выработка распределенной во времени последовательности сигналов, определяющих порядок работы операционного автомата.

Любая операция, выполняемая ОА, может быть представлена совокупностью микроопераций. Для реализации команды, операции или процедуры (микропрограммы) необходимо на соответствующие управляющие входы операционного автомата подать определенным образом распределенную во времени последовательность управляющих функциональных сигналов. Выполнение команд организуется на основе принципа микропрограммного управления, который состоит в следующем:

  1. Любая операция/команда, реализуемая устройством, рассматривается как сложное действие и разделяется на последовательность элементарных действий над словами информации, называемых микрооперациями. Каждая микрооперация инициализируется соответствующей микрокомандой из множества микрокоманд Y, вырабатываемых УА. Каждый управляющий функциональный сигнал поступает в начале некоторого такта на соответствующий вход ОА, вызывая в этом такте выполнение в ОА определенной микрооперации (инвертирование, инкремент или декремент, передача слова, суммирование кодов и др.).
  2. Для управления порядком следования микроопераций (порядком выдачи управляющим автоматом микрокоманд Y) используются логические условия Х, принимающие значения 1 или 0. Генерируемая УА последовательность управляющих сигналов задается поступающими на входы автомата кодом операции, сигналами из ОА, несущими информацию об особенностях операндов, промежуточных и конечного результатов операции, а такж синхросигналами, задающими границы тактов.
  3. Процесс выполнения операций в устройстве описывается в форме алгоритма, представляемого в терминах микроопераций и логических условий и называемого микропрограммой. Микропрограмма определяет порядок проверки логических условий Х и следования микроопераций, необходимый для получения результата.

Таким образом, УА генерирует последовательность управляющих сигналов Y, предписанную микропрограммой и соответствующую значениям логических условий Х. УА можно рассматривать как конечный автомат, определяемый:

а) множеством двоичных выходных сигналов , соответствующих множеству микроопераций операционного блока. При инициируется i-я микрооперация;
б) множествами входных сигналов K и X: , соответствующих задаваемому извне двоичному коду операции, команды (K) и двоичным осведомительным сигналам (Х);
в) множеством подлежащих реализации микропрограмм (каждая микропрограмма инициируется соответствующей командой), устанавливающих в зависимости от значений входных сигналов управляющие сигналы, выдаваемые УА в определенные такты.

Функция управляющего автомата определяется:

  1. множеством входных осведомительных сигналов Х, отображающих состояние операционного автомата;
  2. множеством выходных (управляющих) сигналов Y, инициирующих выполнение микроопераций, реализуемых операционным автоматом;
  3. закодированной граф-схемой микропрограммы (ГСМ), задающей порядок следования управляющих сигналов Y в зависимости от значений осведомительных сигналов Х.

ГСМ строится с использованием вершин четырех типов (см/ рис. 1) и дуг, связывающих вершины.

Рис. 1. Вершины ГСМ

ГСМ считается корректной, если выполняются следующие условия:

  • ГСМ содержит конечное число вершин, каждая из которых принадлежит к перечисленным типам;
  • имеет одну начальную и одну конечную вершины;
  • выходы и входы вершин соединяются с помощью дуг, направленных от выхода ко входу;
  • каждый выход соединен с одним входом;
  • из любой вершины существует хотя бы один путь к конечной;
  • один из выходов условной вершины может соединяться с ее входом, что недопустимо для операторной вершины;
  • в каждой условной вершине записывается один из входных сигналов УА;
  • в каждой операторной вершине записывается оператор (микрокоманда из множества микрокоманд).
Рис. 2. Содержательная и закодированная ГСМ

Процедура построения УА с хранимой\микропрограммной логикой по имеющейся ГСМ заключается в следующем: 1. Выбирают способ адресации и формат микрокоманд, причем стремятся сократить число двоичных разрядов в формате микрокоманды, что, как правило, позволяет уменьшить объем оборудования ПЗУ. 2. Производят разметку ГСМ в соответствии с правилами, которые определяются выбранным способом адресации. 3. Составляют кодированную микропрограмму в виде таблицы, строки которой соответствуют отметкам на ГСМ. 4. Выбирают типы необходимых микросхем и составляют структурную и принципиальную схемы автомата.

Выполнив эти этапы, переходят к технической реализации УА.

Исходными данными для проектирования УА являются:

  • предварительный состав функциональных узлов операционного автомата с перечнем выполняемых на них микроопераций;
  • микропрограмма или набор исходных микропрограмм управления работой операционного автомата (объекта);
  • система логических и запоминающих элементов (спецификация);
  • критерии оценки качества разработки.

При проектировании МПА решаются задачи:

  • оптимизация микропрограммы с учетом конкретных особенностей реализации МПА;
  • выбор способа кодирования МК;
  • определение структуры и формата МК;
  • размещение программы в ПЗУ – микропрограммирование;
  • построение логической схемы МПА.

На практике применяются следующие типы МПА:

  1. МПА с естественной адресацией;
  2. МПА с естественной адресацией (2 типа);
  3. МПА с принудительной адресацией;
  4. МПА Уилкса;
  5. МПА с сокращенным тактом;
  6. МПА с явным указанием альтернативных адресов.

Кодирование микрокоманд МПА

Последовательность микрокоманд, выполняющих одну машинную команду или отдельную процедуру, образует микропрограмму. Обычно микропрограммы хранятся в специальной памяти микропрограмм ("управляющей памяти"). В управляющих автоматах с хранимой в памяти программой, микропрограммы используются в явной форме, они программируются в кодах микрокоманд и в таком виде заносятся в память. Поэтому такой метод управления цифровым устройством называется микропрограммированием, а использующие этот метод управляющие блоки – микропрограммными управляющими устройствами (автоматами).

Микрокоманда содержит информацию о микрооперациях, которые должны выполняться в данном такте работы устройства, и информацию об адресе следующей микрокоманды.

Микропрограмма - любая формализованная форма описания работы управляющего и операционного автоматов.

Микрооперация - базисное (элементарное) действие, выполняемое в ОА.

Микроблок - набор микроопераций, выполняемых в ОА одновременно (в одном такте).

Признак (условие) - логическое значение, используемое при переходе к одному из возможных шагов алгоритма - результат выполнения микрооперации.

Микрокоманда - набор сигналов, поступающий из УА в ОА и интерпретируемый как управляющий, т.е. необходимый для выполнения всех микроопераций одного микроблока.

Микроинструкция - слово управляющей памяти, состоит из двух составных частей: микрокоманды и адресной части.

Рис. 3. Структура микрокоманды МПА

Микрокоманда содержит четыре поля:

  1. СХ – поле управления выбором опрашиваемого входного осведомительного сигнала ;
  2. А1 – поле адреса следующей микрокоманды, если опрашиваемый осведомительный сигнал ;
  3. А0 – поле адреса следующей микрокоманды, если опрашиваемый осведомительный сигнал ;
  4. Y – поле операционной части микрокоманды (поле выходных управляющих сигналов).

Способ адресации микрокоманд задаёт правило определения адреса следующей микрокоманды. Существуют два основных способа определения адреса следующей микрокоманды – принудительная адресация и естественная адресация.

Адресная часть микроинструкции содержит информацию, позволяющую в следующем такте работы выбрать (указать) новый адрес управляющей памяти. Реализация именно этого момента является основным предметом дальнейшего рассмотрения и определяет, в основном, структуру, объем аппаратуры и быстродействие УА.

Рис. 4. Формат микрокоманды УА с принудительной адресацией
Рис. 5. Формат микрокоманды УА с естественной адресацией

Рассмотрим на примерах синтез МПА.

Вариант 1

Дан МПА с естественной адресацией и граф этого автомата (рис. 6).

Рис. 6. Граф автомата

Реализуем данный автомат. Программу автомата представим в виде схемы с выделенными элементарными микрокомандами.

Рис. 7. Блок-схема

Если не и не , то по умолчанию, то есть при аппаратной реализации автомата следует ввести проверку входных переменных. Если они отсутствуют, то блокируем счетчик адресации ПЗУ.

Условные обозначения:

  • - проверка, ли на входе;
  • - проверка, ли на входе;
  • - безусловный переход по альтернативному адресу;
  • - вывод и переход по альтернативному адресу.
Номер на схеме Код в ПЗУ Адрес
состояния
Альтернативный
адрес
Входные
переменные
Команда Выход
Тип Код Тип Код
0 1111001 0000 1111 15 001
1 0101010 0001 0101 5 001
2 0000100 0010 0000 0 100
3 1000001 0011 1000 8 001
4 0010010 0100 0010 2 010
5 0011100 0101 0011 3 100
6 0101001 0110 0101 5 001
7 1011010 0111 1011 11 010
8 0110101 1000 0110 6 101
9 1111001 1001 1111 15 001
10 1000010 1010 1000 8 010
11 1001101 1011 1001 9 101
12 0010001 1100 0010 2 001
13 1011010 1101 1011 11 010
14 1100000 1110 1100 12 000
15 1100101 1111 1100 12 101
Рис. 8. Схема устройства, реализующего автомат

Первые 4 бита задают альтернативный адрес.

D1 - проверяет, есть ли входные переменные, и подает разрешающий сигнал Е на счетчик D7.

D7 при поступлении на V=1 переходит в состояние 0.

D8 - МПЗУ.

D9 - при V=1 обращается к МК и выдает на выход соответствующее значение y.

D2 - мультиплексор, управляемый МК, поданный на А и V (V=0 включает мультиплексор). На адресе 00 всегда 1 (для осуществления команды jmp).
- первый 0 включает мультиплексор, проверяется переменная, если х=1, то D4 выдает 0 и ГТИ блокируется, а на V СТ подается 1 и счетчик переключается.
- первая 1 отключает мультиплексор, D4 выдает 0, безусловные переход СТ, D9 расшифровывает МК и выводит y.

Вариант 2

Закодируем входы и выходы МПА:

Входы Выходы
000 000
001 001
010 010
011 011
100

Через обозначим неопределенное состояние.

Формат микрокоманд

На рис. 9 обозначен используемый формат микрокоманд. В данном случае будем использовать естественную адресацию 2 типа.

Рис. 9. Формат микрокоманд МПА естественной адресации 2 типа

Составление таблицы переходов

Количество разрядов адресов в ПЗУ выбирается исходя из следующего соотношения: , где n - количество шагов алгоритма. Таблица переходов составлена согласно правилам синтеза МПА с естественной адресацией 2 типа:

Рис. 10. Таблица переходов

Принципиальная схема

Принципиальная схема:

Рис. 11. Реализация МПА