- •Курсовая работа по теории автоматов
- •Часть 1: автомат Мили (кодовый замок)
- •Часть 2: автомат Мура (двоичный счетчик)
- •Часть 3: микропрограммный автомат на ппзу
- •Этапы проектирования и реализации цифровых устройств.
- •I. Первая часть курсового проекта. Этап 1. Идея.
- •Этап 2. Техническое задание.
- •Этап 3. Составление таблицы переходов и выходов автомата.
- •Этап 4. Кодирование элементов.
- •Этап 5. Выбор типа элементарных автоматов.
- •Этап 6. Заполнение кодированной таблицы переходов и выходов.
- •Этап 7. Составление системы булевых уравнений.
- •Этап 8. Минимизация системы булевых уравнений.
- •Э тап 9. Составление функциональной схемы. Этап 10. Разработка принципиальной схемы. Выбор технологии.
- •Этап 4. Кодирование элементов.
- •Этап 5. Выбор типа элементарных автоматов.
- •Этап 6. Заполнение кодированной таблицы переходов и выходов.
- •Этап 7. Составление системы булевых уравнений.
- •Этап 8. Минимизация системы булевых уравнений.
- •Этап 9. Составление функциональной схемы.
- •Этап 10. Разработка принципиальной схемы.
- •III. Третья часть курсового проекта Этап 1. Идея.
- •Этап 2. Техническое задание.
- •Этап 3. Кодирование элементов.
- •Этап 4. Составление таблицы переходов и выходов.
Этап 7. Составление системы булевых уравнений.
Чтобы получить систему логических уравнений в СДНФ, с помощью построенной таблицы проведем те же операции, что и в первой части.
q2 = Q2Q1Q0 + Q2Q1Q0
q1 = Q2Q1Q0 + Q2Q1Q0 + Q2Q1Q0
q0 = Q2Q1Q0 + Q2Q1Q0 + Q2Q1Q0
Этап 8. Минимизация системы булевых уравнений.
В ходе минимизации нам нужно перевести уравнения в МДНФ (минимальную дизъюнктивную нормальную форму). Проведем эту минимизацию с помощью карт Карно.
1 |
0 |
3 |
2 |
7 |
6 |
5 |
4 |
В итоге мы получили три логические уравнения в виде МДНФ:
q2 = Q1Q0 + Q2Q1
q1 = Q1Q0 + Q2Q0
q0 = Q0
Этап 9. Составление функциональной схемы.
Этап 10. Разработка принципиальной схемы.
Реализовать схему мы сможем, используя серию базовых элементов КР1533. Это И-НЕ элементы (элементы Шеффера), ТТЛ, питание +5В, минимальная задержка на вентиле 11нс.
Перейдем от МДНФ логических уравнений к И-НЕ форме при помощи закона Де-Моргана.
q
2
= Q1Q0 + Q2Q1 = Q1Q0
· Q2Q1
q
1
= Q1Q0 + Q2Q0 = Q1Q0
· Q2Q0
q0 = Q0
Теперь можно построить принципиальную схему:
Устройство согласования логики с датчиками на входе и подачу сигнала RESET организуем точно так же, как и в первой части курсового проекта.
DD1 — КР1533ТЛ1 (ТШх6)
DD2 — КР1533ЛА2 (2И-НЕх4)
DD3 — КР1533ЛА1 (4И-НЕх2)
HLx — АЛ102АМ (светодиоды х3)
С3 — электролит. конденсатор К50-6-20 мкФ
С4, С5, С6 — конденсаторы КМ-1-0,1 мкФ
Предельная максимальная частота для этого устройства равна
τmin = 11 нс + 11 нс + 20 нс = 42 нс
Fmax = 1/τmin = 23 МГц.
Fрабочая = 0,7Fmax = 16 МГц
III. Третья часть курсового проекта Этап 1. Идея.
Задача: спроектировать микропрограммный автомат на перепрограммируемом постоянном запоминающем устройстве ППЗУ, который должен формировать микропрограмму, выполняющую заданную операцию на РАЛУ центрального процессора.
Код операции АЛУ выбирается по пяти последним цифрам PIN-кода:
1
00
10001
Любой алгоритм можно реализовать тремя способами:
если задача простая, то нужно построить таблицу истинности, составить систему логических уравнений и реализовать её в жесткой логике
для более сложных задач мы можем записать таблицу истинности прямо в память устройства — это микропрограммная реализация алгоритма на памяти
мы можем взять готовую вычислительную машину и реализовать алгоритм программированием
Для этой части курсового проекта выберем второй способ.
Таблица операций АЛУ.
К
семидесятым годам прошлого века
установился типовой набор операций
АЛУ, позволяющий строить команды
центрального процессора для любых
практических задач, которые существуют.
Всего в АЛУ входит 16 арифметических (не блокируются цепи переноса из младших разрядов в старшие) и 16 логических операций (блокируются цепи переноса из младших разрядов в старшие).
Разряды операндов обрабатываются побитно.
MO — арифметическая или логическая операция (модификатор).
SE0 — выбор операций.
PIN = |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
|
27 |
26 |
25 |
24 |
23 |
22 |
21 |
20 |
|
MO |
SE3 |
SE2 |
SE1 |
SE0 |
|||
Таблица операций АЛУ
Выбор операции |
Логические операции y5=МО=1 |
Арифметические операции y5=МО=0 |
||||
y4 SE3 |
y3 SE2 |
y2 SE1 |
y1 SE0 |
Без переноса С0=0 |
С переносом С0=1 |
|
0 |
0 |
0 |
0 |
S = A |
S = A |
S = A + 1 |
0 |
0 |
0 |
1 |
S = AVB |
S = AVB |
S = AVB + 1 |
0 |
0 |
1 |
0 |
S = AɅB |
S = AVB |
S = AVB + 1 |
0 |
0 |
1 |
1 |
S = 0 |
S = -1 |
S = 0 |
0 |
1 |
0 |
0 |
S = AɅB |
S = A + AɅB |
S = A + AɅB + 1 |
0 |
1 |
0 |
1 |
S = B |
S = AVB + AVB |
S = AVB + AVB + 1 |
0 |
1 |
1 |
0 |
S = A⊕B |
S = A - B - 1 |
S = A - B |
0 |
1 |
1 |
1 |
S = AɅB |
S = AɅB - 1 |
S = AɅB |
1 |
0 |
0 |
0 |
S = AVB |
S = A + AɅB |
S = A + AɅB + 1 |
1 |
0 |
0 |
1 |
S = A⊕B |
S = A + B |
S = A + B + 1 |
1 |
0 |
1 |
0 |
S = B |
S = AɅB + AɅB |
S = AɅB + AɅB + 1 |
1 |
0 |
1 |
1 |
S = AɅB |
S = AɅB - 1 |
S = AɅB |
1 |
1 |
0 |
0 |
S = 1 |
S = A + A* |
S = A + A* + 1 |
1 |
1 |
0 |
1 |
S = AVB |
S = AVB + A |
S = AVB + A + 1 |
1 |
1 |
1 |
0 |
S = AVB |
S = AVB + A |
S = AVB + A + 1 |
1 |
1 |
1 |
1 |
S = A |
S = A - 1 |
S = A |
В таблице отмечен вариант, который будет использоваться в этом курсовом проекте.
С помощью этого типового набора операций АЛУ строятся команды процессора с усеченной системой команд (RISC-архитектура).
Общая схема регистрового АЛУ:
Управляющие сигналы уi составляют одну микрокоманду, существуют в течение одного такта и служат для установки узлов РАЛУ на выполнение соответствующих микроопераций.
У любого регистра есть следующие операции: запись, хранение, чтение. Для регистра сдвига добавляются еще две — сдвиг влево, сдвиг вправо.
Мультиплексоры — это устройства, которые переключают цепь с нескольких устройств на одно.
М1 — мультиплексор цепи переноса АЛУ.
Ко входу младшего разряда переноса АЛУ при у6=0 подключается внешний перенос (в случае построения многоразрядных сумматоров), при у6=1 подключается собственный перенос. Еще этот мультиплексор может вызвать прерывание V (переполнение).
М2 — мультиплексор цепи сдвига регистра сдвига РС.
Ко входу триггера сдвига Т2 при у14=1 подключается выход младшего разряда РС, при у14=0 подключается выход старшего разряда.
М3 — мультиплексор цепи сдвига.
Ко входам старшего и младшего разрядов РС подключается один из следующих сигналов:
-
у15
у16
0
0
Выход М2
0
1
Выход Т1
1
0
Логическая «1»
1
1
Логический «0»
Первая комбинация соответствует организации циклического сдвига, когда при сдвиге вправо значение младшего разряда записывается в старший, а при сдвиге влево — значение младшего в старший. Вторая, третья и четвертая комбинации отличаются тем, что освобождающийся разряд записывается соответственно либо содержимое триггера Т2 (разряд, вытесненный при сдвиге в предыдущих тактах), либо логическая единица, либо логический ноль.
Остальные управляющие сигналы:
у1 — у5 определяют тип операции в АЛУ в соответствии с таблицей
у7 = 1 прием информации на РР с выхода АЛУ
у10 = 1 прием информации на БР
у11 = 0 в БР записывается информация с внешнего входа
у11 = 1 в БР записывается информация с микрошины В
у12 |
у13 |
|
обеспечивают режим работы РС |
0 |
0 |
приём информации с микрошины В |
|
0 |
1 |
правый сдвиг |
|
1 |
0 |
левый сдвиг |
|
1 |
1 |
хранение информации |
у17 = 1 запись информации в РОН
у17 = 0 хранение и чтение из указанного адреса РОН
у8 и у9 управляют формированием сигналов N (флаг знака), V (флаг переполнения), Z (флаг нулевого модуля)
Для корректной работы нам также потребуются синхроимпульсы, по которым будет происходить запись информации в триггеры регистров.
