Автор работы: Пользователь скрыл имя, 03 Марта 2013 в 20:26, курсовая работа
Шаг 1. Заносим в РгА значение первого слагаемого отводя 2 разряда под знак. В РгВ-значение второго слагаемого отводя 2 разряда под знак. Инициализируем сумматор нулем. Инициализируем счетчик четверкой.
Шаг 2. Суммируем старшие четыре разряда регистров РгА и РгВ и младшие 5 разрядов сумматора, результат заносим в младшие 5 разрядов сумматора. Уменьшаем содержимое счетчика на 1.
Министерство образования РФ
Уфимский Государственный
Кафедра Вычислительной Техники и Защиты Информации
ТЕОРИЯ АВТОМАТОВ
КУРСОВАЯ
Выполнил: ст. гр. ВМ-311
Герон С. В.
Проверил: д. т. н. Фрид А. С.
Г. Уфа 2001 г.
Задание
Разработать алгоритм сложения в коде 8421 в обратном коде в формате с фиксированной запятой:
разрядность операндов n = 17;
математическая модель – автомат Мура;
элементный базис “И – НЕ”;
минимизацию комбинационной схемы
производить аналитическим
в качестве элементов памяти использовать D – триггер;
Раздел 1
Разработка машинного
Построение алгоритма выполнени
Шаг 1. Заносим в РгА значение первого слагаемого отводя 2 разряда под знак. В РгВ-значение второго слагаемого отводя 2 разряда под знак. Инициализируем сумматор нулем. Инициализируем счетчик четверкой.
Шаг 2. Суммируем старшие четыре разряда регистров РгА и РгВ и младшие 5 разрядов сумматора, результат заносим в младшие 5 разрядов сумматора. Уменьшаем содержимое счетчика на 1.
Шаг 3. Проверка: нужно ли корректировать получившуюся тераду. Если нужно, то прибавляем 6.
Шаг 4. Проверка: все ли тетрады обработаны. Если содержимое счетчика равно 0, то перейти к шагу 6.
Шаг 5. Сдвигаем мантиссу регистров РгА, РгВ и младшие 17 разряда сумматора на 4 вправо. Переходим к шагу 2.
Шаг 6. Приравниваем мантиссе регистра РгА значение разрядов 1-16 сумматора. Суммируем 1-й разряд регистров РгА и РгВ и 0-й разряд сумматора. Записываем результат в старшие два разряда сумматора.
Шаг 7. Проверка: есть ли еденица переполнения. Если значение разряда 17 сумматора равно нулю, то переходим к шагу 9.
Шаг 8. Присваиваем разряду 1 регистра РгА значение разряда 18 сумматора ( знак получившегося числа ). Сбрасываем сумматор. Записываем в счётчик четыре. В старшие 17 разрядов регистра РгВ записываем еденицу. Переходим к шагу 2.
Шаг 9. Проверка: если есть преполнение выбрасываем флаг РгF.
Пример выполнения операции приведен в таблице 1.
А8421 = 1.0001 0111 0010 0100
В8421 = 1.1000 0101 0100 0011
А8421+В8421 = 1.0000 0010 0110 1000
СМ |
РгА |
РгВ |
Примечание |
0 0000 0000 0000 0000 00 +0 0100 +0 0011 +0 0000 =0 0111 0000 0000 0000 00 0 0000 0111 0000 0000 00 +0 0010 +0 0100 +0 0000 =0 0110 0111 0000 0000 00 0 0000 0110 0111 0000 00 +0 0111 +0 0101 +0 0000 =0 1100 0110 0111 0000 00 0 0000 1100 0110 0111 00 +0 0001 +0 1000 +0 0000 =0 1001 1100 0110 0111 00 + + + =0 1001 1100 0110 0111 10
0 0000 0000 0000 0000 10 +0 0111 +0 0001 +0 0000 =0 1000 0000 0000 0000 10 0 0000 1000 0000 0000 10 +0 0110 +0 0000 +0 0000 =0 0110 1000 0000 0000 10 0 0000 0110 1000 0000 10 +0 1100 +0 0000 +0 0000 =0 1100 0110 1000 0000 10 +0 0110 =1 0010 0110 1000 0000 10 0 0001 0010 0110 1000 10 +0 1001 +0 0000 +0 0000 =0 1010 0010 0110 1000 10 +0 0110 =1 0000 0010 0110 1000 00 + + + =1 0000 0010 0110 1000 01
|
11 0001 0111 0010 0100
11 0000 0001 0111 0010
11 0000 0000 0001 0111
11 0000 0000 0000 0001
11 1001 1100 0110 0111
10 1001 1100 0110 0111
10 0000 1001 1100 0110
10 0000 0000 1001 1100
10 0000 0000 0000 1001
10 0000 0010 0110 1000
|
11 1000 0101 0100 0011
11 0000 1000 0101 0100
11 0000 0000 1000 0101
11 0000 0000 0000 1000
10 0000 0000 0000 0001
10 0000 0000 0000 0000
10 0000 0000 0000 0000
10 0000 0000 0000 0000
|
РгА:=SgA.А;РгВ:=SgB.В; СМ(0:4):=РгА(14:17)+ РгВ(14:17)+СМ(0:4);
[СМ(0:16)];[РгА(2:17)];[РгВ(2: СМ(0:4):=РгА(14:17)+ РгВ(14:17)+СМ(0:4);
[СМ(0:16)];[РгА(2:17)];[РгВ(2: СМ(0:4):=РгА(14:17)+ РгВ(14:17)+СМ(0:4);
[СМ(0:16)];[РгА(2:17)];[РгВ(2: СМ(0:4):=РгА(14:17)+ РгВ(14:17)+СМ(0:4);
РгА(2:17):=СМ(1:16); СМ(17:18):=РгА(1)+РгВ(1)+СМ(0)
РгА(1):=СМ(18);СМ(0:16):=0; РгВ(1:17):=1; СМ(0:4):=РгА(14:17)+ РгВ(14:17)+СМ(0:4);
[СМ(0:16)];[РгА(2:17)];[РгВ(2: СМ(0:4):=РгА(14:17)+ РгВ(14:17)+СМ(0:4);
[СМ(0:16)];[РгА(2:17)];[РгВ(2: СМ(0:4):=РгА(14:17)+ РгВ(14:17)+СМ(0:4);
СМ(0:4):=СМ(0:4)+6;
[СМ(0:16)];[РгА(2:17)];[РгВ(2: СМ(0:4):=РгА(14:17)+ РгВ(14:17)+СМ(0:4);
СМ(0:4):=СМ(0:4)+6; РгА(2:17):=СМ(1:16); СМ(17:18):=РгА(1)+РгВ(1)+СМ(0)
РгF:=0; Конец. Ответ: Мантисса = СМ(1:16); Знак = СМ(18); 1.0000 0010 0110 1000
|
( таблица 1 )
Лист | ||||||
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Раздел 2
Разработка ГСА и
В соответствии с заданием разрядность операндов n = 17. Так как алгоритм предусматривает еще один разряд под знак то длина разрядной сетки регистров РгА и РгВ равна 18. Так как результат суммирования, как и операнды, имеет разрядность 17 и алгоритмом предусматривается еще 2 разряда для определения переполнения, то длина разрядной сетки сумматора равна 19.
Описание слов представлено в таблице 2.
Тип |
Слово |
Пояснение |
IL |
А(0:17) |
первое слагаемое |
IL |
В(0:17) |
второе слагаемое |
LO |
СМ(0:18) |
Сумматор |
O |
F |
флаг переполнения |
L |
CЧ(0:1) |
Счётчик |
( таблица 2)
Обозначение микрооперации |
Микрооперация |
Обозначение логич. условия |
Логическое условие |
У1 |
РгА := A(0).A |
Х1 |
СМ(0) Ú СМ(1) Ù [ СМ(2) Ú СМ(3) ] |
У2 |
РгВ := B(0).B |
Х2 |
СЧ = 0 |
У3 |
СМ(0:16) := 0 |
Х3 |
СМ(17) |
У4 |
СЧ := 410 |
||
У5 |
СМ(0:4) := РгА(14:17) + РгА(14:17) + СМ(0:4) |
||
У6 |
СЧ := СЧ - 1 |
||
У7 |
СМ(0:4) := СМ(0:4) + 610 |
||
У8 |
РгА(2:17) := 0000.РгА(2:13) |
||
У9 |
РгВ(2:17) := 0000.РгВ(2:13) |
||
У10 |
СМ(0:16) := 0000.СМ(0:12) |
||
У11 |
РгА(2:17) := СМ(1:16) |
||
У12 |
СМ(17:18) := РгА(1) + РгВ(1) + СМ(0) |
||
У13 |
РгА(1) := СМ(18) |
||
У14 |
РгВ(1:17) := 110 |
||
У15 |
РгF :=ù[ РгА(0) Å РгВ(0)]Ù Ù [ РгА(0) Å СМ(18) ] |
( таблица 3 )
Граф автомата Мура
Лист | ||||||
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Раздел 3
Разработка логической схемы управляющей части автомата
3.1 Составление таблицы переходов – выходов:
Исходное сосотояние |
Входной набор |
Следующее состояние |
A1 |
В |
A2 |
A2 |
- |
A3 |
A3 |
X1 |
A4 |
A3 |
X1 X2 |
A5 |
A3 |
X1 X2 |
A6 |
A4 |
X2 |
A5 |
A4 |
X2 |
A6 |
A5 |
- |
A3 |
A6 |
X3 |
A7 |
A6 |
X3 |
A8 |
A7 |
- |
A3 |
A8 |
- |
A1 |
3.2 Кодировка состояний автомата:
A1 = 111
A2 = 110
A3 = 000
A4 = 001
A5 = 100
A6 = 010
A7 = 101
A8 = 011
По графу автомата Мура строится структурная таблица автомата
Исходное сосотояние |
Код исх. состояния |
Следующее состояние |
Код след. состояния |
Входной набор |
Сигналы возбуждения | ||
D1 |
D2 |
D3 | |||||
A1 |
111 |
A2 |
110 |
В |
1 |
1 |
0 |
A2 |
110 |
A3 |
000 |
- |
0 |
0 |
0 |
A3 |
000 |
A4 |
001 |
X1 |
0 |
0 |
1 |
A3 |
000 |
A5 |
100 |
X1 X2 |
1 |
0 |
0 |
A3 |
000 |
A6 |
010 |
X1 X2 |
0 |
1 |
0 |
A4 |
001 |
A5 |
100 |
X2 |
1 |
0 |
0 |
A4 |
001 |
A6 |
010 |
X2 |
0 |
1 |
0 |
A5 |
100 |
A3 |
000 |
- |
0 |
0 |
0 |
A6 |
010 |
A7 |
101 |
X3 |
1 |
0 |
1 |
A6 |
010 |
A8 |
011 |
X3 |
0 |
1 |
1 |
A7 |
101 |
A3 |
000 |
- |
0 |
0 |
0 |
A8 |
011 |
A1 |
111 |
- |
1 |
1 |
1 |
Переведем
кодировку состояний и
A1 = T1T2T3 = T1|T2|T3
A2 = У1 = У2 = У3 = У4 = T1T2T3 = T1|T2|T3
A3 = У5 = У6 = T1T2T3 = T1|T2|T3
A4 = У7 = T1T2T3 = T1|T2|T3
A5 = У8 = У9 = У10 = T1T2T3 = T1|T2|T3
A6 = У11 = У12 = T1T2T3 = T1|T2|T3
A7 = У13 = У14 = У15 = У16 = T1T2T3 = T1|T2|T3
A8 = У17 = T1T2T3 = T1|T2|T3
Возможные функции возбуждения триггеров
Устойчивая работа
Функциональная схема
Лист | ||||||
Изм. |
Лист |
№ докум. |
Подпись |
Дата |
Временной граф микропрограммы
Лист | ||||||
Изм. |
Лист |
№ докум. |
Подпись |
Дата |