Знак частного в обоих алгоритмах определяется по формуле
В рассмотренных алгоритмах необходимо выполнить операции сложения и вычитания абсолютных величин операндов. Поэтому для их реализации в устройстве деления необходимо применение сумматоров с входным преобразователями в обратный и дополнительный код.
Если в делении участвуют делимое А и делитель В, представленные в обратном или дополнительных кодах, то действия над операндами и формирование цифр частного выполняются по таблице 3
Таблица 3
SgA |
+ |
+ |
- |
- |
SgB |
+ |
- |
+ |
- |
SgC |
+ |
- |
- |
+ |
Основная операция на i-ом шаге |
|
|
|
|
Цифра частного Сi Ri>0 Ri<0 |
1 0 |
1 (OK-0) 0 (OK-1) |
0 (OK-1) 1 (OK-0) |
0 1 |
Цифра частного в таблице 3 формируется путем сравнения знаков текущего остатка и делимого. При этом, если С>0, цифры частного формируются в прямом коде. Если С<0, то цифры частного можно формировать как в прямом коде, так и в обратном. Если знаки текущего остатка и делимого совпадают, то на шаге выполняется основная операция, указанная в таблице 3. Если знаки текущего остатка и делимого различны, то для восстановления остатка необходимо выполнить операцию, противоположную указанной в таблице 3, т.е. вычитание, а в алгоритме без восстановления остатка после сдвига остатка также выполнить операцию, противоположную основной.
Определение цифр частного можно производить только по знаку остатка, если использовать правило, приведенное в таблице 4, где и .
Таблица 4
SgA |
+ |
+ |
- |
- |
SgB |
+ |
- |
+ |
- |
SgC |
+ |
- |
- |
+ |
Основная операция на i-ом шаге |
|
|
|
|
Цифра частного Сi Ri>0 Ri<0 |
0 1 |
0 (OK-1) 1 (OK-0) |
0 (OK-1) 1 (OK-0) |
0 1 |
Из анализа алгоритмов деления чисел с фиксированной точкой следует, что операционное устройство для деления должно содержать операционные элементы:
а) регистр делимого;
б) регистр делителя;
в) регистр частного;
г) накапливающий сумматор с цепями сдвига влево на 1 разряд;
д) счетчик тактов деления;
е) преобразователь кода для вычитания делителя и изменения знака делимого.
На операционных элементах должны выполняться микрооперации:
а) прием делимого в сумматор (возможно с изменением знака);
б) удвоение предыдущего остатка;
в) вычитание делителя из удвоенного остатка;
г) получение обратного (дополнительного) кода;
д) запоминание цифр и знака частного;
е) вычисление знака частного;
ж) подсчет числа выполненных тактов деления.
При выполнении деления на операционных элементах должны вычисляться логические условия:
а) значение цифры частного;
б) признак окончания операции деления;
в) признак переполнения разрядной сетки.
.
Таблица 5