Автор работы: Пользователь скрыл имя, 06 Января 2011 в 11:50, курсовая работа
Операции в операционном блоке выполняются под воздействием управляющих сигналов, которые вырабатываются в блоке управления. На вход блока управления подается код операции, который задает тип операции, выполняемой в операционном блоке. В зависимости от значения кода операции блок управления вырабатывает соответствующую последовательность управляющих сигналов, поступающих в операционный блок. Порядок выполнения операции может зависеть от значения признаков, которые также подаются в блок управления.
1.Введение3
2.Задание6
3.Общая последовательность умножении чисел с ФТ 7
4.Структурная схема АЛУ 8
5.Алгоритм умножения чисел в АЛУ 9
6.Разработка функциональной схемы блоков управления для D-триггера 11
1.Общая последовательность разработки11
2.Формализация задания11
3.Выбор типа автомата14
4.Разметка схемы алгоритма14
5.Составление таблиц переходов и выходов16
6.Кодирование состояний17
7.Составление кодированной таблицы переходов и выходов18
8.Преобразование таблицы переходов в таблицу функций возбуждения триггеров20
9.Минимизация функций возбуждения и функций выходов20
10.Выбор типа логических элементов27
11.Преобразование функций переходов и функций выходов27
12.Построение функциональной схемы блока управления28
7.Разработка функциональной схемы блока управления для JK-триггера 31
7.1. Выбор типа триггеров31
7.2. Преобразование таблицы переходов в таблицу функций возбуждении триггеров31
7.3. Запись функций возбуждения и функций выходов в СДНФ33
7.4. Выбор типа логических элементов33
7.5. Преобразование функций переходов и функций выходов34
7.6. Построение функциональной схемы блока управления35
8.Функциональная схема блока управления 35
9.Заключение 39
6.2 Формализация задания
При задании автомата микропрограммой количество входных сигналов равно числу различных условных операторов микропрограммы. В данном случае число условных операторов равно 5.
Для упрощения записи логических функций на рисунке 5 приняты следующие обозначения:
x- сигнал начала
a- проверка данных на «0»
b-проверка разряда множителя на «0»
c- счетчик разрядности регистра;
o-признак переполнения
Тогда входными сигналами блока управления являются сигналы x, а,b, c,o каждый из которых может принимать значение 0 или 1.
Число выходных сигналов блока управления равно числу микроопераций в микропрограмме. Обозначения выходных сигналов и соответствующие им микрооперации приведены в таблице 1.
Таблица 1
№№
П/П |
Выходные
сигналы |
Микрооперации |
0 | Сигнал готовности | |
1 | Прием числа А из ОП в регистр A | |
2 | Прием числа В из ОП в регистр B | |
3 | Обнуление частичного произведения | |
4 | Обнуление счетчика разрядности регистра | |
5 | Накопление частичного произведение(ЧП) в регистре сумматора | |
6 | Сдвиг регистра ЧП вправо на 1 разряд | |
7 | Сдвиг регистра B вправо на 1 разряд | |
8 | Увеличение счетчика разрядности регистра на 1 | |
9 | Формирование признака результата | |
10 | Выдача результата из регистра сумматора в ОП |
С учетом числа входных и выходных сигналов общая схема блока управления может быть представлена в виде рисунка 3.
Рис.3
6.3
Выбор типа автомата
Заданием предусмотрено реализация блока управления в виде автомата Мура
Для разметки используется
формальная схема алгоритма, в которой
названия микроопераций заменяются
на соответствующие управляющие
сигналы из таблицы 1. При разметке
используем следующие правила:
Размеченная
схема алгоритма представлена на
рисунке 6. Как видно по результатам
разметки, автомат имеет 11состояний
(Q0, Q1,
... Q10)
6.4
Разметка схемы алгоритма
6.5 Составление таблицы переходов и выходов
Таблица
переходов и выходов
Таблица 2
Входы | | |||||||||||
kabco | ||||||||||||
0 - - - - | Q0 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | |
1 0 0 0 0 | Q1 | Q2 | Q3 | Q4 | Q6 | Q6 | Q7 | Q8 | Q9 | Q0 | -- | |
1 0 0 0 1 | Q1 | Q2 | Q3 | Q4 | Q6 | Q6 | Q7 | Q8 | Q9 | Q10 | Q0 | |
1 0 0 1 0 | Q1 | Q2 | Q3 | Q4 | Q6 | Q6 | Q7 | Q8 | Q5 | Q0 | -- | |
1 0 0 1 1 | Q1 | Q2 | Q3 | Q4 | Q6 | Q6 | Q7 | Q8 | Q5 | Q10 | Q0 | |
1 0 1 0 0 | Q1 | Q2 | Q3 | Q4 | Q5 | Q6 | Q7 | Q8 | Q9 | Q0 | -- | |
1 0 1 0 1 | Q1 | Q2 | Q3 | Q4 | Q5 | Q6 | Q7 | Q8 | Q9 | Q10 | Q0 | |
1 0 1 1 0 | Q1 | Q2 | Q3 | Q4 | Q5 | Q6 | Q7 | Q8 | Q5 | Q0 | -- | |
1 0 1 1 1 | Q1 | Q2 | Q3 | Q4 | Q5 | Q6 | Q7 | Q8 | Q5 | Q10 | Q0 | |
1 1 0 0 0 | Q1 | Q2 | Q3 | Q4 | Q10 | -- | -- | -- | -- | -- | Q0 | |
1 1 0 0 1 | Q1 | Q2 | Q3 | Q4 | Q10 | -- | -- | -- | -- | -- | Q0 | |
1 1 0 1 0 | Q1 | Q2 | Q3 | Q4 | Q10 | -- | -- | -- | -- | -- | Q0 | |
1 1 0 1 1 | Q1 | Q2 | Q3 | Q4 | Q10 | -- | -- | -- | -- | -- | Q0 | |
1 1 1 0 0 | Q1 | Q2 | Q3 | Q4 | Q10 | -- | -- | -- | -- | -- | Q0 | |
1 1 1 0 1 | Q1 | Q2 | Q3 | Q4 | Q10 | -- | -- | -- | -- | -- | Q0 | |
1 1 1 1 0 | Q1 | Q2 | Q3 | Q4 | Q10 | -- | -- | -- | -- | -- | Q0 | |
1 1 1 1 1 | Q1 | Q2 | Q3 | Q4 | Q10 | -- | -- | -- | -- | -- | Q0 |
6.6 Кодирование состояний
Принимаем
естественный способ
где:
При
N = 11 получим:
Обозначим элементы
памяти символами 1234.Далее каждому состоянию
поставим в соответствие двоичный код
его номер и набор состояний элементов
памяти. В результате получим следующее
кодирование состояний:
Q0 -> 0000 -> 1234
Q1 -> 0001 -> 12 34
Q2 -> 0010 -> 1234
Q3->0011 -> 1234
Q4->0100 -> 1234
Q5->0101 -> 1234
Q6->0110 -> 1234
Q7->0111 -> 1234
Q8->1000 -> 1234
Q9->1001 -> 1234
Q10->1010 ->
1234
Неиспользуемые комбинации (запрещенные):
1011 -> 1234
1100 -> 1234
1101 -> 1234
1110 ->1234
1111 -> 1234
6.7 Составление кодированной таблицы переходов и выходов
Для составления кодированной таблицы переходов заменим в таблице 2 состояния их двоичными номерами в соответствии с принятым кодированием. В результате получим кодированную таблицу переходов и выходов, которая имеет вид таблицы 3. В таблице 3 приведены как двоичные номера состояний, так и состояния каждого элемента памяти.
Таблица 3
Входы | | ||||||||||
0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | |
KABTS | - - - - | - - - | - - - | - - | - - - | -
- |
- - | - | - - - | - - |
|
0 - - - - | - | - | - | - | - | - | - | - | - | - | - |
1 0 0 0 0 | 0001 | 0010 | 0011 | 0100 | 0110 | 0110 | 0111 | 1000 | 1001 | 0000 | - |
1 0 0 0 1 | 0001 | 0010 | 0011 | 0100 | 0110 | 0110 | 0111 | 1000 | 1001 | 1010 | 0000 |
1 0 0 1 0 | 0001 | 0010 | 0011 | 0100 | 0110 | 0110 | 0111 | 1000 | 0101 | 0000 | - |
1 0 0 1 1 | 0001 | 0010 | 0011 | 0100 | 0110 | 0110 | 0111 | 1000 | 0101 | 1010 | 0000 |
1 0 1 0 0 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 0000 | -- |
1 0 1 0 1 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 1001 | 1010 | 0000 |
1 0 1 1 0 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 0101 | 0000 | -- |
1 0 1 1 1 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 | 1000 | 0101 | 1010 | 0000 |
1 1 0 0 0 | 0001 | 0010 | 0011 | 0100 | 1010 | -- | -- | -- | -- | -- | 0000 |
1 1 0 0 1 | 0001 | 0010 | 0011 | 0100 | 1010 | -- | -- | -- | -- | -- | 0000 |
1 1 0 1 0 | 0001 | 0010 | 0011 | 0100 | 1010 | -- | -- | -- | -- | -- | 0000 |
1 1 0 1 1 | 0001 | 0010 | 0011 | 0100 | 1010 | -- | -- | -- | -- | -- | 0000 |
1 1 1 0 0 | 0001 | 0010 | 0011 | 0100 | 1010 | -- | -- | -- | -- | -- | 0000 |
1 1 1 0 1 | 0001 | 0010 | 0011 | 0100 | 1010 | -- | -- | -- | -- | -- | 0000 |
1 1 1 1 0 | 0001 | 0010 | 0011 | 0100 | 1010 | -- | -- | -- | -- | -- | 0000 |
1 1 1 1 1 | 0001 | 0010 | 0011 | 0100 | 1010 | -- | -- | -- | -- | -- | 0000 |
6.8 Преобразование таблицы переходов в таблицу функций возбуждения триггеров
При использовании
D — триггеров преобразование таблицы
переходов не выполняется.
6.9 Минимизация функций возбуждения и функций выходов
Для окончательной минимизации функций используем метод Карно. При минимизации следует учесть, что все функции являются не полностью определенными, так как в таблице переходов не использованы состояния Q11,Q12, Q13, Q14, Q15. Отметим также, что метод Карно применим непосредственно только к функциям не более чем четырех переменных. В случае более сложных функций они минимизируются по частям.
Диаграммы Карно для функций , , ипоказаны на рисунке 4.
Рис.4
D1
1 | |||
* | * | * | |
* | * |
1 | |||
* | * | * | |
* | * |
1 | |||
* | * | * | |
* | * |
Информация о работе Блок управления для выполнения операции умножения в АЛУ