Реферат: Разработка вычислительного устройства
Разработать вычислительное устройство, выполняющее следующие операции:
· изменение знака числа
· деление чисел
Числа представлены в формате с плавающей точкой с разрядностью 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
--> ЧИТАТЬ ПОЛНОСТЬЮ <--