Разработать вычислительное устройство, выполняющее следующие операции:
· изменение знака числа
· деление чисел
Числа представлены в формате с плавающей точкой с разрядностью 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
Заключение
В данной курсовой работе было разработано вычислительное устройство, выполняющее следующие операции:
· Нахождение абсолютного значения числа.
· Деление чисел в формате с плавающей запятой.
Построен алгоритм обработки чисел. Расписаны управляющие сигналы и префиксные функции. По имеющемся данным построена функциональная схема устройства. Также была построена принципиальная схема указанной части устройства, в которой были использованы конкретные микросхемы.Приведен тестовый пример выполнения операций.