|
Оглавление |
Введение ............................................................................................................... |
3 |
Деление двоичных чисел с восстановлением остатка с неподвижным |
|
сумматором........................................................................................................... |
4 |
Схема устройства ................................................................................................. |
5 |
Логические условия ............................................................................................. |
6 |
Схема алгоритма .................................................................................................. |
7 |
Пример решения................................................................................................... |
8 |
Заключение ......................................................................................................... |
10 |
2
Введение
В данной расчётно-графической работе будут рассмотрены операции над двоичными числами, которые являются основой цифровой технологии.
Будут изучены правила двоичной арифметики и основной упор будет на операции деления двоичных чисел. Мы рассмотрим метод деления, который включает многократное вычитание из делителя делимого и его остатков, а
также соответствующие сдвиги. Важно отметить, что в данном методе мы будем работать со старшими разрядами вперед в прямом коде и использовать восстановление остатка.
3
Деление двоичных чисел с восстановлением остатка с
неподвижным сумматором
Всумматор записывается делимое, делитель и частное располагаются
всоответствующих регистрах. Перед началом деления в старший разряд регистра частного записывается единица, если знак делимого равен знаку делителя, и нуль- в противном случае. Затем выполняется (n-1) цикла, каждый из которых содержит два такта:
1)Содержимое регистра делителя сдвигается на один разряд вправо,
далее регистр инвертируется;
2)К регистру делителя прибавляется сумматор;
Очередная цифра частного равно единице, если знак сумматора равен знаку делителя, и нулюпри различных знаках на сумматоре и регистре делителя.
После выполнения деления нужно выполнить коррекцию
(восстановление), если в сумматоре у нас осталась единица в знаковом бите.
Для этого к сумматору пробавляется регистр делителя.
4
Схема устройства
Рисунок 1-Структурная схема устройства деления чисел в прямом коде с восстановлением остатка с неподвижным сумматором
5
|
|
Логические условия |
|
|
|
|
|
Обозначение |
Сокращенная |
|
Комментарий |
|
запись |
|
|
x1 |
SM=0 |
|
Проверка сумматора мантисс (делимого) на ноль |
x2 |
RM2=0 |
|
Проверка регистра делителя на ноль |
x3 |
RP1[1] |
|
Знак порядка делимого |
x4 |
RP2[1] |
|
Знак порядка делителя |
x5 |
SP[1] |
|
Знак сумматора порядка |
x6 |
SM[1] |
|
Знак сумматора мантисс |
x7 |
CT=0 |
|
Проверка счетчика на ноль |
x8 |
SP[2…p] |
|
Проверка сумматора порядков на ноль (без учета |
|
|
|
знакового разряда) |
|
Управляющие сигналы |
||
|
|
|
|
Обозначение |
Сокращенная |
|
Комментарий |
|
запись |
|
|
y1 |
SM = mA, RP1 = pA |
|
Загрузка мантиссы и порядка А |
y2 |
RM2 = mB, RP2 = |
|
Загрузка мантиссы и порядка В |
|
pB |
|
|
y3 |
RM1 = 0, SP = 0 |
|
Сброс RM1 и SP |
y4 |
Деление на 0 |
|
Вывод сигнала «Деление на 0» |
y5 |
SP = RP1 |
|
Загрузка сумматора SP из RP1 |
y6 |
SP = SP – RP2 |
|
Вычитание SP и RP2, результат в SP (содержимое |
|
|
|
RP2 не меняется) |
y7 |
SP = RP2 |
|
Загрузка сумматора SP из RP2 |
y8 |
SP = SP – RP1 |
|
Вычитание SP и RP1, результат в SP (содержимое |
|
|
|
RP1 не меняется) |
y9 |
SP[1] = 1 |
|
Установка знакового разряда SP |
y10 |
RP2[1] = 0 |
|
Восстановление знакового разряда RP2 |
y11 |
SP = SP + RP2 |
|
Сумма SP и RP2, результат в SP (содержимое RP2 |
|
|
|
не меняется) |
y12 |
RP1[1] = 0 |
|
Сброс знакового разряда RP1 |
y13 |
Переполнение – |
|
Вывод сигнала «Переполнение –» |
y14 |
T = SM[1] |
|
Получение знака результата и сохранение его в |
|
RM2[1] |
|
триггере |
y15 |
SM[1] = 0, RM2[1] |
|
Сброс знаковых разрядов SM и RM2 |
|
= 0 |
|
|
y16 |
SM = SM-RM2 |
|
Вычитание SM и RМ2, результат в SМ |
y17 |
SM→ |
|
Сдвиг SM вправо |
y18 |
SP = SP+1 |
|
Увеличение SP на 1 |
y19 |
SP = SP-1 |
|
Уменьшение SP на 1 |
y20 |
SP[1] = 0 |
|
Сброс знакового разряда SP |
y21 |
CT = n-1 |
|
Загрузка счетчика (n-1 циклов) |
y22 |
RM2→ |
|
Сдвиг RM2 вправо |
y23 |
SM = SM+RM1 |
|
Сложение SM и RМ2, результат в SМ |
y24 |
ci = SM[1], RM1← |
|
В RM1 задвигается очередной разряд частного ci |
y25 |
RM1[1] = T |
|
Присвоение знака результата |
y26 |
Вывод RM1, SP |
|
Вывод мантиссы и порядка результата |
y27 |
Переполнение + |
|
Вывод сигнала «Переполнение +» |
|
|
6 |