Курсовик ТА готовый
Описание файла
Документ из архива "Курсовик ТА готовый", который расположен в категории "". Всё это находится в предмете "теория автоматов" из 4 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "теория автоматов" в общих файлах.
Онлайн просмотр документа "Курсовик ТА готовый"
Текст из документа "Курсовик ТА готовый"
Министерство Образования Российской Федерации
Московский Государственный Институт Радиотехники Электроники и Автоматики (Технический Университет)
Студент: Ленский Владимир Михайлович
Группа: ВВ-62-02
Шифр: 021115
Курсовой проект по Теории Автоматов
Москва 2004 год.
ФИО: Ленский Владимир Михайлович
Группа/Шифр: ВВ-62-02/.
Разработать вычислительное устройство, состоящее из двух взаимосвязанных частей: операционного и управляющего автоматов и выполняющее следующие операции:
-
Сложение и вычитание целых чисел в дополнительном коде.
-
Сложение и вычитание десятичных чисел со знаком.
УА. Схема с частичной записью адреса, последовательный вариант.
Числа 32 разрядные.
Суммарное число входных и выходных контактов ≤ 40.
Должны быть разработаны и представлены:
-
Интерфейс разрабатываемого устройства.
-
Математические обоснования используемых алгоритмов.
-
Тестовые примеры.
-
Микропрограммы в содержательном виде.
-
Таблицы заполнения управляющей памяти.
-
Функциональные схемы операционного и управляющего автоматов.
Функциональные схемы разрабатываются с использованием многоразрядных канонических мультиплексоров, дешифраторов, сумматоров, регистров, счётчиков, ПЗУ с чётким указанием информационных, управляющих и синхронизирующих входов.
Вычислительное устройство должно состоять из трёх частей: операционный автомат, реализующий первую операцию, операционный автомат, реализующий вторую операцию и управляющий автомат, обрабатывающий сигналы операционных автоматов, вырабатывающий управляющие сигналы и организующий ввод и вывод информации.
Разработку вычислительного устройства можно разбить на четыре этапа:
-
Разработка первого операционного автомата.
-
Разработка второго операционного автомата.
-
Разработка управляющего автомата.
-
Разработка схемы взаимодействия первых трёх автоматов.
Интерфейс разрабатываемого устройства
Операционный автомат № 1
Первый операционный автомат должен реализовывать сложение и вычитание целых чисел в дополнительном коде.
Числа 32 разрядные. Первый разряд знаковый. Для выполнения арифметической операчии сложения должна быть предусмотрена возможность изменения знака обоих чисел.
Алгоритм сложения:
-
Если требуется, смена знака первого числа.
-
Если требуется, смена знака второго числа.
-
Сложение чисел на сумматоре.
-
Перевод мантиссы в дополнительный код.
Блок-схема преобразования:
Разработка функциональной схемы
-
Регистры А и В используются для записи исходных чисел.
-
Инвертор и инкрементор переводят число А в дополнительный код из прямого (в прямой из дополнительного, смена знака). Мультиплексор МХ1 выбирает в соответствии с управляющим сигналом Y1 пропускать число А с изменением знака или без.
-
Изменение знака числа В можно реализовать прямо на сумматоре, используя сложение по модулю 2 для инверсии всех разрядов числа если есть единица на Y2. Этот же сигнал идёт на вход Carry сумматора для реализации изменения знака.
-
Управляющие сигналы Y3 и Y4 разрешают запись на RG_A и RG_B, пропуская к ним синхросигнал.
Управляющие сигналы:
Y1 – изменение знака числа А (0 – нет, 1 – да)
Y2 – изменение знака числа В (0 – нет, 1 – да)
Y3 – разрешение на запись в RG_A (0 – нет, 1 – да)
Y4 – разрешение на запись в RG_B (0 – нет, 1 – да)
Описание работы автомата
Перед началом сложения необходимо записать в регистры оба числа. В зависимости от управляющих сигналов Y1, Y2 меняются знаки чисел, после чего происходит сложение на сумматоре.
Заметка:
-
При вычитании двоичных чисел, используя сложение числа в прямом коде с числом в дополнительном коде перенос из старшего разряда суммы отбрасывается.
-
При сложении двух чисел в прямом коде или двух чисел в дополнительном коде он может стать знаковым разрядом при переполнении. Если переполнения не было, он отбрасывается.
Операционный автомат № 2
Второй операционный автомат должен реализовывать сложение и вычитание десятичных чисел со знаком. Для работы с десятичными числами используем код 8421.
Алгоритм сложения (8421):
-
К одному из чисел потетрадно прибавляем 0110 (6), переносов быть не должно.
-
Выполняем обычное сложение с межтетрадными переносами.
-
Перенос из старшей (знаковой) тетрады при сложении прибавляем к младшей тетраде.
-
Тетрады, из которых не было переносов, корректируем вычитанием 0110 (6).
Алгоритм смены знака (8421):
-
Отрицательные числа кодируются как дополнение тетрад до 1001 (9).
-
Таким образом –А = 1001 (9) – А (А – тетрада).
-
Или, используя дополнительный код –А = A’ + 1010 (10) (А’ – инверсия А)
-
При сложении не использовать перенос в старшие тетрады.
Алгоритм вычитания (8421):
-
Изменения знака вычитаемого числа.
-
Сложение.
-
Возможно сложение двух отрицательных чисел.
Составим блок-схему преобразования:
Разработка функциональной схемы
-
Регистры А и В используются для записи исходных чисел.
-
Элемент –Х используется для изменения знака одной тетрады числа. Он инвертирует входной сигнал и прибавляет 1010 (10). Для изменения знака всего числа нужно расположить его на каждой тетраде. Мультиплексор МХ выбирает в соответствии с управляющими сигналами Y1, Y2 пропускать числа А, В с изменением знака или без.
-
Элемент ±6 прибавляет или вычитает 0110 (6) из тетрады без переносов в старшие тетрады. Вход Р определяет будет ли сложение или вычитание (1 – вычитание, 0 – сложение). Для прибавления 0110 (6) ко всем тетрадам необходимо разместить этот элемент на каждой тетраде.
-
Элемент SUM10 выполняет несколько функций. Первый сумматор, при соединении элементов в каскад, выполняет обычное сложение (нельзя использовать обычный сумматор, потому что у него не выводятся единицы переноса между разрядами). Результат идёт на второй сумматор, который прибавляет единицу переноса (если она есть) из старшего знакового разряда первого каскада к младшей тетраде второго каскада (нельзя использовать обычный инкрементор, потому что у него не выводятся единицы переноса между разрядами). Третья часть элемента находит те разряды, в которых ни в первом, ни во втором каскаде не было переноса, и корректирует их вычитанием 0110 (6), используя элемент ±6 для вычитания и мультиплексор для выбора пропускать тетраду с вычитанием или без. Для нормального функционирования эти элементы должны быть соединены так, чтобы образовались каскады обоих сумматоров, и перенос из старшего знакового разряда первого каскада был подан на вход второго каскада.
Управляющие сигналы:
Y1 – изменение знака числа А (0 – нет, 1 – да)
Y2 – изменение знака числа В (0 – нет, 1 – да)
Y3 – разрешение на запись в RG_A (0 – нет, 1 – да)
Y4 – разрешение на запись в RG_B (0 – нет, 1 – да)
Описание работы автомата
Перед началом сложения необходимо записать в регистры оба числа. В зависимости от управляющих сигналов Y1, Y2 меняются знаки чисел, после чего происходит сложение.
Заметка:
-
При сложении двух положительных или двух отрицательных чисел при переполнении знаковый разряд будет потерян. Для его восстановления можно использовать эту логическую схему:
-
На неё подаются старшие разряды старших тетрад обоих чисел (после изменения знаков), и схема создаст ещё одну дополнительную тетраду, содержащую 1001 при сложении двух отрицательных чисел и 0000 при сложении двух положительных.
Управляющий автомат
По условию должен быть управляющий автомат с частичной записью адреса, последовательный вариант. При этом способе адресации альтернативные адреса отличаются только одним разрядом (в данном варианте - младшим), формируемым входным сигналом. Остальные разряды адреса указываются вместе с микрокомандой в одной и той же микроинструкции. При безусловном переходе в данном варианте схемы младший разряд также указывается в микроинструкции.
Следовательно нужно использовать схему, содержащую регистр состояний, мультиплексор входных сигналов и ROM микрокоманд.
В операционных автоматах отсутствуют признаки. Работой управляющего автомата должны управлять входные сигналы.
К – код операции (0 – операция 1, 1 – операция 2)
Д – действие (0 – сложение, 1 – вычитание)
N – начать новую операцию (на стадии ответа)
Заполнение памяти ROM | |||||
S’q’ | Y | S | H | e | Описание |
0000 | M0 | 001 | 01 | X | Начальное состояние |
0010 | M1 | 010 | 10 | X | Запись первой операции |
0011 | M2 | 110 | 10 | X | Запись второй операции |
0100 | M3 | 100 | 00 | 0 | Сложение первой операции |
0101 | M4 | 100 | 00 | 0 | Вычитание первой операции |
1100 | M5 | 111 | 00 | 0 | Сложение второй операции |
1101 | M6 | 111 | 00 | 0 | Вычитание второй операции |
1000 | M7 | 100 | 11 | X | Ответ первой операции |
1110 | M8 | 111 | 11 | X | Ответ второй операции |
1001 | M9 | 000 | 00 | 0 | Переход первой операции |
1111 | M10 | 000 | 00 | 0 | Переход второй операции |