Разработка вычислительного устройства

МИНИСТЕРСТВО ВЫСШЕГО И СРЕДНЕГО СПЕЦИАЛЬНОГО ОБРАЗОВАНИЯ РФ
МОСКОВСКИЙ ИНСТИТУТ РАДИОТЕХНИКИ, ЭЛЕКТРОНИКИ И АВТОМАТИКИ
КУРСОВАЯ РАБОТА
Факультет
ВАВТ
Дисциплина
ЭВМ СКС
Студент
Специальность
22.02
Преподаватель
Калиш Г.Г.
МОСКВА
январь 2002
1. Техническое задание
Разработать вычислительное устройство, выполняющее следующие операции:
? изменение знака числа
? деление чисел
Числа представлены в формате с плавающей точкой с разрядностью 18+6.
2. Содержание
1. ТЕХНИЧЕСКОЕ ЗАДАНИЕ 2
2. СОДЕРЖАНИЕ 3
3. ОПИСАНИЕ СТРУКТУРНОЙ СХЕМЫ УСТРОЙСТВА С ЕЕ ОБОСНОВАНИЕМ 4
4. ОПИСАНИЕ БЛОК-СХЕМЫ АЛГОРИТМА ВЫПОЛНЕНИЯ ОПЕРАЦИЙ И ЕЕ
МИКРОПРОГРАММНОЙ РЕАЛИЗАЦИИ. 6
5. ЧИСЛОВЫЕ ТЕСТОВЫЕ ПРИМЕРЫ ВЫПОЛНЕНИЯ ОПЕРАЦИЙ С ПОЯСНЕНИЯМИ 10
6. ОПИСАНИЕ ФУНКЦИОНАЛЬНОЙ СХЕМЫ УСТРОЙСТВА. 11
7. КРАТКОЕ ОПИСАНИЕ ПРИНЦИПИАЛЬНОЙ СХЕМЫ 12
8. ЗАКЛЮЧЕНИЕ 13
9. СПИСОК ЛИТЕРАТУРЫ. 13
3. Описание структурной схемы устройства с ее обоснованием
Структурная схема устройства представлена на рисунке 1. Она состоит из двух частей. Первая
часть схемы, в состав которой входят регистры Ao и Bo и сумматор, предназначена для работы с
порядками чисел. Вторая часть схемы, состоящая из регистров Am, Bm и Z, мультиплексора, сумматора и
компаратора предназначена для работы с мантиссами чисел.
При выполнении операции деления используется два числа - A (делимое) и B (делитель). Число
A хранится в регистрах Ao и Am соответственно порядок и мантисса. Число B хранится в регистрах Bo и
Bm соответственно порядок и мантисса.
В начале работы делимое A заносится в регистры: мантисса в регистр Am с помощью сигнала
Y3, порядок в регистр Ao - Y4, а делитель B: мантисса в регистр Bm (Y5), порядок в регистр Bo (Y6).
Мантисса делимого A сдвигается влево путем косой передачи из регистра Am в сумматор. Делитель B
поступает в сумматор SM из регистра Bm в прямом или обратном кодах (Y9). Дополнительный код
делимого образуется в SM за счет подсуммирования обратного кода делимого B сигналом "+1SM" (Y10).
Цифры частного Zi, определяемые по знаку частичных остатков в регистре Am, фиксируются в
регистре Z путем последовательного занесения их в младший разряд регистра Z (Y7) и сдвига
содержимого регистра Z (Y8).
Порядок частного определяется вычитанием порядков на SM путем подачи обратного значения
порядка делителя из регистра Bo и фиксации результата в регистре Bo.
При выполнении операции изменения знака используется одно число. Число записывается в
регистр Bm (Y5) и подается на сумматор SM в обратном коде (Y9) и записывается в регистр Am (Y3) с
предварительным подсумированием единицы в сумматоре (Y10).
Рисунок 1
4. Описание блок-схемы алгоритма выполнения операций и ее
микропрограммной реализации.
Блок-схема выполнения операций представлена на рисунке 2.
В начале работы гасится выходная готовность (Y14) и проверяется входная готовность (P1).
После получения сигнала входной готовности обнуляются регистры A o и Am (Y0), Bo и Bm (Y1) и Z (Y2).
Далее проверяется код операции (P2) для определения дальнейших действий.
Операция изменения знака числа - ветвь один.
Записываем исходное число в регистр Bm (Y5). Передаем на SM его обратный код с
подсуммированием единицы младшего разряда (Y10). Данные с SM записываем в регистр Am (Y3). После
этого устанавливаем выходную готовность (Y13) и заканчиваем работу.
Операция деления чисел - ветвь два.
Производим запись: мантиссы делимого в регистр Am (Y3), порядка делимого в регистр Ao (Y4)
и мантиссы и порядка делителя в регистр Bm (Y5) и Bo (Y6) соответственно. Вычисляем разность
порядков чисел путем сложения первого порядка с обратным кодом второго (Y11) и сохраняем результат
в регистре Bo (Y6). Проверяем равенство делителя нулю (P3). Если делитель равен нулю, то
сигнализируем об ошибке аргументов и устанавливаем выходную готовность (Y13). Если делитель не
равен нулю, тогда деление возможно и начинается цикл поразрядного получения мантиссы частного. На
SM передается сдвинутое косой передачей в сторону старших разрядов делимое и обратный код
делителя (Y9) с подсуммированием единицы младшего разряда (Y10). С выхода SM частичный остаток
заносится в регистр Am (Y3). Цифра модуля частного вычисляется как сумма по модулю два знаковых
разрядов частичного остатка и делителя и заносится в предварительно сдвинутый на один разряд влево
(Y8) регистр Z (Y7). Проверяем счетчик чисел (P4). Если он не равен нулю, продолжаем цикл по
определению разрядов частного. Если счетчик равен нулю, то мы определили все разряды частного, и
переходим к нормализации результата. Если число не нормализовано (P6), то производим сдвиг Z в
сторону старших разрядов (Y8) и уменьшение порядка (Y12). После нормализации числа устанавливаем
выходную готовность и заканчиваем работу.
Для реализации устройства используется управляющий автомат с выделенной адресной
памятью, его схема изображена на рисунке 3, в таблице 1 представлены состояния его переходов, в
таблице 2 управляющие сигналы и в таблице 4 описаны префиксные функции.
Рисунок 2
ПЗУ А
Адреса
памяти
Условия
переходов
Код ПФ
Адреса
переходов
0
0
0
1
1
0
P1
1
1
P1
2
2
0
P2
4
1
P2
3
3
0
0
10
4
0
P3
8
1
P3
12
5
0
P4
6
1
P4
10
6
0
P5
7
1
P5
8
7
0
0
9
8
0
0
9
9
0
0
5
10
0
P6
11
1
P6
12
11
0
0
10
12
0
0
*
Таблица 1
Y0
Обнуление регистров Ao и Am
Y1
Обнуление регистров Bo и Bm
Y2
Обнуление регистра Z
Y3
Запись в регистр Am
Y4
Запись в регистр Ao
Y5
Запись в регистр Bm
Y6
Запись в регистр Ao
Y7
Запись разряда частного в регистр Z
Y8
Сдвиг регистра Z в сторону старших разрядов
Y9
Выбор операции в сумматоре
Y10
Подсуммирование 1 в сумматоре
Y11
Разность порядков
Y12
Уменьшение порядка частного в регистре Bo
Y13
Установка выходной готовности
Y14
Гашение выходной готовности
Таблица 2
Рисунок 3
Функция
Значение
P1
Входная готовность
P2
Код операции
P3
Признак равенства 0 делителя
P4
Конец деления
P5
Знак числа в регистре Am
P6
Признак нормализации
P7
Знак числа в регистре Bm
Таблица 3
На рисунке 4 представлена связь управляющего автомата с операционным автоматом.
Рисунок 4
5. Числовые тестовые примеры выполнения операций с
пояснениями
Пусть X=11010111*23, Y=1101*22. Найти частное от деления X/Y.
Все действия выполняются в устройстве в следующей последовательности:
0.1101111
Прямой код делимого
Частное X/Y
+
1.0011
Дополнительный код делителя
0.0000
Остаток положительный
1
0.0000
Остаток сдвинут влево на один разряд
+
1.0011
Дополнительный код делителя
1.0011
Остаток отрицательный
10
0.0111
Остаток сдвинут влево на один разряд
+
0.1101
Прямой код делителя
1.0100
Остаток отрицательный
100
0.1001
Остаток сдвинут влево на один разряд
+
0.1101
Прямой код делителя
1.0110
Остаток отрицательный
1000
0.1101
Остаток сдвинут влево на один разряд
+
0.1101
Прямой код делителя
1.1010
Остаток отрицательный
10000
Одновременно вычисляется порядок частного следующим образом:
pc = px - py = 0.011 - 0.010 = 0.001
6. Описание функциональной схемы устройства.
Функциональная схема устройства представлена на рисунке 5.
Функциональная схема реализует схему работы с мантиссами.
Используемый мультиплексор 2?1 на вход которого подается число в прямом и
дополнительном коде и в зависимости от ситуации выбирается одно из двух чисел. В процессе работы
осуществляется контроль делителя на равенство нулю, поэтому используемый мультиплексор должен
иметь стробируемый вход.
Сумматор складывает числа, которые пришли с выхода мультиплексора и регистра Am,
результат переписывается в регистр Am, который запоминает это число, сдвигает его влево в сторону
старших разрядов и снова передает его на сумматор.
Так же старший разряд регистра подается на результирующий последовательно параллельный
регистр Z, в котором происходит накопление результата. После определение результата, полученное
число надо нормализовать и поэтому результирующий регистр кроме последовательного входа и
параллельного вывода должен осуществлять сдвиг числа влево в сторону старших разрядов.
Рисунок 5
7. Краткое описание принципиальной схемы
Принципиальная схема устройства представлена на рисунке 6.
Два числа поступают на сумматор, который их суммирует и передает результат на регистр. В
качестве сумматора используется микросхема К555ИМ6, а в качестве регистра К155ИР13 и К555ИР11
которые отличаются только разрядностью. Старший разряд регистра поступает на вход
результирующего последовательно – параллельного регистра, в котором накапливается результат. В
данной схеме в качестве результирующего регистра используется микросхема К531ИР24.
Рисунок 6
8. Заключение
В данной курсовой работе было разработано вычислительное устройство, выполняющее
следующие операции:
? Нахождение абсолютного значения числа.
? Деление чисел в формате с плавающей запятой.
Построен алгоритм обработки чисел. Расписаны управляющие сигналы и префиксные функции. По
имеющемся данным построена функциональная схема устройства. Также была построена
принципиальная схема указанной части устройства, в которой были использованы конкретные
микросхемы. Приведен тестовый пример выполнения операций.
9. Список литературы.
1. Нешумова К.А. Электронные вычислительные машины и системы. Москва, «Высшая школа», 1989.
2. Савельев А.Я. Арифметические и логические основы цифровых автоматов. Москва, «Высшая
школа», 1980.
3. Стрыгин В.В., Щарев Л.С. Основы вычислительной, микропроцессорной техники и
программирования. Москва, «Высшая школа», 1989.
4. Справочник. Цифровые и аналоговые интегральные микросхемы. Москва «Радио и связь», 1990.
5. Мальцев П.П. Справочник. Цифровые интегральные микросхемы. М. Радио и связь. 1994.
6. Шило В.Л. Популярные цифровые микросхемы. М. Радио и связь. 1987.
7