Разработать вычислительное устройство, выполняющее следующие операции:
· изменение знака числа
· деление чисел
Числа представлены в формате с плавающей точкой с разрядностью 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
Заключение
В данной курсовой работе было разработано вычислительное устройство, выполняющее следующие операции:
· Нахождение абсолютного значения числа.
· Деление чисел в формате с плавающей запятой.
Построен алгоритм обработки чисел. Расписаны управляющие сигналы и префиксные функции. По имеющемся данным построена функциональная схема устройства. Также была построена принципиальная схема указанной части устройства, в которой были использованы конкретные микросхемы. Приведен тестовый пример выполнения операций.
Похожие работы
... лекций. Основное внимание при выполнении курсового проекта обращается на умение принимать технические решения и обосновывать их. Объектом курсового проектирования является специализированное вычислительное устройство, включающее процессор и запоминающее устройство. Процессор проектируется для заданного списка команд и должен удовлетворять заданным требованиям технического задания. 2.Задание ...
... руб. Изготовление печ.платы 2 0,9 15,85 14,27 1,43 15,70 Сборка 4 1,18 20,19 23,82 2,38 26,20 Монтаж 4 2,46 20,19 49,67 4,96 54,63 Наладка 5 0,8 21,20 16,96 1,70 18,66 ИТОГО: 104,72 10,47 115,19 Таблица 4 Плановая канкуляция для зарядного устройства на микроконтроллере PIC12F675 Статьи затрат Сумма затрат (руб.) Обоснование Расчета 1.Сырье и ...
... фонд и фонд занятости. С = 58922,23 + 298,39 + 298,39 = 59519,0 тенге. Сводная смета затрат на проведение разработки на тему “Применение программного комплекса Electronics Workbench для моделирования работы радио электрических устройств” приведена в таблице. Таблица 4.4 - Сводная смета затрат на проведение разработки Наименование статей затрат Сумма, тенге 1. Затраты на материалы 2165 ...
... 196 Вых1 191 193 195 197 Вых2 192 194 196 198 6. Алгоритмы получения описаний Процедуры получения описаний схем блоков устройства контроля формализованы в виде алгоритмов составления таблиц. Таблицы представляются двухмерными массивами данных. Для разработки алгоритмов были выполнены: · Обобщение содержания таблиц, с помощью выделения среди ее чисел ключевых данных и выражения ...
0 комментариев