
- •Постановка и анализ технического задания
- •1.1 Постановка задачи
- •1.2 Словесное описание используемого алгоритма
- •Числовые примеры
- •1.3.1 Пример 1. Штатная ситуация
- •1.3.2 Пример 2. Умножение положительного числа на отрицательное
- •1.3.3 Пример 3. Умножение отрицательного числа на отрицательное
- •1.3.4 Пример 4. Умножение на 0
- •Разработка операционной части автомата
- •2.1 Выбор функциональной схемы операционной части устройства и определение списка микроопераций и логических условий
- •2.1.1 Описание операционного автомата
- •2.1.2 Управляющие и осведомительные сигналы
- •2.2 Разработка содержательной граф-схемы алгоритма
- •2.3 Синтез фс оа
- •Разработка управляющей части автомата
- •3.1 Построение отмеченной граф-схемы алгоритма
- •3.2 Построение графа автомата Мили и выбор структурной схемы управляющего автомата
- •3.3 Сравнения кодирования внутренних состояний для модели Мили на разных элементах памяти
- •3.3.1 Кодирование внутренних состояний для модели Мили на d-триггерах
- •3.3.2 Кодирование внутренних состояний для модели Мили на счётчике
- •3.4 Разработка функциональной схемы управляющего автомата
- •Заключение
- •Перечень сокращений
- •Список литературы
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное учреждение высшего образования
«ВЯТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСТИТЕТ»
(ФГБОУ ВО «ВятГУ»)
Факультет автоматики и вычислительной техники
Кафедра электронных вычислительных машин
Допущено к защите
Руководитель проекта
_________ / Мельцов В. Ю./
«___» ___________2025г.
Синтез микропрограммного управляющего автомата
Пояснительная записка курсового проекта по дисциплине
«Комплекс знаний бакалавра»
ТПЖА.090301.478 ПЗ
Разработал студент группы ИВТ-3301 ________________/Казаков М. Е./
Руководитель ________________/ Мельцов В. Ю./
Консультант _________________/ Мельцов В. Ю./
Проект защищен с оценкой «____________» _______________
(оценка) (дата)
Члены комиссии ____________/____________/
(подпись) (ФИО)
____________/____________/
(подпись) (ФИО)
____________/____________/
(подпись) (ФИО)
Киров 2025
Реферат
Казаков М.Е. Синтез микропрограммного управляющего автомата. ТПЖА.090301.478 ПЗ: Курс. проект / ВятГУ, каф. ЭВМ; рук. Мельцов В. Ю. - Киров, 2025. – ПЗ 66 с., 9 рис., 10 табл., 5 источников, 3 прил.
СИНТЕЗ АВТОМАТА, МИКРОПРОГРАММНЫЙ АВТОМАТ, УМНОЖЕНИЕ, ФИКСИРОВАННАЯ ЗАПЯТАЯ, ПРОСТАЯ КОРРЕКЦИЯ, УПРАВЛЯЮЩИЙ АВТОМАТ, ОПЕРАЦИОННЫЙ АВТОМАТ
Объект курсового проекта – микропрограммный автомат выполняющий умножение чисел в двоичной системе счисления с фиксированной запятой.
Цель курсового проекта – получить навыки синтеза микропрограммного автомата с учётом минимальных аппаратурных затрат и с приемлемым быстродействием.
Результатом выполнения курсового проекта является автомат с жёсткой логикой, который позволяет выполнять умножение чисел в двоичной системе счисления, в формате с фиксированной запятой, I способом, в дополнительном коде с простой коррекцией.
Оглавление
1.1 Постановка задачи 5
1.2 Словесное описание используемого алгоритма 5
Числовые примеры 6
1.3.1 Пример 1. Штатная ситуация 6
1.3.2 Пример 2. Умножение положительного числа на отрицательное 7
1.3.3 Пример 3. Умножение отрицательного числа на отрицательное 10
1.3.4 Пример 4. Умножение на 0 11
1. Разработка операционной части автомата 12
2.1.1 Описание операционного автомата 14
2.1.2 Управляющие и осведомительные сигналы 15
2.2 Разработка содержательной граф-схемы алгоритма 17
2.3 Синтез ФС ОА 20
2. Разработка управляющей части автомата 21
3.1 Построение отмеченной граф-схемы алгоритма 21
3.2 Построение графа автомата Мили и выбор структурной схемы управляющего автомата 25
3.3 Сравнения кодирования внутренних состояний для модели Мили на разных элементах памяти 26
3.4 Разработка функциональной схемы управляющего автомата 36
Заключение 38
Перечень сокращений 39
Список литературы 40
Приложение А 41
Приложение Б 42
Приложение В 44
Приложение Г 47
С каждым годом объемы вычислений возрастают и их все сложнее обрабатывать вручную, поэтому ведутся работы по созданию и применению различных автоматизированных систем для обработки информации. Такие автоматы реализуются в виде самостоятельных устройств или в виде блоков, входящих в системы управления и системы обработки информации. При этом работа ведется с математическими моделями, предназначенными для приближенного отображения физических моделей.
Основной целью данного курсового проекта является получение навыков синтеза управляющего автомата на основе разработки машинных алгоритмов одной из заданных арифметических операций. Основным требованием является минимизация аппаратурных затрат как управляющего, так и операционного автомата при приемлемом быстродействии.
Постановка и анализ технического задания
Проанализируем поставленное задание и разберём алгоритм работы автомата умножения.
1.1 Постановка задачи
Синтезировать автомат на жесткой логике, управляющий выполнением умножением чисел в двоичной системе счисления с фиксированной запятой в дополнительном коде с простой коррекцией первым способом, в основном логическом базисе.
1.2 Словесное описание используемого алгоритма
Принять множимое и его знак. Установить CT в 000010.
Проверить множимое на равенство “0”, если “0”, то сформировать рез-т “0”, перейти в 11, иначе перейти в 3.
Принять множитель и его знак.
Проверить множитель на равенство “0”, если “0”, то сформировать рез-т “0”, перейти в 11, иначе перейти в 5
Определение знака произведения: Сложить по модулю два знаковых разряда сомножителей, перейти в 6.
Проанализировать младший разряд множителя.
Если цифра «1», то прибавить множимое к СЧП и перейти к п.7.
Иначе, перейти к п.7.
Сдвинуть множитель и СЧП на 1 разряд вправо и перейти к п.8.
Увеличить счётчик на 1. проанализировать счетчик: если CT = 100000, то перейти к п.9, иначе перейти к п.6.
Проверить необходимость коррекции
Если оба сомножителя положительны, то перейти в 10.
Если множимое отрицательно, то вычесть множитель из СЧП и перейти в 10.
Если множитель отрицателен, то вычесть множимое из СЧП и перейти в 10.
если оба сомножителя отрицательны, то вычесть множимое и множитель из СЧП и перейти в 10
Присвоить псевдопроизведению знак из п.5.
Выдать результат.
Останов операции.
Числовые примеры
1.3.1 Пример 1. Штатная ситуация
Исходные данные:
C = 710 = 0,0111*242
D = 510 = 0,0101*242
Определим знак результата 0⊕0 = 0
Множимое и множитель не равны «0»
Умножаем 1 способом
Таблица 1 – перемножение операндов 1 пример
Множитель |
Множимое |
СЧП |
Прим. |
0,0101 |
0,0111 |
0,0000 0000 |
Исходные данные |
0,0101 |
0,0111 |
0,0000 0000 0,0111 0000 0,0111 0000 |
+М |
0,0010 |
0,0111 |
0,0011 1000 |
Сдвиги |
0,0010 |
0,0111 |
0,0011 1000 |
|
0,0001 |
0,0111 |
0,0001 1100 |
Сдвиги |
0,0001 |
0,0111 |
0,0001 1100 0,0111 0000 0,1000 1100 |
+М |
0,0000 |
0,0111 |
0,0100 0110 |
Сдвиги |
0,0000 |
0,0111 |
0,0100 0110 |
- |
0,0000 |
0,0111 |
0,0010 0011 |
Сдвиги |
0,0000 |
0,0111 |
0,0010 0011 |
Рез-т |
Оба сомножителя положительны, коррекция не требуется
Производим отсечение младших разрядов:
0,0010 0011
0, 0010
Проверка: C*D = 0,0010* 282 = 32 C*D = 7 * 5 = 35
Абсолютная погрешность: ∆ = |32 – 35| = 3
Относительная погрешность: δ = (3/35) * 100 = 8,6%