- •Теория автоматов. Уровни представления эвм.
- •Операционные элементы. (оэ)
- •Процессор гса:
- •Достоинства и недостатки.
- •Операционное устройство для выполнения операций алгебраического сложения двоичных чисел.
- •Суммирование при использовании прямого кодирования.
- •Суммирование чисел при использовании обратного кода.
- •Дополнительный код.
- •Модифицированный код.
- •Пример суммирования.
- •Конечные автоматы.
- •Теория конечных автоматов
- •Способы задания функций переходов.
- •Автоматы ( с выходным преобразователем)
- •Способы задания автоматов
- •Способы задания автомата Миля
- •Преобразование автоматов из Миля в Мура и обратно Понятие эквивалентности автоматов
- •Преобразование Мура в Миля
- •Техника преобразований.
- •Обратный переход. Построение Мура для заданного Миля.
- •Частичные или не полностью определенные автоматы.
- •Синтез конечных автоматов.
- •Абстрактный синтез конечных автоматов.
- •Построение дерева входных последовательностей.
- •Структурный этап синтеза автоматов.
- •Основные этапы структурного синтеза.
- •Типы памяти.
- •Основные типы триггеров.
- •Пример структурного синтеза синхронного автомата.
- •`Временная диаграмма.
- •Этап минимизации автомата при абстрактном синтезе. Минимизация полностью определенного автомата.
- •Алгоритмы минимизации на основе треугольной матрицы.
- •Минимизация числа состояний частичного автомата.
- •Минимизация частичного автомата.
- •Абстрактный этап синтеза конечного автомат. (неканонический метод).
- •Алгоритм перехода от граф схемы микропрограммы к автомату Мура.
- •Учет взаимодействия проекционного и управляющего автоматов. Алгоритм получения.
- •Алгоритм получения частичного автомата.
- •Множество входных значений.
- •Кодирование состояний синхронного автомата.
- •Кодирование соседними кодами.
- •Минимизация числа переключений элементов памяти.
- •Универсальный способ кодирования (для синхронного автомата).
- •Автомат с дешифратором.
- •Асинхронные автоматы.
- •Этапы синтеза асинхронного автомата.
- •Реализация асинхронного rs триггера на логических элементах.
- •Установочные входы в триггерах.
- •Синхронные элементы памяти.
- •Требования, предъявляемые к синхросигналу.
- •Синтез синхронного rs триггера.
- •Синтез триггера с задержкой.Реализация асинхронного t триггера.
- •Исключение состязаний элементов памяти в синхронных автоматах.
- •Структура автоматов на плм и пзу.
- •Явление рисков в комбинационных узлах.
- •Исключение влияние рисков.
- •Построение схем без риска.
- •Алгоритм построения схемы без рисков по днф.
- •Алгоритм построения схемы без риска.
- •Автоматы, языки и грамматики.
- •Задача распознавания цепочек языка.
- •Классификация грамматик по Хомскому.
- •Примеры построения грамматик.
- •Грамматика для выполнения арифметических операций.
- •Соответствие конечных автоматов и автоматных грамматик.
- •Этапы для заданной автоматной грамматики.
- •Этапы для заданной автоматной грамматики.
- •Недетерминированные конечные автоматы.
- •Преобразование недетерминированного автомата в детерминированный.
- •Преобразование некоторых типов грамматики к автоматному ввиду.
- •Алгоритм получения правил, не содержащих правил вывода нетерминальных символов.
- •Построение распознавателей и преобразователей.
- •Построение распознавателей.
- •Алгоритм построения преобразователя.
Минимизация числа переключений элементов памяти.
Расстояние между кодами по Хеминингу – это число разрядов, в которых эти коды различаются между собой.
Алгоритм кодирования:
Определяем множество пар состояний, между которыми существует переход M.
Выбирается любая пара состояний, между которыми есть переход, один из них кодируется всеми нулями, а другой нулями и одной единицей.(00…01)
Из множества Mудаляются пары состояний, которые уже закодированыM\(SiSj), если станет равным 0 , то процесс завершается.
Берем любую пару в которой одно состояние уже закодировано, а другое нет (* , Sq)Sq- незакодированное состояние, * - состояние закодировано. Далее кодируем это состояние.
Выбираем множество пар из Mкуда входитSq (Mq)
Из Mqвыбираем все закодированные состояния (Bq)
Строим множество кодов, имеющих расстояние d, с каждым кодом из состоянияBq
Для каждого кода из всех множеств Cdqопределяется сумма расстояний по Хеммингу с каждым кодом изBqВыбирается код, имеющий минимальную сумму и этот код приписываетсяCqДеле возврат к пункту 3.
Пример:
Пары состояний M={(1,2),(2,3),(2,4),(2,5),(3,4),(4,5),(1,5)}
{1,2} => S1 = 000 S2 = 001
M={(2,3),(2,4),(2,5),(3,4),(4,5),(1,5)}
{2,4}
q=4
Mq = {(2,4),(3,4),(4,5)}
Bq = {2}
C14 = {101,011}
101 + 001 = 100 d =1
011 + 001 = 010 d =1
S4 = 101
3) M={(2,3),(2,4),(2,5),(3,4),(4,5),(1,5)}
4) {2,5} q=5
5) Mq = {(2,5),(1,5),(4,5)}
6) Bq = {2,4,1}
7) C15 = {011}
C15 = {(111),(100)}
C15 = {(100),(010)}
8) 011 + 001 = 010
011 + 101 = 110
011 + 000 = 110
111 + 001 = 110
111 + 101 = 010
111 + 000 = 111
100 + 001 = 101
100 + 101 = 001
100 + 000 = 100
010 + 001 = 011
010 + 101 = 111
010 + 000 = 010
S5 = 100
3) M = {(2,3,(3,4) }
4) {2,3} q=3
5) Mq = {(2,3),(3,4)}
6) Bq = {2,4}
7) C15 = {011}
C15 = {(111)}
C15 = {(100),(010)}
8) 011 + 001 = 010
011 + 101 = 110
111 + 001 = 110
111 + 101 = 010
S3 = 011
3) M = {0 } – конец цикла.
При кодировании мы не получили однозначное решение, т.е. можно было состоянию приписать разные коды в процессе алгоритма, чтобы получить следовательно можно одновременно постараться учесть соседей первого и второго рода и тем самым упростить схему.
Универсальный способ кодирования (для синхронного автомата).
При данном способе кодирования используется унитарный код (1 из N), который содержит 1 единицу, а остальные 0 . В этом случае число разрядов совпадает с числом состояний автомата. В данном способе кодирования число разрядов максимально возможно, большее число разрядов бессмыслимо, следовательно это приводит к большему числу триггеров. С другой стороны может значительно упроститься комбинационный узел формирующий функции возбуждения и его функционирование можно описать прямо по графу без минимизации булевых функций.
Для Dтриггера:
D2=q1⌐q2q3⌐x1– любой код
D2=q1⌐x1 - унитарный код
Для унитарного кода опущены ⌐q2⌐q3, так как еслиq1= 1, то это однозначно подразумеваетq2=q3= 0. Более тогоq1= 1 невозможно ни для одного из оставшихся состояний автомата.
Пример:
01 01
D1= q5x v q3x
51 31
01
D2= q1⌐x
12
01 01 01
D3 = q1x v q2x v q4x
13 23 43
01 11
D4 = q2⌐x v q4⌐x
24 24
01
D5=q3⌐x
35
Выражения могут быть еще несколько упрощено. Предположим, что в качестве элементов памяти используется RSтриггер.
R= 1 , когда 10 обязательно
R= 1 , когда 00 можно
S= 1 , когда 01 обязательно
S= 1 , когда 11 возможно
Для RSтриггера сначала записываются функции обязательные, а там где возможно чтобы функция была равна 1 дописывают лишь в случае упрощения.
RS
*0
0 0
01
0 1
10
1 0
0*
1 1
10 10
R1 = q1⌐X v q1X = q1
12 13
01 01
S1 = q5X v q3X = X(q1 v q3)
51 31
В функции R1 , S1входит обязательная конъюнкция, обеспечивающая переход 10 дляR1и 01 дляS1. ВR1можно добавить конъюнкции переходов из 00, т.к. при этомR=* и может быть доопределено до 1. УпроститьR=q- можно добавить только ⌐q1, однако при унитарном кодировании инверсное значение ⌐qне используется, а следовательно переходы 00 добавленные вR1только усложнят функцию.
Аналогично для S1можно добавить конъюнкции соответствующие переходу 11, такой переход возможен, только если присутствует петля вокругS1, в примере ее нет, значит получим окончательное значениеR1S1.
10 10
R2 = q2⌐X v q2X = q2
24 23
01
S2 = q1⌐X
12
10
R3 = q3
31
35
01 01 01
S3 = q1X v q2X v q4X = X(q1 v q2 v q4)
13 23 43
10
R4 = q4X
43
01 11
S4 = q2⌐X v q4⌐X = q2
24 44
R5 = q5X
S5 = q3⌐X