Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дубинин Н.М. Методические указания по курсовому проектированию.DOC
Скачиваний:
29
Добавлен:
02.05.2014
Размер:
668.16 Кб
Скачать

6.1 Управляющий автомат с программируемой логикой

Методика проектирования автомата с программируемой логикой состоит из следующих этапов:

  • построение содержательной и закодированной граф-схем алгоритма выполнения операции;

  • синтез структурной схемы автомата;

  • определение формата микрокоманды;

  • расчет длительности синхронизирующих тактов и быстродействия автома-та с составлением временных диаграмм;

  • построение функциональных схем.

6.1.1 Построение функциональных схем

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

В графах микропрограмм используются вершины пяти типов, изображенные на рис.2.

Начальная вершина (см. рис. 2а) обозначает начало микропрограммы и имеет только один выход.

Конечная вершина (см. рис. 2б) определяет конец микропрограммы, имеет любое число входов и не имеет выхода.

Рисунок 2. Общепринятые вершины ГСА.

Операторная вершина (см. рис. 2в) содержит микрооперации, реализуемые одной микрокомандой.

В нее может входить любое число дуг, но выходит только одна дуга. Условная вершина (см.рис. 2г) может иметь любое число входов и два выхода “1” или “0” по условию. Если в некоторой микропрограмме М происходит обращение к другой микропрограмме В, то действия в М должны быть приостановлены до завершения микропрограммы В, а в граф микропрограммы М включается ждущая вершина (рис. 2д).

Граф микропрограммы состоит из совокупности вышеперечисленных вершин и дуг, соединяющих входы и выходы разноименных вершин. При построении графа микропрограммы следует проверить условия корректности графов микропрограмм:

  • наличие только одной начальной и одной конечной вершины;

  • в любую вершину графа должен вести по крайней мере один путь из начальной вершины;

  • из каждого выхода любой вершины графа должен вести по крайней мере один путь в конечную вершину;

  • при всех возможных значениях слов, указанных в условных вершинах графа, должен существовать путь из начальной вершины в конечную.

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

Рисунок 3. Закодированная микропрограмма

6.1.2 Кодирование микрокоманды

Формат микрокоманд и способ кодирования являются основными показателями микропрограммного сопроцессора, определяющими его быстродействие, аппаратные затраты, гибкость микропрограммирования. На рис.4 представлена структура микрокоманды.

Рисунок 4. Структура микрокоманды с принудительной адресацией.

Коды микроопераций микрокоманды инициируют совокупность микроопераций, выполняемых за один такт работы. Разряды микрокоманды, отведенные под операционную часть (ОЧ), разбиваются на поля. Каждое поле объединяет некоторый набор несовместных микроопераций, т.е. таких операций, которые не могут выполняться в одном такте. Например, все разные микрооперации, выполняемые на определенном функциональном узле (сумматоре, регистре), являются несовместными.

В курсовом проекте необходимо решить задачу оптимального распределения всего набора микроопераций по полям микрокоманды с учетом двух условий:

а) в одно поле включаются только несовместные микрооперации;

б) длина операционной части должна быть минимальной.

После определения количества полей и числа микроопераций, включенных в каждое поле, вычисляется длина операционной части микрокоманды по формуле

  • где n - число полей; mi - число микроопераций, относящихся к n-полю.

Код 0...0 используется как признак пустоты поля, при этом поле не возбуждает ни одной микрооперации. Длина операционной части микрокоманды влияет на количество оборудования в управляющем автомате и на быстродействие операционного устройства. При n=1 (вертикальное кодирование) операционная часть микрокоманды имеет минимальную длину, но в каждом такте реализуется только одна микрооперация, при максимальном количестве полей операционная часть имеет наибольшую длину (горизонтальное кодирование), стоимость ПЗУ микрокоманд из-за увеличения разрядности хранимого слова - максимальная, но в каждом такте выполняется одновременно максимально допустимое число микроопераций, что существенно увеличивает быстродействие устройства.

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

Микропрограмма определяет порядок следования микрокоманд. Переход к микрокоманде может осуществляться непосредственно после выполнения предыдущей - безусловный переход, или при выполнении некоторого логического условия - условный переход. Поэтому независимо от способа адресации, который задает правило определения адреса следующей микрокоманды, адресная часть (АЧ) микрокоманды содержит поле логических условий. Обычно для всех осведомительных сигналов отводится одно поле , хотя их может быть и несколько.

Способ адресации существенно влияет на время выполнения микрокоманд и на гибкость микропрoграммирования. Различают микропрограммные управляющие автоматы с естественным и произвольным (принудительным) порядком следования микрокоманд, когда в каждой микрокоманде указывается адрес следующей микрокоманды. В первом случае адрес следующей микрокоманды определяется счетчиком микрокоманд. Во втором случае произвольный порядок увеличивает гибкость микропрограммирования. При этом способе в каждой микрокоманде выделяется поле, где хранится информация об адресе (или сам адрес) следующей микрокоманды. Формируется адрес двумя способами, называемыми последовательным и параллельным микропрограммированием.

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

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

Средства микропрограммирования предусматривают также такой способ уменьшения длины адресной части микрокоманды, как сегментация ПЗУ и сопутствующую ей сегментацию микропрограммы. При сегментации ПЗУ поле адреса микрокоманды разделяется на адрес сегмента и адрес ячейки в сегменте, длина микрокоманды сокращается, но в микропрограмму включаются дополнительные микрокоманды для передачи управления между сегментами. Для компенсации потерь времени на выполнение этих дополнительных микрокоманд все микрокоманды распределяются по сегментам ПЗУ таким образом, чтобы число переходов между сегментами в процессе реализации микропрограммы было минимальным. Этот процесс называется сегментацией микропрограмм.