Реферат: Разработка вычислительного устройства - Refy.ru - Сайт рефератов, докладов, сочинений, дипломных и курсовых работ

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

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

Разработать вычислительное устройство, выполняющее следующие операции:

· изменение знака числа

· деление чисел

Числа представлены в формате с плавающей точкой с разрядностью 18+6.

Описание структурной схемы устройства с ее обоснованием

Структурная схема устройства представлена на рисунке 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

Описание блок-схемы алгоритма выполнения операций и ее микропрограммной реализации.

Блок-схема выполнения операций представлена на рисунке 2.

В начале работы гасится выходная готовность (Y14 ) и проверяется входная готовность (P1 ). После получения сигнала входной готовности обнуляются регистры Ao и 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

Числовые тестовые примеры выполнения операций с пояснениями

Пусть 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, в котором происходит накопление результата. После определение результата, полученное число надо нормализовать и поэтому результирующий регистр кроме последовательного входа и параллельного вывода должен осуществлять сдвиг числа влево в сторону старших разрядов.

Рисунок 5

Краткое описание принципиальной схемы

Принципиальная схема устройства представлена на рисунке 6.

Два числа поступают на сумматор, который их суммирует и передает результат на регистр. В качестве сумматора используется микросхема К555ИМ6, а в качестве регистра К155ИР13 и К555ИР11 которые отличаются только разрядностью. Старший разряд регистра поступает на вход результирующего последовательно – параллельного регистра, в котором накапливается результат. В данной схеме в качестве результирующего регистра используется микросхема К531ИР24.

Рисунок 6

Заключение

В данной курсовой работе было разработано вычислительное устройство, выполняющее следующие операции:

· Нахождение абсолютного значения числа.

· Деление чисел в формате с плавающей запятой.

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