Микропрограммные автоматы
Введение
Тема курсовой работы по дисциплине «Прикладная теория цифровых автоматов» – «Микропрограмные автоматы».
Цель курсовой работы – ознакомиться с основными понятиями; принципами микропрограммного управления; концепцией управляющего и операционного автоматов; управляющими автоматами с жесткой и программируемой логикой; научиться строить графы схем алгоритмов; проводить синтез управляющего автомата по граф-схеме алгоритма; строить УА с программируемой логикой на основе ПЗУ и общей структурой микропроцессорного вычислительного устройства.
1. Основные понятия. Принцип микропрограммного управления
Рассмотренные методы и приемы синтеза дискретных устройств (ДУ) использовали их представление в виде совокупности двух основных блоков: комбинационного логического и блока элементов памяти. Такой подход обладает универсальностью и обеспечивает хорошие результаты при построении относительно несложных ДУ. Однако полученные на его основе процедуры синтеза ДУ оказываются чрезмерно громоздкими и трудоемкими при построении устройств средней и большой сложности, имеющих важное практическое значение. Работа таких устройств обычно заключается в реализации некоторого алгоритма обработки информации, т.е. в выполнении упорядоченной последовательности определенных операций над поступающими данными. При построении таких ДУ целесообразно использовать принцип микропрограммного управления, состоящий в следующем:
1) любая операция, реализуемая устройством, рассматривается как сложное действие, которое разделяется на последовательность элементарных действий, называемых микрооперациями;
2) для управления порядком следования микроопераций используются логические условия х>i>, принимающие в зависимости от результатов выполнения микроопераций значения 1 или 0;
3) процесс выполнения операций в устройстве описывается в форме алгоритма, представленного в терминах микроопераций и логических условий и называемого микропрограммой;
4) микропрограмма используется как форма представления функции устройства, на основе которой определяются его структура и порядок функционирования.
Все сказанное можно рассматривать, как содержательное описание принципа микропрограммного управления.
2. Концепция управляющего и операционного автоматов
При использовании описанного принципа принято делить ДУ на две части: операционный автомат (ОА) и управляющий автомат (УА) (рис. 1).
Рисунок 1. Обобщенная структурная схема микропрограммного дискретного устройства
ОА предназначен для хранения поступающей информации D, выдачи результатов выполнения операций R, выполнения заданного набора микроопераций, выработки значений логических условий Х=(x>0>, x>1>,…, x>m>), которые являются оповещающими сигналами для управляющего автомата. УА генерирует последовательность управляющих сигналов Y=(y>1>, y>2>,…, y>n>) в соответствии с заданной микропрограммой и со значениями логических условий X. Каждый управляющий сигнал инициирует выполнение соответствующей микрооперации в ОА.
В общем случае ДУ предназначается для выполнения ряда микропрограмм, и на УА подается внешний сигнал q, в соответствии с которым начинается выполнение той или иной микропрограммы. Если ДУ является частью системы обработки информации, то оно может также обмениваться специальными сигналами логических условий X>B> и управления Y>B> с другими блоками системы.
В состав ОА входят главным образом типовые функциональные узлы: регистры, счетчики, сумматоры, дешифраторы, шифраторы, арифметико-логические устройства (АЛУ), схемы сравнения, блоки памяти, схемы пересылки данных и т.п. Число элементов памяти (ЭП), содержащихся в ОА, определяется разрядностью обрабатываемых данных n>Д>, которая может быть достаточно большой. Однако трудоемкость и сложность проектирования ОА, как правило, слабо зависят от n>Д> в силу широкого использования стандартных узлов. Таким образом, ОА является исполнительной частью устройства; его состав и структура могут быть одинаковыми для реализации многих алгоритмов одного класса.
Элементарный неделимый акт обработки информации в операционном автомате, происходящий в течение одного момента автоматного времени (одного такта работы автомата), называется микрооперацией. Примерами микроопераций могут служить «Сдвиг информации», «+1», «Инверсия переменной» и т.д.
Если в операционном автомате одновременно реализуется несколько микроопераций, то такое множество микроопераций называется микрокомандой. Не исключен случай, когда множество микроопераций, образующих микрокоманду, пусто. Реализация такой микрокоманды в операционном автомате равносильна отсутствию выполнения каких-либо элементарных операций. В случае синхронных дискретных устройств пустая микрокоманда интерпретируется как пропуск такта, когда никакие сигналы от управляющего автомата на операционный автомат не поступают.
Микрооперации возбуждаются выходными сигналами управляющего автомата, а их последовательность во времени определяется функциями перехода управляющего автомата.
Совокупность микрокоманд и функций перехода образует микропрограмму. Таким образом, для описания микропрограммы необходимо задать множество микрокоманд и функций перехода, определяющих порядок их выполнения. Для описания микропрограмм удобно использовать язык граф-схем алгоритмов (ГСА).
3. Управляющие автоматы с жесткой и программируемой логикой
Объем оборудования УА зависит от сложности реализуемого алгоритма и от структуры этого автомата, которую можно выполнить в трех вариантах.
1. УА с жесткой (схемной, произвольной) логикой, при которой переключательные функции, необходимые для формирования заданной последовательности управляющих сигналов У, реализуются с помощью логических элементов с произвольными связями (обычно с применением схем с малой и средней степенями интеграции). Здесь используется аппаратный подход к реализации устройства.
2. УА с хранимой в памяти (гибкой, программной) логикой, при которой сигналы У вырабатываются на основе совокупности управляющих слов, хранимых в памяти автомата. В этом случае составленные микропрограммы используются в явной форме и обычно записываются в постоянные запоминающие устройства (ПЗУ), выполненные на основе полупроводниковых БИС большой емкости, что позволяет обеспечить регулярность структуры УА и его компактность; здесь используется аппаратно-программный подход к реализации устройства.
3. УА на основе программируемых логических матриц (ПЛМ), в которых заданные функции реализуются с помощью БИС ПЛМ, что позволяет сочетать многие достоинства первых двух вариантов.
Таким образом, использование принципа микропрограммного управления позволяет упорядочить и упростить процедуру логического проектирования ДУ, обеспечить регулярность их структуры, а также открывает возможность широкого применения современных БИС. Принцип микропрограммирования применяется при создании микропроцессоров и устройств на их основе. Это не только позволяет упорядочить управление, но и дает возможность формировать систему команд микропроцессоров по своему усмотрению, исходя из имеющейся системы микрокоманд.
Рассмотрим порядок проектирования микропрограммного ДУ, который состоит из следующих основных этапов:
Запись алгоритма.
По описанию отдельных алгоритмов, реализуемых устройством, составляется их формализованная запись в виде граф-схем алгоритмов (ГСА). Для этого составляется список необходимых микроопераций У>j>, и соответствующих им управляющих сигналов у>j>, а также логических условий х>i>; Далее при необходимости производится минимизация числа вершин ГСА и составляется объединенный ГСА, являющийся формой здания ДУ для выполнения следующих этапов.
Построение ОА.
В общем случае ОА может быть построен по канонической схеме автомата и содержит три основные части: блок элементов памяти для хранения операндов, а также промежуточных и конечных результатов; комбинационную схему, реализующую набор микроопераций; комбинационную схему, вырабатывающую значения логических условий. Как уже отмечалось, при построении ОА целесообразно применять типовые узлы, а также стремиться использовать отдельные узлы для выполнения нескольких микроопераций.
Построение УА.
Сначала выбирают вариант структуры УА, учитывая требования быстродействия, допустимый объем аппаратуры и другие ограничения. Далее осуществляется синтез УА в соответствии с процедурой, зависящей от принятой структуры автомата.
В результате выполнения этих этапов составляют структурные схемы ОА и УА и переходят к техническому проектированию, которое включает вопросы практической реализации схемы устройства на выбранной элементной базе, введение необходимых развязывающих, усиливающих и формирующих каскадов, компоновку деталей на платах, составление монтажных схем и выдачу технической документации.
4. Граф-схемы алгоритмов
ГСА – это ориентированный связный граф, задающий последовательность выполнения операций данного алгоритма и содержащий ряд операторных и условных вершин, а также одну начальную и одну конечную вершины. Операторной называется вершина, – которой сопоставляется одна или несколько микроопераций и отмечается соответствующими управляющими сигналами У, а условной – вершина, которой сопоставляется некоторое логическое условие X.
Любая вершина ГСА, кроме вершины «Начало», имеет по одному входу. Вершина «Начало» входов не имеет. Вершина «Начало» и любая операторная вершина имеют по одному выходу. Вершина «Конец» выходов не имеет. Любая условная вершина имеет два выхода, помечаемых символами «Да» и «Нет»: Вместо этих символов могут быть использованы цифры «1» и «О» соответственно. Изображение вершин «Начало», «Конец», операторной вершины и условной вершины ГСА представлено на рис. 2.
Рисунок 2-Графы схемы алгоритмов
ГСА составляют так, чтобы обеспечить выполнение необходимых операций и проверку логических условий в соответствии со словесным описанием алгоритма.
На основании перечня микроопераций и реализующих их функциональных узлов составляется структурная схема ОА. Здесь широкими стрелками показаны шины, по которым передается информация, а тонкими – сигналы у, управляющие работой отдельных узлов или передачей информации по шинам.
ГСА должна удовлетворять следующим условиям:
1. Входы и выходы вершин соединяются друг с другом с помощью направленных всегда от выхода к входу.
2. Каждый выход соединен только с одним входом.
3. Любой вход соединяется, по крайней мере, с одним выходом.
4. Любая вершина ГСА лежит, по крайней мере, на одном пути из вершины «Начало» в вершину «Конец».
5. Один из выходов условной вершины может соединяться с ее входом, что недопустимо для операторной вершины. Такие условные вершины иногда называются возвратными.
6. В каждой условной вершине записывается логическое условие из множества логических условий. Разрешается в различных условных вершинах записывать одинаковые логические условия.
7. В каждой операторной вершине записывается оператор, представляющий собой выходной сигнал или совокупность выходных сигналов управляющего автомата. Разрешается в различных операторных вершинах записывать одинаковые операторы.
5. Содержательные граф-схемы алгоритмов
Обычно при проектировании различных устройств предварительно составляется так называемая содержательная ГСА, в которой внутри условных и операторных вершин записаны логические условия и микрооперации в содержательных терминах.
В качестве примера построим содержательную ГСА устройства, вычисляющего функцию знака числа:
Соответствующая содержательная ГСА представлена на рис. 3.
Рисунок 3. Содержательная ГСА функции определения знака числа
6. Синтез управляющего автомата по граф-схеме алгоритма
Конечный управляющий автомат, реализующий микропрограмму работы дискретного устройства, принято называть микропрограммным автоматом. Как уже отмечалось, микропрограмма отображается с помощью ГСА. Рассмотрим последовательность этапов синтеза управляющего автомата по его ГСА.
1. Запись словесного алгоритма функционирования операционного автомата (выполняемых операций) с учетом структуры операционного автомата.
2. Построение содержательной ГСА функционирования операционного автомата.
3. Построение отмеченной ГСА с учетом типа автомата.
4. Построение графа переходов автомата или таблицы переходов.
5. Проведение структурного синтеза автомата по его графу переходов известными методами, например, с помощью канонического метода структурного синтеза.
Построение отмеченной ГСА производится по содержательной ГСА. Для автоматов Мили и Мура процедура разметки имеет различия.
6.1 Построение отмеченной ГСА автомата Мили
Если необходимо построить микропрограммный автомат Мили, то содержательная ГСА управляющего автомата размечается в соответствии со следующими правилами:
1) символом состояния a>1> отметить вход вершины, следующей за вершиной «Начало», а также вход вершины «Конец»;
2) входы всех вершин, следующих за операторными, должны быть отмечены символами а с последовательными индексами;
3) если выход вершины отмечается, то только одним символом;
4) входы различных вершин, за исключением вершины «Конец», отмечаются различными символами;
5) содержательные термины микроопераций и логических условий. заменяются их условными обозначениями: в каждой операторной вершине последовательно проставляются символы выходных сигналов, если в различных операторных вершинах записаны одинаковые микрооперации, то разрешается их отмечать одинаковыми символами выходных сигналов; если в различных условных вершинах записаны одинаковые логические условия, то разрешается их отмечать одинаковыми символами входных сигналов.
6.2 Построение отмеченной ГСА автомата Мура
Если необходимо построить микропрограммный автомат Мура, то содержательная ГСА управляющего автомата размечается в соответствии со следующими правилами:
1) символом a>1> отмечаются вершины «Начало» и «Конец»;
2) различные операторные вершины отмечаются различными символами;
3) все операторные вершины должны быть отмечены.
4) содержательные термины микроопераций и логических условий. заменяются их условными обозначениями.
Содержательная ГСА (рис. 3.) после разметки по приведенному алгоритму представлена на рис. 5.
После получения отмеченной ГСА строится граф переходов автомата. Он имеет столько различных вершин, сколько различных букв а>i> с индексами имеется в отмеченной ГСА. Каждая вершина графа переходов автомата отмечается буквой а с соответствующим индексом.
Между двумя вершинами графа имеется дуга, если на отмеченной ГСА между вершинами с метками a>i> и a>k>, имеется путь. Над дугой ставится входной сигнал, равный конъюнкции логических условий соответствующего пути в отмеченной ГСА. При этом выполнению логического условия соответствует переменная без отрицания, а невыполнению логического условия – переменная с отрицанием на соответствующей дуге графа переходов автомата.
Если в отмеченной ГСА между упомянутыми вершинами с метками a>i> и а>k> имеется несколько путей, то в графе переходов автомата на дуге, связывающей а>i> и а>k> через символ дизъюнкции перечисляются все конъюнкции, соответствующие имеющимся путям.
Если строится граф переходов автомата Мура, то символы микроопераций (выходные сигналы управляющего автомата) записываются около соответствующих его вершин. Для автомата Мили символы микроопераций записываются на соответствующих дугах при конъюнкциях логических условий, описывающих путь через операторную вершину с рассматриваемой микрооперацией.
Если в отмеченной ГСА имеется безусловный переход между операторными вершинами, т.е. путь, не проходящий ни через какие условные вершины, то на графе переходов автомата ему соответствует дуга, которой приписывается входной сигнал «1», показывающий, что данный переход в автомате осуществляется при поступлении очередного синхросигнала.
В дальнейшем синтез проводится с помощью описанного ранее метода структурного синтеза. Подчеркнем, что входными сигналами синтезируемого структурного автомата являются конъюнкции булевых переменных (или дизъюнкции конъюнкций), каждая из которых отображает путь через соответствующие условные вершины отмеченной ГСА, а выходными сигналами – микрооперации, обозначающие либо вершины, либо дуги графа переходов автомата, в зависимости от его типа. Используя канонический метод структурного синтеза, можно построить функциональную схему автомата.
7. Построение УА с программируемой логикой на основе ПЗУ
В отличие от УА с жесткой логикой, закон функционирования которого обеспечивается определенным образом соединенными логическими элементами, в автоматах, построенных на основе ПЗУ, заданная микропрограмма реализуется в явной форме и хранится в памяти в виде последовательности управляющих слов. Управляющее слово определяет порядок работы устройства в течение одного такта и называется микрокомандой (МК). Она содержит информацию о микрооперациях, которые должны выполняться в данном такте, и (или) об адресе следующей микрокоманды.
Формат МК в общем случае может иметь операционно-адресную структуру.
Операционная |
Адресная |
Микрокоманда может содержать следующие части:
У 1 m |
X 1 L |
A 1 P |
P 1 k |
– операционную часть Y, состоящую из одного или нескольких полей, в каждом записывается номер выходного сигнала y>j>, вырабатываемого в данном такте;
– адресную часть, состоящую из поля X, в которое записывается номер логического условия X>i> (обычно единственного), проверяемого в данном такте;
Рисунок 6. Обобщенная структурная схема управляющего автомата, построенного на основе ПЗУ
– а также из поля A, в которое записывается информация об адресе следующей МК;
– служебную часть Р, содержащую вспомогательную управляющую информацию.
Обобщенная структурная схема УА, выполненного на основе ПЗУ, дана на рис. 6.
Перед началом работы на УА подается сигнал СБРОС, устанавливающий все триггеры автомата и регистра микрокоманд (РМК) в нулевое состояние. Этим обеспечивается занесение содержимого нулевой ячейки ПЗУ в РМК при поступлении первого тактового импульса после подачи стартового сигнала В.
С помощью дешифратора ДШУ вырабатывается соответствующий выходной сигнал y>j>, а с помощью ДШХ определяется номер логического условия X>i>, проверяемого в данном такте. В зависимости от значения X>i>, прошедшего через схему выбора ЛУ, и информации, поступающей из адресного поля А, устройство формирования адреса следующей МК (УФ АМК) вырабатывает адрес ячейки ПЗУ, содержимое которой будет переписано в РМК в следующем такте. На УФ АМК может также поступать внешний управляющий сигнал V, обеспечивающий, например, выбор определенного алгоритма из тех, чьи микропрограммы хранятся в ПЗУ автомата.
Схема управления СУ (в некоторых вариантах УА она может отсутствовать) разрешает работу ДШУ или ДШХ в зависимости от содержимого служебной части Р формата команд. В последнем такте выполнения микропрограммы на выходе ДШК вырабатывается дополнительный сигнал ум+1, используемый как сигнал F, останавливающий работу автомата и осуществляющий сброс всех его триггеров.
Таким образом, структура УА с хранимой в ПЗУ логикой стандартна, и в этом заключается одно из преимуществ рассматриваемой реализации автомата. Поэтому основные усилия направляются не на получение структурной схемы, а на составление кодированной микропрограммы, которая записывается в ячейки ПЗУ, т.е. центр тяжести при разработке УА смещается с аппаратных на программные средства.
Процедура построения УА с хранимой логикой по имеющейся ГСА заключается в следующем.
1. Выбирают способ адресации и формат микрокоманд, причем стремятся сократить число двоичных разрядов в формате МК, что, как правило, позволяет уменьшить объем оборудования ПЗУ. При этом учитывают реальное быстродействие отдельных узлов УА и необходимость обеспечения заданного быстродействия автомата в целом. При необходимости используют структурные методы повышения быстродействия УА.
2. Производят разметку ГСА в соответствии с правилами, которые определяются выбранным способом адресации.
3. Составляют кодированную микропрограмму в виде таблицы, строки которой соответствуют отметкам на ГСА.
4. Выбирают типы необходимых микросхем и составляют структурную и принципиальную схемы автомата.
Выполнив перечисленные этапы, переходят к технической реализации УА, которая во многом зависит от способа записи информации в используемое ПЗУ.
Рассмотрим особенности выполнения отдельных этапов указанной процедуры.
При построении УА используются главным образом два вида адресации:
а) принудительная (в каждой МК указывается адрес следующей МК);
б) естественная (адрес следующей МК в явном виде указывается лишь в некоторых МК, а в остальных случаях он принимается равным увеличенному на единицу адресу предыдущей микрокоманды).
Формат МК при принудительной адресации может содержать как два адресных поля АО, А1, (рис. 7. а) так и одно АО (рис. 7.б).
У 1 m |
X 1 L |
АО 1 Р |
А1 1 Р |
а)
У 1 m |
X 1 L |
A 1 Р |
б)
Рисунок 7
В первом случае адрес следующей МК определяется в зависимости от значения проверяемого в данном такте условия Xi следующим образом: в качестве адреса используется содержимое поля АО, если Xi =0, и поля A1 – если Xi = 1; безусловные переходы осуществляются по адресу АО.
Во втором случае переходы при xi = 0, а также безусловные переходы осуществляются по адресу АО, а переходы при Xi = 1 осуществляются к ячейке ПЗУ с адресом А1= АО + 1. Добавление единицы к АО может быть осуществлено с помощью комбинационной схемы инкрементора в блоке УФАМК.
При использовании двух адресных полей АО и А1 разметка ГСА осуществляется следующим образом.
1. Начальная вершина отмечается символом s>0>.
2. Каждая операторная вершина, а также конечная вершина отмечаются символом Si, отличным от других вершин. Если число выходных сигналов y>j>, записанных в некоторой вершине, превышает число операционных полей в формате команды, то число отметок у такой вершины увеличивают соответствующим образом.
3. Отмечается также каждая условная вершина, если ее вход связан с входом другой условной вершины; это вызвано тем, что в каждом такте анализируется только одно логическое условие xi.
Далее каждой отметке si сопоставляется ячейка ПЗУ с тем же адресом (номером) и таким образом составляется таблица содержимого ПЗУ. Эта таблица является основным результатом логического проектирования автомата наряду с принципиальной схемой УА.
Разметка ГСА при использовании единственного адресного поля АО осуществляется по этим же правилам, к которым добавляется еще одно:
4. Присваиваются дополнительные отметки s', и s», и т.д. каждой условной вершине, к которой подходит несколько стрелок от других условных вершин, так чтобы общее число отметок у такой вершины было равно числу упомянутых стрелок.
Необходимость увеличения числа отметок и числа используемых ячеек ПЗУ обусловлена ограничениями в расположении микрокоманд в ячейках ПЗУ из-за взаимной связи адресов АО и A1 = A0 + 1. Быстродействие УА несколько снижается по сравнению со случаем использования двух адресных полей за счет расхода времени на работу инкрементора. Однако исключение поля Л, из формата МК позволяет уменьшить разрядность ПЗУ.
Дальнейшее сокращение разрядности ПЗУ достигается путем перехода к естественной адресации микрокоманд, при которой обычно используются МК двух типов: операционные и управляющие. (рис. 8., а, б). Типы МК различаются по значению одноразрядного поля признака Р: {0, если МК операционная и 1, если МК управляющая
0 |
Y1 |
Y2 |
а) операционная микрокоманда
1 |
X |
A |
б) управляющая микрокоманда
Рисунок 8
Вычисление адреса следующей МК производится с помощью счетчика микрокоманд (СМК), который предусматривается в структурной схеме УА (рис. 9.). Операционная МК задает коды вырабатываемых сигналов уj и после ее выполнения автомат переходит к следующей МК по порядку их расположения в ячейках ПЗУ, т.е. осуществляет переход по адресу (СМК)+1, где СМК обозначает содержимое счетчика микрокоманд.
Рисунок 9-Структурная схема УА на основе ПЗУ при использовании естественной адресации
Управляющая МК, содержащая поле логического условия Х и адресное поле А, используется для изменения естественного порядка выполнения МК, т.е. для осуществления условных и безусловных переходов в соответствии со значением проверяемого условия Xi. Если Хi=1, то переход осуществляется по адресу, записанному в поле А, для чего его содержимое переписывается в СМК. Если Xi = 0 или осуществляется безусловный переход, то следующую МК выбирают по адресу (СМК)+1. Таким образом, каждый такт работы УА разделяется на ряд микротактов, в течении которых выполняются действия по формированию выходных сигналов yj и выработке адреса следующей МК.
Разметку ГСА осуществляют по правилам, в которых учитывается то обстоятельство, что анализ Xi и выработка сигналов yj происходят теперь в разных тактах: начальная вершина отмечается символом s>0>, каждая из остальных вершин получает отличную от других отметку si; каждая вершина, к которой подходит h стрелок, получает дополнительные отметки s>i>j (1=1,2,…, h-1) так, чтобы общее число отметок у этой вершины стало равным h.
При составлении микропрограммы основной отметке каждой операционной вершины ставится в соответствие операционная МК, а основной отметке каждой условной вершины – управляющая МК, реализующая условный переход. Каждой дополнительной отметке s>i>j ставится в соответствие управляющая МК, реализующая безусловный переход в ячейку ПЗУ, соответствующую основной отметке si.
Составление таблицы начинают с отметки s1 и последовательно рассматривают вершины ГСА в направлении стрелок. При проходе через условную вершину сначала двигаются по направлению стрелок, отмеченных нулем (поскольку такому движению соответствует естественная адресация МК). Адресные поля управляющих МК временно остаются незаполненными. Дойдя до конечной отметки, возвращаются вверх по таблице до первой управляющей МК незаполненным адресным полем и записывают в это поле адрес следующей по порядку свободной ячейки. Далее продолжают движение по ГСА от условной вершины, которой соответствует данная управляющая МК, в направлении дуги, отмеченной единицей. Описанную процедуру возвращения вверх по таблице повторяют до заполнения адресных полей всех управляющих МК, обеспечивая тем самым прохождение всех путей на ГСА.
Сравнение рассмотренных трех вариантов реализации УА на основе ПЗУ с принудительной адресацией и двумя адресными полями, с принудительной адресацией и одним адресным полем, с естественной адресацией показывает, что наименьшую разрядность ПЗУ обеспечивает вариант с использованием естественной адресации. При этом время реализации заданного алгоритма оказывается наибольшим, в основном из-за увеличения общего числа выполняемых микрокоманд. Если при выбранном способе адресации объем оборудования построенного УА оказывается чрезмерным или же быстродействие автомата недостаточно, то можно принять некоторые дополнительные меры.
Так, для уменьшения объема ПЗУ находят рациональное разбиение полного множества выходных сигналов yj на подмножества, каждому из которых выделяется свое операционное поле У так, чтобы общее число разрядов операционной части формата МК было наименьшим. Сокращение длины адресной части формата МК можно получить страничной организацией (сегментацией) ПЗУ.
При этом ПЗУ разбивается на сегменты по 2q ячеек в каждом и адрес каждой формируется из двух частей: из адреса (номера) соответствующего сегмента и адреса ячейки в нем. Специальной микрокомандой адрес сегмента, в пределах которого осуществляется работа, записывается в отдельный регистр или счетчик, а в последующих МК указывается лишь адрес ячейки в сегменте.
Основным средством повышения быстродействия УА является организация опережающей выборки микрокоманд, т.е. организация конвейерного режима работы микропрограммного ДУ. При этом процесс выборки и дешифрации следующей МК совмещается во времени с процессом выполнения предыдущей МК в ОА.
Другие возможности повышения быстродействия УА заключаются в параллельной выборке нескольких МК, которые затем обрабатываются в порядке, диктуемом микропрограммой, а также в организации параллельного анализа нескольких логических условий при осуществлении сложных переходов. Однако, эти меры требуют существенного увеличения объема оборудования.
8. Общая структура микропроцессорного вычислительного устройства
При создании современной радиоэлектронной аппаратуры используются три основные подхода к реализации дискретных устройств (ДУ): аппаратный, программный и аппаратно-программный. При аппаратном получают ДУ с традиционной «жесткой» логикой, что обеспечивает наибольшее быстродействие устройств, но требует трудоемкой разработки индивидуальной структуры ДУ.
При программном ДУ реализуется в виде программы для готовой универсальной ЭВМ, в качестве которой можно использовать микроЭВМ, предназначенную для встраивания непосредственно в разрабатываемые блоки.
Аппаратно-программный подход предполагает разработку как программных, так и аппаратных средств. Сюда относится реализация ДУ в виде автомата с микропрограммным управлением и хранимой в ПЗУ программой, а также построение ДУ на основе микропроцессора (МП). Этот вариант открывает широкие возможности для применения современных БИС и позволяет в наибольшей степени согласовать разрабатываемые аппаратно-программные средства с особенностями решаемых задач.
Микропроцессор представляет собой функционально законченное цифровое устройство, выполненное в виде одной или нескольких БИС и предназначенное для выполнения операций по обработке информации и управлению в соответствии с хранимой в памяти программой. Необходимо отметить, что термин «микропроцессор», несмотря на широкое распространение, не имеет строгого определения. Это обусловлено прежде всего наличием большого числа сильно различающихся между собой типов МП, а также их постоянным развитием.
В узком смысле МП совпадает с центральным процессорным элементом (ЦПЭ) вычислительного устройства, выполненным на основе БИС. ЦПЭ обычно используется в качестве основного элемента микропроцессорного вычислительного устройства МПВУ, схема которого представлена на рис. 10.
МПВУ минимальной конфигурации содержит ЦПЭ, блоки ПЗУ и ОЗУ, генератор тактовых импульсов ГТИ и блок интерфейса (ИФ), через который осуществляется связь с внешними устройствами (ВУ). Будем считать, что МПВУ, представляющее собой специализированное вычислительное устройство, используется в аппаратуре для выполнения некоторого заданного алгоритма обработки информации (или совокупности алгоритмов).
Рисунок 10. Обобщенная структурная схема микропроцессорного вычислительного устройства
Поэтому основная программа работы МПВУ записывается в ПЗУ, которое служит также для хранения различных подпрограмм, констант, таблиц и других данных, известных уже на этапе проектирования устройства. ОЗУ используется для хранения данных, поступивших из ВУ или подготовленных для выдачи в ВУ, а также промежуточных результатов вычислений и некоторой адресной информации.
Блок ГТИ, выполняемый, как правило, на основе кварцевого генератора, предназначен для выработки серий тактовых кварцевого генератора, предназначен для выработки серий тактовых импульсов и некоторых вспомогательных сигналов, необходимых для работы ЦПЭ и синхронизации других блоков системы.
Интерфейс представляет собой совокупность шин для передачи информации, электронных схем, специальных сигналов и алгоритмов, управляющих обменом информации. Блок интерфейса служит для сопряжения сигналов МПВУ и ВУ по временным и электрическим параметрам, а также в необходимых случаях для преобразования данных и управления обменом.
К основным узлам ЦПЭ относятся: управляющее устройство (УУ) с регистром команд (РК) и дешифратором команд (ДШК); арифметико-логическое устройство (АЛУ) с аккумулятором (А), который является основным рабочим регистром; блок регистров общего назначения (РОН) со счетчиком команд (СК).
Связь между блоками МПВУ осуществляется с помощью ряда шин: шины адреса (ША), шины данных (ШД), шины управления (ШУ), шины команд (ШК).
Возможны различные варианты организации шин: используется одна двунаправленная шина данных, либо две одно направленные (одна из которых является входной для ЦПЭ, а другая – выходной), шина команд может совмещаться с шиной данных при обеспечении временного разделения сигналов и т.д.
Обобщенно процесс выполнения команды в МПВУ можно разбить на две фазы: фазу выборки кода команды и фазу ее исполнения. Фаза выборки состоит из трех шагов: сначала адрес команды из СК выставляется на ША, затем происходит выборка кода команды из ПЗУ и передача его через ШК или ШД в регистр команд ЦПЭ, после чего производится дешифрация этого кода в ДШК.
В соответствии с кодом команды УУ начинает вырабатывать последовательность управляющих сигналов, необходимых для ее выполнения. Фаза выполнения команды начинается с подготовки операндов (т.е. обрабатываемых данных), которая заключается в определении местоположения операндов и их размещении в требуемых узлах, после чего ЦПЭ переходит к выполнению операции, заданной кодом команды. В это время в СК формируется адрес следующей команды и вся описанная последовательность работы МПВУ повторяется. Более детально процесс работы МПВУ рассматривается при изучении конкретных серий микропроцессоров.
В зависимости от требований реального применения МПВУ в минимальную конфигурацию системы могут быть введены: контроллер приоритетных прерываний (КПП); контроллер прямого доступа к памяти (КПДП); программируемый параллельный адаптер (интерфейс) ППА); программно-управляемый связной интерфейс (ПСИ); программируемый таймер (ПТ), и т.п.
Блок КПП способствует организации работы МПВУ в реальном времени тем, что дает возможность осуществить временное ВУ, вызвавшего прерывание. Блок КПДП позволяет ускорить обмен массивами данных между ВУ и ЗУ за счет исключения ЦПЭ из цепи передачи информации. Блоки ППИ и ПСИ позволяют организовать обмен между ЦПЭ и В У информацией, представляемой соответственно в параллельном и последовательном кодах. Блок ПТ служит для выработки временных задержек программируемой длительности и меток времени, что способствует организации работы МПВУ в реальном времени.
Для реализации этих блоков во многих микропроцессорных комплектах БИС предусмотрены соответствующие интегральные схемы. Кроме перечисленных типовых блоков в МПВУ могут вводиться нестандартные блоки, специально разработанные для решения конкретных задач.
Выводы
В процессе выполнения курсовой работы мы ознакомились с ссновными понятиями и принципами микропрограммного управления; концепцией управляющего и операционного автоматов; управляющими автоматами с жесткой и программируемой логикой; научились строить графы схем алгоритмов; проводить синтез управляющего автомата по граф-схеме алгоритма; строить УА с программируемой логикой на основе ПЗУ и общей структурой микропроцессорного вычислительного устройства.
Литература
1. Самофалов К.Г., Романкевич А.М., и др. Прикладная теория цифровых автоматов. – Киев. «Вища школа» 1987.
2. Соловьев Г.Н. Арифметические устройства ЭВМ. – М. «Энергия». 1978.
3. Савельев А.Я. Прикладная теория цифровых автоматов – М. «Высшая школа». 1987.
4. Каган Б.М. Электронные вычислительные машины и системы. – М. Энергоатомиздат. 1985.
5. Лысиков Б.Г. Арифметические и логические основы цифровых автоматов. – Минск. «Вышэйшая школа». 1980.