Разработка вычислительного устройства
МИНИСТЕРСТВО ВЫСШЕГО И СРЕДНЕГО СПЕЦИАЛЬНОГО ОБРАЗОВАНИЯ РФ
МОСКОВСКИЙ ИНСТИТУТ РАДИОТЕХНИКИ, ЭЛЕКТРОНИКИ И АВТОМАТИКИ
КурсоваЯ работа
|Факультет |ВАВТ |
|Дисциплина |ЭВМ СКС |
|Студент | | |
|Специальность |22.02 |
|Преподаватель |Калиш Г.Г. |
МОСКВА
Апрель 1998
Техническое задание
Разработать вычислительное устройство, выполняющее следующие операции:
1. изменение знака числа
2. деление чисел
Числа представлены в формате с плавающей точкой с разрядностью 18+6.
Содержание
1. Техническое задание 2
2. Содержание 3
3. Описание структурной схемы устройства с ее обоснованием 4
4. Описание блок-схемы алгоритма выполнения операций и ее
микропрограммной реализации. 6
5. Числовые тестовые примеры выполнения операций с пояснениями 10
6. Описание функциональной схемы устройства. 11
7. Краткое описание принципиальной схемы 12
8. Заключение 13
9. Список литературы. 13
Описание структурной схемы устройства с ее обоснованием
Структурная схема устройства представлена на рисунке 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).
[pic]
Рисунок 1
Описание блок-схемы алгоритма выполнения операций и ее микропрограммной
реализации.
Блок-схема выполнения операций представлена на рисунке 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 описаны префиксные функции.
[pic]
Рисунок 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
[pic]
Рисунок 3
|Функция |Значение |
|P1 |Входная готовность |
|P2 |Код операции |
|P3 |Признак равенства 0 |
| |делителя |
|P4 |Конец деления |
|P5 |Знак числа в регистре Am |
|P6 |Признак нормализации |
|P7 |Знак числа в регистре Bm |
Таблица 3
На рисунке 4 представлена связь управляющего автомата с операционным
автоматом.
[pic]
Рисунок 4
Числовые тестовые примеры выполнения операций с пояснениями
Пусть 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
Описание функциональной схемы устройства.
Функциональная схема устройства представлена на рисунке 5.
Функциональная схема реализует схему работы с мантиссами.
Используемый мультиплексор 2(1 на вход которого подается число в
прямом и дополнительном коде и в зависимости от ситуации выбирается одно из
двух чисел. В процессе работы осуществляется контроль делителя на равенство
нулю, поэтому используемый мультиплексор должен иметь стробируемый вход.
Сумматор складывает числа, которые пришли с выхода мультиплексора и
регистра Am, результат переписывается в регистр Am, который запоминает это
число, сдвигает его влево в сторону старших разрядов и снова передает его
на сумматор.
Так же старший разряд регистра подается на результирующий
последовательно параллельный регистр Z, в котором происходит накопление
результата. После определение результата, полученное число надо
нормализовать и поэтому результирующий регистр кроме последовательного
входа и параллельного вывода должен осуществлять сдвиг числа влево в
сторону старших разрядов.
[pic]
Рисунок 5
Краткое описание принципиальной схемы
Принципиальная схема устройства представлена на рисунке 6.
Два числа поступают на сумматор, который их суммирует и передает
результат на регистр. В качестве сумматора используется микросхема К555ИМ6,
а в качестве регистра К155ИР13 и К555ИР11 которые отличаются только
разрядностью. Старший разряд регистра поступает на вход результирующего
последовательно – параллельного регистра, в котором накапливается
результат. В данной схеме в качестве результирующего регистра используется
микросхема К531ИР24.
[pic]
Рисунок 6
Заключение
В данной курсовой работе было разработано вычислительное устройство,
выполняющее следующие операции:
Нахождение абсолютного значения числа.
Деление чисел в формате с плавающей запятой.
Построен алгоритм обработки чисел. Расписаны управляющие сигналы и
префиксные функции. По имеющемся данным построена функциональная схема
устройства. Также была построена принципиальная схема указанной части
устройства, в которой были использованы конкретные микросхемы. Приведен
тестовый пример выполнения операций.
Список литературы.
1. Нешумова К.А. Электронные вычислительные машины и системы. Москва,
«Высшая школа», 1989.
1. Савельев А.Я. Арифметические и логические основы цифровых автоматов.
Москва, «Высшая школа», 1980.
1. Стрыгин В.В., Щарев Л.С. Основы вычислительной, микропроцессорной
техники и программирования. Москва, «Высшая школа», 1989.
1. Справочник. Цифровые и аналоговые интегральные микросхемы. Москва «Радио
и связь», 1990.
1. Мальцев П.П. Справочник. Цифровые интегральные микросхемы. М. Радио и
связь. 1994.
1. Шило В.Л. Популярные цифровые микросхемы. М. Радио и связь. 1987.