Блок управления для выполнения операции умножения в АЛУ
МИНИСТЕРСТВО ТРАНСПОРТА РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное образовательное учреждение высшего профессионального образования
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ГРАЖДАНСКОЙ АВИАЦИИ
Кафедра
вычислительных машин,
комплексов, систем
и сетей
Курсовая работа
защищена с оценкой
__________________
__________________
(подпись, дата)
КУРСОВАЯ РАБОТА
по дисциплине "Теория автоматов"
Вариант № 35
Тема: Блок управления для выполнения
операции
умножения в АЛУ
студент группы ЭВМ 3-1
Курсовая работа
допущена к
защите
_________________
(подпись
преподавателя, дата)
МОСКВА – 2010
Содержание
- Введение3
- Задание6
- Общая последовательность умножении чисел с ФТ 7
- Структурная схема АЛУ 8
- Алгоритм умножения чисел в АЛУ 9
- Разработка функциональной схемы блоков управления для D-триггера 11
- Общая последовательность разработки11
- Формализация задания11
- Выбор типа автомата14
- Разметка схемы алгоритма14
- Составление таблиц переходов и выходов16
- Кодирование состояний17
- Составление кодированной таблицы переходов и выходов18
- Преобразование таблицы переходов в таблицу функций возбуждения триггеров20
- Минимизация функций возбуждения и функций выходов20
- Выбор типа логических элементов27
- Преобразование функций переходов и функций выходов27
- Построение функциональной схемы блока управления28
- Разработка функциональной схемы блока управления для JK-триггера 31
7.1. Выбор типа триггеров31
7.2. Преобразование
таблицы переходов в таблицу
функций возбуждении триггеров3
7.3. Запись функций возбуждения и функций выходов в СДНФ33
7.4. Выбор типа логических элементов33
7.5. Преобразование функций переходов и функций выходов34
7.6. Построение
функциональной схемы блока
- Функциональная схема блока управления 35
- Заключение 39
Введение
Большинство устройств
ЭВМ имеет типовую структуру,
которая включает два основных блока:
операционный блок и блок управления.
Типовая структура устройства ЭВМ
представлена на рисунке 1.
В операционном
блоке выполняются функции, для
которых предназначено
Операции
в операционном блоке выполняются
под воздействием управляющих сигналов,
которые вырабатываются в блоке
управления. На вход блока управления
подается код операции, который задает
тип операции, выполняемой в операционном
блоке. В зависимости от значения
кода операции блок управления вырабатывает
соответствующую
Блоки управления представляют собой особый тип автоматов с памятью. Ранее было показано, что блоки управления непосредственно не выполняют операций по преобразованию данных. Они только обеспечивают выполнение преобразований в операционных блоках путем формирования управляющих сигналов. Управляющие сигналы, вырабатываемые блоками управления, организуют передачу данных внутри операционного блока. Для этого управляющие сигналы коммутируют в определенные моменты и на определенный промежуток времени. В качестве коммутирующих элементов используются элементы И на два входа, которые в данном случае называют ключами или вентилями. На один вход элемента И подается информационный сигнал, которым нужно управлять. Информационный сигнал обычно имеет большую протяженность во времени, т.е. является потенциальным сигналом. На второй вход элемента подается управляющий сигнал, который представляет собой импульс небольшой длительности.
В
отсутствии управляющего сигнала на
управляющий вход поступает сигнал
"0", при этом сигнал на выходе не
зависит от информационного сигнала
и будет равен нулю. Можно считать,
что в этом случае ключ закрыт, т.е
цепь прохождения информационного
сигнала разомкнута. При поступлении
управ-ляющего сигнала сигнал на
выходе будет совпадать с
В
общем случае блок управления может
иметь несколько режимов
Таким образом, набор и последовательность формирования управляющих сигналов зависят от заданного режима работы блока управления. Кроме того, последовательность управляющих сигналов обычно не является жесткой и заранее заданной, а зависит и от различного вида условий, которые проверяются при работе блока управления. Результат проверки условия зависит от значения исходных данных и промежуточных результатов, обрабатываемых в операционном блоке, поэтому его нельзя предсказать заранее. Результаты проверки условий поступают на блок управления в виде сигналов, называемых признаками. Для блока управления АЛУ, например, такими признаками могут быть знаки чисел, признак равенства результата нулю, признак переполнения разрядной сетки, значение очередного разряда множителя при умножении и т.д.
Физически управляющие сигналы обычно представляют собой импульсы напряжения постоянного тока. Источником таких импульсов является генератор синхронизирующих импульсов (синхроимпульсов), который вырабатывает непрерывную последовательность импульсов, как правило, прямоугольной формы.
Блок
управления можно рассматривать
как преобразователь
Кроме синхроимпульсов на блок управления поступают также код операции (КОп) и признаки (П).
При
синтезе блоков управления могут
быть использованы два варианта. В
первом случае блок управления синтезируется
как единый автомат, который вырабатывает
управляющие сигналы для любой
операции, заданной кодом операции.
Во втором случае блок управления разбивается
на отдельные подблоки, каждый из которых
управляет выполнением только одной
из полного набора операций. Применительно
к арифметико-логическому
2.
Задание
Задание: Разработать алгоритм операции, структурную схему АЛУ и функциональную схему блока управления при следующих исходных данных:
- Тип автомата – автомат Мура;
- Тип операции – умножение чисел с ФТ;
- Тип триггеров – D, JK;
- Тип логических элементов – И-НЕ.
3.
Общая последовательность
умножения чисел с ФТ
При умножении определяется произведение D = А × В, где:
- А – множимое
- В – множитель
- D– произведение
Перед выполнением операции числа записаны в оперативной памяти в прямом коде. Для выполнения операции числа должны быть считаны из памяти и переданы в АЛУ. В процессе выполнения операции умножения формируется частичное произведение (ЧП), которое накапливается в регистре сумматора.
Кроме
произведения с помощью специальных
схем определяются признаки результата.
4.
Структурная схема АЛУ
Структурная схема АЛУ строится в соответствии с общей последовательностью операции умножения. АЛУ имеет типовую структуру, представленную на следующей схеме:
Для хранения исходных чисел на время выполнения операции в состав АЛУ входит 2 регистра А и В. Для умножения чисел в операционном блоке предусмотрен сумматор. Обычно сумматор выполняется в виде комбинационной схемы, поэтому для фиксации произведения предусмотрен регистр сумматора.
Наконец,
для определения признаков
На
структурной схеме под
6.
Разработка функциональной
схемы блока управления
для D - триггера
6.1
Общая последовательность
разработки
Блок управления представляет собой автомат с памятью. Алгоритм работы блока управления задан в виде микропрограммы. В этом случае разработка блока управления включает следующие этапы:
- Формализация задания.
- Выбор типа автомата.
- Разметка схемы алгоритма.
- Составление таблицы переходов и выходов автомата.
- Кодирование состояний.
- Составление кодированной таблицы переходов и выходов.
- Выбор типа триггеров.
- Преобразование таблицы переходов в таблицу функций возбуждения триггеров.
- Запись функций возбуждения и функций выходов в СДНФ.
- Минимизация функций возбуждения и функций выходов.
- Выбор типа логических элементов.
- Преобразование функций переходов и функций выходов.
- Построение функциональной схемы блока управления.
- Проверка правильности работы блока управления.
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 – число элементов памяти;
- N – число S состояний автомата;
- ↑ – знак округления в большую сторону до целого.
При
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 | |||
| * | * | * | |
| * | * |

- Блок управления для выполнения операций сложения и вычитания в АЛУ
- Блок управления для выполнения операций сложения и вычитания в АЛУ
- Блок управления модулятором добротности твердотельного лазера
- Блок управления стеклоочистителем
- Блок управления стиральной машиной
- Блок усиления мощности нелинейного локатора
- Блок цилиндров
- Блок питания трансформатора Тесла с микроконтроллерным управлением
- Блок – секция 4-этажная 16-квартирная 3-4 рядовая с торцовыми окончаниями
- Блок секция крупнопанельная 9-этажная 18-квартирная торцевая 4Б-3А
- Блок-секция, торцевая левая, 5 этажная, 20-квартирная
- Блок-схема Delphi
- Блок-схема виробництва йогурта резервуарним способом потужністю 8 т на добу
- Блок-схемы