Смекни!
smekni.com

Синтез микропрограммного управляющего автомата (стр. 1 из 7)

Министерство общего и профессионального образования РФ

Вятский государственный технический университет

Факультет автоматики и вычислительной техники

Кафедра электронных вычислительных машин

ДОПУСКАЮ К ЗАЩИТЕ

Руководитель работы _______ О.А. Залетов

СИНТЕЗ МИКРОПРОГРАММНОГО

УПРАВЛЯЮЩЕГО АВТОМАТА

Пояснительная записка

курсовой работы

по теории автоматов

ТПЖА.220100.22.29 ПЗ

Разработал студент гр. ВМ-22 ( _______ ) Р.В. Гонта

Проверил преподаватель кафедры ЭВМ ( _______ ) О.А. Залетов

Нормоконтролер ( _______ ) В.Ю. Мельцов

Председатель комиссии ( _______ ) В.Д. Матвеев

Члены комиссии ( _______ ) В.Ю. Мельцов

Работа защищена с оценкой ( _______ )

1999


Содержание

Введение
1 Постановка задачи
2 Описание используемого алгоритма умножения2.1 Алгоритм умножения чисел в форме с ПЗ с простой коррекцией2.2 Алгоритм умножения первым способом3 Ручной подсчет4Выбор и описание структурной схемы ОА5 Реализация содержательной ГСА6 Построение отмеченной ГСА7 Синтез МПА в соответствии с моделью Мили7.1 Построение графа автомата7.2 Построение прямой структурной таблицы переходов и выходов7.3 Кодирование на D-триггерах7.4 Получение логических выражений для функций возбуждения D-триггеров и функций выходов7.5 Кодирование на RS-триггерах7.6 Получение логических выражений для функций возбуждения RS-триггеров7.7 Кодирование на T-триггерах7.8 Получение логических выражений для функций возбуждения T-триггеров7.9 Кодирование на счетчике7.10 Получение уравнений для счетчика8 Синтез МПА в соответствии с моделью Мура8.1 Построение графа автомата8.2 Построение прямой структурной таблицы переходов и выходов8.3 Кодирование на D-триггерах8.4 Получение логических выражений для функций возбуждения D-триггеров и функцийвыходов8.5 Кодирование на RS- триггерах8.6 Получение логических выражений для функций возбуждения RS- триггеров и функций выходов9 Построение функциональной схемы микропрограммного управляющего автоматаЗаключениеБиблиографический списокПеречень сокращений
УДК 681.3

Реферат

Гонта Р.В. Синтез микропрограммного управляющего автомата. Курсовая работа / ВятГТУ, каф. ЭВМ, рук. О.А. Залетов – Киров, 1999. Гр. ч. 3 л. ф. А2

ОПЕРАЦИОННЫЙ АВТОМАТ, МИКРОПРОГРАММНЫЙ УПРАВЛЯЮЩИЙ АВТОМАТ , ГРАФ-СХЕМА АЛГОРИТМА, ГРАФ, ФУНКЦИОНАЛЬНАЯ СХЕМА, МОДЕЛЬ МИЛИ, МОДЕЛЬ МУРА

Цель работы — синтезировать микропрограммный автомат, управляющий операцией умножения чисел в форме с плавающей запятой и характеристикой в дополнительном коде первым способом с простой коррекцией.

Результатом работы является создание функциональной схемы микропрограммного управляющего автомата.


Введение

Потребность в вычислениях возникла у людей на самых ранних стадиях развития человеческого общества. Причем с самого начала для облегчения счета люди использовали различные приспособления. Многие из них были весьма интересными и остроумными по принципу действия, но все они обязательно требовали, чтобы в процессе вычислений активно участвовал человек-оператор. Качественно новый этап развития вычислительной техники наступил с изобретением и созданием электронных вычислительных машин, которые работают автоматически, без участия человека, в соответствии с заранее заданной программой. Появление таких машин вызвано объективными условиями современного развития науки, техники и народного хозяйства. Во многих областях человеческой деятельности уже в середине ХХ века объем и сложность вычислительных работ настолько возросли, что решение некоторых задач без применения вычислительной техники было бы практически не возможным. В настоящее время электронные вычислительные машины применяются во многих областях науки, техники и народного хозяйства. В основном они используются: для решения сложных математических и инженерных задач, в качестве управляющих машин в промышленности и военной технике, в сфере обработки информации.


1 Постановка задачи

Требуется разработать МПА, управляющий операцией умножения двоичных чисел в форме с плавающей запятой и характеристикой в дополнительном коде первым способом с простой коррекцией.

Функциональную схему устройства построить в основном логическом базисе. Операнды разрядностью 4 байта (тридцать два разряда) поступают по входной шине (ШИВх)в дополнительном коде (ДК), результат также в ДК выводится по выходной шине (ШИВых). В младших 24 разрядах операнда хранится мантисса со знаком, а в следующих 8 разрядах - характеристика.


2 Описание используемого алгоритма умножения

Процесс умножения состоит из последовательности операций сложения и сдвигов.

2.1 Алгоритм умножения чисел в форме с ПЗ с простой коррекцией

1. Определить знак произведения сложением по модулю два знаковых разрядов сомножителей.

2. Перемножить модули мантисс сомножителей по правилам с ФЗ:

2.1. Выполнить коррекцию, если хотя бы один из сомножителей отрицательный по правилу введения коррекции.

Правила введения коррекции при умножении чисел в ДК:

- Если сомножители положительны, коррекции нет.

- Если один из сомножителей отрицателен, к псевдопроизведению надо прибавить ДК от модуля положительного сомножителя.

- Если оба сомножителя отрицательны, к псевдопроизведению надо прибавить ДК от модулей дополнительных кодов обоих сомножителей, то есть их прямые коды.

2.2. Перемножить модули сомножителей, представленных в ДК, одним из четырех способов получить псевдопроизведение.

3. Определить характеристику произведения алгебраическим сложением характеристик сомножителей.

4. Нормализовать мантиссу результата и выполнить округление если необходимо.

2.2 Алгоритм умножения первым способом

Умножение с младших разрядов множителя со сдвигом частных сумм вправо.

В каждом такте цикла умножения первым способом необходимо:

2.1 Сложить множимое с предыдущей частной суммой, если очередной разряд множителя равен 1, и результат (новую частную сумму) запомнить; в случае если очередной разряд множителя равен 0 суммирование не выполнять;

2.2 Уменьшить вдвое частную сумму, что равносильно сдвигу ее на один разряд вправо.


3 Ручной подсчет

Выполним ручной подсчет в соответствии с выше указанным алгоритмом.

В качестве множителя возьмём число 9, а в качестве множимого 13.

3.1 Сомножители положительные (A>0, B>0)

A = 9 = 10012, Апк = 0,1001, Адк = 0,1001

B = 13= 11012, Впк = 0,1101, Вдк = 0,1101

3.1.1 Определим знак произведения:0 + 0 = 0

3.1.2 Перемножим модули сомножителей:

Таблица 1

Множимое Множитель Сумматор Пояснения
0,1101 0,1001

0,00000000

0,11010000

0,11010000

Сложение
0,01101000 Сдвиг
0,0100 0,00110100 Сдвиг
0,0010 0,00011010 Сдвиг
0,0001

0,00011010

0,11010000

0,11101010

Сложение
0,01110101 Сдвиг

Получили псевдопроизведение: 0,01110101

3.1.3 Коррекция не нужна, так как оба множителя положительные.

3.1.4 Присвоение произведению знака:

(A*B)дк=0,01110101

(A*B)пк=0,01110101

A*B = (9)*(13) = 117 = 11101012

3.2 Сомножители разных знаков (А<0, B>0)

A =-9=-10012, Апк = 1,1001, Адк = 1,0111

B =13= 11012, Впк = 0,1101, Вдк = 0,1101

3.2.1 Определим знак произведения: 1 + 0 = 1

3.2.2 Перемножим модули сомножителей:


Таблица 2

Множимое Множитель Сумматор Пояснения
0,1101 0,0111

0,00000000

0,11010000

0,11010000

Сложение
0,01101000 Сдвиг
0,0011

0,01101000

0,11010000

1,00111000

Сложение
0,10011100 Сдвиг
0,0001

0,10011100

0,11010000

1,01101100

Сложение
0,10110110 Сдвиг
0,0000 0,01011011 Сдвиг

Получили псевдопроизведение: 0,01011011

3.2.3 Произведём коррекцию (прибавим к псевдопроизведению Вдк):

0,01011011

Вдк= 0,00110000

0,10001011

3.2.4 Присвоение произведению знака:

(A*B)дк=1,10001011

(A*B)пк=1,01110101

A*B = (-9)*(13) = -117 = -11101012

3.3 Сомножители разных знаков (А>0, B<0)

A =9 = 10012, Апк = 0,1001, Адк = 0,1001

B =-13= -11012, Впк = 1,1101, Вдк = 1,0011

3.3.1 Определим знак произведения: 0 + 1 = 1

3.3.2 Перемножим модули сомножителей:

Таблица 3

Множимое Множитель Сумматор Пояснения
0,0011 0,1001

0,00000000

0,00110000

0,00110000

Сложение
0,00011000 Сдвиг
0,0100 0,00001100 Сдвиг
0,0010 0,00000110 Сдвиг
0,0001

0,00000110

0,00110000

0,00110110

Сложение
0,00011011 Сдвиг

Получили псевдопроизведение: 0,00011011

3.3.3 Произведём коррекцию (прибавим к псевдопроизведению Aдк):

0,00011011

Адк= 0,01110000

0,10001011

3.3.4 Присвоение произведению знака:

(A*B)дк=1,10001011

(A*B)пк=1,01110101

A*B = (9)*(-13) = -117 = -11101012

3.4 Сомножители отрицательные (A<0, B<0)

A = -9= -10012, Апк = 1,1001, Адк = 1,0111

B =-13=-11012, Впк = 1,1101, Вдк = 0,0011

3.4.1 Определим знак произведения:1 + 1 = 0