Синтез управляющих автоматов

Разработка управляющего автомата специализированного операционного устройства. Микропрограмма как алгоритм выполнения операций, записанные в виде микроопераций и логических условий. Структурный синтез и результаты кодирования состояний автомата Мили.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 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-Размещение микропрограмм в ПЗУ для УА с естественной адресацией микрокоманд

Адрес слова ПЗУ

Микрокоманда

Номера вершины ГСА

Признак МК

Разряды управляющей и операционной МК

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

40

1
0
0
1
0
1
0
0
0
1
1
0
0
1
0
1
0
0
0
1
0
0
1
1
0
0
0
1
0
0
1
0
1
0
1
0
0
1
0
0

1

00001
00001
00011
00100
01010
01011
00100
01111
00000
11100
01011
00100
01110
00110
01000
01001
01000
00111
00000
00101
00100
00101
01101
01010
00100
01100
10001
01010
00100
01110
11100
00000
00000
00000
00000
00110
01101
00000
00100
10111

00000

000000
000010
000000
010011
001011
000111
001000
010000
010001
000101
001101
001000
000000
001111
001110
010001
001001
000000
111111
010010
001011
000000
100001
100011
001000
000000
010100
100110
001000
011000
011010
010101
001111
010110
010010
001000
001110
011010
001000
000000

011110

17в.
7в.
5в.
11в.
13в.
15в.
16в.
21в.
24в.
28в.

25в.

1
2
2'
3
4
5
6
7
7'
8
9
10
10'
11
12
13
14
15
16
17
18
19
20
22
23
23'
25
26
27
27'
29
30
БП на в. 13
21
БП на в. 16
24
24'
БП на в. 25
28
28'

БП на в. 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.