Курсовик ТА готовый, страница 2
Описание файла
Документ из архива "Курсовик ТА готовый", который расположен в категории "". Всё это находится в предмете "теория автоматов" из 4 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "теория автоматов" в общих файлах.
Онлайн просмотр документа "Курсовик ТА готовый"
Текст 2 страницы из документа "Курсовик ТА готовый"
Таблица Микрокоманд | |||||||
M | Описание | Y1 | Y2 | Y3 | Y4 | Z | F |
M0 | Начальное состояние | 0 | 0 | 0 | 0 | X | 0 |
M1 | Запись 1 операции | 1 | 0 | 0 | 0 | 0 | 0 |
M2 | Запись 2 операции | 1 | 0 | 0 | 0 | 1 | 0 |
M3 | Сложение 1 операции | 0 | 1 | 0 | 0 | 0 | 0 |
M4 | Вычетание 1 операции | 0 | 1 | 0 | 1 | 0 | 0 |
M5 | Сложение 2 операции | 0 | 1 | 0 | 0 | 1 | 0 |
M6 | Вычетание 2 операции | 0 | 1 | 0 | 1 | 1 | 0 |
M7 | Ответ 1 операции | 0 | 0 | 0 | 0 | 0 | 1 |
M8 | Ответ 2 операции | 0 | 0 | 0 | 0 | 1 | 1 |
M9 | Переход 1 операции | 0 | 0 | 0 | 0 | 0 | 1 |
M10 | Переход 2 операции | 0 | 0 | 0 | 0 | 1 | 1 |
Разработка Управляющего Автомата
-
Мультиплексор на входе используется для выбора сигнала q из возможных вариантов, руководствуясь адресом, идущим из ROM. На него подаются управляющие сигналы К, Д, N и сигнал e, идущий из ROM.
-
RG используется для хранения текущего состояния управляющего автомата.
-
В памяти ROM хранятся микрокоманды, содержащие управляющие сигналы (Y), адрес для выбора входного сигнала (H), первую часть следующего адреса (S) и сигнал (e), использующийся при безусловном переходе. Кроме того сигналы Z и F, управляющие выводом информации (Z: 0 – 1 операция, 1 – вторая операция; F = 1 подать ответ на вход).
-
Следующий адрес формируется из сигналов, приходящих по шине S и входного сигнала q (младший разряд), идущего из мультиплексора входных сигналов.
-
Так как управляющий автомат должен быть автоматом Мура, его выходные сигналы должны иметь задержку в 1 такт к входным сигналам. Для этого используется регистр состояний, отделяющий ROM от входных сигналов.
Функциональная схема Управляющего Автомата
Описание работы автомата
Свою работу управляющий автомат начинает в состоянии 0000 (начальное состояние). Из него возможны переходы в 0001q, где на q поступает сигнал К (код операции). Если К = 0, то переход в 0010 (запись 1 операции), если К = 1, то в 0011 (запись 2 операции). В это время надо подать на входную шину число А, и управляющий сигнал на запись RG_A. Дальше происходит переход из 0010 в 010q, где q – Д, или из 0011 в 110q, где q – Д. Переход возможен в состояния 0100, 0101, 1100, 1101. В это время надо подать число В на входную шину и управляющий сигнал на запись в RG_B, если операция вычитание (0101, 1101, Д =1), то нужно подать сигнал на изменение знака числа В. Поскольку операционные автоматы однотактные, ответ уже готов. Дальше происходит безусловный переход в 1000 или 1110 (ответ 1 и 2 операции) (100q, 111q, где q – e), в это время подается сигнал F – вывод ответа и сигнал Z определяет с какой операции; и потом переход в состояния 1001 и 1111 (100q, 111q, где q – N), если N = 1, и остаемся в тех же состояниях пока N = 1, (сигнал N – начало новой операции). Состояния 1001 и 1111 – переход в начальное состояние. (Переход из 1000 и 1110 в 0000 невозможен, тек как у 1000 не может быть альтернатив 1000 (остаться) и 0000 (в начало), потому что отличаться может только младший разряд. Поэтому используется переход в промежуточное состояние 1001, так как альтернатива перехода из 1000 в 1000 и 1001 возможна).
Схема взаимодействия автоматов
-
Действие вычислительного устройства, представленного композицией управляющего и операционного автоматов основано на том, что от операционного автомата к управляющему поступают признаки или условия, а от управляющего к операционному поступают управляющие сигналы. На управляющий автомат поступают коды операций. На операционный автомат поступают входные данные и выходят выходные данные. Также с управляющего автоматы могут идти некоторые выходные сигналы.
-
По условию количество входных и выходных контактов должно быть ≤ 40. Поэтому придётся использовать шину входных сигналов для передачи также и выходных сигналов.
Разработка Управляющего Автомата
-
Так как управляющие сигналы одинаковы для обоих операционных автоматов, их можно посылать и на первый и на второй автомат. Операционные автоматы не имеют условий.
-
Входная шина используется также и как выходная. По ней будут поступать входные данный на входы операционных автоматов, и на неё же будут поступать выходные данные с выходов операционных автоматов.
-
С управляющего автомата выходит сигнал Z, показывающий, какая операция выполнялась, мультиплексор MX1 выбирает операционный автомат, данные с которого нужно пропустить на выход в соответствии с этим флагом.
-
Управляющий сигнал F разрешает подачу выходных данных на входную шину. Мультиплексор MX2 пропускает выходные данные в соответствии с управляющим сигналом F.
-
Числа А и В подаются по одной и той же шине на операционные автоматы.
-
Выходы Р1 и Р2 это переносы из знакового разряда, выводящие информацию о переполнении.
Описание вычислительного устройства
Композиция автоматов, получившаяся при соединении, представляет из себя вычислительное устройство, способное выполнять требуемые операции.
Управление работой вычислительным устройством происходит по входам K, Д, N, на которые подаются код операции, код действия и сигнал новой операции. Выбор выполняемой операции и действия производится в соответствии с кодами операции и действия, поданными на управляющие входы. На входную/выходную шину нужно подавать число А на такте записи, число В на такте действия, и снимать число С на тактах готового ответа.
Операционные автоматы однотактные, что в 32 и 8 раз увеличивает скорость работы автомата по сравнению с многотактными вариантами, но требуют гораздо больше затрат оборудования.
Количество проводов в шине 32, что соответствует разрядности обрабатываемых чисел. Десятичное число, записанное с использованием тетрад, имеет разрядность 8. Количество управляющих входов 2. Суммарное количество всех контактов 34.
Тестовые примеры
Пример № 1
Задача: сложить числа 0,1001 и 0,0011.
Число А (32 разряда) | Число В (32 разряда) |
00000000000000000000000000001001 | 00000000000000000000000000000011 |
Для переключения вычислительного устройства в режим выполнения первой операции подаем на управляющий вход К = 0, подаём число А на входную шину, оно записывается на первый регистр.
В следующем такте подаём число В на входную шину, оно записывается на второй регистр.
После этого происходит однотактное сложение, в следующем такте устройство управления переходит в режим ответа, подаёт сигнал F – подать на вход, и число А+В выводится на входную шину:
Число А+В |
00000000000000000000000000000011 |
Пример № 2
Задача: Вычесть числа 0,11001101 и 0,10110101.
Число А (32 разряда) | Число В (32 разряда) |
00000000000000000000000011001101 | 00000000000000000000000010110101 |
Для переключения вычислительного устройства в режим выполнения первой операции подаем на управляющий вход К = 0, подаём число А на входную шину, оно записывается на первый регистр.
В следующем такте подаём число В на входную шину, оно записывается на второй регистр.
Поскольку происходит вычитание, число В должно изменить знак (перевод дополнительный код).
(0,00…0010110101 >>> 1,11…1101001011)
После этого происходит однотактное сложение, в следующем такте устройство управления переходит в режим ответа, подаёт сигнал F – подать на вход, и число А-В выводится на входную шину:
Число А-В |
00000000000000000000000000011000 |
Пример № 3
Задача: вычесть числа 14 и 6.
Число А (32(8) разряда) | Число В (32(8) разряда) |
0000 0000 0000 0000 0000 0000 0010 0100 | 0000 0000 0000 0000 0000 0000 0000 0110 |
Для переключения вычислительного устройства в режим выполнения второй операции подаем на управляющий вход К = 1, подаём число А на входную шину, оно записывается на первый регистр.
В следующем такте подаём число В на входную шину, оно записывается на второй регистр.
Поскольку происходит вычитание, число В должно изменить знак (код 8421).
Число В инвертируется и потетрадно прибавляется 1010 (10).
0000 0000 0000 0000 0000 0000 00000 0110 >>> 1001 1001 1001 1001 1001 1001 1001 0011
После этого к первому числу прибавляется 6, происходит сложение, прибавление переноса из знакового разряда к младшей тетраде и вычитание 6 из тетрад, в которых не было переноса. В следующем такте устройство управления переходит в режим ответа, подаёт сигнал F – подать на вход, и число А-В выводится на входную шину:
Число А-В (32(8) разряда) |
0000 0000 0000 0000 0000 0000 0000 1000 |
Пример № 4
Задача: сложить числа 98697 и 5487.
Число А (32(8) разряда) | Число В (32(8) разряда) |
0000 0000 0000 1001 1000 0110 1001 0111 | 0000 0000 0000 0000 0101 0100 1000 0111 |
Для переключения вычислительного устройства в режим выполнения второй операции подаем на управляющий вход К = 1, подаём число А на входную шину, оно записывается на первый регистр.
В следующем такте подаём число В на входную шину, оно записывается на второй регистр.
Поскольку происходит сложение, число В не меняет знак.
После этого к первому числу прибавляется 6, происходит сложение, прибавление переноса из знакового разряда к младшей тетраде и вычитание 6 из тетрад, в которых не было переноса. В следующем такте устройство управления переходит в режим ответа, подаёт сигнал F – подать на вход, и число А-В выводится на входную шину:
Число А-В (32(8) разряда) |
0000 0000 0001 0000 0100 0001 1000 0100 (104184) |
Пример № 5