- •Пояснительная записка к курсовой работе по дисциплине «Теория автоматов»
- •Содержание:
- •Глава 1. «Разработка алгоритма выполнения операции автоматом»
- •Построение алгоритма выполнения операции
- •Пример выполнения операции.
- •Оценка погрешности перевода чисел в двоичную систему и выполнения операции.
- •Глава 2. «Разработка гса и функциональной схемы операционной части автомата»
- •2.1 Выбор длины разрядной сетки функциональных узлов операционного автомата
- •2.2 Содержательный граф автомата
- •2.3 Список микроопераций и логических условий
- •Глава 3. «Разработка логической схемы управляющей части автомата»
- •3.1 Составление таблицы переходов-выходов.
- •3.2 Кодирование состояний автомата.
- •3.4 Построение функций возбуждения входов элементарных автоматов и логической схемы автомата.
- •Глава 4.«Оценка времени выполнения операции».
- •4.1 Расчет времени выполнения микропрограммы.
2.3 Список микроопераций и логических условий
Список микроопераций и логических условий представлена в таблице 2.
Таблица 2
Обозначение микрооперации |
Микрооперация |
Обозначение логического условия |
Логическое условие |
У1 У2 У3 У4 У5 У6 У7 У8 У9 У10 У11 У12 У13 У14 У15 У16 У17 У18 У19 У20 У21 У22 |
СММ:=0 СЧ:=1510 Ргма:=А Ргмв:=В СМП:=0 РгРа:=Ра РгРв:=Рв φ1:=0 φ2:=0 СММ:=СММ+Ргма(0:15) Ргмв(2:15):=R1(Ргмв(2).Ргмв(2:15)) СММ(0:31):=R2(СММ(0).СММ(0:31)) СЧ:=СЧ-1 СММ:=СММ(0:31)+┐Ргма(0:15)+1 СММ:=L1(СММ(0:15).Ргмв(0)) Ргмв(2:15):=L1(Ргмв(2:15).0) СМП:=РгРа(0:5)+РгРв(0:5)-1 СМП:=РгРа(0:5)+РгРв(0:5) φ1:=1 φ2:=1 СММ(0:31):=0 СМП(0:5):=0 |
Х1 Х2 Х3 Х4
Х5
Х6
Х7
|
Ргмв(15) СЧ(0) Ргмв(0) СММ(1)= =СММ(2) Ргмв(0)= =Ргма(0) Ргма(0)= =СММ(0) Ргма(0) |
Глава 3. «Разработка логической схемы управляющей части автомата»
3.1 Составление таблицы переходов-выходов.
Таблица 3
Исходное состояние |
Входной набор |
Выходной набор |
Следующее состояние |
а1 а2 а2 а3 а4 а4 а4 а4 а4 а5 а5 а6 а7 а7 а7 а7
|
В х1 х1 - х1х2 х1х2 х2х3 х2х3х4 х2х3х4 х4 х4 - х5х6 х5х6х7 х5х6х7 х5 |
у1÷у9 у10 у11,у12,у13 у11,у12,у13 у11,у12,у13 у10 у14 у15,у16,у17 у18 у15,у16,у17 у18 у18 - у20,у21,у22 у19 - |
а2 а3 а4 а4 а4 а3 а5 а6 а7 а6 а7 а7 а1 а1 а1 а1 |
3.2 Кодирование состояний автомата.
При кодировании можно воспользоваться эмпирическим алгоритмом кодирования, позволяющим уменьшить число переключаемых триггеров на каждом переходе автомата, что, в свою очередь, должно уменьшить сложность его схемной реализации. Закодируем граф автомата Мили (рисунок 5). Составим матрицу переходов, соответствующую связям в автомате.
Пусть состояние а1кодируется набором 000, а а2– 001.
12 23 Вычеркнем из матрицы М верхнюю
23 24 строку. Тогда получим матрицу М*и
24 34 выделим из нее подматрицу М3,
34 43 содержащую состояние а3, входящее
43 44 в первую строку матрицы М*и еще не
44 45 имеющее собственной кодировки.
45 46 23 Поскольку в матрице М3еще не имеет
М= 46 М*= 47 М3= 34 кодировки состояние а4, то найдем
47 56 43 кодировку состояния а3исходя из
56 57 условия соседства состояний а3и а2.
57 67 Соседними к а2и еще не
67 71 использованными являются следующие
71 71 наборы: 101, 011. Выберем в качестве
71 71 кода а3набор 101.Вычеркнув из матрицы
71 71 М*верхнюю строку, получим матрицу
М**и выделим из нее подматрицу М4.
24 Для кодирования состояния а4можно
34 использовать свободные кодовые
43 комбинации, соседние к уже
44 24 используемым: 011, 010 – соседние к а1;
45 34 011 – соседняя к а2; 100, 111 – соседние к
46 43 а3.Так как в подматрице М4не имеют
М**= 47 М4= 44 кодовых комбинаций состояния а5, а6, а7,
56 45 то будем выбирать код состояния а4
57 46 исходя из минимальной сложности связей
67 47 с состоянием а2. Сложность связей
71 оценим весовой функцией,
71 представляющей собой сумму расстояний
71 по Хэммингу между кодовыми
комбинациями, имеющими связь в графе.
W011= |011 - 001| = 1;
W010= |010 - 001| = 2;
W111 = |111 - 001| = 2;
W100 = |100 - 001| = 2.
Из сравнения весовых функций следует, что кодовая комбинация 011 может быть принята для кодирования состояния а4, поскольку она обеспечивает минимальный вес. Вычеркнем первую, вторую, третью и четвертуюстроки из матрицы М**и получим матрицу М***.
45 Из матрицы М***выделим подматрицу М5.
46 Так как в подматрице М5не имеют
47 кодовых комбинаций состояния а6, а7,
56 45 то будем выбирать код состояния а5
М***= 57 М5= 56 исходя из минимальной сложности связей
67 57 с состоянием а4. Сложность связей
71 оценим весовой функцией,
71 представляющей собой сумму расстояний
71 по Хэммингу между кодовыми
71 комбинациями, имеющими связь в графе. Не использованные комбинации: 010, 100, 110, 111 – их можно использовать для кодирования состояния а5.
W010= |010 - 011| = 1;
W100= |100 - 011| = 3;
W110 = |110 - 011| = 2;
W111 = |111 - 011| = 1.
Итак, для состояния а5есть два варианта кодирования 010 и 111. Если выберем для кодировки состояния а5значение 010, то для кодирования состояний а6и а7остаются комбинации 100, 110, 111.
Вычеркнем первую строку из матрицы М***и получим матрицу М****.
46 Поскольку элементов а7в матрице больше, чем
47 47 а6, то рассмотрим сначала подматрицу М7без
56 57 третьей строки, поскольку элемент а6еще не
57 67 закодирован.
М****= 67 М7= 71 Не использованные комбинации 100, 110, 111 -
71 71 их можно использовать для кодирования
71 71 состояния а7. Найдем сумму весов для каждой
71 71 из этих комбинаций:
71
W100= |100 - 011|+|100 - 010|+|100 - 000|+|100 - 000|+|100 - 000|+|100 - 000|=9;
W110= |110 - 011|+|110 - 010|+|110 - 000|+|110 - 000|+|110 - 000|+|110 - 000|=11
W111= |111 - 011|+|111 - 010|+|111 - 000|+|111 – 000|+|111 - 000|+
+|111 - 000|=15.
Состояние а7= 100, для кодирования состояния а6остаются комбинации 110, 111. Из матрицы М****находим
46
М6= 56
W110= |110 - 011|+|110 - 010|=3;
W111= |111 - 011|+|111 - 010|=3.
Таким образом для кодирования а6можно выбрать либо 110, либо 111.В результате получится две таблицы кодирования.
Таблица 4,а
а1 |
а2 |
а3 |
а4 |
а5 |
а6 |
а7 |
000 |
001 |
101 |
011 |
010 |
110 |
100 |
Таблица 4,б
а1 |
а2 |
а3 |
а4 |
а5 |
а6 |
а7 |
000 |
001 |
101 |
011 |
010 |
111 |
100 |
Для выбора окончательного варианта кодирования оценим сложность кодирования по матрице М для двух таблиц:
W1а= |000 - 001|+|001 - 101|+|001 - 011|+|101 - 011|+|011 - 101|+ +|011 - 011|+|011 - 010|+|011 – 110|+|011 - 100|+|010 - 110|+|010 - 100|+ +|110 - 100|+|100 - 000|+|100 - 000|+|100 - 000|+|100 - 000|=21;
W1б= |000 - 001|+|001 - 101|+|001 - 011|+|101 - 011|+|011 - 101|+ +|011 - 011|+|011 - 010|+|011 – 110|+|011 - 100|+|010 - 110|+|010 - 100|+ +|111 - 100|+|100 - 000|+|100 - 000|+|100 - 000|+|100 - 000|=23.
Примем в качестве окончательной таблицу 4,а. Сравним сложность закодированного по таблице 4,а автомата со сложностью автомата, закодированного натуральным рядом чисел (таблица 4,в)
Таблица 4,в
а1 |
а2 |
а3 |
а4 |
а5 |
А6 |
а7 |
000 |
001 |
010 |
011 |
100 |
101 |
110 |
W1в= |000 - 001|+|001 - 010|+|001 - 011|+|010 - 011|+|011 - 010|+|011 - 011|+
+|011 – 100|+|011 - 101|+|011 - 110|+|100 - 101|+|100 - 110|+|101 - 110|+
+|100 - 000|+|100 - 000|+|100 - 000|+|100 - 000|=25.