Синтез управляющих автоматов
Разработка управляющего автомата специализированного операционного устройства. Микропрограмма как алгоритм выполнения операций, записанные в виде микроопераций и логических условий. Структурный синтез и результаты кодирования состояний автомата Мили.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 20.02.2013 |
Размер файла | 1,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
"Пензенская государственная технологическая академия"
Кафедра "Вычислительные машины и системы"
Расчетно-пояснительная записка
к курсовой работе по дисциплине "Теория автоматов"
на тему: "Синтез управляющих автоматов"
Пенза 2012г.
Задание на курсовую работу по дисциплине "Теория автоматов"
Тема работы: "Синтез управляющего автомата"
Исходные данные (технические требования на проектирование)
1. Разработать управляющий автомат операционного устройства для выполнения арифметических операций умножения и деления.
2. Исходные данные ? числа с фиксированной запятой со знаком, лежащие в интервале 1 ? |X| ? 2-7 (n=8), представлены в дополнительном коде. Результат операции должен быть представлен в обратном коде.
3. Метод выполнения умножения: начиная с младшего разряда множителя.
4. Метод выполнения деления: со сдвигом делителя.
5. Тип управляющего автомата с жесткой логикой: автомат Мили. Для построения памяти автомата с жесткой логикой использовать RS- триггер.
6. Разработать УА с программируемой логикой с естественной адресацией микрокоманд.
Графическая часть
Автомат управляющий. Схема электрическая функциональная.
Содержательная граф схема алгоритма.
Содержание
Введение
1. Анализ исходных данных
2. Разработка алгоритма функционирования ОУ
2.1 Разработка объединенной СГСА операций
2.2 Составление списка микроопераций
2.3 Составление списка логических условий
2.4 Получение кодированной ГСА
3. Разработка УА с жесткой логикой
3.1 Абстрактный синтез УА
3.2 Структурный синтез автомата Мили
4. УА с программируемой логикой
4.1 Структурная организация УА
4.2 УА с естественной адресацией микрокоманд
4.3 Разработка таблицы прошивки ПЗУ
Заключение
Список литературы
Введение
Целью курсового проекта является разработка управляющего автомата (УА) специализированного операционного устройства.
Любое операционное устройство может быть представлено моделью Глушкова В.М., состоящей из двух тесно взаимодействующих блоков в соответствии рисунком 1. Один из них выполняет функции а (ОА), а другой управляющего автомата (УА) [1]. Такой подход упрощает проектирование, а также облегчает понимание процесса функционирования операционного устройства.
Рисунок 1 - Обобщенная структура операционного устройства
Операционный автомат реализует действие над исходной информацией D c целью получения результатов R, то есть является исполнительной частью устройства. Он состоит из регистров, сумматоров и других узлов, которые производят прием из внешней среды и хранение кодов исходных операндов D, их преобразование согласно реализуемому алгоритму и выдачу во внешнюю среду результаты преобразования R. Операционный автомат вычисляет и выдает в управляющий автомат осведомительные сигналы X={x1, x2, …xL}, которые характеризуют состояние узлов операционного автомата после выполнения очередного шага алгоритма.
Управляющий автомат генерирует распределенную во времени последовательность управляющих сигналов Y={y1, y2, …, YM}, которые порождают в операционном автомате выполнение соответствующей алгоритму последовательности микрооперации, то есть управляющий автомат задает порядок выполнения действий в операционном автомате.
Последовательность управляющих сигналов определяется функциями перехода управляющего автомата, которые зависят от сигналов кода операций q, поступающих в управляющий автомат извне, и значений осведомительных сигналов X, характеризующих состояние узлов операционного автомата.
Функциональная и структурная организация операционных устройств базируется на принципе микропрограммного управления.
Любая операция, реализуемая операционным устройством, рассматривается в виде последовательности элементарных неделимых актов обработки информации, выполняемых в течение одного такта автоматного времени и их называемых микрооперациями.
Если в операционном автомате реализуется несколько микроопераций, то это подмножество микроопераций называют микрокомандой. В этом случае в операционный автомат могут поступать несколько управляющих сигналов, вызывая параллельное во времени выполнение нескольких микроопераций. алгоритм микропрограмма логический кодирование
Для управления порядком следования микрокоманд используют логические условия. Множество логических условий называют осведомительными сигналами.
Алгоритмы выполнения операций в устройстве, записанные в терминах микроопераций и логических условий, называется микропрограммой. Микропрограмма определяет порядок проверки логических условий и следования микроопераций и используется как форма представления функций и операционного устройства, на основании которой определяются структура и порядок функционирования устройства во времени.
Конечный автомат, реализующий микропрограмму работы дискретного устройства, принято называть микропрограммным автоматом.
Существуют два основных типа микропрограммных управляющих автоматов:
1. Автомат с жесткой логикой. Строится на базе использования логических элементов и элементов памяти. Для каждой операции, выполняемой в устройстве, строится набор логических схем, которые в нужных тактах возбуждают соответствующее микропрограмме управляющие сигналы. Изменить алгоритм работы такого автомата нельзя, не изменяя соединений между элементами.
2. Автомат с программируемой логикой. Алгоритм работы записывается в управляющую память в виде последовательности управляющих слов - микрокоманд. Микрокоманда содержит информацию о микрооперациях, которые должны выполняться в данном такте работы устройства, и об адресе микрокоманды, которая будет выполняться в следующем такте.
1. Анализ исходных данных
По заданию на курсовое проектирование необходимо разработать УА специализированного операционного устройства, предназначенного для выполнения арифметических операций сложения, вычитания, умножения и деления.
Исходные данные ? числа с фиксированной запятой со знаком, лежащие в интервале 1 ? |X| ? 2-7 (n=8):
Исходные данные представлены в дополнительном коде, а результат в обратном.
Тип автомата ? Мили.
Тип триггера: RS-триггер.
Метод выполнения операции умножения начиная с младших разрядов множителя со сдвигом суммы частичных произведений вправо.
Метод выполнения операции деления без восстановления остатка и сдвигом делителя.
Естественная адресация микрокоманды (МК).
Синтез УА с жесткой логикой завершается построением электрической функциональной схемы с использованием элементов серии К 555.
2. Разработка алгоритма функционирования ОУ
2.1 Разработка объединенной СГСА операций
Функциональная схема ОА для операции умножения и деления приведена на рисунке 2.1.
Рисунок 2.1- Функциональная схема ОА для операции умножения и деления
В схеме приняты следующие обозначения:
RG1(0:7) ? регистр для хранения множимого А или записи делимого, а после передачи его на сумматор ? делитель;
RG2(0:7) ? регистр для хранения множителя В, а затем для хранения младшей части произведения С или в который в цикле деления в режиме сдвига последовательно заносятся цифры частного;
Sm(0:7) ? параллельный комбинационный сумматор.
RGSm(0:7) ? регистр, для хранения частичного произведения (по окончании умножения в нем находится старшая часть произведения) или для хранения делимого, а затем остатка;
СФФ - схема формирования флагов;
РGФ(0:3) - регистр флагов;
СF - флаг переноса (carry flag);
SF - флаг знака (sign flag). В него записывается значение знакового разряда результата;
ZF - флаг равенства нулю результата операции (zero flag). Если результат операции равен 0, то ZF = 1, в противном случае - нулю;
OF - знак переполнения. Если полученный результат не помещается в разрядной сетке процессора, ОF = 1, в противном случае - нулю;
ШФ - шинный формирователь. Позволяет управлять шиной данных либо на прием, либо на передачу;
СТ(0:3) ? счетчик тактов, работает на вычитание и служит для подсчета количества тактов умножения или деления;
Дизъюнктор 1 ? определяет равенство нулю СТ;
Дизъюнктор 2? определяет равенство нулю делителя.
Алгоритм умножения в дополнительном коде, начиная с младших разрядов множителя со сдвигом суммы частичных произведений вправо:
1. Умножается дополнительный код множимого на дополнительный код множителя.
2. Используется сумматор дополнительного кода.
3. В RGSm выполняется арифметический сдвиг.
4. Умножение на положительный множитель не отличается от умножения чисел, заданных в прямом коде. При умножении на отрицательный множитель требуется коррекция результата. Коррекция состоит в том, что когда счетчик тактов становится равным нулю, к полученному частичному произведению необходимо прибавить множимое, умноженное на знак множителя (прибавить множимое со знаком минус).
СД= AД • BД= AДbзн +2-1(AДb-1+2-1(AДb-2+…+2-1(AДb-(n-1)+2-1(AДb-n+0).
В цикле выполняются следующие микрооперации:
1) если младший разряд множителя RG2(7) содержит 1, то к частичному произведению прибавляется множимое: RGSm:= RGSm+ RG1;
2) цикл завершается сдвигом частичного произведения на один разряд вправо (т. к. при суммировании может возникнуть переполнении разрядной сетки, выполняется логический сдвиг): RGSm:=RS1(RGSm), сдвиг множителя на один разряд вправо: RG2:=RS1(RGSm(7).RG2), при этом в старший разряд RG2 заносится младший разряд частичного произведения RGSm(7), и содержимое счетчика уменьшается на 1: CT:= CT-1.
По окончании умножения в RGSm находится старшая часть произведения, а в RG2 ? младшая часть.
Алгоритм деление в дополнительном коде, методом без восстановления остатка и сдвигом делителя:
Алгоритм деления без восстановления остатка при получении n - цифр частного содержит только n - операций сложения или вычитания.
Если результат деления из-за соотношения величин делимого и делителя получается больше единицы, то операция не выполняется. При этом вырабатывается сигнал "Переполнение" или "Ошибка".
Пусть Li - остаток.
Если Li+1 ? 0, то сi = 1, Li+2 = Li+1 - 2-(i+1) |В|;
Если Li+1 < 0, то сi = 0, Li+2 = Li+1 + 2-(i+1) |В|;
L0:= |А|. Li+1:= Li+2-i |В|.
Для получения частного с точностью не ниже, чем 2-n нужно иметь только его старшие n разрядов. В этом случае можно использовать функциональную схему ОА, приведенную на рис. 2.1.
Для округления результата к дополнительному разряду частного прибавляется единица. Результат выводится без дополнительного разряда.
Содержательная граф схема алгоритма операций умножения и деления чисел, заданных в дополнительном коде, приведена на рисунке 2.2.
2.2 Составление списка микроопераций
Определение множества Y ={ yi} микроопераций, выполняемых в ОА: составим список микроопераций, исходя из объединенной СГСА (таблица 1.1).
Таблица 1.1- Список микроопераций
Микрооперация |
Обозначение |
|
Начало |
у 0 |
|
RG1:=ШД(А) |
у 1 |
|
RGSm:=0 |
у 2 |
|
RGФ:=0 |
у 3 |
|
RGSm:= RG1 |
у 4 |
|
RG1:=ШД(В) |
у 5 |
|
RG1:= ?RG1 |
у 6 |
|
RGSm := RGSm |
у 8 |
|
Sm:= Sm+1 |
у 14 |
|
RGSm:= RG1+ RGSm |
у 4, у 8 |
|
Sm:= Sm-1 |
у 9 |
|
RGSm:= RGSm+(-1) |
у 8, у 9 |
|
ШД(S) : =RGSm |
у 7 |
|
RG2:=ШД(В) |
у 10 |
|
CT:=7 |
у 11 |
|
RG2(7):=1 |
у 12 |
|
RG2(7):=0 |
у 13 |
|
CF. RGSm:=RA1(CF,RGSm) |
у 15 |
|
RG2:=RS1(RGSm(7).RG2) |
у 16 |
|
CT:= CT-1 |
у 17 |
|
RGSm:= RGSm+ ?RG1+1 |
у 8, у 6, у 14 |
|
RGSm:= RGSm+ 1 |
у 8, у 14 |
|
RG1:=RA1(RG1) |
у 20 |
|
RGSm:= RG2 |
у 21 |
|
Конец |
уk |
|
OF:=1 |
у 22 |
|
RG2:=LS1(RG2.1) |
у 23 |
|
RG2:=LS1(RG2.0) |
у 24 |
Рисунок 2.2- Cодержательная ГСА алгоритма функционирования ЦА
2.3 Составление списка логических условий
Определения множества X={xi} логических условий, формируемых в ОА: составим список логических условий (таблица 1.2).
Таблица 1.2- Список логических условий
Логическое условие |
Обозначение |
|
Пуск |
x1 |
|
Умножение? |
x4 |
|
Деление? |
x5 |
|
RG2(0) |
x6 |
|
SF |
x9 |
|
RGSm(0) ? RG2(0) |
x10 |
|
RG2(7) |
x11 |
|
CT |
x12 |
|
RG1 |
x13 |
2.4 Получение кодированной ГСА
Для получения кодированной ГСА, заменим в объединенной СГСА содержательное обозначение микроопераций и логических условий их кодами. Кодированная ГСА приведена в Приложение В.
3. Разработка УА с жесткой логикой
При синтезе управляющего автомата с жесткой логикой выделяются этапы абстрактного и структурного синтеза. На этапе абстрактного синтеза по алгоритму, заданному на начальном языке, строится таблица переходов, записываются система канонических уравнений (СКУ) и система выходных функций (СВФ) и проводится их минимизация. На этапе структурного синтеза строится логическая схема управляющего автомата.
3.1 Абстрактный синтез УА
Для получения таблицы переходов автомата Мили необходимо следующее:
1. Пронумеровать все операторные вершины ГСА Приложение В;
2. Каждому оператору ГСА поставить в соответствие вполне определенное состояние автомата. Причем одинаковым операторам, стоящим в разных местах ГСА, должны соответствовать разные состояния. Это обеспечивается сквозной нумерацией вершин ГСА. Начальной вершине будет соответствовать исходное состояние автомата.
Если в ГСА имеются циклы из логических условий, то в цепь обратной связи вводится пустая операционная вершина, отмеченная пустым выходным сигналом yе. Пустые операторные вершины ставятся на выходе условной вершины в начале цикла.
3. Осуществляется просмотр всех путей перехода, ведущих от одной операторной вершины к другой. Причем каждый такой путь должен соответствовать шагу алгоритма и состоять только из логических условий (условных вершин). Оператор, стоящий в начале пути, должен соответствовать состоянию автомата в момент времени t, а в конце пути - в момент времени (t+1);
4. Каждому пути из логических условий от одного оператора к другому сопоставить конъюнкцию входных сигналов. Причем в конъюнкцию входной сигнал xi войдет без отрицания, если вход из условной вершины отмечен единицей, и с отрицанием, если нулем;
5. Построить таблицу переходов автомата Мили, анализируя все полученные пути между операторными вершинами и учитывая, что каждая операторная вершина отмечена совокупностью выходных сигналов.
Выполнив указанные действия для ГСА, получим таблицу переходов автомата Мили (таблица 2.1).
Таблица 2.1 - Таблица переходов автомата Мили
ai (t) |
xij(t) |
aj(t+1) |
yj(t+1) |
|
a0 |
x1 1 |
a2 a1 |
y1, y2, y3 ye |
|
a1 |
x1 1 |
a2 a1 |
y1, y2, y3 ye |
|
a2 |
x4 4 x5 4 5 |
a3 a10 a19 |
y10, y11 y4, y11 yk |
|
a3 |
x11 11 |
a4 a5 |
y4, y8 y15, y16, y17 |
|
a4 |
1 |
a5 |
y15, y16, y17 |
|
a5 |
12 x11 x12 11 12 x11 12 11 x6 12 11 6 x9 12 11 6 9 |
a4 a5 a6 a7 a9 a8 |
y4, y8 y15, y16, y17 y6, y8, y14 y8, y14 y7 y8, y9 |
|
a6 |
x6 6 9 6 x9 |
a7 a8 a9 |
y8, y14 y8, y9 y7 |
|
a7 |
x9 9 |
a9 a8 |
y7 y8, y9 |
|
a8 |
1 |
a9 |
y7 |
|
a9 |
1 |
a19 |
yk |
|
a10 |
1 |
a11 |
y5 |
|
a11 |
13 x13 x10 x13 10 |
a12 a13 a14 |
y22 y4, y8, y12 y6, y8, y13, y14 |
|
a12 |
1 |
a19 |
yk |
|
a13 |
1 |
a15 |
y20, y17 |
|
a14 |
1 |
a15 |
y20, y17 |
|
a15 |
x10 10 |
a16 a17 |
y6, y8, y14, y24 y4, y8, y23 |
|
a16 |
x12 12 |
a15 a18 |
y20, y17 y21 |
|
a17 |
x12 12 |
a15 a18 |
y20, y17 y21 |
|
a18 |
x9 9 |
a9 a8 |
y7 y8, y9 |
Теперь выполним минимизацию таблицы переходов на основе эквивалентного разбиения состояний.
Эквивалентным разбиением состояний называется k-эквивалентное разбиение их, когда в каждом из классов этого разбиения смежные состояния эквивалентны. Такое разбиение может быть получено, если последовательно получать k-эквивалентное разбиение состояний, начиная с k = 1, для автомата Мили.
K-эквивалентное состояние получают до тех пор, пока первый раз не получится разбиение, которое полностью совпадает с предыдущим. Это разбиение состояний и будет эквивалентным разбиением. Полученное эквивалентное разбиение состояний автомата Мили удобно рассматривать на примере ПТП, в которой все состояния, как исходные, так и состояния перехода, отмечены выходными сигналами. Такое представление ПТП позволит рассмотреть её для минимизации автомата Мили.
Для автомата Мили отыскиваются 1-эквивалентные состояния, т.е. состояния, одинаково отмеченные во втором столбце таблицы переходов. Таблица пар строится непосредственно по таблице переходов. Первый основной столбец будет содержать все пары 1-эквивалентных состояний, остальные столбцы таблицы пар обозначаются входными сигналами. Для их определения находятся все возможные состояния входных сигналов. На пересечении строк и столбцов таблицы пар записываются пары состояний, которые являются первыми преемниками по отношению к конкретному входному сигналу.
На основании вышеизложенного получаем таблицу пар автомата Мили (таблица 2.2)
Таблица 2.2 - Таблица пар для автомата Мили
1- эквивалентные пары |
1 |
|||||||
0-1 |
2-2 |
1-1 |
||||||
7-18 |
9-9 |
8-8 |
||||||
9-12 |
19-19 |
|||||||
13-14 |
15-15 |
|||||||
16-17 |
15-15 |
18-18 |
На основании анализа таблицы пар (таблица 2.2) получено следующее эквивалентное разбиение состояний автомата Мили:
(S0, S1), S2, S3, S4, S5, S6, (S7, S18), S8, (S9, S12), S10, S11, (S13, S14), S15, (S16, S17)
Каждый класс эквивалентного разбиения состояния обозначим произвольно своим символом:
В исходной таблицы переходов (таблица 2.1) заменим старые обозначения состояний вновь введёнными символами и после вычёркивания повторяющихся строк получим минимальную таблицу переходов автомата Мили (таблица 2.3).
Таблица 2.3 - Минимальная таблица переходов автомата Мили
ai (t) |
xij(t) |
aj(t+1) |
yij(t) |
|
a0 |
x1 1 |
a1 a0 |
y1, y2, y3 ye |
|
a1 |
x4 4 x5 4 5 |
a2 a9 a14 |
y10, y11 y4, y11 yk |
|
a2 |
x11 11 |
a3 a4 |
y4, y8 y15, y16, y17 |
|
a3 |
1 |
a4 |
y15, y16, y17 |
|
a4 |
12 x11 x12 11 12 x11 12 11 x6 12 11 6 x9 12 11 6 9 |
a3 a4 a5 a6 a8 a7 |
y4, y8 y15, y16, y17 y6, y8, y14 y8, y14 y7 y8, y9 |
|
a5 |
x6 6 9 6 x9 |
a6 a7 a8 |
y8, y14 y8, y9 y7 |
|
a6 |
x9 9 |
a8 a7 |
y7 y8, y9 |
|
a7 |
1 |
a8 |
y7 |
|
a8 |
1 |
a14 |
yk |
|
a9 |
1 |
a10 |
y5 |
|
a10 |
13 x13 x10 x13 10 |
a8 a11 a11 |
y22 y4, y8, y12 y6, y8, y13, y14 |
|
a11 |
1 |
a12 |
y20, y17 |
|
a12 |
x10 10 |
a13 a13 |
y6, y8, y14, y24 y4, y8, y23 |
|
a13 |
x12 12 |
a12 a6 |
y20, y17 y21 |
Теперь запишем минимальные СКУ и СВФ для автомата Мили:
СКУ:
СВФ:
На этом этап абстрактного синтеза заканчивается.
3.2 Структурный синтез автомата Мили
На этапе структурного синтеза строится логическая схема полученного ранее автомата.
Для этого используем канонический метод структурного синтеза автомата, предложенный академиком В.М. Глушковым.
Данный метод позволяет свести задачу синтеза схемы автомата к задаче синтеза комбинационной схемы.
При этом предлагается представление схемы автомата в виде памяти и комбинационных схем в соответствии с рисунком 3.
Рисунок 3 Структура УА с жесткой логикой
Память автомата состоит из I элементарных автоматов памяти - триггеров, которые служат для отображения состояния автомата. Каждое состояние am (m=1,2,…,M) кодируется двоичным набором Q1,Q2…QI, компонентами которого являются состояния триггеров R1S1, R2S2 … RISI. Двоичный набор Q1,Q2…QI называется кодом состояния автомата.
Дешифратор состояний используется для выделения состояний автомата путём дешифрирования его кода Q1,Q2 …QI, то есть для преобразования кода элементов памяти в унитарный код состояний. Дешифратор состояний позволяет уменьшить трудоёмкость синтеза схем автомата, так как при его использовании не требуется минимизация схем.
КС 1 - комбинационная схема формирования сигналов возбуждения памяти, реализует функцию переходов автомата вида
ai(t+1) = fn(x1,x2,…,xL,a1,aI,…, aM), i = 1,M.
КС 2 - комбинационная схема формирования выходных сигналов, реализует функцию выходов автомата.
yn = fn(x1,x2,…,xL,a1,aI,…, aM), n = 1,N.
При включении устройства триггеры УА устанавливаются в произвольное состояние. Для приведения автомата в исходное состояние используется сигнал “Начальная установка”.
Канонический метод структурного синтеза условно можно разбить на следующие этапы:
1. Выбор типа логических элементов и элементов памяти.
2. Кодирование состояний автомата и получение структурной таблицы переходов.
3. Построение булевых функций возбуждения памяти и функций выходов.
4. Построение функциональной схемы автомата.
Этап 1. Тип элементов памяти (RS - триггер) выбран согласно заданию. Для реализации КС используем элементы серии К 555.
Этап 2. Определяем число элементов памяти при условии кодирования состояний автомата кодами минимальной длины.
I = ] log2 M [ = ] log2 15 [ = 4 ;
Q1Q2Q3Q4 - код состояний автомата;
Для кодирования используется метод соседнего кодирования, когда любые два связанных между собой состояния кодируются наборами, отличающимися состояниями только одного элемента памяти. Результаты кодирования помещаем в карту Карно:
Используя результаты кодирования состояний автомата, строим структурную таблицу переходов автомата Мили. Для этого дополняем таблицу переходов (таблица 2.3) кодами состояний автомата (2-й и 5-й столбцы) и, используя таблицу переходов RS - триггера, заполняем 6 - й- 9 - й столбцы таблицы 2.4.
Таблица 2.4 - Структурная таблица переходов автомата Мили
ai (t) |
Q1Q2Q3Q4 |
xij(t) |
aj(t+1) |
Q1Q2Q3Q4 |
R1S1 |
R2S2 |
R3S3 |
R4S4 |
|
a0 |
1010 |
x1 1 |
a1 a0 |
1001 1010 |
R3 |
S4 |
|||
a1 |
1001 |
x4 4 x5 4 5 |
a2 a9 a14 |
0111 1101 0101 |
R1 R1 |
S2 S2 S2 |
S3 |
||
a2 |
0111 |
x11 11 |
a3 a4 |
1000 0001 |
S1 |
R2 R2 |
R3 R3 |
R4 |
|
a3 |
1000 |
1 |
a4 |
0001 |
R1 |
S4 |
|||
a4 |
0001 |
12 x11 x12 11 12 x11 12 11 x6 12 11 6 x9 12 11 6 9 |
a3 a4 a5 a6 a8 a7 |
1000 0001 1011 0010 0000 1101 |
S1 S1 S1 |
S2 |
S3 S3 |
R4 R4 R4 |
|
a5 |
1011 |
x6 6 9 6 x9 |
a6 a7 a8 |
0010 0100 0000 |
R1 R1 R1 |
S2 |
R3 R3 |
R4 R4 R4 |
|
a6 |
0010 |
x9 9 |
a8 a7 |
0000 0100 |
S2 |
R3 R3 |
|||
a7 |
0100 |
1 |
a8 |
0000 |
R2 |
||||
a8 |
0000 |
1 |
a14 |
0101 |
S2 |
S4 |
|||
a9 |
1101 |
1 |
a10 |
1110 |
S3 |
R4 |
|||
a10 |
1110 |
13 x13 x10 x13 10 |
a8 a11 a11 |
0000 1100 1100 |
R1 |
R2 |
R3 R3 R3 |
||
a11 |
1100 |
1 |
a12 |
0110 |
R1 |
S3 |
|||
a12 |
0110 |
x10 10 |
a13 a13 |
0011 0011 |
R2 R2 |
S4 S4 |
|||
a13 |
0011 |
x12 12 |
a12 a6 |
0110 0010 |
S2 |
R4 R4 |
Этап 3. По таблице 2.4 строится СКУ функций возбуждения памяти. СВФ была получена на этапе абстрактного синтеза.
Этап 4. Функциональная схема УА Мили строится в соответствии с рисунком 3 с использованием СКУ функций возбуждения памяти и СВФ (Приложение А).
Для устранения гонок используем двухступенчатую память.
4. УА с программируемой логикой
4.1 Структурная организация УА
Структурная схема УА с хранимой в памяти логикой показана на рисунке 4.
Рисунок 4- Структурная схема УА с хранимой в памяти логикой
Для хранения микропрограмм используется блок управляющей памяти (УП), которая в большинстве случаев строится на основе постоянного запоминающего устройства (ПЗУ). РА - регистр адреса микрокоманд, хранит адрес микрокоманды, выполняемой в данном такте. Блок формирования адресов микрокоманд (БФА) является основным блоком автомата. Блок БФА после установки на РА начального адреса микрокоманды определяет все последующие адреса микрокоманд в соответствии с исходным алгоритмом управления. Регистр микрокоманд (РМК) включает в себя две основные части (поля МК): адресную (АЧ) и операционную (ОЧ). ГТИ - генератор тактовых импульсов, определяет такты работы автомата.
В микропрограммных УА широко используется два основных способа формирования адреса следующей микрокоманды - естественная (последовательная) и принудительная адресации. Способ адресации определяет структуру УА, поэтому различают УА с естественной и принудительной адресацией микрокоманд.
Под естественной адресацией понимается такой порядок изменения адресов микрокоманд, при котором очередной микрокоманде присваивается адрес, равный адресу предыдущей микрокоманды, увеличенному на единицу. Такая адресация микрокоманд реализуется путем использования счетчика микрокоманд (СМК).
Для принудительной адресации адрес следующей микрокоманды указывается в каждой микрокоманде с возможностью его модификации в зависимости от значения логических условий.
В данном курсовом проекте выбран естественный способ адресации микрокоманды.
4.2 УА с естественной адресацией микрокоманд
При естественной адресации адрес следующей микрокоманды принимается равным адресу предыдущей микрокоманды, увеличенному на единицу, если микрокоманда следует последовательно в естественном порядке. В этом случае микрокоманда может содержать только операционную часть. Естественный порядок следования адресов может быть нарушен, то есть может возникнуть необходимость перехода к микрокоманде с адресом не равным А+1, где А - адрес текущей микрокоманды. Переход может быть безусловным или зависеть от текущих значений логических условий. Для реализации в микропрограмме таких переходов в микрокоманде должна быть адресная часть.
При естественной адресации обычно используются микрокоманды двух типов: операционные и управляющие. Операционная микрокоманда содержит только операционные поля Y1,Y2,…,YM, в которых задаются коды микроопераций, и неявно полагает адрес следующей микрокоманды равным (А+1). Микрокоманда может содержать одно или несколько операционных полей. В случае если структурой УА предусмотрено выделение в микрокоманде только одного операционного поля, то оператор схемы алгоритма, содержащий, например, три микрооперации, может быть выполнен только за три такта. Отсюда следует, что число операционных полей влияет на быстродействие операционного устройства и на сложность УА. Управляющая микрокоманда содержит поле для определения адреса перехода АП и поле для кодов логических условий X и используется для изменения естественного порядка следования микрокоманд.
Для распознавания операционных и управляющих микрокоманд в их кодах отводится один разряд под признак кода микрокоманды P. Если Р=0, микрокоманда является операционной; если Р=1, то управляющей. Признак Р располагается в нулевом разряде микрокоманды.
В формат управляющей микрокоманды может быть введено одноразрядное поле П прямой или инверсной проверке логического условия, записанного в условной вершине исходной ГСА. Если П=1, то проверяется инверсное значение логического условия, записанного в поле X, если П=0, то - прямое.
Рисунок 5- Структура операционной (а) и управляющей (б) микрокоманд
Простейшая структура УА, работающего с рассмотренными микрокомандами приведена на рисунке 6.
Блок управляющей памяти представлен ПЗУ на 30 11 -разрядных слова. В качестве регистра адреса (РА) используется двоичный счетчик с возможностью параллельной записи информации. Пуск автомата производится подачей сигнала РА: = 0, то есть выполнение микропрограммы всегда начинается с нулевого адреса.
По сигналу "Чтение" производится выборка слова из ПЗУ и занесения его в регистр команд (РМК). Если РМК (0) = 0, то разрешается работа схем дешифраторов управляющих сигналов DC1 и DC2, выходы которых подключены к схеме формирования управляющих (СФУС). Кроме того, через мультиплексор MS2 пропускается на управление регистром адреса сигнал РА: = РА+1 для выборки следующей микрокоманды. Если РМК (0) = 1, то блокируется работа DC1 и DC2 и через MS1 пропускается значение логического условия, номер которого указан в РМК (2:5). Это значение складывается по модулю 2 со значением признака прямой или инверсной проверке логического условия П, записанного в РМК (1). Если сумма по модулю 2 равна 0, то через MS2 на РА подается сигнал РА: = РМК (6:11), то есть осуществляется передача управления по адресу перехода (АП), в противном случае РА: = РА+1
Если РМК (0) = 1, а поле РМК (2:5) = 0, то реализуется команда безусловного перехода (БП) по адресу, указанному в поле АП. Если реализуется пустая операторная вершина ГСА, то в операционной микрокоманде оба поля Y равны нулю.
Признаком конца микропрограммы является наличие единиц в разрядах операционной части регистра микрокоманд РМК (6:11) операционной микрокоманды.
При составлении микропрограммы в начале следует пронумеровать все вершины ГСА, предварительно введя пустые операторные вершины, если в ГСА есть циклы из условных вершин. Кроме этого, если в ГСА есть операторные вершины, в которых записаны более двух микроопераций, то они должны быть разбиты на последовательность вершин, так как операционная микрокоманда имеет только два поля.
4.3 Разработка таблицы прошивки ПЗУ
Пронумеруем вершины кодированной ГСА (Рисунок 7).
Рисунок 7- ГСА для составления микропрограммы
По полученной ГСА заполняется таблица размещения микропрограммы в ПЗУ (Таблица 3).
Таблица 3-Размещение микропрограмм в ПЗУ для УА с естественной адресацией микрокоманд
Адрес слова ПЗУ |
Микрокоманда |
Номера вершины ГСА |
||||
Признак МК |
Разряды управляющей и операционной МК |
|||||
012345678910111213141516171819202122232425262728293031323334353637383940 |
10010100011001010001001100010010101001001 |
0000100001000110010001010010110010001111000001110001011001000111000110010000100101000001110000000101001000010101101010100010001100100010101000100011101110000000000000000000000001100110100000001001011100000 |
000000000010000000010011001011000111001000010000010001000101001101001000000000001111001110010001001001000000111111010010001011000000100001100011001000000000010100100110001000011000011010010101001111010110010010001000001110011010001000000000011110 |
17в.7в.5в.11в.13в.15в.16в.21в.24в.28в.25в. |
122'345677'891010'11121314151617181920222323'25262727'2930БП на в. 1321БП на в. 162424'БП на в. 252828'БП на в. 29 |
В (Таблице 3) представлено размещение микропрограммы в ПЗУ с адреса 0 по адрес 40. В ячейку с адресом 0 помещаем микрокоманду, соответствующую вершине 1, так как вершина 0 содержит пустое множество управляющих сигналов.
Первая микрокоманда будет управляющая, так как вершина 1 условная. В поле признака прямой или инверсной проверки логического условия (П) записана 1, так как удобнее проверять в вершине 1 инверсное значение логического условия. Если
X1 =1(РМК(0)?П=1?1= 0),
будет переход по адресу, указанному в поле АП. Поле АП пока не заполняется.
Если
X1 =0(РМК(0) ?П =1?0=1),
будет переход по адресу РА:=РА+1, то есть в ячейке с адресом 1 будет расположена операционная микрокоманда, соответствующая операторной вершине 0. Теперь возвращаемся ко второй микрокоманде и в поле АП записываем адрес, равный 1, то есть в ячейке с адресом 1 будет расположена операционная микрокоманда, соответствующая операторной вершине 2.
После вершины 21 следует вершина 16, уже представленная в микропрограмме, поэтому далее следует команда безусловного перехода (БП), в поле АП которой указывается адрес ячейки ПЗУ, равный нулю.
Далее поступаем аналогично, пока не будет размещена вся схема алгоритмов в программе.
Заключение
Данная курсовая работа демонстрирует поэтапную разработку УА с жесткой и программируемой логикой.
Целью курсовой работы является закрепление теоретических знаний и углубление практических навыков при выполнении всех этапов разработки управляющих автоматов в составе операционных устройств.
Поставленная цель достигается путем самостоятельной разработки управляющего автомата специализированного операционного устройства. По данным строится ГСА, функциональная схема УА с жесткой логикой с использованием элементов серии К 555. Далее выполняется кодирование микропрограммы для УА с программируемой логикой.
Список литературы
1. http://study.pgta.ru/course/view.php?id=421
2. Федосеева Л.И. Элементы теории цифровых автоматов. Учебное пособие. Издание второе, дополненное. - Пенза: изд-во Пенз. технол. ин-та, 2008г. - 131 с. (7,67 п. л.).
3. Федосеева Л.И. Синтез управляющих автоматов. Методические указания. - Пенза: изд-во Пенз. технол. ин-та, 2002 г. - 55 с.
Раз...
Подобные документы
Разработка управляющего автомата, ориентированного на выполнение заданной микрооперации. Разработка алгоритма работы управляющего автомата. Листинг программы. Выбор оптимального варианта кодирования состояний автомата. Синтез функции возбуждения.
курсовая работа [506,9 K], добавлен 26.12.2012Разработка функциональной схемы управляющего микропрограммного автомата. Построение графов автомата для модели Мили и Мура. Кодирование состояний для модели Мура на D-триггерах. Алгоритм умножения чисел в дополнительном коде с простой коррекцией.
курсовая работа [764,0 K], добавлен 27.08.2012Общая структура и принцип функционирования синхронного управляющего автомата. Анализ граф схемы алгоритма управляющего автомата и детализация блока памяти. Структурный синтез логического преобразователя и разработка электрической функциональной схемы.
курсовая работа [222,6 K], добавлен 19.02.2013Синтез автомата для преобразования двоично-десятичного кода. Кодировка алфавитов и состояний. Построение булевых функций, минимизация. Разметка вход-выходных слов для автомата Мили и автомата Мура. Реализация на элементах малой степени интеграции.
контрольная работа [141,5 K], добавлен 14.10.2012Минимизация абстрактного автомата Мили, моделирование его работы. Синтез схемы конечного автомата, микропрограммного автомата и счетчика числа микрокоманд. Разработка цифровой линии задержки. Построение граф-схем исходного и оптимизированного автоматов.
курсовая работа [823,8 K], добавлен 19.07.2012Разработка управляющего автомата процессора с жесткой логикой в САПР Quartus II. Построение схемы функциональной микропрограммы команды "Исключающее ИЛИ" в размеченном виде. Унитарное кодирование состояний автомата. Запись функций переходов и выходов.
курсовая работа [671,3 K], добавлен 04.11.2014Функциональная организация процессора. Сложение с нормализацией, синтез операций, выборка команды. Описание структурной схемы процессора. Синтез управляющего автомата, разметка граф схемы. Разбиение микроопераций по полям и кодирование логических условий.
курсовая работа [91,8 K], добавлен 24.09.2010Функциональная и структурная организация ЭВМ. Разработка функциональных микропрограмм заданных команд. Их объединение и привязка к структуре операционного автомата процессора. Разработка управляющего автомата процессора с программируемой логикой.
дипломная работа [4,0 M], добавлен 25.03.2012Разработка модели процессора, выполняющего набор машинных команд. Структурная схема процессора (операционного и управляющего автоматов), анализ принципа работы. Содержательный алгоритм микропрограммы, синтез управляющего автомата на основе жесткой логики.
курсовая работа [871,9 K], добавлен 16.09.2010Методика минимизации абстрактного автомата. Порядок построения графа полученного минимизированного автомата. Синтез на элементах ИЛИ-НЕ и Т-тригерах. Составление таблицы переходов. Разработка микропрограммного автомата, реализующего микропрограмму.
курсовая работа [997,7 K], добавлен 28.03.2011Построим содержательные графы выполнения трёх команд языка Ассемблера. Команда умножения двоичных чисел без знака mul. Команда преобразования типов cwde. Логическая команда xor. Синтез канонического автомата. Синтез М-автомата. Управляющие сигналы.
реферат [35,7 K], добавлен 18.11.2004Алгоритм умножения двоичных чисел. Выбор и описание структурной схемы операционного автомата. Реализация содержательной граф-схемы алгоритма. Построение отмеченной граф-схемы и структурной таблицы переходов и выходов. Правила кодирования на D-триггерах.
курсовая работа [273,2 K], добавлен 01.04.2013Понятие автомата как дискретного преобразователя информации, особенности его состояний. Синтез конечных автоматов, их задания и структурных анализ. Построение синтеза функций возбуждения элементарных автоматов. Комбинационный синтез конечных автоматов.
курсовая работа [336,4 K], добавлен 01.06.2014Объединённый граф. Кодировка управляющих и осведомительных сигналов. Структура двухадресного П автомата. Микропрограмма для П автомата с принудительной двухадресной адресацией. Структура одноадресного П автомата. Микропрограмма.
лабораторная работа [24,9 K], добавлен 18.11.2004Общая схема D-триггера и цифрового автомата Мили. Построение входных и выходных преобразователей в соответствии с таблицами кодирования входных и выходных сигналов. Составление таблиц переходов и выхода состояния автомата Мили. Выбор серии микросхем.
курсовая работа [525,4 K], добавлен 04.11.2012Синтез цифрового автомата с комбинационной частью на логических элементах. Реализация спроектированного автомата в виде иерархического блока со схемой замещения на библиотечных компонентах в режиме SPICE–проектов. Разработка абстрактных символов.
курсовая работа [831,2 K], добавлен 23.09.2013Принцип работы процессора (одномагистральная структура). Временные диаграммы, описывающие выполнение микроопераций для каждой команды. Структурная схема управляющего автомата на основе памяти с одним полем адреса. Описание процессора на языке Active VHDL.
курсовая работа [621,0 K], добавлен 24.09.2010Определение функций выходных сигналов и сигналов возбуждения. Построение функциональной схемы управляющего автомата. Способы выполнения операции умножения с фиксированной и с плавающей запятой. Получение функциональной ГСА. Кодирование состояния автомата.
курсовая работа [60,9 K], добавлен 15.02.2011Совокупность управляющего и операционного автоматов. Разработка микропрограммы выполнения операции деления с жесткой логикой и структурно-операционной схемы ОА. Иллюстрация функционирования ОУ на заданных числах. Оценка эффективности кодирования.
курсовая работа [314,4 K], добавлен 12.03.2014Разработка структурной схемы вычислительного устройства, выбор системы команд и определение форматов. Разработка алгоритма командного цикла, выполнения арифметических и логических операций. Проектирование операционного автомата, устройств управления.
курсовая работа [2,8 M], добавлен 15.05.2014